@memberjunction/codegen-lib 5.21.0 → 5.22.0

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.
@@ -94,6 +94,27 @@ export interface GenerateManifestOptions {
94
94
  * @default false
95
95
  */
96
96
  scanDist?: boolean;
97
+ /**
98
+ * When set, generates a lazy-loading feature config file at this path.
99
+ * The config maps @RegisterClass keys to dynamic import() loaders based on
100
+ * each package's subpath exports in package.json.
101
+ *
102
+ * Includes all @RegisterClass classes with a key that are in packages
103
+ * matching `excludePackages` AND have subpath exports defined in their
104
+ * package.json. The subpath exports field is the package's declarative
105
+ * marker that it supports lazy chunk loading.
106
+ */
107
+ lazyConfigPath?: string;
108
+ /**
109
+ * When true, the coverage audit treats gaps as fatal errors.
110
+ * A gap is a @RegisterClass class that is neither in the eager manifest
111
+ * nor reachable from any lazy chunk's subpath export.
112
+ *
113
+ * Use in CI to catch tree-shaking issues before merge.
114
+ *
115
+ * @default false
116
+ */
117
+ strict?: boolean;
97
118
  }
98
119
  /**
99
120
  * Result of the manifest generation
@@ -119,7 +140,55 @@ export interface GenerateManifestResult {
119
140
  AddedDependencies: Record<string, string>;
120
141
  /** Any errors encountered */
121
142
  errors: string[];
143
+ /** Whether the lazy config file content changed and was written to disk */
144
+ LazyConfigChanged?: boolean;
145
+ }
146
+ /**
147
+ * Represents a lazy-loadable chunk: a group of @RegisterClass keys
148
+ * that are loaded together via a single dynamic import().
149
+ */
150
+ /**
151
+ * A single @RegisterClass entry within a lazy chunk, pairing the base class name with the key.
152
+ * Used to generate compound lookup keys in the format 'BaseClassName::Key'.
153
+ */
154
+ export interface LazyChunkEntry {
155
+ /** The @RegisterClass key (second decorator argument, e.g., 'HomeDashboard') */
156
+ key: string;
157
+ /** The base class name (first decorator argument, e.g., 'BaseResourceComponent') */
158
+ baseClassName: string;
159
+ }
160
+ export interface LazyChunk {
161
+ /** The npm package name */
162
+ packageName: string;
163
+ /** The subpath export (e.g., './ai-dashboards.module') or '.' for whole-package chunks */
164
+ subpath: string;
165
+ /** The full import path for dynamic import (e.g., '@memberjunction/ng-dashboards/ai-dashboards.module') */
166
+ importPath: string;
167
+ /** The generated variable name for the loader function */
168
+ loaderVarName: string;
169
+ /** The @RegisterClass entries (base class + key pairs) that map to this chunk */
170
+ entries: LazyChunkEntry[];
171
+ }
172
+ /**
173
+ * Resolves subpath exports for a package by reading its `package.json` `exports`
174
+ * field and collecting all class names reachable from each subpath's `.d.ts` entry.
175
+ *
176
+ * Uses `collectReachableClassNames` which follows both `export` and `import` chains,
177
+ * since Angular NgModule `.d.ts` files use `import * as` patterns rather than re-exports.
178
+ *
179
+ * @returns Map of subpath name (e.g., './ai-dashboards.module') to Set of reachable class names.
180
+ * The main entry (`.`) is excluded from the map.
181
+ */
182
+ /**
183
+ * Detailed subpath resolution result that includes .d.ts file paths for disambiguation.
184
+ */
185
+ export interface SubpathExportInfo {
186
+ /** Class names reachable from this subpath */
187
+ classNames: Set<string>;
188
+ /** Map of className → .d.ts file where it was declared */
189
+ classToFile: Map<string, string>;
122
190
  }
191
+ export declare function resolveSubpathExports(packageDir: string): Map<string, Set<string>>;
123
192
  /**
124
193
  * Generates a class registrations manifest for the app in the given directory.
125
194
  *
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateClassRegistrationsManifest.d.ts","sourceRoot":"","sources":["../../src/Manifest/GenerateClassRegistrationsManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB;IACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,6BAA6B;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAw3BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,kCAAkC,CACpD,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,sBAAsB,CAAC,CA6HjC"}
1
+ {"version":3,"file":"GenerateClassRegistrationsManifest.d.ts","sourceRoot":"","sources":["../../src/Manifest/GenerateClassRegistrationsManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE7B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB;IACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4CAA4C;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,6BAA6B;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACtB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,2GAA2G;IAC3G,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,OAAO,EAAE,cAAc,EAAE,CAAC;CAC7B;AAs9BD;;;;;;;;;GASG;AACH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8CAA8C;IAC9C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,0DAA0D;IAC1D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAOlF;AA0dD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,kCAAkC,CACpD,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,sBAAsB,CAAC,CAuOjC"}
@@ -714,6 +714,504 @@ function sortObjectKeys(obj) {
714
714
  return sorted;
715
715
  }
716
716
  // ============================================================================
717
+ // Lazy Config Generation
718
+ // ============================================================================
719
+ /**
720
+ * Collects all class names reachable from a `.d.ts` entry point by following
721
+ * both `export` and `import` chains. This is needed for Angular NgModule `.d.ts`
722
+ * files which use `import * as iN from './component'` rather than `export * from`.
723
+ * When a subpath is dynamically imported, ALL transitively-imported modules load,
724
+ * so their `@RegisterClass` decorators execute as side effects.
725
+ */
726
+ function collectReachableClassNames(entryDtsPath) {
727
+ const result = collectReachableClasses(entryDtsPath);
728
+ return new Set(result.keys());
729
+ }
730
+ /**
731
+ * Extended version that also tracks which .d.ts file each class was found in.
732
+ * Returns Map<className, dtsFilePath> for disambiguation when the same class
733
+ * name appears in multiple subpaths.
734
+ */
735
+ function collectReachableClasses(entryDtsPath) {
736
+ const classToFile = new Map();
737
+ const visited = new Set();
738
+ function processFile(filePath) {
739
+ if (visited.has(filePath))
740
+ return;
741
+ visited.add(filePath);
742
+ let content;
743
+ try {
744
+ content = fs.readFileSync(filePath, 'utf-8');
745
+ }
746
+ catch {
747
+ return;
748
+ }
749
+ const fileDir = path.dirname(filePath);
750
+ for (const line of content.split('\n')) {
751
+ const trimmed = line.trim();
752
+ // export declare class ClassName ...
753
+ const declareClassMatch = trimmed.match(/^export\s+declare\s+class\s+(\w+)/);
754
+ if (declareClassMatch) {
755
+ classToFile.set(declareClassMatch[1], filePath);
756
+ continue;
757
+ }
758
+ // export { Foo, Bar } from '...' or export { Foo, Bar }
759
+ const namedExportMatch = trimmed.match(/^export\s*\{([^}]+)\}/);
760
+ if (namedExportMatch) {
761
+ const names = namedExportMatch[1].split(',');
762
+ for (const name of names) {
763
+ const parts = name.trim().split(/\s+as\s+/);
764
+ const exportedName = parts.length > 1 ? parts[1].trim() : parts[0].trim();
765
+ if (exportedName && /^\w+$/.test(exportedName)) {
766
+ classToFile.set(exportedName, filePath);
767
+ }
768
+ }
769
+ const fromMatch = trimmed.match(/from\s+['"]([^'"]+)['"]/);
770
+ if (fromMatch) {
771
+ const resolvedPath = resolveDtsImport(fromMatch[1], fileDir);
772
+ if (resolvedPath)
773
+ processFile(resolvedPath);
774
+ }
775
+ continue;
776
+ }
777
+ // export * from './something'
778
+ const starExportMatch = trimmed.match(/^export\s+\*\s+from\s+['"]([^'"]+)['"]/);
779
+ if (starExportMatch) {
780
+ const resolvedPath = resolveDtsImport(starExportMatch[1], fileDir);
781
+ if (resolvedPath)
782
+ processFile(resolvedPath);
783
+ continue;
784
+ }
785
+ // import * as iN from './relative/path' — follow for reachable classes
786
+ // Only follow relative imports (not external packages like @angular/core)
787
+ const importStarMatch = trimmed.match(/^import\s+\*\s+as\s+\w+\s+from\s+['"](\.[^'"]+)['"]/);
788
+ if (importStarMatch) {
789
+ const resolvedPath = resolveDtsImport(importStarMatch[1], fileDir);
790
+ if (resolvedPath)
791
+ processFile(resolvedPath);
792
+ continue;
793
+ }
794
+ // import { X } from './relative/path'
795
+ const importNamedMatch = trimmed.match(/^import\s+\{[^}]+\}\s+from\s+['"](\.[^'"]+)['"]/);
796
+ if (importNamedMatch) {
797
+ const resolvedPath = resolveDtsImport(importNamedMatch[1], fileDir);
798
+ if (resolvedPath)
799
+ processFile(resolvedPath);
800
+ continue;
801
+ }
802
+ }
803
+ }
804
+ processFile(entryDtsPath);
805
+ return classToFile;
806
+ }
807
+ export function resolveSubpathExports(packageDir) {
808
+ const detailed = resolveSubpathExportsDetailed(packageDir);
809
+ const result = new Map();
810
+ for (const [subpath, info] of detailed.entries()) {
811
+ result.set(subpath, info.classNames);
812
+ }
813
+ return result;
814
+ }
815
+ /**
816
+ * Detailed version that also returns the .d.ts file path where each class was found.
817
+ * Used by the lazy config generator to disambiguate classes with the same name
818
+ * that appear in different subpath modules.
819
+ */
820
+ function resolveSubpathExportsDetailed(packageDir) {
821
+ const result = new Map();
822
+ const pkgPath = path.join(packageDir, 'package.json');
823
+ if (!fs.existsSync(pkgPath))
824
+ return result;
825
+ let pkg;
826
+ try {
827
+ pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
828
+ }
829
+ catch {
830
+ return result;
831
+ }
832
+ const exports = pkg.exports;
833
+ if (!exports || typeof exports !== 'object')
834
+ return result;
835
+ for (const [subpath, entry] of Object.entries(exports)) {
836
+ // Skip the main entry point
837
+ if (subpath === '.')
838
+ continue;
839
+ // Handle both { types, default } and plain string entries
840
+ const typesField = typeof entry === 'object' && entry !== null ? entry.types : undefined;
841
+ if (!typesField)
842
+ continue;
843
+ const dtsPath = path.resolve(packageDir, typesField);
844
+ if (!fs.existsSync(dtsPath))
845
+ continue;
846
+ const classToFile = collectReachableClasses(dtsPath);
847
+ if (classToFile.size > 0) {
848
+ result.set(subpath, {
849
+ classNames: new Set(classToFile.keys()),
850
+ classToFile
851
+ });
852
+ }
853
+ }
854
+ return result;
855
+ }
856
+ /**
857
+ * Checks whether a package has subpath exports defined in its package.json.
858
+ */
859
+ function hasSubpathExports(packageDir) {
860
+ const pkgPath = path.join(packageDir, 'package.json');
861
+ if (!fs.existsSync(pkgPath))
862
+ return false;
863
+ try {
864
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
865
+ const exports = pkg.exports;
866
+ if (!exports || typeof exports !== 'object')
867
+ return false;
868
+ // Has subpath exports if any key other than '.' exists
869
+ return Object.keys(exports).some(k => k !== '.');
870
+ }
871
+ catch {
872
+ return false;
873
+ }
874
+ }
875
+ /**
876
+ * Scans packages excluded from the eager manifest for lazy-loadable classes,
877
+ * then groups them into lazy chunks by package subpath export.
878
+ */
879
+ /**
880
+ * Resolves which package (if any) contains a given file path.
881
+ * Checks if the file path is under any package's resolved directory.
882
+ */
883
+ function resolveHostPackage(filePath, depTree) {
884
+ const absolutePath = path.resolve(filePath);
885
+ for (const [depName, depDir] of depTree.entries()) {
886
+ if (absolutePath.startsWith(depDir + path.sep) || absolutePath.startsWith(depDir + '/')) {
887
+ return depName;
888
+ }
889
+ }
890
+ return undefined;
891
+ }
892
+ function buildLazyChunks(excludePackages, fullDepTree, excludePatterns, scanDist, log, hostPackageName) {
893
+ const errors = [];
894
+ // Find excluded packages that have subpath exports — these are lazy-loadable.
895
+ // The subpath exports field in package.json is the package's declarative marker
896
+ // that it supports lazy chunk loading.
897
+ const lazyPackages = new Map();
898
+ for (const [depName, depDir] of fullDepTree.entries()) {
899
+ if (!isPackageExcluded(depName, excludePackages))
900
+ continue;
901
+ // Never include the package that hosts the lazy config file (would cause self-import)
902
+ if (hostPackageName && depName === hostPackageName) {
903
+ log(`Lazy config: skipping ${depName} (hosts the lazy config file)`);
904
+ continue;
905
+ }
906
+ // Only include packages with subpath exports
907
+ if (!hasSubpathExports(depDir))
908
+ continue;
909
+ lazyPackages.set(depName, depDir);
910
+ }
911
+ log(`Lazy config: ${lazyPackages.size} excluded packages with subpath exports`);
912
+ // Scan lazy packages for @RegisterClass decorators
913
+ const lazyClasses = scanPackagesForDecorators(lazyPackages, excludePatterns, scanDist, errors);
914
+ log(`Lazy config: ${lazyClasses.length} total @RegisterClass decorators found`);
915
+ // Filter to classes with a key (the lazy config maps keys to loaders)
916
+ const filtered = lazyClasses.filter(c => c.key);
917
+ log(`Lazy config: ${filtered.length} classes have keys`);
918
+ // Group classes into chunks by subpath export
919
+ return { chunks: groupClassesIntoChunks(filtered, lazyPackages, log), errors };
920
+ }
921
+ /**
922
+ * Scans a set of packages for @RegisterClass decorators.
923
+ */
924
+ async function scanPackagesForDecoratorsAsync(packages, excludePatterns, scanDist, errors) {
925
+ const classes = [];
926
+ for (const [depName, depDir] of packages.entries()) {
927
+ const { files, isCompiledJS } = await findScannableFiles(depDir, excludePatterns, scanDist);
928
+ for (const filePath of files) {
929
+ try {
930
+ const sourceText = fs.readFileSync(filePath, 'utf-8');
931
+ const found = isCompiledJS
932
+ ? extractRegisterClassFromCompiledJS(filePath, sourceText, depName)
933
+ : extractRegisterClassDecorators(filePath, sourceText, depName);
934
+ classes.push(...found);
935
+ }
936
+ catch (err) {
937
+ errors.push(`Error reading ${filePath}: ${err}`);
938
+ }
939
+ }
940
+ }
941
+ return classes;
942
+ }
943
+ /**
944
+ * Synchronous version of scanPackagesForDecorators that calls the glob-based
945
+ * file finder. Since glob is async, we use a sync glob fallback for the lazy path.
946
+ */
947
+ function scanPackagesForDecorators(packages, excludePatterns, scanDist, errors) {
948
+ const classes = [];
949
+ for (const [depName, depDir] of packages.entries()) {
950
+ const srcDir = path.join(depDir, 'src');
951
+ const distDir = path.join(depDir, 'dist');
952
+ let files = [];
953
+ let isCompiledJS = false;
954
+ if (fs.existsSync(srcDir)) {
955
+ files = findSourceFilesSync(srcDir, excludePatterns);
956
+ }
957
+ else if (scanDist && fs.existsSync(distDir)) {
958
+ files = findDistFilesSync(distDir, excludePatterns);
959
+ isCompiledJS = true;
960
+ }
961
+ for (const filePath of files) {
962
+ try {
963
+ const sourceText = fs.readFileSync(filePath, 'utf-8');
964
+ const found = isCompiledJS
965
+ ? extractRegisterClassFromCompiledJS(filePath, sourceText, depName)
966
+ : extractRegisterClassDecorators(filePath, sourceText, depName);
967
+ classes.push(...found);
968
+ }
969
+ catch (err) {
970
+ errors.push(`Error reading ${filePath}: ${err}`);
971
+ }
972
+ }
973
+ }
974
+ return classes;
975
+ }
976
+ /**
977
+ * Synchronous file finder for TypeScript source files.
978
+ */
979
+ function findSourceFilesSync(srcDir, excludePatterns) {
980
+ return glob.sync('**/*.ts', {
981
+ cwd: srcDir,
982
+ absolute: true,
983
+ ignore: [
984
+ '**/node_modules/**', '**/dist/**', '**/build/**', '**/.git/**',
985
+ '**/__tests__/**', '**/*.d.ts', '**/*.spec.ts', '**/*.test.ts',
986
+ ...excludePatterns.map(p => `**/${p}/**`)
987
+ ],
988
+ nodir: true
989
+ });
990
+ }
991
+ /**
992
+ * Synchronous file finder for compiled JavaScript files.
993
+ */
994
+ function findDistFilesSync(distDir, excludePatterns) {
995
+ return glob.sync('**/*.{js,mjs,cjs}', {
996
+ cwd: distDir,
997
+ absolute: true,
998
+ ignore: [
999
+ '**/node_modules/**', '**/.git/**', '**/*.d.ts', '**/*.d.ts.map',
1000
+ '**/*.js.map', '**/*.min.js',
1001
+ ...excludePatterns.map(p => `**/${p}/**`)
1002
+ ],
1003
+ nodir: true
1004
+ });
1005
+ }
1006
+ /**
1007
+ * Groups lazy classes into chunks based on their package's subpath exports.
1008
+ * Packages with subpath exports get one chunk per subpath.
1009
+ * Packages without subpath exports get one chunk for the whole package.
1010
+ */
1011
+ function groupClassesIntoChunks(lazyClasses, lazyPackages, log) {
1012
+ // Build detailed subpath export maps (including .d.ts file paths for disambiguation)
1013
+ const packageSubpaths = new Map();
1014
+ for (const [depName, depDir] of lazyPackages.entries()) {
1015
+ const subpaths = resolveSubpathExportsDetailed(depDir);
1016
+ if (subpaths.size > 0) {
1017
+ packageSubpaths.set(depName, subpaths);
1018
+ }
1019
+ }
1020
+ // Map: "packageName::subpath" -> LazyChunk
1021
+ const chunks = new Map();
1022
+ const keysSeen = new Map(); // key -> chunkKey (collision detection)
1023
+ for (const cls of lazyClasses) {
1024
+ if (!cls.key)
1025
+ continue;
1026
+ const subpaths = packageSubpaths.get(cls.packageName);
1027
+ let chunkKey;
1028
+ let importPath;
1029
+ let subpath;
1030
+ if (subpaths) {
1031
+ // Package has subpath exports — find which one contains this class
1032
+ // Use file path matching to disambiguate classes with the same name
1033
+ const packageDir = lazyPackages.get(cls.packageName);
1034
+ const foundSubpath = findClassSubpathByFile(cls, subpaths, packageDir);
1035
+ if (!foundSubpath) {
1036
+ log(` Warning: ${cls.key} (${cls.className}) not found in any subpath of ${cls.packageName}, skipping`);
1037
+ continue;
1038
+ }
1039
+ subpath = foundSubpath;
1040
+ const subpathClean = foundSubpath.replace(/^\.\//, '');
1041
+ importPath = `${cls.packageName}/${subpathClean}`;
1042
+ chunkKey = `${cls.packageName}::${foundSubpath}`;
1043
+ }
1044
+ else {
1045
+ // No subpath exports — whole package is one chunk
1046
+ subpath = '.';
1047
+ importPath = cls.packageName;
1048
+ chunkKey = `${cls.packageName}::.`;
1049
+ }
1050
+ // Build compound key for collision detection: 'BaseClassName::Key'
1051
+ const compoundKey = `${cls.baseClassName || 'Unknown'}::${cls.key}`;
1052
+ // Collision detection: same compound key in different chunks
1053
+ const existingChunk = keysSeen.get(compoundKey);
1054
+ if (existingChunk && existingChunk !== chunkKey) {
1055
+ throw new Error(`Lazy config collision: key '${compoundKey}' is exported from both ` +
1056
+ `${existingChunk} and ${chunkKey}`);
1057
+ }
1058
+ keysSeen.set(compoundKey, chunkKey);
1059
+ if (!chunks.has(chunkKey)) {
1060
+ chunks.set(chunkKey, {
1061
+ packageName: cls.packageName,
1062
+ subpath,
1063
+ importPath,
1064
+ loaderVarName: buildLoaderVarName(cls.packageName, subpath),
1065
+ entries: []
1066
+ });
1067
+ }
1068
+ chunks.get(chunkKey).entries.push({
1069
+ key: cls.key,
1070
+ baseClassName: cls.baseClassName || 'Unknown'
1071
+ });
1072
+ }
1073
+ // Sort entries within each chunk for deterministic output
1074
+ for (const chunk of chunks.values()) {
1075
+ chunk.entries.sort((a, b) => {
1076
+ const compoundA = `${a.baseClassName}::${a.key}`;
1077
+ const compoundB = `${b.baseClassName}::${b.key}`;
1078
+ return compoundA.localeCompare(compoundB);
1079
+ });
1080
+ }
1081
+ return Array.from(chunks.values()).sort((a, b) => a.importPath.localeCompare(b.importPath));
1082
+ }
1083
+ /**
1084
+ * Finds which subpath export contains a given class, using the source file path
1085
+ * to disambiguate when multiple subpaths export classes with the same name.
1086
+ *
1087
+ * Converts the class's source `.ts` path to the expected `.d.ts` path (src/ → dist/)
1088
+ * and checks which subpath's .d.ts tree includes that file.
1089
+ */
1090
+ function findClassSubpathByFile(cls, subpaths, packageDir) {
1091
+ // Collect all subpaths that contain a class with this name
1092
+ const candidates = [];
1093
+ for (const [subpath, info] of subpaths.entries()) {
1094
+ if (info.classNames.has(cls.className)) {
1095
+ candidates.push(subpath);
1096
+ }
1097
+ }
1098
+ if (candidates.length === 0)
1099
+ return undefined;
1100
+ if (candidates.length === 1)
1101
+ return candidates[0];
1102
+ // Multiple subpaths have this class name — disambiguate using file path.
1103
+ // Convert cls.filePath (src/Actions/components/foo.ts) to expected .d.ts
1104
+ // (dist/Actions/components/foo.d.ts) and check which subpath's tree matches.
1105
+ const relativeSource = path.relative(packageDir, cls.filePath);
1106
+ const expectedDts = relativeSource
1107
+ .replace(/^src\//, 'dist/')
1108
+ .replace(/\.ts$/, '.d.ts');
1109
+ const expectedDtsAbsolute = path.resolve(packageDir, expectedDts);
1110
+ for (const subpath of candidates) {
1111
+ const info = subpaths.get(subpath);
1112
+ const dtsFile = info.classToFile.get(cls.className);
1113
+ if (dtsFile && path.resolve(dtsFile) === expectedDtsAbsolute) {
1114
+ return subpath;
1115
+ }
1116
+ }
1117
+ // Fallback: return first candidate (shouldn't happen with correct .d.ts mapping)
1118
+ return candidates[0];
1119
+ }
1120
+ /**
1121
+ * Builds a deterministic loader variable name from a package name and subpath.
1122
+ *
1123
+ * Examples:
1124
+ * ('@memberjunction/ng-dashboards', './ai-dashboards.module') → 'loadAiDashboardsModule'
1125
+ * ('@memberjunction/ng-explorer-settings', '.') → 'loadNgExplorerSettings'
1126
+ */
1127
+ function buildLoaderVarName(packageName, subpath) {
1128
+ if (subpath === '.') {
1129
+ // Whole-package chunk: derive from package name
1130
+ const parts = sanitizePackageName(packageName).split('_').filter(Boolean);
1131
+ const pascalParts = parts.map(p => p.charAt(0).toUpperCase() + p.slice(1));
1132
+ return `load${pascalParts.join('')}`;
1133
+ }
1134
+ // Subpath chunk: derive from subpath name
1135
+ const clean = subpath
1136
+ .replace(/^\.\//, '')
1137
+ .replace(/\.module$/, '-module')
1138
+ .replace(/\.[^.]+$/, ''); // strip file extensions
1139
+ const parts = clean.split(/[-./]/).filter(Boolean);
1140
+ const pascalParts = parts.map(p => p.charAt(0).toUpperCase() + p.slice(1));
1141
+ return `load${pascalParts.join('')}`;
1142
+ }
1143
+ /**
1144
+ * Generates the content of the lazy feature config TypeScript file.
1145
+ */
1146
+ function generateLazyConfigContent(chunks) {
1147
+ const lines = [
1148
+ '/**',
1149
+ ' * AUTO-GENERATED FILE — DO NOT EDIT',
1150
+ ' * Generated by: mj codegen manifest --lazy-config',
1151
+ ' * Regenerate with: npm run mj:manifest:explorer',
1152
+ ' *',
1153
+ ' * Maps @RegisterClass entries to their lazy-loading chunks using compound keys.',
1154
+ ' * Compound key format: "BaseClassName::Key" (e.g., "BaseResourceComponent::HomeDashboard").',
1155
+ ' *',
1156
+ ' * When ClassFactory.GetRegistrationAsync() or CreateInstanceAsync() cannot find a',
1157
+ ' * registration synchronously, the registered lazy loader builds the compound key and',
1158
+ ' * looks it up here to dynamically import the chunk containing the class.',
1159
+ ' */',
1160
+ '',
1161
+ '/** Helper to create a loader that all entries in a feature share. */',
1162
+ 'function featureLoader(importFn: () => Promise<unknown>): () => Promise<void> {',
1163
+ ' return () => importFn().then(() => {});',
1164
+ '}',
1165
+ ''
1166
+ ];
1167
+ // Emit one loader variable per chunk
1168
+ for (const chunk of chunks) {
1169
+ lines.push(`// --- ${chunk.packageName} → ${chunk.subpath} (${chunk.entries.length} entries) ---`);
1170
+ lines.push(`const ${chunk.loaderVarName} = featureLoader(() => import('${chunk.importPath}'));`);
1171
+ lines.push('');
1172
+ }
1173
+ // Emit the config record with compound keys
1174
+ lines.push('/**');
1175
+ lines.push(' * Complete mapping of compound keys (BaseClassName::Key) to lazy-loading functions.');
1176
+ lines.push(' * Covers all @RegisterClass decorated classes in lazy-loaded packages.');
1177
+ lines.push(' */');
1178
+ lines.push('export const LAZY_FEATURE_CONFIG: Record<string, () => Promise<void>> = {');
1179
+ for (const chunk of chunks) {
1180
+ lines.push(` // ${chunk.packageName} → ${chunk.subpath}`);
1181
+ for (const entry of chunk.entries) {
1182
+ const compoundKey = `${entry.baseClassName}::${entry.key}`;
1183
+ lines.push(` '${compoundKey}': ${chunk.loaderVarName},`);
1184
+ }
1185
+ lines.push('');
1186
+ }
1187
+ lines.push('};');
1188
+ lines.push('');
1189
+ // Count export
1190
+ const totalEntries = chunks.reduce((sum, c) => sum + c.entries.length, 0);
1191
+ lines.push(`export const LAZY_FEATURE_CONFIG_COUNT = ${totalEntries};`);
1192
+ lines.push('');
1193
+ return lines.join('\n');
1194
+ }
1195
+ /**
1196
+ * Writes content to a file only if it has changed, preserving mtime for build caches.
1197
+ * Returns true if the file was written.
1198
+ */
1199
+ function writeIfChanged(filePath, content) {
1200
+ const absolutePath = path.resolve(filePath);
1201
+ fs.mkdirSync(path.dirname(absolutePath), { recursive: true });
1202
+ let existing = '';
1203
+ try {
1204
+ existing = fs.readFileSync(absolutePath, 'utf-8');
1205
+ }
1206
+ catch {
1207
+ // File doesn't exist yet
1208
+ }
1209
+ if (existing === content)
1210
+ return false;
1211
+ fs.writeFileSync(absolutePath, content, 'utf-8');
1212
+ return true;
1213
+ }
1214
+ // ============================================================================
717
1215
  // Main Entry Point
718
1216
  // ============================================================================
719
1217
  /**
@@ -740,7 +1238,7 @@ function sortObjectKeys(obj) {
740
1238
  * ```
741
1239
  */
742
1240
  export async function generateClassRegistrationsManifest(options) {
743
- const { outputPath, appDir = process.cwd(), verbose = true, filterBaseClasses, excludePatterns = [], excludePackages = [], syncDependencies = true, scanDist = false } = options;
1241
+ const { outputPath, appDir = process.cwd(), verbose = true, filterBaseClasses, excludePatterns = [], excludePackages = [], syncDependencies = true, scanDist = false, lazyConfigPath } = options;
744
1242
  const errors = [];
745
1243
  const allClasses = [];
746
1244
  // verbose log: only emitted with verbose=true (e.g. not during prestart)
@@ -753,7 +1251,7 @@ export async function generateClassRegistrationsManifest(options) {
753
1251
  const appPkg = readPackageJson(absoluteAppDir);
754
1252
  if (!appPkg) {
755
1253
  errors.push(`No package.json found in ${absoluteAppDir}`);
756
- return { success: false, outputPath, ManifestChanged: false, classes: [], packages: [], totalDepsWalked: 0, AddedDependencies: {}, errors };
1254
+ return { success: false, outputPath, ManifestChanged: false, classes: [], packages: [], totalDepsWalked: 0, AddedDependencies: {}, errors, LazyConfigChanged: false };
757
1255
  }
758
1256
  log(`Building manifest for: ${appPkg.name}`);
759
1257
  log(`App directory: ${absoluteAppDir}`);
@@ -835,10 +1333,102 @@ export async function generateClassRegistrationsManifest(options) {
835
1333
  errors.push(`Error reconciling dependencies: ${err}`);
836
1334
  }
837
1335
  }
1336
+ // Lazy config generation
1337
+ let lazyConfigChanged = false;
1338
+ if (lazyConfigPath && excludePackages.length > 0) {
1339
+ log('');
1340
+ log('--- Lazy Config Generation ---');
1341
+ try {
1342
+ // Walk full dep tree (no excludes) to find packages excluded from the eager manifest
1343
+ const fullDepTree = walkDependencyTree(absoluteAppDir, log, []);
1344
+ // Detect the package that hosts the lazy config file to prevent self-imports
1345
+ const hostPackageName = resolveHostPackage(lazyConfigPath, fullDepTree);
1346
+ if (hostPackageName) {
1347
+ log(`Lazy config host package: ${hostPackageName} (will be excluded from scan)`);
1348
+ }
1349
+ const { chunks, errors: lazyErrors } = buildLazyChunks(excludePackages, fullDepTree, excludePatterns, scanDist, log, hostPackageName);
1350
+ errors.push(...lazyErrors);
1351
+ if (chunks.length > 0) {
1352
+ const totalEntries = chunks.reduce((sum, c) => sum + c.entries.length, 0);
1353
+ log(`Lazy config: ${totalEntries} entries across ${chunks.length} chunks`);
1354
+ const lazyContent = generateLazyConfigContent(chunks);
1355
+ lazyConfigChanged = writeIfChanged(lazyConfigPath, lazyContent);
1356
+ if (lazyConfigChanged) {
1357
+ log(`Wrote lazy config to: ${path.resolve(lazyConfigPath)}`);
1358
+ }
1359
+ else {
1360
+ log(`Lazy config unchanged, skipped write`);
1361
+ }
1362
+ }
1363
+ else {
1364
+ log('Lazy config: no lazy-loadable classes found');
1365
+ }
1366
+ // --- Coverage Audit ---
1367
+ // Scan the full dep tree (no excludes) for ALL @RegisterClass classes,
1368
+ // then check that every class is covered by either the lite manifest or a lazy chunk.
1369
+ log('');
1370
+ log('--- Coverage Audit ---');
1371
+ const fullClasses = await scanPackagesForDecorators(fullDepTree, excludePatterns, scanDist, errors);
1372
+ const fullClassesWithKeys = fullClasses.filter(c => c.key);
1373
+ // Build sets of covered class names
1374
+ const eagerClassNames = new Set(verifiedClasses.map(c => c.className));
1375
+ const lazyClassNames = new Set();
1376
+ for (const chunk of chunks) {
1377
+ // Re-scan the chunk's packages to get class names (entries have keys, not classNames)
1378
+ // Use the fullClasses list filtered to matching package + key
1379
+ for (const entry of chunk.entries) {
1380
+ const match = fullClassesWithKeys.find(c => c.key === entry.key && c.baseClassName === entry.baseClassName && c.packageName === chunk.packageName);
1381
+ if (match) {
1382
+ lazyClassNames.add(match.className);
1383
+ }
1384
+ }
1385
+ }
1386
+ // Find gaps: classes with keys that are in neither set
1387
+ const gaps = [];
1388
+ for (const cls of fullClassesWithKeys) {
1389
+ if (!eagerClassNames.has(cls.className) && !lazyClassNames.has(cls.className)) {
1390
+ // Check if this class is from a package that we're supposed to handle
1391
+ // (i.e., it's in the exclude list, so it should be in lazy config)
1392
+ const isExcludedPackage = excludePackages.some(ep => cls.packageName.startsWith(ep));
1393
+ if (isExcludedPackage) {
1394
+ gaps.push(cls);
1395
+ }
1396
+ }
1397
+ }
1398
+ if (gaps.length > 0) {
1399
+ log('');
1400
+ log(`⚠ Coverage gap: ${gaps.length} @RegisterClass class(es) will be tree-shaken:`);
1401
+ // Group by package for readable output
1402
+ const byPackage = new Map();
1403
+ for (const gap of gaps) {
1404
+ const existing = byPackage.get(gap.packageName) || [];
1405
+ existing.push(gap);
1406
+ byPackage.set(gap.packageName, existing);
1407
+ }
1408
+ for (const [pkg, classes] of byPackage.entries()) {
1409
+ log(` ${pkg}:`);
1410
+ for (const cls of classes) {
1411
+ log(` - ${cls.className} (${cls.baseClassName || '?'}, '${cls.key}')`);
1412
+ log(` Not in any subpath export. Add to a module or the eager manifest.`);
1413
+ }
1414
+ }
1415
+ if (options.strict) {
1416
+ errors.push(`Coverage audit failed: ${gaps.length} @RegisterClass class(es) are not covered by the eager manifest or any lazy chunk. Run with --verbose to see details.`);
1417
+ }
1418
+ }
1419
+ else {
1420
+ log(`Coverage audit passed: all ${fullClassesWithKeys.length} keyed @RegisterClass classes are covered`);
1421
+ }
1422
+ }
1423
+ catch (err) {
1424
+ errors.push(`Error generating lazy config: ${err}`);
1425
+ }
1426
+ }
838
1427
  return {
839
1428
  success: errors.length === 0,
840
1429
  outputPath: absoluteOutputPath,
841
1430
  ManifestChanged: manifestChanged,
1431
+ LazyConfigChanged: lazyConfigChanged,
842
1432
  classes: verifiedClasses,
843
1433
  packages: uniquePackages,
844
1434
  totalDepsWalked: depTree.size,
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateClassRegistrationsManifest.js","sourceRoot":"","sources":["../../src/Manifest/GenerateClassRegistrationsManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateClassRegistrationsManifest.js","sourceRoot":"","sources":["../../src/Manifest/GenerateClassRegistrationsManifest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/codegen-lib",
3
3
  "type": "module",
4
- "version": "5.21.0",
4
+ "version": "5.22.0",
5
5
  "description": "Library used by the CodeGen executable to generate code for the MemberJunction platform. Contains a reusable object model that can be called by any other server-side application/library.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -22,27 +22,27 @@
22
22
  "vitest": "^3.1.1"
23
23
  },
24
24
  "dependencies": {
25
- "@memberjunction/actions": "5.21.0",
26
- "@memberjunction/actions-base": "5.21.0",
27
- "@memberjunction/ai": "5.21.0",
28
- "@memberjunction/ai-core-plus": "5.21.0",
29
- "@memberjunction/ai-prompts": "5.21.0",
30
- "@memberjunction/ai-provider-bundle": "5.21.0",
31
- "@memberjunction/aiengine": "5.21.0",
32
- "@memberjunction/config": "5.21.0",
33
- "@memberjunction/core": "5.21.0",
34
- "@memberjunction/core-entities": "5.21.0",
35
- "@memberjunction/core-entities-server": "5.21.0",
36
- "@memberjunction/sql-parser": "5.21.0",
37
- "@memberjunction/global": "5.21.0",
38
- "@memberjunction/server-bootstrap-lite": "5.21.0",
39
- "@memberjunction/sql-dialect": "5.21.0",
40
- "@memberjunction/sqlserver-dataprovider": "5.21.0",
25
+ "@memberjunction/actions": "5.22.0",
26
+ "@memberjunction/actions-base": "5.22.0",
27
+ "@memberjunction/ai": "5.22.0",
28
+ "@memberjunction/ai-core-plus": "5.22.0",
29
+ "@memberjunction/ai-prompts": "5.22.0",
30
+ "@memberjunction/ai-provider-bundle": "5.22.0",
31
+ "@memberjunction/aiengine": "5.22.0",
32
+ "@memberjunction/config": "5.22.0",
33
+ "@memberjunction/core": "5.22.0",
34
+ "@memberjunction/core-entities": "5.22.0",
35
+ "@memberjunction/core-entities-server": "5.22.0",
36
+ "@memberjunction/sql-parser": "5.22.0",
37
+ "@memberjunction/global": "5.22.0",
38
+ "@memberjunction/server-bootstrap-lite": "5.22.0",
39
+ "@memberjunction/sql-dialect": "5.22.0",
40
+ "@memberjunction/sqlserver-dataprovider": "5.22.0",
41
41
  "cosmiconfig": "9.0.0",
42
42
  "fs-extra": "^11.3.3",
43
43
  "glob": "^13.0.1",
44
44
  "mssql": "^12.2.0",
45
- "@memberjunction/postgresql-dataprovider": "5.21.0",
45
+ "@memberjunction/postgresql-dataprovider": "5.22.0",
46
46
  "pg": "^8.13.3",
47
47
  "ora-classic": "^5.4.2",
48
48
  "tree-kill": "^1.2.2",