create-next-hydra 0.3.0 → 0.4.2

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 (207) hide show
  1. package/README.md +126 -27
  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 -20
  138. package/schema/selection-definition.json +143 -4
  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 -484
  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 -317
  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 -65
  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 -55
  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 -366
  166. package/dist/composition/schema.d.ts +0 -294
  167. package/dist/composition/schema.d.ts.map +0 -1
  168. package/dist/composition/schema.js +0 -166
  169. package/dist/composition/types.d.ts +0 -111
  170. package/dist/composition/types.d.ts.map +0 -1
  171. package/dist/composition/types.js +0 -6
  172. package/dist/composition/typescript-paths.d.ts +0 -6
  173. package/dist/composition/typescript-paths.d.ts.map +0 -1
  174. package/dist/composition/typescript-paths.js +0 -157
  175. package/dist/composition/use.d.ts +0 -23
  176. package/dist/composition/use.d.ts.map +0 -1
  177. package/dist/composition/use.js +0 -187
  178. package/dist/composition/workspace.d.ts +0 -10
  179. package/dist/composition/workspace.d.ts.map +0 -1
  180. package/dist/composition/workspace.js +0 -210
  181. package/dist/constants.d.ts +0 -11
  182. package/dist/constants.d.ts.map +0 -1
  183. package/dist/constants.js +0 -39
  184. package/dist/fs-utils.d.ts +0 -9
  185. package/dist/fs-utils.d.ts.map +0 -1
  186. package/dist/fs-utils.js +0 -64
  187. package/dist/git.d.ts +0 -28
  188. package/dist/git.d.ts.map +0 -1
  189. package/dist/git.js +0 -107
  190. package/dist/instruction-renderer.d.ts +0 -17
  191. package/dist/instruction-renderer.d.ts.map +0 -1
  192. package/dist/instruction-renderer.js +0 -132
  193. package/dist/logger.d.ts +0 -13
  194. package/dist/logger.d.ts.map +0 -1
  195. package/dist/logger.js +0 -26
  196. package/dist/prompts.d.ts +0 -7
  197. package/dist/prompts.d.ts.map +0 -1
  198. package/dist/prompts.js +0 -54
  199. package/dist/sanitize.d.ts +0 -10
  200. package/dist/sanitize.d.ts.map +0 -1
  201. package/dist/sanitize.js +0 -110
  202. package/dist/scaffold.d.ts +0 -7
  203. package/dist/scaffold.d.ts.map +0 -1
  204. package/dist/scaffold.js +0 -330
  205. package/dist/version.d.ts +0 -2
  206. package/dist/version.d.ts.map +0 -1
  207. package/dist/version.js +0 -2
@@ -1,294 +0,0 @@
1
- import { z } from "zod";
2
- export declare const NEXT_HYDRA_SELECTION_SCHEMA_URL = "https://raw.githubusercontent.com/jakala-na/next-hydra/main/packages/create-next-hydra/schema/selection-definition.json";
3
- export declare const selectionDefinitionSchema: z.ZodEffects<z.ZodObject<{
4
- assets: z.ZodDefault<z.ZodArray<z.ZodObject<{
5
- source: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>, string, string>;
6
- target: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>, string, string>;
7
- }, "strict", z.ZodTypeAny, {
8
- source: string;
9
- target: string;
10
- }, {
11
- source: string;
12
- target: string;
13
- }>, "many">>;
14
- binding: z.ZodOptional<z.ZodObject<{
15
- sourcePath: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>, string, string>>;
16
- specifier: z.ZodString;
17
- }, "strict", z.ZodTypeAny, {
18
- sourcePath?: string | undefined;
19
- specifier: string;
20
- }, {
21
- sourcePath?: string | undefined;
22
- specifier: string;
23
- }>>;
24
- compatibility: z.ZodDefault<z.ZodObject<{
25
- conflicts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
26
- requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
27
- }, "strict", z.ZodTypeAny, {
28
- conflicts: string[];
29
- requires: string[];
30
- }, {
31
- conflicts?: string[] | undefined;
32
- requires?: string[] | undefined;
33
- }>>;
34
- id: z.ZodString;
35
- kind: z.ZodEnum<["provider", "add-on", "preset"]>;
36
- packages: z.ZodDefault<z.ZodArray<z.ZodObject<{
37
- cwd: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
38
- name: z.ZodString;
39
- section: z.ZodEnum<["dependencies", "devDependencies", "optionalDependencies"]>;
40
- specifier: z.ZodString;
41
- }, "strict", z.ZodTypeAny, {
42
- cwd: string;
43
- name: string;
44
- section: "dependencies" | "devDependencies" | "optionalDependencies";
45
- specifier: string;
46
- }, {
47
- cwd: string;
48
- name: string;
49
- section: "dependencies" | "devDependencies" | "optionalDependencies";
50
- specifier: string;
51
- }>, "many">>;
52
- pnpmPatches: z.ZodDefault<z.ZodArray<z.ZodObject<{
53
- dependency: z.ZodString;
54
- path: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>, string, string>;
55
- }, "strict", z.ZodTypeAny, {
56
- dependency: string;
57
- path: string;
58
- }, {
59
- dependency: string;
60
- path: string;
61
- }>, "many">>;
62
- providerDependencies: z.ZodDefault<z.ZodArray<z.ZodObject<{
63
- cwd: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
64
- section: z.ZodEnum<["dependencies", "devDependencies", "optionalDependencies"]>;
65
- slot: z.ZodEnum<["auth", "cms", "commerce"]>;
66
- }, "strict", z.ZodTypeAny, {
67
- cwd: string;
68
- section: "dependencies" | "devDependencies" | "optionalDependencies";
69
- slot: "auth" | "cms" | "commerce";
70
- }, {
71
- cwd: string;
72
- section: "dependencies" | "devDependencies" | "optionalDependencies";
73
- slot: "auth" | "cms" | "commerce";
74
- }>, "many">>;
75
- selections: z.ZodOptional<z.ZodObject<{
76
- addOns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
77
- providers: z.ZodOptional<z.ZodObject<{
78
- auth: z.ZodOptional<z.ZodString>;
79
- cms: z.ZodOptional<z.ZodString>;
80
- commerce: z.ZodOptional<z.ZodString>;
81
- }, "strict", z.ZodTypeAny, {
82
- auth?: string | undefined;
83
- cms?: string | undefined;
84
- commerce?: string | undefined;
85
- }, {
86
- auth?: string | undefined;
87
- cms?: string | undefined;
88
- commerce?: string | undefined;
89
- }>>;
90
- }, "strict", z.ZodTypeAny, {
91
- addOns: string[];
92
- providers?: {
93
- auth?: string | undefined;
94
- cms?: string | undefined;
95
- commerce?: string | undefined;
96
- } | undefined;
97
- }, {
98
- addOns?: string[] | undefined;
99
- providers?: {
100
- auth?: string | undefined;
101
- cms?: string | undefined;
102
- commerce?: string | undefined;
103
- } | undefined;
104
- }>>;
105
- slot: z.ZodOptional<z.ZodEnum<["auth", "cms", "commerce"]>>;
106
- }, "strict", z.ZodTypeAny, {
107
- assets: {
108
- source: string;
109
- target: string;
110
- }[];
111
- binding?: {
112
- sourcePath?: string | undefined;
113
- specifier: string;
114
- } | undefined;
115
- compatibility: {
116
- conflicts: string[];
117
- requires: string[];
118
- };
119
- id: string;
120
- kind: "add-on" | "preset" | "provider";
121
- packages: {
122
- cwd: string;
123
- name: string;
124
- section: "dependencies" | "devDependencies" | "optionalDependencies";
125
- specifier: string;
126
- }[];
127
- pnpmPatches: {
128
- dependency: string;
129
- path: string;
130
- }[];
131
- providerDependencies: {
132
- cwd: string;
133
- section: "dependencies" | "devDependencies" | "optionalDependencies";
134
- slot: "auth" | "cms" | "commerce";
135
- }[];
136
- selections?: {
137
- addOns: string[];
138
- providers?: {
139
- auth?: string | undefined;
140
- cms?: string | undefined;
141
- commerce?: string | undefined;
142
- } | undefined;
143
- } | undefined;
144
- slot?: "auth" | "cms" | "commerce" | undefined;
145
- }, {
146
- assets?: {
147
- source: string;
148
- target: string;
149
- }[] | undefined;
150
- binding?: {
151
- sourcePath?: string | undefined;
152
- specifier: string;
153
- } | undefined;
154
- compatibility?: {
155
- conflicts?: string[] | undefined;
156
- requires?: string[] | undefined;
157
- } | undefined;
158
- id: string;
159
- kind: "add-on" | "preset" | "provider";
160
- packages?: {
161
- cwd: string;
162
- name: string;
163
- section: "dependencies" | "devDependencies" | "optionalDependencies";
164
- specifier: string;
165
- }[] | undefined;
166
- pnpmPatches?: {
167
- dependency: string;
168
- path: string;
169
- }[] | undefined;
170
- providerDependencies?: {
171
- cwd: string;
172
- section: "dependencies" | "devDependencies" | "optionalDependencies";
173
- slot: "auth" | "cms" | "commerce";
174
- }[] | undefined;
175
- selections?: {
176
- addOns?: string[] | undefined;
177
- providers?: {
178
- auth?: string | undefined;
179
- cms?: string | undefined;
180
- commerce?: string | undefined;
181
- } | undefined;
182
- } | undefined;
183
- slot?: "auth" | "cms" | "commerce" | undefined;
184
- }>, {
185
- assets: {
186
- source: string;
187
- target: string;
188
- }[];
189
- binding?: {
190
- sourcePath?: string | undefined;
191
- specifier: string;
192
- } | undefined;
193
- compatibility: {
194
- conflicts: string[];
195
- requires: string[];
196
- };
197
- id: string;
198
- kind: "add-on" | "preset" | "provider";
199
- packages: {
200
- cwd: string;
201
- name: string;
202
- section: "dependencies" | "devDependencies" | "optionalDependencies";
203
- specifier: string;
204
- }[];
205
- pnpmPatches: {
206
- dependency: string;
207
- path: string;
208
- }[];
209
- providerDependencies: {
210
- cwd: string;
211
- section: "dependencies" | "devDependencies" | "optionalDependencies";
212
- slot: "auth" | "cms" | "commerce";
213
- }[];
214
- selections?: {
215
- addOns: string[];
216
- providers?: {
217
- auth?: string | undefined;
218
- cms?: string | undefined;
219
- commerce?: string | undefined;
220
- } | undefined;
221
- } | undefined;
222
- slot?: "auth" | "cms" | "commerce" | undefined;
223
- }, {
224
- assets?: {
225
- source: string;
226
- target: string;
227
- }[] | undefined;
228
- binding?: {
229
- sourcePath?: string | undefined;
230
- specifier: string;
231
- } | undefined;
232
- compatibility?: {
233
- conflicts?: string[] | undefined;
234
- requires?: string[] | undefined;
235
- } | undefined;
236
- id: string;
237
- kind: "add-on" | "preset" | "provider";
238
- packages?: {
239
- cwd: string;
240
- name: string;
241
- section: "dependencies" | "devDependencies" | "optionalDependencies";
242
- specifier: string;
243
- }[] | undefined;
244
- pnpmPatches?: {
245
- dependency: string;
246
- path: string;
247
- }[] | undefined;
248
- providerDependencies?: {
249
- cwd: string;
250
- section: "dependencies" | "devDependencies" | "optionalDependencies";
251
- slot: "auth" | "cms" | "commerce";
252
- }[] | undefined;
253
- selections?: {
254
- addOns?: string[] | undefined;
255
- providers?: {
256
- auth?: string | undefined;
257
- cms?: string | undefined;
258
- commerce?: string | undefined;
259
- } | undefined;
260
- } | undefined;
261
- slot?: "auth" | "cms" | "commerce" | undefined;
262
- }>;
263
- export declare const workspaceSelectionSchema: z.ZodObject<{
264
- addOns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
265
- providers: z.ZodObject<{
266
- auth: z.ZodString;
267
- cms: z.ZodString;
268
- commerce: z.ZodString;
269
- }, "strict", z.ZodTypeAny, {
270
- auth: string;
271
- cms: string;
272
- commerce: string;
273
- }, {
274
- auth: string;
275
- cms: string;
276
- commerce: string;
277
- }>;
278
- }, "strict", z.ZodTypeAny, {
279
- addOns: string[];
280
- providers: {
281
- auth: string;
282
- cms: string;
283
- commerce: string;
284
- };
285
- }, {
286
- addOns?: string[] | undefined;
287
- providers: {
288
- auth: string;
289
- cms: string;
290
- commerce: string;
291
- };
292
- }>;
293
- export declare function formatZodError(error: z.ZodError): string[];
294
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/composition/schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,+BAA+B,4HAC+E,CAAC;AAyE5H,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmGlC,CAAC;AAEL,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEZ,wBAAgB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,EAAE,CAK1D"}
@@ -1,166 +0,0 @@
1
- import path from "node:path";
2
- import { z } from "zod";
3
- import { PROVIDER_ALIASES, PROVIDER_SLOTS } from "./types.js";
4
- export const NEXT_HYDRA_SELECTION_SCHEMA_URL = "https://raw.githubusercontent.com/jakala-na/next-hydra/main/packages/create-next-hydra/schema/selection-definition.json";
5
- const workspaceRelativePathSchema = z
6
- .string()
7
- .min(1)
8
- .refine((value) => !value.startsWith("/"), "must be workspace-relative")
9
- .refine((value) => !value.includes("\\"), "must use forward slashes")
10
- .refine((value) => !value.split("/").includes(".."), "must not escape the workspace");
11
- const workspaceFilePathSchema = workspaceRelativePathSchema.refine((value) => ![".", "./"].includes(path.posix.normalize(value)), "must name a file or directory below the workspace root");
12
- const packageRequirementSchema = z
13
- .object({
14
- cwd: workspaceRelativePathSchema,
15
- name: z.string().min(1),
16
- section: z.enum([
17
- "dependencies",
18
- "devDependencies",
19
- "optionalDependencies",
20
- ]),
21
- specifier: z.string().min(1),
22
- })
23
- .strict();
24
- const providerBindingSchema = z
25
- .object({
26
- sourcePath: workspaceFilePathSchema.optional(),
27
- specifier: z.string().min(1),
28
- })
29
- .strict();
30
- const providerDependencySchema = z
31
- .object({
32
- cwd: workspaceRelativePathSchema,
33
- section: z.enum([
34
- "dependencies",
35
- "devDependencies",
36
- "optionalDependencies",
37
- ]),
38
- slot: z.enum(PROVIDER_SLOTS),
39
- })
40
- .strict();
41
- const pnpmPatchSchema = z
42
- .object({
43
- dependency: z.string().min(1),
44
- path: workspaceFilePathSchema,
45
- })
46
- .strict();
47
- const providerSelectionsSchema = z
48
- .object({
49
- auth: z.string().min(1).optional(),
50
- cms: z.string().min(1).optional(),
51
- commerce: z.string().min(1).optional(),
52
- })
53
- .strict();
54
- const presetSelectionsSchema = z
55
- .object({
56
- addOns: z.array(z.string().min(1)).default([]),
57
- providers: providerSelectionsSchema.optional(),
58
- })
59
- .strict();
60
- const providerAliasNames = new Set(Object.values(PROVIDER_ALIASES));
61
- export const selectionDefinitionSchema = z
62
- .object({
63
- assets: z
64
- .array(z
65
- .object({
66
- source: workspaceFilePathSchema,
67
- target: workspaceFilePathSchema,
68
- })
69
- .strict())
70
- .default([]),
71
- binding: providerBindingSchema.optional(),
72
- compatibility: z
73
- .object({
74
- conflicts: z.array(z.string().min(1)).default([]),
75
- requires: z.array(z.string().min(1)).default([]),
76
- })
77
- .strict()
78
- .default({ conflicts: [], requires: [] }),
79
- id: z.string().min(1),
80
- kind: z.enum(["provider", "add-on", "preset"]),
81
- packages: z.array(packageRequirementSchema).default([]),
82
- pnpmPatches: z.array(pnpmPatchSchema).default([]),
83
- providerDependencies: z.array(providerDependencySchema).default([]),
84
- selections: presetSelectionsSchema.optional(),
85
- slot: z.enum(PROVIDER_SLOTS).optional(),
86
- })
87
- .strict()
88
- .superRefine((definition, context) => {
89
- if (definition.kind === "provider" && !definition.slot) {
90
- context.addIssue({
91
- code: z.ZodIssueCode.custom,
92
- message: "a provider must declare its slot",
93
- path: ["slot"],
94
- });
95
- }
96
- if (definition.kind === "provider" && !definition.binding) {
97
- context.addIssue({
98
- code: z.ZodIssueCode.custom,
99
- message: "a provider must declare its binding",
100
- path: ["binding"],
101
- });
102
- }
103
- if (definition.kind !== "provider" && definition.slot) {
104
- context.addIssue({
105
- code: z.ZodIssueCode.custom,
106
- message: `${definition.kind} must not declare a provider slot`,
107
- path: ["slot"],
108
- });
109
- }
110
- if (definition.kind !== "provider" && definition.binding) {
111
- context.addIssue({
112
- code: z.ZodIssueCode.custom,
113
- message: `${definition.kind} must not declare a provider binding`,
114
- path: ["binding"],
115
- });
116
- }
117
- if (definition.kind === "preset" &&
118
- definition.providerDependencies.length > 0) {
119
- context.addIssue({
120
- code: z.ZodIssueCode.custom,
121
- message: "a preset must not declare provider dependencies",
122
- path: ["providerDependencies"],
123
- });
124
- }
125
- for (const [index, requirement] of definition.packages.entries()) {
126
- if (providerAliasNames.has(requirement.name)) {
127
- context.addIssue({
128
- code: z.ZodIssueCode.custom,
129
- message: "stable Provider aliases must be declared through providerDependencies",
130
- path: ["packages", index, "name"],
131
- });
132
- }
133
- }
134
- if (definition.kind === "preset" && !definition.selections) {
135
- context.addIssue({
136
- code: z.ZodIssueCode.custom,
137
- message: "a preset must declare selections",
138
- path: ["selections"],
139
- });
140
- }
141
- if (definition.kind !== "preset" && definition.selections) {
142
- context.addIssue({
143
- code: z.ZodIssueCode.custom,
144
- message: `${definition.kind} must not declare preset selections`,
145
- path: ["selections"],
146
- });
147
- }
148
- });
149
- export const workspaceSelectionSchema = z
150
- .object({
151
- addOns: z.array(z.string().min(1)).default([]),
152
- providers: z
153
- .object({
154
- auth: z.string().min(1),
155
- cms: z.string().min(1),
156
- commerce: z.string().min(1),
157
- })
158
- .strict(),
159
- })
160
- .strict();
161
- export function formatZodError(error) {
162
- return error.issues.map((issue) => {
163
- const location = issue.path.length > 0 ? issue.path.join(".") : "value";
164
- return `${location}: ${issue.message}`;
165
- });
166
- }
@@ -1,111 +0,0 @@
1
- import type { getRegistriesConfig } from "shadcn/registry";
2
- import type { RegistryItem } from "shadcn/schema";
3
- export type RegistriesConfig = Awaited<ReturnType<typeof getRegistriesConfig>>;
4
- export declare const PROVIDER_SLOTS: readonly ["auth", "cms", "commerce"];
5
- export type ProviderSlot = (typeof PROVIDER_SLOTS)[number];
6
- export declare const PROVIDER_ALIASES: {
7
- readonly auth: "@repo/auth";
8
- readonly cms: "@repo/cms";
9
- readonly commerce: "@repo/commerce-provider";
10
- };
11
- export type SelectionKind = "provider" | "add-on" | "preset";
12
- export type DependencySection = "dependencies" | "devDependencies" | "optionalDependencies";
13
- export type PackageRequirement = {
14
- cwd: string;
15
- section: DependencySection;
16
- name: string;
17
- specifier: string;
18
- };
19
- export type PackageRequirementTarget = Omit<PackageRequirement, "specifier">;
20
- export type ProviderBinding = {
21
- specifier: string;
22
- sourcePath?: string;
23
- };
24
- export type ProviderDependency = {
25
- cwd: string;
26
- section: DependencySection;
27
- slot: ProviderSlot;
28
- };
29
- export type AssetContribution = {
30
- source: string;
31
- target: string;
32
- };
33
- export type PnpmPatch = {
34
- dependency: string;
35
- path: string;
36
- };
37
- export type WorkspaceSelection = {
38
- providers: Record<ProviderSlot, string>;
39
- addOns: string[];
40
- };
41
- export type SelectionDefinition = {
42
- id: string;
43
- kind: SelectionKind;
44
- slot?: ProviderSlot;
45
- binding?: ProviderBinding;
46
- compatibility: {
47
- requires: string[];
48
- conflicts: string[];
49
- };
50
- packages: PackageRequirement[];
51
- providerDependencies: ProviderDependency[];
52
- pnpmPatches: PnpmPatch[];
53
- assets: AssetContribution[];
54
- selections?: {
55
- providers?: Partial<Record<ProviderSlot, string>>;
56
- addOns: string[];
57
- };
58
- };
59
- export type CatalogSelection = SelectionDefinition & {
60
- itemName: string;
61
- };
62
- export type SourceRegistryCatalog = {
63
- cwd: string;
64
- registryFile: string;
65
- repository?: string;
66
- authoringPaths: string[];
67
- items: Map<string, RegistryItem>;
68
- itemByReference: Map<string, string>;
69
- registryConfig: RegistriesConfig;
70
- selections: CatalogSelection[];
71
- byId: Map<string, CatalogSelection>;
72
- byReference: Map<string, CatalogSelection>;
73
- managedTargets: string[];
74
- };
75
- export type PreparedComposition = {
76
- artifacts: RegistryItem[];
77
- itemByReference: Map<string, string>;
78
- entryItems: string[];
79
- registryConfig: RegistriesConfig;
80
- assets: (AssetContribution & {
81
- content: Uint8Array;
82
- })[];
83
- managedFiles: {
84
- content: string;
85
- target: string;
86
- }[];
87
- };
88
- export type TypeScriptPathAlias = {
89
- alias: string;
90
- cwd: string;
91
- sourcePath: string;
92
- };
93
- export type TypeScriptPathAliasTarget = Pick<TypeScriptPathAlias, "alias" | "cwd">;
94
- export type CompositionPlan = {
95
- selection: WorkspaceSelection;
96
- selections: CatalogSelection[];
97
- entryItems: string[];
98
- registryItems: string[];
99
- packageRequirements: PackageRequirement[];
100
- catalogPackageRequirementTargets: PackageRequirementTarget[];
101
- pnpmPatches: PnpmPatch[];
102
- catalogPnpmPatches: PnpmPatch[];
103
- assets: AssetContribution[];
104
- managedTargets: string[];
105
- catalogManagedTargets: string[];
106
- catalogTypeScriptPathAliases: TypeScriptPathAliasTarget[];
107
- typeScriptPathAliases: TypeScriptPathAlias[];
108
- variableTargets: string[];
109
- instructions: string[];
110
- };
111
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/composition/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export const PROVIDER_SLOTS = ["auth", "cms", "commerce"];
2
- export const PROVIDER_ALIASES = {
3
- auth: "@repo/auth",
4
- cms: "@repo/cms",
5
- commerce: "@repo/commerce-provider",
6
- };
@@ -1,6 +0,0 @@
1
- import type { CompositionPlan } from "./types.js";
2
- type TypeScriptPathPlan = Pick<CompositionPlan, "catalogTypeScriptPathAliases" | "typeScriptPathAliases">;
3
- export declare const applyTypeScriptPathAliases: (workspaceRoot: string, plan: TypeScriptPathPlan) => Promise<void>;
4
- export declare const checkTypeScriptPathAliases: (workspaceRoot: string, plan: TypeScriptPathPlan) => Promise<string[]>;
5
- export {};
6
- //# sourceMappingURL=typescript-paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-paths.d.ts","sourceRoot":"","sources":["../../src/composition/typescript-paths.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,YAAY,CAAC;AAkBvE,KAAK,kBAAkB,GAAG,IAAI,CAC5B,eAAe,EACf,8BAA8B,GAAG,uBAAuB,CACzD,CAAC;AAmHF,eAAO,MAAM,0BAA0B,kBACtB,MAAM,QACf,kBAAkB,KACvB,OAAO,CAAC,IAAI,CA+Cd,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBACtB,MAAM,QACf,kBAAkB,KACvB,OAAO,CAAC,MAAM,EAAE,CAiClB,CAAC"}