silgi 0.21.8 → 0.22.0

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.
@@ -1,4 +1,4 @@
1
- const version = "0.21.8";
1
+ const version = "0.22.0";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
@@ -435,6 +435,9 @@ async function registerModuleExportScan(silgi) {
435
435
  silgi.hook("prepare:schema.ts", async (options) => {
436
436
  for (const module of silgi.scanModules) {
437
437
  const moduleReExports = [];
438
+ if (!module.entryPath) {
439
+ continue;
440
+ }
438
441
  const moduleTypes = await promises.readFile(module.entryPath.replace(/\.mjs$/, "Types.d.ts"), "utf8").catch(() => "");
439
442
  const normalisedModuleTypes = moduleTypes.replace(/export\s*\{.*?\}/gs, (match) => match.replace(/\b(type|interface)\b/g, ""));
440
443
  for (const e of findTypeExports(normalisedModuleTypes)) {
@@ -574,10 +577,10 @@ async function installModules(silgi, prepare = false) {
574
577
  silgi.logger.info(`Module ${module.meta.configKey} installed`);
575
578
  }
576
579
  try {
577
- const silgiModule = await jiti.import(module.entryPath, {
580
+ const silgiModule = module.entryPath !== void 0 ? await jiti.import(module.entryPath, {
578
581
  default: true,
579
582
  conditions: silgi.options.conditions
580
- });
583
+ }) : module.module;
581
584
  if (silgiModule.name !== "silgiNormalizedModule") {
582
585
  silgi.scanModules = silgi.scanModules.filter((m) => m.entryPath !== module.entryPath);
583
586
  continue;
@@ -612,7 +615,9 @@ async function _resolveSilgiModule(silgiModule, silgi) {
612
615
  let resolvedModulePath;
613
616
  let buildTimeModuleMeta = {};
614
617
  const jiti = createJiti(silgi.options.rootDir, {
615
- alias: silgi.options.alias
618
+ alias: silgi.options.alias,
619
+ fsCache: true,
620
+ moduleCache: true
616
621
  });
617
622
  if (typeof silgiModule === "string") {
618
623
  silgiModule = resolveAlias(silgiModule, silgi.options.alias);
@@ -666,6 +671,13 @@ async function _resolveSilgiModule(silgiModule, silgi) {
666
671
  throw new Error(`Module ${silgiModule} is not a valid Silgi module`);
667
672
  }
668
673
  if (typeof silgiModule === "function") {
674
+ if (!buildTimeModuleMeta.configKey) {
675
+ const meta = await silgiModule.getMeta?.();
676
+ buildTimeModuleMeta = {
677
+ ...meta,
678
+ exports: []
679
+ };
680
+ }
669
681
  if (silgi.scanModules.some((m) => m.meta?.configKey === buildTimeModuleMeta.configKey)) {
670
682
  throw new Error(`Module with key \`${buildTimeModuleMeta.configKey}\` already exists`);
671
683
  }
@@ -680,9 +692,10 @@ async function _resolveSilgiModule(silgiModule, silgi) {
680
692
  }
681
693
  silgi.scanModules.push({
682
694
  meta: buildTimeModuleMeta,
683
- entryPath: resolvedModulePath || "",
695
+ entryPath: resolvedModulePath || void 0,
684
696
  installed: false,
685
- options
697
+ options,
698
+ module: silgiModule
686
699
  });
687
700
  }
688
701
  }
@@ -557,7 +557,6 @@ async function _loadUserConfig(configOverrides = {}, opts = {}) {
557
557
  defaults: SilgiCLIDefaults,
558
558
  jitiOptions: {
559
559
  alias: {
560
- "silgi": "silgi/config",
561
560
  "silgi/config": "silgi/config"
562
561
  }
563
562
  },
@@ -1,4 +1,4 @@
1
- const version = "0.21.8";
1
+ const version = "0.22.0";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
@@ -1,4 +1,4 @@
1
- const version = "0.21.8";
1
+ const version = "0.22.0";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
@@ -6,7 +6,7 @@ import { Hookable, NestedHooks } from 'hookable';
6
6
  import { Ignore, Options } from 'ignore';
7
7
  import { TSConfig } from 'pkg-types';
8
8
  import { PresetName, PresetOptions, PresetNameInput } from 'silgi/presets';
9
- import { ResolvedServiceType as ResolvedServiceType$1, SilgiRuntimeShareds as SilgiRuntimeShareds$1, SilgiRuntimeOptions as SilgiRuntimeOptions$1, RouteRules as RouteRules$1, ModuleMeta as ModuleMeta$1, SilgiRouteRules as SilgiRouteRules$1, DotenvOptions as DotenvOptions$1, EnvOptions as EnvOptions$1, SilgiRuntimeConfig as SilgiRuntimeConfig$1, ServiceParseModule as ServiceParseModule$1, SilgiCLIHooks as SilgiCLIHooks$1, StorageMounts as StorageMounts$1, SilgiTemplate as SilgiTemplate$1, SilgiFrameworkInfo as SilgiFrameworkInfo$1 } from 'silgi/types';
9
+ import { ResolvedServiceType as ResolvedServiceType$1, SilgiRuntimeShareds as SilgiRuntimeShareds$1, SilgiRuntimeOptions as SilgiRuntimeOptions$1, RouteRules as RouteRules$1, ModuleMeta as ModuleMeta$1, SilgiModule as SilgiModule$1, SilgiRouteRules as SilgiRouteRules$1, DotenvOptions as DotenvOptions$1, EnvOptions as EnvOptions$1, SilgiRuntimeConfig as SilgiRuntimeConfig$1, ServiceParseModule as ServiceParseModule$1, SilgiCLIHooks as SilgiCLIHooks$1, StorageMounts as StorageMounts$1, SilgiTemplate as SilgiTemplate$1, SilgiFrameworkInfo as SilgiFrameworkInfo$1 } from 'silgi/types';
10
10
  import { UnimportPluginOptions } from 'unimport/unplugin';
11
11
  import { Defu } from 'defu';
12
12
  import { Stats } from 'node:fs';
@@ -70,8 +70,9 @@ interface SilgiCLI {
70
70
  updateConfig: (config: SilgiCLIDynamicConfig) => void | Promise<void>;
71
71
  scanModules: Array<{
72
72
  meta: ModuleMeta$1;
73
+ module: SilgiModule$1;
73
74
  timings?: Record<string, number | undefined>;
74
- entryPath: string;
75
+ entryPath?: string;
75
76
  installed?: boolean;
76
77
  options: Record<string, any>;
77
78
  }>;
@@ -6,7 +6,7 @@ import { Hookable, NestedHooks } from 'hookable';
6
6
  import { Ignore, Options } from 'ignore';
7
7
  import { TSConfig } from 'pkg-types';
8
8
  import { PresetName, PresetOptions, PresetNameInput } from 'silgi/presets';
9
- import { ResolvedServiceType as ResolvedServiceType$1, SilgiRuntimeShareds as SilgiRuntimeShareds$1, SilgiRuntimeOptions as SilgiRuntimeOptions$1, RouteRules as RouteRules$1, ModuleMeta as ModuleMeta$1, SilgiRouteRules as SilgiRouteRules$1, DotenvOptions as DotenvOptions$1, EnvOptions as EnvOptions$1, SilgiRuntimeConfig as SilgiRuntimeConfig$1, ServiceParseModule as ServiceParseModule$1, SilgiCLIHooks as SilgiCLIHooks$1, StorageMounts as StorageMounts$1, SilgiTemplate as SilgiTemplate$1, SilgiFrameworkInfo as SilgiFrameworkInfo$1 } from 'silgi/types';
9
+ import { ResolvedServiceType as ResolvedServiceType$1, SilgiRuntimeShareds as SilgiRuntimeShareds$1, SilgiRuntimeOptions as SilgiRuntimeOptions$1, RouteRules as RouteRules$1, ModuleMeta as ModuleMeta$1, SilgiModule as SilgiModule$1, SilgiRouteRules as SilgiRouteRules$1, DotenvOptions as DotenvOptions$1, EnvOptions as EnvOptions$1, SilgiRuntimeConfig as SilgiRuntimeConfig$1, ServiceParseModule as ServiceParseModule$1, SilgiCLIHooks as SilgiCLIHooks$1, StorageMounts as StorageMounts$1, SilgiTemplate as SilgiTemplate$1, SilgiFrameworkInfo as SilgiFrameworkInfo$1 } from 'silgi/types';
10
10
  import { UnimportPluginOptions } from 'unimport/unplugin';
11
11
  import { Defu } from 'defu';
12
12
  import { Stats } from 'node:fs';
@@ -70,8 +70,9 @@ interface SilgiCLI {
70
70
  updateConfig: (config: SilgiCLIDynamicConfig) => void | Promise<void>;
71
71
  scanModules: Array<{
72
72
  meta: ModuleMeta$1;
73
+ module: SilgiModule$1;
73
74
  timings?: Record<string, number | undefined>;
74
- entryPath: string;
75
+ entryPath?: string;
75
76
  installed?: boolean;
76
77
  options: Record<string, any>;
77
78
  }>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.21.8",
4
+ "version": "0.22.0",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {