ioc-manifest 1.0.0 → 1.0.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/README.md CHANGED
@@ -97,7 +97,17 @@ export const buildUserService = ({
97
97
  });
98
98
  ```
99
99
 
100
- The named deps type pattern is required factories cannot destructure directly from `IocGeneratedCradle`. There's a real reason for this: the cradle is generated _from_ what your factories declare. Asking a factory to declare its inputs by referencing the cradle would be a chicken-and-egg loop. Naming the deps type at the factory site also makes each factory independently testable — see [Testing](#testing) below.
100
+ The named-deps-type pattern is required. Factories cannot destructure directly from `IocGeneratedCradle`, and inline object literals (`({ foo, bar }: { foo: Foo; bar: Bar })`) aren't allowed either codegen will reject both. The rule is: the first parameter must be a named `interface` or `type` alias.
101
+
102
+ Three reasons:
103
+
104
+ 1. **The cradle is generated from your factories' declarations.** A factory declaring its inputs by referencing the cradle would be a chicken-and-egg loop — the cradle doesn't exist yet at the moment codegen reads the factory.
105
+
106
+ 2. **The deps type is the factory's testable contract.** Exporting `type UserServiceDeps = { ... }` means tests can `import type { UserServiceDeps }`, build a literal satisfying it, and call the factory directly with no container at all (see [Testing](#testing) below). Inline literals aren't importable — tests would have to reconstruct the same shape by hand in every file, and that drifts.
107
+
108
+ 3. **The deps type is documentation.** When someone opens the file, the named declaration sits at the top and says exactly what the factory consumes. Inline literals bury the contract inside the function signature, where it competes for attention with parameter names and the return type.
109
+
110
+ The cost is one extra line per factory. That's the deal.
101
111
 
102
112
  ### 2. Configure
103
113
 
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAyD/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CAuKd,CAAC"}
1
+ {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA6D/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CA+Kd,CAAC"}
@@ -9,13 +9,13 @@ import { createRequire } from "node:module";
9
9
  import path from "node:path";
10
10
  import { tryLoadIocConfig, resolveIocConfigPath, resolveProjectRootFromIocConfigPath, } from "../config/loadIocConfig.js";
11
11
  import { discoverFactories } from "./discoverFactories/discoverFactories.js";
12
- import { createIocProgramForDiscovery, getDiscoveryTargetFiles, reportDiscoveryProgramDiagnostics, } from "./iocProgramContext.js";
12
+ import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "./iocProgramContext.js";
13
13
  import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "./manifestOptions.js";
14
14
  import { analyzeDemandSupply } from "./analyzeDemandSupply/index.js";
15
15
  import { buildRegistrationPlan } from "./resolveRegistrationPlan.js";
16
16
  import { buildManifestArtifactSources, writeGeneratedFilesAtomically, } from "./writeManifest.js";
17
17
  import { buildGroupPlan } from "../groups/resolveGroupPlan.js";
18
- import { isAppMode, isLibraryMode, resolveManifestExportPath } from "../config/iocMode.js";
18
+ import { isAppMode, isLibraryMode, resolveManifestExportPath, } from "../config/iocMode.js";
19
19
  import { loadComposedManifestContractNames } from "./loadComposedManifestContracts.js";
20
20
  import { validateGroupBaseTypeAliasKeysAtCodegen } from "./loadComposedManifestGroups.js";
21
21
  import { buildComposedRegistrationOverridesFromConfig } from "./buildComposedRegistrationOverrides.js";
@@ -80,85 +80,90 @@ export const generateManifest = async (overrides) => {
80
80
  await fs.mkdir(generatedDir, { recursive: true });
81
81
  const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
82
82
  const program = createIocProgramForDiscovery(projectRoot, files);
83
- reportDiscoveryProgramDiagnostics(program, projectRoot, files);
84
- const { contractMap, acceptedFactories } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config);
85
- const composedContractNames = config !== undefined && isAppMode(config)
86
- ? await loadComposedManifestContractNames(projectRoot, config.composedManifests)
87
- : undefined;
88
- const plans = buildRegistrationPlan(contractMap, config, {
89
- projectRoot,
90
- scanDirs,
91
- composedContractNames,
92
- });
93
- const groupResult = buildGroupPlan(config?.groups, plans, {
94
- program,
95
- generatedDir,
96
- scanDirs,
97
- });
98
- const demandSupply = analyzeDemandSupply(acceptedFactories, {
99
- program,
100
- projectRoot,
101
- scanDirs,
102
- generatedDir,
103
- groupsManifest: groupResult?.manifest,
104
- });
105
- const writeOptions = {
106
- demandSupply,
107
- registryTypesBuildContext: {
83
+ try {
84
+ const { contractMap, acceptedFactories } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config);
85
+ const composedContractNames = config !== undefined && isAppMode(config)
86
+ ? await loadComposedManifestContractNames(projectRoot, config.composedManifests)
87
+ : undefined;
88
+ const plans = buildRegistrationPlan(contractMap, config, {
89
+ projectRoot,
90
+ scanDirs,
91
+ composedContractNames,
92
+ });
93
+ const groupResult = buildGroupPlan(config?.groups, plans, {
108
94
  program,
109
95
  generatedDir,
110
96
  scanDirs,
111
- },
112
- };
113
- const artifactSources = buildManifestArtifactSources(acceptedFactories, plans, groupResult?.manifest, manifestOutPath, packageName, writeOptions);
114
- const filesToWrite = [
115
- { path: manifestOutPath, contents: artifactSources.mainSource },
116
- { path: artifactSources.typesPath, contents: artifactSources.typesSource },
117
- ];
118
- let composedOutPath;
119
- if (config !== undefined && isAppMode(config)) {
120
- const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
121
- await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
122
- const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
123
- const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
124
- composedOutPath = path.join(generatedDir, "ioc-composed.ts");
125
- const composedSource = buildComposedManifestSource({
97
+ });
98
+ const demandSupply = analyzeDemandSupply(acceptedFactories, {
99
+ program,
100
+ projectRoot,
101
+ scanDirs,
126
102
  generatedDir,
127
- composedPackages,
128
- overrides: composedOverrides,
103
+ groupsManifest: groupResult?.manifest,
129
104
  });
130
- filesToWrite.push({ path: composedOutPath, contents: composedSource });
131
- }
132
- try {
133
- await writeGeneratedFilesAtomically(filesToWrite);
134
- }
135
- catch (error) {
136
- if (composedOutPath !== undefined) {
137
- await removeComposedManifestIfPresent(generatedDir);
105
+ const writeOptions = {
106
+ demandSupply,
107
+ registryTypesBuildContext: {
108
+ program,
109
+ generatedDir,
110
+ scanDirs,
111
+ },
112
+ };
113
+ const artifactSources = buildManifestArtifactSources(acceptedFactories, plans, groupResult?.manifest, manifestOutPath, packageName, writeOptions);
114
+ const filesToWrite = [
115
+ { path: manifestOutPath, contents: artifactSources.mainSource },
116
+ { path: artifactSources.typesPath, contents: artifactSources.typesSource },
117
+ ];
118
+ let composedOutPath;
119
+ if (config !== undefined && isAppMode(config)) {
120
+ const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
121
+ await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
122
+ const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
123
+ const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
124
+ composedOutPath = path.join(generatedDir, "ioc-composed.ts");
125
+ const composedSource = buildComposedManifestSource({
126
+ generatedDir,
127
+ composedPackages,
128
+ overrides: composedOverrides,
129
+ });
130
+ filesToWrite.push({ path: composedOutPath, contents: composedSource });
138
131
  }
139
- throw error;
140
- }
141
- if (config === undefined || isLibraryMode(config)) {
142
- await removeComposedManifestIfPresent(generatedDir);
143
- }
144
- formatGeneratedFileWithPrettier(manifestOutPath, projectRoot);
145
- formatGeneratedFileWithPrettier(artifactSources.typesPath, projectRoot);
146
- if (composedOutPath !== undefined) {
147
- formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
148
- }
149
- const relManifest = path.relative(projectRoot, manifestOutPath);
150
- console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
151
- if (config !== undefined && isLibraryMode(config)) {
152
- console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
153
- }
154
- if (config !== undefined && isAppMode(config)) {
155
- console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
156
- for (const pkg of config.composedManifests) {
157
- console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
132
+ try {
133
+ await writeGeneratedFilesAtomically(filesToWrite);
134
+ }
135
+ catch (error) {
136
+ if (composedOutPath !== undefined) {
137
+ await removeComposedManifestIfPresent(generatedDir);
138
+ }
139
+ throw error;
158
140
  }
141
+ if (config === undefined || isLibraryMode(config)) {
142
+ await removeComposedManifestIfPresent(generatedDir);
143
+ }
144
+ formatGeneratedFileWithPrettier(manifestOutPath, projectRoot);
145
+ formatGeneratedFileWithPrettier(artifactSources.typesPath, projectRoot);
159
146
  if (composedOutPath !== undefined) {
160
- console.log(`Generated ${path.relative(projectRoot, composedOutPath)}`);
147
+ formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
148
+ }
149
+ const relManifest = path.relative(projectRoot, manifestOutPath);
150
+ console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
151
+ if (config !== undefined && isLibraryMode(config)) {
152
+ console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
153
+ }
154
+ if (config !== undefined && isAppMode(config)) {
155
+ console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
156
+ for (const pkg of config.composedManifests) {
157
+ console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
158
+ }
159
+ if (composedOutPath !== undefined) {
160
+ console.log(`Generated ${path.relative(projectRoot, composedOutPath)}`);
161
+ }
161
162
  }
162
163
  }
164
+ catch (error) {
165
+ logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
166
+ throw error;
167
+ }
163
168
  };
164
169
  //# sourceMappingURL=generateManifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,18 @@ export declare const getDiscoveryTargetFiles: (scanDirs: ResolvedScanDir[], incl
7
7
  * discovery targets). Compiler options (paths, module resolution) match your project build.
8
8
  */
9
9
  export declare const createIocProgramForDiscovery: (projectRoot: string, rootNames: string[]) => ts.Program;
10
- export declare const reportDiscoveryProgramDiagnostics: (program: ts.Program, projectRoot: string, rootNames: readonly string[]) => void;
10
+ /**
11
+ * Formatted TypeScript errors for discovery target files only (not warnings).
12
+ * Returns an empty string when there are no relevant errors.
13
+ */
14
+ export declare const formatDiscoveryProgramErrorDiagnostics: (program: ts.Program, projectRoot: string, rootNames: readonly string[]) => string;
15
+ /**
16
+ * True when codegen failed in a step where TypeScript program diagnostics are likely
17
+ * the root cause (as opposed to config, duplicate keys, etc.).
18
+ */
19
+ export declare const isCodegenFailureCausedByTypeScript: (error: unknown) => boolean;
20
+ /**
21
+ * Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
22
+ */
23
+ export declare const logDiscoveryProgramErrorDiagnosticsForFailure: (program: ts.Program, projectRoot: string, rootNames: readonly string[], error: unknown) => void;
11
24
  //# sourceMappingURL=iocProgramContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;AAmBF,eAAO,MAAM,iCAAiC,GAC5C,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,KAC3B,IAgCF,CAAC"}
1
+ {"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,KAC3B,MAgBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAC7C,OAAO,OAAO,KACb,OAYF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,EAC5B,OAAO,OAAO,KACb,IAiBF,CAAC"}
@@ -48,7 +48,24 @@ export const createIocProgramForDiscovery = (projectRoot, rootNames) => {
48
48
  }
49
49
  return ts.createProgram({ rootNames, options: parsed.options });
50
50
  };
51
- const formatDiagnostics = (diagnostics, projectRoot) => {
51
+ const collectDiscoveryProgramErrorDiagnostics = (program, rootNames) => {
52
+ const relevantRootFiles = new Set(rootNames.map((fileName) => normalizePath(fileName)));
53
+ return ts.getPreEmitDiagnostics(program).filter((diagnostic) => {
54
+ if (diagnostic.category !== ts.DiagnosticCategory.Error) {
55
+ return false;
56
+ }
57
+ if (diagnostic.file === undefined) {
58
+ return true;
59
+ }
60
+ return relevantRootFiles.has(normalizePath(diagnostic.file.fileName));
61
+ });
62
+ };
63
+ /**
64
+ * Formatted TypeScript errors for discovery target files only (not warnings).
65
+ * Returns an empty string when there are no relevant errors.
66
+ */
67
+ export const formatDiscoveryProgramErrorDiagnostics = (program, projectRoot, rootNames) => {
68
+ const diagnostics = collectDiscoveryProgramErrorDiagnostics(program, rootNames);
52
69
  if (diagnostics.length === 0) {
53
70
  return "";
54
71
  }
@@ -59,23 +76,31 @@ const formatDiagnostics = (diagnostics, projectRoot) => {
59
76
  };
60
77
  return ts.formatDiagnosticsWithColorAndContext(diagnostics, formatHost);
61
78
  };
62
- export const reportDiscoveryProgramDiagnostics = (program, projectRoot, rootNames) => {
63
- const relevantRootFiles = new Set(rootNames.map((fileName) => normalizePath(fileName)));
64
- const diagnostics = ts.getPreEmitDiagnostics(program).filter((diagnostic) => {
65
- if (diagnostic.file === undefined) {
66
- return true;
67
- }
68
- return relevantRootFiles.has(normalizePath(diagnostic.file.fileName));
69
- });
70
- if (diagnostics.length === 0) {
79
+ /**
80
+ * True when codegen failed in a step where TypeScript program diagnostics are likely
81
+ * the root cause (as opposed to config, duplicate keys, etc.).
82
+ */
83
+ export const isCodegenFailureCausedByTypeScript = (error) => {
84
+ if (!(error instanceof Error)) {
85
+ return false;
86
+ }
87
+ const message = error.message;
88
+ return (message.includes("not in the TypeScript program") ||
89
+ message.includes("cannot type-check") ||
90
+ message.includes("Conflicting types for demanded key") ||
91
+ message.includes("references an unresolvable type in deps"));
92
+ };
93
+ /**
94
+ * Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
95
+ */
96
+ export const logDiscoveryProgramErrorDiagnosticsForFailure = (program, projectRoot, rootNames, error) => {
97
+ if (!isCodegenFailureCausedByTypeScript(error)) {
71
98
  return;
72
99
  }
73
- const errorDiagnostics = diagnostics.filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error);
74
- const warningDiagnostics = diagnostics.filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Warning);
75
- console.warn(`[ioc] Continuing despite TypeScript diagnostics: ${errorDiagnostics.length} error(s), ${warningDiagnostics.length} warning(s).`);
76
- const rendered = formatDiagnostics(diagnostics, projectRoot);
77
- if (rendered.length > 0) {
78
- console.warn(rendered);
100
+ const rendered = formatDiscoveryProgramErrorDiagnostics(program, projectRoot, rootNames);
101
+ if (rendered.length === 0) {
102
+ return;
79
103
  }
104
+ console.error(`[ioc] TypeScript errors in discovery target file(s):\n${rendered}`);
80
105
  };
81
106
  //# sourceMappingURL=iocProgramContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEzG,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,OAAO;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,2BAA2B,CAmBtC,CAAC;AA8CF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C,KAAG,OAAO,CAAC,uBAAuB,CAIlC,CAAC"}
1
+ {"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEzG,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,OAAO;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,2BAA2B,CAmBtC,CAAC;AAuDF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C,KAAG,OAAO,CAAC,uBAAuB,CAIlC,CAAC"}
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import { buildRegistrationPlan } from "../generator/resolveRegistrationPlan.js";
3
3
  import { resolveIocConfigPath, resolveProjectRootFromIocConfigPath, tryLoadIocConfig, } from "../config/loadIocConfig.js";
4
4
  import { discoverFactories } from "../generator/discoverFactories/discoverFactories.js";
5
- import { createIocProgramForDiscovery, getDiscoveryTargetFiles, reportDiscoveryProgramDiagnostics, } from "../generator/iocProgramContext.js";
5
+ import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "../generator/iocProgramContext.js";
6
6
  import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "../generator/manifestOptions.js";
7
7
  export const resolveDiscoveryManifestContext = async (opts) => {
8
8
  const searchStart = path.resolve(opts?.searchStartDir ?? opts?.paths?.projectRoot ?? process.cwd());
@@ -27,15 +27,23 @@ const runDiscoveryFromResolution = async (resolved) => {
27
27
  const { paths: { projectRoot, scanDirs, generatedDir }, includePatterns, excludePatterns, factoryExportPrefix, } = options;
28
28
  const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
29
29
  const program = createIocProgramForDiscovery(projectRoot, files);
30
- reportDiscoveryProgramDiagnostics(program, projectRoot, files);
31
- const { contractMap, acceptedFactories, discoveryFiles } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config ?? undefined, { collectFileRecords: true });
32
- const registrationPlan = buildRegistrationPlan(contractMap, config, { projectRoot, scanDirs });
33
- return {
34
- discoveryFiles,
35
- contractMap,
36
- acceptedFactories,
37
- registrationPlan,
38
- };
30
+ try {
31
+ const { contractMap, acceptedFactories, discoveryFiles } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config ?? undefined, { collectFileRecords: true });
32
+ const registrationPlan = buildRegistrationPlan(contractMap, config, {
33
+ projectRoot,
34
+ scanDirs,
35
+ });
36
+ return {
37
+ discoveryFiles,
38
+ contractMap,
39
+ acceptedFactories,
40
+ registrationPlan,
41
+ };
42
+ }
43
+ catch (error) {
44
+ logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
45
+ throw error;
46
+ }
39
47
  };
40
48
  /**
41
49
  * Re-runs factory discovery from source (and TypeScript) for inspection / CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ioc-manifest",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Build-time factory discovery and codegen: generates a typed Awilix (PROXY) registration manifest from TypeScript sources with ioc.config as the single policy surface.",
5
5
  "license": "MIT",
6
6
  "repository": {