silgi 0.26.7 → 0.26.9

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 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';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { defineCommand, runMain } from 'citty';
3
3
 
4
- const version = "0.26.7";
4
+ const version = "0.26.9";
5
5
  const packageJson = {
6
6
  version: version};
7
7
 
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';
@@ -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';
@@ -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, g as generateApp } from './writeTypesAndFiles.mjs';
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';
@@ -49,6 +49,10 @@ const run = defineCommand({
49
49
  const data = args.active ? await runCommand(prepare, {
50
50
  rawArgs: ["--commands", "run"]
51
51
  }) : void 0;
52
+ globalThis.__nitro__ = globalThis.__nitro__ || {};
53
+ globalThis.__nitro__.useRuntimeConfig = function() {
54
+ return data?.result?.silgi?.options?.runtimeConfig || {};
55
+ };
52
56
  if (!data?.result?.silgi && args.active) {
53
57
  consola.error("Silgi not found");
54
58
  return;
@@ -227,6 +231,7 @@ const prepare = defineCommand({
227
231
  activeEnvironment: args.env
228
232
  });
229
233
  await prepare$2();
234
+ await generateApiFul(silgi);
230
235
  await writeTypesAndFiles(silgi);
231
236
  await writeCoreFile(silgi);
232
237
  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, addTemplate, hasError, parseServices, hasSilgiModule, normalizeTemplate, useLogger, resolveSilgiPath, genEnsureSafeVar, isDirectory } from 'silgi/kit';
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$1.warn(`Components not scanned from \`~/${corrected}\`. Did you mean to name the directory \`~/${original}\` instead?`);
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$1.withTag("silgi").info(error.message);
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$1.withTag("silgi"),
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 };
@@ -3,27 +3,27 @@ import destr from "destr";
3
3
  import { klona } from "klona";
4
4
  import { snakeCase } from "scule";
5
5
  import { tryUseSilgi, useSilgi } from "silgi";
6
- let silgiRuntimeConfig = globalThis.__nitro__?.useRuntimeConfig?.() || process.env.RUNTIME_CONFIG;
6
+ let _inlineSilgiRuntimeConfig = globalThis.__nitro__?.useRuntimeConfig?.() || process.env.RUNTIME_CONFIG;
7
7
  let envOptions = {
8
8
  prefix: "NITRO_",
9
- altPrefix: silgiRuntimeConfig?.nitro?.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_",
9
+ altPrefix: _inlineSilgiRuntimeConfig?.nitro?.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_",
10
10
  silgiPrefix: "SILGI_",
11
- envExpansion: silgiRuntimeConfig?.nitro.envExpansion ?? process.env.NITRO_ENV_EXPANSION ?? false
11
+ envExpansion: _inlineSilgiRuntimeConfig?.nitro?.envExpansion ?? process.env.NITRO_ENV_EXPANSION ?? false
12
12
  };
13
13
  let _sharedRuntimeConfig = _deepFreeze(
14
- applyEnv(klona(silgiRuntimeConfig ?? {}), envOptions)
14
+ applyEnv(klona(_inlineSilgiRuntimeConfig ?? {}), envOptions)
15
15
  );
16
16
  export function useSilgiRuntimeConfig(event, inlineRuntimeConfig = {}) {
17
- if (!silgiRuntimeConfig) {
18
- silgiRuntimeConfig = globalThis.__nitro__?.useRuntimeConfig?.();
17
+ if (!_inlineSilgiRuntimeConfig) {
18
+ _inlineSilgiRuntimeConfig = globalThis.__nitro__?.useRuntimeConfig?.();
19
19
  envOptions = {
20
20
  prefix: "NITRO_",
21
- altPrefix: silgiRuntimeConfig?.nitro?.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_",
21
+ altPrefix: _inlineSilgiRuntimeConfig?.nitro?.envPrefix ?? process.env.NITRO_ENV_PREFIX ?? "_",
22
22
  silgiPrefix: "SILGI_",
23
- envExpansion: silgiRuntimeConfig?.nitro.envExpansion ?? process.env.NITRO_ENV_EXPANSION ?? false
23
+ envExpansion: _inlineSilgiRuntimeConfig?.nitro.envExpansion ?? process.env.NITRO_ENV_EXPANSION ?? false
24
24
  };
25
25
  _sharedRuntimeConfig = _deepFreeze(
26
- applyEnv(klona(silgiRuntimeConfig ?? {}), envOptions)
26
+ applyEnv(klona(_inlineSilgiRuntimeConfig ?? {}), envOptions)
27
27
  );
28
28
  }
29
29
  const silgi = tryUseSilgi();
@@ -34,23 +34,23 @@ export function useSilgiRuntimeConfig(event, inlineRuntimeConfig = {}) {
34
34
  return inlineRuntimeConfig;
35
35
  }
36
36
  }
37
- if (!silgiRuntimeConfig) {
37
+ if (!_inlineSilgiRuntimeConfig) {
38
38
  _sharedRuntimeConfig = initRuntimeConfig(envOptions, inlineRuntimeConfig);
39
39
  }
40
40
  if (!event) {
41
41
  return _sharedRuntimeConfig;
42
42
  }
43
- const runtimeConfig2 = klona(silgiRuntimeConfig);
43
+ const runtimeConfig2 = klona(_inlineSilgiRuntimeConfig);
44
44
  applyEnv(runtimeConfig2, envOptions);
45
45
  return runtimeConfig2;
46
46
  }
47
- if (!silgiRuntimeConfig) {
47
+ if (!_inlineSilgiRuntimeConfig) {
48
48
  _sharedRuntimeConfig = initRuntimeConfig(envOptions, inlineRuntimeConfig);
49
49
  }
50
50
  if (!event) {
51
51
  return _sharedRuntimeConfig;
52
52
  }
53
- const runtimeConfig = klona(silgiRuntimeConfig);
53
+ const runtimeConfig = klona(_inlineSilgiRuntimeConfig);
54
54
  applyEnv(runtimeConfig, envOptions);
55
55
  return runtimeConfig;
56
56
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.26.7",
4
+ "version": "0.26.9",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {