create-next-hydra 0.2.1 → 0.4.1

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 (204) hide show
  1. package/README.md +156 -26
  2. package/dist/add-command.d.ts +11 -0
  3. package/dist/add-command.d.ts.map +1 -0
  4. package/dist/add-command.js +75 -0
  5. package/dist/addition.d.ts +67 -0
  6. package/dist/addition.d.ts.map +1 -0
  7. package/dist/addition.js +422 -0
  8. package/dist/application-git.d.ts +20 -0
  9. package/dist/application-git.d.ts.map +1 -0
  10. package/dist/application-git.js +57 -0
  11. package/dist/baseline.d.ts +22 -0
  12. package/dist/baseline.d.ts.map +1 -0
  13. package/dist/baseline.js +90 -0
  14. package/dist/cli.js +5 -18
  15. package/dist/commands.d.ts +22 -0
  16. package/dist/commands.d.ts.map +1 -0
  17. package/dist/commands.js +197 -0
  18. package/dist/composition-lint.d.ts +20 -0
  19. package/dist/composition-lint.d.ts.map +1 -0
  20. package/dist/composition-lint.js +288 -0
  21. package/dist/composition.d.ts +24 -0
  22. package/dist/composition.d.ts.map +1 -0
  23. package/dist/composition.js +420 -0
  24. package/dist/create-command.d.ts +21 -0
  25. package/dist/create-command.d.ts.map +1 -0
  26. package/dist/create-command.js +128 -0
  27. package/dist/demo-instrumentation.d.ts +5 -0
  28. package/dist/demo-instrumentation.d.ts.map +1 -0
  29. package/dist/demo-instrumentation.js +300 -0
  30. package/dist/environment.d.ts +7 -0
  31. package/dist/environment.d.ts.map +1 -0
  32. package/dist/environment.js +81 -0
  33. package/dist/errors.d.ts +156 -0
  34. package/dist/errors.d.ts.map +1 -0
  35. package/dist/errors.js +140 -0
  36. package/dist/file-policy.d.ts +6 -0
  37. package/dist/file-policy.d.ts.map +1 -0
  38. package/dist/file-policy.js +38 -0
  39. package/dist/files.d.ts +7 -0
  40. package/dist/files.d.ts.map +1 -0
  41. package/dist/files.js +66 -0
  42. package/dist/hosting.d.ts +5 -0
  43. package/dist/hosting.d.ts.map +1 -0
  44. package/dist/hosting.js +107 -0
  45. package/dist/index.d.ts +4 -6
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +17 -89
  48. package/dist/initialization.d.ts +14 -0
  49. package/dist/initialization.d.ts.map +1 -0
  50. package/dist/initialization.js +266 -0
  51. package/dist/lint-workspaces.d.ts +2 -0
  52. package/dist/lint-workspaces.d.ts.map +1 -0
  53. package/dist/lint-workspaces.js +62 -0
  54. package/dist/model.d.ts +143 -0
  55. package/dist/model.d.ts.map +1 -0
  56. package/dist/model.js +61 -0
  57. package/dist/package-catalog.d.ts +8 -0
  58. package/dist/package-catalog.d.ts.map +1 -0
  59. package/dist/package-catalog.js +61 -0
  60. package/dist/packages.d.ts +57 -0
  61. package/dist/packages.d.ts.map +1 -0
  62. package/dist/packages.js +237 -0
  63. package/dist/process-group.d.ts +5 -0
  64. package/dist/process-group.d.ts.map +1 -0
  65. package/dist/process-group.js +23 -0
  66. package/dist/reference-workspace-bindings.d.ts +38 -0
  67. package/dist/reference-workspace-bindings.d.ts.map +1 -0
  68. package/dist/reference-workspace-bindings.js +41 -0
  69. package/dist/reference-workspace.d.ts +6 -0
  70. package/dist/reference-workspace.d.ts.map +1 -0
  71. package/dist/reference-workspace.js +62 -0
  72. package/dist/registry.d.ts +187 -0
  73. package/dist/registry.d.ts.map +1 -0
  74. package/dist/registry.js +107 -0
  75. package/dist/runtime.d.ts +9 -0
  76. package/dist/runtime.d.ts.map +1 -0
  77. package/dist/runtime.js +22 -0
  78. package/dist/selection.d.ts +704 -0
  79. package/dist/selection.d.ts.map +1 -0
  80. package/dist/selection.js +424 -0
  81. package/dist/shadcn-protocol.d.ts +22 -0
  82. package/dist/shadcn-protocol.d.ts.map +1 -0
  83. package/dist/shadcn-protocol.js +13 -0
  84. package/dist/shadcn-worker.d.ts +2 -0
  85. package/dist/shadcn-worker.d.ts.map +1 -0
  86. package/dist/shadcn-worker.js +43 -0
  87. package/dist/shadcn.d.ts +22 -0
  88. package/dist/shadcn.d.ts.map +1 -0
  89. package/dist/shadcn.js +101 -0
  90. package/dist/source-changes.d.ts +55 -0
  91. package/dist/source-changes.d.ts.map +1 -0
  92. package/dist/source-changes.js +225 -0
  93. package/dist/source-inventory.d.ts +25 -0
  94. package/dist/source-inventory.d.ts.map +1 -0
  95. package/dist/source-inventory.js +212 -0
  96. package/dist/source-root.d.ts +4 -0
  97. package/dist/source-root.d.ts.map +1 -0
  98. package/dist/source-root.js +20 -0
  99. package/dist/staging.d.ts +19 -0
  100. package/dist/staging.d.ts.map +1 -0
  101. package/dist/staging.js +42 -0
  102. package/dist/tasks.d.ts +44 -0
  103. package/dist/tasks.d.ts.map +1 -0
  104. package/dist/tasks.js +137 -0
  105. package/dist/templates.d.ts +217 -0
  106. package/dist/templates.d.ts.map +1 -0
  107. package/dist/templates.js +161 -0
  108. package/dist/test-reference-workspace.d.ts +2 -0
  109. package/dist/test-reference-workspace.d.ts.map +1 -0
  110. package/dist/test-reference-workspace.js +6 -0
  111. package/dist/types.d.ts +2 -9
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/typescript-paths.d.ts +10 -0
  114. package/dist/typescript-paths.d.ts.map +1 -0
  115. package/dist/typescript-paths.js +52 -0
  116. package/dist/workspace-dependencies.d.ts +26 -0
  117. package/dist/workspace-dependencies.d.ts.map +1 -0
  118. package/dist/workspace-dependencies.js +478 -0
  119. package/dist/workspace-files.d.ts +24 -0
  120. package/dist/workspace-files.d.ts.map +1 -0
  121. package/dist/workspace-files.js +395 -0
  122. package/dist/workspace-lock.d.ts +12 -0
  123. package/dist/workspace-lock.d.ts.map +1 -0
  124. package/dist/workspace-lock.js +104 -0
  125. package/dist/workspace-snapshots.d.ts +24 -0
  126. package/dist/workspace-snapshots.d.ts.map +1 -0
  127. package/dist/workspace-snapshots.js +218 -0
  128. package/dist/workspace-sources.d.ts +27 -0
  129. package/dist/workspace-sources.d.ts.map +1 -0
  130. package/dist/workspace-sources.js +88 -0
  131. package/dist/workspace-state.d.ts +325 -0
  132. package/dist/workspace-state.d.ts.map +1 -0
  133. package/dist/workspace-state.js +571 -0
  134. package/dist/workspaces.d.ts +73 -0
  135. package/dist/workspaces.d.ts.map +1 -0
  136. package/dist/workspaces.js +396 -0
  137. package/package.json +27 -15
  138. package/schema/selection-definition.json +206 -5
  139. package/dist/clone.d.ts +0 -9
  140. package/dist/clone.d.ts.map +0 -1
  141. package/dist/clone.js +0 -19
  142. package/dist/composition/add.d.ts +0 -14
  143. package/dist/composition/add.d.ts.map +0 -1
  144. package/dist/composition/add.js +0 -453
  145. package/dist/composition/catalog.d.ts +0 -26
  146. package/dist/composition/catalog.d.ts.map +0 -1
  147. package/dist/composition/catalog.js +0 -313
  148. package/dist/composition/errors.d.ts +0 -5
  149. package/dist/composition/errors.d.ts.map +0 -1
  150. package/dist/composition/errors.js +0 -8
  151. package/dist/composition/format.d.ts +0 -6
  152. package/dist/composition/format.d.ts.map +0 -1
  153. package/dist/composition/format.js +0 -63
  154. package/dist/composition/install.d.ts +0 -16
  155. package/dist/composition/install.d.ts.map +0 -1
  156. package/dist/composition/install.js +0 -175
  157. package/dist/composition/packages.d.ts +0 -6
  158. package/dist/composition/packages.d.ts.map +0 -1
  159. package/dist/composition/packages.js +0 -54
  160. package/dist/composition/paths.d.ts +0 -4
  161. package/dist/composition/paths.d.ts.map +0 -1
  162. package/dist/composition/paths.js +0 -47
  163. package/dist/composition/planner.d.ts +0 -4
  164. package/dist/composition/planner.d.ts.map +0 -1
  165. package/dist/composition/planner.js +0 -320
  166. package/dist/composition/schema.d.ts +0 -235
  167. package/dist/composition/schema.d.ts.map +0 -1
  168. package/dist/composition/schema.js +0 -115
  169. package/dist/composition/types.d.ts +0 -87
  170. package/dist/composition/types.d.ts.map +0 -1
  171. package/dist/composition/types.js +0 -6
  172. package/dist/composition/use.d.ts +0 -23
  173. package/dist/composition/use.d.ts.map +0 -1
  174. package/dist/composition/use.js +0 -182
  175. package/dist/composition/workspace.d.ts +0 -10
  176. package/dist/composition/workspace.d.ts.map +0 -1
  177. package/dist/composition/workspace.js +0 -208
  178. package/dist/constants.d.ts +0 -11
  179. package/dist/constants.d.ts.map +0 -1
  180. package/dist/constants.js +0 -38
  181. package/dist/fs-utils.d.ts +0 -9
  182. package/dist/fs-utils.d.ts.map +0 -1
  183. package/dist/fs-utils.js +0 -64
  184. package/dist/git.d.ts +0 -28
  185. package/dist/git.d.ts.map +0 -1
  186. package/dist/git.js +0 -107
  187. package/dist/instruction-renderer.d.ts +0 -17
  188. package/dist/instruction-renderer.d.ts.map +0 -1
  189. package/dist/instruction-renderer.js +0 -132
  190. package/dist/logger.d.ts +0 -13
  191. package/dist/logger.d.ts.map +0 -1
  192. package/dist/logger.js +0 -26
  193. package/dist/prompts.d.ts +0 -7
  194. package/dist/prompts.d.ts.map +0 -1
  195. package/dist/prompts.js +0 -47
  196. package/dist/sanitize.d.ts +0 -10
  197. package/dist/sanitize.d.ts.map +0 -1
  198. package/dist/sanitize.js +0 -23
  199. package/dist/scaffold.d.ts +0 -7
  200. package/dist/scaffold.d.ts.map +0 -1
  201. package/dist/scaffold.js +0 -325
  202. package/dist/version.d.ts +0 -2
  203. package/dist/version.d.ts.map +0 -1
  204. package/dist/version.js +0 -2
@@ -18,6 +18,9 @@
18
18
  "type": "object",
19
19
  "required": ["nextHydra"],
20
20
  "properties": {
21
+ "composition": {
22
+ "$ref": "#/$defs/composition"
23
+ },
21
24
  "nextHydra": {
22
25
  "$ref": "#/$defs/nextHydra"
23
26
  }
@@ -28,6 +31,74 @@
28
31
  }
29
32
  ],
30
33
  "$defs": {
34
+ "composition": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "properties": {
38
+ "templates": {
39
+ "type": "array",
40
+ "items": {
41
+ "type": "object",
42
+ "additionalProperties": false,
43
+ "required": ["source", "target", "slots"],
44
+ "properties": {
45
+ "source": {
46
+ "$ref": "#/$defs/workspaceFilePath"
47
+ },
48
+ "target": {
49
+ "$ref": "#/$defs/workspaceFilePath"
50
+ },
51
+ "slots": {
52
+ "type": "object",
53
+ "additionalProperties": {
54
+ "enum": [
55
+ "element",
56
+ "wrapper",
57
+ "call",
58
+ "factory",
59
+ "members",
60
+ "graphql"
61
+ ]
62
+ }
63
+ }
64
+ }
65
+ }
66
+ },
67
+ "slotBindings": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "object",
71
+ "additionalProperties": false,
72
+ "required": ["target", "slot", "module", "export"],
73
+ "properties": {
74
+ "target": {
75
+ "$ref": "#/$defs/workspaceFilePath"
76
+ },
77
+ "slot": {
78
+ "type": "string",
79
+ "minLength": 1
80
+ },
81
+ "module": {
82
+ "type": "string",
83
+ "minLength": 1
84
+ },
85
+ "export": {
86
+ "type": "string",
87
+ "pattern": "^[A-Za-z_$][\\w$]*$"
88
+ },
89
+ "as": {
90
+ "type": "string",
91
+ "pattern": "^[A-Za-z_$][\\w$]*$"
92
+ },
93
+ "order": {
94
+ "type": "integer",
95
+ "default": 0
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+ },
31
102
  "workspacePath": {
32
103
  "type": "string",
33
104
  "minLength": 1,
@@ -55,10 +126,24 @@
55
126
  "minLength": 1
56
127
  },
57
128
  "kind": {
58
- "enum": ["provider", "add-on", "preset"]
129
+ "enum": ["provider", "add-on", "preset", "package", "recipe"]
59
130
  },
60
131
  "slot": {
61
- "enum": ["auth", "cms", "commerce"]
132
+ "enum": ["auth", "cms", "commerce", "search"]
133
+ },
134
+ "binding": {
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "required": ["specifier"],
138
+ "properties": {
139
+ "specifier": {
140
+ "type": "string",
141
+ "minLength": 1
142
+ },
143
+ "sourcePath": {
144
+ "$ref": "#/$defs/workspaceFilePath"
145
+ }
146
+ }
62
147
  },
63
148
  "compatibility": {
64
149
  "type": "object",
@@ -101,7 +186,15 @@
101
186
  },
102
187
  "name": {
103
188
  "type": "string",
104
- "minLength": 1
189
+ "minLength": 1,
190
+ "not": {
191
+ "enum": [
192
+ "@repo/auth",
193
+ "@repo/cms",
194
+ "@repo/commerce-provider",
195
+ "@repo/search-provider"
196
+ ]
197
+ }
105
198
  },
106
199
  "specifier": {
107
200
  "type": "string",
@@ -110,6 +203,47 @@
110
203
  }
111
204
  }
112
205
  },
206
+ "providerDependencies": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "object",
210
+ "additionalProperties": false,
211
+ "required": ["cwd", "section", "slot"],
212
+ "properties": {
213
+ "cwd": {
214
+ "$ref": "#/$defs/workspacePath"
215
+ },
216
+ "section": {
217
+ "enum": [
218
+ "dependencies",
219
+ "devDependencies",
220
+ "optionalDependencies"
221
+ ]
222
+ },
223
+ "slot": {
224
+ "enum": ["auth", "cms", "commerce", "search"]
225
+ }
226
+ }
227
+ }
228
+ },
229
+ "providerSlots": {
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "properties": {
233
+ "auth": {
234
+ "enum": ["optional", "required", "forbidden"]
235
+ },
236
+ "cms": {
237
+ "enum": ["optional", "required", "forbidden"]
238
+ },
239
+ "commerce": {
240
+ "enum": ["optional", "required", "forbidden"]
241
+ },
242
+ "search": {
243
+ "enum": ["optional", "required", "forbidden"]
244
+ }
245
+ }
246
+ },
113
247
  "pnpmPatches": {
114
248
  "type": "array",
115
249
  "items": {
@@ -127,6 +261,26 @@
127
261
  }
128
262
  }
129
263
  },
264
+ "typeScriptAliases": {
265
+ "type": "array",
266
+ "items": {
267
+ "type": "object",
268
+ "additionalProperties": false,
269
+ "required": ["alias", "cwd", "sourcePath"],
270
+ "properties": {
271
+ "alias": {
272
+ "type": "string",
273
+ "minLength": 1
274
+ },
275
+ "cwd": {
276
+ "$ref": "#/$defs/workspaceRelativePath"
277
+ },
278
+ "sourcePath": {
279
+ "$ref": "#/$defs/workspaceFilePath"
280
+ }
281
+ }
282
+ }
283
+ },
130
284
  "assets": {
131
285
  "type": "array",
132
286
  "items": {
@@ -162,6 +316,10 @@
162
316
  "commerce": {
163
317
  "type": "string",
164
318
  "minLength": 1
319
+ },
320
+ "search": {
321
+ "type": "string",
322
+ "minLength": 1
165
323
  }
166
324
  }
167
325
  },
@@ -174,6 +332,31 @@
174
332
  "uniqueItems": true
175
333
  }
176
334
  }
335
+ },
336
+ "conditionalDependencies": {
337
+ "type": "array",
338
+ "items": {
339
+ "type": "object",
340
+ "additionalProperties": false,
341
+ "required": ["providers", "items"],
342
+ "properties": {
343
+ "providers": {
344
+ "type": "array",
345
+ "minItems": 1,
346
+ "items": {
347
+ "enum": ["auth", "cms", "commerce", "search"]
348
+ }
349
+ },
350
+ "items": {
351
+ "type": "array",
352
+ "minItems": 1,
353
+ "items": {
354
+ "type": "string",
355
+ "minLength": 1
356
+ }
357
+ }
358
+ }
359
+ }
177
360
  }
178
361
  },
179
362
  "allOf": [
@@ -187,7 +370,7 @@
187
370
  "required": ["kind"]
188
371
  },
189
372
  "then": {
190
- "required": ["slot"],
373
+ "required": ["binding", "slot"],
191
374
  "not": {
192
375
  "required": ["selections"]
193
376
  }
@@ -208,6 +391,9 @@
208
391
  {
209
392
  "required": ["slot"]
210
393
  },
394
+ {
395
+ "required": ["binding"]
396
+ },
211
397
  {
212
398
  "required": ["selections"]
213
399
  }
@@ -227,7 +413,22 @@
227
413
  "then": {
228
414
  "required": ["selections"],
229
415
  "not": {
230
- "required": ["slot"]
416
+ "anyOf": [
417
+ {
418
+ "required": ["slot"]
419
+ },
420
+ {
421
+ "required": ["binding"]
422
+ },
423
+ {
424
+ "properties": {
425
+ "providerDependencies": {
426
+ "minItems": 1
427
+ }
428
+ },
429
+ "required": ["providerDependencies"]
430
+ }
431
+ ]
231
432
  }
232
433
  }
233
434
  }
package/dist/clone.d.ts DELETED
@@ -1,9 +0,0 @@
1
- type CloneStarterOptions = {
2
- repoUrl: string;
3
- targetPath: string;
4
- ref?: string;
5
- verbose?: boolean;
6
- };
7
- export declare function cloneStarter(options: CloneStarterOptions): Promise<void>;
8
- export {};
9
- //# sourceMappingURL=clone.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../src/clone.ts"],"names":[],"mappings":"AAEA,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf"}
package/dist/clone.js DELETED
@@ -1,19 +0,0 @@
1
- import { runGit } from "./git.js";
2
- export async function cloneStarter(options) {
3
- const verbose = options.verbose ?? false;
4
- const cloneArgs = ["clone"];
5
- if (verbose) {
6
- cloneArgs.push("--progress");
7
- }
8
- if (options.ref) {
9
- cloneArgs.push(options.repoUrl, options.targetPath);
10
- await runGit(cloneArgs, { verbose });
11
- await runGit(["checkout", options.ref], {
12
- cwd: options.targetPath,
13
- verbose,
14
- });
15
- return;
16
- }
17
- cloneArgs.push("--depth", "1", options.repoUrl, options.targetPath);
18
- await runGit(cloneArgs, { verbose });
19
- }
@@ -1,14 +0,0 @@
1
- import { confirm } from "@clack/prompts";
2
- export type AddOptions = {
3
- cwd?: string;
4
- overwrite?: boolean;
5
- yes?: boolean;
6
- };
7
- type ConfirmPrompt = (options: Parameters<typeof confirm>[0]) => ReturnType<typeof confirm>;
8
- export type AddDependencies = {
9
- confirm?: ConfirmPrompt;
10
- install?: (cwd: string) => Promise<void>;
11
- };
12
- export declare function addRegistryItem(reference: string, options?: AddOptions, dependencies?: AddDependencies): Promise<void>;
13
- export {};
14
- //# sourceMappingURL=add.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/composition/add.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAY,MAAM,gBAAgB,CAAC;AA4BnD,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,KAAK,aAAa,GAAG,CACnB,OAAO,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KACnC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAEhC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAufF,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAe,EACxB,YAAY,GAAE,eAAoB,GACjC,OAAO,CAAC,IAAI,CAAC,CAuKf"}