silgi 0.8.21 → 0.8.23

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.8.21";
1
+ const version = "0.8.23";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.2.0",
4
4
  "@fastify/deepmerge": "^2.0.2",
@@ -42,9 +42,12 @@ const install = defineCommand({
42
42
  consola.info("Empty command list, maybe forgot pnpm silgi prepare?");
43
43
  return;
44
44
  }
45
- const cleanPackageName = (name) => name.replace(/^[>=]+\s*/, "");
46
- const deps = Object.keys(cliJson.dependencies || {}).map(cleanPackageName).join(" ");
47
- const devDeps = Object.keys(cliJson.devDependencies || {}).map(cleanPackageName).join(" ");
45
+ const cleanPackageName = (name, version) => {
46
+ const cleanVersion = version.replace(/^[>=]+\s*/, "");
47
+ return `${name}@${cleanVersion}`;
48
+ };
49
+ const deps = Object.entries(cliJson.dependencies || {}).map(([name, version]) => cleanPackageName(name, version)).join(" ");
50
+ const devDeps = Object.entries(cliJson.devDependencies || {}).map(([name, version]) => cleanPackageName(name, version)).join(" ");
48
51
  if (deps) {
49
52
  consola.info("Installing dependencies...");
50
53
  execSync(`ni ${deps}${extraArgs}`, { stdio: "inherit" });
@@ -1053,15 +1053,22 @@ function createDependencyGraph(modules) {
1053
1053
  });
1054
1054
  modules.forEach((module) => {
1055
1055
  const key = module.meta?.configKey;
1056
- const deps = module.meta?.dependencies || [];
1057
- if (key && deps.length > 0) {
1058
- deps.forEach((dep) => {
1059
- if (graph.has(dep)) {
1060
- graph.get(dep)?.add(key);
1061
- inDegree.set(key, (inDegree.get(key) || 0) + 1);
1062
- }
1063
- });
1064
- }
1056
+ if (!key)
1057
+ return;
1058
+ const beforeDeps = module.meta?.beforeDependencies || [];
1059
+ beforeDeps.forEach((dep) => {
1060
+ if (graph.has(dep)) {
1061
+ graph.get(dep)?.add(key);
1062
+ inDegree.set(key, (inDegree.get(key) || 0) + 1);
1063
+ }
1064
+ });
1065
+ const afterDeps = module.meta?.afterDependencies || [];
1066
+ afterDeps.forEach((dep) => {
1067
+ if (graph.has(key)) {
1068
+ graph.get(key)?.add(dep);
1069
+ inDegree.set(dep, (inDegree.get(dep) || 0) + 1);
1070
+ }
1071
+ });
1065
1072
  });
1066
1073
  return { graph, inDegree };
1067
1074
  }
@@ -1,4 +1,4 @@
1
- const version = "0.8.21";
1
+ const version = "0.8.23";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.2.0",
4
4
  "@fastify/deepmerge": "^2.0.2",
@@ -1,4 +1,4 @@
1
- const version = "0.8.21";
1
+ const version = "0.8.23";
2
2
  const devDependencies = {
3
3
  "@antfu/eslint-config": "^4.2.0",
4
4
  "@fastify/deepmerge": "^2.0.2",
@@ -467,7 +467,8 @@ interface ModuleMeta {
467
467
  * @private
468
468
  */
469
469
  _packageName?: string;
470
- readonly dependencies?: ReadonlyArray<string>;
470
+ readonly afterDependencies?: ReadonlyArray<string>;
471
+ readonly beforeDependencies?: ReadonlyArray<string>;
471
472
  [key: string]: unknown;
472
473
  }
473
474
  interface ResolvedModuleMeta extends ModuleMeta {
@@ -503,7 +504,7 @@ interface ModuleDefinition<TOptions extends ModuleOptionsCustom, TOptionsDefault
503
504
  meta?: ModuleMeta;
504
505
  defaults?: TOptionsDefaults | ((silgi: SilgiCLI) => Awaitable<TOptionsDefaults>);
505
506
  hooks?: Partial<SilgiCLIHooks>;
506
- setup?: (this: void, resolvedOptions: TWith extends true ? ResolvedModuleOptions<TOptions, TOptionsDefaults> : TOptions, silgi: SilgiCLI) => ModuleSetupReturn;
507
+ setup?: (this: void, resolvedOptions: TWith extends true ? ResolvedModuleOptions<TOptions, TOptionsDefaults> : TOptions, silgi: SilgiCLI & SilgiModuleOptions) => ModuleSetupReturn;
507
508
  }
508
509
  interface ModuleSetupInstallResult {
509
510
  /**
@@ -467,7 +467,8 @@ interface ModuleMeta {
467
467
  * @private
468
468
  */
469
469
  _packageName?: string;
470
- readonly dependencies?: ReadonlyArray<string>;
470
+ readonly afterDependencies?: ReadonlyArray<string>;
471
+ readonly beforeDependencies?: ReadonlyArray<string>;
471
472
  [key: string]: unknown;
472
473
  }
473
474
  interface ResolvedModuleMeta extends ModuleMeta {
@@ -503,7 +504,7 @@ interface ModuleDefinition<TOptions extends ModuleOptionsCustom, TOptionsDefault
503
504
  meta?: ModuleMeta;
504
505
  defaults?: TOptionsDefaults | ((silgi: SilgiCLI) => Awaitable<TOptionsDefaults>);
505
506
  hooks?: Partial<SilgiCLIHooks>;
506
- setup?: (this: void, resolvedOptions: TWith extends true ? ResolvedModuleOptions<TOptions, TOptionsDefaults> : TOptions, silgi: SilgiCLI) => ModuleSetupReturn;
507
+ setup?: (this: void, resolvedOptions: TWith extends true ? ResolvedModuleOptions<TOptions, TOptionsDefaults> : TOptions, silgi: SilgiCLI & SilgiModuleOptions) => ModuleSetupReturn;
507
508
  }
508
509
  interface ModuleSetupInstallResult {
509
510
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.8.21",
4
+ "version": "0.8.23",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {