projen 0.58.0 → 0.58.3

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 (469) hide show
  1. package/.jsii +34 -16
  2. package/docs/api/API.md +4 -2
  3. package/lib/_resolve.d.ts +0 -1
  4. package/lib/_resolve.js +5 -6
  5. package/lib/awscdk/auto-discover.d.ts +0 -1
  6. package/lib/awscdk/auto-discover.js +10 -11
  7. package/lib/awscdk/awscdk-app-java.d.ts +0 -1
  8. package/lib/awscdk/awscdk-app-java.js +3 -4
  9. package/lib/awscdk/awscdk-app-py.d.ts +0 -1
  10. package/lib/awscdk/awscdk-app-py.js +6 -7
  11. package/lib/awscdk/awscdk-app-ts.d.ts +0 -1
  12. package/lib/awscdk/awscdk-app-ts.js +11 -12
  13. package/lib/awscdk/awscdk-construct.d.ts +0 -1
  14. package/lib/awscdk/awscdk-construct.js +8 -9
  15. package/lib/awscdk/awscdk-deps-java.d.ts +0 -1
  16. package/lib/awscdk/awscdk-deps-java.js +1 -1
  17. package/lib/awscdk/awscdk-deps-js.d.ts +0 -1
  18. package/lib/awscdk/awscdk-deps-js.js +1 -1
  19. package/lib/awscdk/awscdk-deps-py.d.ts +0 -1
  20. package/lib/awscdk/awscdk-deps.d.ts +0 -1
  21. package/lib/awscdk/awscdk-deps.js +9 -12
  22. package/lib/awscdk/awscdk-pytest-sample.d.ts +0 -1
  23. package/lib/awscdk/cdk-config.d.ts +0 -1
  24. package/lib/awscdk/cdk-config.js +6 -7
  25. package/lib/awscdk/cdk-tasks.d.ts +0 -1
  26. package/lib/awscdk/cdk-tasks.js +3 -4
  27. package/lib/awscdk/index.d.ts +0 -1
  28. package/lib/awscdk/integration-test.d.ts +0 -1
  29. package/lib/awscdk/integration-test.js +5 -6
  30. package/lib/awscdk/internal.d.ts +0 -1
  31. package/lib/awscdk/lambda-extension.d.ts +0 -1
  32. package/lib/awscdk/lambda-extension.js +7 -9
  33. package/lib/awscdk/lambda-function.d.ts +0 -1
  34. package/lib/awscdk/lambda-function.js +8 -9
  35. package/lib/build/build-workflow.d.ts +0 -1
  36. package/lib/build/build-workflow.js +14 -17
  37. package/lib/build/index.d.ts +0 -1
  38. package/lib/builtin-example.task.d.ts +0 -1
  39. package/lib/cdk/auto-discover-base.d.ts +0 -1
  40. package/lib/cdk/auto-discover-base.js +2 -2
  41. package/lib/cdk/construct-lib.d.ts +0 -1
  42. package/lib/cdk/construct-lib.js +1 -1
  43. package/lib/cdk/consts.d.ts +0 -1
  44. package/lib/cdk/index.d.ts +0 -1
  45. package/lib/cdk/integration-test-base.d.ts +0 -1
  46. package/lib/cdk/integration-test-base.js +3 -4
  47. package/lib/cdk/internal.d.ts +0 -1
  48. package/lib/cdk/jsii-docgen.d.ts +0 -1
  49. package/lib/cdk/jsii-docgen.js +3 -4
  50. package/lib/cdk/jsii-project.d.ts +0 -1
  51. package/lib/cdk/jsii-project.js +16 -18
  52. package/lib/cdk8s/auto-discover.d.ts +0 -1
  53. package/lib/cdk8s/auto-discover.js +4 -5
  54. package/lib/cdk8s/cdk8s-app-ts.d.ts +0 -1
  55. package/lib/cdk8s/cdk8s-app-ts.js +6 -7
  56. package/lib/cdk8s/cdk8s-construct.d.ts +0 -1
  57. package/lib/cdk8s/cdk8s-construct.js +5 -6
  58. package/lib/cdk8s/index.d.ts +0 -1
  59. package/lib/cdk8s/integration-test.d.ts +0 -1
  60. package/lib/cdk8s/integration-test.js +1 -1
  61. package/lib/cdktf/cdktf-construct.d.ts +0 -1
  62. package/lib/cdktf/cdktf-construct.js +3 -4
  63. package/lib/cdktf/index.d.ts +0 -1
  64. package/lib/cleanup.d.ts +0 -1
  65. package/lib/cleanup.js +2 -2
  66. package/lib/cli/cmds/new.d.ts +0 -1
  67. package/lib/cli/cmds/new.js +9 -15
  68. package/lib/cli/index.d.ts +0 -1
  69. package/lib/cli/macros.d.ts +0 -1
  70. package/lib/cli/macros.js +6 -8
  71. package/lib/cli/synth.d.ts +0 -1
  72. package/lib/cli/synth.js +2 -3
  73. package/lib/cli/tasks.d.ts +0 -1
  74. package/lib/cli/tasks.js +5 -7
  75. package/lib/cli/util.d.ts +0 -1
  76. package/lib/clobber.d.ts +0 -1
  77. package/lib/common.d.ts +0 -1
  78. package/lib/component.d.ts +0 -1
  79. package/lib/component.js +1 -1
  80. package/lib/dependencies.d.ts +0 -1
  81. package/lib/dependencies.js +3 -3
  82. package/lib/dev-env.d.ts +0 -1
  83. package/lib/dev-env.js +1 -1
  84. package/lib/docker-compose.d.ts +0 -1
  85. package/lib/docker-compose.js +16 -21
  86. package/lib/file.d.ts +0 -1
  87. package/lib/file.js +7 -8
  88. package/lib/gitattributes.d.ts +0 -1
  89. package/lib/gitattributes.js +1 -1
  90. package/lib/github/auto-approve.d.ts +0 -1
  91. package/lib/github/auto-approve.js +6 -7
  92. package/lib/github/auto-merge.d.ts +0 -1
  93. package/lib/github/auto-merge.js +6 -6
  94. package/lib/github/constants.d.ts +0 -1
  95. package/lib/github/dependabot.d.ts +0 -1
  96. package/lib/github/dependabot.js +6 -7
  97. package/lib/github/github-credentials.d.ts +0 -1
  98. package/lib/github/github-credentials.js +5 -7
  99. package/lib/github/github-project.d.ts +0 -1
  100. package/lib/github/github-project.js +7 -8
  101. package/lib/github/github.d.ts +0 -1
  102. package/lib/github/github.js +5 -6
  103. package/lib/github/index.d.ts +0 -1
  104. package/lib/github/mergify.d.ts +0 -1
  105. package/lib/github/mergify.js +4 -5
  106. package/lib/github/pr-template.d.ts +0 -1
  107. package/lib/github/pr-template.js +3 -4
  108. package/lib/github/pull-request-lint.d.ts +0 -1
  109. package/lib/github/pull-request-lint.js +7 -8
  110. package/lib/github/stale-util.d.ts +0 -1
  111. package/lib/github/stale-util.js +10 -9
  112. package/lib/github/stale.d.ts +0 -1
  113. package/lib/github/stale.js +3 -4
  114. package/lib/github/task-workflow.d.ts +0 -1
  115. package/lib/github/task-workflow.js +8 -9
  116. package/lib/github/util.d.ts +0 -1
  117. package/lib/github/workflow-actions.d.ts +0 -1
  118. package/lib/github/workflows-model.d.ts +0 -1
  119. package/lib/github/workflows.d.ts +0 -1
  120. package/lib/github/workflows.js +3 -4
  121. package/lib/gitlab/configuration-model.d.ts +0 -1
  122. package/lib/gitlab/configuration.d.ts +0 -1
  123. package/lib/gitlab/configuration.js +9 -10
  124. package/lib/gitlab/gitlab-configuration.d.ts +0 -1
  125. package/lib/gitlab/gitlab-configuration.js +1 -1
  126. package/lib/gitlab/index.d.ts +0 -1
  127. package/lib/gitlab/nested-configuration.d.ts +0 -1
  128. package/lib/gitlab/nested-configuration.js +1 -1
  129. package/lib/gitpod.d.ts +0 -1
  130. package/lib/gitpod.js +9 -10
  131. package/lib/ignore-file.d.ts +0 -1
  132. package/lib/ignore-file.js +1 -1
  133. package/lib/index.d.ts +0 -1
  134. package/lib/ini.d.ts +0 -1
  135. package/lib/ini.js +1 -1
  136. package/lib/inventory.d.ts +0 -1
  137. package/lib/inventory.js +18 -22
  138. package/lib/java/index.d.ts +0 -1
  139. package/lib/java/java-project.d.ts +0 -1
  140. package/lib/java/java-project.js +9 -10
  141. package/lib/java/junit.d.ts +0 -1
  142. package/lib/java/junit.js +4 -5
  143. package/lib/java/maven-compile.d.ts +0 -1
  144. package/lib/java/maven-compile.js +4 -5
  145. package/lib/java/maven-packaging.d.ts +0 -1
  146. package/lib/java/maven-packaging.js +5 -6
  147. package/lib/java/maven-sample.d.ts +0 -1
  148. package/lib/java/maven-sample.js +1 -1
  149. package/lib/java/pom.d.ts +0 -1
  150. package/lib/java/pom.js +6 -9
  151. package/lib/java/projenrc.d.ts +0 -1
  152. package/lib/java/projenrc.js +10 -12
  153. package/lib/javascript/bundler.d.ts +0 -1
  154. package/lib/javascript/bundler.js +9 -11
  155. package/lib/javascript/eslint.d.ts +5 -2
  156. package/lib/javascript/eslint.js +10 -11
  157. package/lib/javascript/index.d.ts +0 -1
  158. package/lib/javascript/jest.d.ts +0 -1
  159. package/lib/javascript/jest.js +19 -19
  160. package/lib/javascript/node-package.d.ts +0 -1
  161. package/lib/javascript/node-package.js +36 -37
  162. package/lib/javascript/node-project.d.ts +0 -1
  163. package/lib/javascript/node-project.js +53 -54
  164. package/lib/javascript/npm-config.d.ts +0 -1
  165. package/lib/javascript/npm-config.js +1 -1
  166. package/lib/javascript/prettier.d.ts +0 -1
  167. package/lib/javascript/prettier.js +5 -7
  168. package/lib/javascript/projenrc.d.ts +0 -1
  169. package/lib/javascript/projenrc.js +4 -5
  170. package/lib/javascript/render-options.d.ts +0 -1
  171. package/lib/javascript/render-options.js +7 -8
  172. package/lib/javascript/typescript-config.d.ts +0 -1
  173. package/lib/javascript/typescript-config.js +6 -7
  174. package/lib/javascript/upgrade-dependencies.d.ts +0 -1
  175. package/lib/javascript/upgrade-dependencies.js +30 -30
  176. package/lib/javascript/util.d.ts +0 -1
  177. package/lib/javascript/util.js +3 -4
  178. package/lib/json.d.ts +0 -1
  179. package/lib/json.js +3 -4
  180. package/lib/license.d.ts +0 -1
  181. package/lib/license.js +3 -4
  182. package/lib/logger.d.ts +0 -1
  183. package/lib/logger.js +6 -7
  184. package/lib/logging.d.ts +0 -1
  185. package/lib/makefile.d.ts +0 -1
  186. package/lib/makefile.js +1 -1
  187. package/lib/object-file.d.ts +0 -1
  188. package/lib/object-file.js +6 -8
  189. package/lib/option-hints.d.ts +0 -1
  190. package/lib/project-build.d.ts +0 -1
  191. package/lib/project-build.js +1 -1
  192. package/lib/project.d.ts +0 -1
  193. package/lib/project.js +7 -8
  194. package/lib/projects.d.ts +0 -1
  195. package/lib/projects.js +5 -6
  196. package/lib/projenrc-json.d.ts +0 -1
  197. package/lib/projenrc-json.js +5 -6
  198. package/lib/python/index.d.ts +0 -1
  199. package/lib/python/pip.d.ts +0 -1
  200. package/lib/python/pip.js +1 -1
  201. package/lib/python/poetry.d.ts +0 -1
  202. package/lib/python/poetry.js +4 -5
  203. package/lib/python/projenrc.d.ts +0 -1
  204. package/lib/python/projenrc.js +7 -10
  205. package/lib/python/pytest-sample.d.ts +0 -1
  206. package/lib/python/pytest-sample.js +1 -1
  207. package/lib/python/pytest.d.ts +0 -1
  208. package/lib/python/pytest.js +4 -5
  209. package/lib/python/python-deps.d.ts +0 -1
  210. package/lib/python/python-env.d.ts +0 -1
  211. package/lib/python/python-packaging.d.ts +0 -1
  212. package/lib/python/python-project.d.ts +0 -1
  213. package/lib/python/python-project.js +16 -17
  214. package/lib/python/python-sample.d.ts +0 -1
  215. package/lib/python/python-sample.js +1 -1
  216. package/lib/python/requirements-file.d.ts +0 -1
  217. package/lib/python/requirements-file.js +1 -1
  218. package/lib/python/setuppy.d.ts +0 -1
  219. package/lib/python/setuppy.js +1 -1
  220. package/lib/python/setuptools.d.ts +0 -1
  221. package/lib/python/setuptools.js +1 -1
  222. package/lib/python/venv.d.ts +0 -1
  223. package/lib/python/venv.js +3 -4
  224. package/lib/readme.d.ts +0 -1
  225. package/lib/readme.js +4 -5
  226. package/lib/release/bump-version.d.ts +0 -1
  227. package/lib/release/bump-version.js +4 -5
  228. package/lib/release/bump-version.task.d.ts +0 -1
  229. package/lib/release/bump-version.task.js +2 -2
  230. package/lib/release/index.d.ts +0 -1
  231. package/lib/release/publisher.d.ts +0 -1
  232. package/lib/release/publisher.js +108 -123
  233. package/lib/release/release-trigger.d.ts +0 -1
  234. package/lib/release/release-trigger.js +5 -7
  235. package/lib/release/release.d.ts +0 -1
  236. package/lib/release/release.js +11 -13
  237. package/lib/release/reset-version.task.d.ts +0 -1
  238. package/lib/release/tag-version.d.ts +0 -1
  239. package/lib/release/tag-version.task.d.ts +0 -1
  240. package/lib/release/update-changelog.d.ts +0 -1
  241. package/lib/release/update-changelog.task.d.ts +0 -1
  242. package/lib/renovatebot.d.ts +0 -1
  243. package/lib/renovatebot.js +5 -6
  244. package/lib/run-projenrc-json.task.d.ts +0 -1
  245. package/lib/run-task.js +1809 -0
  246. package/lib/sample-file.d.ts +0 -1
  247. package/lib/sample-file.js +4 -4
  248. package/lib/semver.d.ts +0 -1
  249. package/lib/semver.js +3 -4
  250. package/lib/source-code.d.ts +0 -1
  251. package/lib/source-code.js +5 -6
  252. package/lib/task-model.d.ts +0 -1
  253. package/lib/task-runtime.d.ts +0 -1
  254. package/lib/task-runtime.js +15 -19
  255. package/lib/task.d.ts +0 -1
  256. package/lib/task.js +4 -5
  257. package/lib/tasks.d.ts +0 -1
  258. package/lib/tasks.js +1 -1
  259. package/lib/testing.d.ts +0 -1
  260. package/lib/testing.js +1 -1
  261. package/lib/textfile.d.ts +0 -1
  262. package/lib/textfile.js +3 -4
  263. package/lib/toml.d.ts +0 -1
  264. package/lib/toml.js +1 -1
  265. package/lib/typescript/index.d.ts +0 -1
  266. package/lib/typescript/projenrc.d.ts +0 -1
  267. package/lib/typescript/projenrc.js +9 -10
  268. package/lib/typescript/typescript-typedoc.d.ts +0 -1
  269. package/lib/typescript/typescript-typedoc.js +1 -1
  270. package/lib/typescript/typescript.d.ts +0 -1
  271. package/lib/typescript/typescript.js +43 -46
  272. package/lib/util/semver.d.ts +0 -1
  273. package/lib/util/semver.js +2 -3
  274. package/lib/util/synth.d.ts +0 -1
  275. package/lib/util/synth.js +2 -3
  276. package/lib/util.d.ts +0 -1
  277. package/lib/util.js +7 -9
  278. package/lib/version.d.ts +0 -1
  279. package/lib/version.js +3 -4
  280. package/lib/vscode/devcontainer.d.ts +0 -1
  281. package/lib/vscode/devcontainer.js +8 -8
  282. package/lib/vscode/index.d.ts +0 -1
  283. package/lib/vscode/launch-config.d.ts +0 -1
  284. package/lib/vscode/launch-config.js +1 -1
  285. package/lib/vscode/vscode.d.ts +0 -1
  286. package/lib/vscode/vscode.js +1 -1
  287. package/lib/web/index.d.ts +0 -1
  288. package/lib/web/next.d.ts +0 -1
  289. package/lib/web/next.js +16 -20
  290. package/lib/web/postcss.d.ts +0 -1
  291. package/lib/web/postcss.js +6 -7
  292. package/lib/web/react.d.ts +0 -1
  293. package/lib/web/react.js +15 -19
  294. package/lib/web/tailwind.d.ts +0 -1
  295. package/lib/web/tailwind.js +4 -5
  296. package/lib/xmlfile.d.ts +0 -1
  297. package/lib/xmlfile.js +1 -1
  298. package/lib/yaml.d.ts +0 -1
  299. package/lib/yaml.js +3 -4
  300. package/package.json +5 -5
  301. package/lib/_resolve.d.ts.map +0 -1
  302. package/lib/awscdk/auto-discover.d.ts.map +0 -1
  303. package/lib/awscdk/awscdk-app-java.d.ts.map +0 -1
  304. package/lib/awscdk/awscdk-app-py.d.ts.map +0 -1
  305. package/lib/awscdk/awscdk-app-ts.d.ts.map +0 -1
  306. package/lib/awscdk/awscdk-construct.d.ts.map +0 -1
  307. package/lib/awscdk/awscdk-deps-java.d.ts.map +0 -1
  308. package/lib/awscdk/awscdk-deps-js.d.ts.map +0 -1
  309. package/lib/awscdk/awscdk-deps-py.d.ts.map +0 -1
  310. package/lib/awscdk/awscdk-deps.d.ts.map +0 -1
  311. package/lib/awscdk/awscdk-pytest-sample.d.ts.map +0 -1
  312. package/lib/awscdk/cdk-config.d.ts.map +0 -1
  313. package/lib/awscdk/cdk-tasks.d.ts.map +0 -1
  314. package/lib/awscdk/index.d.ts.map +0 -1
  315. package/lib/awscdk/integration-test.d.ts.map +0 -1
  316. package/lib/awscdk/internal.d.ts.map +0 -1
  317. package/lib/awscdk/lambda-extension.d.ts.map +0 -1
  318. package/lib/awscdk/lambda-function.d.ts.map +0 -1
  319. package/lib/build/build-workflow.d.ts.map +0 -1
  320. package/lib/build/index.d.ts.map +0 -1
  321. package/lib/builtin-example.task.d.ts.map +0 -1
  322. package/lib/cdk/auto-discover-base.d.ts.map +0 -1
  323. package/lib/cdk/construct-lib.d.ts.map +0 -1
  324. package/lib/cdk/consts.d.ts.map +0 -1
  325. package/lib/cdk/index.d.ts.map +0 -1
  326. package/lib/cdk/integration-test-base.d.ts.map +0 -1
  327. package/lib/cdk/internal.d.ts.map +0 -1
  328. package/lib/cdk/jsii-docgen.d.ts.map +0 -1
  329. package/lib/cdk/jsii-project.d.ts.map +0 -1
  330. package/lib/cdk8s/auto-discover.d.ts.map +0 -1
  331. package/lib/cdk8s/cdk8s-app-ts.d.ts.map +0 -1
  332. package/lib/cdk8s/cdk8s-construct.d.ts.map +0 -1
  333. package/lib/cdk8s/index.d.ts.map +0 -1
  334. package/lib/cdk8s/integration-test.d.ts.map +0 -1
  335. package/lib/cdktf/cdktf-construct.d.ts.map +0 -1
  336. package/lib/cdktf/index.d.ts.map +0 -1
  337. package/lib/cleanup.d.ts.map +0 -1
  338. package/lib/cli/cmds/new.d.ts.map +0 -1
  339. package/lib/cli/index.d.ts.map +0 -1
  340. package/lib/cli/macros.d.ts.map +0 -1
  341. package/lib/cli/synth.d.ts.map +0 -1
  342. package/lib/cli/tasks.d.ts.map +0 -1
  343. package/lib/cli/util.d.ts.map +0 -1
  344. package/lib/clobber.d.ts.map +0 -1
  345. package/lib/common.d.ts.map +0 -1
  346. package/lib/component.d.ts.map +0 -1
  347. package/lib/dependencies.d.ts.map +0 -1
  348. package/lib/dev-env.d.ts.map +0 -1
  349. package/lib/docker-compose.d.ts.map +0 -1
  350. package/lib/file.d.ts.map +0 -1
  351. package/lib/gitattributes.d.ts.map +0 -1
  352. package/lib/github/auto-approve.d.ts.map +0 -1
  353. package/lib/github/auto-merge.d.ts.map +0 -1
  354. package/lib/github/constants.d.ts.map +0 -1
  355. package/lib/github/dependabot.d.ts.map +0 -1
  356. package/lib/github/github-credentials.d.ts.map +0 -1
  357. package/lib/github/github-project.d.ts.map +0 -1
  358. package/lib/github/github.d.ts.map +0 -1
  359. package/lib/github/index.d.ts.map +0 -1
  360. package/lib/github/mergify.d.ts.map +0 -1
  361. package/lib/github/pr-template.d.ts.map +0 -1
  362. package/lib/github/pull-request-lint.d.ts.map +0 -1
  363. package/lib/github/stale-util.d.ts.map +0 -1
  364. package/lib/github/stale.d.ts.map +0 -1
  365. package/lib/github/task-workflow.d.ts.map +0 -1
  366. package/lib/github/util.d.ts.map +0 -1
  367. package/lib/github/workflow-actions.d.ts.map +0 -1
  368. package/lib/github/workflows-model.d.ts.map +0 -1
  369. package/lib/github/workflows.d.ts.map +0 -1
  370. package/lib/gitlab/configuration-model.d.ts.map +0 -1
  371. package/lib/gitlab/configuration.d.ts.map +0 -1
  372. package/lib/gitlab/gitlab-configuration.d.ts.map +0 -1
  373. package/lib/gitlab/index.d.ts.map +0 -1
  374. package/lib/gitlab/nested-configuration.d.ts.map +0 -1
  375. package/lib/gitpod.d.ts.map +0 -1
  376. package/lib/ignore-file.d.ts.map +0 -1
  377. package/lib/index.d.ts.map +0 -1
  378. package/lib/ini.d.ts.map +0 -1
  379. package/lib/inventory.d.ts.map +0 -1
  380. package/lib/java/index.d.ts.map +0 -1
  381. package/lib/java/java-project.d.ts.map +0 -1
  382. package/lib/java/junit.d.ts.map +0 -1
  383. package/lib/java/maven-compile.d.ts.map +0 -1
  384. package/lib/java/maven-packaging.d.ts.map +0 -1
  385. package/lib/java/maven-sample.d.ts.map +0 -1
  386. package/lib/java/pom.d.ts.map +0 -1
  387. package/lib/java/projenrc.d.ts.map +0 -1
  388. package/lib/javascript/bundler.d.ts.map +0 -1
  389. package/lib/javascript/eslint.d.ts.map +0 -1
  390. package/lib/javascript/index.d.ts.map +0 -1
  391. package/lib/javascript/jest.d.ts.map +0 -1
  392. package/lib/javascript/node-package.d.ts.map +0 -1
  393. package/lib/javascript/node-project.d.ts.map +0 -1
  394. package/lib/javascript/npm-config.d.ts.map +0 -1
  395. package/lib/javascript/prettier.d.ts.map +0 -1
  396. package/lib/javascript/projenrc.d.ts.map +0 -1
  397. package/lib/javascript/render-options.d.ts.map +0 -1
  398. package/lib/javascript/typescript-config.d.ts.map +0 -1
  399. package/lib/javascript/upgrade-dependencies.d.ts.map +0 -1
  400. package/lib/javascript/util.d.ts.map +0 -1
  401. package/lib/json.d.ts.map +0 -1
  402. package/lib/license.d.ts.map +0 -1
  403. package/lib/logger.d.ts.map +0 -1
  404. package/lib/logging.d.ts.map +0 -1
  405. package/lib/makefile.d.ts.map +0 -1
  406. package/lib/object-file.d.ts.map +0 -1
  407. package/lib/option-hints.d.ts.map +0 -1
  408. package/lib/project-build.d.ts.map +0 -1
  409. package/lib/project.d.ts.map +0 -1
  410. package/lib/projects.d.ts.map +0 -1
  411. package/lib/projenrc-json.d.ts.map +0 -1
  412. package/lib/python/index.d.ts.map +0 -1
  413. package/lib/python/pip.d.ts.map +0 -1
  414. package/lib/python/poetry.d.ts.map +0 -1
  415. package/lib/python/projenrc.d.ts.map +0 -1
  416. package/lib/python/pytest-sample.d.ts.map +0 -1
  417. package/lib/python/pytest.d.ts.map +0 -1
  418. package/lib/python/python-deps.d.ts.map +0 -1
  419. package/lib/python/python-env.d.ts.map +0 -1
  420. package/lib/python/python-packaging.d.ts.map +0 -1
  421. package/lib/python/python-project.d.ts.map +0 -1
  422. package/lib/python/python-sample.d.ts.map +0 -1
  423. package/lib/python/requirements-file.d.ts.map +0 -1
  424. package/lib/python/setuppy.d.ts.map +0 -1
  425. package/lib/python/setuptools.d.ts.map +0 -1
  426. package/lib/python/venv.d.ts.map +0 -1
  427. package/lib/readme.d.ts.map +0 -1
  428. package/lib/release/bump-version.d.ts.map +0 -1
  429. package/lib/release/bump-version.task.d.ts.map +0 -1
  430. package/lib/release/index.d.ts.map +0 -1
  431. package/lib/release/publisher.d.ts.map +0 -1
  432. package/lib/release/release-trigger.d.ts.map +0 -1
  433. package/lib/release/release.d.ts.map +0 -1
  434. package/lib/release/reset-version.task.d.ts.map +0 -1
  435. package/lib/release/tag-version.d.ts.map +0 -1
  436. package/lib/release/tag-version.task.d.ts.map +0 -1
  437. package/lib/release/update-changelog.d.ts.map +0 -1
  438. package/lib/release/update-changelog.task.d.ts.map +0 -1
  439. package/lib/renovatebot.d.ts.map +0 -1
  440. package/lib/run-projenrc-json.task.d.ts.map +0 -1
  441. package/lib/sample-file.d.ts.map +0 -1
  442. package/lib/semver.d.ts.map +0 -1
  443. package/lib/source-code.d.ts.map +0 -1
  444. package/lib/task-model.d.ts.map +0 -1
  445. package/lib/task-runtime.d.ts.map +0 -1
  446. package/lib/task.d.ts.map +0 -1
  447. package/lib/tasks.d.ts.map +0 -1
  448. package/lib/testing.d.ts.map +0 -1
  449. package/lib/textfile.d.ts.map +0 -1
  450. package/lib/toml.d.ts.map +0 -1
  451. package/lib/typescript/index.d.ts.map +0 -1
  452. package/lib/typescript/projenrc.d.ts.map +0 -1
  453. package/lib/typescript/typescript-typedoc.d.ts.map +0 -1
  454. package/lib/typescript/typescript.d.ts.map +0 -1
  455. package/lib/util/semver.d.ts.map +0 -1
  456. package/lib/util/synth.d.ts.map +0 -1
  457. package/lib/util.d.ts.map +0 -1
  458. package/lib/version.d.ts.map +0 -1
  459. package/lib/vscode/devcontainer.d.ts.map +0 -1
  460. package/lib/vscode/index.d.ts.map +0 -1
  461. package/lib/vscode/launch-config.d.ts.map +0 -1
  462. package/lib/vscode/vscode.d.ts.map +0 -1
  463. package/lib/web/index.d.ts.map +0 -1
  464. package/lib/web/next.d.ts.map +0 -1
  465. package/lib/web/postcss.d.ts.map +0 -1
  466. package/lib/web/react.d.ts.map +0 -1
  467. package/lib/web/tailwind.d.ts.map +0 -1
  468. package/lib/xmlfile.d.ts.map +0 -1
  469. package/lib/yaml.d.ts.map +0 -1
package/lib/run-task.js CHANGED
@@ -1,3 +1,1812 @@
1
1
  #!/usr/bin/env node
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
24
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
+
26
+ // node_modules/color-name/index.js
27
+ var require_color_name = __commonJS({
28
+ "node_modules/color-name/index.js"(exports, module2) {
29
+ "use strict";
30
+ module2.exports = {
31
+ "aliceblue": [240, 248, 255],
32
+ "antiquewhite": [250, 235, 215],
33
+ "aqua": [0, 255, 255],
34
+ "aquamarine": [127, 255, 212],
35
+ "azure": [240, 255, 255],
36
+ "beige": [245, 245, 220],
37
+ "bisque": [255, 228, 196],
38
+ "black": [0, 0, 0],
39
+ "blanchedalmond": [255, 235, 205],
40
+ "blue": [0, 0, 255],
41
+ "blueviolet": [138, 43, 226],
42
+ "brown": [165, 42, 42],
43
+ "burlywood": [222, 184, 135],
44
+ "cadetblue": [95, 158, 160],
45
+ "chartreuse": [127, 255, 0],
46
+ "chocolate": [210, 105, 30],
47
+ "coral": [255, 127, 80],
48
+ "cornflowerblue": [100, 149, 237],
49
+ "cornsilk": [255, 248, 220],
50
+ "crimson": [220, 20, 60],
51
+ "cyan": [0, 255, 255],
52
+ "darkblue": [0, 0, 139],
53
+ "darkcyan": [0, 139, 139],
54
+ "darkgoldenrod": [184, 134, 11],
55
+ "darkgray": [169, 169, 169],
56
+ "darkgreen": [0, 100, 0],
57
+ "darkgrey": [169, 169, 169],
58
+ "darkkhaki": [189, 183, 107],
59
+ "darkmagenta": [139, 0, 139],
60
+ "darkolivegreen": [85, 107, 47],
61
+ "darkorange": [255, 140, 0],
62
+ "darkorchid": [153, 50, 204],
63
+ "darkred": [139, 0, 0],
64
+ "darksalmon": [233, 150, 122],
65
+ "darkseagreen": [143, 188, 143],
66
+ "darkslateblue": [72, 61, 139],
67
+ "darkslategray": [47, 79, 79],
68
+ "darkslategrey": [47, 79, 79],
69
+ "darkturquoise": [0, 206, 209],
70
+ "darkviolet": [148, 0, 211],
71
+ "deeppink": [255, 20, 147],
72
+ "deepskyblue": [0, 191, 255],
73
+ "dimgray": [105, 105, 105],
74
+ "dimgrey": [105, 105, 105],
75
+ "dodgerblue": [30, 144, 255],
76
+ "firebrick": [178, 34, 34],
77
+ "floralwhite": [255, 250, 240],
78
+ "forestgreen": [34, 139, 34],
79
+ "fuchsia": [255, 0, 255],
80
+ "gainsboro": [220, 220, 220],
81
+ "ghostwhite": [248, 248, 255],
82
+ "gold": [255, 215, 0],
83
+ "goldenrod": [218, 165, 32],
84
+ "gray": [128, 128, 128],
85
+ "green": [0, 128, 0],
86
+ "greenyellow": [173, 255, 47],
87
+ "grey": [128, 128, 128],
88
+ "honeydew": [240, 255, 240],
89
+ "hotpink": [255, 105, 180],
90
+ "indianred": [205, 92, 92],
91
+ "indigo": [75, 0, 130],
92
+ "ivory": [255, 255, 240],
93
+ "khaki": [240, 230, 140],
94
+ "lavender": [230, 230, 250],
95
+ "lavenderblush": [255, 240, 245],
96
+ "lawngreen": [124, 252, 0],
97
+ "lemonchiffon": [255, 250, 205],
98
+ "lightblue": [173, 216, 230],
99
+ "lightcoral": [240, 128, 128],
100
+ "lightcyan": [224, 255, 255],
101
+ "lightgoldenrodyellow": [250, 250, 210],
102
+ "lightgray": [211, 211, 211],
103
+ "lightgreen": [144, 238, 144],
104
+ "lightgrey": [211, 211, 211],
105
+ "lightpink": [255, 182, 193],
106
+ "lightsalmon": [255, 160, 122],
107
+ "lightseagreen": [32, 178, 170],
108
+ "lightskyblue": [135, 206, 250],
109
+ "lightslategray": [119, 136, 153],
110
+ "lightslategrey": [119, 136, 153],
111
+ "lightsteelblue": [176, 196, 222],
112
+ "lightyellow": [255, 255, 224],
113
+ "lime": [0, 255, 0],
114
+ "limegreen": [50, 205, 50],
115
+ "linen": [250, 240, 230],
116
+ "magenta": [255, 0, 255],
117
+ "maroon": [128, 0, 0],
118
+ "mediumaquamarine": [102, 205, 170],
119
+ "mediumblue": [0, 0, 205],
120
+ "mediumorchid": [186, 85, 211],
121
+ "mediumpurple": [147, 112, 219],
122
+ "mediumseagreen": [60, 179, 113],
123
+ "mediumslateblue": [123, 104, 238],
124
+ "mediumspringgreen": [0, 250, 154],
125
+ "mediumturquoise": [72, 209, 204],
126
+ "mediumvioletred": [199, 21, 133],
127
+ "midnightblue": [25, 25, 112],
128
+ "mintcream": [245, 255, 250],
129
+ "mistyrose": [255, 228, 225],
130
+ "moccasin": [255, 228, 181],
131
+ "navajowhite": [255, 222, 173],
132
+ "navy": [0, 0, 128],
133
+ "oldlace": [253, 245, 230],
134
+ "olive": [128, 128, 0],
135
+ "olivedrab": [107, 142, 35],
136
+ "orange": [255, 165, 0],
137
+ "orangered": [255, 69, 0],
138
+ "orchid": [218, 112, 214],
139
+ "palegoldenrod": [238, 232, 170],
140
+ "palegreen": [152, 251, 152],
141
+ "paleturquoise": [175, 238, 238],
142
+ "palevioletred": [219, 112, 147],
143
+ "papayawhip": [255, 239, 213],
144
+ "peachpuff": [255, 218, 185],
145
+ "peru": [205, 133, 63],
146
+ "pink": [255, 192, 203],
147
+ "plum": [221, 160, 221],
148
+ "powderblue": [176, 224, 230],
149
+ "purple": [128, 0, 128],
150
+ "rebeccapurple": [102, 51, 153],
151
+ "red": [255, 0, 0],
152
+ "rosybrown": [188, 143, 143],
153
+ "royalblue": [65, 105, 225],
154
+ "saddlebrown": [139, 69, 19],
155
+ "salmon": [250, 128, 114],
156
+ "sandybrown": [244, 164, 96],
157
+ "seagreen": [46, 139, 87],
158
+ "seashell": [255, 245, 238],
159
+ "sienna": [160, 82, 45],
160
+ "silver": [192, 192, 192],
161
+ "skyblue": [135, 206, 235],
162
+ "slateblue": [106, 90, 205],
163
+ "slategray": [112, 128, 144],
164
+ "slategrey": [112, 128, 144],
165
+ "snow": [255, 250, 250],
166
+ "springgreen": [0, 255, 127],
167
+ "steelblue": [70, 130, 180],
168
+ "tan": [210, 180, 140],
169
+ "teal": [0, 128, 128],
170
+ "thistle": [216, 191, 216],
171
+ "tomato": [255, 99, 71],
172
+ "turquoise": [64, 224, 208],
173
+ "violet": [238, 130, 238],
174
+ "wheat": [245, 222, 179],
175
+ "white": [255, 255, 255],
176
+ "whitesmoke": [245, 245, 245],
177
+ "yellow": [255, 255, 0],
178
+ "yellowgreen": [154, 205, 50]
179
+ };
180
+ }
181
+ });
182
+
183
+ // node_modules/color-convert/conversions.js
184
+ var require_conversions = __commonJS({
185
+ "node_modules/color-convert/conversions.js"(exports, module2) {
186
+ var cssKeywords = require_color_name();
187
+ var reverseKeywords = {};
188
+ for (const key of Object.keys(cssKeywords)) {
189
+ reverseKeywords[cssKeywords[key]] = key;
190
+ }
191
+ var convert = {
192
+ rgb: { channels: 3, labels: "rgb" },
193
+ hsl: { channels: 3, labels: "hsl" },
194
+ hsv: { channels: 3, labels: "hsv" },
195
+ hwb: { channels: 3, labels: "hwb" },
196
+ cmyk: { channels: 4, labels: "cmyk" },
197
+ xyz: { channels: 3, labels: "xyz" },
198
+ lab: { channels: 3, labels: "lab" },
199
+ lch: { channels: 3, labels: "lch" },
200
+ hex: { channels: 1, labels: ["hex"] },
201
+ keyword: { channels: 1, labels: ["keyword"] },
202
+ ansi16: { channels: 1, labels: ["ansi16"] },
203
+ ansi256: { channels: 1, labels: ["ansi256"] },
204
+ hcg: { channels: 3, labels: ["h", "c", "g"] },
205
+ apple: { channels: 3, labels: ["r16", "g16", "b16"] },
206
+ gray: { channels: 1, labels: ["gray"] }
207
+ };
208
+ module2.exports = convert;
209
+ for (const model of Object.keys(convert)) {
210
+ if (!("channels" in convert[model])) {
211
+ throw new Error("missing channels property: " + model);
212
+ }
213
+ if (!("labels" in convert[model])) {
214
+ throw new Error("missing channel labels property: " + model);
215
+ }
216
+ if (convert[model].labels.length !== convert[model].channels) {
217
+ throw new Error("channel and label counts mismatch: " + model);
218
+ }
219
+ const { channels, labels } = convert[model];
220
+ delete convert[model].channels;
221
+ delete convert[model].labels;
222
+ Object.defineProperty(convert[model], "channels", { value: channels });
223
+ Object.defineProperty(convert[model], "labels", { value: labels });
224
+ }
225
+ convert.rgb.hsl = function(rgb) {
226
+ const r = rgb[0] / 255;
227
+ const g = rgb[1] / 255;
228
+ const b = rgb[2] / 255;
229
+ const min = Math.min(r, g, b);
230
+ const max = Math.max(r, g, b);
231
+ const delta = max - min;
232
+ let h;
233
+ let s;
234
+ if (max === min) {
235
+ h = 0;
236
+ } else if (r === max) {
237
+ h = (g - b) / delta;
238
+ } else if (g === max) {
239
+ h = 2 + (b - r) / delta;
240
+ } else if (b === max) {
241
+ h = 4 + (r - g) / delta;
242
+ }
243
+ h = Math.min(h * 60, 360);
244
+ if (h < 0) {
245
+ h += 360;
246
+ }
247
+ const l = (min + max) / 2;
248
+ if (max === min) {
249
+ s = 0;
250
+ } else if (l <= 0.5) {
251
+ s = delta / (max + min);
252
+ } else {
253
+ s = delta / (2 - max - min);
254
+ }
255
+ return [h, s * 100, l * 100];
256
+ };
257
+ convert.rgb.hsv = function(rgb) {
258
+ let rdif;
259
+ let gdif;
260
+ let bdif;
261
+ let h;
262
+ let s;
263
+ const r = rgb[0] / 255;
264
+ const g = rgb[1] / 255;
265
+ const b = rgb[2] / 255;
266
+ const v = Math.max(r, g, b);
267
+ const diff = v - Math.min(r, g, b);
268
+ const diffc = function(c) {
269
+ return (v - c) / 6 / diff + 1 / 2;
270
+ };
271
+ if (diff === 0) {
272
+ h = 0;
273
+ s = 0;
274
+ } else {
275
+ s = diff / v;
276
+ rdif = diffc(r);
277
+ gdif = diffc(g);
278
+ bdif = diffc(b);
279
+ if (r === v) {
280
+ h = bdif - gdif;
281
+ } else if (g === v) {
282
+ h = 1 / 3 + rdif - bdif;
283
+ } else if (b === v) {
284
+ h = 2 / 3 + gdif - rdif;
285
+ }
286
+ if (h < 0) {
287
+ h += 1;
288
+ } else if (h > 1) {
289
+ h -= 1;
290
+ }
291
+ }
292
+ return [
293
+ h * 360,
294
+ s * 100,
295
+ v * 100
296
+ ];
297
+ };
298
+ convert.rgb.hwb = function(rgb) {
299
+ const r = rgb[0];
300
+ const g = rgb[1];
301
+ let b = rgb[2];
302
+ const h = convert.rgb.hsl(rgb)[0];
303
+ const w = 1 / 255 * Math.min(r, Math.min(g, b));
304
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
305
+ return [h, w * 100, b * 100];
306
+ };
307
+ convert.rgb.cmyk = function(rgb) {
308
+ const r = rgb[0] / 255;
309
+ const g = rgb[1] / 255;
310
+ const b = rgb[2] / 255;
311
+ const k = Math.min(1 - r, 1 - g, 1 - b);
312
+ const c = (1 - r - k) / (1 - k) || 0;
313
+ const m = (1 - g - k) / (1 - k) || 0;
314
+ const y = (1 - b - k) / (1 - k) || 0;
315
+ return [c * 100, m * 100, y * 100, k * 100];
316
+ };
317
+ function comparativeDistance(x, y) {
318
+ return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
319
+ }
320
+ convert.rgb.keyword = function(rgb) {
321
+ const reversed = reverseKeywords[rgb];
322
+ if (reversed) {
323
+ return reversed;
324
+ }
325
+ let currentClosestDistance = Infinity;
326
+ let currentClosestKeyword;
327
+ for (const keyword of Object.keys(cssKeywords)) {
328
+ const value = cssKeywords[keyword];
329
+ const distance = comparativeDistance(rgb, value);
330
+ if (distance < currentClosestDistance) {
331
+ currentClosestDistance = distance;
332
+ currentClosestKeyword = keyword;
333
+ }
334
+ }
335
+ return currentClosestKeyword;
336
+ };
337
+ convert.keyword.rgb = function(keyword) {
338
+ return cssKeywords[keyword];
339
+ };
340
+ convert.rgb.xyz = function(rgb) {
341
+ let r = rgb[0] / 255;
342
+ let g = rgb[1] / 255;
343
+ let b = rgb[2] / 255;
344
+ r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92;
345
+ g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92;
346
+ b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
347
+ const x = r * 0.4124 + g * 0.3576 + b * 0.1805;
348
+ const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
349
+ const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
350
+ return [x * 100, y * 100, z * 100];
351
+ };
352
+ convert.rgb.lab = function(rgb) {
353
+ const xyz = convert.rgb.xyz(rgb);
354
+ let x = xyz[0];
355
+ let y = xyz[1];
356
+ let z = xyz[2];
357
+ x /= 95.047;
358
+ y /= 100;
359
+ z /= 108.883;
360
+ x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
361
+ y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
362
+ z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
363
+ const l = 116 * y - 16;
364
+ const a = 500 * (x - y);
365
+ const b = 200 * (y - z);
366
+ return [l, a, b];
367
+ };
368
+ convert.hsl.rgb = function(hsl) {
369
+ const h = hsl[0] / 360;
370
+ const s = hsl[1] / 100;
371
+ const l = hsl[2] / 100;
372
+ let t2;
373
+ let t3;
374
+ let val;
375
+ if (s === 0) {
376
+ val = l * 255;
377
+ return [val, val, val];
378
+ }
379
+ if (l < 0.5) {
380
+ t2 = l * (1 + s);
381
+ } else {
382
+ t2 = l + s - l * s;
383
+ }
384
+ const t1 = 2 * l - t2;
385
+ const rgb = [0, 0, 0];
386
+ for (let i = 0; i < 3; i++) {
387
+ t3 = h + 1 / 3 * -(i - 1);
388
+ if (t3 < 0) {
389
+ t3++;
390
+ }
391
+ if (t3 > 1) {
392
+ t3--;
393
+ }
394
+ if (6 * t3 < 1) {
395
+ val = t1 + (t2 - t1) * 6 * t3;
396
+ } else if (2 * t3 < 1) {
397
+ val = t2;
398
+ } else if (3 * t3 < 2) {
399
+ val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
400
+ } else {
401
+ val = t1;
402
+ }
403
+ rgb[i] = val * 255;
404
+ }
405
+ return rgb;
406
+ };
407
+ convert.hsl.hsv = function(hsl) {
408
+ const h = hsl[0];
409
+ let s = hsl[1] / 100;
410
+ let l = hsl[2] / 100;
411
+ let smin = s;
412
+ const lmin = Math.max(l, 0.01);
413
+ l *= 2;
414
+ s *= l <= 1 ? l : 2 - l;
415
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
416
+ const v = (l + s) / 2;
417
+ const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
418
+ return [h, sv * 100, v * 100];
419
+ };
420
+ convert.hsv.rgb = function(hsv) {
421
+ const h = hsv[0] / 60;
422
+ const s = hsv[1] / 100;
423
+ let v = hsv[2] / 100;
424
+ const hi = Math.floor(h) % 6;
425
+ const f = h - Math.floor(h);
426
+ const p = 255 * v * (1 - s);
427
+ const q = 255 * v * (1 - s * f);
428
+ const t = 255 * v * (1 - s * (1 - f));
429
+ v *= 255;
430
+ switch (hi) {
431
+ case 0:
432
+ return [v, t, p];
433
+ case 1:
434
+ return [q, v, p];
435
+ case 2:
436
+ return [p, v, t];
437
+ case 3:
438
+ return [p, q, v];
439
+ case 4:
440
+ return [t, p, v];
441
+ case 5:
442
+ return [v, p, q];
443
+ }
444
+ };
445
+ convert.hsv.hsl = function(hsv) {
446
+ const h = hsv[0];
447
+ const s = hsv[1] / 100;
448
+ const v = hsv[2] / 100;
449
+ const vmin = Math.max(v, 0.01);
450
+ let sl;
451
+ let l;
452
+ l = (2 - s) * v;
453
+ const lmin = (2 - s) * vmin;
454
+ sl = s * vmin;
455
+ sl /= lmin <= 1 ? lmin : 2 - lmin;
456
+ sl = sl || 0;
457
+ l /= 2;
458
+ return [h, sl * 100, l * 100];
459
+ };
460
+ convert.hwb.rgb = function(hwb) {
461
+ const h = hwb[0] / 360;
462
+ let wh = hwb[1] / 100;
463
+ let bl = hwb[2] / 100;
464
+ const ratio = wh + bl;
465
+ let f;
466
+ if (ratio > 1) {
467
+ wh /= ratio;
468
+ bl /= ratio;
469
+ }
470
+ const i = Math.floor(6 * h);
471
+ const v = 1 - bl;
472
+ f = 6 * h - i;
473
+ if ((i & 1) !== 0) {
474
+ f = 1 - f;
475
+ }
476
+ const n = wh + f * (v - wh);
477
+ let r;
478
+ let g;
479
+ let b;
480
+ switch (i) {
481
+ default:
482
+ case 6:
483
+ case 0:
484
+ r = v;
485
+ g = n;
486
+ b = wh;
487
+ break;
488
+ case 1:
489
+ r = n;
490
+ g = v;
491
+ b = wh;
492
+ break;
493
+ case 2:
494
+ r = wh;
495
+ g = v;
496
+ b = n;
497
+ break;
498
+ case 3:
499
+ r = wh;
500
+ g = n;
501
+ b = v;
502
+ break;
503
+ case 4:
504
+ r = n;
505
+ g = wh;
506
+ b = v;
507
+ break;
508
+ case 5:
509
+ r = v;
510
+ g = wh;
511
+ b = n;
512
+ break;
513
+ }
514
+ return [r * 255, g * 255, b * 255];
515
+ };
516
+ convert.cmyk.rgb = function(cmyk) {
517
+ const c = cmyk[0] / 100;
518
+ const m = cmyk[1] / 100;
519
+ const y = cmyk[2] / 100;
520
+ const k = cmyk[3] / 100;
521
+ const r = 1 - Math.min(1, c * (1 - k) + k);
522
+ const g = 1 - Math.min(1, m * (1 - k) + k);
523
+ const b = 1 - Math.min(1, y * (1 - k) + k);
524
+ return [r * 255, g * 255, b * 255];
525
+ };
526
+ convert.xyz.rgb = function(xyz) {
527
+ const x = xyz[0] / 100;
528
+ const y = xyz[1] / 100;
529
+ const z = xyz[2] / 100;
530
+ let r;
531
+ let g;
532
+ let b;
533
+ r = x * 3.2406 + y * -1.5372 + z * -0.4986;
534
+ g = x * -0.9689 + y * 1.8758 + z * 0.0415;
535
+ b = x * 0.0557 + y * -0.204 + z * 1.057;
536
+ r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92;
537
+ g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92;
538
+ b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92;
539
+ r = Math.min(Math.max(0, r), 1);
540
+ g = Math.min(Math.max(0, g), 1);
541
+ b = Math.min(Math.max(0, b), 1);
542
+ return [r * 255, g * 255, b * 255];
543
+ };
544
+ convert.xyz.lab = function(xyz) {
545
+ let x = xyz[0];
546
+ let y = xyz[1];
547
+ let z = xyz[2];
548
+ x /= 95.047;
549
+ y /= 100;
550
+ z /= 108.883;
551
+ x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
552
+ y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
553
+ z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
554
+ const l = 116 * y - 16;
555
+ const a = 500 * (x - y);
556
+ const b = 200 * (y - z);
557
+ return [l, a, b];
558
+ };
559
+ convert.lab.xyz = function(lab) {
560
+ const l = lab[0];
561
+ const a = lab[1];
562
+ const b = lab[2];
563
+ let x;
564
+ let y;
565
+ let z;
566
+ y = (l + 16) / 116;
567
+ x = a / 500 + y;
568
+ z = y - b / 200;
569
+ const y2 = y ** 3;
570
+ const x2 = x ** 3;
571
+ const z2 = z ** 3;
572
+ y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
573
+ x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787;
574
+ z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
575
+ x *= 95.047;
576
+ y *= 100;
577
+ z *= 108.883;
578
+ return [x, y, z];
579
+ };
580
+ convert.lab.lch = function(lab) {
581
+ const l = lab[0];
582
+ const a = lab[1];
583
+ const b = lab[2];
584
+ let h;
585
+ const hr = Math.atan2(b, a);
586
+ h = hr * 360 / 2 / Math.PI;
587
+ if (h < 0) {
588
+ h += 360;
589
+ }
590
+ const c = Math.sqrt(a * a + b * b);
591
+ return [l, c, h];
592
+ };
593
+ convert.lch.lab = function(lch) {
594
+ const l = lch[0];
595
+ const c = lch[1];
596
+ const h = lch[2];
597
+ const hr = h / 360 * 2 * Math.PI;
598
+ const a = c * Math.cos(hr);
599
+ const b = c * Math.sin(hr);
600
+ return [l, a, b];
601
+ };
602
+ convert.rgb.ansi16 = function(args, saturation = null) {
603
+ const [r, g, b] = args;
604
+ let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
605
+ value = Math.round(value / 50);
606
+ if (value === 0) {
607
+ return 30;
608
+ }
609
+ let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
610
+ if (value === 2) {
611
+ ansi += 60;
612
+ }
613
+ return ansi;
614
+ };
615
+ convert.hsv.ansi16 = function(args) {
616
+ return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
617
+ };
618
+ convert.rgb.ansi256 = function(args) {
619
+ const r = args[0];
620
+ const g = args[1];
621
+ const b = args[2];
622
+ if (r === g && g === b) {
623
+ if (r < 8) {
624
+ return 16;
625
+ }
626
+ if (r > 248) {
627
+ return 231;
628
+ }
629
+ return Math.round((r - 8) / 247 * 24) + 232;
630
+ }
631
+ const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
632
+ return ansi;
633
+ };
634
+ convert.ansi16.rgb = function(args) {
635
+ let color = args % 10;
636
+ if (color === 0 || color === 7) {
637
+ if (args > 50) {
638
+ color += 3.5;
639
+ }
640
+ color = color / 10.5 * 255;
641
+ return [color, color, color];
642
+ }
643
+ const mult = (~~(args > 50) + 1) * 0.5;
644
+ const r = (color & 1) * mult * 255;
645
+ const g = (color >> 1 & 1) * mult * 255;
646
+ const b = (color >> 2 & 1) * mult * 255;
647
+ return [r, g, b];
648
+ };
649
+ convert.ansi256.rgb = function(args) {
650
+ if (args >= 232) {
651
+ const c = (args - 232) * 10 + 8;
652
+ return [c, c, c];
653
+ }
654
+ args -= 16;
655
+ let rem;
656
+ const r = Math.floor(args / 36) / 5 * 255;
657
+ const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
658
+ const b = rem % 6 / 5 * 255;
659
+ return [r, g, b];
660
+ };
661
+ convert.rgb.hex = function(args) {
662
+ const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
663
+ const string = integer.toString(16).toUpperCase();
664
+ return "000000".substring(string.length) + string;
665
+ };
666
+ convert.hex.rgb = function(args) {
667
+ const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
668
+ if (!match) {
669
+ return [0, 0, 0];
670
+ }
671
+ let colorString = match[0];
672
+ if (match[0].length === 3) {
673
+ colorString = colorString.split("").map((char) => {
674
+ return char + char;
675
+ }).join("");
676
+ }
677
+ const integer = parseInt(colorString, 16);
678
+ const r = integer >> 16 & 255;
679
+ const g = integer >> 8 & 255;
680
+ const b = integer & 255;
681
+ return [r, g, b];
682
+ };
683
+ convert.rgb.hcg = function(rgb) {
684
+ const r = rgb[0] / 255;
685
+ const g = rgb[1] / 255;
686
+ const b = rgb[2] / 255;
687
+ const max = Math.max(Math.max(r, g), b);
688
+ const min = Math.min(Math.min(r, g), b);
689
+ const chroma = max - min;
690
+ let grayscale;
691
+ let hue;
692
+ if (chroma < 1) {
693
+ grayscale = min / (1 - chroma);
694
+ } else {
695
+ grayscale = 0;
696
+ }
697
+ if (chroma <= 0) {
698
+ hue = 0;
699
+ } else if (max === r) {
700
+ hue = (g - b) / chroma % 6;
701
+ } else if (max === g) {
702
+ hue = 2 + (b - r) / chroma;
703
+ } else {
704
+ hue = 4 + (r - g) / chroma;
705
+ }
706
+ hue /= 6;
707
+ hue %= 1;
708
+ return [hue * 360, chroma * 100, grayscale * 100];
709
+ };
710
+ convert.hsl.hcg = function(hsl) {
711
+ const s = hsl[1] / 100;
712
+ const l = hsl[2] / 100;
713
+ const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
714
+ let f = 0;
715
+ if (c < 1) {
716
+ f = (l - 0.5 * c) / (1 - c);
717
+ }
718
+ return [hsl[0], c * 100, f * 100];
719
+ };
720
+ convert.hsv.hcg = function(hsv) {
721
+ const s = hsv[1] / 100;
722
+ const v = hsv[2] / 100;
723
+ const c = s * v;
724
+ let f = 0;
725
+ if (c < 1) {
726
+ f = (v - c) / (1 - c);
727
+ }
728
+ return [hsv[0], c * 100, f * 100];
729
+ };
730
+ convert.hcg.rgb = function(hcg) {
731
+ const h = hcg[0] / 360;
732
+ const c = hcg[1] / 100;
733
+ const g = hcg[2] / 100;
734
+ if (c === 0) {
735
+ return [g * 255, g * 255, g * 255];
736
+ }
737
+ const pure = [0, 0, 0];
738
+ const hi = h % 1 * 6;
739
+ const v = hi % 1;
740
+ const w = 1 - v;
741
+ let mg = 0;
742
+ switch (Math.floor(hi)) {
743
+ case 0:
744
+ pure[0] = 1;
745
+ pure[1] = v;
746
+ pure[2] = 0;
747
+ break;
748
+ case 1:
749
+ pure[0] = w;
750
+ pure[1] = 1;
751
+ pure[2] = 0;
752
+ break;
753
+ case 2:
754
+ pure[0] = 0;
755
+ pure[1] = 1;
756
+ pure[2] = v;
757
+ break;
758
+ case 3:
759
+ pure[0] = 0;
760
+ pure[1] = w;
761
+ pure[2] = 1;
762
+ break;
763
+ case 4:
764
+ pure[0] = v;
765
+ pure[1] = 0;
766
+ pure[2] = 1;
767
+ break;
768
+ default:
769
+ pure[0] = 1;
770
+ pure[1] = 0;
771
+ pure[2] = w;
772
+ }
773
+ mg = (1 - c) * g;
774
+ return [
775
+ (c * pure[0] + mg) * 255,
776
+ (c * pure[1] + mg) * 255,
777
+ (c * pure[2] + mg) * 255
778
+ ];
779
+ };
780
+ convert.hcg.hsv = function(hcg) {
781
+ const c = hcg[1] / 100;
782
+ const g = hcg[2] / 100;
783
+ const v = c + g * (1 - c);
784
+ let f = 0;
785
+ if (v > 0) {
786
+ f = c / v;
787
+ }
788
+ return [hcg[0], f * 100, v * 100];
789
+ };
790
+ convert.hcg.hsl = function(hcg) {
791
+ const c = hcg[1] / 100;
792
+ const g = hcg[2] / 100;
793
+ const l = g * (1 - c) + 0.5 * c;
794
+ let s = 0;
795
+ if (l > 0 && l < 0.5) {
796
+ s = c / (2 * l);
797
+ } else if (l >= 0.5 && l < 1) {
798
+ s = c / (2 * (1 - l));
799
+ }
800
+ return [hcg[0], s * 100, l * 100];
801
+ };
802
+ convert.hcg.hwb = function(hcg) {
803
+ const c = hcg[1] / 100;
804
+ const g = hcg[2] / 100;
805
+ const v = c + g * (1 - c);
806
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
807
+ };
808
+ convert.hwb.hcg = function(hwb) {
809
+ const w = hwb[1] / 100;
810
+ const b = hwb[2] / 100;
811
+ const v = 1 - b;
812
+ const c = v - w;
813
+ let g = 0;
814
+ if (c < 1) {
815
+ g = (v - c) / (1 - c);
816
+ }
817
+ return [hwb[0], c * 100, g * 100];
818
+ };
819
+ convert.apple.rgb = function(apple) {
820
+ return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
821
+ };
822
+ convert.rgb.apple = function(rgb) {
823
+ return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
824
+ };
825
+ convert.gray.rgb = function(args) {
826
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
827
+ };
828
+ convert.gray.hsl = function(args) {
829
+ return [0, 0, args[0]];
830
+ };
831
+ convert.gray.hsv = convert.gray.hsl;
832
+ convert.gray.hwb = function(gray3) {
833
+ return [0, 100, gray3[0]];
834
+ };
835
+ convert.gray.cmyk = function(gray3) {
836
+ return [0, 0, 0, gray3[0]];
837
+ };
838
+ convert.gray.lab = function(gray3) {
839
+ return [gray3[0], 0, 0];
840
+ };
841
+ convert.gray.hex = function(gray3) {
842
+ const val = Math.round(gray3[0] / 100 * 255) & 255;
843
+ const integer = (val << 16) + (val << 8) + val;
844
+ const string = integer.toString(16).toUpperCase();
845
+ return "000000".substring(string.length) + string;
846
+ };
847
+ convert.rgb.gray = function(rgb) {
848
+ const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
849
+ return [val / 255 * 100];
850
+ };
851
+ }
852
+ });
853
+
854
+ // node_modules/color-convert/route.js
855
+ var require_route = __commonJS({
856
+ "node_modules/color-convert/route.js"(exports, module2) {
857
+ var conversions = require_conversions();
858
+ function buildGraph() {
859
+ const graph = {};
860
+ const models = Object.keys(conversions);
861
+ for (let len = models.length, i = 0; i < len; i++) {
862
+ graph[models[i]] = {
863
+ distance: -1,
864
+ parent: null
865
+ };
866
+ }
867
+ return graph;
868
+ }
869
+ function deriveBFS(fromModel) {
870
+ const graph = buildGraph();
871
+ const queue = [fromModel];
872
+ graph[fromModel].distance = 0;
873
+ while (queue.length) {
874
+ const current = queue.pop();
875
+ const adjacents = Object.keys(conversions[current]);
876
+ for (let len = adjacents.length, i = 0; i < len; i++) {
877
+ const adjacent = adjacents[i];
878
+ const node = graph[adjacent];
879
+ if (node.distance === -1) {
880
+ node.distance = graph[current].distance + 1;
881
+ node.parent = current;
882
+ queue.unshift(adjacent);
883
+ }
884
+ }
885
+ }
886
+ return graph;
887
+ }
888
+ function link(from, to) {
889
+ return function(args) {
890
+ return to(from(args));
891
+ };
892
+ }
893
+ function wrapConversion(toModel, graph) {
894
+ const path2 = [graph[toModel].parent, toModel];
895
+ let fn = conversions[graph[toModel].parent][toModel];
896
+ let cur = graph[toModel].parent;
897
+ while (graph[cur].parent) {
898
+ path2.unshift(graph[cur].parent);
899
+ fn = link(conversions[graph[cur].parent][cur], fn);
900
+ cur = graph[cur].parent;
901
+ }
902
+ fn.conversion = path2;
903
+ return fn;
904
+ }
905
+ module2.exports = function(fromModel) {
906
+ const graph = deriveBFS(fromModel);
907
+ const conversion = {};
908
+ const models = Object.keys(graph);
909
+ for (let len = models.length, i = 0; i < len; i++) {
910
+ const toModel = models[i];
911
+ const node = graph[toModel];
912
+ if (node.parent === null) {
913
+ continue;
914
+ }
915
+ conversion[toModel] = wrapConversion(toModel, graph);
916
+ }
917
+ return conversion;
918
+ };
919
+ }
920
+ });
921
+
922
+ // node_modules/color-convert/index.js
923
+ var require_color_convert = __commonJS({
924
+ "node_modules/color-convert/index.js"(exports, module2) {
925
+ var conversions = require_conversions();
926
+ var route = require_route();
927
+ var convert = {};
928
+ var models = Object.keys(conversions);
929
+ function wrapRaw(fn) {
930
+ const wrappedFn = function(...args) {
931
+ const arg0 = args[0];
932
+ if (arg0 === void 0 || arg0 === null) {
933
+ return arg0;
934
+ }
935
+ if (arg0.length > 1) {
936
+ args = arg0;
937
+ }
938
+ return fn(args);
939
+ };
940
+ if ("conversion" in fn) {
941
+ wrappedFn.conversion = fn.conversion;
942
+ }
943
+ return wrappedFn;
944
+ }
945
+ function wrapRounded(fn) {
946
+ const wrappedFn = function(...args) {
947
+ const arg0 = args[0];
948
+ if (arg0 === void 0 || arg0 === null) {
949
+ return arg0;
950
+ }
951
+ if (arg0.length > 1) {
952
+ args = arg0;
953
+ }
954
+ const result = fn(args);
955
+ if (typeof result === "object") {
956
+ for (let len = result.length, i = 0; i < len; i++) {
957
+ result[i] = Math.round(result[i]);
958
+ }
959
+ }
960
+ return result;
961
+ };
962
+ if ("conversion" in fn) {
963
+ wrappedFn.conversion = fn.conversion;
964
+ }
965
+ return wrappedFn;
966
+ }
967
+ models.forEach((fromModel) => {
968
+ convert[fromModel] = {};
969
+ Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
970
+ Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
971
+ const routes = route(fromModel);
972
+ const routeModels = Object.keys(routes);
973
+ routeModels.forEach((toModel) => {
974
+ const fn = routes[toModel];
975
+ convert[fromModel][toModel] = wrapRounded(fn);
976
+ convert[fromModel][toModel].raw = wrapRaw(fn);
977
+ });
978
+ });
979
+ module2.exports = convert;
980
+ }
981
+ });
982
+
983
+ // node_modules/ansi-styles/index.js
984
+ var require_ansi_styles = __commonJS({
985
+ "node_modules/ansi-styles/index.js"(exports, module2) {
986
+ "use strict";
987
+ var wrapAnsi16 = (fn, offset) => (...args) => {
988
+ const code = fn(...args);
989
+ return `\x1B[${code + offset}m`;
990
+ };
991
+ var wrapAnsi256 = (fn, offset) => (...args) => {
992
+ const code = fn(...args);
993
+ return `\x1B[${38 + offset};5;${code}m`;
994
+ };
995
+ var wrapAnsi16m = (fn, offset) => (...args) => {
996
+ const rgb = fn(...args);
997
+ return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
998
+ };
999
+ var ansi2ansi = (n) => n;
1000
+ var rgb2rgb = (r, g, b) => [r, g, b];
1001
+ var setLazyProperty = (object, property, get) => {
1002
+ Object.defineProperty(object, property, {
1003
+ get: () => {
1004
+ const value = get();
1005
+ Object.defineProperty(object, property, {
1006
+ value,
1007
+ enumerable: true,
1008
+ configurable: true
1009
+ });
1010
+ return value;
1011
+ },
1012
+ enumerable: true,
1013
+ configurable: true
1014
+ });
1015
+ };
1016
+ var colorConvert;
1017
+ var makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
1018
+ if (colorConvert === void 0) {
1019
+ colorConvert = require_color_convert();
1020
+ }
1021
+ const offset = isBackground ? 10 : 0;
1022
+ const styles = {};
1023
+ for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
1024
+ const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
1025
+ if (sourceSpace === targetSpace) {
1026
+ styles[name] = wrap(identity, offset);
1027
+ } else if (typeof suite === "object") {
1028
+ styles[name] = wrap(suite[targetSpace], offset);
1029
+ }
1030
+ }
1031
+ return styles;
1032
+ };
1033
+ function assembleStyles() {
1034
+ const codes = /* @__PURE__ */ new Map();
1035
+ const styles = {
1036
+ modifier: {
1037
+ reset: [0, 0],
1038
+ bold: [1, 22],
1039
+ dim: [2, 22],
1040
+ italic: [3, 23],
1041
+ underline: [4, 24],
1042
+ inverse: [7, 27],
1043
+ hidden: [8, 28],
1044
+ strikethrough: [9, 29]
1045
+ },
1046
+ color: {
1047
+ black: [30, 39],
1048
+ red: [31, 39],
1049
+ green: [32, 39],
1050
+ yellow: [33, 39],
1051
+ blue: [34, 39],
1052
+ magenta: [35, 39],
1053
+ cyan: [36, 39],
1054
+ white: [37, 39],
1055
+ blackBright: [90, 39],
1056
+ redBright: [91, 39],
1057
+ greenBright: [92, 39],
1058
+ yellowBright: [93, 39],
1059
+ blueBright: [94, 39],
1060
+ magentaBright: [95, 39],
1061
+ cyanBright: [96, 39],
1062
+ whiteBright: [97, 39]
1063
+ },
1064
+ bgColor: {
1065
+ bgBlack: [40, 49],
1066
+ bgRed: [41, 49],
1067
+ bgGreen: [42, 49],
1068
+ bgYellow: [43, 49],
1069
+ bgBlue: [44, 49],
1070
+ bgMagenta: [45, 49],
1071
+ bgCyan: [46, 49],
1072
+ bgWhite: [47, 49],
1073
+ bgBlackBright: [100, 49],
1074
+ bgRedBright: [101, 49],
1075
+ bgGreenBright: [102, 49],
1076
+ bgYellowBright: [103, 49],
1077
+ bgBlueBright: [104, 49],
1078
+ bgMagentaBright: [105, 49],
1079
+ bgCyanBright: [106, 49],
1080
+ bgWhiteBright: [107, 49]
1081
+ }
1082
+ };
1083
+ styles.color.gray = styles.color.blackBright;
1084
+ styles.bgColor.bgGray = styles.bgColor.bgBlackBright;
1085
+ styles.color.grey = styles.color.blackBright;
1086
+ styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
1087
+ for (const [groupName, group] of Object.entries(styles)) {
1088
+ for (const [styleName, style] of Object.entries(group)) {
1089
+ styles[styleName] = {
1090
+ open: `\x1B[${style[0]}m`,
1091
+ close: `\x1B[${style[1]}m`
1092
+ };
1093
+ group[styleName] = styles[styleName];
1094
+ codes.set(style[0], style[1]);
1095
+ }
1096
+ Object.defineProperty(styles, groupName, {
1097
+ value: group,
1098
+ enumerable: false
1099
+ });
1100
+ }
1101
+ Object.defineProperty(styles, "codes", {
1102
+ value: codes,
1103
+ enumerable: false
1104
+ });
1105
+ styles.color.close = "\x1B[39m";
1106
+ styles.bgColor.close = "\x1B[49m";
1107
+ setLazyProperty(styles.color, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, false));
1108
+ setLazyProperty(styles.color, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, false));
1109
+ setLazyProperty(styles.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, false));
1110
+ setLazyProperty(styles.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, true));
1111
+ setLazyProperty(styles.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, true));
1112
+ setLazyProperty(styles.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, true));
1113
+ return styles;
1114
+ }
1115
+ Object.defineProperty(module2, "exports", {
1116
+ enumerable: true,
1117
+ get: assembleStyles
1118
+ });
1119
+ }
1120
+ });
1121
+
1122
+ // node_modules/has-flag/index.js
1123
+ var require_has_flag = __commonJS({
1124
+ "node_modules/has-flag/index.js"(exports, module2) {
1125
+ "use strict";
1126
+ module2.exports = (flag, argv = process.argv) => {
1127
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
1128
+ const position = argv.indexOf(prefix + flag);
1129
+ const terminatorPosition = argv.indexOf("--");
1130
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
1131
+ };
1132
+ }
1133
+ });
1134
+
1135
+ // node_modules/supports-color/index.js
1136
+ var require_supports_color = __commonJS({
1137
+ "node_modules/supports-color/index.js"(exports, module2) {
1138
+ "use strict";
1139
+ var os = require("os");
1140
+ var tty = require("tty");
1141
+ var hasFlag = require_has_flag();
1142
+ var { env } = process;
1143
+ var forceColor;
1144
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
1145
+ forceColor = 0;
1146
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
1147
+ forceColor = 1;
1148
+ }
1149
+ if ("FORCE_COLOR" in env) {
1150
+ if (env.FORCE_COLOR === "true") {
1151
+ forceColor = 1;
1152
+ } else if (env.FORCE_COLOR === "false") {
1153
+ forceColor = 0;
1154
+ } else {
1155
+ forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
1156
+ }
1157
+ }
1158
+ function translateLevel(level) {
1159
+ if (level === 0) {
1160
+ return false;
1161
+ }
1162
+ return {
1163
+ level,
1164
+ hasBasic: true,
1165
+ has256: level >= 2,
1166
+ has16m: level >= 3
1167
+ };
1168
+ }
1169
+ function supportsColor(haveStream, streamIsTTY) {
1170
+ if (forceColor === 0) {
1171
+ return 0;
1172
+ }
1173
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
1174
+ return 3;
1175
+ }
1176
+ if (hasFlag("color=256")) {
1177
+ return 2;
1178
+ }
1179
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
1180
+ return 0;
1181
+ }
1182
+ const min = forceColor || 0;
1183
+ if (env.TERM === "dumb") {
1184
+ return min;
1185
+ }
1186
+ if (process.platform === "win32") {
1187
+ const osRelease = os.release().split(".");
1188
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
1189
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
1190
+ }
1191
+ return 1;
1192
+ }
1193
+ if ("CI" in env) {
1194
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
1195
+ return 1;
1196
+ }
1197
+ return min;
1198
+ }
1199
+ if ("TEAMCITY_VERSION" in env) {
1200
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
1201
+ }
1202
+ if (env.COLORTERM === "truecolor") {
1203
+ return 3;
1204
+ }
1205
+ if ("TERM_PROGRAM" in env) {
1206
+ const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
1207
+ switch (env.TERM_PROGRAM) {
1208
+ case "iTerm.app":
1209
+ return version >= 3 ? 3 : 2;
1210
+ case "Apple_Terminal":
1211
+ return 2;
1212
+ }
1213
+ }
1214
+ if (/-256(color)?$/i.test(env.TERM)) {
1215
+ return 2;
1216
+ }
1217
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
1218
+ return 1;
1219
+ }
1220
+ if ("COLORTERM" in env) {
1221
+ return 1;
1222
+ }
1223
+ return min;
1224
+ }
1225
+ function getSupportLevel(stream) {
1226
+ const level = supportsColor(stream, stream && stream.isTTY);
1227
+ return translateLevel(level);
1228
+ }
1229
+ module2.exports = {
1230
+ supportsColor: getSupportLevel,
1231
+ stdout: translateLevel(supportsColor(true, tty.isatty(1))),
1232
+ stderr: translateLevel(supportsColor(true, tty.isatty(2)))
1233
+ };
1234
+ }
1235
+ });
1236
+
1237
+ // node_modules/chalk/source/util.js
1238
+ var require_util = __commonJS({
1239
+ "node_modules/chalk/source/util.js"(exports, module2) {
1240
+ "use strict";
1241
+ var stringReplaceAll = (string, substring, replacer) => {
1242
+ let index = string.indexOf(substring);
1243
+ if (index === -1) {
1244
+ return string;
1245
+ }
1246
+ const substringLength = substring.length;
1247
+ let endIndex = 0;
1248
+ let returnValue = "";
1249
+ do {
1250
+ returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
1251
+ endIndex = index + substringLength;
1252
+ index = string.indexOf(substring, endIndex);
1253
+ } while (index !== -1);
1254
+ returnValue += string.substr(endIndex);
1255
+ return returnValue;
1256
+ };
1257
+ var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
1258
+ let endIndex = 0;
1259
+ let returnValue = "";
1260
+ do {
1261
+ const gotCR = string[index - 1] === "\r";
1262
+ returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
1263
+ endIndex = index + 1;
1264
+ index = string.indexOf("\n", endIndex);
1265
+ } while (index !== -1);
1266
+ returnValue += string.substr(endIndex);
1267
+ return returnValue;
1268
+ };
1269
+ module2.exports = {
1270
+ stringReplaceAll,
1271
+ stringEncaseCRLFWithFirstIndex
1272
+ };
1273
+ }
1274
+ });
1275
+
1276
+ // node_modules/chalk/source/templates.js
1277
+ var require_templates = __commonJS({
1278
+ "node_modules/chalk/source/templates.js"(exports, module2) {
1279
+ "use strict";
1280
+ var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
1281
+ var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
1282
+ var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
1283
+ var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
1284
+ var ESCAPES = /* @__PURE__ */ new Map([
1285
+ ["n", "\n"],
1286
+ ["r", "\r"],
1287
+ ["t", " "],
1288
+ ["b", "\b"],
1289
+ ["f", "\f"],
1290
+ ["v", "\v"],
1291
+ ["0", "\0"],
1292
+ ["\\", "\\"],
1293
+ ["e", "\x1B"],
1294
+ ["a", "\x07"]
1295
+ ]);
1296
+ function unescape(c) {
1297
+ const u = c[0] === "u";
1298
+ const bracket = c[1] === "{";
1299
+ if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
1300
+ return String.fromCharCode(parseInt(c.slice(1), 16));
1301
+ }
1302
+ if (u && bracket) {
1303
+ return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
1304
+ }
1305
+ return ESCAPES.get(c) || c;
1306
+ }
1307
+ function parseArguments(name, arguments_) {
1308
+ const results = [];
1309
+ const chunks = arguments_.trim().split(/\s*,\s*/g);
1310
+ let matches;
1311
+ for (const chunk of chunks) {
1312
+ const number = Number(chunk);
1313
+ if (!Number.isNaN(number)) {
1314
+ results.push(number);
1315
+ } else if (matches = chunk.match(STRING_REGEX)) {
1316
+ results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));
1317
+ } else {
1318
+ throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
1319
+ }
1320
+ }
1321
+ return results;
1322
+ }
1323
+ function parseStyle(style) {
1324
+ STYLE_REGEX.lastIndex = 0;
1325
+ const results = [];
1326
+ let matches;
1327
+ while ((matches = STYLE_REGEX.exec(style)) !== null) {
1328
+ const name = matches[1];
1329
+ if (matches[2]) {
1330
+ const args = parseArguments(name, matches[2]);
1331
+ results.push([name].concat(args));
1332
+ } else {
1333
+ results.push([name]);
1334
+ }
1335
+ }
1336
+ return results;
1337
+ }
1338
+ function buildStyle(chalk3, styles) {
1339
+ const enabled2 = {};
1340
+ for (const layer of styles) {
1341
+ for (const style of layer.styles) {
1342
+ enabled2[style[0]] = layer.inverse ? null : style.slice(1);
1343
+ }
1344
+ }
1345
+ let current = chalk3;
1346
+ for (const [styleName, styles2] of Object.entries(enabled2)) {
1347
+ if (!Array.isArray(styles2)) {
1348
+ continue;
1349
+ }
1350
+ if (!(styleName in current)) {
1351
+ throw new Error(`Unknown Chalk style: ${styleName}`);
1352
+ }
1353
+ current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
1354
+ }
1355
+ return current;
1356
+ }
1357
+ module2.exports = (chalk3, temporary) => {
1358
+ const styles = [];
1359
+ const chunks = [];
1360
+ let chunk = [];
1361
+ temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
1362
+ if (escapeCharacter) {
1363
+ chunk.push(unescape(escapeCharacter));
1364
+ } else if (style) {
1365
+ const string = chunk.join("");
1366
+ chunk = [];
1367
+ chunks.push(styles.length === 0 ? string : buildStyle(chalk3, styles)(string));
1368
+ styles.push({ inverse, styles: parseStyle(style) });
1369
+ } else if (close) {
1370
+ if (styles.length === 0) {
1371
+ throw new Error("Found extraneous } in Chalk template literal");
1372
+ }
1373
+ chunks.push(buildStyle(chalk3, styles)(chunk.join("")));
1374
+ chunk = [];
1375
+ styles.pop();
1376
+ } else {
1377
+ chunk.push(character);
1378
+ }
1379
+ });
1380
+ chunks.push(chunk.join(""));
1381
+ if (styles.length > 0) {
1382
+ const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
1383
+ throw new Error(errMessage);
1384
+ }
1385
+ return chunks.join("");
1386
+ };
1387
+ }
1388
+ });
1389
+
1390
+ // node_modules/chalk/source/index.js
1391
+ var require_source = __commonJS({
1392
+ "node_modules/chalk/source/index.js"(exports, module2) {
1393
+ "use strict";
1394
+ var ansiStyles = require_ansi_styles();
1395
+ var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color();
1396
+ var {
1397
+ stringReplaceAll,
1398
+ stringEncaseCRLFWithFirstIndex
1399
+ } = require_util();
1400
+ var { isArray } = Array;
1401
+ var levelMapping = [
1402
+ "ansi",
1403
+ "ansi",
1404
+ "ansi256",
1405
+ "ansi16m"
1406
+ ];
1407
+ var styles = /* @__PURE__ */ Object.create(null);
1408
+ var applyOptions = (object, options = {}) => {
1409
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
1410
+ throw new Error("The `level` option should be an integer from 0 to 3");
1411
+ }
1412
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
1413
+ object.level = options.level === void 0 ? colorLevel : options.level;
1414
+ };
1415
+ var ChalkClass = class {
1416
+ constructor(options) {
1417
+ return chalkFactory(options);
1418
+ }
1419
+ };
1420
+ var chalkFactory = (options) => {
1421
+ const chalk4 = {};
1422
+ applyOptions(chalk4, options);
1423
+ chalk4.template = (...arguments_) => chalkTag(chalk4.template, ...arguments_);
1424
+ Object.setPrototypeOf(chalk4, Chalk.prototype);
1425
+ Object.setPrototypeOf(chalk4.template, chalk4);
1426
+ chalk4.template.constructor = () => {
1427
+ throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
1428
+ };
1429
+ chalk4.template.Instance = ChalkClass;
1430
+ return chalk4.template;
1431
+ };
1432
+ function Chalk(options) {
1433
+ return chalkFactory(options);
1434
+ }
1435
+ for (const [styleName, style] of Object.entries(ansiStyles)) {
1436
+ styles[styleName] = {
1437
+ get() {
1438
+ const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
1439
+ Object.defineProperty(this, styleName, { value: builder });
1440
+ return builder;
1441
+ }
1442
+ };
1443
+ }
1444
+ styles.visible = {
1445
+ get() {
1446
+ const builder = createBuilder(this, this._styler, true);
1447
+ Object.defineProperty(this, "visible", { value: builder });
1448
+ return builder;
1449
+ }
1450
+ };
1451
+ var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
1452
+ for (const model of usedModels) {
1453
+ styles[model] = {
1454
+ get() {
1455
+ const { level } = this;
1456
+ return function(...arguments_) {
1457
+ const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
1458
+ return createBuilder(this, styler, this._isEmpty);
1459
+ };
1460
+ }
1461
+ };
1462
+ }
1463
+ for (const model of usedModels) {
1464
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
1465
+ styles[bgModel] = {
1466
+ get() {
1467
+ const { level } = this;
1468
+ return function(...arguments_) {
1469
+ const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
1470
+ return createBuilder(this, styler, this._isEmpty);
1471
+ };
1472
+ }
1473
+ };
1474
+ }
1475
+ var proto = Object.defineProperties(() => {
1476
+ }, {
1477
+ ...styles,
1478
+ level: {
1479
+ enumerable: true,
1480
+ get() {
1481
+ return this._generator.level;
1482
+ },
1483
+ set(level) {
1484
+ this._generator.level = level;
1485
+ }
1486
+ }
1487
+ });
1488
+ var createStyler = (open, close, parent) => {
1489
+ let openAll;
1490
+ let closeAll;
1491
+ if (parent === void 0) {
1492
+ openAll = open;
1493
+ closeAll = close;
1494
+ } else {
1495
+ openAll = parent.openAll + open;
1496
+ closeAll = close + parent.closeAll;
1497
+ }
1498
+ return {
1499
+ open,
1500
+ close,
1501
+ openAll,
1502
+ closeAll,
1503
+ parent
1504
+ };
1505
+ };
1506
+ var createBuilder = (self, _styler, _isEmpty) => {
1507
+ const builder = (...arguments_) => {
1508
+ if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
1509
+ return applyStyle(builder, chalkTag(builder, ...arguments_));
1510
+ }
1511
+ return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
1512
+ };
1513
+ Object.setPrototypeOf(builder, proto);
1514
+ builder._generator = self;
1515
+ builder._styler = _styler;
1516
+ builder._isEmpty = _isEmpty;
1517
+ return builder;
1518
+ };
1519
+ var applyStyle = (self, string) => {
1520
+ if (self.level <= 0 || !string) {
1521
+ return self._isEmpty ? "" : string;
1522
+ }
1523
+ let styler = self._styler;
1524
+ if (styler === void 0) {
1525
+ return string;
1526
+ }
1527
+ const { openAll, closeAll } = styler;
1528
+ if (string.indexOf("\x1B") !== -1) {
1529
+ while (styler !== void 0) {
1530
+ string = stringReplaceAll(string, styler.close, styler.open);
1531
+ styler = styler.parent;
1532
+ }
1533
+ }
1534
+ const lfIndex = string.indexOf("\n");
1535
+ if (lfIndex !== -1) {
1536
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
1537
+ }
1538
+ return openAll + string + closeAll;
1539
+ };
1540
+ var template;
1541
+ var chalkTag = (chalk4, ...strings) => {
1542
+ const [firstString] = strings;
1543
+ if (!isArray(firstString) || !isArray(firstString.raw)) {
1544
+ return strings.join(" ");
1545
+ }
1546
+ const arguments_ = strings.slice(1);
1547
+ const parts = [firstString.raw[0]];
1548
+ for (let i = 1; i < firstString.length; i++) {
1549
+ parts.push(String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"), String(firstString.raw[i]));
1550
+ }
1551
+ if (template === void 0) {
1552
+ template = require_templates();
1553
+ }
1554
+ return template(chalk4, parts.join(""));
1555
+ };
1556
+ Object.defineProperties(Chalk.prototype, styles);
1557
+ var chalk3 = Chalk();
1558
+ chalk3.supportsColor = stdoutColor;
1559
+ chalk3.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 });
1560
+ chalk3.stderr.supportsColor = stderrColor;
1561
+ module2.exports = chalk3;
1562
+ }
1563
+ });
1564
+
1565
+ // src/task-runtime.ts
1566
+ var task_runtime_exports = {};
1567
+ __export(task_runtime_exports, {
1568
+ TaskRuntime: () => TaskRuntime
1569
+ });
1570
+ module.exports = __toCommonJS(task_runtime_exports);
1571
+ var import_child_process = require("child_process");
1572
+ var import_fs = require("fs");
1573
+ var import_os = require("os");
1574
+ var import_path = require("path");
1575
+ var path = __toESM(require("path"));
1576
+ var import_util = require("util");
1577
+ var chalk2 = __toESM(require_source());
1578
+
1579
+ // src/common.ts
1580
+ var PROJEN_DIR = ".projen";
1581
+ var IS_TEST_RUN = process.env.NODE_ENV === "test";
1582
+ var packageVersion = require("../package.json").version;
1583
+
1584
+ // src/logging.ts
1585
+ var chalk = __toESM(require_source());
1586
+ var ICON = "\u{1F47E}";
1587
+ var enabled = IS_TEST_RUN ? false : true;
1588
+ function log(isError, color, ...text) {
1589
+ if (!enabled && !isError) {
1590
+ return;
1591
+ }
1592
+ console.error(`${ICON} ${color(...text)}`);
1593
+ }
1594
+ function debug(...text) {
1595
+ if (process.env.DEBUG) {
1596
+ log(false, chalk.gray, ...text);
1597
+ }
1598
+ }
1599
+ function verbose(...text) {
1600
+ log(false, chalk.white, ...text);
1601
+ }
1602
+ function info(...text) {
1603
+ log(false, chalk.cyan, ...text);
1604
+ }
1605
+
1606
+ // src/task-runtime.ts
1607
+ var ENV_TRIM_LEN = 20;
1608
+ var _TaskRuntime = class {
1609
+ constructor(workdir) {
1610
+ this.workdir = (0, import_path.resolve)(workdir);
1611
+ const manifestPath = (0, import_path.join)(this.workdir, _TaskRuntime.MANIFEST_FILE);
1612
+ this.manifest = (0, import_fs.existsSync)(manifestPath) ? JSON.parse((0, import_fs.readFileSync)(manifestPath, "utf-8")) : { tasks: {} };
1613
+ }
1614
+ get tasks() {
1615
+ return Object.values(this.manifest.tasks ?? {});
1616
+ }
1617
+ tryFindTask(name) {
1618
+ if (!this.manifest.tasks) {
1619
+ return void 0;
1620
+ }
1621
+ return this.manifest.tasks[name];
1622
+ }
1623
+ runTask(name, parents = []) {
1624
+ const task = this.tryFindTask(name);
1625
+ if (!task) {
1626
+ throw new Error(`cannot find command ${task}`);
1627
+ }
1628
+ new RunTask(this, task, parents);
1629
+ }
1630
+ };
1631
+ var TaskRuntime = _TaskRuntime;
1632
+ TaskRuntime.MANIFEST_FILE = path.posix.join(PROJEN_DIR, "tasks.json");
1633
+ var RunTask = class {
1634
+ constructor(runtime, task, parents = []) {
1635
+ this.runtime = runtime;
1636
+ this.task = task;
1637
+ this.env = {};
1638
+ this.workdir = task.cwd ?? this.runtime.workdir;
1639
+ this.parents = parents;
1640
+ if (!task.steps || task.steps.length === 0) {
1641
+ this.logDebug(chalk2.gray("No actions have been specified for this task."));
1642
+ return;
1643
+ }
1644
+ this.env = this.resolveEnvironment(parents);
1645
+ const envlogs = [];
1646
+ for (const [k, v] of Object.entries(this.env)) {
1647
+ const vv = v ?? "";
1648
+ const trimmed = vv.length > ENV_TRIM_LEN ? vv.substr(0, ENV_TRIM_LEN) + "..." : vv;
1649
+ envlogs.push(`${k}=${trimmed}`);
1650
+ }
1651
+ if (envlogs.length) {
1652
+ this.logDebug(chalk2.gray(`${chalk2.underline("env")}: ${envlogs.join(" ")}`));
1653
+ }
1654
+ if (!this.evalCondition(task)) {
1655
+ this.log("condition exited with non-zero - skipping");
1656
+ return;
1657
+ }
1658
+ const merged = { ...process.env, ...this.env };
1659
+ const missing = new Array();
1660
+ for (const name of task.requiredEnv ?? []) {
1661
+ if (!(name in merged)) {
1662
+ missing.push(name);
1663
+ }
1664
+ }
1665
+ if (missing.length > 0) {
1666
+ throw new Error(`missing required environment variables: ${missing.join(",")}`);
1667
+ }
1668
+ for (const step of task.steps) {
1669
+ if (step.say) {
1670
+ info(this.fmtLog(step.say));
1671
+ }
1672
+ if (step.spawn) {
1673
+ this.runtime.runTask(step.spawn, [...this.parents, this.task.name]);
1674
+ }
1675
+ const execs = step.exec ? [step.exec] : [];
1676
+ if (step.builtin) {
1677
+ execs.push(this.renderBuiltin(step.builtin));
1678
+ }
1679
+ for (const exec of execs) {
1680
+ let command = "";
1681
+ let hasError = false;
1682
+ const cmd = exec.split(" ")[0];
1683
+ if ((0, import_os.platform)() == "win32" && ["mkdir", "mv", "rm"].includes(cmd)) {
1684
+ command = `shx ${exec}`;
1685
+ } else {
1686
+ command = exec;
1687
+ }
1688
+ const cwd = step.cwd;
1689
+ try {
1690
+ const result = this.shell({
1691
+ command,
1692
+ cwd
1693
+ });
1694
+ hasError = result.status !== 0;
1695
+ } catch (e) {
1696
+ if (e?.message?.startsWith("non-zero exit code:")) {
1697
+ hasError = true;
1698
+ }
1699
+ throw e;
1700
+ }
1701
+ if (hasError) {
1702
+ throw new Error(`Task "${this.fullname}" failed when executing "${command}" (cwd: ${(0, import_path.resolve)(cwd ?? this.workdir)})`);
1703
+ }
1704
+ }
1705
+ }
1706
+ }
1707
+ evalCondition(task) {
1708
+ if (!task.condition) {
1709
+ return true;
1710
+ }
1711
+ this.log(chalk2.gray(`${chalk2.underline("condition")}: ${task.condition}`));
1712
+ const result = this.shell({
1713
+ command: task.condition,
1714
+ logprefix: "condition: ",
1715
+ quiet: true
1716
+ });
1717
+ if (result.status === 0) {
1718
+ return true;
1719
+ } else {
1720
+ return false;
1721
+ }
1722
+ }
1723
+ resolveEnvironment(parents) {
1724
+ let env = this.runtime.manifest.env ?? {};
1725
+ for (const parent of parents) {
1726
+ env = {
1727
+ ...env,
1728
+ ...this.runtime.tryFindTask(parent)?.env ?? {}
1729
+ };
1730
+ }
1731
+ env = {
1732
+ ...env,
1733
+ ...this.task.env ?? {}
1734
+ };
1735
+ const output = {};
1736
+ for (const [key, value] of Object.entries(env ?? {})) {
1737
+ if (value.startsWith("$(") && value.endsWith(")")) {
1738
+ const query = value.substring(2, value.length - 1);
1739
+ const result = this.shellEval({ command: query });
1740
+ if (result.status !== 0) {
1741
+ const error = result.error ? result.error.stack : result.stderr?.toString() ?? "unknown error";
1742
+ throw new Error(`unable to evaluate environment variable ${key}=${value}: ${error}`);
1743
+ }
1744
+ output[key] = result.stdout.toString("utf-8").trim();
1745
+ } else {
1746
+ output[key] = value;
1747
+ }
1748
+ }
1749
+ return output;
1750
+ }
1751
+ get fullname() {
1752
+ return [...this.parents, this.task.name].join(" \xBB ");
1753
+ }
1754
+ log(...args) {
1755
+ verbose(this.fmtLog(...args));
1756
+ }
1757
+ logDebug(...args) {
1758
+ debug(this.fmtLog(...args));
1759
+ }
1760
+ fmtLog(...args) {
1761
+ return (0, import_util.format)(`${chalk2.underline(this.fullname)} |`, ...args);
1762
+ }
1763
+ shell(options) {
1764
+ const quiet = options.quiet ?? false;
1765
+ if (!quiet) {
1766
+ const log2 = new Array();
1767
+ if (options.logprefix) {
1768
+ log2.push(options.logprefix);
1769
+ }
1770
+ log2.push(options.command);
1771
+ if (options.cwd) {
1772
+ log2.push(`(cwd: ${options.cwd})`);
1773
+ }
1774
+ this.log(log2.join(" "));
1775
+ }
1776
+ const cwd = options.cwd ?? this.workdir;
1777
+ if (!(0, import_fs.existsSync)(cwd) || !(0, import_fs.statSync)(cwd).isDirectory()) {
1778
+ throw new Error(`invalid workdir (cwd): ${cwd} must be an existing directory`);
1779
+ }
1780
+ return (0, import_child_process.spawnSync)(options.command, {
1781
+ ...options,
1782
+ cwd,
1783
+ shell: true,
1784
+ stdio: "inherit",
1785
+ env: {
1786
+ ...process.env,
1787
+ ...this.env
1788
+ },
1789
+ ...options.spawnOptions
1790
+ });
1791
+ }
1792
+ shellEval(options) {
1793
+ return this.shell({
1794
+ quiet: true,
1795
+ ...options,
1796
+ spawnOptions: {
1797
+ stdio: ["inherit", "pipe", "inherit"]
1798
+ }
1799
+ });
1800
+ }
1801
+ renderBuiltin(builtin) {
1802
+ const moduleRoot = (0, import_path.dirname)(require.resolve("../package.json"));
1803
+ const program = require.resolve((0, import_path.join)(moduleRoot, "lib", `${builtin}.task.js`));
1804
+ return `${process.execPath} ${program}`;
1805
+ }
1806
+ };
1807
+ // Annotate the CommonJS export names for ESM import in node:
1808
+ 0 && (module.exports = {
1809
+ TaskRuntime
1810
+ });
2
1811
  const runtime = new TaskRuntime(".");
3
1812
  runtime.runTask(process.argv[2]);