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.
- package/dist/_chunks/index.mjs +1 -1
- package/dist/cli/common.mjs +21 -14
- package/dist/meta/index.d.mts +1 -1
- package/dist/meta/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/_chunks/index.mjs
CHANGED
package/dist/cli/common.mjs
CHANGED
|
@@ -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);
|
package/dist/meta/index.d.mts
CHANGED
package/dist/meta/index.d.ts
CHANGED