diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md index 83b9af1e4d07..f83ff511991b 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 6f1c4582f058..c59a56e611e5 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 c2ecce5ef471..26d6a5d7551d 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 657e13ad02c0..5a4f9670fc57 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 aad51caaa789..1dbee93d4bfe 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 38ffb3404373..40637a8e781d 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 6ec841a55ebe..1fd3337b2c16 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 42f10e5f3d66..a1613b782f7c 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 007932429d66..6ca892293ceb 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 c77e379e5aea..d8085ee231fd 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 ff44f277e9fa..03bb885ececa 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 410c2e3dd003..2441892a6ac2 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 45a7a1404083..47c78a695980 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 9928675e8943..af88f91b9b62 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 53fc5b17ade5..b7d8249b12dd 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 df9318d658a4..8be8fe2e6d03 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 1c01f7a9f62b..c1cf9dc88937 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 1098ca0e48c5..d2e62bbccb3d 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 433958760e24..c51c2b13fb2b 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 1de0cdfe26a9..4410f187ec66 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 b87427755efe..cc1d38869196 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 bd11b7cddbf5..c01a09ac5d7a 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 ef564abd0aca..c407a66ae12d 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 c9da1e23671e..d84cdfb305e9 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 62307020cc0f..d2001f4da8c7 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]