silgi 0.26.7 → 0.26.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.
- package/dist/build.d.mts +3 -1
- package/dist/build.mjs +3 -3
- package/dist/cli/dev.mjs +1 -1
- package/dist/cli/index.mjs +1 -1
- package/dist/cli/init.mjs +1 -1
- package/dist/cli/install.mjs +1 -1
- package/dist/cli/prepare.mjs +2 -1
- package/dist/cli/writeTypesAndFiles.mjs +43 -44
- package/package.json +1 -1
package/dist/build.d.mts
CHANGED
|
@@ -5,6 +5,8 @@ import { SilgiCLI, SilgiCLIConfig, LoadConfigOptions } from 'silgi/types';
|
|
|
5
5
|
*/
|
|
6
6
|
declare function prepareBuild(silgi: SilgiCLI): Promise<void>;
|
|
7
7
|
|
|
8
|
+
declare function generateApiFul(silgi: SilgiCLI): Promise<void>;
|
|
9
|
+
|
|
8
10
|
declare function prepare(_silgi: SilgiCLI): Promise<void>;
|
|
9
11
|
|
|
10
12
|
declare function createSilgiCLI(config?: SilgiCLIConfig, opts?: LoadConfigOptions): Promise<SilgiCLI>;
|
|
@@ -13,4 +15,4 @@ declare function writeCoreFile(silgi: SilgiCLI): Promise<void>;
|
|
|
13
15
|
|
|
14
16
|
declare function writeTypesAndFiles(silgi: SilgiCLI): Promise<void>;
|
|
15
17
|
|
|
16
|
-
export { createSilgiCLI, prepare, prepareBuild, writeCoreFile, writeTypesAndFiles };
|
|
18
|
+
export { createSilgiCLI, generateApiFul, prepare, prepareBuild, writeCoreFile, writeTypesAndFiles };
|
package/dist/build.mjs
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { c as createSilgiCLI, a as prepare, p as prepareBuild, w as writeCoreFile, b as writeTypesAndFiles } from './cli/writeTypesAndFiles.mjs';
|
|
1
|
+
export { c as createSilgiCLI, g as generateApiFul, a as prepare, p as prepareBuild, w as writeCoreFile, b as writeTypesAndFiles } from './cli/writeTypesAndFiles.mjs';
|
|
2
2
|
import 'knitwork';
|
|
3
3
|
import 'pathe';
|
|
4
4
|
import 'silgi/kit';
|
|
5
|
+
import 'apiful/openapi';
|
|
6
|
+
import 'consola';
|
|
5
7
|
import 'node:fs';
|
|
6
8
|
import 'node:fs/promises';
|
|
7
|
-
import 'consola';
|
|
8
9
|
import 'hookable';
|
|
9
10
|
import 'silgi';
|
|
10
11
|
import 'silgi/runtime/meta';
|
|
@@ -28,7 +29,6 @@ import '@oxc-parser/wasm';
|
|
|
28
29
|
import 'klona';
|
|
29
30
|
import 'silgi/runtime';
|
|
30
31
|
import 'unstorage';
|
|
31
|
-
import 'apiful/openapi';
|
|
32
32
|
import 'scule';
|
|
33
33
|
import './cli/types.mjs';
|
|
34
34
|
import 'c12';
|
package/dist/cli/dev.mjs
CHANGED
|
@@ -11,6 +11,7 @@ import 'unctx';
|
|
|
11
11
|
import './writeTypesAndFiles.mjs';
|
|
12
12
|
import 'knitwork';
|
|
13
13
|
import 'silgi/kit';
|
|
14
|
+
import 'apiful/openapi';
|
|
14
15
|
import 'node:fs';
|
|
15
16
|
import 'node:fs/promises';
|
|
16
17
|
import 'hookable';
|
|
@@ -34,7 +35,6 @@ import '@oxc-parser/wasm';
|
|
|
34
35
|
import 'klona';
|
|
35
36
|
import 'silgi/runtime';
|
|
36
37
|
import 'unstorage';
|
|
37
|
-
import 'apiful/openapi';
|
|
38
38
|
import 'scule';
|
|
39
39
|
import './types.mjs';
|
|
40
40
|
import 'c12';
|
package/dist/cli/index.mjs
CHANGED
package/dist/cli/init.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import 'silgi/meta';
|
|
|
9
9
|
import './writeTypesAndFiles.mjs';
|
|
10
10
|
import 'knitwork';
|
|
11
11
|
import 'silgi/kit';
|
|
12
|
+
import 'apiful/openapi';
|
|
12
13
|
import 'hookable';
|
|
13
14
|
import 'silgi';
|
|
14
15
|
import 'silgi/runtime/meta';
|
|
@@ -30,7 +31,6 @@ import '@oxc-parser/wasm';
|
|
|
30
31
|
import 'klona';
|
|
31
32
|
import 'silgi/runtime';
|
|
32
33
|
import 'unstorage';
|
|
33
|
-
import 'apiful/openapi';
|
|
34
34
|
import 'scule';
|
|
35
35
|
import './types.mjs';
|
|
36
36
|
import 'c12';
|
package/dist/cli/install.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import { l as loadOptions } from './types.mjs';
|
|
|
9
9
|
import './writeTypesAndFiles.mjs';
|
|
10
10
|
import 'knitwork';
|
|
11
11
|
import 'silgi/kit';
|
|
12
|
+
import 'apiful/openapi';
|
|
12
13
|
import 'node:fs/promises';
|
|
13
14
|
import 'hookable';
|
|
14
15
|
import 'silgi';
|
|
@@ -32,7 +33,6 @@ import '@oxc-parser/wasm';
|
|
|
32
33
|
import 'klona';
|
|
33
34
|
import 'silgi/runtime';
|
|
34
35
|
import 'unstorage';
|
|
35
|
-
import 'apiful/openapi';
|
|
36
36
|
import 'scule';
|
|
37
37
|
import 'pathe/utils';
|
|
38
38
|
import 'picocolors';
|
package/dist/cli/prepare.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineCommand, runCommand } from 'citty';
|
|
2
2
|
import { resolve } from 'pathe';
|
|
3
3
|
import { version } from 'silgi/meta';
|
|
4
|
-
import { d as prepareEnv, c as createSilgiCLI, a as prepare$2, b as writeTypesAndFiles, w as writeCoreFile, p as prepareBuild,
|
|
4
|
+
import { d as prepareEnv, c as createSilgiCLI, a as prepare$2, g as generateApiFul, b as writeTypesAndFiles, w as writeCoreFile, p as prepareBuild, e as generateApp } from './writeTypesAndFiles.mjs';
|
|
5
5
|
import { execSync } from 'node:child_process';
|
|
6
6
|
import { readFileSync } from 'node:fs';
|
|
7
7
|
import * as p from '@clack/prompts';
|
|
@@ -227,6 +227,7 @@ const prepare = defineCommand({
|
|
|
227
227
|
activeEnvironment: args.env
|
|
228
228
|
});
|
|
229
229
|
await prepare$2();
|
|
230
|
+
await generateApiFul(silgi);
|
|
230
231
|
await writeTypesAndFiles(silgi);
|
|
231
232
|
await writeCoreFile(silgi);
|
|
232
233
|
await prepareBuild(silgi);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { genObjectFromRawEntries, genObjectFromRaw, genObjectFromValues } from 'knitwork';
|
|
2
2
|
import { join, resolve, relative, dirname, basename, extname, isAbsolute } from 'pathe';
|
|
3
|
-
import { writeFile, relativeWithDot, hash, resolveAlias, directoryToURL,
|
|
3
|
+
import { writeFile, hasSilgiModule, addTemplate, relativeWithDot, hash, resolveAlias, directoryToURL, hasError, parseServices, normalizeTemplate, useLogger, resolveSilgiPath, genEnsureSafeVar, isDirectory } from 'silgi/kit';
|
|
4
|
+
import { generateDTS } from 'apiful/openapi';
|
|
5
|
+
import consola$1, { consola } from 'consola';
|
|
4
6
|
import { existsSync, promises, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
5
7
|
import { readdir, readFile } from 'node:fs/promises';
|
|
6
|
-
import consola, { consola as consola$1 } from 'consola';
|
|
7
8
|
import { createHooks, createDebugger } from 'hookable';
|
|
8
9
|
import { useSilgiCLI, replaceRuntimeValues, silgiCLICtx, autoImportTypes } from 'silgi';
|
|
9
10
|
import { runtimeDir } from 'silgi/runtime/meta';
|
|
@@ -25,7 +26,6 @@ import { parseSync } from '@oxc-parser/wasm';
|
|
|
25
26
|
import { klona } from 'klona';
|
|
26
27
|
import { useSilgiRuntimeConfig, initRuntimeConfig } from 'silgi/runtime';
|
|
27
28
|
import { createStorage, builtinDrivers } from 'unstorage';
|
|
28
|
-
import { generateDTS } from 'apiful/openapi';
|
|
29
29
|
import { peerDependencies } from 'silgi/meta';
|
|
30
30
|
import { snakeCase } from 'scule';
|
|
31
31
|
import { l as loadOptions, s as silgiGenerateType } from './types.mjs';
|
|
@@ -69,6 +69,40 @@ export const routeRules = ${genObjectFromRawEntries(
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
async function generateApiFul(silgi) {
|
|
73
|
+
const config = silgi.options.apiFul;
|
|
74
|
+
if (!config.services || hasSilgiModule("openapi")) {
|
|
75
|
+
config.services ??= {};
|
|
76
|
+
config.services = {
|
|
77
|
+
silgi: {
|
|
78
|
+
schema: join(silgi.options.build.dir, "openapi.json")
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const resolvedOpenAPIServices = Object.fromEntries(
|
|
83
|
+
Object.entries(config?.services ?? {}).filter(([, service]) => Boolean(service.schema))
|
|
84
|
+
);
|
|
85
|
+
if (Object.keys(resolvedOpenAPIServices).length === 0) {
|
|
86
|
+
consola.info("No OpenAPI schemas found, skipping generation");
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
for (const service of Object.values(resolvedOpenAPIServices)) {
|
|
90
|
+
if (typeof service.schema === "string" && !service.schema.startsWith("http")) {
|
|
91
|
+
service.schema = resolve(silgi.options.rootDir, service.schema);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const types = await generateDTS(resolvedOpenAPIServices);
|
|
95
|
+
silgi.hook("prepare:types", (opts) => {
|
|
96
|
+
opts.references.push({ path: "./apiful.d.ts" });
|
|
97
|
+
});
|
|
98
|
+
addTemplate({
|
|
99
|
+
filename: "types/apiful.d.ts",
|
|
100
|
+
where: ".silgi",
|
|
101
|
+
write: true,
|
|
102
|
+
getContents: () => types
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
72
106
|
async function prepare(_silgi) {
|
|
73
107
|
}
|
|
74
108
|
|
|
@@ -845,7 +879,7 @@ class SchemaParser {
|
|
|
845
879
|
type: "Parser",
|
|
846
880
|
path
|
|
847
881
|
});
|
|
848
|
-
consola.warn("This file has a problem:", path);
|
|
882
|
+
consola$1.warn("This file has a problem:", path);
|
|
849
883
|
}
|
|
850
884
|
const variableDeclarations = ast.program.body.filter((i) => i.type === "ExportNamedDeclaration").filter((i) => i.declaration?.type === "VariableDeclaration");
|
|
851
885
|
return variableDeclarations;
|
|
@@ -859,7 +893,7 @@ class SchemaParser {
|
|
|
859
893
|
type: "Parser",
|
|
860
894
|
path
|
|
861
895
|
});
|
|
862
|
-
consola.warn("This file has a problem:", path);
|
|
896
|
+
consola$1.warn("This file has a problem:", path);
|
|
863
897
|
}
|
|
864
898
|
const interfaceDeclarations = ast.program.body.filter((i) => i.type === "ExportNamedDeclaration").filter((i) => i.declaration?.type === "TSInterfaceDeclaration");
|
|
865
899
|
return interfaceDeclarations;
|
|
@@ -982,7 +1016,7 @@ async function scanExportFile(silgi) {
|
|
|
982
1016
|
if (caseCorrected) {
|
|
983
1017
|
const original = relative(silgi.options.serverDir, dir);
|
|
984
1018
|
const corrected = relative(silgi.options.serverDir, join(dirname(dir), caseCorrected));
|
|
985
|
-
consola
|
|
1019
|
+
consola.warn(`Components not scanned from \`~/${corrected}\`. Did you mean to name the directory \`~/${original}\` instead?`);
|
|
986
1020
|
}
|
|
987
1021
|
}
|
|
988
1022
|
}
|
|
@@ -1203,7 +1237,7 @@ ${injectedResult.code}`;
|
|
|
1203
1237
|
console.error("Failed to read scan.ts file:", error);
|
|
1204
1238
|
} else {
|
|
1205
1239
|
if (error instanceof Error) {
|
|
1206
|
-
consola
|
|
1240
|
+
consola.withTag("silgi").info(error.message);
|
|
1207
1241
|
}
|
|
1208
1242
|
}
|
|
1209
1243
|
return {
|
|
@@ -1378,40 +1412,6 @@ async function createStorageCLI(silgi) {
|
|
|
1378
1412
|
return storage;
|
|
1379
1413
|
}
|
|
1380
1414
|
|
|
1381
|
-
async function generateApiFul(silgi) {
|
|
1382
|
-
const config = silgi.options.apiFul;
|
|
1383
|
-
if (!config.services || hasSilgiModule("openapi")) {
|
|
1384
|
-
config.services ??= {};
|
|
1385
|
-
config.services = {
|
|
1386
|
-
silgi: {
|
|
1387
|
-
schema: join(silgi.options.build.dir, "openapi.json")
|
|
1388
|
-
}
|
|
1389
|
-
};
|
|
1390
|
-
}
|
|
1391
|
-
const resolvedOpenAPIServices = Object.fromEntries(
|
|
1392
|
-
Object.entries(config?.services ?? {}).filter(([, service]) => Boolean(service.schema))
|
|
1393
|
-
);
|
|
1394
|
-
if (Object.keys(resolvedOpenAPIServices).length === 0) {
|
|
1395
|
-
consola$1.info("No OpenAPI schemas found, skipping generation");
|
|
1396
|
-
return;
|
|
1397
|
-
}
|
|
1398
|
-
for (const service of Object.values(resolvedOpenAPIServices)) {
|
|
1399
|
-
if (typeof service.schema === "string" && !service.schema.startsWith("http")) {
|
|
1400
|
-
service.schema = resolve(silgi.options.rootDir, service.schema);
|
|
1401
|
-
}
|
|
1402
|
-
}
|
|
1403
|
-
const types = await generateDTS(resolvedOpenAPIServices);
|
|
1404
|
-
silgi.hook("prepare:types", (opts) => {
|
|
1405
|
-
opts.references.push({ path: "./apiful.d.ts" });
|
|
1406
|
-
});
|
|
1407
|
-
addTemplate({
|
|
1408
|
-
filename: "types/apiful.d.ts",
|
|
1409
|
-
where: ".silgi",
|
|
1410
|
-
write: true,
|
|
1411
|
-
getContents: () => types
|
|
1412
|
-
});
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
1415
|
const vueShim = {
|
|
1416
1416
|
filename: "delete/testtest.d.ts",
|
|
1417
1417
|
where: ".silgi",
|
|
@@ -1681,7 +1681,7 @@ async function createSilgiCLI(config = {}, opts = {}) {
|
|
|
1681
1681
|
errors: [],
|
|
1682
1682
|
commands: {},
|
|
1683
1683
|
_requiredModules: {},
|
|
1684
|
-
logger: consola
|
|
1684
|
+
logger: consola.withTag("silgi"),
|
|
1685
1685
|
close: () => silgi.hooks.callHook("close", silgi),
|
|
1686
1686
|
storage: void 0,
|
|
1687
1687
|
scanModules: [],
|
|
@@ -1730,7 +1730,6 @@ async function createSilgiCLI(config = {}, opts = {}) {
|
|
|
1730
1730
|
silgi.hooks.addHooks(silgi.options.hooks);
|
|
1731
1731
|
await installModules(silgi);
|
|
1732
1732
|
await silgi.hooks.callHook("scanFiles:done", silgi);
|
|
1733
|
-
await generateApiFul(silgi);
|
|
1734
1733
|
await commands(silgi);
|
|
1735
1734
|
await installPackages(silgi);
|
|
1736
1735
|
await generateApp(silgi);
|
|
@@ -2408,4 +2407,4 @@ async function writeTypesAndFiles(silgi) {
|
|
|
2408
2407
|
}
|
|
2409
2408
|
}
|
|
2410
2409
|
|
|
2411
|
-
export { prepare as a, writeTypesAndFiles as b, createSilgiCLI as c, prepareEnv as d, generateApp as g, prepareBuild as p, writeCoreFile as w };
|
|
2410
|
+
export { prepare as a, writeTypesAndFiles as b, createSilgiCLI as c, prepareEnv as d, generateApp as e, generateApiFul as g, prepareBuild as p, writeCoreFile as w };
|