{ "description": "npm commands real npm ran over a fake registry that serves real tarballs (scripts/npm-oracle.mjs cli), for the guest npm to be held to byte for byte.", "registry": { "zod": { "3.23.8": {}, "3.25.76": {}, "4.0.0": {}, "latest": "3.25.76" }, "kit": { "1.0.0": { "dependencies": { "zod": "^3.23.0" } } }, "left-pad": { "1.3.0": {} }, "hello": { "1.0.0": { "bin": { "hello": "cli.js" } } } }, "cases": { "add": { "description": "a bare name saves ^ on the latest version", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "version": { "description": "an exact version saves ^ on it", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod@3.23.8" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.23.8\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.23.8\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.23.8\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.23.8.tgz\",\n \"integrity\": \"sha512-tPx559UQ1Ca5jgSdi4rprvH5206/pIuxWefG5PNSsKGeaUHi+uXYQXSo4acwA1YhXWCCx6OGkMX7ExSrRyO0Dg==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.23.8" ] } }, "range": { "description": "a range ^x.y.z is a subset of saves as ^x.y.z", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod@3" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "range-kept": { "description": "a range ^x.y.z is not a subset of is saved as given", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod@>=3.23.0 <3.24.0" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \">=3.23.0 <3.24.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \">=3.23.0 <3.24.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.23.8\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.23.8.tgz\",\n \"integrity\": \"sha512-tPx559UQ1Ca5jgSdi4rprvH5206/pIuxWefG5PNSsKGeaUHi+uXYQXSo4acwA1YhXWCCx6OGkMX7ExSrRyO0Dg==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.23.8" ] } }, "tag": { "description": "a tag saves ^ on the version it names", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod@latest" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "alias": { "description": "an npm: alias saves npm:@^version", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "z@npm:zod@^3.23.0" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"z\": \"npm:zod@^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"z\": \"npm:zod@^3.25.76\"\n }\n },\n \"node_modules/z\": {\n \"name\": \"zod\",\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/z@3.25.76" ] } }, "exact": { "description": "-E saves the version without a prefix", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "-E", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "dev": { "description": "-D saves to devDependencies", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "-D", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"devDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"devDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\",\n \"dev\": true\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "optional": { "description": "-O saves to optionalDependencies", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "-O", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"optionalDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"*\"\n },\n \"optionalDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\",\n \"optional\": true\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "move": { "description": "-D on a dependency moves it out of dependencies, with a warning", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "zod": "^3.25.76", "left-pad": "^1.3.0" } }, "args": [ "install", "-D", "zod" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\",\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nup to date in {time}\n", "stderr": "npm warn idealTree Removing dependencies.zod in favor of devDependencies.zod\n", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n },\n \"devDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n },\n \"devDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\",\n \"dev\": true\n }\n }\n}\n", "modules": [ "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "no-save": { "description": "--no-save installs and writes neither package.json nor package-lock.json", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "left-pad": "^1.3.0" } }, "args": [ "install", "--no-save", "zod" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n }\n }\n}\n", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n }\n }\n}\n", "modules": [ "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "sorted": { "description": "saving sorts every dependency map", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "left-pad": "^1.3.0", "kit": "^1.0.0" } }, "args": [ "install", "zod" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nup to date in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\",\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\",\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "alias-add": { "description": "`npm add` is install; two packages added", "package": { "name": "app", "version": "1.0.0" }, "args": [ "add", "kit" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 2 packages in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/zod@3.25.76" ] } }, "indent-4": { "description": "a 4-space package.json is written back with 4 spaces", "indent": 4, "package": { "name": "app", "version": "1.0.0", "dependencies": { "left-pad": "^1.3.0" } }, "args": [ "install", "kit" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 3 packages in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "indent-tab": { "description": "a tab-indented package.json is written back with tabs", "indent": "\t", "package": { "name": "app", "version": "1.0.0", "dependencies": { "left-pad": "^1.3.0" } }, "args": [ "install", "kit" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 3 packages in {time}\n", "stderr": "", "packageJson": "{\n\t\"name\": \"app\",\n\t\"version\": \"1.0.0\",\n\t\"dependencies\": {\n\t\t\"kit\": \"^1.0.0\",\n\t\t\"left-pad\": \"^1.3.0\"\n\t}\n}\n", "lockfile": "{\n\t\"name\": \"app\",\n\t\"version\": \"1.0.0\",\n\t\"lockfileVersion\": 3,\n\t\"requires\": true,\n\t\"packages\": {\n\t\t\"\": {\n\t\t\t\"name\": \"app\",\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"kit\": \"^1.0.0\",\n\t\t\t\t\"left-pad\": \"^1.3.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/kit\": {\n\t\t\t\"version\": \"1.0.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n\t\t\t\"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n\t\t\t\"dependencies\": {\n\t\t\t\t\"zod\": \"^3.23.0\"\n\t\t\t}\n\t\t},\n\t\t\"node_modules/left-pad\": {\n\t\t\t\"version\": \"1.3.0\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n\t\t\t\"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n\t\t},\n\t\t\"node_modules/zod\": {\n\t\t\t\"version\": \"3.25.76\",\n\t\t\t\"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n\t\t\t\"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n\t\t}\n\t}\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "crlf": { "description": "a CRLF package.json is written back with CRLF", "newline": "\r\n", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\r\n \"name\": \"app\",\r\n \"version\": \"1.0.0\",\r\n \"dependencies\": {\r\n \"zod\": \"^3.25.76\"\r\n }\r\n}\r\n", "lockfile": "{\r\n \"name\": \"app\",\r\n \"version\": \"1.0.0\",\r\n \"lockfileVersion\": 3,\r\n \"requires\": true,\r\n \"packages\": {\r\n \"\": {\r\n \"name\": \"app\",\r\n \"version\": \"1.0.0\",\r\n \"dependencies\": {\r\n \"zod\": \"^3.25.76\"\r\n }\r\n },\r\n \"node_modules/zod\": {\r\n \"version\": \"3.25.76\",\r\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\r\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\r\n }\r\n }\r\n}\r\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "uninstall": { "description": "uninstall removes a dependency and what only it needed", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "kit": "^1.0.0", "left-pad": "^1.3.0" } }, "args": [ "uninstall", "kit" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nremoved 2 packages in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n }\n }\n}\n", "modules": [ "node_modules/left-pad@1.3.0" ] } }, "rm-dev": { "description": "`npm rm` removes from devDependencies too", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "left-pad": "^1.3.0" }, "devDependencies": { "zod": "^3.25.76" } }, "args": [ "rm", "zod" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n },\n \"devDependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\",\n \"dev\": true\n }\n }\n}\n", "status": 0, "stdout": "\nremoved 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n }\n }\n}\n", "modules": [ "node_modules/left-pad@1.3.0" ] } }, "plain": { "description": "install with no arguments adds what package.json gained", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "kit": "^1.0.0" } }, "package": { "name": "app", "version": "1.0.0", "dependencies": { "kit": "^1.0.0", "left-pad": "^1.3.0" } }, "args": [ "install" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\",\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/left-pad@1.3.0", "node_modules/zod@3.25.76" ] } }, "up-to-date": { "description": "install with nothing to do", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "kit": "^1.0.0" } }, "args": [ "install" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nup to date in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/zod@3.25.76" ] } }, "ci": { "description": "ci installs the lockfile", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "kit": "^1.0.0" } }, "args": [ "ci" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 0, "stdout": "\nadded 2 packages in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"kit\": \"^1.0.0\"\n }\n },\n \"node_modules/kit\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/kit/-/kit-1.0.0.tgz\",\n \"integrity\": \"sha512-hLOZ/Y/ljXR3NcNROXsM5D/2haxzgk8fWDf1EL2GtreMDCf9q0cRlbaTxiqxLJTu5CzuiH2nKBgUUM2/y8k6+w==\",\n \"dependencies\": {\n \"zod\": \"^3.23.0\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/kit@1.0.0", "node_modules/zod@3.25.76" ] } }, "ci-out-of-sync": { "description": "ci refuses a lockfile package.json outgrew", "seed": { "name": "app", "version": "1.0.0", "dependencies": { "zod": "^3.25.76" } }, "package": { "name": "app", "version": "1.0.0", "dependencies": { "zod": "^3.25.76", "left-pad": "^1.3.0" } }, "args": [ "ci" ], "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "status": 1, "stdout": "", "stderr": "npm error code EUSAGE\nnpm error\nnpm error `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.\nnpm error\nnpm error Missing: left-pad@1.3.0 from lock file\nnpm error\nnpm error Clean install a project\nnpm error\nnpm error Usage:\nnpm error npm ci\nnpm error\nnpm error Options:\nnpm error [--install-strategy ] [--legacy-bundling]\nnpm error [--global-style] [--omit [--omit ...]]\nnpm error [--include [--include ...]]\nnpm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit]\nnpm error [--no-bin-links] [--no-fund] [--dry-run]\nnpm error [-w|--workspace [-w|--workspace ...]]\nnpm error [--workspaces] [--include-workspace-root] [--install-links]\nnpm error\nnpm error aliases: clean-install, ic, install-clean, isntall-clean\nnpm error\nnpm error Run \"npm help ci\" for more info\n", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\",\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "ci-no-lock": { "description": "ci refuses a project with no lockfile", "package": { "name": "app", "version": "1.0.0", "dependencies": { "zod": "^3.25.76" } }, "args": [ "ci" ], "npm": { "version": "11.7.0", "status": 1, "stdout": "", "stderr": "npm error code EUSAGE\nnpm error\nnpm error The `npm ci` command can only install with an existing package-lock.json or\nnpm error npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or\nnpm error later to generate a package-lock.json file, then try again.\nnpm error\nnpm error Clean install a project\nnpm error\nnpm error Usage:\nnpm error npm ci\nnpm error\nnpm error Options:\nnpm error [--install-strategy ] [--legacy-bundling]\nnpm error [--global-style] [--omit [--omit ...]]\nnpm error [--include [--include ...]]\nnpm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit]\nnpm error [--no-bin-links] [--no-fund] [--dry-run]\nnpm error [-w|--workspace [-w|--workspace ...]]\nnpm error [--workspaces] [--include-workspace-root] [--install-links]\nnpm error\nnpm error aliases: clean-install, ic, install-clean, isntall-clean\nnpm error\nnpm error Run \"npm help ci\" for more info\n", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": null, "modules": [] } }, "etarget": { "description": "a version the registry does not have", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "zod@9" ], "npm": { "version": "11.7.0", "status": 1, "stdout": "", "stderr": "npm error code ETARGET\nnpm error notarget No matching version found for zod@9.\nnpm error notarget In most cases you or one of your dependencies are requesting\nnpm error notarget a package version that doesn't exist.\n", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\"\n}\n", "lockfile": null, "modules": [] } }, "e404": { "description": "a package the registry does not have", "package": { "name": "app", "version": "1.0.0" }, "args": [ "install", "nope" ], "npm": { "version": "11.7.0", "status": 1, "stdout": "", "stderr": "npm error code E404\nnpm error 404 Not Found - GET https://registry.npmjs.org/nope - Not found\nnpm error 404\nnpm error 404 The requested resource 'nope@*' could not be found or you do not have permission to access it.\nnpm error 404\nnpm error 404 Note that you can also install from a\nnpm error 404 tarball, folder, http url, or git url.\n", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\"\n}\n", "lockfile": null, "modules": [] } }, "no-package-json": { "description": "install with no package.json makes one", "args": [ "install", "zod" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"dependencies\": {\n \"zod\": \"^3.25.76\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"3.25.76\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-3.25.76.tgz\",\n \"integrity\": \"sha512-YhqAvIYBls5diwc/Ox1Ppz7FxRw5VugiGPUzqKcbTP5rxiOlFTawL5p/Y+cKpI7qsqYPeSPL1sUNAJO9RKbigw==\"\n }\n }\n}\n", "modules": [ "node_modules/zod@3.25.76" ] } }, "abbrev": { "description": "an unambiguous prefix of a command runs it", "package": { "name": "app", "version": "1.0.0" }, "args": [ "inst", "left-pad" ], "npm": { "version": "11.7.0", "status": 0, "stdout": "\nadded 1 package in {time}\n", "stderr": "", "packageJson": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n}\n", "lockfile": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"left-pad\": \"^1.3.0\"\n }\n },\n \"node_modules/left-pad\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz\",\n \"integrity\": \"sha512-8sBvFqStESYV+hfJhBr5O92grVZ6XHCAWs2SVmKfNKxVv7+3/blA5y/JEbo9H+YNiIcrNzQJMEkJTIRl/jR8gQ==\"\n }\n }\n}\n", "modules": [ "node_modules/left-pad@1.3.0" ] } } }, "scripts": { "run": { "description": "a script's own args and the ones after --", "args": [ "run", "greet", "--", "a", "b c" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "greet": "node show.js hi" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 greet\n> node show.js hi a b c\n\n{\"event\":\"greet\",\"argv\":[\"hi\",\"a\",\"b c\"]}\n", "stderr": "", "npx": null } }, "run-alias": { "description": "rum, an alias of run", "args": [ "rum", "greet" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "greet": "node show.js hi" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 greet\n> node show.js hi\n\n{\"event\":\"greet\",\"argv\":[\"hi\"]}\n", "stderr": "", "npx": null } }, "test": { "description": "npm test, with pretest and posttest around it", "args": [ "test" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "pretest": "node show.js pre", "test": "node show.js test", "posttest": "node show.js post" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 pretest\n> node show.js pre\n\n{\"event\":\"pretest\",\"argv\":[\"pre\"]}\n\n> app@1.0.0 test\n> node show.js test\n\n{\"event\":\"test\",\"argv\":[\"test\"]}\n\n> app@1.0.0 posttest\n> node show.js post\n\n{\"event\":\"posttest\",\"argv\":[\"post\"]}\n", "stderr": "", "npx": null } }, "start": { "description": "npm start with args", "args": [ "start", "--", "x" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "start": "node show.js start" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 start\n> node show.js start x\n\n{\"event\":\"start\",\"argv\":[\"start\",\"x\"]}\n", "stderr": "", "npx": null } }, "missing": { "description": "a script package.json does not have", "args": [ "run", "nope" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "greet": "node show.js hi" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 1, "stdout": "", "stderr": "npm error Missing script: \"nope\"\nnpm error\nnpm error To see a list of scripts, run:\nnpm error npm run\n", "npx": null } }, "missing-similar": { "description": "a missing script close to one that exists", "args": [ "run", "gret" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "greet": "node show.js hi" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 1, "stdout": "", "stderr": "npm error Missing script: \"gret\"\nnpm error\nnpm error Did you mean one of these?\nnpm error npm get # Get a value from the npm configuration\nnpm error npm run greet # run the \"greet\" package script\nnpm error\nnpm error To see a list of scripts, run:\nnpm error npm run\n", "npx": null } }, "fail": { "description": "a script exiting 3, and its post script not run", "args": [ "run", "fail" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "fail": "node exit.js 3", "postfail": "node show.js post" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 3, "stdout": "\n> app@1.0.0 fail\n> node exit.js 3\n\n", "stderr": "", "npx": null } }, "env": { "description": "the environment npm gives a script", "args": [ "run", "env-dump" ], "package": { "name": "app", "version": "1.0.0", "config": { "port": "8080" }, "bin": { "app": "show.js" }, "scripts": { "env-dump": "node env.js" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 env-dump\n> node env.js\n\n{\n \"npm_lifecycle_event\": \"env-dump\",\n \"npm_lifecycle_script\": \"node env.js\",\n \"npm_package_name\": \"app\",\n \"npm_package_version\": \"1.0.0\",\n \"npm_package_json\": \"{dir}/package.json\",\n \"npm_package_config_port\": \"8080\",\n \"npm_package_bin_app\": \"show.js\",\n \"npm_command\": \"run\",\n \"npm_config_local_prefix\": \"{dir}\",\n \"INIT_CWD\": \"{dir}\",\n \"userAgent\": \"npm/11.7.0\",\n \"bins\": [\n \"{dir}/node_modules/.bin\"\n ],\n \"node\": true,\n \"execpath\": true\n}\n", "stderr": "", "npx": null } }, "chain": { "description": "&&, ||, ; and an env prefix", "args": [ "run", "all" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "all": "node show.js one && FOO=bar node show.js \"two words\" || node show.js skipped; node exit.js 1 || node show.js 'after fail'" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "\n> app@1.0.0 all\n> node show.js one && FOO=bar node show.js \"two words\" || node show.js skipped; node exit.js 1 || node show.js 'after fail'\n\n{\"event\":\"all\",\"argv\":[\"one\"]}\n{\"event\":\"all\",\"argv\":[\"two words\"],\"FOO\":\"bar\"}\n{\"event\":\"all\",\"argv\":[\"after fail\"]}\n", "stderr": "", "npx": null } }, "list": { "description": "npm run with no script lists them", "args": [ "run" ], "package": { "name": "app", "version": "1.0.0", "scripts": { "test": "node show.js test", "greet": "node show.js hi", "build": "node show.js build" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "Lifecycle scripts included in app@1.0.0:\n test\n node show.js test\navailable via `npm run`:\n greet\n node show.js hi\n build\n node show.js build\n", "stderr": "", "npx": null } }, "bin": { "description": "a script running a dependency's bin", "args": [ "run", "hi" ], "seed": { "name": "app", "version": "1.0.0", "scripts": { "hi": "hello world" }, "dependencies": { "hello": "^1.0.0" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n", "status": 0, "stdout": "\n> app@1.0.0 hi\n> hello world\n\nhello@1.0.0 [\"world\"] hi\n", "stderr": "", "npx": null } }, "exec-local": { "description": "npm exec of a bin in node_modules/.bin", "args": [ "exec", "--", "hello", "x", "--flag" ], "seed": { "name": "app", "version": "1.0.0", "scripts": {}, "dependencies": { "hello": "^1.0.0" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n", "status": 0, "stdout": "hello@1.0.0 [\"x\",\"--flag\"] npx\n", "stderr": "", "npx": null } }, "exec-call": { "description": "npm exec -c", "args": [ "exec", "-c", "hello there" ], "seed": { "name": "app", "version": "1.0.0", "scripts": {}, "dependencies": { "hello": "^1.0.0" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n", "status": 0, "stdout": "hello@1.0.0 [\"there\"] npx\n", "stderr": "", "npx": null } }, "npx-local": { "description": "npx of an installed bin", "args": [ "hello", "x" ], "bin": "npx", "seed": { "name": "app", "version": "1.0.0", "scripts": {}, "dependencies": { "hello": "^1.0.0" } }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "seedLock": "{\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"app\",\n \"version\": \"1.0.0\",\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n", "status": 0, "stdout": "hello@1.0.0 [\"x\"] npx\n", "stderr": "", "npx": null } }, "npx-yes": { "description": "npx --yes of a package not installed, then again from the npx cache", "args": [ "--yes", "hello", "x" ], "bin": "npx", "package": { "name": "app", "version": "1.0.0", "scripts": {} }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "again": true, "npm": { "version": "11.7.0", "status": 0, "stdout": "hello@1.0.0 [\"x\"] npx\n", "stderr": "", "npx": { "9b71d224bd62f378": { "packageJson": "{\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n },\n \"_npx\": {\n \"packages\": [\n \"hello\"\n ]\n }\n}\n", "lockfile": "{\n \"name\": \"9b71d224bd62f378\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n" } }, "again": { "status": 0, "stdout": "hello@1.0.0 [\"x\"] npx\n", "stderr": "", "requests": [ "/hello" ] } } }, "npx-no-yes": { "description": "npx of a package not installed, without --yes, not on a tty", "args": [ "hello" ], "bin": "npx", "package": { "name": "app", "version": "1.0.0", "scripts": {} }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "hello@1.0.0 [] npx\n", "stderr": "npm warn exec The following package was not found and will be installed: hello@1.0.0\n", "npx": { "9b71d224bd62f378": { "packageJson": "{\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n },\n \"_npx\": {\n \"packages\": [\n \"hello\"\n ]\n }\n}\n", "lockfile": "{\n \"name\": \"9b71d224bd62f378\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n" } } } }, "npx-package": { "description": "npx -p of a package not installed", "args": [ "-y", "-p", "hello", "hello", "y" ], "bin": "npx", "package": { "name": "app", "version": "1.0.0", "scripts": {} }, "files": { "show.js": "console.log(JSON.stringify({ event: process.env.npm_lifecycle_event, argv: process.argv.slice(2), FOO: process.env.FOO }));\n", "exit.js": "process.exit(Number(process.argv[2]));\n", "env.js": "const env = process.env;\nconst keys = [\"npm_lifecycle_event\", \"npm_lifecycle_script\", \"npm_package_name\", \"npm_package_version\", \"npm_package_json\",\n \"npm_package_config_port\", \"npm_package_bin_app\", \"npm_command\", \"npm_config_local_prefix\", \"INIT_CWD\"];\nconsole.log(JSON.stringify({\n ...Object.fromEntries(keys.map((k) => [k, env[k]])),\n userAgent: env.npm_config_user_agent.split(\" \")[0],\n bins: env.PATH.split(\":\").filter((p) => p.startsWith(env.INIT_CWD)),\n node: env.NODE === env.npm_node_execpath,\n execpath: env.npm_execpath.endsWith(\"/npm-cli.js\"),\n}, null, 2));\n" }, "npm": { "version": "11.7.0", "status": 0, "stdout": "hello@1.0.0 [\"y\"] npx\n", "stderr": "", "npx": { "9b71d224bd62f378": { "packageJson": "{\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n },\n \"_npx\": {\n \"packages\": [\n \"hello\"\n ]\n }\n}\n", "lockfile": "{\n \"name\": \"9b71d224bd62f378\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"dependencies\": {\n \"hello\": \"^1.0.0\"\n }\n },\n \"node_modules/hello\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/hello/-/hello-1.0.0.tgz\",\n \"integrity\": \"sha512-7Pf4kNCxp5v0pkuS1j/2iQ0/CXO2x7X1h/4I9kD40aZUb82w7DsilBJifajfRiOQya2YYeYAkNdCXCWFtE7nCg==\",\n \"bin\": {\n \"hello\": \"cli.js\"\n }\n }\n }\n}\n" } } } } } }