silgi 0.26.0 → 0.26.1

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/cli/dev.mjs CHANGED
@@ -46,6 +46,7 @@ import 'pkg-types';
46
46
  import 'pathe/utils';
47
47
  import 'node:child_process';
48
48
  import 'picocolors';
49
+ import 'apiful/openapi';
49
50
 
50
51
  async function reloadScan(path, _stats) {
51
52
  const silgi = useSilgiCLI();
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { defineCommand, runMain } from 'citty';
3
3
 
4
- const version = "0.26.0";
4
+ const version = "0.26.1";
5
5
  const packageJson = {
6
6
  version: version};
7
7
 
package/dist/cli/init.mjs CHANGED
@@ -44,6 +44,7 @@ import 'node:child_process';
44
44
  import 'picocolors';
45
45
  import '../_chunks/silgiApp.mjs';
46
46
  import 'unctx';
47
+ import 'apiful/openapi';
47
48
 
48
49
  const init = defineCommand({
49
50
  meta: {
@@ -37,6 +37,7 @@ import 'pathe/utils';
37
37
  import 'picocolors';
38
38
  import '../_chunks/silgiApp.mjs';
39
39
  import 'unctx';
40
+ import 'apiful/openapi';
40
41
  import 'c12';
41
42
  import 'compatx';
42
43
  import 'klona/full';
@@ -1,5 +1,5 @@
1
1
  import { defineCommand, runCommand } from 'citty';
2
- import { resolve } from 'pathe';
2
+ import { resolve, join } from 'pathe';
3
3
  import { version } from 'silgi/meta';
4
4
  import { d as prepareEnv, c as createSilgiCLI, a as prepare$2, b as writeTypesAndFiles, w as writeCoreFile, p as prepareBuild } from './writeTypesAndFiles.mjs';
5
5
  import { execSync } from 'node:child_process';
@@ -10,6 +10,8 @@ import { createJiti } from 'dev-jiti';
10
10
  import color from 'picocolors';
11
11
  import { useSilgiCLI } from 'silgi';
12
12
  import { a as silgiCLIIClose } from '../_chunks/silgiApp.mjs';
13
+ import { generateDTS } from 'apiful/openapi';
14
+ import { hasSilgiModule, addTemplate } from 'silgi/kit';
13
15
  import { l as loadOptions } from './types.mjs';
14
16
 
15
17
  const commonArgs = {
@@ -187,6 +189,40 @@ const run$1 = {
187
189
  default: run
188
190
  };
189
191
 
192
+ async function generateApiFul(silgi) {
193
+ const config = silgi.options.apiFul;
194
+ if (!config || hasSilgiModule("openapi")) {
195
+ config.services = config?.services ?? {};
196
+ config.services = {
197
+ silgi: {
198
+ schema: join(silgi.options.build.dir, "openapi.json")
199
+ }
200
+ };
201
+ }
202
+ const resolvedOpenAPIServices = Object.fromEntries(
203
+ Object.entries(config?.services ?? {}).filter(([, service]) => Boolean(service.schema))
204
+ );
205
+ if (Object.keys(resolvedOpenAPIServices).length === 0) {
206
+ consola.info("No OpenAPI schemas found, skipping generation");
207
+ return;
208
+ }
209
+ for (const service of Object.values(resolvedOpenAPIServices)) {
210
+ if (typeof service.schema === "string" && !service.schema.startsWith("http")) {
211
+ service.schema = resolve(silgi.options.rootDir, service.schema);
212
+ }
213
+ }
214
+ const types = await generateDTS(resolvedOpenAPIServices);
215
+ silgi.hook("prepare:types", (opts) => {
216
+ opts.references.push({ path: "./apiful.d.ts" });
217
+ });
218
+ addTemplate({
219
+ filename: "types/apiful.d.ts",
220
+ where: ".silgi",
221
+ write: true,
222
+ getContents: () => types
223
+ });
224
+ }
225
+
190
226
  const prepare = defineCommand({
191
227
  meta: {
192
228
  name: "prepare",
@@ -227,6 +263,7 @@ const prepare = defineCommand({
227
263
  activeEnvironment: args.env
228
264
  });
229
265
  await prepare$2();
266
+ await generateApiFul(silgi);
230
267
  await writeTypesAndFiles(silgi);
231
268
  await writeCoreFile(silgi);
232
269
  await prepareBuild(silgi);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.26.0",
4
+ "version": "0.26.1",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {