@empire-builder-kit/nx 1.0.0-beta.10

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 (243) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +5 -0
  3. package/README.md +34 -0
  4. package/executors.json +74 -0
  5. package/generators.json +40 -0
  6. package/migrations/standard-pre-v1-to-v1.md +11 -0
  7. package/package.json +80 -0
  8. package/src/blueprints/execution.d.ts +31 -0
  9. package/src/blueprints/execution.js +166 -0
  10. package/src/blueprints/execution.js.map +1 -0
  11. package/src/blueprints/index.d.ts +5 -0
  12. package/src/blueprints/index.js +9 -0
  13. package/src/blueprints/index.js.map +1 -0
  14. package/src/blueprints/inputs.d.ts +43 -0
  15. package/src/blueprints/inputs.js +103 -0
  16. package/src/blueprints/inputs.js.map +1 -0
  17. package/src/blueprints/manifest.d.ts +281 -0
  18. package/src/blueprints/manifest.js +441 -0
  19. package/src/blueprints/manifest.js.map +1 -0
  20. package/src/blueprints/resolver.d.ts +28 -0
  21. package/src/blueprints/resolver.js +218 -0
  22. package/src/blueprints/resolver.js.map +1 -0
  23. package/src/blueprints/transitions.d.ts +20 -0
  24. package/src/blueprints/transitions.js +61 -0
  25. package/src/blueprints/transitions.js.map +1 -0
  26. package/src/executors/deploy/deploy.d.ts +4 -0
  27. package/src/executors/deploy/deploy.js +6 -0
  28. package/src/executors/deploy/deploy.js.map +1 -0
  29. package/src/executors/deployment-plan/deployment-plan.d.ts +9 -0
  30. package/src/executors/deployment-plan/deployment-plan.js +50 -0
  31. package/src/executors/deployment-plan/deployment-plan.js.map +1 -0
  32. package/src/executors/deployment-plan/schema.json +24 -0
  33. package/src/executors/dev/dev.d.ts +4 -0
  34. package/src/executors/dev/dev.js +6 -0
  35. package/src/executors/dev/dev.js.map +1 -0
  36. package/src/executors/dev-doctor/dev-doctor.d.ts +31 -0
  37. package/src/executors/dev-doctor/dev-doctor.js +260 -0
  38. package/src/executors/dev-doctor/dev-doctor.js.map +1 -0
  39. package/src/executors/dev-doctor/schema.json +17 -0
  40. package/src/executors/dev-setup/dev-setup.d.ts +11 -0
  41. package/src/executors/dev-setup/dev-setup.js +454 -0
  42. package/src/executors/dev-setup/dev-setup.js.map +1 -0
  43. package/src/executors/dev-setup/schema.json +16 -0
  44. package/src/executors/fleet/fleet.d.ts +62 -0
  45. package/src/executors/fleet/fleet.js +613 -0
  46. package/src/executors/fleet/fleet.js.map +1 -0
  47. package/src/executors/fleet/schema.json +37 -0
  48. package/src/executors/foundation-preflight/foundation-preflight.d.ts +15 -0
  49. package/src/executors/foundation-preflight/foundation-preflight.js +116 -0
  50. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -0
  51. package/src/executors/foundation-preflight/schema.json +31 -0
  52. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +8 -0
  53. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +41 -0
  54. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -0
  55. package/src/executors/foundation-profile-preflight/schema.json +21 -0
  56. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +13 -0
  57. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +69 -0
  58. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +1 -0
  59. package/src/executors/foundation-remove-preflight/schema.json +17 -0
  60. package/src/executors/github-bootstrap/github-bootstrap.d.ts +8 -0
  61. package/src/executors/github-bootstrap/github-bootstrap.js +30 -0
  62. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -0
  63. package/src/executors/github-bootstrap/schema.json +25 -0
  64. package/src/executors/refresh/refresh.d.ts +4 -0
  65. package/src/executors/refresh/refresh.js +6 -0
  66. package/src/executors/refresh/refresh.js.map +1 -0
  67. package/src/executors/remove/remove.d.ts +4 -0
  68. package/src/executors/remove/remove.js +6 -0
  69. package/src/executors/remove/remove.js.map +1 -0
  70. package/src/executors/sst-lifecycle/run-sst-command.d.ts +31 -0
  71. package/src/executors/sst-lifecycle/run-sst-command.js +226 -0
  72. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -0
  73. package/src/executors/sst-lifecycle/schema.json +45 -0
  74. package/src/executors/unlock/unlock.d.ts +4 -0
  75. package/src/executors/unlock/unlock.js +6 -0
  76. package/src/executors/unlock/unlock.js.map +1 -0
  77. package/src/executors/work-markers/schema.json +14 -0
  78. package/src/executors/work-markers/work-markers.d.ts +6 -0
  79. package/src/executors/work-markers/work-markers.js +20 -0
  80. package/src/executors/work-markers/work-markers.js.map +1 -0
  81. package/src/foundation/aurora-logical-database.d.ts +76 -0
  82. package/src/foundation/aurora-logical-database.js +419 -0
  83. package/src/foundation/aurora-logical-database.js.map +1 -0
  84. package/src/foundation/discovery.d.ts +55 -0
  85. package/src/foundation/discovery.js +55 -0
  86. package/src/foundation/discovery.js.map +1 -0
  87. package/src/foundation/index.d.ts +6 -0
  88. package/src/foundation/index.js +10 -0
  89. package/src/foundation/index.js.map +1 -0
  90. package/src/foundation/local-database-contract.d.ts +30 -0
  91. package/src/foundation/local-database-contract.js +75 -0
  92. package/src/foundation/local-database-contract.js.map +1 -0
  93. package/src/foundation/preflight.d.ts +31 -0
  94. package/src/foundation/preflight.js +114 -0
  95. package/src/foundation/preflight.js.map +1 -0
  96. package/src/foundation/provision-database-bindings.d.ts +30 -0
  97. package/src/foundation/provision-database-bindings.js +113 -0
  98. package/src/foundation/provision-database-bindings.js.map +1 -0
  99. package/src/foundation/provision-logical-database.d.ts +26 -0
  100. package/src/foundation/provision-logical-database.js +163 -0
  101. package/src/foundation/provision-logical-database.js.map +1 -0
  102. package/src/foundation/requirements.d.ts +37 -0
  103. package/src/foundation/requirements.js +141 -0
  104. package/src/foundation/requirements.js.map +1 -0
  105. package/src/foundation/stages.d.ts +14 -0
  106. package/src/foundation/stages.js +51 -0
  107. package/src/foundation/stages.js.map +1 -0
  108. package/src/generators/function/function.d.ts +13 -0
  109. package/src/generators/function/function.js +71 -0
  110. package/src/generators/function/function.js.map +1 -0
  111. package/src/generators/function/schema.d.ts +5 -0
  112. package/src/generators/function/schema.json +20 -0
  113. package/src/generators/job/job.d.ts +4 -0
  114. package/src/generators/job/job.js +5 -0
  115. package/src/generators/job/job.js.map +1 -0
  116. package/src/generators/preset/generator.d.ts +5 -0
  117. package/src/generators/preset/generator.js +41 -0
  118. package/src/generators/preset/generator.js.map +1 -0
  119. package/src/generators/preset/schema.d.ts +4 -0
  120. package/src/generators/preset/schema.json +22 -0
  121. package/src/generators/preset/workspace-files.d.ts +18 -0
  122. package/src/generators/preset/workspace-files.js +1605 -0
  123. package/src/generators/preset/workspace-files.js.map +1 -0
  124. package/src/generators/repository-policy/repository-policy.d.ts +4 -0
  125. package/src/generators/repository-policy/repository-policy.js +107 -0
  126. package/src/generators/repository-policy/repository-policy.js.map +1 -0
  127. package/src/generators/repository-policy/schema.d.ts +18 -0
  128. package/src/generators/repository-policy/schema.json +46 -0
  129. package/src/generators/service/service.d.ts +4 -0
  130. package/src/generators/service/service.js +5 -0
  131. package/src/generators/service/service.js.map +1 -0
  132. package/src/generators/slice/schema.d.ts +7 -0
  133. package/src/generators/slice/schema.json +38 -0
  134. package/src/generators/slice/slice.d.ts +26 -0
  135. package/src/generators/slice/slice.js +1698 -0
  136. package/src/generators/slice/slice.js.map +1 -0
  137. package/src/generators/upgrade/schema.d.ts +8 -0
  138. package/src/generators/upgrade/schema.json +31 -0
  139. package/src/generators/upgrade/upgrade.d.ts +27 -0
  140. package/src/generators/upgrade/upgrade.js +682 -0
  141. package/src/generators/upgrade/upgrade.js.map +1 -0
  142. package/src/generators/workload/schema.d.ts +6 -0
  143. package/src/generators/workload/schema.json +21 -0
  144. package/src/generators/workload/workload.d.ts +16 -0
  145. package/src/generators/workload/workload.js +157 -0
  146. package/src/generators/workload/workload.js.map +1 -0
  147. package/src/git-policy/action-pins.d.ts +28 -0
  148. package/src/git-policy/action-pins.js +35 -0
  149. package/src/git-policy/action-pins.js.map +1 -0
  150. package/src/git-policy/github-bootstrap.d.ts +23 -0
  151. package/src/git-policy/github-bootstrap.js +759 -0
  152. package/src/git-policy/github-bootstrap.js.map +1 -0
  153. package/src/git-policy/index.d.ts +3 -0
  154. package/src/git-policy/index.js +7 -0
  155. package/src/git-policy/index.js.map +1 -0
  156. package/src/git-policy/routing.d.ts +15 -0
  157. package/src/git-policy/routing.js +77 -0
  158. package/src/git-policy/routing.js.map +1 -0
  159. package/src/index.d.ts +8 -0
  160. package/src/index.js +12 -0
  161. package/src/index.js.map +1 -0
  162. package/src/local-dev/contracts.d.ts +31 -0
  163. package/src/local-dev/contracts.js +126 -0
  164. package/src/local-dev/contracts.js.map +1 -0
  165. package/src/local-dev/effects.d.ts +16 -0
  166. package/src/local-dev/effects.js +63 -0
  167. package/src/local-dev/effects.js.map +1 -0
  168. package/src/local-dev/gateway-daemon.d.ts +4 -0
  169. package/src/local-dev/gateway-daemon.js +39 -0
  170. package/src/local-dev/gateway-daemon.js.map +1 -0
  171. package/src/local-dev/gateway.d.ts +60 -0
  172. package/src/local-dev/gateway.js +368 -0
  173. package/src/local-dev/gateway.js.map +1 -0
  174. package/src/local-dev/identity.d.ts +16 -0
  175. package/src/local-dev/identity.js +101 -0
  176. package/src/local-dev/identity.js.map +1 -0
  177. package/src/local-dev/index.d.ts +7 -0
  178. package/src/local-dev/index.js +11 -0
  179. package/src/local-dev/index.js.map +1 -0
  180. package/src/local-dev/portless.d.ts +15 -0
  181. package/src/local-dev/portless.js +115 -0
  182. package/src/local-dev/portless.js.map +1 -0
  183. package/src/local-dev/ports.d.ts +10 -0
  184. package/src/local-dev/ports.js +39 -0
  185. package/src/local-dev/ports.js.map +1 -0
  186. package/src/local-dev/proxy.d.ts +37 -0
  187. package/src/local-dev/proxy.js +271 -0
  188. package/src/local-dev/proxy.js.map +1 -0
  189. package/src/local-dev/tls.d.ts +24 -0
  190. package/src/local-dev/tls.js +294 -0
  191. package/src/local-dev/tls.js.map +1 -0
  192. package/src/ownership/composition.d.ts +16 -0
  193. package/src/ownership/composition.js +125 -0
  194. package/src/ownership/composition.js.map +1 -0
  195. package/src/ownership/foundation-record.d.ts +66 -0
  196. package/src/ownership/foundation-record.js +108 -0
  197. package/src/ownership/foundation-record.js.map +1 -0
  198. package/src/ownership/hash.d.ts +2 -0
  199. package/src/ownership/hash.js +10 -0
  200. package/src/ownership/hash.js.map +1 -0
  201. package/src/ownership/index.d.ts +6 -0
  202. package/src/ownership/index.js +10 -0
  203. package/src/ownership/index.js.map +1 -0
  204. package/src/ownership/json-ownership.d.ts +13 -0
  205. package/src/ownership/json-ownership.js +147 -0
  206. package/src/ownership/json-ownership.js.map +1 -0
  207. package/src/ownership/record.d.ts +186 -0
  208. package/src/ownership/record.js +336 -0
  209. package/src/ownership/record.js.map +1 -0
  210. package/src/ownership/workspace-record.d.ts +66 -0
  211. package/src/ownership/workspace-record.js +108 -0
  212. package/src/ownership/workspace-record.js.map +1 -0
  213. package/src/repository-policy/aurora-preflight.d.ts +15 -0
  214. package/src/repository-policy/aurora-preflight.js +45 -0
  215. package/src/repository-policy/aurora-preflight.js.map +1 -0
  216. package/src/repository-policy/deployment-plan.d.ts +24 -0
  217. package/src/repository-policy/deployment-plan.js +124 -0
  218. package/src/repository-policy/deployment-plan.js.map +1 -0
  219. package/src/repository-policy/foundation-profile.d.ts +20 -0
  220. package/src/repository-policy/foundation-profile.js +45 -0
  221. package/src/repository-policy/foundation-profile.js.map +1 -0
  222. package/src/repository-policy/index.d.ts +4 -0
  223. package/src/repository-policy/index.js +8 -0
  224. package/src/repository-policy/index.js.map +1 -0
  225. package/src/repository-policy/policy.d.ts +59 -0
  226. package/src/repository-policy/policy.js +274 -0
  227. package/src/repository-policy/policy.js.map +1 -0
  228. package/src/schemas/blueprint-input-schema-v1.json +23 -0
  229. package/src/schemas/blueprint-v1.json +186 -0
  230. package/src/schemas/foundation-ownership-v2.json +42 -0
  231. package/src/schemas/foundation-requirement-v1.json +32 -0
  232. package/src/schemas/generated-ownership-v2.json +117 -0
  233. package/src/schemas/repository-policy-v1.json +58 -0
  234. package/src/schemas/workspace-ownership-v2.json +42 -0
  235. package/src/validation.d.ts +14 -0
  236. package/src/validation.js +14 -0
  237. package/src/validation.js.map +1 -0
  238. package/src/work-markers/index.d.ts +1 -0
  239. package/src/work-markers/index.js +5 -0
  240. package/src/work-markers/index.js.map +1 -0
  241. package/src/work-markers/work-markers.d.ts +39 -0
  242. package/src/work-markers/work-markers.js +359 -0
  243. package/src/work-markers/work-markers.js.map +1 -0
@@ -0,0 +1,441 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.blueprintManifestSchema = exports.BLUEPRINT_SECRET_VALUE_TYPES = exports.BLUEPRINT_DATABASE_CHANGE_KINDS = exports.BLUEPRINT_MIGRATION_PLAN_SCHEMA_VERSION = exports.BLUEPRINT_PACKAGE_TYPE = exports.BLUEPRINT_MANIFEST_VERSION = void 0;
4
+ exports.isExactSemanticVersion = isExactSemanticVersion;
5
+ exports.validateBlueprintManifest = validateBlueprintManifest;
6
+ const index_js_1 = require("../foundation/index.js");
7
+ const validation_js_1 = require("../validation.js");
8
+ const semver_1 = require("semver");
9
+ exports.BLUEPRINT_MANIFEST_VERSION = 1;
10
+ exports.BLUEPRINT_PACKAGE_TYPE = 'empire-builder-kit-blueprint';
11
+ exports.BLUEPRINT_MIGRATION_PLAN_SCHEMA_VERSION = 1;
12
+ exports.BLUEPRINT_DATABASE_CHANGE_KINDS = [
13
+ 'none',
14
+ 'ordered',
15
+ 'replacement',
16
+ 'manual',
17
+ ];
18
+ exports.BLUEPRINT_SECRET_VALUE_TYPES = [
19
+ 'string',
20
+ 'json',
21
+ 'binary',
22
+ ];
23
+ const packageNamePattern = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/;
24
+ const semanticVersionPattern = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
25
+ const secretLogicalNamePattern = /^[A-Z][A-Za-z0-9]*$/;
26
+ function isExactSemanticVersion(value) {
27
+ return typeof value === 'string' && semanticVersionPattern.test(value);
28
+ }
29
+ function requireNonEmptyString(value, path, issues) {
30
+ if (typeof value !== 'string' || value.trim() === '') {
31
+ issues.push({ message: 'must be a non-empty string', path });
32
+ }
33
+ }
34
+ function requireRelativePackagePath(value, path, issues) {
35
+ requireNonEmptyString(value, path, issues);
36
+ if (typeof value === 'string' && !value.startsWith('./')) {
37
+ issues.push({
38
+ message: 'must be a relative package path beginning with ./',
39
+ path,
40
+ });
41
+ }
42
+ }
43
+ function rejectUnexpectedProperties(value, allowed, path, issues) {
44
+ for (const key of Object.keys(value)) {
45
+ if (!allowed.includes(key)) {
46
+ issues.push({
47
+ message: 'is not an allowed property',
48
+ path: `${path}.${key}`,
49
+ });
50
+ }
51
+ }
52
+ }
53
+ function validateUniqueStringArray(value, path, issues, options = {}) {
54
+ if (!Array.isArray(value) || (!options.allowEmpty && value.length === 0)) {
55
+ issues.push({
56
+ message: options.allowEmpty
57
+ ? 'must be an array'
58
+ : 'must contain at least one non-empty string',
59
+ path,
60
+ });
61
+ return;
62
+ }
63
+ value.forEach((entry, index) => requireNonEmptyString(entry, `${path}[${index}]`, issues));
64
+ if (new Set(value).size !== value.length) {
65
+ issues.push({ message: 'must not contain duplicates', path });
66
+ }
67
+ }
68
+ function validateMigrationDeclaration(value, index, manifestVersion, issues) {
69
+ const path = `manifest.migrations[${index}]`;
70
+ if (!(0, validation_js_1.isRecord)(value)) {
71
+ issues.push({ message: 'must be an object', path });
72
+ return;
73
+ }
74
+ rejectUnexpectedProperties(value, [
75
+ 'affectedManagedSurfaces',
76
+ 'contracts',
77
+ 'databaseChange',
78
+ 'dependencyChanges',
79
+ 'executor',
80
+ 'from',
81
+ 'id',
82
+ 'infrastructureChanges',
83
+ 'maintenanceWindowRequired',
84
+ 'manualSuccession',
85
+ 'planSchemaVersion',
86
+ 'preflight',
87
+ 'rollback',
88
+ 'to',
89
+ 'verification',
90
+ ], path, issues);
91
+ requireNonEmptyString(value.id, `${path}.id`, issues);
92
+ if (typeof value.from !== 'string' || (0, semver_1.validRange)(value.from) === null) {
93
+ issues.push({
94
+ message: 'must be a valid semantic-version range',
95
+ path: `${path}.from`,
96
+ });
97
+ }
98
+ if (!isExactSemanticVersion(value.to)) {
99
+ issues.push({
100
+ message: 'must be an exact semantic version',
101
+ path: `${path}.to`,
102
+ });
103
+ }
104
+ else if (value.to !== manifestVersion) {
105
+ issues.push({
106
+ message: 'must equal the containing Blueprint version',
107
+ path: `${path}.to`,
108
+ });
109
+ }
110
+ if (value.planSchemaVersion !== exports.BLUEPRINT_MIGRATION_PLAN_SCHEMA_VERSION) {
111
+ issues.push({ message: 'must equal 1', path: `${path}.planSchemaVersion` });
112
+ }
113
+ validateUniqueStringArray(value.affectedManagedSurfaces, `${path}.affectedManagedSurfaces`, issues);
114
+ if (!(0, validation_js_1.isRecord)(value.contracts)) {
115
+ issues.push({ message: 'must be an object', path: `${path}.contracts` });
116
+ }
117
+ else {
118
+ rejectUnexpectedProperties(value.contracts, ['consumes', 'publishes'], `${path}.contracts`, issues);
119
+ validateUniqueStringArray(value.contracts.consumes, `${path}.contracts.consumes`, issues, { allowEmpty: true });
120
+ validateUniqueStringArray(value.contracts.publishes, `${path}.contracts.publishes`, issues, { allowEmpty: true });
121
+ }
122
+ validateUniqueStringArray(value.dependencyChanges, `${path}.dependencyChanges`, issues, { allowEmpty: true });
123
+ validateUniqueStringArray(value.infrastructureChanges, `${path}.infrastructureChanges`, issues, { allowEmpty: true });
124
+ if (typeof value.maintenanceWindowRequired !== 'boolean') {
125
+ issues.push({
126
+ message: 'must be a boolean',
127
+ path: `${path}.maintenanceWindowRequired`,
128
+ });
129
+ }
130
+ if (!exports.BLUEPRINT_DATABASE_CHANGE_KINDS.includes(value.databaseChange)) {
131
+ issues.push({
132
+ message: `must equal ${exports.BLUEPRINT_DATABASE_CHANGE_KINDS.join(', ')}`,
133
+ path: `${path}.databaseChange`,
134
+ });
135
+ }
136
+ validateUniqueStringArray(value.preflight, `${path}.preflight`, issues);
137
+ validateUniqueStringArray(value.verification, `${path}.verification`, issues);
138
+ if (!(0, validation_js_1.isRecord)(value.rollback)) {
139
+ issues.push({ message: 'must be an object', path: `${path}.rollback` });
140
+ }
141
+ else {
142
+ rejectUnexpectedProperties(value.rollback, ['afterPointOfNoReturn', 'beforePointOfNoReturn', 'pointOfNoReturn'], `${path}.rollback`, issues);
143
+ for (const member of [
144
+ 'afterPointOfNoReturn',
145
+ 'beforePointOfNoReturn',
146
+ 'pointOfNoReturn',
147
+ ]) {
148
+ requireNonEmptyString(value.rollback[member], `${path}.rollback.${member}`, issues);
149
+ }
150
+ }
151
+ requireRelativePackagePath(value.manualSuccession, `${path}.manualSuccession`, issues);
152
+ if (value.executor !== undefined) {
153
+ requireRelativePackagePath(value.executor, `${path}.executor`, issues);
154
+ }
155
+ }
156
+ function validateSecretRequirement(value, index, issues) {
157
+ const path = `manifest.secrets[${index}]`;
158
+ if (!(0, validation_js_1.isRecord)(value)) {
159
+ issues.push({ message: 'must be an object', path });
160
+ return;
161
+ }
162
+ rejectUnexpectedProperties(value, ['description', 'documentation', 'name', 'schema', 'valueType'], path, issues);
163
+ if (typeof value.name !== 'string' ||
164
+ !secretLogicalNamePattern.test(value.name)) {
165
+ issues.push({
166
+ message: 'must start with an uppercase letter and contain only ASCII letters and numbers',
167
+ path: `${path}.name`,
168
+ });
169
+ }
170
+ requireNonEmptyString(value.description, `${path}.description`, issues);
171
+ requireRelativePackagePath(value.documentation, `${path}.documentation`, issues);
172
+ if (!exports.BLUEPRINT_SECRET_VALUE_TYPES.includes(value.valueType)) {
173
+ issues.push({
174
+ message: `must equal ${exports.BLUEPRINT_SECRET_VALUE_TYPES.join(', ')}`,
175
+ path: `${path}.valueType`,
176
+ });
177
+ }
178
+ if (value.schema !== undefined) {
179
+ requireRelativePackagePath(value.schema, `${path}.schema`, issues);
180
+ }
181
+ }
182
+ function validateBlueprintManifest(value) {
183
+ if (!(0, validation_js_1.isRecord)(value)) {
184
+ return {
185
+ valid: false,
186
+ issues: [{ message: 'must be an object', path: 'manifest' }],
187
+ };
188
+ }
189
+ const issues = [];
190
+ if (value.type !== exports.BLUEPRINT_PACKAGE_TYPE) {
191
+ issues.push({
192
+ message: `must equal ${exports.BLUEPRINT_PACKAGE_TYPE}`,
193
+ path: 'manifest.type',
194
+ });
195
+ }
196
+ if (value.kind !== 'slice') {
197
+ issues.push({ message: 'must equal slice', path: 'manifest.kind' });
198
+ }
199
+ if (typeof value.name !== 'string' || !packageNamePattern.test(value.name)) {
200
+ issues.push({
201
+ message: 'must be a valid npm package name',
202
+ path: 'manifest.name',
203
+ });
204
+ }
205
+ if (!isExactSemanticVersion(value.version)) {
206
+ issues.push({
207
+ message: 'must be an exact semantic version',
208
+ path: 'manifest.version',
209
+ });
210
+ }
211
+ if (typeof value.engine !== 'string' || (0, semver_1.validRange)(value.engine) === null) {
212
+ issues.push({
213
+ message: 'must be a valid semantic-version range',
214
+ path: 'manifest.engine',
215
+ });
216
+ }
217
+ requireRelativePackagePath(value.generator, 'manifest.generator', issues);
218
+ requireRelativePackagePath(value.inputs, 'manifest.inputs', issues);
219
+ if (value.migrations !== undefined) {
220
+ if (!Array.isArray(value.migrations) || value.migrations.length === 0) {
221
+ issues.push({
222
+ message: 'must contain at least one migration declaration',
223
+ path: 'manifest.migrations',
224
+ });
225
+ }
226
+ else {
227
+ value.migrations.forEach((migration, index) => validateMigrationDeclaration(migration, index, value.version, issues));
228
+ const ids = value.migrations.flatMap((migration) => (0, validation_js_1.isRecord)(migration) &&
229
+ typeof migration.id === 'string' &&
230
+ migration.id.trim() !== ''
231
+ ? [migration.id]
232
+ : []);
233
+ if (new Set(ids).size !== ids.length) {
234
+ issues.push({
235
+ message: 'must not contain duplicate migration identifiers',
236
+ path: 'manifest.migrations',
237
+ });
238
+ }
239
+ }
240
+ }
241
+ if (value.secrets !== undefined) {
242
+ if (!Array.isArray(value.secrets) || value.secrets.length === 0) {
243
+ issues.push({
244
+ message: 'must contain at least one secret requirement',
245
+ path: 'manifest.secrets',
246
+ });
247
+ }
248
+ else {
249
+ value.secrets.forEach((secret, index) => validateSecretRequirement(secret, index, issues));
250
+ const names = value.secrets.flatMap((secret) => (0, validation_js_1.isRecord)(secret) &&
251
+ typeof secret.name === 'string' &&
252
+ secretLogicalNamePattern.test(secret.name)
253
+ ? [secret.name]
254
+ : []);
255
+ if (new Set(names).size !== names.length) {
256
+ issues.push({
257
+ message: 'must not contain duplicate logical names',
258
+ path: 'manifest.secrets',
259
+ });
260
+ }
261
+ }
262
+ }
263
+ const foundation = (0, index_js_1.validateFoundationRequirement)(value.foundation, 'manifest.foundation');
264
+ if (!foundation.valid) {
265
+ issues.push(...foundation.issues);
266
+ }
267
+ if (!Array.isArray(value.verification) || value.verification.length === 0) {
268
+ issues.push({
269
+ message: 'must contain at least one verification target',
270
+ path: 'manifest.verification',
271
+ });
272
+ }
273
+ else {
274
+ const seen = new Set();
275
+ value.verification.forEach((target, index) => {
276
+ if (typeof target !== 'string' || target.trim() === '') {
277
+ issues.push({
278
+ message: 'must be a non-empty target name',
279
+ path: `manifest.verification[${index}]`,
280
+ });
281
+ }
282
+ else if (seen.has(target)) {
283
+ issues.push({
284
+ message: 'must not contain duplicate targets',
285
+ path: `manifest.verification[${index}]`,
286
+ });
287
+ }
288
+ if (typeof target === 'string') {
289
+ seen.add(target);
290
+ }
291
+ });
292
+ }
293
+ return (0, validation_js_1.validationResult)(value, issues);
294
+ }
295
+ exports.blueprintManifestSchema = {
296
+ $id: 'https://empirebuilderkit.dev/schemas/blueprint-v1.json',
297
+ $schema: 'https://json-schema.org/draft/2020-12/schema',
298
+ additionalProperties: false,
299
+ properties: {
300
+ $schema: { type: 'string' },
301
+ engine: { minLength: 1, type: 'string' },
302
+ foundation: index_js_1.foundationRequirementSchema,
303
+ generator: { pattern: '^\\./', type: 'string' },
304
+ inputs: { pattern: '^\\./', type: 'string' },
305
+ kind: { const: 'slice' },
306
+ migrations: {
307
+ items: {
308
+ additionalProperties: false,
309
+ properties: {
310
+ affectedManagedSurfaces: {
311
+ items: { minLength: 1, type: 'string' },
312
+ minItems: 1,
313
+ type: 'array',
314
+ uniqueItems: true,
315
+ },
316
+ contracts: {
317
+ additionalProperties: false,
318
+ properties: {
319
+ consumes: {
320
+ items: { minLength: 1, type: 'string' },
321
+ type: 'array',
322
+ uniqueItems: true,
323
+ },
324
+ publishes: {
325
+ items: { minLength: 1, type: 'string' },
326
+ type: 'array',
327
+ uniqueItems: true,
328
+ },
329
+ },
330
+ required: ['consumes', 'publishes'],
331
+ type: 'object',
332
+ },
333
+ databaseChange: { enum: [...exports.BLUEPRINT_DATABASE_CHANGE_KINDS] },
334
+ dependencyChanges: {
335
+ items: { minLength: 1, type: 'string' },
336
+ type: 'array',
337
+ uniqueItems: true,
338
+ },
339
+ executor: { pattern: '^\\./', type: 'string' },
340
+ from: { minLength: 1, type: 'string' },
341
+ id: { minLength: 1, type: 'string' },
342
+ infrastructureChanges: {
343
+ items: { minLength: 1, type: 'string' },
344
+ type: 'array',
345
+ uniqueItems: true,
346
+ },
347
+ maintenanceWindowRequired: { type: 'boolean' },
348
+ manualSuccession: { pattern: '^\\./', type: 'string' },
349
+ planSchemaVersion: {
350
+ const: exports.BLUEPRINT_MIGRATION_PLAN_SCHEMA_VERSION,
351
+ },
352
+ preflight: {
353
+ items: { minLength: 1, type: 'string' },
354
+ minItems: 1,
355
+ type: 'array',
356
+ uniqueItems: true,
357
+ },
358
+ rollback: {
359
+ additionalProperties: false,
360
+ properties: {
361
+ afterPointOfNoReturn: { minLength: 1, type: 'string' },
362
+ beforePointOfNoReturn: { minLength: 1, type: 'string' },
363
+ pointOfNoReturn: { minLength: 1, type: 'string' },
364
+ },
365
+ required: [
366
+ 'beforePointOfNoReturn',
367
+ 'pointOfNoReturn',
368
+ 'afterPointOfNoReturn',
369
+ ],
370
+ type: 'object',
371
+ },
372
+ to: { pattern: semanticVersionPattern.source, type: 'string' },
373
+ verification: {
374
+ items: { minLength: 1, type: 'string' },
375
+ minItems: 1,
376
+ type: 'array',
377
+ uniqueItems: true,
378
+ },
379
+ },
380
+ required: [
381
+ 'id',
382
+ 'from',
383
+ 'to',
384
+ 'planSchemaVersion',
385
+ 'affectedManagedSurfaces',
386
+ 'contracts',
387
+ 'dependencyChanges',
388
+ 'infrastructureChanges',
389
+ 'maintenanceWindowRequired',
390
+ 'databaseChange',
391
+ 'preflight',
392
+ 'verification',
393
+ 'rollback',
394
+ 'manualSuccession',
395
+ ],
396
+ type: 'object',
397
+ },
398
+ minItems: 1,
399
+ type: 'array',
400
+ },
401
+ name: { pattern: packageNamePattern.source, type: 'string' },
402
+ secrets: {
403
+ items: {
404
+ additionalProperties: false,
405
+ properties: {
406
+ description: { minLength: 1, type: 'string' },
407
+ documentation: { pattern: '^\\./', type: 'string' },
408
+ name: { pattern: secretLogicalNamePattern.source, type: 'string' },
409
+ schema: { pattern: '^\\./', type: 'string' },
410
+ valueType: { enum: [...exports.BLUEPRINT_SECRET_VALUE_TYPES] },
411
+ },
412
+ required: ['name', 'description', 'valueType', 'documentation'],
413
+ type: 'object',
414
+ },
415
+ minItems: 1,
416
+ type: 'array',
417
+ },
418
+ type: { const: exports.BLUEPRINT_PACKAGE_TYPE },
419
+ verification: {
420
+ items: { minLength: 1, type: 'string' },
421
+ minItems: 1,
422
+ type: 'array',
423
+ uniqueItems: true,
424
+ },
425
+ version: { pattern: semanticVersionPattern.source, type: 'string' },
426
+ },
427
+ required: [
428
+ 'type',
429
+ 'name',
430
+ 'version',
431
+ 'engine',
432
+ 'kind',
433
+ 'generator',
434
+ 'inputs',
435
+ 'foundation',
436
+ 'verification',
437
+ ],
438
+ title: 'Empire Builder Kit Blueprint Manifest v1',
439
+ type: 'object',
440
+ };
441
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../../../packages/nx/src/blueprints/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type BlueprintInputSchema } from './inputs.js';
2
+ import { type BlueprintManifest } from './manifest.js';
3
+ export declare const BUILTIN_BLUEPRINT_REFERENCE: "standard";
4
+ export declare const BUILTIN_BLUEPRINT_NAME: "@empire-builder-kit/blueprint-standard";
5
+ export interface BlueprintPackageReference {
6
+ name: string;
7
+ version: string;
8
+ }
9
+ export interface BlueprintTrustPolicy {
10
+ /** Exact package names or scoped wildcards such as `@vendor/*`. */
11
+ packages: readonly string[];
12
+ }
13
+ export interface ResolveBlueprintOptions {
14
+ engineVersion?: string;
15
+ localPackages?: Readonly<Record<string, string>>;
16
+ reference?: string;
17
+ trust?: BlueprintTrustPolicy;
18
+ workspaceRoot: string;
19
+ }
20
+ export interface ResolvedBlueprint {
21
+ generatorPath?: string;
22
+ inputSchema: BlueprintInputSchema;
23
+ manifest: BlueprintManifest;
24
+ packageRoot?: string;
25
+ source: 'built-in' | 'installed' | 'local';
26
+ }
27
+ export declare function parseBlueprintPackageReference(reference: string): BlueprintPackageReference;
28
+ export declare function resolveBlueprint({ engineVersion, localPackages, reference, trust, workspaceRoot, }: ResolveBlueprintOptions): ResolvedBlueprint;