Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornlf <quitlahok@gmail.com>2021-08-24 23:53:09 +0300
committerGar <gar+gh@danger.computer>2021-08-26 19:58:43 +0300
commit4e52217cb25a697b0f6b0131bcb8c87e0dbcda53 (patch)
treeda73f5e8c20fb0f982474efc6113a9c51d97bf8d /tap-snapshots/test
parent3f4d371432a1fc8280e73d8467acd0eed0bbef26 (diff)
fix(config): respect --global, --package-lock-only
This corrects two things, `--global` implies `--location=global` and `--package-lock-only` implies `--package-lock` It also introduces a new sandbox runner for testing purposes. it's not the prettiest thing i've ever written, but it seems to do the job pretty nicely and doesn't require keeping track of wild shenanigans everywhere. Fixes #2747 Fixes #3572 PR-URL: https://github.com/npm/cli/pull/3684 Credit: @nlf Close: #3684 Reviewed-by: @wraithgar
Diffstat (limited to 'tap-snapshots/test')
-rw-r--r--tap-snapshots/test/lib/config.js.test.cjs446
1 files changed, 311 insertions, 135 deletions
diff --git a/tap-snapshots/test/lib/config.js.test.cjs b/tap-snapshots/test/lib/config.js.test.cjs
index b5acbb0af..817f3c173 100644
--- a/tap-snapshots/test/lib/config.js.test.cjs
+++ b/tap-snapshots/test/lib/config.js.test.cjs
@@ -5,158 +5,334 @@
* Make sure to inspect the output below. Do not ignore changes!
*/
'use strict'
-exports[`test/lib/config.js TAP config edit --location=global > should write global config file 1`] = `
-;;;;
-; npm globalconfig file: /etc/npmrc
-; this is a simple ini-formatted file
-; lines that start with semi-colons are comments
-; run \`npm help 7 config\` for documentation of the various options
-;
-; Configs like \`@scope:registry\` map a scope to a given registry url.
-;
-; Configs like \`//<hostname>/:_authToken\` are auth that is restricted
-; to the registry host specified.
-
-init.author.name=Foo
-
-;;;;
-; all available options shown below with default values
-;;;;
-
-
-; init-author-name=
-; init-version=1.0.0
-; init.author.name=
-; init.version=1.0.0
-
-`
-
-exports[`test/lib/config.js TAP config edit > should write config file 1`] = `
-;;;;
-; npm userconfig file: ~/.npmrc
-; this is a simple ini-formatted file
-; lines that start with semi-colons are comments
-; run \`npm help 7 config\` for documentation of the various options
-;
-; Configs like \`@scope:registry\` map a scope to a given registry url.
-;
-; Configs like \`//<hostname>/:_authToken\` are auth that is restricted
-; to the registry host specified.
-
-//registry.npmjs.org/:_authToken=0000000
-init.author.name=Foo
-sign-git-commit=true
-
-;;;;
-; all available options shown below with default values
-;;;;
-
-
-; init-author-name=
-; init-version=1.0.0
-; init.author.name=
-; init.version=1.0.0
-
-`
-
-exports[`test/lib/config.js TAP config edit > should write config file 2`] = `
-;;;;
-; npm userconfig file: ~/.npmrc
-; this is a simple ini-formatted file
-; lines that start with semi-colons are comments
-; run \`npm help 7 config\` for documentation of the various options
-;
-; Configs like \`@scope:registry\` map a scope to a given registry url.
-;
-; Configs like \`//<hostname>/:_authToken\` are auth that is restricted
-; to the registry host specified.
-
-
-
-;;;;
-; all available options shown below with default values
-;;;;
-
-
-; init-author-name=
-; init-version=1.0.0
-; init.author.name=
-; init.version=1.0.0
-
+exports[`test/lib/config.js TAP config list --json > output matches snapshot 1`] = `
+{
+ "prefix": "{LOCALPREFIX}",
+ "userconfig": "{HOME}/.npmrc",
+ "json": true,
+ "projectloaded": "yes",
+ "userloaded": "yes",
+ "globalloaded": "yes",
+ "access": null,
+ "all": false,
+ "allow-same-version": false,
+ "also": null,
+ "audit": true,
+ "audit-level": null,
+ "auth-type": "legacy",
+ "before": null,
+ "bin-links": true,
+ "browser": null,
+ "ca": null,
+ "cache": "{CACHE}",
+ "cache-max": null,
+ "cache-min": 0,
+ "cafile": null,
+ "call": "",
+ "cert": null,
+ "ci-name": null,
+ "cidr": null,
+ "color": true,
+ "commit-hooks": true,
+ "depth": null,
+ "description": true,
+ "dev": false,
+ "diff": [],
+ "diff-ignore-all-space": false,
+ "diff-name-only": false,
+ "diff-no-prefix": false,
+ "diff-dst-prefix": "b/",
+ "diff-src-prefix": "a/",
+ "diff-text": false,
+ "diff-unified": 3,
+ "dry-run": false,
+ "editor": "{EDITOR}",
+ "engine-strict": false,
+ "fetch-retries": 2,
+ "fetch-retry-factor": 10,
+ "fetch-retry-maxtimeout": 60000,
+ "fetch-retry-mintimeout": 10000,
+ "fetch-timeout": 300000,
+ "force": false,
+ "foreground-scripts": false,
+ "format-package-lock": true,
+ "fund": true,
+ "git": "git",
+ "git-tag-version": true,
+ "global": false,
+ "global-style": false,
+ "globalconfig": "{GLOBALPREFIX}/npmrc",
+ "heading": "npm",
+ "https-proxy": null,
+ "if-present": false,
+ "ignore-scripts": false,
+ "include": [],
+ "include-staged": false,
+ "init-author-email": "",
+ "init-author-name": "",
+ "init-author-url": "",
+ "init-license": "ISC",
+ "init-module": "{HOME}/.npm-init.js",
+ "init-version": "1.0.0",
+ "init.author.email": "",
+ "init.author.name": "",
+ "init.author.url": "",
+ "init.license": "ISC",
+ "init.module": "{HOME}/.npm-init.js",
+ "init.version": "1.0.0",
+ "key": null,
+ "legacy-bundling": false,
+ "legacy-peer-deps": false,
+ "link": false,
+ "local-address": null,
+ "location": "user",
+ "loglevel": "notice",
+ "logs-max": 10,
+ "long": false,
+ "maxsockets": 15,
+ "message": "%s",
+ "node-options": null,
+ "node-version": "{NODE-VERSION}",
+ "noproxy": [
+ ""
+ ],
+ "npm-version": "{NPM-VERSION}",
+ "offline": false,
+ "omit": [],
+ "only": null,
+ "optional": null,
+ "otp": null,
+ "package": [],
+ "package-lock": true,
+ "package-lock-only": false,
+ "pack-destination": ".",
+ "parseable": false,
+ "prefer-offline": false,
+ "prefer-online": false,
+ "preid": "",
+ "production": null,
+ "progress": true,
+ "proxy": null,
+ "read-only": false,
+ "rebuild-bundle": true,
+ "registry": "https://registry.npmjs.org/",
+ "save": true,
+ "save-bundle": false,
+ "save-dev": false,
+ "save-exact": false,
+ "save-optional": false,
+ "save-peer": false,
+ "save-prefix": "^",
+ "save-prod": false,
+ "scope": "",
+ "script-shell": null,
+ "searchexclude": "",
+ "searchlimit": 20,
+ "searchopts": "",
+ "searchstaleness": 900,
+ "shell": "{SHELL}",
+ "shrinkwrap": true,
+ "sign-git-commit": false,
+ "sign-git-tag": false,
+ "sso-poll-frequency": 500,
+ "sso-type": "oauth",
+ "strict-peer-deps": false,
+ "strict-ssl": true,
+ "tag": "latest",
+ "tag-version-prefix": "v",
+ "timing": false,
+ "tmp": "{TMP}",
+ "umask": 0,
+ "unicode": false,
+ "update-notifier": true,
+ "usage": false,
+ "user-agent": "npm/{NPM-VERSION} node/{NODE-VERSION} {PLATFORM} {ARCH} workspaces/false",
+ "version": false,
+ "versions": false,
+ "viewer": "{VIEWER}",
+ "which": null,
+ "workspace": [],
+ "workspaces": false,
+ "yes": null,
+ "metrics-registry": "https://registry.npmjs.org/"
+}
`
-exports[`test/lib/config.js TAP config get no args > should list configs on config get no args 1`] = `
-; "cli" config from command line options
-
-cat = true
-chai = true
-dog = true
-editor = "vi"
-json = false
-location = "user"
-long = false
-
-; node bin location = /path/to/node
-; cwd = {CWD}
-; HOME = ~/
-; Run \`npm config ls -l\` to show all defaults.
-`
-
-exports[`test/lib/config.js TAP config list --long > should list all configs 1`] = `
+exports[`test/lib/config.js TAP config list --long > output matches snapshot 1`] = `
; "default" config from default values
+_auth = (protected)
+access = null
+all = false
+allow-same-version = false
+also = null
+audit = true
+audit-level = null
+auth-type = "legacy"
+before = null
+bin-links = true
+browser = null
+ca = null
+cache = "{CACHE}"
+cache-max = null
+cache-min = 0
+cafile = null
+call = ""
+cert = null
+ci-name = null
+cidr = null
+color = true
+commit-hooks = true
+depth = null
+description = true
+dev = false
+diff = []
+diff-dst-prefix = "b/"
+diff-ignore-all-space = false
+diff-name-only = false
+diff-no-prefix = false
+diff-src-prefix = "a/"
+diff-text = false
+diff-unified = 3
+dry-run = false
+editor = "{EDITOR}"
+engine-strict = false
+fetch-retries = 2
+fetch-retry-factor = 10
+fetch-retry-maxtimeout = 60000
+fetch-retry-mintimeout = 10000
+fetch-timeout = 300000
+force = false
+foreground-scripts = false
+format-package-lock = true
+fund = true
+git = "git"
+git-tag-version = true
+global = false
+global-style = false
+globalconfig = "{GLOBALPREFIX}/npmrc"
+heading = "npm"
+https-proxy = null
+if-present = false
+ignore-scripts = false
+include = []
+include-staged = false
+init-author-email = ""
init-author-name = ""
+init-author-url = ""
+init-license = "ISC"
+init-module = "{HOME}/.npm-init.js"
init-version = "1.0.0"
+init.author.email = ""
init.author.name = ""
+init.author.url = ""
+init.license = "ISC"
+init.module = "{HOME}/.npm-init.js"
init.version = "1.0.0"
-
-; "cli" config from command line options
-
-cat = true
-chai = true
-dog = true
-editor = "vi"
json = false
+key = null
+legacy-bundling = false
+legacy-peer-deps = false
+link = false
+local-address = null
location = "user"
-long = true
-`
+loglevel = "notice"
+logs-max = 10
+; long = false ; overridden by cli
+maxsockets = 15
+message = "%s"
+metrics-registry = "https://registry.npmjs.org/"
+node-options = null
+node-version = "{NODE-VERSION}"
+noproxy = [""]
+npm-version = "{NPM-VERSION}"
+offline = false
+omit = []
+only = null
+optional = null
+otp = null
+pack-destination = "."
+package = []
+package-lock = true
+package-lock-only = false
+parseable = false
+prefer-offline = false
+prefer-online = false
+; prefix = "{REALGLOBALREFIX}" ; overridden by cli
+preid = ""
+production = null
+progress = true
+proxy = null
+read-only = false
+rebuild-bundle = true
+registry = "https://registry.npmjs.org/"
+save = true
+save-bundle = false
+save-dev = false
+save-exact = false
+save-optional = false
+save-peer = false
+save-prefix = "^"
+save-prod = false
+scope = ""
+script-shell = null
+searchexclude = ""
+searchlimit = 20
+searchopts = ""
+searchstaleness = 900
+shell = "{SHELL}"
+shrinkwrap = true
+sign-git-commit = false
+sign-git-tag = false
+sso-poll-frequency = 500
+sso-type = "oauth"
+strict-peer-deps = false
+strict-ssl = true
+tag = "latest"
+tag-version-prefix = "v"
+timing = false
+tmp = "{TMP}"
+umask = 0
+unicode = false
+update-notifier = true
+usage = false
+user-agent = "npm/{NPM-VERSION} node/{NODE-VERSION} {PLATFORM} {ARCH} workspaces/false"
+; userconfig = "{HOME}/.npmrc" ; overridden by cli
+version = false
+versions = false
+viewer = "{VIEWER}"
+which = null
+workspace = []
+workspaces = false
+yes = null
+
+; "global" config from {GLOBALPREFIX}/npmrc
+
+globalloaded = "yes"
+
+; "user" config from {HOME}/.npmrc
+
+userloaded = "yes"
+
+; "project" config from {LOCALPREFIX}/.npmrc
+
+projectloaded = "yes"
-exports[`test/lib/config.js TAP config list > should list configs 1`] = `
; "cli" config from command line options
-cat = true
-chai = true
-dog = true
-editor = "vi"
-json = false
-location = "user"
-long = false
-
-; node bin location = /path/to/node
-; cwd = {CWD}
-; HOME = ~/
-; Run \`npm config ls -l\` to show all defaults.
+long = true
+prefix = "{LOCALPREFIX}"
+userconfig = "{HOME}/.npmrc"
`
-exports[`test/lib/config.js TAP config list overrides > should list overridden configs 1`] = `
+exports[`test/lib/config.js TAP config list > output matches snapshot 1`] = `
; "cli" config from command line options
-cat = true
-chai = true
-dog = true
-editor = "vi"
-init.author.name = "Bar"
-json = false
-location = "user"
-long = false
-
-; "user" config from ~/.npmrc
-
-; //private-reg.npmjs.org/:_authThoken = (protected) ; overridden by cli
-; init.author.name = "Foo" ; overridden by cli
+prefix = "{LOCALPREFIX}"
+userconfig = "{HOME}/.npmrc"
-; node bin location = /path/to/node
-; cwd = {CWD}
-; HOME = ~/
+; node bin location = {EXECPATH}
+; cwd = {NPMDIR}
+; HOME = {HOME}
; Run \`npm config ls -l\` to show all defaults.
`