silgi 0.19.10 → 0.19.11
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.
- package/dist/_chunks/index.mjs +1 -1
- package/dist/cli/common.mjs +2208 -3
- package/dist/cli/config/index.mjs +1 -2
- package/dist/cli/dev.mjs +4 -6
- package/dist/cli/index.mjs +2 -2
- package/dist/cli/install.mjs +6 -9
- package/dist/cli/prepare.mjs +166 -47
- package/dist/cli/types.mjs +567 -6
- package/dist/meta/index.d.mts +1 -1
- package/dist/meta/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cli/loader.mjs +0 -568
- package/dist/cli/run.mjs +0 -121
- package/dist/cli/writeTypesAndFiles.mjs +0 -2211
package/dist/cli/dev.mjs
CHANGED
|
@@ -5,8 +5,7 @@ import { basename, resolve } from 'pathe';
|
|
|
5
5
|
import { version } from 'silgi/meta';
|
|
6
6
|
import { silgiCLICtx } from 'silgi/core';
|
|
7
7
|
import { h as hasError } from './compatibility.mjs';
|
|
8
|
-
import { s as scanFiles,
|
|
9
|
-
import { c as commonArgs } from './common.mjs';
|
|
8
|
+
import { s as scanFiles, w as writeScanFiles, c as commonArgs, a as createSilgiCLI, p as prepare, b as writeTypesAndFiles, d as writeCoreFile } from './common.mjs';
|
|
10
9
|
import 'semver/functions/satisfies.js';
|
|
11
10
|
import 'node:fs';
|
|
12
11
|
import 'node:fs/promises';
|
|
@@ -17,6 +16,8 @@ import 'silgi/types';
|
|
|
17
16
|
import 'unimport';
|
|
18
17
|
import '../_chunks/routeRules.mjs';
|
|
19
18
|
import 'ufo';
|
|
19
|
+
import '@clack/prompts';
|
|
20
|
+
import 'dotenv';
|
|
20
21
|
import 'mlly';
|
|
21
22
|
import 'dev-jiti';
|
|
22
23
|
import 'node:url';
|
|
@@ -27,7 +28,7 @@ import 'ignore';
|
|
|
27
28
|
import '@oxc-parser/wasm';
|
|
28
29
|
import 'klona';
|
|
29
30
|
import 'unstorage';
|
|
30
|
-
import './
|
|
31
|
+
import './types.mjs';
|
|
31
32
|
import 'c12';
|
|
32
33
|
import 'compatx';
|
|
33
34
|
import 'klona/full';
|
|
@@ -37,9 +38,6 @@ import 'escape-string-regexp';
|
|
|
37
38
|
import 'pkg-types';
|
|
38
39
|
import 'pathe/utils';
|
|
39
40
|
import 'untyped';
|
|
40
|
-
import './types.mjs';
|
|
41
|
-
import '@clack/prompts';
|
|
42
|
-
import 'dotenv';
|
|
43
41
|
|
|
44
42
|
async function reloadScan(silgi, path, _stats) {
|
|
45
43
|
const startTime = performance.now();
|
package/dist/cli/index.mjs
CHANGED
|
@@ -14,9 +14,9 @@ const main = defineCommand({
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
subCommands: {
|
|
17
|
-
prepare: () => import('./prepare.mjs').then((m) => m.default),
|
|
17
|
+
prepare: () => import('./prepare.mjs').then(function (n) { return n.a; }).then((m) => m.default),
|
|
18
18
|
init: () => import('./init.mjs').then((m) => m.default),
|
|
19
|
-
run: () => import('./
|
|
19
|
+
run: () => import('./prepare.mjs').then(function (n) { return n.r; }).then((m) => m.default),
|
|
20
20
|
install: () => import('./install.mjs').then((m) => m.default),
|
|
21
21
|
dev: () => import('./dev.mjs').then((m) => m.default)
|
|
22
22
|
},
|
package/dist/cli/install.mjs
CHANGED
|
@@ -5,20 +5,19 @@ import { consola } from 'consola';
|
|
|
5
5
|
import { resolve } from 'pathe';
|
|
6
6
|
import { version } from 'silgi/meta';
|
|
7
7
|
import { c as commonArgs } from './common.mjs';
|
|
8
|
-
import prepare from './prepare.mjs';
|
|
9
|
-
import { l as loadOptions } from './
|
|
10
|
-
import '@clack/prompts';
|
|
11
|
-
import 'dotenv';
|
|
12
|
-
import 'silgi/kit';
|
|
13
|
-
import './writeTypesAndFiles.mjs';
|
|
8
|
+
import { p as prepare } from './prepare.mjs';
|
|
9
|
+
import { l as loadOptions } from './types.mjs';
|
|
14
10
|
import 'node:fs/promises';
|
|
15
11
|
import 'hookable';
|
|
16
12
|
import 'silgi/core';
|
|
13
|
+
import 'silgi/kit';
|
|
17
14
|
import 'silgi/runtime/meta';
|
|
18
15
|
import 'silgi/types';
|
|
19
16
|
import 'unimport';
|
|
20
17
|
import '../_chunks/routeRules.mjs';
|
|
21
18
|
import 'ufo';
|
|
19
|
+
import '@clack/prompts';
|
|
20
|
+
import 'dotenv';
|
|
22
21
|
import 'mlly';
|
|
23
22
|
import 'dev-jiti';
|
|
24
23
|
import './compatibility.mjs';
|
|
@@ -33,9 +32,6 @@ import 'klona';
|
|
|
33
32
|
import 'unstorage';
|
|
34
33
|
import 'pathe/utils';
|
|
35
34
|
import 'untyped';
|
|
36
|
-
import './types.mjs';
|
|
37
|
-
import 'pkg-types';
|
|
38
|
-
import './run.mjs';
|
|
39
35
|
import 'picocolors';
|
|
40
36
|
import 'c12';
|
|
41
37
|
import 'compatx';
|
|
@@ -43,6 +39,7 @@ import 'klona/full';
|
|
|
43
39
|
import 'std-env';
|
|
44
40
|
import 'consola/utils';
|
|
45
41
|
import 'escape-string-regexp';
|
|
42
|
+
import 'pkg-types';
|
|
46
43
|
|
|
47
44
|
const install = defineCommand({
|
|
48
45
|
meta: {
|
package/dist/cli/prepare.mjs
CHANGED
|
@@ -1,47 +1,16 @@
|
|
|
1
1
|
import { defineCommand, runCommand } from 'citty';
|
|
2
|
-
import consola from 'consola';
|
|
2
|
+
import consola$1, { consola } from 'consola';
|
|
3
3
|
import { join, resolve } from 'pathe';
|
|
4
4
|
import { version } from 'silgi/meta';
|
|
5
5
|
import { writeFile } from 'silgi/kit';
|
|
6
|
-
import { c as createSilgiCLI, p as prepare$
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import '
|
|
10
|
-
import '
|
|
11
|
-
import '
|
|
12
|
-
import 'silgi/core';
|
|
13
|
-
import '
|
|
14
|
-
import 'silgi/types';
|
|
15
|
-
import 'unimport';
|
|
16
|
-
import '../_chunks/routeRules.mjs';
|
|
17
|
-
import 'ufo';
|
|
18
|
-
import 'mlly';
|
|
19
|
-
import 'dev-jiti';
|
|
20
|
-
import './compatibility.mjs';
|
|
21
|
-
import 'semver/functions/satisfies.js';
|
|
22
|
-
import 'node:url';
|
|
23
|
-
import 'defu';
|
|
24
|
-
import 'exsolve';
|
|
25
|
-
import 'globby';
|
|
26
|
-
import 'ignore';
|
|
27
|
-
import '@oxc-parser/wasm';
|
|
28
|
-
import 'klona';
|
|
29
|
-
import 'unstorage';
|
|
30
|
-
import './loader.mjs';
|
|
31
|
-
import 'c12';
|
|
32
|
-
import 'compatx';
|
|
33
|
-
import 'klona/full';
|
|
34
|
-
import 'std-env';
|
|
35
|
-
import 'consola/utils';
|
|
36
|
-
import 'escape-string-regexp';
|
|
37
|
-
import 'pkg-types';
|
|
38
|
-
import 'pathe/utils';
|
|
39
|
-
import 'untyped';
|
|
40
|
-
import './types.mjs';
|
|
41
|
-
import '@clack/prompts';
|
|
42
|
-
import 'dotenv';
|
|
43
|
-
import 'node:child_process';
|
|
44
|
-
import 'picocolors';
|
|
6
|
+
import { c as commonArgs, e as prepareEnv, a as createSilgiCLI, p as prepare$2, b as writeTypesAndFiles, d as writeCoreFile } from './common.mjs';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
|
+
import { readFileSync } from 'node:fs';
|
|
9
|
+
import * as p from '@clack/prompts';
|
|
10
|
+
import { createJiti } from 'dev-jiti';
|
|
11
|
+
import color from 'picocolors';
|
|
12
|
+
import { silgiCLICtx } from 'silgi/core';
|
|
13
|
+
import { l as loadOptions } from './types.mjs';
|
|
45
14
|
|
|
46
15
|
function serializeRules(rules, options = {}) {
|
|
47
16
|
try {
|
|
@@ -128,6 +97,140 @@ export const routeRules = ${serialized}
|
|
|
128
97
|
}
|
|
129
98
|
}
|
|
130
99
|
|
|
100
|
+
const run = defineCommand({
|
|
101
|
+
meta: {
|
|
102
|
+
name: "run",
|
|
103
|
+
description: "Run a command from the CLI",
|
|
104
|
+
version: version
|
|
105
|
+
},
|
|
106
|
+
args: {
|
|
107
|
+
...commonArgs,
|
|
108
|
+
preset: {
|
|
109
|
+
type: "string",
|
|
110
|
+
description: "The build preset to use (you can also use `SILGI_PRESET` environment variable)."
|
|
111
|
+
},
|
|
112
|
+
tag: {
|
|
113
|
+
type: "string"
|
|
114
|
+
},
|
|
115
|
+
active: {
|
|
116
|
+
type: "boolean",
|
|
117
|
+
description: "Run in silgi development mode",
|
|
118
|
+
default: true
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
async run({ args }) {
|
|
122
|
+
const data = args.active ? await runCommand(prepare, {
|
|
123
|
+
rawArgs: ["--commands", "run"]
|
|
124
|
+
}) : void 0;
|
|
125
|
+
if (data?.result?.silgi) {
|
|
126
|
+
console.log("Setting silgi context");
|
|
127
|
+
if (silgiCLICtx.tryUse()) {
|
|
128
|
+
silgiCLICtx.unset();
|
|
129
|
+
silgiCLICtx.set(data.result.silgi);
|
|
130
|
+
} else {
|
|
131
|
+
silgiCLICtx.set(data.result.silgi);
|
|
132
|
+
data.result.silgi.hook("close", () => silgiCLICtx.unset());
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const tags = args.tag?.split(",").map((t) => t.trim());
|
|
136
|
+
p.intro(color.bold(`Silgi CLI ${color.green(`v${version}`)}`));
|
|
137
|
+
const silgiConfig = await loadOptions({});
|
|
138
|
+
const getCli = resolve(silgiConfig.build.dir, "cli.json");
|
|
139
|
+
const cli = readFileSync(getCli, "utf-8");
|
|
140
|
+
const cliJson = JSON.parse(cli);
|
|
141
|
+
await prepareEnv(silgiConfig);
|
|
142
|
+
let selectedCommands = [];
|
|
143
|
+
if (tags) {
|
|
144
|
+
for (const commandName of Object.keys(cliJson)) {
|
|
145
|
+
const scripts = cliJson[commandName];
|
|
146
|
+
for (const scriptName of Object.keys(scripts)) {
|
|
147
|
+
const script = scripts[scriptName];
|
|
148
|
+
if (script.tags && script.tags.some((tag) => tags.includes(tag))) {
|
|
149
|
+
selectedCommands.push({
|
|
150
|
+
command: commandName,
|
|
151
|
+
script: scriptName,
|
|
152
|
+
handler: script
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (selectedCommands.length === 0) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
} else {
|
|
161
|
+
if (Object.keys(cliJson).length === 0) {
|
|
162
|
+
consola.warn("No commands found in cli.json");
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const commandName = await p.select({
|
|
166
|
+
message: "Select a command to run",
|
|
167
|
+
options: Object.keys(cliJson).filter((key) => {
|
|
168
|
+
const scripts2 = cliJson[key];
|
|
169
|
+
const scriptValues = Object.values(scripts2);
|
|
170
|
+
return scriptValues;
|
|
171
|
+
}).map((key) => ({
|
|
172
|
+
label: key,
|
|
173
|
+
value: key
|
|
174
|
+
}))
|
|
175
|
+
});
|
|
176
|
+
if (!commandName)
|
|
177
|
+
return;
|
|
178
|
+
const scripts = cliJson[commandName];
|
|
179
|
+
const scriptName = await p.select({
|
|
180
|
+
message: "Select a script to run",
|
|
181
|
+
options: Object.keys(scripts).filter((key) => !scripts[key].tags?.length).map((key) => ({
|
|
182
|
+
label: key,
|
|
183
|
+
value: key
|
|
184
|
+
}))
|
|
185
|
+
});
|
|
186
|
+
if (!scriptName)
|
|
187
|
+
return;
|
|
188
|
+
selectedCommands = [{
|
|
189
|
+
command: commandName,
|
|
190
|
+
script: scriptName,
|
|
191
|
+
handler: scripts[scriptName]
|
|
192
|
+
}];
|
|
193
|
+
}
|
|
194
|
+
for (const cmd of selectedCommands) {
|
|
195
|
+
consola.info(`Running ${cmd.command}:${cmd.script}...`);
|
|
196
|
+
if (cmd.handler.enabled === false) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (cmd.handler.type === "command") {
|
|
200
|
+
execSync(cmd.handler.handler, { stdio: "inherit" });
|
|
201
|
+
}
|
|
202
|
+
if (cmd.handler.type === "function") {
|
|
203
|
+
const jiti = createJiti(import.meta.url, {
|
|
204
|
+
alias: silgiConfig.alias
|
|
205
|
+
});
|
|
206
|
+
let cleanHandler = cmd.handler.handler.replace(/\n/g, "");
|
|
207
|
+
cleanHandler = `import { silgiCLICtx } from 'silgi/core'
|
|
208
|
+
|
|
209
|
+
if (silgiCLICtx.tryUse()) {
|
|
210
|
+
silgiCLICtx.unset()
|
|
211
|
+
silgiCLICtx.set(${JSON.stringify(data.result.silgi)})
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
silgiCLICtx.set(${JSON.stringify(data.result.silgi)})
|
|
215
|
+
data.result.silgi.hook('close', () => silgiCLICtx.unset())
|
|
216
|
+
}
|
|
217
|
+
${cleanHandler}`;
|
|
218
|
+
await jiti.evalModule(cleanHandler, {
|
|
219
|
+
filename: import.meta.url,
|
|
220
|
+
async: true,
|
|
221
|
+
conditions: silgiConfig.conditions,
|
|
222
|
+
forceTranspile: true
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
const run$1 = {
|
|
230
|
+
__proto__: null,
|
|
231
|
+
default: run
|
|
232
|
+
};
|
|
233
|
+
|
|
131
234
|
const prepare = defineCommand({
|
|
132
235
|
meta: {
|
|
133
236
|
name: "prepare",
|
|
@@ -147,9 +250,14 @@ const prepare = defineCommand({
|
|
|
147
250
|
env: {
|
|
148
251
|
type: "string",
|
|
149
252
|
description: "The environment to use"
|
|
253
|
+
},
|
|
254
|
+
commands: {
|
|
255
|
+
type: "string",
|
|
256
|
+
description: "The commands to run"
|
|
150
257
|
}
|
|
151
258
|
},
|
|
152
259
|
async run({ args }) {
|
|
260
|
+
console.log("args", args);
|
|
153
261
|
const rootDir = resolve(args.dir || args._dir || ".");
|
|
154
262
|
const silgi = await createSilgiCLI({
|
|
155
263
|
rootDir,
|
|
@@ -159,22 +267,33 @@ const prepare = defineCommand({
|
|
|
159
267
|
commandType: "prepare",
|
|
160
268
|
activeEnvironment: args.env
|
|
161
269
|
});
|
|
162
|
-
await prepare$
|
|
270
|
+
await prepare$2();
|
|
163
271
|
await writeTypesAndFiles(silgi);
|
|
164
272
|
await writeCoreFile(silgi);
|
|
165
273
|
await prepareBuild(silgi);
|
|
166
274
|
const close = async () => {
|
|
167
275
|
await silgi.close();
|
|
168
276
|
await silgi.callHook("close", silgi);
|
|
169
|
-
consola.withTag("silgi").success("Process terminated");
|
|
277
|
+
consola$1.withTag("silgi").success("Process terminated");
|
|
170
278
|
};
|
|
171
279
|
await silgi.callHook("close", silgi);
|
|
172
|
-
consola.withTag("silgi").success("Prepare completed");
|
|
280
|
+
consola$1.withTag("silgi").success("Prepare completed");
|
|
173
281
|
await close();
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
282
|
+
if (!args.commands) {
|
|
283
|
+
await runCommand(run, {
|
|
284
|
+
rawArgs: ["--tag", "init", "--active", "false"],
|
|
285
|
+
data: { silgi }
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
return {
|
|
289
|
+
silgi
|
|
290
|
+
};
|
|
177
291
|
}
|
|
178
292
|
});
|
|
179
293
|
|
|
180
|
-
|
|
294
|
+
const prepare$1 = {
|
|
295
|
+
__proto__: null,
|
|
296
|
+
default: prepare
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
export { prepare$1 as a, prepare as p, run$1 as r };
|