silgi 0.20.22 → 0.20.24

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.20.22";
1
+ const version = "0.20.24";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
@@ -872,50 +872,51 @@ ${injectedResult.code}`;
872
872
  }
873
873
  }
874
874
 
875
- const importItems = {
876
- "silgi": {
877
- import: [
878
- { name: "createSilgi", key: "createSilgi" },
879
- { name: "createShared", key: "createShared" }
880
- ],
881
- from: "silgi"
882
- },
883
- "silgi/types": {
884
- import: [
885
- { name: "SilgiRuntimeOptions", type: true, key: "SilgiRuntimeOptions" },
886
- { name: "FrameworkContext", type: true, key: "FrameworkContext" }
887
- ],
888
- from: "silgi/types"
889
- },
890
- "#silgi/vfs": {
891
- import: [],
892
- from: "./vfs"
893
- },
894
- "configs.ts": {
895
- import: [
896
- {
897
- name: "cliConfigs",
898
- type: false,
899
- key: "cliConfigs"
900
- }
901
- ],
902
- from: "./configs.ts"
903
- }
904
- };
905
- const scanned = {
906
- uris: {},
907
- services: [],
908
- shareds: [
909
- `createShared({
910
- modulesURIs,
911
- })`
912
- ],
913
- schemas: [],
914
- modulesURIs: {},
915
- customImports: [],
916
- importItems
917
- };
918
875
  async function prepareServerFiles(silgi) {
876
+ const importItems = {
877
+ "silgi": {
878
+ import: [
879
+ { name: "createSilgi", key: "createSilgi" },
880
+ { name: "createShared", key: "createShared" }
881
+ ],
882
+ from: "silgi"
883
+ },
884
+ "silgi/types": {
885
+ import: [
886
+ { name: "SilgiRuntimeOptions", type: true, key: "SilgiRuntimeOptions" },
887
+ { name: "FrameworkContext", type: true, key: "FrameworkContext" }
888
+ ],
889
+ from: "silgi/types"
890
+ },
891
+ "#silgi/vfs": {
892
+ import: [],
893
+ from: "./vfs"
894
+ },
895
+ "configs.ts": {
896
+ import: [
897
+ {
898
+ name: "cliConfigs",
899
+ type: false,
900
+ key: "cliConfigs"
901
+ }
902
+ ],
903
+ from: "./configs.ts"
904
+ }
905
+ };
906
+ const createScannedObject = () => ({
907
+ uris: {},
908
+ services: [],
909
+ shareds: [
910
+ `createShared({
911
+ modulesURIs,
912
+ })`
913
+ ],
914
+ schemas: [],
915
+ modulesURIs: {},
916
+ customImports: [],
917
+ importItems: JSON.parse(JSON.stringify(importItems))
918
+ });
919
+ const scanned = createScannedObject();
919
920
  if (silgi.uris) {
920
921
  defu$1(scanned.uris, silgi.uris);
921
922
  }
@@ -923,20 +924,26 @@ async function prepareServerFiles(silgi) {
923
924
  defu$1(scanned.modulesURIs, silgi.modulesURIs);
924
925
  }
925
926
  await silgi.callHook("prepare:scan.ts", scanned);
926
- if (importItems["#silgi/vfs"].import.length === 0) {
927
- delete importItems["#silgi/vfs"];
927
+ if (scanned.importItems["#silgi/vfs"].import.length === 0) {
928
+ delete scanned.importItems["#silgi/vfs"];
928
929
  }
929
930
  if (scanned.services.length > 0) {
930
- importItems.silgi.import.push({ name: "mergeServices", key: "mergeServices" });
931
+ scanned.importItems.silgi.import.push({ name: "mergeServices", key: "mergeServices" });
931
932
  }
932
933
  if (scanned.shareds.length > 0) {
933
- importItems.silgi.import.push({ name: "mergeShared", key: "mergeShared" });
934
+ scanned.importItems.silgi.import.push({ name: "mergeShared", key: "mergeShared" });
934
935
  }
935
936
  if (scanned.schemas.length > 0) {
936
- importItems.silgi.import.push({ name: "mergeSchemas", key: "mergeSchemas" });
937
+ scanned.importItems.silgi.import.push({ name: "mergeSchemas", key: "mergeSchemas" });
937
938
  }
939
+ for (const key in scanned.importItems) {
940
+ scanned.importItems[key].import = deduplicateImportsByKey(scanned.importItems[key].import);
941
+ }
942
+ scanned.services = deduplicateArray(scanned.services);
943
+ scanned.schemas = deduplicateArray(scanned.schemas);
944
+ scanned.shareds = deduplicateArray(scanned.shareds);
938
945
  const importsContent = [
939
- ...Object.entries(importItems).map(([_name, { from, import: imports }]) => {
946
+ ...Object.entries(scanned.importItems).map(([_name, { from, import: imports }]) => {
940
947
  if (silgi.options.typescript.removeFileExtension) {
941
948
  from = from.replace(/\.(js|ts|mjs|cjs|jsx|tsx)$/, "");
942
949
  }
@@ -970,10 +977,26 @@ async function prepareServerFiles(silgi) {
970
977
  scanned.shareds.length > 0 ? "])" : "}",
971
978
  ""
972
979
  ];
973
- await silgi.callHook("after:prepare:scan.ts", importData);
980
+ const afterHookData = [...importData];
981
+ await silgi.callHook("after:prepare:scan.ts", afterHookData);
982
+ importData.length = 0;
983
+ importData.push(...afterHookData);
974
984
  importData.unshift(...importsContent);
975
985
  return importData;
976
986
  }
987
+ function deduplicateImportsByKey(imports) {
988
+ const seenKeys = /* @__PURE__ */ new Map();
989
+ return imports.filter((item) => {
990
+ if (seenKeys.has(item.key)) {
991
+ return false;
992
+ }
993
+ seenKeys.set(item.key, true);
994
+ return true;
995
+ });
996
+ }
997
+ function deduplicateArray(array) {
998
+ return [...new Set(array)];
999
+ }
977
1000
 
978
1001
  async function writeScanFiles(silgi) {
979
1002
  const data = await prepareServerFiles(silgi);
@@ -1,4 +1,4 @@
1
- const version = "0.20.22";
1
+ const version = "0.20.24";
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.20.22";
1
+ const version = "0.20.24";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silgi",
3
3
  "type": "module",
4
- "version": "0.20.22",
4
+ "version": "0.20.24",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {