projen 0.99.72 → 0.99.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (534) hide show
  1. package/.jsii +2 -2
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +2 -2
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +4 -4
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/awscdk/private/feature-flags-v2.const.d.ts +1 -1
  18. package/lib/awscdk/private/feature-flags-v2.const.js +2 -2
  19. package/lib/build/build-workflow.js +1 -1
  20. package/lib/cdk/auto-discover-base.js +2 -2
  21. package/lib/cdk/construct-lib.js +1 -1
  22. package/lib/cdk/integration-test-base.js +1 -1
  23. package/lib/cdk/jsii-build.js +1 -1
  24. package/lib/cdk/jsii-docgen.js +1 -1
  25. package/lib/cdk/jsii-project.js +1 -1
  26. package/lib/cdk8s/auto-discover.js +2 -2
  27. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  28. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  29. package/lib/cdk8s/cdk8s-construct.js +1 -1
  30. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  31. package/lib/cdk8s/cdk8s-deps.js +1 -1
  32. package/lib/cdk8s/integration-test.js +1 -1
  33. package/lib/cdktf/cdktf-construct.js +1 -1
  34. package/lib/circleci/circleci.js +1 -1
  35. package/lib/component.js +1 -1
  36. package/lib/dependencies.js +1 -1
  37. package/lib/dev-env.js +1 -1
  38. package/lib/docker-compose/docker-compose-service.js +1 -1
  39. package/lib/docker-compose/docker-compose.js +1 -1
  40. package/lib/file.js +1 -1
  41. package/lib/gitattributes.js +1 -1
  42. package/lib/github/actions-provider.js +1 -1
  43. package/lib/github/auto-approve.js +1 -1
  44. package/lib/github/auto-merge.js +1 -1
  45. package/lib/github/auto-queue.js +1 -1
  46. package/lib/github/dependabot.js +1 -1
  47. package/lib/github/dependency-review.js +1 -1
  48. package/lib/github/github-credentials.js +1 -1
  49. package/lib/github/github-project.js +1 -1
  50. package/lib/github/github.js +1 -1
  51. package/lib/github/merge-queue.js +1 -1
  52. package/lib/github/mergify.js +1 -1
  53. package/lib/github/pr-template.js +1 -1
  54. package/lib/github/pull-request-backport.js +1 -1
  55. package/lib/github/pull-request-lint.js +1 -1
  56. package/lib/github/stale.js +1 -1
  57. package/lib/github/task-workflow-job.js +1 -1
  58. package/lib/github/task-workflow.js +1 -1
  59. package/lib/github/workflow-actions.js +1 -1
  60. package/lib/github/workflow-jobs.js +1 -1
  61. package/lib/github/workflow-steps.js +1 -1
  62. package/lib/github/workflows.js +1 -1
  63. package/lib/gitlab/configuration.js +1 -1
  64. package/lib/gitlab/gitlab-configuration.js +1 -1
  65. package/lib/gitlab/nested-configuration.js +1 -1
  66. package/lib/gitpod.js +1 -1
  67. package/lib/ignore-file.js +1 -1
  68. package/lib/ini.js +1 -1
  69. package/lib/java/java-project.js +1 -1
  70. package/lib/java/junit.js +1 -1
  71. package/lib/java/maven-compile.js +1 -1
  72. package/lib/java/maven-packaging.js +1 -1
  73. package/lib/java/maven-sample.js +1 -1
  74. package/lib/java/pom.js +2 -2
  75. package/lib/java/projenrc.js +1 -1
  76. package/lib/javascript/biome/biome.js +1 -1
  77. package/lib/javascript/bundler.js +1 -1
  78. package/lib/javascript/eslint.js +1 -1
  79. package/lib/javascript/jest.js +4 -4
  80. package/lib/javascript/license-checker.js +1 -1
  81. package/lib/javascript/node-package.js +1 -1
  82. package/lib/javascript/node-project.js +1 -1
  83. package/lib/javascript/npm-config.js +1 -1
  84. package/lib/javascript/prettier.js +1 -1
  85. package/lib/javascript/projenrc.js +1 -1
  86. package/lib/javascript/typescript-config.js +2 -2
  87. package/lib/javascript/upgrade-dependencies.js +2 -2
  88. package/lib/javascript/yarnrc.js +1 -1
  89. package/lib/json-patch.js +1 -1
  90. package/lib/json.js +1 -1
  91. package/lib/license.js +1 -1
  92. package/lib/logger.js +1 -1
  93. package/lib/makefile.js +1 -1
  94. package/lib/object-file.js +1 -1
  95. package/lib/project-build.js +1 -1
  96. package/lib/project-tree.js +1 -1
  97. package/lib/project.js +1 -1
  98. package/lib/projects.js +1 -1
  99. package/lib/projenrc-json.js +2 -2
  100. package/lib/projenrc.js +1 -1
  101. package/lib/python/pip.js +1 -1
  102. package/lib/python/poetry.js +2 -2
  103. package/lib/python/projenrc.js +1 -1
  104. package/lib/python/pyproject-toml-file.js +1 -1
  105. package/lib/python/pytest-sample.js +1 -1
  106. package/lib/python/pytest.js +1 -1
  107. package/lib/python/python-project.js +1 -1
  108. package/lib/python/python-sample.js +1 -1
  109. package/lib/python/requirements-file.js +1 -1
  110. package/lib/python/setuppy.js +1 -1
  111. package/lib/python/setuptools.js +1 -1
  112. package/lib/python/uv.js +1 -1
  113. package/lib/python/venv.js +1 -1
  114. package/lib/readme.js +1 -1
  115. package/lib/release/publisher.js +1 -1
  116. package/lib/release/release-trigger.js +1 -1
  117. package/lib/release/release.js +1 -1
  118. package/lib/renovatebot.js +1 -1
  119. package/lib/sample-file.js +2 -2
  120. package/lib/semver.js +1 -1
  121. package/lib/source-code.js +1 -1
  122. package/lib/task-runtime.js +1 -1
  123. package/lib/task.js +1 -1
  124. package/lib/tasks.js +1 -1
  125. package/lib/testing.js +1 -1
  126. package/lib/textfile.js +1 -1
  127. package/lib/toml.js +1 -1
  128. package/lib/typescript/projenrc-ts.js +1 -1
  129. package/lib/typescript/projenrc.js +1 -1
  130. package/lib/typescript/typescript-typedoc.js +1 -1
  131. package/lib/typescript/typescript.js +6 -6
  132. package/lib/version.js +2 -2
  133. package/lib/vscode/devcontainer.js +1 -1
  134. package/lib/vscode/extensions.js +1 -1
  135. package/lib/vscode/launch-config.js +1 -1
  136. package/lib/vscode/settings.js +1 -1
  137. package/lib/vscode/vscode.js +1 -1
  138. package/lib/web/next.js +3 -3
  139. package/lib/web/postcss.js +1 -1
  140. package/lib/web/react.js +4 -4
  141. package/lib/web/tailwind.js +1 -1
  142. package/lib/xmlfile.js +1 -1
  143. package/lib/yaml.js +1 -1
  144. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/README.md +10 -15
  145. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/lib/enoent.js +1 -1
  146. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/lib/parse.js +1 -35
  147. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/lib/util/readShebang.js +1 -10
  148. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/lib/util/resolveCommand.js +4 -3
  149. package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/package.json +23 -25
  150. package/node_modules/execa/index.d.ts +564 -0
  151. package/node_modules/execa/index.js +268 -0
  152. package/node_modules/execa/lib/command.js +52 -0
  153. package/node_modules/execa/lib/error.js +88 -0
  154. package/node_modules/execa/lib/kill.js +115 -0
  155. package/node_modules/execa/lib/promise.js +46 -0
  156. package/node_modules/execa/lib/stdio.js +52 -0
  157. package/node_modules/execa/lib/stream.js +97 -0
  158. package/node_modules/execa/license +9 -0
  159. package/node_modules/execa/package.json +74 -0
  160. package/node_modules/execa/readme.md +663 -0
  161. package/node_modules/fastq/README.md +0 -2
  162. package/node_modules/fastq/eslint.config.js +11 -0
  163. package/node_modules/fastq/example.mjs +0 -2
  164. package/node_modules/fastq/index.d.ts +2 -0
  165. package/node_modules/fastq/package.json +5 -9
  166. package/node_modules/fastq/queue.js +36 -1
  167. package/node_modules/fastq/test/promise.js +34 -0
  168. package/node_modules/fastq/test/test.js +80 -0
  169. package/node_modules/get-stream/buffer-stream.js +52 -0
  170. package/node_modules/get-stream/index.d.ts +105 -0
  171. package/node_modules/get-stream/index.js +61 -0
  172. package/node_modules/get-stream/license +9 -0
  173. package/node_modules/{shelljs/node_modules/get-stream → get-stream}/package.json +11 -10
  174. package/node_modules/{shelljs/node_modules/get-stream → get-stream}/readme.md +19 -18
  175. package/node_modules/human-signals/LICENSE +201 -0
  176. package/node_modules/human-signals/README.md +165 -0
  177. package/node_modules/human-signals/build/src/core.js +273 -0
  178. package/node_modules/human-signals/build/src/core.js.map +1 -0
  179. package/node_modules/human-signals/build/src/main.d.ts +52 -0
  180. package/node_modules/human-signals/build/src/main.js +71 -0
  181. package/node_modules/human-signals/build/src/main.js.map +1 -0
  182. package/node_modules/human-signals/build/src/realtime.js +19 -0
  183. package/node_modules/human-signals/build/src/realtime.js.map +1 -0
  184. package/node_modules/human-signals/build/src/signals.js +35 -0
  185. package/node_modules/human-signals/build/src/signals.js.map +1 -0
  186. package/node_modules/human-signals/package.json +64 -0
  187. package/node_modules/is-stream/index.d.ts +79 -0
  188. package/node_modules/is-stream/index.js +28 -0
  189. package/node_modules/is-stream/license +9 -0
  190. package/node_modules/is-stream/package.json +42 -0
  191. package/node_modules/is-stream/readme.md +60 -0
  192. package/node_modules/js-yaml/README.md +4 -20
  193. package/node_modules/js-yaml/bin/js-yaml.js +53 -62
  194. package/node_modules/js-yaml/dist/js-yaml.js +2404 -3880
  195. package/node_modules/js-yaml/dist/js-yaml.js.map +1 -0
  196. package/node_modules/js-yaml/dist/js-yaml.min.js +33 -2
  197. package/node_modules/js-yaml/dist/js-yaml.min.js.map +1 -0
  198. package/node_modules/js-yaml/dist/js-yaml.mjs +2381 -3855
  199. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -0
  200. package/node_modules/js-yaml/index.js +32 -35
  201. package/node_modules/js-yaml/lib/common.js +28 -37
  202. package/node_modules/js-yaml/lib/dumper.js +450 -478
  203. package/node_modules/js-yaml/lib/exception.js +23 -27
  204. package/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +37 -0
  205. package/node_modules/js-yaml/lib/loader.js +927 -866
  206. package/node_modules/js-yaml/lib/schema/core.js +2 -4
  207. package/node_modules/js-yaml/lib/schema/default.js +2 -4
  208. package/node_modules/js-yaml/lib/schema/failsafe.js +3 -6
  209. package/node_modules/js-yaml/lib/schema/json.js +2 -4
  210. package/node_modules/js-yaml/lib/schema.js +56 -68
  211. package/node_modules/js-yaml/lib/snippet.js +47 -52
  212. package/node_modules/js-yaml/lib/type/binary.js +61 -64
  213. package/node_modules/js-yaml/lib/type/bool.js +14 -14
  214. package/node_modules/js-yaml/lib/type/float.js +47 -45
  215. package/node_modules/js-yaml/lib/type/int.js +65 -79
  216. package/node_modules/js-yaml/lib/type/map.js +4 -4
  217. package/node_modules/js-yaml/lib/type/merge.js +5 -5
  218. package/node_modules/js-yaml/lib/type/null.js +16 -16
  219. package/node_modules/js-yaml/lib/type/omap.js +22 -21
  220. package/node_modules/js-yaml/lib/type/pairs.js +24 -27
  221. package/node_modules/js-yaml/lib/type/seq.js +4 -4
  222. package/node_modules/js-yaml/lib/type/set.js +12 -12
  223. package/node_modules/js-yaml/lib/type/str.js +4 -4
  224. package/node_modules/js-yaml/lib/type/timestamp.js +53 -53
  225. package/node_modules/js-yaml/lib/type.js +30 -30
  226. package/node_modules/js-yaml/package.json +32 -21
  227. package/node_modules/{nice-try → merge-stream}/LICENSE +1 -1
  228. package/node_modules/merge-stream/README.md +78 -0
  229. package/node_modules/merge-stream/index.js +41 -0
  230. package/node_modules/merge-stream/package.json +19 -0
  231. package/node_modules/mimic-fn/index.d.ts +54 -0
  232. package/node_modules/mimic-fn/index.js +13 -0
  233. package/node_modules/mimic-fn/package.json +42 -0
  234. package/node_modules/mimic-fn/readme.md +69 -0
  235. package/node_modules/npm-run-path/index.d.ts +89 -0
  236. package/node_modules/npm-run-path/index.js +47 -0
  237. package/node_modules/npm-run-path/package.json +44 -0
  238. package/node_modules/{shelljs/node_modules/npm-run-path → npm-run-path}/readme.md +39 -5
  239. package/node_modules/onetime/index.d.ts +64 -0
  240. package/node_modules/onetime/index.js +44 -0
  241. package/node_modules/onetime/license +9 -0
  242. package/node_modules/onetime/package.json +43 -0
  243. package/node_modules/onetime/readme.md +94 -0
  244. package/node_modules/path-key/index.d.ts +40 -0
  245. package/node_modules/path-key/index.js +16 -0
  246. package/node_modules/path-key/license +9 -0
  247. package/node_modules/path-key/package.json +39 -0
  248. package/node_modules/{shelljs/node_modules/path-key → path-key}/readme.md +15 -5
  249. package/node_modules/semver/classes/range.js +9 -0
  250. package/node_modules/semver/package.json +1 -1
  251. package/node_modules/shebang-command/index.js +19 -0
  252. package/node_modules/shebang-command/license +9 -0
  253. package/node_modules/shebang-command/package.json +34 -0
  254. package/node_modules/{shelljs/node_modules/shebang-command → shebang-command}/readme.md +1 -6
  255. package/node_modules/shebang-regex/index.d.ts +22 -0
  256. package/node_modules/shebang-regex/index.js +2 -0
  257. package/node_modules/shebang-regex/license +9 -0
  258. package/node_modules/shebang-regex/package.json +35 -0
  259. package/node_modules/shebang-regex/readme.md +33 -0
  260. package/node_modules/shelljs/README.md +7 -1
  261. package/node_modules/shelljs/global.js +4 -1
  262. package/node_modules/shelljs/package.json +8 -13
  263. package/node_modules/shelljs/shell.js +9 -7
  264. package/node_modules/shelljs/src/cat.js +1 -1
  265. package/node_modules/shelljs/src/chmod.js +1 -1
  266. package/node_modules/shelljs/src/cmd.js +25 -9
  267. package/node_modules/shelljs/src/common.js +11 -8
  268. package/node_modules/shelljs/src/dirs.js +1 -1
  269. package/node_modules/shelljs/src/exec.js +6 -6
  270. package/node_modules/shelljs/src/grep.js +121 -7
  271. package/node_modules/shelljs/src/head.js +1 -1
  272. package/node_modules/shelljs/src/ls.js +1 -1
  273. package/node_modules/shelljs/src/mkdir.js +1 -1
  274. package/node_modules/shelljs/src/rm.js +1 -1
  275. package/node_modules/shelljs/src/sed.js +1 -1
  276. package/node_modules/shelljs/src/sort.js +1 -1
  277. package/node_modules/shelljs/src/tail.js +1 -1
  278. package/node_modules/shelljs/src/tempdir.js +1 -1
  279. package/node_modules/shelljs/src/test.js +1 -1
  280. package/node_modules/shelljs/src/to.js +1 -1
  281. package/node_modules/shelljs/src/toEnd.js +1 -1
  282. package/node_modules/shelljs/src/touch.js +1 -1
  283. package/node_modules/shelljs/src/uniq.js +1 -1
  284. package/node_modules/shelljs/src/which.js +1 -1
  285. package/node_modules/strip-final-newline/index.js +16 -0
  286. package/node_modules/strip-final-newline/license +9 -0
  287. package/node_modules/strip-final-newline/package.json +40 -0
  288. package/node_modules/strip-final-newline/readme.md +30 -0
  289. package/node_modules/{shelljs/node_modules/which → which}/README.md +3 -0
  290. package/node_modules/which/package.json +43 -0
  291. package/node_modules/which/which.js +125 -0
  292. package/package.json +4 -1
  293. package/node_modules/end-of-stream/LICENSE +0 -21
  294. package/node_modules/end-of-stream/README.md +0 -54
  295. package/node_modules/end-of-stream/index.js +0 -96
  296. package/node_modules/end-of-stream/package.json +0 -37
  297. package/node_modules/fastq/.github/dependabot.yml +0 -11
  298. package/node_modules/fastq/.github/workflows/ci.yml +0 -75
  299. package/node_modules/function-bind/.eslintrc +0 -21
  300. package/node_modules/function-bind/.github/FUNDING.yml +0 -12
  301. package/node_modules/function-bind/.github/SECURITY.md +0 -3
  302. package/node_modules/function-bind/.nycrc +0 -13
  303. package/node_modules/function-bind/CHANGELOG.md +0 -136
  304. package/node_modules/function-bind/LICENSE +0 -20
  305. package/node_modules/function-bind/README.md +0 -46
  306. package/node_modules/function-bind/implementation.js +0 -84
  307. package/node_modules/function-bind/index.js +0 -5
  308. package/node_modules/function-bind/package.json +0 -87
  309. package/node_modules/function-bind/test/.eslintrc +0 -9
  310. package/node_modules/function-bind/test/index.js +0 -252
  311. package/node_modules/hasown/.eslintrc +0 -5
  312. package/node_modules/hasown/.github/FUNDING.yml +0 -12
  313. package/node_modules/hasown/.nycrc +0 -13
  314. package/node_modules/hasown/CHANGELOG.md +0 -40
  315. package/node_modules/hasown/LICENSE +0 -21
  316. package/node_modules/hasown/README.md +0 -40
  317. package/node_modules/hasown/index.d.ts +0 -3
  318. package/node_modules/hasown/index.js +0 -8
  319. package/node_modules/hasown/package.json +0 -92
  320. package/node_modules/hasown/tsconfig.json +0 -6
  321. package/node_modules/interpret/LICENSE +0 -22
  322. package/node_modules/interpret/README.md +0 -187
  323. package/node_modules/interpret/index.js +0 -168
  324. package/node_modules/interpret/mjs-stub.js +0 -1
  325. package/node_modules/interpret/package.json +0 -75
  326. package/node_modules/is-core-module/.eslintrc +0 -18
  327. package/node_modules/is-core-module/.nycrc +0 -9
  328. package/node_modules/is-core-module/CHANGELOG.md +0 -218
  329. package/node_modules/is-core-module/LICENSE +0 -20
  330. package/node_modules/is-core-module/README.md +0 -40
  331. package/node_modules/is-core-module/core.json +0 -162
  332. package/node_modules/is-core-module/index.js +0 -69
  333. package/node_modules/is-core-module/package.json +0 -76
  334. package/node_modules/is-core-module/test/index.js +0 -157
  335. package/node_modules/nice-try/README.md +0 -32
  336. package/node_modules/nice-try/package.json +0 -33
  337. package/node_modules/nice-try/src/index.js +0 -12
  338. package/node_modules/once/README.md +0 -79
  339. package/node_modules/once/once.js +0 -42
  340. package/node_modules/once/package.json +0 -33
  341. package/node_modules/p-finally/index.js +0 -15
  342. package/node_modules/p-finally/license +0 -21
  343. package/node_modules/p-finally/package.json +0 -42
  344. package/node_modules/p-finally/readme.md +0 -47
  345. package/node_modules/path-parse/LICENSE +0 -21
  346. package/node_modules/path-parse/README.md +0 -42
  347. package/node_modules/path-parse/index.js +0 -75
  348. package/node_modules/path-parse/package.json +0 -33
  349. package/node_modules/pump/.github/FUNDING.yml +0 -2
  350. package/node_modules/pump/.travis.yml +0 -5
  351. package/node_modules/pump/LICENSE +0 -21
  352. package/node_modules/pump/README.md +0 -74
  353. package/node_modules/pump/SECURITY.md +0 -5
  354. package/node_modules/pump/index.js +0 -86
  355. package/node_modules/pump/package.json +0 -24
  356. package/node_modules/pump/test-browser.js +0 -66
  357. package/node_modules/pump/test-node.js +0 -53
  358. package/node_modules/rechoir/.npmignore +0 -1
  359. package/node_modules/rechoir/.travis.yml +0 -24
  360. package/node_modules/rechoir/CHANGELOG +0 -38
  361. package/node_modules/rechoir/LICENSE +0 -22
  362. package/node_modules/rechoir/README.md +0 -42
  363. package/node_modules/rechoir/index.js +0 -59
  364. package/node_modules/rechoir/lib/extension.js +0 -11
  365. package/node_modules/rechoir/lib/normalize.js +0 -15
  366. package/node_modules/rechoir/lib/register.js +0 -15
  367. package/node_modules/rechoir/package.json +0 -88
  368. package/node_modules/resolve/.editorconfig +0 -37
  369. package/node_modules/resolve/.eslintrc +0 -65
  370. package/node_modules/resolve/.github/FUNDING.yml +0 -12
  371. package/node_modules/resolve/.github/INCIDENT_RESPONSE_PROCESS.md +0 -119
  372. package/node_modules/resolve/.github/THREAT_MODEL.md +0 -74
  373. package/node_modules/resolve/LICENSE +0 -21
  374. package/node_modules/resolve/SECURITY.md +0 -11
  375. package/node_modules/resolve/async.js +0 -3
  376. package/node_modules/resolve/bin/resolve +0 -50
  377. package/node_modules/resolve/example/async.js +0 -5
  378. package/node_modules/resolve/example/sync.js +0 -3
  379. package/node_modules/resolve/index.js +0 -6
  380. package/node_modules/resolve/lib/async.js +0 -333
  381. package/node_modules/resolve/lib/caller.js +0 -8
  382. package/node_modules/resolve/lib/core.js +0 -12
  383. package/node_modules/resolve/lib/core.json +0 -162
  384. package/node_modules/resolve/lib/homedir.js +0 -24
  385. package/node_modules/resolve/lib/is-core.js +0 -5
  386. package/node_modules/resolve/lib/node-modules-paths.js +0 -45
  387. package/node_modules/resolve/lib/normalize-options.js +0 -10
  388. package/node_modules/resolve/lib/sync.js +0 -212
  389. package/node_modules/resolve/package.json +0 -75
  390. package/node_modules/resolve/readme.markdown +0 -301
  391. package/node_modules/resolve/sync.js +0 -3
  392. package/node_modules/resolve/test/core.js +0 -88
  393. package/node_modules/resolve/test/dotdot/abc/index.js +0 -2
  394. package/node_modules/resolve/test/dotdot/index.js +0 -1
  395. package/node_modules/resolve/test/dotdot.js +0 -29
  396. package/node_modules/resolve/test/faulty_basedir.js +0 -29
  397. package/node_modules/resolve/test/filter.js +0 -34
  398. package/node_modules/resolve/test/filter_sync.js +0 -33
  399. package/node_modules/resolve/test/home_paths.js +0 -127
  400. package/node_modules/resolve/test/home_paths_sync.js +0 -114
  401. package/node_modules/resolve/test/mock.js +0 -315
  402. package/node_modules/resolve/test/mock_sync.js +0 -214
  403. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +0 -1
  404. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +0 -1
  405. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +0 -1
  406. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +0 -3
  407. package/node_modules/resolve/test/module_dir.js +0 -56
  408. package/node_modules/resolve/test/node-modules-paths.js +0 -143
  409. package/node_modules/resolve/test/node_path/x/aaa/index.js +0 -1
  410. package/node_modules/resolve/test/node_path/x/ccc/index.js +0 -1
  411. package/node_modules/resolve/test/node_path/y/bbb/index.js +0 -1
  412. package/node_modules/resolve/test/node_path/y/ccc/index.js +0 -1
  413. package/node_modules/resolve/test/node_path.js +0 -70
  414. package/node_modules/resolve/test/nonstring.js +0 -9
  415. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  416. package/node_modules/resolve/test/pathfilter.js +0 -75
  417. package/node_modules/resolve/test/precedence/aaa/index.js +0 -1
  418. package/node_modules/resolve/test/precedence/aaa/main.js +0 -1
  419. package/node_modules/resolve/test/precedence/aaa.js +0 -1
  420. package/node_modules/resolve/test/precedence/bbb/main.js +0 -1
  421. package/node_modules/resolve/test/precedence/bbb.js +0 -1
  422. package/node_modules/resolve/test/precedence.js +0 -23
  423. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  424. package/node_modules/resolve/test/resolver/baz/package.json +0 -4
  425. package/node_modules/resolve/test/resolver/baz/quux.js +0 -1
  426. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  427. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  428. package/node_modules/resolve/test/resolver/browser_field/package.json +0 -5
  429. package/node_modules/resolve/test/resolver/cup.coffee +0 -1
  430. package/node_modules/resolve/test/resolver/dot_main/index.js +0 -1
  431. package/node_modules/resolve/test/resolver/dot_main/package.json +0 -3
  432. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +0 -1
  433. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +0 -3
  434. package/node_modules/resolve/test/resolver/false_main/index.js +0 -0
  435. package/node_modules/resolve/test/resolver/false_main/package.json +0 -4
  436. package/node_modules/resolve/test/resolver/foo.js +0 -1
  437. package/node_modules/resolve/test/resolver/incorrect_main/index.js +0 -2
  438. package/node_modules/resolve/test/resolver/incorrect_main/package.json +0 -3
  439. package/node_modules/resolve/test/resolver/invalid_main/package.json +0 -7
  440. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  441. package/node_modules/resolve/test/resolver/mug.js +0 -0
  442. package/node_modules/resolve/test/resolver/multirepo/lerna.json +0 -6
  443. package/node_modules/resolve/test/resolver/multirepo/package.json +0 -20
  444. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +0 -35
  445. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +0 -14
  446. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  447. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +0 -14
  448. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +0 -26
  449. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +0 -15
  450. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +0 -12
  451. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  452. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  453. package/node_modules/resolve/test/resolver/quux/foo/index.js +0 -1
  454. package/node_modules/resolve/test/resolver/same_names/foo/index.js +0 -1
  455. package/node_modules/resolve/test/resolver/same_names/foo.js +0 -1
  456. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  457. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  458. package/node_modules/resolve/test/resolver/symlinked/package/bar.js +0 -1
  459. package/node_modules/resolve/test/resolver/symlinked/package/package.json +0 -3
  460. package/node_modules/resolve/test/resolver/without_basedir/main.js +0 -5
  461. package/node_modules/resolve/test/resolver.js +0 -597
  462. package/node_modules/resolve/test/resolver_sync.js +0 -730
  463. package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  464. package/node_modules/resolve/test/shadowed_core.js +0 -54
  465. package/node_modules/resolve/test/subdirs.js +0 -13
  466. package/node_modules/resolve/test/symlinks.js +0 -176
  467. package/node_modules/shelljs/bin/shjs +0 -48
  468. package/node_modules/shelljs/node_modules/execa/index.js +0 -361
  469. package/node_modules/shelljs/node_modules/execa/lib/errname.js +0 -39
  470. package/node_modules/shelljs/node_modules/execa/lib/stdio.js +0 -41
  471. package/node_modules/shelljs/node_modules/execa/package.json +0 -69
  472. package/node_modules/shelljs/node_modules/execa/readme.md +0 -327
  473. package/node_modules/shelljs/node_modules/get-stream/buffer-stream.js +0 -51
  474. package/node_modules/shelljs/node_modules/get-stream/index.js +0 -50
  475. package/node_modules/shelljs/node_modules/is-stream/index.js +0 -21
  476. package/node_modules/shelljs/node_modules/is-stream/license +0 -21
  477. package/node_modules/shelljs/node_modules/is-stream/package.json +0 -38
  478. package/node_modules/shelljs/node_modules/is-stream/readme.md +0 -42
  479. package/node_modules/shelljs/node_modules/npm-run-path/index.js +0 -39
  480. package/node_modules/shelljs/node_modules/npm-run-path/license +0 -21
  481. package/node_modules/shelljs/node_modules/npm-run-path/package.json +0 -45
  482. package/node_modules/shelljs/node_modules/path-key/index.js +0 -13
  483. package/node_modules/shelljs/node_modules/path-key/license +0 -21
  484. package/node_modules/shelljs/node_modules/path-key/package.json +0 -39
  485. package/node_modules/shelljs/node_modules/semver/LICENSE +0 -15
  486. package/node_modules/shelljs/node_modules/semver/README.md +0 -412
  487. package/node_modules/shelljs/node_modules/semver/bin/semver +0 -160
  488. package/node_modules/shelljs/node_modules/semver/package.json +0 -38
  489. package/node_modules/shelljs/node_modules/semver/range.bnf +0 -16
  490. package/node_modules/shelljs/node_modules/semver/semver.js +0 -1525
  491. package/node_modules/shelljs/node_modules/shebang-command/index.js +0 -19
  492. package/node_modules/shelljs/node_modules/shebang-command/license +0 -21
  493. package/node_modules/shelljs/node_modules/shebang-command/package.json +0 -39
  494. package/node_modules/shelljs/node_modules/shebang-regex/index.js +0 -2
  495. package/node_modules/shelljs/node_modules/shebang-regex/license +0 -21
  496. package/node_modules/shelljs/node_modules/shebang-regex/package.json +0 -32
  497. package/node_modules/shelljs/node_modules/shebang-regex/readme.md +0 -29
  498. package/node_modules/shelljs/node_modules/which/LICENSE +0 -15
  499. package/node_modules/shelljs/node_modules/which/package.json +0 -30
  500. package/node_modules/shelljs/node_modules/which/which.js +0 -135
  501. package/node_modules/strip-eof/index.js +0 -15
  502. package/node_modules/strip-eof/license +0 -21
  503. package/node_modules/strip-eof/package.json +0 -39
  504. package/node_modules/strip-eof/readme.md +0 -28
  505. package/node_modules/supports-preserve-symlinks-flag/.eslintrc +0 -14
  506. package/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +0 -12
  507. package/node_modules/supports-preserve-symlinks-flag/.nycrc +0 -9
  508. package/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +0 -22
  509. package/node_modules/supports-preserve-symlinks-flag/LICENSE +0 -21
  510. package/node_modules/supports-preserve-symlinks-flag/README.md +0 -42
  511. package/node_modules/supports-preserve-symlinks-flag/browser.js +0 -3
  512. package/node_modules/supports-preserve-symlinks-flag/index.js +0 -9
  513. package/node_modules/supports-preserve-symlinks-flag/package.json +0 -70
  514. package/node_modules/supports-preserve-symlinks-flag/test/index.js +0 -29
  515. package/node_modules/wrappy/LICENSE +0 -15
  516. package/node_modules/wrappy/README.md +0 -36
  517. package/node_modules/wrappy/package.json +0 -29
  518. package/node_modules/wrappy/wrappy.js +0 -33
  519. /package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/LICENSE +0 -0
  520. /package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/index.js +0 -0
  521. /package/node_modules/{shelljs/node_modules/cross-spawn → cross-spawn}/lib/util/escape.js +0 -0
  522. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/LICENSE +0 -0
  523. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/README.md +0 -0
  524. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/index.js +0 -0
  525. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/lib/constants.js +0 -0
  526. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/lib/parse.js +0 -0
  527. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/lib/picomatch.js +0 -0
  528. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/lib/scan.js +0 -0
  529. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/lib/utils.js +0 -0
  530. /package/node_modules/{picomatch → micromatch/node_modules/picomatch}/package.json +0 -0
  531. /package/node_modules/{shelljs/node_modules/execa → mimic-fn}/license +0 -0
  532. /package/node_modules/{shelljs/node_modules/get-stream → npm-run-path}/license +0 -0
  533. /package/node_modules/{once → which}/LICENSE +0 -0
  534. /package/node_modules/{shelljs/node_modules/which/bin/which → which/bin/node-which} +0 -0
@@ -1,54 +0,0 @@
1
- var test = require('tape');
2
- var resolve = require('../');
3
- var path = require('path');
4
-
5
- test('shadowed core modules still return core module', function (t) {
6
- t.plan(2);
7
-
8
- resolve('util', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) {
9
- t.ifError(err);
10
- t.equal(res, 'util');
11
- });
12
- });
13
-
14
- test('shadowed core modules still return core module [sync]', function (t) {
15
- t.plan(1);
16
-
17
- var res = resolve.sync('util', { basedir: path.join(__dirname, 'shadowed_core') });
18
-
19
- t.equal(res, 'util');
20
- });
21
-
22
- test('shadowed core modules return shadow when appending `/`', function (t) {
23
- t.plan(2);
24
-
25
- resolve('util/', { basedir: path.join(__dirname, 'shadowed_core') }, function (err, res) {
26
- t.ifError(err);
27
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
28
- });
29
- });
30
-
31
- test('shadowed core modules return shadow when appending `/` [sync]', function (t) {
32
- t.plan(1);
33
-
34
- var res = resolve.sync('util/', { basedir: path.join(__dirname, 'shadowed_core') });
35
-
36
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
37
- });
38
-
39
- test('shadowed core modules return shadow with `includeCoreModules: false`', function (t) {
40
- t.plan(2);
41
-
42
- resolve('util', { basedir: path.join(__dirname, 'shadowed_core'), includeCoreModules: false }, function (err, res) {
43
- t.ifError(err);
44
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
45
- });
46
- });
47
-
48
- test('shadowed core modules return shadow with `includeCoreModules: false` [sync]', function (t) {
49
- t.plan(1);
50
-
51
- var res = resolve.sync('util', { basedir: path.join(__dirname, 'shadowed_core'), includeCoreModules: false });
52
-
53
- t.equal(res, path.join(__dirname, 'shadowed_core/node_modules/util/index.js'));
54
- });
@@ -1,13 +0,0 @@
1
- var test = require('tape');
2
- var resolve = require('../');
3
- var path = require('path');
4
-
5
- test('subdirs', function (t) {
6
- t.plan(2);
7
-
8
- var dir = path.join(__dirname, '/subdirs');
9
- resolve('a/b/c/x.json', { basedir: dir }, function (err, res) {
10
- t.ifError(err);
11
- t.equal(res, path.join(dir, 'node_modules/a/b/c/x.json'));
12
- });
13
- });
@@ -1,176 +0,0 @@
1
- var path = require('path');
2
- var fs = require('fs');
3
- var test = require('tape');
4
- var map = require('array.prototype.map');
5
- var resolve = require('../');
6
-
7
- var symlinkDir = path.join(__dirname, 'resolver', 'symlinked', 'symlink');
8
- var packageDir = path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'package');
9
- var modADir = path.join(__dirname, 'symlinks', 'source', 'node_modules', 'mod-a');
10
- var symlinkModADir = path.join(__dirname, 'symlinks', 'dest', 'node_modules', 'mod-a');
11
- try {
12
- fs.unlinkSync(symlinkDir);
13
- } catch (err) {}
14
- try {
15
- fs.unlinkSync(packageDir);
16
- } catch (err) {}
17
- try {
18
- fs.unlinkSync(modADir);
19
- } catch (err) {}
20
- try {
21
- fs.unlinkSync(symlinkModADir);
22
- } catch (err) {}
23
-
24
- try {
25
- fs.symlinkSync('./_/symlink_target', symlinkDir, 'dir');
26
- } catch (err) {
27
- // if fails then it is probably on Windows and lets try to create a junction
28
- fs.symlinkSync(path.join(__dirname, 'resolver', 'symlinked', '_', 'symlink_target') + '\\', symlinkDir, 'junction');
29
- }
30
- try {
31
- fs.symlinkSync('../../package', packageDir, 'dir');
32
- } catch (err) {
33
- // if fails then it is probably on Windows and lets try to create a junction
34
- fs.symlinkSync(path.join(__dirname, '..', '..', 'package') + '\\', packageDir, 'junction');
35
- }
36
- try {
37
- fs.symlinkSync('../../source/node_modules/mod-a', symlinkModADir, 'dir');
38
- } catch (err) {
39
- // if fails then it is probably on Windows and lets try to create a junction
40
- fs.symlinkSync(path.join(__dirname, '..', '..', 'source', 'node_modules', 'mod-a') + '\\', symlinkModADir, 'junction');
41
- }
42
-
43
- test('symlink', function (t) {
44
- t.plan(2);
45
-
46
- resolve('foo', { basedir: symlinkDir, preserveSymlinks: false }, function (err, res, pkg) {
47
- t.error(err);
48
- t.equal(res, path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js'));
49
- });
50
- });
51
-
52
- test('sync symlink when preserveSymlinks = true', function (t) {
53
- t.plan(4);
54
-
55
- resolve('foo', { basedir: symlinkDir }, function (err, res, pkg) {
56
- t.ok(err, 'there is an error');
57
- t.notOk(res, 'no result');
58
-
59
- t.equal(err && err.code, 'MODULE_NOT_FOUND', 'error code matches require.resolve');
60
- t.equal(
61
- err && err.message,
62
- 'Cannot find module \'foo\' from \'' + symlinkDir + '\'',
63
- 'can not find nonexistent module'
64
- );
65
- });
66
- });
67
-
68
- test('sync symlink', function (t) {
69
- var start = new Date();
70
- t.doesNotThrow(function () {
71
- t.equal(
72
- resolve.sync('foo', { basedir: symlinkDir, preserveSymlinks: false }),
73
- path.join(__dirname, 'resolver', 'symlinked', '_', 'node_modules', 'foo.js')
74
- );
75
- });
76
- t.ok(new Date() - start < 50, 'resolve.sync timedout');
77
- t.end();
78
- });
79
-
80
- test('sync symlink when preserveSymlinks = true', function (t) {
81
- t.throws(function () {
82
- resolve.sync('foo', { basedir: symlinkDir });
83
- }, /Cannot find module 'foo'/);
84
- t.end();
85
- });
86
-
87
- test('sync symlink from node_modules to other dir when preserveSymlinks = false', function (t) {
88
- var basedir = path.join(__dirname, 'resolver', 'symlinked', '_');
89
- var fn = resolve.sync('package', { basedir: basedir, preserveSymlinks: false });
90
-
91
- t.equal(fn, path.resolve(__dirname, 'resolver/symlinked/package/bar.js'));
92
- t.end();
93
- });
94
-
95
- test('async symlink from node_modules to other dir when preserveSymlinks = false', function (t) {
96
- t.plan(2);
97
- var basedir = path.join(__dirname, 'resolver', 'symlinked', '_');
98
- resolve('package', { basedir: basedir, preserveSymlinks: false }, function (err, result) {
99
- t.notOk(err, 'no error');
100
- t.equal(result, path.resolve(__dirname, 'resolver/symlinked/package/bar.js'));
101
- });
102
- });
103
-
104
- test('packageFilter', function (t) {
105
- function relative(x) {
106
- return path.relative(__dirname, x);
107
- }
108
-
109
- function testPackageFilter(preserveSymlinks) {
110
- return function (st) {
111
- st.plan('is 1.x' ? 3 : 5); // eslint-disable-line no-constant-condition
112
-
113
- var destMain = 'symlinks/dest/node_modules/mod-a/index.js';
114
- var destPkg = 'symlinks/dest/node_modules/mod-a/package.json';
115
- var sourceMain = 'symlinks/source/node_modules/mod-a/index.js';
116
- var sourcePkg = 'symlinks/source/node_modules/mod-a/package.json';
117
- var destDir = path.join(__dirname, 'symlinks', 'dest');
118
-
119
- /* eslint multiline-comment-style: 0 */
120
- /* v2.x will restore these tests
121
- var packageFilterPath = [];
122
- var actualPath = resolve.sync('mod-a', {
123
- basedir: destDir,
124
- preserveSymlinks: preserveSymlinks,
125
- packageFilter: function (pkg, pkgfile, dir) {
126
- packageFilterPath.push(pkgfile);
127
- }
128
- });
129
- st.equal(
130
- relative(actualPath),
131
- path.normalize(preserveSymlinks ? destMain : sourceMain),
132
- 'sync: actual path is correct'
133
- );
134
- st.deepEqual(
135
- map(packageFilterPath, relative),
136
- map(preserveSymlinks ? [destPkg, destPkg] : [sourcePkg, sourcePkg], path.normalize),
137
- 'sync: packageFilter pkgfile arg is correct'
138
- );
139
- */
140
-
141
- var asyncPackageFilterPath = [];
142
- resolve(
143
- 'mod-a',
144
- {
145
- basedir: destDir,
146
- preserveSymlinks: preserveSymlinks,
147
- packageFilter: function (pkg, pkgfile) {
148
- asyncPackageFilterPath.push(pkgfile);
149
- }
150
- },
151
- function (err, actualPath) {
152
- st.error(err, 'no error');
153
- st.equal(
154
- relative(actualPath),
155
- path.normalize(preserveSymlinks ? destMain : sourceMain),
156
- 'async: actual path is correct'
157
- );
158
- st.deepEqual(
159
- map(asyncPackageFilterPath, relative),
160
- map(
161
- preserveSymlinks ? [destPkg, destPkg, destPkg] : [sourcePkg, sourcePkg, sourcePkg],
162
- path.normalize
163
- ),
164
- 'async: packageFilter pkgfile arg is correct'
165
- );
166
- }
167
- );
168
- };
169
- }
170
-
171
- t.test('preserveSymlinks: false', testPackageFilter(false));
172
-
173
- t.test('preserveSymlinks: true', testPackageFilter(true));
174
-
175
- t.end();
176
- });
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- if (require.main !== module) {
4
- throw new Error('Executable-only module should not be required');
5
- }
6
-
7
- // we must import global ShellJS methods after the require.main check to prevent the global
8
- // namespace from being polluted if the error is caught
9
- require('../global');
10
-
11
- function exitWithErrorMessage(msg) {
12
- console.log(msg);
13
- console.log();
14
- process.exit(1);
15
- }
16
-
17
- if (process.argv.length < 3) {
18
- exitWithErrorMessage('ShellJS: missing argument (script name)');
19
- }
20
-
21
- var args,
22
- scriptName = process.argv[2];
23
- env['NODE_PATH'] = __dirname + '/../..';
24
-
25
- if (!scriptName.match(/\.js/) && !scriptName.match(/\.coffee/)) {
26
- if (test('-f', scriptName + '.js'))
27
- scriptName += '.js';
28
- if (test('-f', scriptName + '.coffee'))
29
- scriptName += '.coffee';
30
- }
31
-
32
- if (!test('-f', scriptName)) {
33
- exitWithErrorMessage('ShellJS: script not found ('+scriptName+')');
34
- }
35
-
36
- args = process.argv.slice(3);
37
-
38
- for (var i = 0, l = args.length; i < l; i++) {
39
- if (args[i][0] !== "-"){
40
- args[i] = '"' + args[i] + '"'; // fixes arguments with multiple words
41
- }
42
- }
43
-
44
- var path = require('path');
45
- var extensions = require('interpret').extensions;
46
- var rechoir = require('rechoir');
47
- rechoir.prepare(extensions, scriptName);
48
- require(require.resolve(path.resolve(process.cwd(), scriptName)));
@@ -1,361 +0,0 @@
1
- 'use strict';
2
- const path = require('path');
3
- const childProcess = require('child_process');
4
- const crossSpawn = require('cross-spawn');
5
- const stripEof = require('strip-eof');
6
- const npmRunPath = require('npm-run-path');
7
- const isStream = require('is-stream');
8
- const _getStream = require('get-stream');
9
- const pFinally = require('p-finally');
10
- const onExit = require('signal-exit');
11
- const errname = require('./lib/errname');
12
- const stdio = require('./lib/stdio');
13
-
14
- const TEN_MEGABYTES = 1000 * 1000 * 10;
15
-
16
- function handleArgs(cmd, args, opts) {
17
- let parsed;
18
-
19
- opts = Object.assign({
20
- extendEnv: true,
21
- env: {}
22
- }, opts);
23
-
24
- if (opts.extendEnv) {
25
- opts.env = Object.assign({}, process.env, opts.env);
26
- }
27
-
28
- if (opts.__winShell === true) {
29
- delete opts.__winShell;
30
- parsed = {
31
- command: cmd,
32
- args,
33
- options: opts,
34
- file: cmd,
35
- original: {
36
- cmd,
37
- args
38
- }
39
- };
40
- } else {
41
- parsed = crossSpawn._parse(cmd, args, opts);
42
- }
43
-
44
- opts = Object.assign({
45
- maxBuffer: TEN_MEGABYTES,
46
- buffer: true,
47
- stripEof: true,
48
- preferLocal: true,
49
- localDir: parsed.options.cwd || process.cwd(),
50
- encoding: 'utf8',
51
- reject: true,
52
- cleanup: true
53
- }, parsed.options);
54
-
55
- opts.stdio = stdio(opts);
56
-
57
- if (opts.preferLocal) {
58
- opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir}));
59
- }
60
-
61
- if (opts.detached) {
62
- // #115
63
- opts.cleanup = false;
64
- }
65
-
66
- if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') {
67
- // #116
68
- parsed.args.unshift('/q');
69
- }
70
-
71
- return {
72
- cmd: parsed.command,
73
- args: parsed.args,
74
- opts,
75
- parsed
76
- };
77
- }
78
-
79
- function handleInput(spawned, input) {
80
- if (input === null || input === undefined) {
81
- return;
82
- }
83
-
84
- if (isStream(input)) {
85
- input.pipe(spawned.stdin);
86
- } else {
87
- spawned.stdin.end(input);
88
- }
89
- }
90
-
91
- function handleOutput(opts, val) {
92
- if (val && opts.stripEof) {
93
- val = stripEof(val);
94
- }
95
-
96
- return val;
97
- }
98
-
99
- function handleShell(fn, cmd, opts) {
100
- let file = '/bin/sh';
101
- let args = ['-c', cmd];
102
-
103
- opts = Object.assign({}, opts);
104
-
105
- if (process.platform === 'win32') {
106
- opts.__winShell = true;
107
- file = process.env.comspec || 'cmd.exe';
108
- args = ['/s', '/c', `"${cmd}"`];
109
- opts.windowsVerbatimArguments = true;
110
- }
111
-
112
- if (opts.shell) {
113
- file = opts.shell;
114
- delete opts.shell;
115
- }
116
-
117
- return fn(file, args, opts);
118
- }
119
-
120
- function getStream(process, stream, {encoding, buffer, maxBuffer}) {
121
- if (!process[stream]) {
122
- return null;
123
- }
124
-
125
- let ret;
126
-
127
- if (!buffer) {
128
- // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10
129
- ret = new Promise((resolve, reject) => {
130
- process[stream]
131
- .once('end', resolve)
132
- .once('error', reject);
133
- });
134
- } else if (encoding) {
135
- ret = _getStream(process[stream], {
136
- encoding,
137
- maxBuffer
138
- });
139
- } else {
140
- ret = _getStream.buffer(process[stream], {maxBuffer});
141
- }
142
-
143
- return ret.catch(err => {
144
- err.stream = stream;
145
- err.message = `${stream} ${err.message}`;
146
- throw err;
147
- });
148
- }
149
-
150
- function makeError(result, options) {
151
- const {stdout, stderr} = result;
152
-
153
- let err = result.error;
154
- const {code, signal} = result;
155
-
156
- const {parsed, joinedCmd} = options;
157
- const timedOut = options.timedOut || false;
158
-
159
- if (!err) {
160
- let output = '';
161
-
162
- if (Array.isArray(parsed.opts.stdio)) {
163
- if (parsed.opts.stdio[2] !== 'inherit') {
164
- output += output.length > 0 ? stderr : `\n${stderr}`;
165
- }
166
-
167
- if (parsed.opts.stdio[1] !== 'inherit') {
168
- output += `\n${stdout}`;
169
- }
170
- } else if (parsed.opts.stdio !== 'inherit') {
171
- output = `\n${stderr}${stdout}`;
172
- }
173
-
174
- err = new Error(`Command failed: ${joinedCmd}${output}`);
175
- err.code = code < 0 ? errname(code) : code;
176
- }
177
-
178
- err.stdout = stdout;
179
- err.stderr = stderr;
180
- err.failed = true;
181
- err.signal = signal || null;
182
- err.cmd = joinedCmd;
183
- err.timedOut = timedOut;
184
-
185
- return err;
186
- }
187
-
188
- function joinCmd(cmd, args) {
189
- let joinedCmd = cmd;
190
-
191
- if (Array.isArray(args) && args.length > 0) {
192
- joinedCmd += ' ' + args.join(' ');
193
- }
194
-
195
- return joinedCmd;
196
- }
197
-
198
- module.exports = (cmd, args, opts) => {
199
- const parsed = handleArgs(cmd, args, opts);
200
- const {encoding, buffer, maxBuffer} = parsed.opts;
201
- const joinedCmd = joinCmd(cmd, args);
202
-
203
- let spawned;
204
- try {
205
- spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);
206
- } catch (err) {
207
- return Promise.reject(err);
208
- }
209
-
210
- let removeExitHandler;
211
- if (parsed.opts.cleanup) {
212
- removeExitHandler = onExit(() => {
213
- spawned.kill();
214
- });
215
- }
216
-
217
- let timeoutId = null;
218
- let timedOut = false;
219
-
220
- const cleanup = () => {
221
- if (timeoutId) {
222
- clearTimeout(timeoutId);
223
- timeoutId = null;
224
- }
225
-
226
- if (removeExitHandler) {
227
- removeExitHandler();
228
- }
229
- };
230
-
231
- if (parsed.opts.timeout > 0) {
232
- timeoutId = setTimeout(() => {
233
- timeoutId = null;
234
- timedOut = true;
235
- spawned.kill(parsed.opts.killSignal);
236
- }, parsed.opts.timeout);
237
- }
238
-
239
- const processDone = new Promise(resolve => {
240
- spawned.on('exit', (code, signal) => {
241
- cleanup();
242
- resolve({code, signal});
243
- });
244
-
245
- spawned.on('error', err => {
246
- cleanup();
247
- resolve({error: err});
248
- });
249
-
250
- if (spawned.stdin) {
251
- spawned.stdin.on('error', err => {
252
- cleanup();
253
- resolve({error: err});
254
- });
255
- }
256
- });
257
-
258
- function destroy() {
259
- if (spawned.stdout) {
260
- spawned.stdout.destroy();
261
- }
262
-
263
- if (spawned.stderr) {
264
- spawned.stderr.destroy();
265
- }
266
- }
267
-
268
- const handlePromise = () => pFinally(Promise.all([
269
- processDone,
270
- getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}),
271
- getStream(spawned, 'stderr', {encoding, buffer, maxBuffer})
272
- ]).then(arr => {
273
- const result = arr[0];
274
- result.stdout = arr[1];
275
- result.stderr = arr[2];
276
-
277
- if (result.error || result.code !== 0 || result.signal !== null) {
278
- const err = makeError(result, {
279
- joinedCmd,
280
- parsed,
281
- timedOut
282
- });
283
-
284
- // TODO: missing some timeout logic for killed
285
- // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203
286
- // err.killed = spawned.killed || killed;
287
- err.killed = err.killed || spawned.killed;
288
-
289
- if (!parsed.opts.reject) {
290
- return err;
291
- }
292
-
293
- throw err;
294
- }
295
-
296
- return {
297
- stdout: handleOutput(parsed.opts, result.stdout),
298
- stderr: handleOutput(parsed.opts, result.stderr),
299
- code: 0,
300
- failed: false,
301
- killed: false,
302
- signal: null,
303
- cmd: joinedCmd,
304
- timedOut: false
305
- };
306
- }), destroy);
307
-
308
- crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed);
309
-
310
- handleInput(spawned, parsed.opts.input);
311
-
312
- spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected);
313
- spawned.catch = onrejected => handlePromise().catch(onrejected);
314
-
315
- return spawned;
316
- };
317
-
318
- // TODO: set `stderr: 'ignore'` when that option is implemented
319
- module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout);
320
-
321
- // TODO: set `stdout: 'ignore'` when that option is implemented
322
- module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr);
323
-
324
- module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts);
325
-
326
- module.exports.sync = (cmd, args, opts) => {
327
- const parsed = handleArgs(cmd, args, opts);
328
- const joinedCmd = joinCmd(cmd, args);
329
-
330
- if (isStream(parsed.opts.input)) {
331
- throw new TypeError('The `input` option cannot be a stream in sync mode');
332
- }
333
-
334
- const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);
335
- result.code = result.status;
336
-
337
- if (result.error || result.status !== 0 || result.signal !== null) {
338
- const err = makeError(result, {
339
- joinedCmd,
340
- parsed
341
- });
342
-
343
- if (!parsed.opts.reject) {
344
- return err;
345
- }
346
-
347
- throw err;
348
- }
349
-
350
- return {
351
- stdout: handleOutput(parsed.opts, result.stdout),
352
- stderr: handleOutput(parsed.opts, result.stderr),
353
- code: 0,
354
- failed: false,
355
- signal: null,
356
- cmd: joinedCmd,
357
- timedOut: false
358
- };
359
- };
360
-
361
- module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts);
@@ -1,39 +0,0 @@
1
- 'use strict';
2
- // Older verions of Node.js might not have `util.getSystemErrorName()`.
3
- // In that case, fall back to a deprecated internal.
4
- const util = require('util');
5
-
6
- let uv;
7
-
8
- if (typeof util.getSystemErrorName === 'function') {
9
- module.exports = util.getSystemErrorName;
10
- } else {
11
- try {
12
- uv = process.binding('uv');
13
-
14
- if (typeof uv.errname !== 'function') {
15
- throw new TypeError('uv.errname is not a function');
16
- }
17
- } catch (err) {
18
- console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err);
19
- uv = null;
20
- }
21
-
22
- module.exports = code => errname(uv, code);
23
- }
24
-
25
- // Used for testing the fallback behavior
26
- module.exports.__test__ = errname;
27
-
28
- function errname(uv, code) {
29
- if (uv) {
30
- return uv.errname(code);
31
- }
32
-
33
- if (!(code < 0)) {
34
- throw new Error('err >= 0');
35
- }
36
-
37
- return `Unknown system error ${code}`;
38
- }
39
-