@happyvertical/smrt-core 0.37.0 → 0.37.1
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/consumer-plugin/index.js.map +1 -1
- package/dist/manifest/discover-smrt-packages.d.ts +10 -0
- package/dist/manifest/discover-smrt-packages.d.ts.map +1 -1
- package/dist/manifest/discover-smrt-packages.js.map +1 -1
- package/dist/manifest/generator.d.ts.map +1 -1
- package/dist/manifest/generator.js +34 -37
- package/dist/manifest/generator.js.map +1 -1
- package/dist/manifest/index.js +2 -2
- package/dist/manifest/index.js.map +1 -1
- package/dist/manifest/manifest-loader.d.ts +10 -0
- package/dist/manifest/manifest-loader.d.ts.map +1 -1
- package/dist/manifest/manifest-loader.js.map +1 -1
- package/dist/manifest/static-manifest.js +2 -2
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +2 -2
- package/dist/manifest/test-manifest-stub.js +2 -2
- package/dist/manifest/test-manifest-stub.js.map +1 -1
- package/dist/manifest.json +2 -2
- package/dist/migrations/differ.d.ts +104 -13
- package/dist/migrations/differ.d.ts.map +1 -1
- package/dist/migrations/differ.js +199 -26
- package/dist/migrations/differ.js.map +1 -1
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -1
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/ast.js +1 -7
- package/dist/node_modules/.pnpm/minimatch@10.2.5/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -1
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/escape.js.map +1 -1
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/index.js +17 -14
- package/dist/node_modules/.pnpm/minimatch@10.2.5/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/dist/node_modules/.pnpm/minimatch@10.2.5/node_modules/minimatch/dist/esm/unescape.js +10 -0
- package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/unescape.js.map +1 -1
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js.map +1 -1
- package/dist/scanner/manifest-generator.d.ts.map +1 -1
- package/dist/scanner/manifest-generator.js +22 -20
- package/dist/scanner/manifest-generator.js.map +1 -1
- package/dist/smrt-knowledge.json +7 -7
- package/dist/vite-plugin/index.js +1 -1
- package/package.json +7 -7
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/ast.js.map +0 -1
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/index.js.map +0 -1
- package/dist/node_modules/.pnpm/minimatch@10.2.3/node_modules/minimatch/dist/esm/unescape.js +0 -10
- /package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -0
- /package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/brace-expressions.js +0 -0
- /package/dist/node_modules/.pnpm/{minimatch@10.2.3 → minimatch@10.2.5}/node_modules/minimatch/dist/esm/escape.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLogger } from "@happyvertical/logger";
|
|
1
2
|
import { createHash } from "node:crypto";
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
4
|
import { loadExternalManifestSync, lookupInManifest } from "../manifest/manifest-loader.js";
|
|
@@ -7,6 +8,7 @@ import { toSnakeCase, classnameToTablename } from "../utils/naming.js";
|
|
|
7
8
|
import { createQualifiedName } from "../utils/qualified-names.js";
|
|
8
9
|
import { isTestFile } from "./test-file-patterns.js";
|
|
9
10
|
const require$1 = createRequire(import.meta.url);
|
|
11
|
+
const logger = createLogger({ level: "info" });
|
|
10
12
|
const FRAMEWORK_ABSTRACT_BASE_NAMES = /* @__PURE__ */ new Set([
|
|
11
13
|
"SmrtJunction",
|
|
12
14
|
"SmrtHierarchical",
|
|
@@ -172,7 +174,7 @@ Class names must be unique within a package. Use different class names or separa
|
|
|
172
174
|
__tenancy: tenancyMeta
|
|
173
175
|
}
|
|
174
176
|
};
|
|
175
|
-
|
|
177
|
+
logger.info(
|
|
176
178
|
`[manifest-generator] Injected ${fieldName} field for ${objectDef.className} (tenantScoped: ${JSON.stringify(tenantConfig)})`
|
|
177
179
|
);
|
|
178
180
|
}
|
|
@@ -368,7 +370,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
368
370
|
if (obj.decoratorConfig?.tableStrategy === "sti") {
|
|
369
371
|
if (processedSTIBases.has(name)) continue;
|
|
370
372
|
processedSTIBases.add(name);
|
|
371
|
-
|
|
373
|
+
logger.info(
|
|
372
374
|
`[manifest-generator] Generating STI schema for ${name} (table: ${tableName})`
|
|
373
375
|
);
|
|
374
376
|
obj.schema = generator.generateSTISchemaFromManifest(
|
|
@@ -383,12 +385,12 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
383
385
|
const stiBase = this.findSTIBaseInfo(obj, manifest);
|
|
384
386
|
const baseIsLocal = stiBase && localObjects.has(stiBase.className);
|
|
385
387
|
if (baseIsLocal) {
|
|
386
|
-
|
|
388
|
+
logger.info(
|
|
387
389
|
`[manifest-generator] Skipping schema for STI child ${name} (base ${stiBase?.className} is local)`
|
|
388
390
|
);
|
|
389
391
|
} else {
|
|
390
392
|
const baseTableName = stiBase?.tableName || tableName;
|
|
391
|
-
|
|
393
|
+
logger.info(
|
|
392
394
|
`[manifest-generator] Generating STI schema for ${name} (external base: ${stiBase?.className}, table: ${baseTableName})`
|
|
393
395
|
);
|
|
394
396
|
obj.schema = generator.generateSTISchemaFromManifest(
|
|
@@ -401,7 +403,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
401
403
|
this.applySqlTypeOverrides(obj);
|
|
402
404
|
}
|
|
403
405
|
} else {
|
|
404
|
-
|
|
406
|
+
logger.info(
|
|
405
407
|
`[manifest-generator] Generating CTI schema for ${name} (table: ${tableName})`
|
|
406
408
|
);
|
|
407
409
|
obj.schema = generator.generateCTISchemaFromManifest(
|
|
@@ -637,7 +639,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
637
639
|
aggregatedObjects[name] = obj;
|
|
638
640
|
}
|
|
639
641
|
}
|
|
640
|
-
|
|
642
|
+
logger.info(
|
|
641
643
|
`[manifest-generator] Aggregated ${Object.keys(externalManifest.objects).length} objects from ${packageName}`
|
|
642
644
|
);
|
|
643
645
|
}
|
|
@@ -819,7 +821,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
819
821
|
if (!usesSTI && !extendsFrameworkBase) {
|
|
820
822
|
continue;
|
|
821
823
|
}
|
|
822
|
-
|
|
824
|
+
logger.info(
|
|
823
825
|
`[manifest-generator] Merging inherited fields for ${obj.className} from ${obj.extends}`
|
|
824
826
|
);
|
|
825
827
|
const inheritanceChain = [];
|
|
@@ -827,7 +829,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
827
829
|
const visited = /* @__PURE__ */ new Set();
|
|
828
830
|
while (currentClass) {
|
|
829
831
|
if (visited.has(currentClass)) {
|
|
830
|
-
|
|
832
|
+
logger.warn(
|
|
831
833
|
`[manifest-generator] Circular inheritance detected for ${obj.className}`
|
|
832
834
|
);
|
|
833
835
|
break;
|
|
@@ -848,7 +850,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
848
850
|
if (!parentObj) break;
|
|
849
851
|
currentClass = parentObj.extends;
|
|
850
852
|
}
|
|
851
|
-
|
|
853
|
+
logger.info(
|
|
852
854
|
`[manifest-generator] Inheritance chain for ${obj.className}: ${inheritanceChain.join(" -> ")}`
|
|
853
855
|
);
|
|
854
856
|
const mergedFields = {};
|
|
@@ -891,23 +893,23 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
891
893
|
const baseTableName = stiBase.decoratorConfig?.tableName || this.classNameToTableName(stiBase.className);
|
|
892
894
|
obj.decoratorConfig = obj.decoratorConfig || {};
|
|
893
895
|
obj.decoratorConfig.tableName = baseTableName;
|
|
894
|
-
|
|
896
|
+
logger.info(
|
|
895
897
|
`[manifest-generator] ${obj.className} inherits tableName: '${baseTableName}' from ${stiBase.className}`
|
|
896
898
|
);
|
|
897
899
|
if (stiBase.decoratorConfig?.tableStrategy) {
|
|
898
900
|
obj.decoratorConfig.tableStrategy = stiBase.decoratorConfig.tableStrategy;
|
|
899
|
-
|
|
901
|
+
logger.info(
|
|
900
902
|
`[manifest-generator] ${obj.className} inherits tableStrategy: '${stiBase.decoratorConfig.tableStrategy}' from ${stiBase.className}`
|
|
901
903
|
);
|
|
902
904
|
}
|
|
903
905
|
if (stiBase.collection !== obj.collection) {
|
|
904
|
-
|
|
906
|
+
logger.info(
|
|
905
907
|
`[manifest-generator] ${obj.className} inherits collection: '${stiBase.collection}' from ${stiBase.className}`
|
|
906
908
|
);
|
|
907
909
|
obj.collection = stiBase.collection;
|
|
908
910
|
}
|
|
909
911
|
}
|
|
910
|
-
|
|
912
|
+
logger.info(
|
|
911
913
|
`[manifest-generator] ✅ ${obj.className} now has ${Object.keys(mergedFields).length} fields (including inherited)`
|
|
912
914
|
);
|
|
913
915
|
}
|
|
@@ -916,18 +918,18 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
916
918
|
if (isCollection) {
|
|
917
919
|
const itemClass = this.findItemClass(obj, manifest, objectsByName);
|
|
918
920
|
if (itemClass) {
|
|
919
|
-
|
|
921
|
+
logger.info(
|
|
920
922
|
`[manifest-generator] ${obj.className} is a collection class for ${itemClass.className}`
|
|
921
923
|
);
|
|
922
924
|
if (itemClass.decoratorConfig?.tableName) {
|
|
923
925
|
obj.decoratorConfig = obj.decoratorConfig || {};
|
|
924
926
|
obj.decoratorConfig.tableName = itemClass.decoratorConfig.tableName;
|
|
925
|
-
|
|
927
|
+
logger.info(
|
|
926
928
|
`[manifest-generator] ${obj.className} inherits tableName: '${itemClass.decoratorConfig.tableName}' from item class ${itemClass.className}`
|
|
927
929
|
);
|
|
928
930
|
}
|
|
929
931
|
if (itemClass.collection !== obj.collection) {
|
|
930
|
-
|
|
932
|
+
logger.info(
|
|
931
933
|
`[manifest-generator] ${obj.className} inherits collection: '${itemClass.collection}' from item class ${itemClass.className} (was '${obj.collection}')`
|
|
932
934
|
);
|
|
933
935
|
obj.collection = itemClass.collection;
|
|
@@ -973,12 +975,12 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
973
975
|
findItemClass(collectionObj, manifest, objectsByName) {
|
|
974
976
|
if (collectionObj.extendsTypeArg) {
|
|
975
977
|
const itemClassName = collectionObj.extendsTypeArg;
|
|
976
|
-
|
|
978
|
+
logger.info(
|
|
977
979
|
`[manifest-generator] ${collectionObj.className} has extendsTypeArg: ${itemClassName}`
|
|
978
980
|
);
|
|
979
981
|
const itemClass = objectsByName.get(itemClassName);
|
|
980
982
|
if (itemClass) {
|
|
981
|
-
|
|
983
|
+
logger.info(
|
|
982
984
|
`[manifest-generator] Found item class ${itemClassName} in local manifest`
|
|
983
985
|
);
|
|
984
986
|
return itemClass;
|
|
@@ -990,7 +992,7 @@ ${failures.map((failure) => ` - ${failure}`).join("\n")}`
|
|
|
990
992
|
objectsByName
|
|
991
993
|
);
|
|
992
994
|
if (externalItemClass) {
|
|
993
|
-
|
|
995
|
+
logger.info(
|
|
994
996
|
`[manifest-generator] Found item class ${itemClassName} in external package`
|
|
995
997
|
);
|
|
996
998
|
return externalItemClass;
|
|
@@ -1676,7 +1678,7 @@ ${tools.join(",\n")}
|
|
|
1676
1678
|
components
|
|
1677
1679
|
};
|
|
1678
1680
|
obj.agent = agentManifest;
|
|
1679
|
-
|
|
1681
|
+
logger.info(
|
|
1680
1682
|
`[manifest-generator] Generated agent manifest for ${obj.className}: ${permissions.length} permissions, ${features.length} features, ${menuItems.length} menu items, ${components.length} components`
|
|
1681
1683
|
);
|
|
1682
1684
|
}
|