silgi 0.26.6 → 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 -2
- 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 +3 -39
- package/dist/cli/writeTypesAndFiles.mjs +43 -8
- 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';
|
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';
|
|
@@ -44,7 +45,6 @@ import 'consola/utils';
|
|
|
44
45
|
import 'escape-string-regexp';
|
|
45
46
|
import 'pkg-types';
|
|
46
47
|
import 'pathe/utils';
|
|
47
|
-
import 'apiful/openapi';
|
|
48
48
|
import 'node:child_process';
|
|
49
49
|
import 'picocolors';
|
|
50
50
|
|
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';
|
|
@@ -40,7 +41,6 @@ import 'consola/utils';
|
|
|
40
41
|
import 'escape-string-regexp';
|
|
41
42
|
import 'pkg-types';
|
|
42
43
|
import 'pathe/utils';
|
|
43
|
-
import 'apiful/openapi';
|
|
44
44
|
import 'node:child_process';
|
|
45
45
|
import 'picocolors';
|
|
46
46
|
import '../_chunks/silgiApp.mjs';
|
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';
|
|
@@ -34,7 +35,6 @@ import 'silgi/runtime';
|
|
|
34
35
|
import 'unstorage';
|
|
35
36
|
import 'scule';
|
|
36
37
|
import 'pathe/utils';
|
|
37
|
-
import 'apiful/openapi';
|
|
38
38
|
import 'picocolors';
|
|
39
39
|
import '../_chunks/silgiApp.mjs';
|
|
40
40
|
import 'unctx';
|
package/dist/cli/prepare.mjs
CHANGED
|
@@ -1,53 +1,17 @@
|
|
|
1
1
|
import { defineCommand, runCommand } from 'citty';
|
|
2
|
-
import {
|
|
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,
|
|
5
|
-
import { generateDTS } from 'apiful/openapi';
|
|
6
|
-
import { consola } from 'consola';
|
|
7
|
-
import { hasSilgiModule, addTemplate } from 'silgi/kit';
|
|
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';
|
|
8
5
|
import { execSync } from 'node:child_process';
|
|
9
6
|
import { readFileSync } from 'node:fs';
|
|
10
7
|
import * as p from '@clack/prompts';
|
|
8
|
+
import { consola } from 'consola';
|
|
11
9
|
import { createJiti } from 'dev-jiti';
|
|
12
10
|
import color from 'picocolors';
|
|
13
11
|
import { useSilgiCLI } from 'silgi';
|
|
14
12
|
import { a as silgiCLIIClose } from '../_chunks/silgiApp.mjs';
|
|
15
13
|
import { l as loadOptions } from './types.mjs';
|
|
16
14
|
|
|
17
|
-
async function generateApiFul(silgi) {
|
|
18
|
-
const config = silgi.options.apiFul;
|
|
19
|
-
if (!config.services || hasSilgiModule("openapi")) {
|
|
20
|
-
config.services ??= {};
|
|
21
|
-
config.services = {
|
|
22
|
-
silgi: {
|
|
23
|
-
schema: join(silgi.options.build.dir, "openapi.json")
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
const resolvedOpenAPIServices = Object.fromEntries(
|
|
28
|
-
Object.entries(config?.services ?? {}).filter(([, service]) => Boolean(service.schema))
|
|
29
|
-
);
|
|
30
|
-
if (Object.keys(resolvedOpenAPIServices).length === 0) {
|
|
31
|
-
consola.info("No OpenAPI schemas found, skipping generation");
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
for (const service of Object.values(resolvedOpenAPIServices)) {
|
|
35
|
-
if (typeof service.schema === "string" && !service.schema.startsWith("http")) {
|
|
36
|
-
service.schema = resolve(silgi.options.rootDir, service.schema);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const types = await generateDTS(resolvedOpenAPIServices);
|
|
40
|
-
silgi.hook("prepare:types", (opts) => {
|
|
41
|
-
opts.references.push({ path: "./apiful.d.ts" });
|
|
42
|
-
});
|
|
43
|
-
addTemplate({
|
|
44
|
-
filename: "types/apiful.d.ts",
|
|
45
|
-
where: ".silgi",
|
|
46
|
-
write: true,
|
|
47
|
-
getContents: () => types
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
15
|
const commonArgs = {
|
|
52
16
|
dir: {
|
|
53
17
|
type: "string",
|
|
@@ -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';
|
|
@@ -68,6 +69,40 @@ export const routeRules = ${genObjectFromRawEntries(
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
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
|
+
|
|
71
106
|
async function prepare(_silgi) {
|
|
72
107
|
}
|
|
73
108
|
|
|
@@ -844,7 +879,7 @@ class SchemaParser {
|
|
|
844
879
|
type: "Parser",
|
|
845
880
|
path
|
|
846
881
|
});
|
|
847
|
-
consola.warn("This file has a problem:", path);
|
|
882
|
+
consola$1.warn("This file has a problem:", path);
|
|
848
883
|
}
|
|
849
884
|
const variableDeclarations = ast.program.body.filter((i) => i.type === "ExportNamedDeclaration").filter((i) => i.declaration?.type === "VariableDeclaration");
|
|
850
885
|
return variableDeclarations;
|
|
@@ -858,7 +893,7 @@ class SchemaParser {
|
|
|
858
893
|
type: "Parser",
|
|
859
894
|
path
|
|
860
895
|
});
|
|
861
|
-
consola.warn("This file has a problem:", path);
|
|
896
|
+
consola$1.warn("This file has a problem:", path);
|
|
862
897
|
}
|
|
863
898
|
const interfaceDeclarations = ast.program.body.filter((i) => i.type === "ExportNamedDeclaration").filter((i) => i.declaration?.type === "TSInterfaceDeclaration");
|
|
864
899
|
return interfaceDeclarations;
|
|
@@ -981,7 +1016,7 @@ async function scanExportFile(silgi) {
|
|
|
981
1016
|
if (caseCorrected) {
|
|
982
1017
|
const original = relative(silgi.options.serverDir, dir);
|
|
983
1018
|
const corrected = relative(silgi.options.serverDir, join(dirname(dir), caseCorrected));
|
|
984
|
-
consola
|
|
1019
|
+
consola.warn(`Components not scanned from \`~/${corrected}\`. Did you mean to name the directory \`~/${original}\` instead?`);
|
|
985
1020
|
}
|
|
986
1021
|
}
|
|
987
1022
|
}
|
|
@@ -1202,7 +1237,7 @@ ${injectedResult.code}`;
|
|
|
1202
1237
|
console.error("Failed to read scan.ts file:", error);
|
|
1203
1238
|
} else {
|
|
1204
1239
|
if (error instanceof Error) {
|
|
1205
|
-
consola
|
|
1240
|
+
consola.withTag("silgi").info(error.message);
|
|
1206
1241
|
}
|
|
1207
1242
|
}
|
|
1208
1243
|
return {
|
|
@@ -1646,7 +1681,7 @@ async function createSilgiCLI(config = {}, opts = {}) {
|
|
|
1646
1681
|
errors: [],
|
|
1647
1682
|
commands: {},
|
|
1648
1683
|
_requiredModules: {},
|
|
1649
|
-
logger: consola
|
|
1684
|
+
logger: consola.withTag("silgi"),
|
|
1650
1685
|
close: () => silgi.hooks.callHook("close", silgi),
|
|
1651
1686
|
storage: void 0,
|
|
1652
1687
|
scanModules: [],
|
|
@@ -2372,4 +2407,4 @@ async function writeTypesAndFiles(silgi) {
|
|
|
2372
2407
|
}
|
|
2373
2408
|
}
|
|
2374
2409
|
|
|
2375
|
-
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 };
|