@beignet/cli 0.0.6 → 0.0.8

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.
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Shared string-edit helpers for registry files.
3
+ *
4
+ * `beignet make` generators and `beignet doctor --fix` both append entries to
5
+ * app-owned registry files such as `server/schedules.ts`, `server/tasks.ts`,
6
+ * and `server/outbox.ts`. Keeping the import insertion, array append, and
7
+ * membership primitives in one module keeps both write paths byte-compatible.
8
+ */
9
+ /**
10
+ * Source slice for an initializer expression, with absolute offsets.
11
+ */
12
+ export type InitializerInfo = {
13
+ text: string;
14
+ start: number;
15
+ end: number;
16
+ };
17
+ /**
18
+ * Result of appending an entry to a named registry.
19
+ *
20
+ * `missing` means the registry anchor could not be found or is not an array
21
+ * literal; callers should bail without writing.
22
+ */
23
+ export type AppendResult = {
24
+ kind: "updated";
25
+ source: string;
26
+ } | {
27
+ kind: "unchanged";
28
+ } | {
29
+ kind: "missing";
30
+ };
31
+ /**
32
+ * Find the index of the delimiter closing the one at `openIndex`, skipping
33
+ * string literals.
34
+ */
35
+ export declare function matchingDelimiterIndex(source: string, openIndex: number, open: string, close: string): number;
36
+ /**
37
+ * Insert a line directly after the last top-level import statement.
38
+ */
39
+ export declare function insertAfterImports(source: string, line: string): string;
40
+ /**
41
+ * Collect every identifier referenced inside an array (or object) expression.
42
+ */
43
+ export declare function identifiersFromArrayExpression(expression: string): Set<string>;
44
+ /**
45
+ * Append entries to an array literal, preserving single-line and multiline
46
+ * formatting plus trailing commas.
47
+ */
48
+ export declare function appendToArrayExpression(expression: string, names: string[]): string;
49
+ /**
50
+ * Locate the array literal initializing `const <constName> = ...`.
51
+ *
52
+ * Wrapping calls such as `defineTasks([...])` are tolerated because the first
53
+ * `[` after the assignment is used.
54
+ */
55
+ export declare function arrayInitializerInfo(source: string, constName: string): InitializerInfo | undefined;
56
+ /**
57
+ * Append `entry` to the array initializing `const <constName> = [...]` and
58
+ * insert `importLine` after the imports when it is not already present.
59
+ *
60
+ * Generalizes the `server/schedules.ts` and `server/tasks.ts` registry update
61
+ * used by `beignet make`. Returns `missing` without touching the source when
62
+ * the array cannot be found, so callers never partially write.
63
+ */
64
+ export declare function appendToNamedArray(source: string, constName: string, entry: string, importLine?: string): AppendResult;
65
+ /**
66
+ * Locate the `events` or `jobs` value inside `defineOutboxRegistry({...})`.
67
+ */
68
+ export declare function outboxRegistryValueInfo(source: string, property: "events" | "jobs"): InitializerInfo | undefined;
69
+ /**
70
+ * Append `entry` to the `events` or `jobs` array of
71
+ * `defineOutboxRegistry({...})` and insert `importLine` when needed.
72
+ *
73
+ * Returns `missing` without touching the source when the registry call or
74
+ * property is absent, or when the property value is not an array literal.
75
+ */
76
+ export declare function appendToOutboxRegistryArray(source: string, property: "events" | "jobs", entry: string, importLine?: string): AppendResult;
77
+ //# sourceMappingURL=registry-edits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-edits.d.ts","sourceRoot":"","sources":["../src/registry-edits.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,MAAM,CAmCR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBvE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,CAAC,CASb;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CA4BR;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,SAAS,CAe7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAOd;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAC1B,eAAe,GAAG,SAAS,CAmB7B;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAC3B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,YAAY,CAgBd"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Shared string-edit helpers for registry files.
3
+ *
4
+ * `beignet make` generators and `beignet doctor --fix` both append entries to
5
+ * app-owned registry files such as `server/schedules.ts`, `server/tasks.ts`,
6
+ * and `server/outbox.ts`. Keeping the import insertion, array append, and
7
+ * membership primitives in one module keeps both write paths byte-compatible.
8
+ */
9
+ /**
10
+ * Find the index of the delimiter closing the one at `openIndex`, skipping
11
+ * string literals.
12
+ */
13
+ export function matchingDelimiterIndex(source, openIndex, open, close) {
14
+ let depth = 0;
15
+ let inString;
16
+ let escaped = false;
17
+ for (let index = openIndex; index < source.length; index++) {
18
+ const char = source[index];
19
+ if (inString) {
20
+ if (escaped) {
21
+ escaped = false;
22
+ }
23
+ else if (char === "\\") {
24
+ escaped = true;
25
+ }
26
+ else if (char === inString) {
27
+ inString = undefined;
28
+ }
29
+ continue;
30
+ }
31
+ if (char === '"' || char === "'" || char === "`") {
32
+ inString = char;
33
+ continue;
34
+ }
35
+ if (char === open) {
36
+ depth++;
37
+ continue;
38
+ }
39
+ if (char === close) {
40
+ depth--;
41
+ if (depth === 0)
42
+ return index;
43
+ }
44
+ }
45
+ return -1;
46
+ }
47
+ /**
48
+ * Insert a line directly after the last top-level import statement.
49
+ */
50
+ export function insertAfterImports(source, line) {
51
+ const lines = source.split("\n");
52
+ let lastImportIndex = -1;
53
+ for (let index = 0; index < lines.length; index++) {
54
+ if (lines[index].startsWith("import ")) {
55
+ lastImportIndex = index;
56
+ }
57
+ }
58
+ if (lastImportIndex === -1) {
59
+ return `${line}\n${source}`;
60
+ }
61
+ lines.splice(lastImportIndex + 1, 0, line);
62
+ return lines.join("\n");
63
+ }
64
+ /**
65
+ * Collect every identifier referenced inside an array (or object) expression.
66
+ */
67
+ export function identifiersFromArrayExpression(expression) {
68
+ const withoutBrackets = expression.replace(/^\[/, "").replace(/\]$/, "");
69
+ return new Set(Array.from(withoutBrackets.matchAll(/\b[A-Za-z_$][\w$]*\b/g), ([name]) => name));
70
+ }
71
+ /**
72
+ * Append entries to an array literal, preserving single-line and multiline
73
+ * formatting plus trailing commas.
74
+ */
75
+ export function appendToArrayExpression(expression, names) {
76
+ const closingBracket = /\]\s*$/.exec(expression);
77
+ if (!closingBracket)
78
+ return expression;
79
+ const beforeClosingBracket = expression.slice(0, closingBracket.index);
80
+ const closingBracketText = expression.slice(closingBracket.index);
81
+ const inner = beforeClosingBracket.replace(/^\[/, "");
82
+ if (!inner.trim())
83
+ return `[${names.join(", ")}]`;
84
+ if (!expression.includes("\n")) {
85
+ const separator = /,\s*$/.test(inner) ? " " : ", ";
86
+ return `${beforeClosingBracket}${separator}${names.join(", ")}${closingBracketText}`;
87
+ }
88
+ const itemIndent = inner
89
+ .split("\n")
90
+ .find((line) => line.trim())
91
+ ?.match(/^[\t ]*/)?.[0] ?? "\t";
92
+ const closingIndent = inner.match(/\n([\t ]*)$/)?.[1] ?? "";
93
+ const trimmedBeforeClosingBracket = beforeClosingBracket.replace(/\s*$/, "");
94
+ const appendedNames = names.join(`,\n${itemIndent}`);
95
+ if (/,\s*$/.test(inner)) {
96
+ return `${trimmedBeforeClosingBracket}\n${itemIndent}${appendedNames},\n${closingIndent}${closingBracketText}`;
97
+ }
98
+ return `${trimmedBeforeClosingBracket},\n${itemIndent}${appendedNames}${closingBracketText}`;
99
+ }
100
+ /**
101
+ * Locate the array literal initializing `const <constName> = ...`.
102
+ *
103
+ * Wrapping calls such as `defineTasks([...])` are tolerated because the first
104
+ * `[` after the assignment is used.
105
+ */
106
+ export function arrayInitializerInfo(source, constName) {
107
+ const match = new RegExp(`\\bconst\\s+${constName}\\s*=`).exec(source);
108
+ if (!match)
109
+ return undefined;
110
+ const openBracket = source.indexOf("[", match.index);
111
+ if (openBracket === -1)
112
+ return undefined;
113
+ const closeBracket = matchingDelimiterIndex(source, openBracket, "[", "]");
114
+ if (closeBracket === -1)
115
+ return undefined;
116
+ return {
117
+ text: source.slice(openBracket, closeBracket + 1),
118
+ start: openBracket,
119
+ end: closeBracket + 1,
120
+ };
121
+ }
122
+ /**
123
+ * Append `entry` to the array initializing `const <constName> = [...]` and
124
+ * insert `importLine` after the imports when it is not already present.
125
+ *
126
+ * Generalizes the `server/schedules.ts` and `server/tasks.ts` registry update
127
+ * used by `beignet make`. Returns `missing` without touching the source when
128
+ * the array cannot be found, so callers never partially write.
129
+ */
130
+ export function appendToNamedArray(source, constName, entry, importLine) {
131
+ const registry = arrayInitializerInfo(source, constName);
132
+ if (!registry)
133
+ return { kind: "missing" };
134
+ return appendEntry(source, registry, entry, importLine, (next) => arrayInitializerInfo(next, constName));
135
+ }
136
+ /**
137
+ * Locate the `events` or `jobs` value inside `defineOutboxRegistry({...})`.
138
+ */
139
+ export function outboxRegistryValueInfo(source, property) {
140
+ const call = /\bdefineOutboxRegistry\s*(?:<[^>]*>\s*)?\(/.exec(source);
141
+ if (!call)
142
+ return undefined;
143
+ const openBrace = source.indexOf("{", call.index);
144
+ if (openBrace === -1)
145
+ return undefined;
146
+ const closeBrace = matchingDelimiterIndex(source, openBrace, "{", "}");
147
+ if (closeBrace === -1)
148
+ return undefined;
149
+ const objectText = source.slice(openBrace, closeBrace + 1);
150
+ const propertyMatch = new RegExp(`\\b${property}\\s*:`).exec(objectText);
151
+ if (!propertyMatch)
152
+ return undefined;
153
+ const valueStart = openBrace + propertyMatch.index + propertyMatch[0].length;
154
+ const value = topLevelValueSlice(source, valueStart, closeBrace);
155
+ if (!value)
156
+ return undefined;
157
+ return value;
158
+ }
159
+ /**
160
+ * Append `entry` to the `events` or `jobs` array of
161
+ * `defineOutboxRegistry({...})` and insert `importLine` when needed.
162
+ *
163
+ * Returns `missing` without touching the source when the registry call or
164
+ * property is absent, or when the property value is not an array literal.
165
+ */
166
+ export function appendToOutboxRegistryArray(source, property, entry, importLine) {
167
+ const value = outboxRegistryValueInfo(source, property);
168
+ if (!value)
169
+ return { kind: "missing" };
170
+ const entryName = entryIdentifier(entry);
171
+ if (identifiersFromArrayExpression(value.text).has(entryName)) {
172
+ return appendEntry(source, value, entry, importLine, () => undefined, {
173
+ alreadyListed: true,
174
+ });
175
+ }
176
+ if (!value.text.startsWith("["))
177
+ return { kind: "missing" };
178
+ return appendEntry(source, value, entry, importLine, (next) => outboxRegistryValueInfo(next, property));
179
+ }
180
+ function entryIdentifier(entry) {
181
+ return entry.replace(/^\.{3}/, "").trim();
182
+ }
183
+ function appendEntry(source, info, entry, importLine, relocate, options = {}) {
184
+ const alreadyListed = options.alreadyListed ??
185
+ identifiersFromArrayExpression(info.text).has(entryIdentifier(entry));
186
+ let next = source;
187
+ if (importLine && !next.includes(importLine)) {
188
+ next = insertAfterImports(next, importLine);
189
+ }
190
+ if (!alreadyListed) {
191
+ const target = next === source ? info : relocate(next);
192
+ if (!target)
193
+ return { kind: "missing" };
194
+ const nextArray = appendToArrayExpression(target.text, [entry]);
195
+ next = `${next.slice(0, target.start)}${nextArray}${next.slice(target.end)}`;
196
+ }
197
+ if (next === source)
198
+ return { kind: "unchanged" };
199
+ return { kind: "updated", source: next };
200
+ }
201
+ function topLevelValueSlice(source, valueStart, hardEnd) {
202
+ let start = valueStart;
203
+ while (start < hardEnd && /\s/.test(source[start]))
204
+ start++;
205
+ if (start >= hardEnd)
206
+ return undefined;
207
+ let depth = 0;
208
+ let inString;
209
+ let escaped = false;
210
+ for (let index = start; index <= hardEnd; index++) {
211
+ const char = source[index];
212
+ if (inString) {
213
+ if (escaped) {
214
+ escaped = false;
215
+ }
216
+ else if (char === "\\") {
217
+ escaped = true;
218
+ }
219
+ else if (char === inString) {
220
+ inString = undefined;
221
+ }
222
+ continue;
223
+ }
224
+ if (char === '"' || char === "'" || char === "`") {
225
+ inString = char;
226
+ continue;
227
+ }
228
+ if (char === "[" || char === "(" || char === "{") {
229
+ depth++;
230
+ continue;
231
+ }
232
+ if (char === "]" || char === ")" || char === "}") {
233
+ if (depth === 0) {
234
+ return trimmedInfo(source, start, index);
235
+ }
236
+ depth--;
237
+ continue;
238
+ }
239
+ if (char === "," && depth === 0) {
240
+ return trimmedInfo(source, start, index);
241
+ }
242
+ }
243
+ return undefined;
244
+ }
245
+ function trimmedInfo(source, start, end) {
246
+ let trimmedEnd = end;
247
+ while (trimmedEnd > start && /\s/.test(source[trimmedEnd - 1]))
248
+ trimmedEnd--;
249
+ return {
250
+ text: source.slice(start, trimmedEnd),
251
+ start,
252
+ end: trimmedEnd,
253
+ };
254
+ }
255
+ //# sourceMappingURL=registry-edits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-edits.js","sourceRoot":"","sources":["../src/registry-edits.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,SAAiB,EACjB,IAAY,EACZ,KAAa;IAEb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAY;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAAkB;IAElB,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEzE,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CACR,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACjD,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CACjB,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,KAAe;IAEf,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,cAAc;QAAE,OAAO,UAAU,CAAC;IAEvC,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAElD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,OAAO,GAAG,oBAAoB,GAAG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC;IACvF,CAAC;IAED,MAAM,UAAU,GACd,KAAK;SACF,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IAErD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,2BAA2B,KAAK,UAAU,GAAG,aAAa,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;IACjH,CAAC;IAED,OAAO,GAAG,2BAA2B,MAAM,UAAU,GAAG,aAAa,GAAG,kBAAkB,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,SAAiB;IAEjB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3E,IAAI,YAAY,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,CAAC;QACjD,KAAK,EAAE,WAAW;QAClB,GAAG,EAAE,YAAY,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,SAAiB,EACjB,KAAa,EACb,UAAmB;IAEnB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE1C,OAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/D,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,QAA2B;IAE3B,MAAM,IAAI,GAAG,4CAA4C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAErC,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAc,EACd,QAA2B,EAC3B,KAAa,EACb,UAAmB;IAEnB,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,8BAA8B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;YACpE,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE5D,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5D,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,IAAqB,EACrB,KAAa,EACb,UAA8B,EAC9B,QAAuD,EACvD,UAAuC,EAAE;IAEzC,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa;QACrB,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,MAAM,CAAC;IAElB,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,UAAkB,EAClB,OAAe;IAEf,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,OAAO,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,EAAE,CAAC;IAC5D,IAAI,KAAK,IAAI,OAAO;QAAE,OAAO,SAAS,CAAC;IAEvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAA4B,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,KAAa,EACb,GAAW;IAEX,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,OAAO,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAAE,UAAU,EAAE,CAAC;IAE7E,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;KAChB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/cli",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "description": "CLI for creating and maintaining Beignet apps.",
6
6
  "main": "./dist/lib.js",
@@ -66,7 +66,7 @@
66
66
  "typescript": "^5.3.0"
67
67
  },
68
68
  "dependencies": {
69
- "@beignet/core": "^0.0.6",
69
+ "@beignet/core": "^0.0.8",
70
70
  "@clack/prompts": "^1.5.1",
71
71
  "@stricli/core": "^1.2.7",
72
72
  "jiti": "^2.7.0"