@empire-builder-kit/nx 1.0.0-rc.2 → 1.0.0-rc.21

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 (253) hide show
  1. package/executors.json +10 -0
  2. package/package.json +4 -4
  3. package/src/cli/output.js +1 -1
  4. package/src/developer-agent/model.js +4 -4
  5. package/src/developer-agent/model.js.map +1 -1
  6. package/src/developer-agent/operation-registry.js +67 -10
  7. package/src/developer-agent/operation-registry.js.map +1 -1
  8. package/src/developer-agent/planning.js +7 -9
  9. package/src/developer-agent/planning.js.map +1 -1
  10. package/src/developer-agent/workspace-inspection.js +12 -0
  11. package/src/developer-agent/workspace-inspection.js.map +1 -1
  12. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  13. package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -1
  14. package/src/executors/deployment-plan/deployment-plan.js +5 -0
  15. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  16. package/src/executors/foundation-preflight/foundation-preflight.d.ts +2 -0
  17. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  18. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
  19. package/src/executors/foundation-preflight/schema.json +10 -0
  20. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +2 -0
  21. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +2 -1
  22. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
  23. package/src/executors/foundation-profile-preflight/schema.json +19 -3
  24. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  25. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  26. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +229 -5
  27. package/src/executors/infrastructure-plan/infrastructure-plan.js +2298 -175
  28. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
  29. package/src/executors/infrastructure-plan/schema.json +16 -0
  30. package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +53 -0
  31. package/src/executors/local-deploy/local-approval.d.ts +23 -0
  32. package/src/executors/local-deploy/local-approval.js +43 -0
  33. package/src/executors/local-deploy/local-approval.js.map +1 -0
  34. package/src/executors/local-deploy/local-deploy.d.ts +69 -0
  35. package/src/executors/local-deploy/local-deploy.js +911 -0
  36. package/src/executors/local-deploy/local-deploy.js.map +1 -0
  37. package/src/executors/local-deploy/schema.json +42 -0
  38. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +3 -0
  39. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +94 -0
  40. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -0
  41. package/src/executors/router-waf-rehearsal/schema.json +9 -0
  42. package/src/executors/secret-metadata/schema.json +5 -0
  43. package/src/executors/secret-metadata/secret-metadata.d.ts +12 -1
  44. package/src/executors/secret-metadata/secret-metadata.js +68 -16
  45. package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
  46. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  47. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  48. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -1
  49. package/src/executors/sst-lifecycle/run-sst-command.d.ts +8 -1
  50. package/src/executors/sst-lifecycle/run-sst-command.js +144 -12
  51. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  52. package/src/executors/sst-lifecycle/schema.json +13 -1
  53. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +25 -0
  54. package/src/executors/sst-lifecycle/sst-environment-source.js +213 -0
  55. package/src/executors/sst-lifecycle/sst-environment-source.js.map +1 -0
  56. package/src/foundation/index.d.ts +2 -0
  57. package/src/foundation/index.js +2 -0
  58. package/src/foundation/index.js.map +1 -1
  59. package/src/foundation/logging-preflight.js +1 -1
  60. package/src/foundation/logging-preflight.js.map +1 -1
  61. package/src/foundation/logging.d.ts +3 -1
  62. package/src/foundation/logging.js +1 -1
  63. package/src/foundation/logging.js.map +1 -1
  64. package/src/foundation/partial-state.d.ts +10 -0
  65. package/src/foundation/partial-state.js +21 -0
  66. package/src/foundation/partial-state.js.map +1 -0
  67. package/src/foundation/router-waf.d.ts +98 -0
  68. package/src/foundation/router-waf.js +401 -0
  69. package/src/foundation/router-waf.js.map +1 -0
  70. package/src/generators/function/function.js +2 -1
  71. package/src/generators/function/function.js.map +1 -1
  72. package/src/generators/post-generation-install.d.ts +1 -0
  73. package/src/generators/post-generation-install.js +134 -67
  74. package/src/generators/post-generation-install.js.map +1 -1
  75. package/src/generators/preset/generator.js +23 -3
  76. package/src/generators/preset/generator.js.map +1 -1
  77. package/src/generators/preset/schema.d.ts +7 -0
  78. package/src/generators/preset/schema.json +47 -0
  79. package/src/generators/preset/tool-versions.d.ts +5 -5
  80. package/src/generators/preset/tool-versions.js +4 -4
  81. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  82. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  83. package/src/generators/preset/workspace-files-ci-acceptance.js.map +1 -0
  84. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  85. package/src/generators/preset/workspace-files-developer-agent.js +25 -11
  86. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
  87. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  88. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -1
  89. package/src/generators/preset/workspace-files-performance-load.js +2 -1
  90. package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
  91. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  92. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -1
  93. package/src/generators/preset/workspace-files.d.ts +8 -4
  94. package/src/generators/preset/workspace-files.js +1039 -68
  95. package/src/generators/preset/workspace-files.js.map +1 -1
  96. package/src/generators/repository-policy/repository-policy.js +65 -3
  97. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  98. package/src/generators/repository-policy/schema.d.ts +6 -0
  99. package/src/generators/repository-policy/schema.json +46 -0
  100. package/src/generators/slice/built-in-plan-api-files.js +2 -1
  101. package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
  102. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +19 -1
  103. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
  104. package/src/generators/slice/built-in-plan-data-files.js +16 -5
  105. package/src/generators/slice/built-in-plan-data-files.js.map +1 -1
  106. package/src/generators/slice/built-in-plan-data-retention-job-files.js +10 -6
  107. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -1
  108. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +25 -10
  109. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
  110. package/src/generators/slice/built-in-plan-foundation-files.js +2 -3
  111. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
  112. package/src/generators/slice/built-in-plan-infrastructure-files.js +364 -29
  113. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
  114. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  115. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -1
  116. package/src/generators/slice/built-in-plan-metadata-files.js +1 -0
  117. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
  118. package/src/generators/slice/built-in-plan-operations-files.js +442 -5
  119. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  120. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  121. package/src/generators/slice/built-in-plan-performance-files.js +41 -47
  122. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
  123. package/src/generators/slice/built-in-plan-project-files.js +14 -1
  124. package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
  125. package/src/generators/slice/built-in-plan-release-files.js +235 -56
  126. package/src/generators/slice/built-in-plan-release-files.js.map +1 -1
  127. package/src/generators/slice/built-in-plan-testing-files.js +92 -5
  128. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
  129. package/src/generators/slice/built-in-plan-web-files.js +13 -0
  130. package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
  131. package/src/generators/slice/built-in-plan-workload-role-files.js +5 -2
  132. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
  133. package/src/generators/slice/built-in-plan.d.ts +2 -1
  134. package/src/generators/slice/built-in-plan.js +8 -5
  135. package/src/generators/slice/built-in-plan.js.map +1 -1
  136. package/src/generators/slice/slice.js +11 -3
  137. package/src/generators/slice/slice.js.map +1 -1
  138. package/src/generators/upgrade/upgrade.js +35 -0
  139. package/src/generators/upgrade/upgrade.js.map +1 -1
  140. package/src/generators/workload/frozen-container.d.ts +3 -2
  141. package/src/generators/workload/frozen-container.js +6 -4
  142. package/src/generators/workload/frozen-container.js.map +1 -1
  143. package/src/generators/workload/workload.js +2 -2
  144. package/src/generators/workload/workload.js.map +1 -1
  145. package/src/git-policy/github-bootstrap.d.ts +3 -1
  146. package/src/git-policy/github-bootstrap.js +22 -5
  147. package/src/git-policy/github-bootstrap.js.map +1 -1
  148. package/src/git-policy/routing.d.ts +2 -0
  149. package/src/git-policy/routing.js +12 -1
  150. package/src/git-policy/routing.js.map +1 -1
  151. package/src/infrastructure-change/local-capability.d.ts +73 -0
  152. package/src/infrastructure-change/local-capability.js +114 -0
  153. package/src/infrastructure-change/local-capability.js.map +1 -0
  154. package/src/infrastructure-change/model.d.ts +25 -4
  155. package/src/infrastructure-change/model.js +1 -0
  156. package/src/infrastructure-change/model.js.map +1 -1
  157. package/src/infrastructure-change/normalize.d.ts +4 -0
  158. package/src/infrastructure-change/normalize.js +47 -7
  159. package/src/infrastructure-change/normalize.js.map +1 -1
  160. package/src/infrastructure-change/plan.d.ts +30 -3
  161. package/src/infrastructure-change/plan.js +323 -13
  162. package/src/infrastructure-change/plan.js.map +1 -1
  163. package/src/infrastructure-change/risk.d.ts +3 -1
  164. package/src/infrastructure-change/risk.js +96 -16
  165. package/src/infrastructure-change/risk.js.map +1 -1
  166. package/src/local-dev/environment-inspector.d.ts +1 -0
  167. package/src/local-dev/environment-inspector.js +21 -9
  168. package/src/local-dev/environment-inspector.js.map +1 -1
  169. package/src/local-dev/private-state.d.ts +2 -0
  170. package/src/local-dev/private-state.js +3 -1
  171. package/src/local-dev/private-state.js.map +1 -1
  172. package/src/performance/cost-controls.d.ts +5 -3
  173. package/src/performance/cost-controls.js +30 -24
  174. package/src/performance/cost-controls.js.map +1 -1
  175. package/src/performance/model.d.ts +1 -1
  176. package/src/performance/model.js +0 -2
  177. package/src/performance/model.js.map +1 -1
  178. package/src/performance/test-fixtures.js +0 -2
  179. package/src/performance/test-fixtures.js.map +1 -1
  180. package/src/release/source-authority.d.ts +1 -0
  181. package/src/release/source-authority.js +136 -9
  182. package/src/release/source-authority.js.map +1 -1
  183. package/src/repository-policy/deployment-plan.d.ts +4 -1
  184. package/src/repository-policy/deployment-plan.js +8 -0
  185. package/src/repository-policy/deployment-plan.js.map +1 -1
  186. package/src/repository-policy/foundation-profile.js +1 -2
  187. package/src/repository-policy/foundation-profile.js.map +1 -1
  188. package/src/repository-policy/policy.d.ts +25 -1
  189. package/src/repository-policy/policy.js +145 -4
  190. package/src/repository-policy/policy.js.map +1 -1
  191. package/src/schemas/performance-policy-v1.json +0 -2
  192. package/src/schemas/repository-policy-v1.json +41 -0
  193. package/src/secrets/operator.js +22 -4
  194. package/src/secrets/operator.js.map +1 -1
  195. package/src/secrets/verification.js +9 -1
  196. package/src/secrets/verification.js.map +1 -1
  197. package/src/sst-environment-source-format.d.ts +3 -0
  198. package/src/sst-environment-source-format.js +179 -0
  199. package/src/sst-environment-source-format.js.map +1 -0
  200. package/src/supply-chain/blueprint-trust-git.js +72 -21
  201. package/src/supply-chain/blueprint-trust-git.js.map +1 -1
  202. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  203. package/src/supply-chain/blueprint-verification-authority.js.map +1 -1
  204. package/src/supply-chain/blueprint-verification-execution.js +17 -2
  205. package/src/supply-chain/blueprint-verification-execution.js.map +1 -1
  206. package/src/supply-chain/build-output.d.ts +7 -1
  207. package/src/supply-chain/build-output.js +160 -20
  208. package/src/supply-chain/build-output.js.map +1 -1
  209. package/src/supply-chain/generated-command.js +131 -43
  210. package/src/supply-chain/generated-command.js.map +1 -1
  211. package/src/supply-chain/generated-container-release-command.js +187 -38
  212. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  213. package/src/supply-chain/generated-ecr-collector-command.js +12 -2
  214. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
  215. package/src/supply-chain/generated-scanner-command.js +114 -54
  216. package/src/supply-chain/generated-scanner-command.js.map +1 -1
  217. package/src/supply-chain/inventory.d.ts +17 -0
  218. package/src/supply-chain/inventory.js +114 -3
  219. package/src/supply-chain/inventory.js.map +1 -1
  220. package/src/supply-chain/pnpm-toolchain-authority.d.ts +4 -3
  221. package/src/supply-chain/pnpm-toolchain-authority.js +20 -34
  222. package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -1
  223. package/src/supply-chain/policy.js +4 -1
  224. package/src/supply-chain/policy.js.map +1 -1
  225. package/src/supply-chain/sbom.d.ts +1 -1
  226. package/src/supply-chain/sbom.js +30 -5
  227. package/src/supply-chain/sbom.js.map +1 -1
  228. package/src/supply-chain/scanner.js +10 -1
  229. package/src/supply-chain/scanner.js.map +1 -1
  230. package/src/workload-roles/account-baseline.d.ts +11 -0
  231. package/src/workload-roles/account-baseline.js +253 -16
  232. package/src/workload-roles/account-baseline.js.map +1 -1
  233. package/src/workload-roles/authority.d.ts +3 -1
  234. package/src/workload-roles/authority.js +48 -2
  235. package/src/workload-roles/authority.js.map +1 -1
  236. package/src/workload-roles/aws-s3-state.js +27 -0
  237. package/src/workload-roles/aws-s3-state.js.map +1 -1
  238. package/src/workload-roles/boundary.d.ts +2 -1
  239. package/src/workload-roles/boundary.js +9 -2
  240. package/src/workload-roles/boundary.js.map +1 -1
  241. package/src/workload-roles/handler.js +52 -24
  242. package/src/workload-roles/handler.js.map +1 -1
  243. package/src/workload-roles/injection.js +1 -1
  244. package/src/workload-roles/injection.js.map +1 -1
  245. package/src/workload-roles/provisioner.js +12 -4
  246. package/src/workload-roles/provisioner.js.map +1 -1
  247. package/src/workload-roles/registration.d.ts +1 -0
  248. package/src/workload-roles/registration.js +5 -0
  249. package/src/workload-roles/registration.js.map +1 -1
  250. package/src/workload-roles/stage-boundary.js +1 -1
  251. package/src/workload-roles/stage-boundary.js.map +1 -1
  252. package/src/workload-roles/standard-slice.js +1 -0
  253. package/src/workload-roles/standard-slice.js.map +1 -1
@@ -133,6 +133,7 @@ export function resolveStandardContainerImage(input: {
133
133
  process.env.EBK_SOURCE_COMMIT?.trim() ?? input.sourceCommit,
134
134
  releaseSourceCommit: input.sourceCommit,
135
135
  repositoryRoot,
136
+ sstEnvironmentProjectRoot: resolve(repositoryRoot, 'packages/${name}'),
136
137
  });
137
138
  const controls = readJson(
138
139
  repositoryRoot,
@@ -1661,11 +1662,20 @@ import {
1661
1662
  lstatSync,
1662
1663
  mkdirSync,
1663
1664
  readFileSync,
1665
+ readlinkSync,
1664
1666
  readdirSync,
1665
1667
  realpathSync,
1666
1668
  writeFileSync,
1667
1669
  } from 'node:fs';
1668
- import { isAbsolute, join, relative, resolve, sep } from 'node:path';
1670
+ import {
1671
+ basename,
1672
+ dirname,
1673
+ isAbsolute,
1674
+ join,
1675
+ relative,
1676
+ resolve,
1677
+ sep,
1678
+ } from 'node:path';
1669
1679
  import {
1670
1680
  createNextJsBuildOutputInventory,
1671
1681
  validateContainerArtifactIdentity,
@@ -1680,12 +1690,41 @@ const sourceCommit =
1680
1690
  if (!sourceCommit || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(sourceCommit)) {
1681
1691
  throw new Error('EBK_SOURCE_COMMIT must be one exact Git object ID.');
1682
1692
  }
1683
- const repositoryRoot = execFileSync(
1684
- 'git',
1685
- ['rev-parse', '--show-toplevel'],
1686
- { encoding: 'utf8' },
1687
- ).trim();
1688
- const repositoryRootReal = realpathSync(repositoryRoot);
1693
+ const repositoryRoot = realpathSync(
1694
+ execFileSync('git', ['rev-parse', '--show-toplevel'], {
1695
+ encoding: 'utf8',
1696
+ }).trim(),
1697
+ );
1698
+ const repositoryRootReal = repositoryRoot;
1699
+ const repositoryRootIdentity = lstatSync(repositoryRootReal, {
1700
+ bigint: true,
1701
+ });
1702
+ if (
1703
+ !repositoryRootIdentity.isDirectory() ||
1704
+ repositoryRootIdentity.ino === 0n
1705
+ ) {
1706
+ throw new Error('Artifact capture cannot bind the repository identity.');
1707
+ }
1708
+ const repositoryRelativeRealPath = (absolute, pointer) => {
1709
+ const segments = [];
1710
+ let current = absolute;
1711
+ for (let depth = 0; depth <= 1024; depth += 1) {
1712
+ const identity = lstatSync(current, { bigint: true });
1713
+ if (
1714
+ identity.dev === repositoryRootIdentity.dev &&
1715
+ identity.ino === repositoryRootIdentity.ino
1716
+ ) {
1717
+ return segments.reverse().join(sep);
1718
+ }
1719
+ const parent = dirname(current);
1720
+ if (parent === current) break;
1721
+ const segment = basename(current);
1722
+ if (!segment || segment === '.' || segment === '..') break;
1723
+ segments.push(segment);
1724
+ current = parent;
1725
+ }
1726
+ throw new Error(pointer + ' resolves outside the repository.');
1727
+ };
1689
1728
  const requireCleanTree = () => {
1690
1729
  const status = execFileSync(
1691
1730
  'git',
@@ -1896,7 +1935,7 @@ if (
1896
1935
  ) {
1897
1936
  throw new Error('Generated artifact inventory names must be unique.');
1898
1937
  }
1899
- const safeFiles = (paths, pointer) => {
1938
+ const safeFiles = (paths, pointer, { allowSymbolicLinks = false } = {}) => {
1900
1939
  if (!Array.isArray(paths) || paths.length === 0) {
1901
1940
  throw new Error(pointer + ' must name at least one artifact path.');
1902
1941
  }
@@ -1916,33 +1955,61 @@ const safeFiles = (paths, pointer) => {
1916
1955
  throw new Error(pointer + ' contains a path outside the repository.');
1917
1956
  }
1918
1957
  let walked = repositoryRootReal;
1919
- for (const segment of pathFromRoot.split(sep)) {
1958
+ const segments = pathFromRoot.split(sep);
1959
+ for (const [index, segment] of segments.entries()) {
1920
1960
  walked = resolve(walked, segment);
1921
- if (lstatSync(walked).isSymbolicLink()) {
1961
+ if (
1962
+ lstatSync(walked).isSymbolicLink() &&
1963
+ (!allowSymbolicLinks || index !== segments.length - 1)
1964
+ ) {
1922
1965
  throw new Error(pointer + ' may not traverse symbolic links.');
1923
1966
  }
1924
1967
  }
1925
1968
  const real = realpathSync(absolute);
1926
- const realFromRoot = relative(repositoryRootReal, real);
1927
- if (
1928
- realFromRoot === '..' ||
1929
- realFromRoot.startsWith('..' + sep) ||
1930
- isAbsolute(realFromRoot)
1931
- ) {
1932
- throw new Error(pointer + ' resolves outside the repository.');
1933
- }
1969
+ const realFromRoot = repositoryRelativeRealPath(real, pointer);
1934
1970
  const stat = lstatSync(absolute);
1935
- if (stat.isDirectory()) {
1971
+ const normalized = pathFromRoot.split(sep).join('/');
1972
+ if (stat.isSymbolicLink()) {
1973
+ const targetText = readlinkSync(absolute, 'utf8');
1974
+ const target = realFromRoot.split(sep).join('/');
1975
+ const targetStat = lstatSync(real);
1976
+ const targetKind = targetStat.isDirectory()
1977
+ ? 'directory'
1978
+ : targetStat.isFile()
1979
+ ? 'file'
1980
+ : undefined;
1981
+ if (
1982
+ !allowSymbolicLinks ||
1983
+ Buffer.byteLength(targetText, 'utf8') > 4096 ||
1984
+ !targetKind
1985
+ ) {
1986
+ throw new Error(
1987
+ pointer + ' contains an unsupported symbolic link.',
1988
+ );
1989
+ }
1990
+ if (seen.has(normalized)) {
1991
+ throw new Error(pointer + ' contains overlapping artifact paths.');
1992
+ }
1993
+ seen.add(normalized);
1994
+ files.push({
1995
+ kind: 'link',
1996
+ path: normalized,
1997
+ target,
1998
+ targetKind,
1999
+ targetTextSha256: createHash('sha256')
2000
+ .update(targetText, 'utf8')
2001
+ .digest('hex'),
2002
+ });
2003
+ } else if (stat.isDirectory()) {
1936
2004
  for (const child of readdirSync(absolute).sort()) {
1937
2005
  visit(join(pathFromRoot, child));
1938
2006
  }
1939
2007
  } else if (stat.isFile()) {
1940
- const normalized = pathFromRoot.split(sep).join('/');
1941
2008
  if (seen.has(normalized)) {
1942
2009
  throw new Error(pointer + ' contains overlapping artifact paths.');
1943
2010
  }
1944
2011
  seen.add(normalized);
1945
- files.push([normalized, real]);
2012
+ files.push({ absolute: real, kind: 'file', path: normalized });
1946
2013
  } else {
1947
2014
  throw new Error(pointer + ' may contain only regular files.');
1948
2015
  }
@@ -1957,16 +2024,29 @@ const safeFiles = (paths, pointer) => {
1957
2024
  }
1958
2025
  visit(candidate);
1959
2026
  }
1960
- return files.sort(([left], [right]) =>
2027
+ return files.sort(({ path: left }, { path: right }) =>
1961
2028
  left < right ? -1 : left > right ? 1 : 0,
1962
2029
  );
1963
2030
  };
1964
- const digestPaths = (paths, pointer) => {
2031
+ const digestPaths = (paths, pointer, options) => {
1965
2032
  const hash = createHash('sha256');
1966
- for (const [path, absolute] of safeFiles(paths, pointer)) {
1967
- const content = readFileSync(absolute);
2033
+ for (const entry of safeFiles(paths, pointer, options)) {
2034
+ const { path } = entry;
1968
2035
  hash.update(path, 'utf8');
1969
2036
  hash.update('\\0');
2037
+ if (entry.kind === 'link') {
2038
+ hash.update(entry.kind, 'utf8');
2039
+ hash.update('\\0');
2040
+ hash.update(entry.target, 'utf8');
2041
+ hash.update('\\0');
2042
+ hash.update(entry.targetKind, 'utf8');
2043
+ hash.update('\\0');
2044
+ hash.update(entry.targetTextSha256, 'utf8');
2045
+ hash.update('\\0');
2046
+ continue;
2047
+ }
2048
+ const { absolute } = entry;
2049
+ const content = readFileSync(absolute);
1970
2050
  hash.update(String(content.byteLength), 'utf8');
1971
2051
  hash.update('\\0');
1972
2052
  hash.update(content);
@@ -2019,6 +2099,11 @@ const artifacts = inventory.map((artifact, index) => {
2019
2099
  pointer + ' does not match the generated candidate recipe.',
2020
2100
  );
2021
2101
  }
2102
+ const materialDigestOptions =
2103
+ artifact.buildArtifact?.support === 'supported' &&
2104
+ artifact.buildArtifact.family === 'nextjs-build-output'
2105
+ ? { allowSymbolicLinks: true }
2106
+ : undefined;
2022
2107
  const common = {
2023
2108
  buildRecipeDigest: digestPaths(
2024
2109
  binding.recipePaths,
@@ -2038,6 +2123,7 @@ const artifacts = inventory.map((artifact, index) => {
2038
2123
  digest: digestPaths(
2039
2124
  binding.materialPaths,
2040
2125
  pointer + '.materialPaths',
2126
+ materialDigestOptions,
2041
2127
  ),
2042
2128
  stages: ['production', 'staging'],
2043
2129
  };
@@ -2048,6 +2134,7 @@ const artifacts = inventory.map((artifact, index) => {
2048
2134
  candidateDigest: digestPaths(
2049
2135
  binding.materialPaths,
2050
2136
  pointer + '.materialPaths',
2137
+ materialDigestOptions,
2051
2138
  ),
2052
2139
  classification: 'stage-specific',
2053
2140
  providerEvidence: artifact.providerEvidence,
@@ -2080,20 +2167,53 @@ const buildOutputs = inventory.flatMap((declared, index) => {
2080
2167
  ];
2081
2168
  });
2082
2169
  requireCleanTree();
2083
- const provenance = {
2084
- runAttempt: process.env.GITHUB_RUN_ATTEMPT?.trim(),
2085
- runId: process.env.GITHUB_RUN_ID?.trim(),
2086
- workflow: process.env.GITHUB_WORKFLOW_REF?.trim(),
2087
- };
2170
+ const localFederated =
2171
+ process.env.GITHUB_ACTIONS !== 'true' &&
2172
+ process.env.EBK_LOCAL_DEPLOYMENT_MODE === 'federated';
2173
+ const localStage = process.env.EBK_STAGE?.trim() ?? '';
2174
+ const localAccount = process.env.AWS_EXPECTED_ACCOUNT_ID?.trim() ?? '';
2175
+ const localRegion = process.env.AWS_REGION?.trim() ?? '';
2176
+ if (localFederated) {
2177
+ const policy = JSON.parse(
2178
+ readFileSync(join(repositoryRoot, 'ebk.repository-policy.json'), 'utf8'),
2179
+ );
2180
+ if (
2181
+ policy.deploymentProfile !== 'starter' ||
2182
+ !['development', 'staging'].includes(localStage) ||
2183
+ policy.deploymentAccounts?.[localStage] !== localAccount ||
2184
+ policy.deploymentRegion !== localRegion
2185
+ ) {
2186
+ throw new Error(
2187
+ 'Local release artifact capture requires a locally admitted exact starter deployment target; production requires protected GitHub authority.',
2188
+ );
2189
+ }
2190
+ }
2191
+ const provenance = localFederated
2192
+ ? {
2193
+ runAttempt: '1',
2194
+ runId: (BigInt('0x' + sourceCommit.slice(0, 15)) + 1n).toString(),
2195
+ workflow:
2196
+ 'local-federated/' +
2197
+ localStage +
2198
+ '/' +
2199
+ localAccount +
2200
+ '/' +
2201
+ localRegion,
2202
+ }
2203
+ : {
2204
+ runAttempt: process.env.GITHUB_RUN_ATTEMPT?.trim(),
2205
+ runId: process.env.GITHUB_RUN_ID?.trim(),
2206
+ workflow: process.env.GITHUB_WORKFLOW_REF?.trim(),
2207
+ };
2088
2208
  if (
2089
- process.env.GITHUB_ACTIONS === 'true' &&
2090
- (!/^[1-9][0-9]*$/.test(provenance.runAttempt ?? '') ||
2091
- !/^[1-9][0-9]*$/.test(provenance.runId ?? '') ||
2092
- !provenance.workflow ||
2093
- provenance.workflow.length > 512)
2209
+ (!localFederated && process.env.GITHUB_ACTIONS !== 'true') ||
2210
+ !/^[1-9][0-9]*$/.test(provenance.runAttempt ?? '') ||
2211
+ !/^[1-9][0-9]*$/.test(provenance.runId ?? '') ||
2212
+ !provenance.workflow ||
2213
+ provenance.workflow.length > 512
2094
2214
  ) {
2095
2215
  throw new Error(
2096
- 'GitHub release candidate capture requires exact workflow provenance.',
2216
+ 'Release artifact capture requires exact GitHub or local-federated provenance.',
2097
2217
  );
2098
2218
  }
2099
2219
  const evidence = {
@@ -2141,19 +2261,9 @@ import { isBoundedSafeReference } from '@empire-builder-kit/runtime/safe-referen
2141
2261
  import ts from 'typescript';
2142
2262
 
2143
2263
  const sourceCommit = process.env.EBK_SOURCE_COMMIT?.trim();
2144
- const runId = process.env.GITHUB_RUN_ID?.trim();
2145
- const runAttempt = process.env.GITHUB_RUN_ATTEMPT?.trim();
2146
- const workflow = process.env.GITHUB_WORKFLOW_REF?.trim();
2147
- if (
2148
- process.env.GITHUB_ACTIONS !== 'true' ||
2149
- !sourceCommit ||
2150
- !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(sourceCommit) ||
2151
- !/^[1-9][0-9]*$/.test(runId ?? '') ||
2152
- !/^[1-9][0-9]*$/.test(runAttempt ?? '') ||
2153
- !isBoundedSafeReference(workflow, 'repository-evidence')
2154
- ) {
2264
+ if (!sourceCommit || !/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/.test(sourceCommit)) {
2155
2265
  throw new Error(
2156
- 'Release candidates require exact GitHub workflow provenance.',
2266
+ 'Release candidates require one exact source commit.',
2157
2267
  );
2158
2268
  }
2159
2269
  const git = (...args) =>
@@ -2167,6 +2277,51 @@ if (
2167
2277
  );
2168
2278
  }
2169
2279
  const repository = git('remote', 'get-url', 'origin');
2280
+ const localFederated =
2281
+ process.env.GITHUB_ACTIONS !== 'true' &&
2282
+ process.env.EBK_LOCAL_DEPLOYMENT_MODE === 'federated';
2283
+ const localStage = process.env.EBK_STAGE?.trim() ?? '';
2284
+ const localAccount = process.env.AWS_EXPECTED_ACCOUNT_ID?.trim() ?? '';
2285
+ const localRegion = process.env.AWS_REGION?.trim() ?? '';
2286
+ if (localFederated) {
2287
+ const policy = JSON.parse(
2288
+ readFileSync(new URL('../../../ebk.repository-policy.json', import.meta.url), 'utf8'),
2289
+ );
2290
+ if (
2291
+ policy.deploymentProfile !== 'starter' ||
2292
+ !['development', 'staging'].includes(localStage) ||
2293
+ policy.deploymentAccounts?.[localStage] !== localAccount ||
2294
+ policy.deploymentRegion !== localRegion
2295
+ ) {
2296
+ throw new Error(
2297
+ 'Local release candidates require a locally admitted exact starter deployment target; production requires protected GitHub authority.',
2298
+ );
2299
+ }
2300
+ }
2301
+ const runId = localFederated
2302
+ ? (BigInt('0x' + sourceCommit.slice(0, 15)) + 1n).toString()
2303
+ : process.env.GITHUB_RUN_ID?.trim();
2304
+ const runAttempt = localFederated
2305
+ ? '1'
2306
+ : process.env.GITHUB_RUN_ATTEMPT?.trim();
2307
+ const workflow = localFederated
2308
+ ? 'local-federated/' +
2309
+ localStage +
2310
+ '/' +
2311
+ localAccount +
2312
+ '/' +
2313
+ localRegion
2314
+ : process.env.GITHUB_WORKFLOW_REF?.trim();
2315
+ if (
2316
+ (!localFederated && process.env.GITHUB_ACTIONS !== 'true') ||
2317
+ !/^[1-9][0-9]*$/.test(runId ?? '') ||
2318
+ !/^[1-9][0-9]*$/.test(runAttempt ?? '') ||
2319
+ !isBoundedSafeReference(workflow, 'repository-evidence')
2320
+ ) {
2321
+ throw new Error(
2322
+ 'Release candidates require exact GitHub or local-federated provenance.',
2323
+ );
2324
+ }
2170
2325
  const builtAt = new Date(
2171
2326
  git('show', '-s', '--format=%cI', sourceCommit),
2172
2327
  ).toISOString();
@@ -3987,7 +4142,7 @@ const requireSupplyChainManifest = (path) => {
3987
4142
  ).value;
3988
4143
  if (
3989
4144
  finalSbom?.bomFormat !== 'CycloneDX' ||
3990
- finalSbom.specVersion !== '1.6' ||
4145
+ finalSbom.specVersion !== '1.7' ||
3991
4146
  finalSbom.version !== 1 ||
3992
4147
  finalSbom.serialNumber?.toLowerCase() !== reference.serialNumber ||
3993
4148
  !Array.isArray(finalSbom.components) ||
@@ -3997,7 +4152,7 @@ const requireSupplyChainManifest = (path) => {
3997
4152
  typeof finalSbom.metadata !== 'object' ||
3998
4153
  !Array.isArray(finalSbom.metadata.properties)
3999
4154
  ) {
4000
- throw new Error('Final OCI SBOM is not complete CycloneDX 1.6 evidence.');
4155
+ throw new Error('Final OCI SBOM is not complete CycloneDX 1.7 evidence.');
4001
4156
  }
4002
4157
  const properties = new Map();
4003
4158
  for (const property of finalSbom.metadata.properties) {
@@ -4097,7 +4252,7 @@ const requireSupplyChainManifest = (path) => {
4097
4252
  ).value;
4098
4253
  if (
4099
4254
  platformSbom?.bomFormat !== 'CycloneDX' ||
4100
- platformSbom.specVersion !== '1.6' ||
4255
+ platformSbom.specVersion !== '1.7' ||
4101
4256
  platformSbom.version !== 1 ||
4102
4257
  platformSbom.serialNumber?.toLowerCase() !==
4103
4258
  platform.sbom.serialNumber ||
@@ -4112,7 +4267,7 @@ const requireSupplyChainManifest = (path) => {
4112
4267
  name: component?.name,
4113
4268
  purl: component?.purl ?? '',
4114
4269
  type: component?.type,
4115
- version: component?.version,
4270
+ version: component?.version ?? '',
4116
4271
  }))
4117
4272
  .sort((left, right) =>
4118
4273
  JSON.stringify(left) < JSON.stringify(right)
@@ -4122,11 +4277,31 @@ const requireSupplyChainManifest = (path) => {
4122
4277
  : 0,
4123
4278
  );
4124
4279
  if (
4125
- componentSet.some(
4280
+ platformSbom.components.some(
4126
4281
  (component) =>
4127
- typeof component.name !== 'string' ||
4282
+ typeof component?.name !== 'string' ||
4283
+ component.name.length === 0 ||
4128
4284
  typeof component.type !== 'string' ||
4129
- typeof component.version !== 'string',
4285
+ component.type.length === 0 ||
4286
+ !(
4287
+ (typeof component.version === 'string' &&
4288
+ component.version.length > 0) ||
4289
+ (component.type === 'file' &&
4290
+ component.version === undefined &&
4291
+ component.purl === undefined &&
4292
+ component.name.startsWith('/') &&
4293
+ component.name.length <= 4_096 &&
4294
+ Array.isArray(component.hashes) &&
4295
+ component.hashes.length === 2 &&
4296
+ component.hashes[0]?.alg === 'SHA-1' &&
4297
+ /^[a-f0-9]{40}$/.test(
4298
+ component.hashes[0]?.content ?? '',
4299
+ ) &&
4300
+ component.hashes[1]?.alg === 'SHA-256' &&
4301
+ /^[a-f0-9]{64}$/.test(
4302
+ component.hashes[1]?.content ?? '',
4303
+ ))
4304
+ ),
4130
4305
  ) ||
4131
4306
  supplyChainDigest(componentSet) !== platform.sbom.componentSetDigest
4132
4307
  ) {
@@ -6165,7 +6340,11 @@ if (['stopped', 'recovering'].includes(result.rollout.phase)) {
6165
6340
  sourceInputPaths: [
6166
6341
  `packages/${name}/configuration`,
6167
6342
  `packages/${name}/infra`,
6168
- `packages/${name}/web`,
6343
+ `packages/${name}/web/next-env.d.ts`,
6344
+ `packages/${name}/web/next.config.ts`,
6345
+ `packages/${name}/web/open-next.config.ts`,
6346
+ `packages/${name}/web/src`,
6347
+ `packages/${name}/web/tsconfig.json`,
6169
6348
  ],
6170
6349
  },
6171
6350
  buildArtifact: {
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-plan-release-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-release-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"built-in-plan-release-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-release-files.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAkHZ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA0eT,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAmNN,IAAI;;;;;;;;yCAQQ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgLrB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;0BAwBF,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJ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"}
@@ -334,14 +334,16 @@ export function reconcileRunnerQuarantine(options) {
334
334
  import { createHash, randomUUID } from 'node:crypto';
335
335
  import {
336
336
  existsSync,
337
+ lstatSync,
337
338
  mkdirSync,
338
339
  readFileSync,
340
+ realpathSync,
339
341
  readdirSync,
340
342
  rmSync,
341
343
  statSync,
342
344
  writeFileSync,
343
345
  } from 'node:fs';
344
- import { join, relative, resolve } from 'node:path';
346
+ import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
345
347
  import { createRequire } from 'node:module';
346
348
  import { TextDecoder } from 'node:util';
347
349
  import pg from 'pg';
@@ -406,6 +408,93 @@ const frameworkCandidate =
406
408
  if (typeof frameworkCandidate !== 'string' || !frameworkCandidate) {
407
409
  throw new Error('The workspace runtime candidate is unavailable.');
408
410
  }
411
+
412
+ function pathIsInsideInstalledRoot(root, candidate) {
413
+ const fromRoot = relative(root, candidate);
414
+ return (
415
+ fromRoot.length > 0 &&
416
+ fromRoot !== '..' &&
417
+ !fromRoot.startsWith('..' + sep) &&
418
+ !isAbsolute(fromRoot)
419
+ );
420
+ }
421
+
422
+ function resolveInstalledVitestCommand(options = {}) {
423
+ const expectedVersion = workspacePackage.devDependencies?.vitest;
424
+ if (
425
+ typeof expectedVersion !== 'string' ||
426
+ !/^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$/.test(expectedVersion)
427
+ ) {
428
+ throw new Error(
429
+ 'Integration tests require one exact workspace Vitest version.',
430
+ );
431
+ }
432
+ const nodeModulesPath = join(workspaceRoot, 'node_modules');
433
+ const nodeModulesMetadata = lstatSync(nodeModulesPath);
434
+ if (
435
+ nodeModulesMetadata.isSymbolicLink() ||
436
+ !nodeModulesMetadata.isDirectory()
437
+ ) {
438
+ throw new Error(
439
+ 'Integration tests require one real workspace node_modules authority.',
440
+ );
441
+ }
442
+ const canonicalNodeModules = realpathSync(nodeModulesPath);
443
+ const packageResolver =
444
+ options.packageResolver ?? ((specifier) => require.resolve(specifier));
445
+ const requestedManifest = packageResolver('vitest/package.json');
446
+ const manifestMetadata = lstatSync(requestedManifest);
447
+ const canonicalManifest = realpathSync(requestedManifest);
448
+ if (
449
+ manifestMetadata.isSymbolicLink() ||
450
+ !manifestMetadata.isFile() ||
451
+ manifestMetadata.size < 2 ||
452
+ manifestMetadata.size > 64 * 1024 ||
453
+ !pathIsInsideInstalledRoot(canonicalNodeModules, canonicalManifest)
454
+ ) {
455
+ throw new Error(
456
+ 'Integration tests require one confined regular Vitest manifest.',
457
+ );
458
+ }
459
+ const manifest = readJson(canonicalManifest);
460
+ if (
461
+ manifest.name !== 'vitest' ||
462
+ manifest.version !== expectedVersion ||
463
+ manifest.bin?.vitest !== './vitest.mjs'
464
+ ) {
465
+ throw new Error(
466
+ 'Integration tests require the exact installed Vitest package authority.',
467
+ );
468
+ }
469
+ const packageRoot = dirname(canonicalManifest);
470
+ const requestedEntryPoint = resolve(packageRoot, manifest.bin.vitest);
471
+ const entryMetadata = lstatSync(requestedEntryPoint);
472
+ const canonicalEntryPoint = realpathSync(requestedEntryPoint);
473
+ if (
474
+ entryMetadata.isSymbolicLink() ||
475
+ !entryMetadata.isFile() ||
476
+ entryMetadata.size < 2 ||
477
+ entryMetadata.size > 64 * 1024 ||
478
+ !pathIsInsideInstalledRoot(packageRoot, canonicalEntryPoint) ||
479
+ !pathIsInsideInstalledRoot(canonicalNodeModules, canonicalEntryPoint)
480
+ ) {
481
+ throw new Error(
482
+ 'Integration tests require one confined regular Vitest entrypoint.',
483
+ );
484
+ }
485
+ const requestedNode = options.nodeExecutable ?? process.execPath;
486
+ if (typeof requestedNode !== 'string' || !isAbsolute(requestedNode)) {
487
+ throw new Error('Integration tests require one absolute Node authority.');
488
+ }
489
+ const canonicalNode = realpathSync(requestedNode);
490
+ const nodeMetadata = lstatSync(canonicalNode);
491
+ if (nodeMetadata.isSymbolicLink() || !nodeMetadata.isFile()) {
492
+ throw new Error('Integration tests require one real Node executable.');
493
+ }
494
+ return { command: canonicalNode, entryPoint: canonicalEntryPoint };
495
+ }
496
+
497
+ const installedVitestCommand = resolveInstalledVitestCommand();
409
498
  const blueprintCandidates = [
410
499
  ownership.blueprint.name + '@' + ownership.blueprint.version,
411
500
  ];
@@ -595,10 +684,8 @@ async function prepareDatabase(adminUrl, databaseName) {
595
684
  }
596
685
 
597
686
  function runWorker(worker, databaseUrl, reportPath, attempt) {
598
- const executable = process.platform === 'win32' ? 'pnpm.cmd' : 'pnpm';
599
687
  const arguments_ = [
600
- 'exec',
601
- 'vitest',
688
+ installedVitestCommand.entryPoint,
602
689
  'run',
603
690
  '--config',
604
691
  'vitest.integration.config.ts',
@@ -633,7 +720,7 @@ function runWorker(worker, databaseUrl, reportPath, attempt) {
633
720
  workerEnvironmentNames.has(name) && typeof value === 'string',
634
721
  ),
635
722
  );
636
- const child = spawn(executable, arguments_, {
723
+ const child = spawn(installedVitestCommand.command, arguments_, {
637
724
  cwd: projectRoot,
638
725
  env: {
639
726
  ...childEnvironment,
@@ -1 +1 @@
1
- {"version":3,"file":"built-in-plan-testing-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-testing-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"built-in-plan-testing-files.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/slice/built-in-plan-testing-files.ts"],"names":[],"mappings":"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"}