diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md index 83b9af1e4d07f9..f83ff511991b70 100644 --- a/deps/npm/docs/content/commands/npm-install.md +++ b/deps/npm/docs/content/commands/npm-install.md @@ -78,11 +78,20 @@ into a tarball (b). * `npm install `: - Install the package in the directory as a symlink in the current - project. Its dependencies will be installed before it's linked. If - `` sits inside the root of your project, its dependencies may + If `` sits inside the root of your project, its dependencies will be installed and may be hoisted to the top-level `node_modules` as they would for other - types of dependencies. + types of dependencies. If `` sits outside the root of your project, + *npm will not install the package dependencies* in the directory ``, + but it will create a symlink to ``. + + > NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use [`npm pack`](/commands/npm-pack) while in the `` directory, and then install the resulting tarball instead of the `` using `npm install ` + + Example: + + ```bash + npm install ../../other-package + npm install ./sub-package + ``` * `npm install `: diff --git a/deps/npm/docs/content/commands/npm-ping.md b/deps/npm/docs/content/commands/npm-ping.md index 6f1c4582f058f0..c59a56e611e54f 100644 --- a/deps/npm/docs/content/commands/npm-ping.md +++ b/deps/npm/docs/content/commands/npm-ping.md @@ -18,11 +18,14 @@ Ping the configured or given npm registry and verify authentication. If it works it will output something like: ```bash -Ping success: {*Details about registry*} +npm notice PING https://registry.npmjs.org/ +npm notice PONG 255ms ``` -otherwise you will get: +otherwise you will get an error: ```bash -Ping error: {*Detail about error} +npm notice PING http://foo.com/ +npm ERR! code E404 +npm ERR! 404 Not Found - GET http://www.foo.com/-/ping?write=true ``` ### Configuration diff --git a/deps/npm/docs/content/using-npm/workspaces.md b/deps/npm/docs/content/using-npm/workspaces.md index c2ecce5ef471c3..26d6a5d7551dcf 100644 --- a/deps/npm/docs/content/using-npm/workspaces.md +++ b/deps/npm/docs/content/using-npm/workspaces.md @@ -30,24 +30,25 @@ Workspaces are usually defined via the `workspaces` property of the { "name": "my-workspaces-powered-project", "workspaces": [ - "workspace-a" + "packages/a" ] } ``` Given the above `package.json` example living at a current working -directory `.` that contains a folder named `workspace-a` that itself contains +directory `.` that contains a folder named `packages/a` that itself contains a `package.json` inside it, defining a Node.js package, e.g: ``` . +-- package.json -`-- workspace-a - `-- package.json +`-- packages + +-- a + | `-- package.json ``` The expected result once running `npm install` in this current working -directory `.` is that the folder `workspace-a` will get symlinked to the +directory `.` is that the folder `packages/a` will get symlinked to the `node_modules` folder of the current working dir. Below is a post `npm install` example, given that same previous example @@ -56,11 +57,12 @@ structure of files and folders: ``` . +-- node_modules -| `-- workspace-a -> ../workspace-a +| `-- packages/a -> ../packages/a +-- package-lock.json +-- package.json -`-- workspace-a - `-- package.json +`-- packages + +-- a + | `-- package.json ``` ### Getting started with workspaces diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html index 657e13ad02c006..5a4f9670fc577c 100644 --- a/deps/npm/docs/output/commands/npm-install.html +++ b/deps/npm/docs/output/commands/npm-install.html @@ -211,11 +211,18 @@

Description

  • npm install <folder>:

    -

    Install the package in the directory as a symlink in the current -project. Its dependencies will be installed before it's linked. If -<folder> sits inside the root of your project, its dependencies may +

    If <folder> sits inside the root of your project, its dependencies will be installed and may be hoisted to the top-level node_modules as they would for other -types of dependencies.

    +types of dependencies. If <folder> sits outside the root of your project, +npm will not install the package dependencies in the directory <folder>, +but it will create a symlink to <folder>.

    +
    +

    NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use npm pack while in the <folder> directory, and then install the resulting tarball instead of the <folder> using npm install <tarball file>

    +
    +

    Example:

    +
    npm install ../../other-package
    +npm install ./sub-package
    +
  • npm install <tarball file>:

    diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index aad51caaa78902..1dbee93d4bfe91 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -160,7 +160,7 @@

    Description

    the results to only the paths to the packages named. Note that nested packages will also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

    -
    npm@8.5.0 /path/to/npm
    +
    npm@8.5.1 /path/to/npm
     └─┬ init-package-json@0.0.4
       └── promzard@0.1.5
     
    diff --git a/deps/npm/docs/output/commands/npm-ping.html b/deps/npm/docs/output/commands/npm-ping.html index 38ffb340437319..40637a8e781dda 100644 --- a/deps/npm/docs/output/commands/npm-ping.html +++ b/deps/npm/docs/output/commands/npm-ping.html @@ -152,10 +152,13 @@

    Table of contents

    Description

    Ping the configured or given npm registry and verify authentication. If it works it will output something like:

    -
    Ping success: {*Details about registry*}
    +
    npm notice PING https://registry.npmjs.org/
    +npm notice PONG 255ms
     
    -

    otherwise you will get:

    -
    Ping error: {*Detail about error}
    +

    otherwise you will get an error:

    +
    npm notice PING http://foo.com/
    +npm ERR! code E404
    +npm ERR! 404 Not Found - GET http://www.foo.com/-/ping?write=true
     

    Configuration

    diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html index 6ec841a55ebef3..1fd3337b2c16ea 100644 --- a/deps/npm/docs/output/commands/npm.html +++ b/deps/npm/docs/output/commands/npm.html @@ -149,7 +149,7 @@

    Table of contents

    npm <command> [args]
     

    Version

    -

    8.5.0

    +

    8.5.1

    Description

    npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency diff --git a/deps/npm/docs/output/using-npm/workspaces.html b/deps/npm/docs/output/using-npm/workspaces.html index 42f10e5f3d66d3..a1613b782f7c46 100644 --- a/deps/npm/docs/output/using-npm/workspaces.html +++ b/deps/npm/docs/output/using-npm/workspaces.html @@ -164,30 +164,32 @@

    Defining workspaces

    {
       "name": "my-workspaces-powered-project",
       "workspaces": [
    -    "workspace-a"
    +    "packages/a"
       ]
     }
     

    Given the above package.json example living at a current working -directory . that contains a folder named workspace-a that itself contains +directory . that contains a folder named packages/a that itself contains a package.json inside it, defining a Node.js package, e.g:

    .
     +-- package.json
    -`-- workspace-a
    -   `-- package.json
    +`-- packages
    +   +-- a
    +   |   `-- package.json
     

    The expected result once running npm install in this current working -directory . is that the folder workspace-a will get symlinked to the +directory . is that the folder packages/a will get symlinked to the node_modules folder of the current working dir.

    Below is a post npm install example, given that same previous example structure of files and folders:

    .
     +-- node_modules
    -|  `-- workspace-a -> ../workspace-a
    +|  `-- packages/a -> ../packages/a
     +-- package-lock.json
     +-- package.json
    -`-- workspace-a
    -   `-- package.json
    +`-- packages
    +   +-- a
    +   |   `-- package.json
     

    Getting started with workspaces

    You may automate the required steps to define a new workspace using diff --git a/deps/npm/lib/commands/pkg.js b/deps/npm/lib/commands/pkg.js index 007932429d6612..6ca892293cebec 100644 --- a/deps/npm/lib/commands/pkg.js +++ b/deps/npm/lib/commands/pkg.js @@ -9,6 +9,8 @@ class Pkg extends BaseCommand { 'set = [= ...]', 'get [ [ ...]]', 'delete [ ...]', + 'set [[].= ...]', + 'set [[].= ...]', ] static params = [ diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index c77e379e5aeac7..d8085ee231fd0d 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -87,11 +87,23 @@ NOTE: The \fB\-\-production\fP flag has no particular meaning when adding a . .IP \(bu 2 \fBnpm install \fP: - Install the package in the directory as a symlink in the current - project\. Its dependencies will be installed before it's linked\. If - \fB\fP sits inside the root of your project, its dependencies may + If \fB\fP sits inside the root of your project, its dependencies will be installed and may be hoisted to the top\-level \fBnode_modules\fP as they would for other - types of dependencies\. + types of dependencies\. If \fB\fP sits outside the root of your project, + \fInpm will not install the package dependencies\fR in the directory \fB\fP, + but it will create a symlink to \fB\fP\|\. +.QP +NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use npm help \fBpack\fP while in the \fB\fP directory, and then install the resulting tarball instead of the \fB\fP using \fBnpm install \fP + +. + Example: +.P +.RS 2 +.nf + npm install \.\./\.\./other\-package + npm install \./sub\-package +.fi +.RE .IP \(bu 2 \fBnpm install \fP: Install a package that is sitting on the filesystem\. Note: if you just diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index ff44f277e9fab5..03bb885ececa35 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show: .P .RS 2 .nf -npm@8\.5\.0 /path/to/npm +npm@8\.5\.1 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1 index 410c2e3dd003b8..2441892a6ac26e 100644 --- a/deps/npm/man/man1/npm-ping.1 +++ b/deps/npm/man/man1/npm-ping.1 @@ -17,15 +17,18 @@ If it works it will output something like: .P .RS 2 .nf -Ping success: {*Details about registry*} +npm notice PING https://registry\.npmjs\.org/ +npm notice PONG 255ms .fi .RE .P -otherwise you will get: +otherwise you will get an error: .P .RS 2 .nf -Ping error: {*Detail about error} +npm notice PING http://foo\.com/ +npm ERR! code E404 +npm ERR! 404 Not Found \- GET http://www\.foo\.com/\-/ping?write=true .fi .RE .SS Configuration diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 45a7a1404083af..47c78a695980cc 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -10,7 +10,7 @@ npm [args] .RE .SS Version .P -8\.5\.0 +8\.5\.1 .SS Description .P npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man7/workspaces.7 b/deps/npm/man/man7/workspaces.7 index 9928675e894310..af88f91b9b6216 100644 --- a/deps/npm/man/man7/workspaces.7 +++ b/deps/npm/man/man7/workspaces.7 @@ -27,27 +27,28 @@ npm help \fBpackage\.json\fP file, e\.g: { "name": "my\-workspaces\-powered\-project", "workspaces": [ - "workspace\-a" + "packages/a" ] } .fi .RE .P Given the above \fBpackage\.json\fP example living at a current working -directory \fB\|\.\fP that contains a folder named \fBworkspace\-a\fP that itself contains +directory \fB\|\.\fP that contains a folder named \fBpackages/a\fP that itself contains a \fBpackage\.json\fP inside it, defining a Node\.js package, e\.g: .P .RS 2 .nf \|\. +\-\- package\.json -`\-\- workspace\-a - `\-\- package\.json +`\-\- packages + +\-\- a + | `\-\- package\.json .fi .RE .P The expected result once running \fBnpm install\fP in this current working -directory \fB\|\.\fP is that the folder \fBworkspace\-a\fP will get symlinked to the +directory \fB\|\.\fP is that the folder \fBpackages/a\fP will get symlinked to the \fBnode_modules\fP folder of the current working dir\. .P Below is a post \fBnpm install\fP example, given that same previous example @@ -57,11 +58,12 @@ structure of files and folders: .nf \|\. +\-\- node_modules -| `\-\- workspace\-a \-> \.\./workspace\-a +| `\-\- packages/a \-> \.\./packages/a +\-\- package\-lock\.json +\-\- package\.json -`\-\- workspace\-a - `\-\- package\.json +`\-\- packages + +\-\- a + | `\-\- package\.json .fi .RE .SS Getting started with workspaces diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js index 53fc5b17ade58c..b7d8249b12ddc1 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js @@ -304,7 +304,7 @@ class AuditReport extends Map { async [_getReport] () { // if we're not auditing, just return false - if (this.options.audit === false || this.tree.inventory.size === 1) { + if (this.options.audit === false || this.options.offline === true || this.tree.inventory.size === 1) { return null } diff --git a/deps/npm/node_modules/@npmcli/ci-detect/index.js b/deps/npm/node_modules/@npmcli/ci-detect/lib/index.js similarity index 98% rename from deps/npm/node_modules/@npmcli/ci-detect/index.js rename to deps/npm/node_modules/@npmcli/ci-detect/lib/index.js index df9318d658a49a..8be8fe2e6d03bc 100644 --- a/deps/npm/node_modules/@npmcli/ci-detect/index.js +++ b/deps/npm/node_modules/@npmcli/ci-detect/lib/index.js @@ -13,6 +13,7 @@ module.exports = () => : process.env.DSARI ? 'dsari' : process.env.GITHUB_ACTION ? 'github-actions' : process.env.TDDIUM ? 'tddium' + : process.env.SCREWDRIVER ? 'screwdriver' : process.env.STRIDER ? 'strider' : process.env.TASKCLUSTER_ROOT_URL ? 'taskcluster' : process.env.JENKINS_URL ? 'jenkins' diff --git a/deps/npm/node_modules/@npmcli/ci-detect/package.json b/deps/npm/node_modules/@npmcli/ci-detect/package.json index 1c01f7a9f62be1..c1cf9dc8893718 100644 --- a/deps/npm/node_modules/@npmcli/ci-detect/package.json +++ b/deps/npm/node_modules/@npmcli/ci-detect/package.json @@ -1,26 +1,41 @@ { "name": "@npmcli/ci-detect", - "version": "1.4.0", + "version": "2.0.0", "description": "Detect what kind of CI environment the program is in", - "author": "Isaac Z. Schlueter (https://izs.me)", + "author": "GitHub Inc.", "license": "ISC", + "main": "./lib", "scripts": { "test": "tap", "preversion": "npm test", "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags" + "prepublishOnly": "git push origin --follow-tags", + "lint": "eslint '**/*.js'", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force", + "lintfix": "npm run lint -- --fix", + "snap": "tap", + "posttest": "npm run lint" }, "tap": { "check-coverage": true }, "devDependencies": { - "tap": "^14.10.2" + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" }, "files": [ - "index.js" + "bin", + "lib" ], "repository": { "type": "git", "url": "git+https://github.com/npm/ci-detect.git" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/gauge/lib/themes.js b/deps/npm/node_modules/gauge/lib/themes.js index 1098ca0e48c5a5..d2e62bbccb3d82 100644 --- a/deps/npm/node_modules/gauge/lib/themes.js +++ b/deps/npm/node_modules/gauge/lib/themes.js @@ -27,8 +27,8 @@ themes.addTheme('colorASCII', themes.getTheme('ASCII'), { }) themes.addTheme('brailleSpinner', { - preProgressbar: '⸨', - postProgressbar: '⸩', + preProgressbar: '(', + postProgressbar: ')', progressbarTheme: { complete: '#', remaining: '⠂', diff --git a/deps/npm/node_modules/gauge/package.json b/deps/npm/node_modules/gauge/package.json index 433958760e2454..c51c2b13fb2b32 100644 --- a/deps/npm/node_modules/gauge/package.json +++ b/deps/npm/node_modules/gauge/package.json @@ -1,6 +1,6 @@ { "name": "gauge", - "version": "4.0.0", + "version": "4.0.1", "description": "A terminal based horizontal gauge", "main": "lib", "scripts": { @@ -12,7 +12,8 @@ "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "snap": "tap", - "posttest": "npm run lint" + "posttest": "npm run lint", + "template-copy": "npm-template-copy --force" }, "repository": { "type": "git", @@ -41,7 +42,7 @@ "wide-align": "^1.1.2" }, "devDependencies": { - "@npmcli/template-oss": "^2.3.0", + "@npmcli/template-oss": "^2.7.1", "readable-stream": "^3.6.0", "tap": "^15.0.10" }, @@ -58,5 +59,7 @@ "functions": 92, "lines": 90 }, - "templateVersion": "2.3.0" + "templateOSS": { + "version": "2.7.1" + } } diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json index 1de0cdfe26a956..4410f187ec66af 100644 --- a/deps/npm/node_modules/libnpmexec/package.json +++ b/deps/npm/node_modules/libnpmexec/package.json @@ -51,7 +51,7 @@ }, "dependencies": { "@npmcli/arborist": "^4.0.0", - "@npmcli/ci-detect": "^1.3.0", + "@npmcli/ci-detect": "^2.0.0", "@npmcli/run-script": "^2.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", diff --git a/deps/npm/node_modules/make-fetch-happen/lib/agent.js b/deps/npm/node_modules/make-fetch-happen/lib/agent.js index b87427755efedf..cc1d388691961f 100644 --- a/deps/npm/node_modules/make-fetch-happen/lib/agent.js +++ b/deps/npm/node_modules/make-fetch-happen/lib/agent.js @@ -76,10 +76,12 @@ function getAgent (uri, opts) { localAddress: opts.localAddress, rejectUnauthorized: opts.rejectUnauthorized, timeout: agentTimeout, + freeSocketTimeout: 15000, }) : new HttpAgent({ maxSockets: agentMaxSockets, localAddress: opts.localAddress, timeout: agentTimeout, + freeSocketTimeout: 15000, }) AGENT_CACHE.set(key, agent) return agent diff --git a/deps/npm/node_modules/make-fetch-happen/package.json b/deps/npm/node_modules/make-fetch-happen/package.json index bd11b7cddbf5ee..c01a09ac5d7aa5 100644 --- a/deps/npm/node_modules/make-fetch-happen/package.json +++ b/deps/npm/node_modules/make-fetch-happen/package.json @@ -1,6 +1,6 @@ { "name": "make-fetch-happen", - "version": "10.0.2", + "version": "10.0.3", "description": "Opinionated, caching, retrying fetch client", "main": "lib/index.js", "files": [ @@ -52,10 +52,9 @@ }, "devDependencies": { "@npmcli/template-oss": "^2.7.1", - "eslint": "^8.8.0", + "eslint": "^8.9.0", "mkdirp": "^1.0.4", "nock": "^13.2.4", - "npmlog": "^6.0.1", "rimraf": "^3.0.2", "safe-buffer": "^5.2.1", "standard-version": "^9.3.2", diff --git a/deps/npm/package.json b/deps/npm/package.json index ef564abd0aca0c..c407a66ae12d11 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "8.5.0", + "version": "8.5.1", "name": "npm", "description": "a package manager for JavaScript", "workspaces": [ @@ -56,7 +56,7 @@ "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^4.3.1", - "@npmcli/ci-detect": "^1.4.0", + "@npmcli/ci-detect": "^2.0.0", "@npmcli/config": "^3.0.0", "@npmcli/map-workspaces": "^2.0.0", "@npmcli/package-json": "^1.0.1", @@ -90,7 +90,7 @@ "libnpmsearch": "^4.0.1", "libnpmteam": "^3.0.1", "libnpmversion": "^2.0.2", - "make-fetch-happen": "^10.0.2", + "make-fetch-happen": "^10.0.3", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", "mkdirp": "^1.0.4", diff --git a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs index c9da1e23671ea5..d84cdfb305e902 100644 --- a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs @@ -690,6 +690,8 @@ Usage: npm pkg set = [= ...] npm pkg get [ [ ...]] npm pkg delete [ ...] +npm pkg set [[].= ...] +npm pkg set [[].= ...] Options: [-f|--force] [--json] diff --git a/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs index 62307020cc0f21..d2001f4da8c7ed 100644 --- a/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/utils/npm-usage.js.test.cjs @@ -773,6 +773,8 @@ All commands: npm pkg set = [= ...] npm pkg get [ [ ...]] npm pkg delete [ ...] + npm pkg set [[].= ...] + npm pkg set [[].= ...] Options: [-f|--force] [--json]