@seedcli/cli 0.1.6 → 0.1.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,iCAqCvB,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY,iCAgEvB,CAAC"}
@@ -1,7 +1,8 @@
1
- import { join } from "node:path";
1
+ import { basename, join } from "node:path";
2
2
  import { command, flag } from "@seedcli/core";
3
3
  import { exists } from "@seedcli/filesystem";
4
4
  import { colors, error, info, success } from "@seedcli/print";
5
+ import { cleanupBuildEntry, generateBuildEntry } from "../utils/generate-build-entry.js";
5
6
  import { resolveEntry } from "../utils/resolve-entry.js";
6
7
  function formatSize(bytes) {
7
8
  if (bytes < 1024)
@@ -36,25 +37,52 @@ export const buildCommand = command({
36
37
  process.exitCode = 1;
37
38
  return;
38
39
  }
39
- if (flags.compile) {
40
- // ─── Compile Mode ───
41
- await compileMode(entryPath, cwd, flags);
40
+ // ─── Generate build entry (resolves .src() and .plugins() to static imports) ───
41
+ const buildEntry = await generateBuildEntry(entryPath, cwd);
42
+ const effectiveEntry = buildEntry?.tempPath ?? entryPath;
43
+ if (buildEntry) {
44
+ const parts = [];
45
+ if (buildEntry.commandCount > 0) {
46
+ parts.push(`${buildEntry.commandCount} command${buildEntry.commandCount > 1 ? "s" : ""}`);
47
+ }
48
+ if (buildEntry.extensionCount > 0) {
49
+ parts.push(`${buildEntry.extensionCount} extension${buildEntry.extensionCount > 1 ? "s" : ""}`);
50
+ }
51
+ if (buildEntry.pluginCount > 0) {
52
+ parts.push(`${buildEntry.pluginCount} plugin${buildEntry.pluginCount > 1 ? "s" : ""}`);
53
+ }
54
+ if (parts.length > 0) {
55
+ info(`Discovered ${parts.join(", ")}`);
56
+ }
42
57
  }
43
- else {
44
- // ─── Bundle Mode ───
45
- await bundleMode(entryPath, cwd, flags);
58
+ try {
59
+ if (flags.compile) {
60
+ await compileMode(effectiveEntry, cwd, flags);
61
+ }
62
+ else {
63
+ await bundleMode(effectiveEntry, cwd, entryPath, flags);
64
+ }
65
+ }
66
+ finally {
67
+ // Clean up temp file
68
+ if (buildEntry) {
69
+ await cleanupBuildEntry(buildEntry.tempPath);
70
+ }
46
71
  }
47
72
  },
48
73
  });
49
- async function bundleMode(entryPath, cwd, flags) {
74
+ async function bundleMode(entryPath, cwd, originalEntryPath, flags) {
50
75
  const outdir = flags.outdir ?? join(cwd, "dist");
51
- info(`${colors.cyan("seed build")} bundling ${colors.dim(entryPath)}`);
76
+ info(`${colors.cyan("seed build")} bundling...`);
52
77
  const result = await Bun.build({
53
78
  entrypoints: [entryPath],
54
79
  outdir,
55
80
  target: "bun",
56
81
  minify: flags.minify ?? false,
57
82
  sourcemap: flags.sourcemap ? "external" : "none",
83
+ naming: {
84
+ entry: basename(originalEntryPath).replace(/\.ts$/, ".js"),
85
+ },
58
86
  });
59
87
  if (!result.success) {
60
88
  for (const log of result.logs) {
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface GenerateBuildEntryResult {
2
+ /** The generated entry file content */
3
+ content: string;
4
+ /** Path where the temp entry was written */
5
+ tempPath: string;
6
+ /** Number of commands discovered */
7
+ commandCount: number;
8
+ /** Number of extensions discovered */
9
+ extensionCount: number;
10
+ /** Number of plugins discovered from directories */
11
+ pluginCount: number;
12
+ }
13
+ /**
14
+ * Generate a build-ready entry file that replaces dynamic discovery with static imports.
15
+ *
16
+ * This handles three concerns:
17
+ * 1. `.src()` — replaced with explicit `.command()` / `.extension()` calls
18
+ * 2. `.plugins(dir)` — replaced with explicit `.plugin()` calls
19
+ * 3. `@seedcli/*` runtime modules — added as static imports so the bundler includes them
20
+ * (the runtime loads these dynamically via `await import()` which the bundler can't trace)
21
+ *
22
+ * @param entryPath - Absolute path to the user's entry file
23
+ * @param cwd - The project's working directory
24
+ * @returns The generated entry info, or null if no rewriting is needed
25
+ */
26
+ export declare function generateBuildEntry(entryPath: string, cwd: string): Promise<GenerateBuildEntryResult | null>;
27
+ /**
28
+ * Clean up the temporary build entry file.
29
+ */
30
+ export declare function cleanupBuildEntry(tempPath: string): Promise<void>;
31
+ //# sourceMappingURL=generate-build-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-build-entry.d.ts","sourceRoot":"","sources":["../../src/utils/generate-build-entry.ts"],"names":[],"mappings":"AAsJA,MAAM,WAAW,wBAAwB;IACxC,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACpB;AA0DD;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACvC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CA+J1C;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE"}
@@ -0,0 +1,329 @@
1
+ import { readdir, stat } from "node:fs/promises";
2
+ import { basename, dirname, join, relative } from "node:path";
3
+ async function isDirectory(path) {
4
+ try {
5
+ const s = await stat(path);
6
+ return s.isDirectory();
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ function shouldSkip(filename) {
13
+ return filename.startsWith("_") || filename.startsWith(".");
14
+ }
15
+ /**
16
+ * Recursively scan a directory for .ts files, returning paths relative to baseDir.
17
+ */
18
+ async function scanTsFiles(dir, baseDir) {
19
+ if (!(await isDirectory(dir)))
20
+ return [];
21
+ const results = [];
22
+ const entries = await readdir(dir, { withFileTypes: true });
23
+ for (const entry of entries) {
24
+ if (shouldSkip(entry.name))
25
+ continue;
26
+ const fullPath = join(dir, entry.name);
27
+ if (entry.isDirectory()) {
28
+ const nested = await scanTsFiles(fullPath, baseDir);
29
+ results.push(...nested);
30
+ }
31
+ else if (entry.name.endsWith(".ts") && !entry.name.endsWith(".d.ts")) {
32
+ results.push(relative(baseDir, fullPath));
33
+ }
34
+ }
35
+ return results.sort();
36
+ }
37
+ /**
38
+ * Scan for commands and extensions in a source directory.
39
+ */
40
+ async function scanSrcDir(srcDir) {
41
+ const commandsDir = join(srcDir, "commands");
42
+ const extensionsDir = join(srcDir, "extensions");
43
+ const [commands, extensions] = await Promise.all([
44
+ scanTsFiles(commandsDir, commandsDir),
45
+ scanTsFiles(extensionsDir, extensionsDir),
46
+ ]);
47
+ return {
48
+ commands: commands.map((f) => `commands/${f}`),
49
+ extensions: extensions.map((f) => `extensions/${f}`),
50
+ };
51
+ }
52
+ /**
53
+ * Scan a plugin directory for matching plugin packages.
54
+ * Returns directory names that match the glob pattern.
55
+ */
56
+ async function scanPluginDir(dir, matching) {
57
+ if (!(await isDirectory(dir)))
58
+ return [];
59
+ const entries = await readdir(dir, { withFileTypes: true });
60
+ const plugins = [];
61
+ for (const entry of entries) {
62
+ if (!entry.isDirectory())
63
+ continue;
64
+ if (matching) {
65
+ const glob = new Bun.Glob(matching);
66
+ if (!glob.match(entry.name))
67
+ continue;
68
+ }
69
+ plugins.push(join(dir, entry.name));
70
+ }
71
+ return plugins;
72
+ }
73
+ /**
74
+ * Generate a variable name from a file path.
75
+ * e.g. "commands/hello.ts" -> "cmd_hello"
76
+ * "commands/env/list.ts" -> "cmd_env_list"
77
+ * "extensions/workspace.ts" -> "ext_workspace"
78
+ */
79
+ function varName(prefix, filePath) {
80
+ const name = filePath
81
+ .replace(/^(commands|extensions)\//, "")
82
+ .replace(/\.ts$/, "")
83
+ .replace(/[/\\]/g, "_")
84
+ .replace(/[^a-zA-Z0-9_]/g, "_");
85
+ return `${prefix}_${name}`;
86
+ }
87
+ /**
88
+ * Detect .src() call in the entry source and extract the directory expression.
89
+ * Returns the line that contains .src(...) or null.
90
+ */
91
+ function detectSrcCall(source) {
92
+ return /\.src\s*\(/.test(source);
93
+ }
94
+ /**
95
+ * Detect .plugins() calls (directory scanning) in the entry source.
96
+ * Returns match info for each call.
97
+ */
98
+ function detectPluginsDirCalls(source) {
99
+ const results = [];
100
+ // Match .plugins("./plugins", { matching: "pattern" }) or .plugins("./plugins")
101
+ const regex = /\.plugins\s*\(\s*["'`]([^"'`]+)["'`](?:\s*,\s*\{[^}]*matching\s*:\s*["'`]([^"'`]+)["'`][^}]*\})?\s*\)/g;
102
+ let match = regex.exec(source);
103
+ while (match !== null) {
104
+ results.push({
105
+ fullMatch: match[0],
106
+ dir: match[1],
107
+ matching: match[2],
108
+ });
109
+ match = regex.exec(source);
110
+ }
111
+ return results;
112
+ }
113
+ /**
114
+ * Find which @seedcli/* runtime modules are used by the project's commands
115
+ * and extensions. We scan the source files for toolbox property usage
116
+ * (e.g. `print.`, `filesystem.`, `prompt.`) to determine which modules
117
+ * are needed, then check if they're installed.
118
+ */
119
+ async function getUsedSeedcliModules(cwd, srcDir) {
120
+ // Map toolbox property names to their package names
121
+ const toolboxToPackage = {
122
+ print: "@seedcli/print",
123
+ prompt: "@seedcli/prompt",
124
+ filesystem: "@seedcli/filesystem",
125
+ system: "@seedcli/system",
126
+ http: "@seedcli/http",
127
+ template: "@seedcli/template",
128
+ strings: "@seedcli/strings",
129
+ semver: "@seedcli/semver",
130
+ packageManager: "@seedcli/package-manager",
131
+ config: "@seedcli/config",
132
+ patching: "@seedcli/patching",
133
+ };
134
+ // Scan all .ts files in the src dir
135
+ const allFiles = await scanTsFiles(srcDir, srcDir);
136
+ let allSource = "";
137
+ for (const file of allFiles) {
138
+ try {
139
+ allSource += await Bun.file(join(srcDir, file)).text();
140
+ }
141
+ catch {
142
+ // Skip unreadable files
143
+ }
144
+ }
145
+ const used = [];
146
+ for (const [prop, pkg] of Object.entries(toolboxToPackage)) {
147
+ // Check if the toolbox property is referenced in the source
148
+ // Match patterns like: toolbox.print, { print }, print.info, etc.
149
+ const pattern = new RegExp(`\\b${prop}\\b`);
150
+ if (pattern.test(allSource)) {
151
+ // Verify the module is actually installed
152
+ const modPath = join(cwd, "node_modules", ...pkg.split("/"));
153
+ if (await isDirectory(modPath)) {
154
+ used.push(pkg);
155
+ }
156
+ }
157
+ }
158
+ // Always include completions if installed (needed for completions command)
159
+ const completionsPath = join(cwd, "node_modules", "@seedcli", "completions");
160
+ if (await isDirectory(completionsPath)) {
161
+ used.push("@seedcli/completions");
162
+ }
163
+ return used;
164
+ }
165
+ /**
166
+ * Generate a build-ready entry file that replaces dynamic discovery with static imports.
167
+ *
168
+ * This handles three concerns:
169
+ * 1. `.src()` — replaced with explicit `.command()` / `.extension()` calls
170
+ * 2. `.plugins(dir)` — replaced with explicit `.plugin()` calls
171
+ * 3. `@seedcli/*` runtime modules — added as static imports so the bundler includes them
172
+ * (the runtime loads these dynamically via `await import()` which the bundler can't trace)
173
+ *
174
+ * @param entryPath - Absolute path to the user's entry file
175
+ * @param cwd - The project's working directory
176
+ * @returns The generated entry info, or null if no rewriting is needed
177
+ */
178
+ export async function generateBuildEntry(entryPath, cwd) {
179
+ const source = await Bun.file(entryPath).text();
180
+ const entryDir = dirname(entryPath);
181
+ const hasSrc = detectSrcCall(source);
182
+ const pluginsDirCalls = detectPluginsDirCalls(source);
183
+ let generated = source;
184
+ let commandCount = 0;
185
+ let extensionCount = 0;
186
+ let pluginCount = 0;
187
+ // Collect all import lines to inject at the top
188
+ const importLines = [];
189
+ // ─── Force-include @seedcli/* runtime modules ───
190
+ // The runtime's assembleToolbox() uses dynamic imports that the compiler can't trace.
191
+ // We import them statically and register them so the runtime can find them.
192
+ const usedModules = await getUsedSeedcliModules(cwd, entryDir);
193
+ const moduleRegistrations = [];
194
+ let needsRegisterModule = false;
195
+ for (const mod of usedModules) {
196
+ const alias = `_mod_${mod.replace("@seedcli/", "").replace(/-/g, "_")}`;
197
+ importLines.push(`import * as ${alias} from "${mod}";`);
198
+ moduleRegistrations.push(`registerModule("${mod}", ${alias});`);
199
+ needsRegisterModule = true;
200
+ }
201
+ if (needsRegisterModule) {
202
+ // Add registerModule import if not already importing from @seedcli/core
203
+ if (source.includes('from "@seedcli/core"') || source.includes("from '@seedcli/core'")) {
204
+ // Need to add registerModule to the existing import
205
+ generated = generated.replace(/import\s*\{([^}]+)\}\s*from\s*["']@seedcli\/core["']/, (match, imports) => {
206
+ if (imports.includes("registerModule"))
207
+ return match;
208
+ return `import {${imports}, registerModule } from "@seedcli/core"`;
209
+ });
210
+ }
211
+ else {
212
+ importLines.unshift('import { registerModule } from "@seedcli/core";');
213
+ }
214
+ }
215
+ // ─── Handle .src() ───
216
+ if (hasSrc) {
217
+ // The src dir is typically import.meta.dir (the entry file's directory)
218
+ // or a relative path. For build, we resolve it relative to the entry file.
219
+ const srcDir = entryDir;
220
+ const scanned = await scanSrcDir(srcDir);
221
+ // Generate import statements for commands
222
+ const commandVars = [];
223
+ for (const file of scanned.commands) {
224
+ const vname = varName("cmd", file);
225
+ // Use relative path from entry dir — remove .ts for import
226
+ const importPath = `./${file.replace(/\.ts$/, ".js")}`;
227
+ importLines.push(`import ${vname} from "${importPath}";`);
228
+ commandVars.push(vname);
229
+ }
230
+ // Generate import statements for extensions
231
+ const extensionVars = [];
232
+ for (const file of scanned.extensions) {
233
+ const vname = varName("ext", file);
234
+ const importPath = `./${file.replace(/\.ts$/, ".js")}`;
235
+ importLines.push(`import ${vname} from "${importPath}";`);
236
+ extensionVars.push(vname);
237
+ }
238
+ commandCount = commandVars.length;
239
+ extensionCount = extensionVars.length;
240
+ // Build the replacement chain calls
241
+ const chainCalls = [];
242
+ for (const v of commandVars) {
243
+ chainCalls.push(`.command(${v})`);
244
+ }
245
+ for (const v of extensionVars) {
246
+ chainCalls.push(`.extension(${v})`);
247
+ }
248
+ // Replace .src(...) with the explicit command/extension calls
249
+ const replacement = chainCalls.length > 0 ? `\n${chainCalls.map((c) => `\t${c}`).join("\n")}\n\t` : "\n\t";
250
+ generated = generated.replace(/\s*\.src\s*\([^)]*\)\s*/g, replacement);
251
+ }
252
+ // ─── Handle .plugins(dir, { matching }) ───
253
+ for (const call of pluginsDirCalls) {
254
+ const resolvedDir = join(cwd, call.dir);
255
+ const pluginPaths = await scanPluginDir(resolvedDir, call.matching);
256
+ const pluginImports = [];
257
+ for (const pluginPath of pluginPaths) {
258
+ const name = basename(pluginPath);
259
+ const vname = `plugin_${name.replace(/[^a-zA-Z0-9_]/g, "_")}`;
260
+ let relPath = relative(entryDir, pluginPath).replace(/\\/g, "/");
261
+ if (!relPath.startsWith("."))
262
+ relPath = `./${relPath}`;
263
+ importLines.push(`import ${vname} from "${relPath}";`);
264
+ pluginImports.push(vname);
265
+ }
266
+ pluginCount += pluginImports.length;
267
+ // Replace .plugins(dir, opts) with individual .plugin() calls
268
+ const replacement = pluginImports.map((v) => `.plugin(${v})`).join("\n\t");
269
+ generated = generated.replace(call.fullMatch, replacement || "/* no plugins found */");
270
+ }
271
+ // If nothing was changed, no rewriting needed
272
+ if (importLines.length === 0 && !hasSrc && pluginsDirCalls.length === 0) {
273
+ return null;
274
+ }
275
+ // ─── Inject imports and registrations at the top ───
276
+ if (importLines.length > 0 || moduleRegistrations.length > 0) {
277
+ const lines = generated.split("\n");
278
+ // Skip shebang line when searching for imports
279
+ const startIdx = lines.length > 0 && lines[0].startsWith("#!") ? 1 : 0;
280
+ let lastImportIdx = -1;
281
+ for (let i = startIdx; i < lines.length; i++) {
282
+ if (/^\s*import\s/.test(lines[i])) {
283
+ lastImportIdx = i;
284
+ }
285
+ }
286
+ // Insert import lines after the last import (or after shebang if no imports)
287
+ if (lastImportIdx !== -1) {
288
+ lines.splice(lastImportIdx + 1, 0, ...importLines);
289
+ }
290
+ else {
291
+ // Insert after shebang if present, otherwise at start
292
+ lines.splice(startIdx, 0, ...importLines);
293
+ }
294
+ // Insert registerModule() calls after all imports
295
+ if (moduleRegistrations.length > 0) {
296
+ let newLastImportIdx = -1;
297
+ for (let i = 0; i < lines.length; i++) {
298
+ if (/^\s*import\s/.test(lines[i])) {
299
+ newLastImportIdx = i;
300
+ }
301
+ }
302
+ lines.splice(newLastImportIdx + 1, 0, "", ...moduleRegistrations);
303
+ }
304
+ generated = lines.join("\n");
305
+ }
306
+ // Write the temp entry file in the same directory to preserve relative imports
307
+ const tempPath = join(entryDir, `.seed-build-${basename(entryPath)}`);
308
+ await Bun.write(tempPath, generated);
309
+ return {
310
+ content: generated,
311
+ tempPath,
312
+ commandCount,
313
+ extensionCount,
314
+ pluginCount,
315
+ };
316
+ }
317
+ /**
318
+ * Clean up the temporary build entry file.
319
+ */
320
+ export async function cleanupBuildEntry(tempPath) {
321
+ try {
322
+ const { unlink } = await import("node:fs/promises");
323
+ await unlink(tempPath);
324
+ }
325
+ catch {
326
+ // Ignore cleanup errors
327
+ }
328
+ }
329
+ //# sourceMappingURL=generate-build-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-build-entry.js","sourceRoot":"","sources":["../../src/utils/generate-build-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAsB9D,KAAK,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC;QACJ,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IACnC,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,OAAe;IACtD,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEjD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChD,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;QACrC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC;KACzC,CAAC,CAAC;IAEH,OAAO;QACN,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;KACpD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,QAAiB;IAC1D,IAAI,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS;QAEnC,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;QACvC,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAc,EAAE,QAAgB;IAChD,MAAM,IAAI,GAAG,QAAQ;SACnB,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAc;IACpC,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC7B,MAAc;IAEd,MAAM,OAAO,GAAiE,EAAE,CAAC;IACjF,gFAAgF;IAChF,MAAM,KAAK,GACV,wGAAwG,CAAC;IAC1G,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,KAAK,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACnB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACb,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB,CAAC,CAAC;QACH,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAeD;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,MAAc;IAC/D,oDAAoD;IACpD,MAAM,gBAAgB,GAA2B;QAChD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,iBAAiB;QACzB,UAAU,EAAE,qBAAqB;QACjC,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,mBAAmB;QAC7B,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,iBAAiB;QACzB,cAAc,EAAE,0BAA0B;QAC1C,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,mBAAmB;KAC7B,CAAC;IAEF,oCAAoC;IACpC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC;YACJ,SAAS,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACR,wBAAwB;QACzB,CAAC;IACF,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5D,4DAA4D;QAC5D,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;IACF,CAAC;IAED,2EAA2E;IAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAC7E,IAAI,MAAM,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,SAAiB,EACjB,GAAW;IAEX,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,gDAAgD;IAChD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,mDAAmD;IACnD,sFAAsF;IACtF,4EAA4E;IAC5E,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACxE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,UAAU,GAAG,IAAI,CAAC,CAAC;QACxD,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC;QAChE,mBAAmB,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACzB,wEAAwE;QACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACxF,oDAAoD;YACpD,SAAS,GAAG,SAAS,CAAC,OAAO,CAC5B,sDAAsD,EACtD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAClB,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrD,OAAO,WAAW,OAAO,yCAAyC,CAAC;YACpE,CAAC,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QACxE,CAAC;IACF,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM,EAAE,CAAC;QACZ,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAEzC,0CAA0C;QAC1C,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,2DAA2D;YAC3D,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,UAAU,IAAI,CAAC,CAAC;YAC1D,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,4CAA4C;QAC5C,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,UAAU,IAAI,CAAC,CAAC;YAC1D,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC;QAClC,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC;QAEtC,oCAAoC;QACpC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,8DAA8D;QAC9D,MAAM,WAAW,GAChB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACxF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;IAED,6CAA6C;IAC7C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,KAAK,OAAO,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,OAAO,IAAI,CAAC,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,WAAW,IAAI,aAAa,CAAC,MAAM,CAAC;QAEpC,8DAA8D;QAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,wBAAwB,CAAC,CAAC;IACxF,CAAC;IAED,8CAA8C;IAC9C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,sDAAsD;IACtD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,+CAA+C;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,aAAa,GAAG,CAAC,CAAC;YACnB,CAAC;QACF,CAAC;QAED,6EAA6E;QAC7E,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACP,sDAAsD;YACtD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,kDAAkD;QAClD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnC,gBAAgB,GAAG,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,mBAAmB,CAAC,CAAC;QACnE,CAAC;QAED,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAErC,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,QAAQ;QACR,YAAY;QACZ,cAAc;QACd,WAAW;KACX,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACvD,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,wBAAwB;IACzB,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedcli/cli",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Scaffolding CLI for creating and managing Seed CLI projects",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -42,15 +42,15 @@
42
42
  "templates"
43
43
  ],
44
44
  "dependencies": {
45
- "@seedcli/config": "^0.1.0",
46
- "@seedcli/core": "^0.1.0",
47
- "@seedcli/filesystem": "^0.1.0",
48
- "@seedcli/package-manager": "^0.1.0",
49
- "@seedcli/print": "^0.1.0",
50
- "@seedcli/prompt": "^0.1.0",
51
- "@seedcli/strings": "^0.1.0",
52
- "@seedcli/system": "^0.1.0",
53
- "@seedcli/template": "^0.1.0"
45
+ "@seedcli/config": "^0.1.7",
46
+ "@seedcli/core": "^0.1.7",
47
+ "@seedcli/filesystem": "^0.1.7",
48
+ "@seedcli/package-manager": "^0.1.7",
49
+ "@seedcli/print": "^0.1.7",
50
+ "@seedcli/prompt": "^0.1.7",
51
+ "@seedcli/strings": "^0.1.7",
52
+ "@seedcli/system": "^0.1.7",
53
+ "@seedcli/template": "^0.1.7"
54
54
  },
55
55
  "devDependencies": {}
56
56
  }