silgi 0.20.21 → 0.20.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.20.21";
1
+ const version = "0.20.23";
2
2
  const peerDependencies = {
3
3
  "@fastify/deepmerge": "^3.0.0",
4
4
  "@nuxt/kit": "^3.15.3",
@@ -916,21 +916,22 @@ async function prepareServerFiles(silgi) {
916
916
  customImports: [],
917
917
  importItems
918
918
  };
919
- function reset() {
920
- scanned.services = [];
921
- scanned.shareds = [];
922
- scanned.schemas = [];
923
- scanned.modulesURIs = {};
924
- scanned.customImports = [];
925
- }
926
919
  if (silgi.uris) {
927
920
  defu$1(scanned.uris, silgi.uris);
928
921
  }
929
922
  if (silgi.modulesURIs) {
930
923
  defu$1(scanned.modulesURIs, silgi.modulesURIs);
931
924
  }
932
- reset();
933
925
  await silgi.callHook("prepare:scan.ts", scanned);
926
+ scanned.services = deduplicateArray(scanned.services);
927
+ scanned.schemas = deduplicateArray(scanned.schemas);
928
+ scanned.shareds = deduplicateArray(scanned.shareds);
929
+ scanned.customImports = deduplicateArray(scanned.customImports);
930
+ scanned.uris = deduplicateObjectValues(scanned.uris);
931
+ scanned.modulesURIs = deduplicateObjectValues(scanned.modulesURIs);
932
+ for (const key in scanned.importItems) {
933
+ scanned.importItems[key].import = deduplicateImportsByKey(scanned.importItems[key].import);
934
+ }
934
935
  if (importItems["#silgi/vfs"].import.length === 0) {
935
936
  delete importItems["#silgi/vfs"];
936
937
  }
@@ -943,12 +944,6 @@ async function prepareServerFiles(silgi) {
943
944
  if (scanned.schemas.length > 0) {
944
945
  importItems.silgi.import.push({ name: "mergeSchemas", key: "mergeSchemas" });
945
946
  }
946
- for (const key in importItems) {
947
- importItems[key].import = deduplicateImportsByKey(importItems[key].import);
948
- }
949
- scanned.services = deduplicateArray(scanned.services);
950
- scanned.schemas = deduplicateArray(scanned.schemas);
951
- scanned.shareds = deduplicateArray(scanned.shareds);
952
947
  const importsContent = [
953
948
  ...Object.entries(importItems).map(([_name, { from, import: imports }]) => {
954
949
  if (silgi.options.typescript.removeFileExtension) {
@@ -1001,6 +996,18 @@ function deduplicateImportsByKey(imports) {
1001
996
  function deduplicateArray(array) {
1002
997
  return [...new Set(array)];
1003
998
  }
999
+ function deduplicateObjectValues(obj) {
1000
+ const result = {};
1001
+ const seenValues = /* @__PURE__ */ new Set();
1002
+ for (const [key, value] of Object.entries(obj)) {
1003
+ const valueStr = JSON.stringify(value);
1004
+ if (!seenValues.has(valueStr)) {
1005
+ result[key] = value;
1006
+ seenValues.add(valueStr);
1007
+ }
1008
+ }
1009
+ return result;
1010
+ }
1004
1011
 
1005
1012
  async function writeScanFiles(silgi) {
1006
1013
  const data = await prepareServerFiles(silgi);
@@ -1,4 +1,4 @@
1
- const version = "0.20.21";
1
+ const version = "0.20.23";
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.21";
1
+ const version = "0.20.23";
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.21",
4
+ "version": "0.20.23",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "exports": {