packtory 0.0.100 → 0.0.102

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.
Files changed (35) hide show
  1. package/dead-code-eliminator/computed-property-key-purity.js +68 -0
  2. package/dead-code-eliminator/computed-property-key-purity.js.map +1 -0
  3. package/dead-code-eliminator/expression-facts.js +176 -0
  4. package/dead-code-eliminator/expression-facts.js.map +1 -0
  5. package/dead-code-eliminator/imported-expression-origin.js +9 -30
  6. package/dead-code-eliminator/imported-expression-origin.js.map +1 -1
  7. package/dead-code-eliminator/invariants/export-resolution.js +160 -0
  8. package/dead-code-eliminator/invariants/export-resolution.js.map +1 -0
  9. package/dead-code-eliminator/invariants/output-invariants.js +366 -0
  10. package/dead-code-eliminator/invariants/output-invariants.js.map +1 -0
  11. package/dead-code-eliminator/invariants/target-candidates.js +56 -0
  12. package/dead-code-eliminator/invariants/target-candidates.js.map +1 -0
  13. package/dead-code-eliminator/liveness/external-purity-summary.js +13 -0
  14. package/dead-code-eliminator/liveness/external-purity-summary.js.map +1 -1
  15. package/dead-code-eliminator/pure-expression.js +161 -164
  16. package/dead-code-eliminator/pure-expression.js.map +1 -1
  17. package/package.json +3 -4
  18. package/packages/package-processor.composition.d.ts.map +1 -1
  19. package/packages/package-processor.composition.js +44 -0
  20. package/packages/package-processor.composition.js.map +1 -1
  21. package/packtory/package-processor-publish-dependencies.d.ts +2 -0
  22. package/packtory/package-processor-publish-dependencies.d.ts.map +1 -1
  23. package/packtory/package-processor-publish.d.ts.map +1 -1
  24. package/packtory/package-processor-publish.js +21 -2
  25. package/packtory/package-processor-publish.js.map +1 -1
  26. package/packtory/package-processor.d.ts +0 -1
  27. package/packtory/package-processor.d.ts.map +1 -1
  28. package/packtory/package-processor.js.map +1 -1
  29. package/packtory/published-artifact-smoke-gate.d.ts +14 -0
  30. package/packtory/published-artifact-smoke-gate.d.ts.map +1 -0
  31. package/packtory/published-artifact-smoke-gate.js +309 -0
  32. package/packtory/published-artifact-smoke-gate.js.map +1 -0
  33. package/sbom.cdx.json +15 -15
  34. package/dead-code-eliminator/liveness/external-purity.js +0 -40
  35. package/dead-code-eliminator/liveness/external-purity.js.map +0 -1
@@ -0,0 +1,366 @@
1
+ import path from 'node:path';
2
+ import { ModuleKind, ModuleResolutionKind, Node as TsMorphNode, Project, ScriptTarget } from 'ts-morph';
3
+ import { getModuleReferenceLiterals } from "../../dependency-scanner/source-file-references.js";
4
+ import { isCodeTargetPath, isDeclarationCodeTargetPath } from "../liveness/runtime-code.js";
5
+ import { hasDeadCodeEliminationExportedName } from "./export-resolution.js";
6
+ import { candidatesFor, declarationCandidates } from "./target-candidates.js";
7
+ const localDeclarationMethods = [
8
+ 'getClass',
9
+ 'getEnum',
10
+ 'getFunction',
11
+ 'getInterface',
12
+ 'getModule',
13
+ 'getTypeAlias',
14
+ 'getVariableDeclaration'
15
+ ];
16
+ function createInvariantProject() {
17
+ return new Project({
18
+ compilerOptions: {
19
+ allowJs: true,
20
+ module: ModuleKind.Node16,
21
+ target: ScriptTarget.ES2022,
22
+ moduleResolution: ModuleResolutionKind.Node16
23
+ }
24
+ });
25
+ }
26
+ function normalizeTargetPath(targetFilePath) {
27
+ return path.posix.normalize(targetFilePath);
28
+ }
29
+ function isRelativeOrAbsoluteSpecifier(specifier) {
30
+ return specifier.startsWith('.') || path.posix.isAbsolute(specifier);
31
+ }
32
+ function isPackageLikeSpecifier(specifier) {
33
+ return !isRelativeOrAbsoluteSpecifier(specifier);
34
+ }
35
+ function resolveTargetPath(importerTargetPath, specifier) {
36
+ if (path.posix.isAbsolute(specifier)) {
37
+ return normalizeTargetPath(specifier.slice(1));
38
+ }
39
+ return normalizeTargetPath(path.posix.join(path.posix.dirname(importerTargetPath), specifier));
40
+ }
41
+ function isTargetAllowedInMode(mode, targetPath) {
42
+ return mode === 'declaration' ? isDeclarationCodeTargetPath(targetPath) : !isDeclarationCodeTargetPath(targetPath);
43
+ }
44
+ function resolveLocalTarget(context, specifier) {
45
+ const targetPath = resolveTargetPath(context.importerTargetPath, specifier);
46
+ return candidatesFor(context.mode, targetPath)
47
+ .flatMap(function (candidate) {
48
+ const resource = context.index.resourcesByTargetPath.get(candidate);
49
+ return resource !== undefined && isTargetAllowedInMode(context.mode, candidate)
50
+ ? [{ targetPath: candidate, resource }]
51
+ : [];
52
+ })[0];
53
+ }
54
+ function runtimeDeclarationOnlyCandidates(context, specifier) {
55
+ const targetPath = resolveTargetPath(context.importerTargetPath, specifier);
56
+ return declarationCandidates(targetPath).filter(function (candidate) {
57
+ return context.index.resourcesByTargetPath.has(candidate) && isDeclarationCodeTargetPath(candidate);
58
+ });
59
+ }
60
+ function isNamedExportActive(mode, exportDeclaration) {
61
+ return mode === 'declaration' || !exportDeclaration.isTypeOnly();
62
+ }
63
+ function genericMissingTargetIssue(context, specifier) {
64
+ return [
65
+ `${context.index.bundle.name}: ${context.importerTargetPath} imports ${specifier} in ${context.mode} mode,`,
66
+ 'but no emitted target remains'
67
+ ]
68
+ .join(' ');
69
+ }
70
+ function runtimeMissingTargetIssue(context, specifier) {
71
+ const declarationOnly = runtimeDeclarationOnlyCandidates(context, specifier);
72
+ return declarationOnly.length === 0
73
+ ? genericMissingTargetIssue(context, specifier)
74
+ : [
75
+ `${context.index.bundle.name}: ${context.importerTargetPath} imports ${specifier} in runtime mode,`,
76
+ `but only declaration targets remain: ${declarationOnly.join(', ')}`
77
+ ]
78
+ .join(' ');
79
+ }
80
+ const missingTargetIssueByMode = {
81
+ declaration: genericMissingTargetIssue,
82
+ runtime: runtimeMissingTargetIssue
83
+ };
84
+ function missingTargetIssue(context, specifier) {
85
+ return missingTargetIssueByMode[context.mode](context, specifier);
86
+ }
87
+ function checkTargetExists(context, specifier) {
88
+ const target = resolveLocalTarget(context, specifier);
89
+ if (target === undefined) {
90
+ context.issues.add(missingTargetIssue(context, specifier));
91
+ }
92
+ return target;
93
+ }
94
+ function checkImportedExport(context, specifier, exportName, target) {
95
+ const { sourceFile } = target.resource;
96
+ if (sourceFile === undefined) {
97
+ return;
98
+ }
99
+ if (!hasDeadCodeEliminationExportedName({
100
+ maximumDepth: 2,
101
+ mode: context.mode,
102
+ targetPath: target.targetPath,
103
+ exportName,
104
+ sourceFile,
105
+ resolver: {
106
+ resolve(importerTargetPath, mode, targetSpecifier) {
107
+ const moduleContext = { ...context, mode, importerTargetPath };
108
+ const resolvedTarget = resolveLocalTarget(moduleContext, targetSpecifier);
109
+ return resolvedTarget === undefined
110
+ ? undefined
111
+ : {
112
+ targetPath: resolvedTarget.targetPath,
113
+ sourceFile: resolvedTarget.resource.sourceFile,
114
+ targetOnly: !isCodeTargetPath(resolvedTarget.targetPath)
115
+ };
116
+ }
117
+ }
118
+ })) {
119
+ const location = `${context.index.bundle.name}: ${context.importerTargetPath}`;
120
+ const source = `imports ${exportName} from ${specifier}`;
121
+ const problem = `but ${target.targetPath} does not export it in ${context.mode} mode`;
122
+ context.issues.add(`${location} ${source}, ${problem}`);
123
+ }
124
+ }
125
+ function activeNamedImports(mode, declaration) {
126
+ return mode === 'declaration'
127
+ ? declaration.getNamedImports()
128
+ : declaration.getNamedImports().filter(function (namedImport) {
129
+ return !namedImport.isTypeOnly();
130
+ });
131
+ }
132
+ function skipsImportTarget(context, declaration, specifier) {
133
+ return isPackageLikeSpecifier(specifier) || context.mode === 'runtime' && declaration.isTypeOnly();
134
+ }
135
+ function checkDefaultImport(context, specifier, target, declaration) {
136
+ if (declaration.getDefaultImport() !== undefined) {
137
+ checkImportedExport(context, specifier, 'default', target);
138
+ }
139
+ }
140
+ function checkNamedImports(context, specifier, target, declaration) {
141
+ for (const namedImport of activeNamedImports(context.mode, declaration)) {
142
+ checkImportedExport(context, specifier, namedImport.getName(), target);
143
+ }
144
+ }
145
+ function checkImportDeclaration(context, declaration) {
146
+ const specifier = declaration.getModuleSpecifierValue();
147
+ if (skipsImportTarget(context, declaration, specifier)) {
148
+ return;
149
+ }
150
+ const target = checkTargetExists(context, specifier);
151
+ if (target !== undefined && declaration.getNamespaceImport() === undefined) {
152
+ checkDefaultImport(context, specifier, target, declaration);
153
+ checkNamedImports(context, specifier, target, declaration);
154
+ }
155
+ }
156
+ function exportTarget(context, declaration) {
157
+ const specifier = declaration.getModuleSpecifierValue();
158
+ if (specifier === undefined ||
159
+ !isNamedExportActive(context.mode, declaration) ||
160
+ isPackageLikeSpecifier(specifier)) {
161
+ return undefined;
162
+ }
163
+ const target = checkTargetExists(context, specifier);
164
+ return target === undefined ? undefined : { specifier, target };
165
+ }
166
+ function checkReExportNames(context, declaration, specifier, target) {
167
+ for (const namedExport of declaration.getNamedExports()) {
168
+ checkImportedExport(context, specifier, namedExport.getName(), target);
169
+ }
170
+ }
171
+ function hasLocalImportBinding(sourceFile, name) {
172
+ const names = sourceFile.getImportDeclarations().flatMap(function (declaration) {
173
+ return [
174
+ declaration.getDefaultImport()?.getText(),
175
+ declaration.getNamespaceImport()?.getText(),
176
+ ...declaration.getNamedImports().map(function (namedImport) {
177
+ return namedImport.getAliasNode()?.getText() ?? namedImport.getName();
178
+ })
179
+ ];
180
+ });
181
+ return names.includes(name);
182
+ }
183
+ function hasLocalBinding(sourceFile, name) {
184
+ return localDeclarationMethods.some(function (method) {
185
+ return sourceFile[method](name) !== undefined;
186
+ }) || hasLocalImportBinding(sourceFile, name);
187
+ }
188
+ function checkLocalExportNames(context, declaration) {
189
+ if (declaration.getModuleSpecifierValue() !== undefined || !isNamedExportActive(context.mode, declaration)) {
190
+ return;
191
+ }
192
+ for (const namedExport of declaration.getNamedExports()) {
193
+ const localName = namedExport.getName();
194
+ if (!hasLocalBinding(declaration.getSourceFile(), localName)) {
195
+ context.issues.add([
196
+ `${context.index.bundle.name}: ${context.importerTargetPath}`,
197
+ `exports local ${localName}, but no local binding remains`
198
+ ]
199
+ .join(' '));
200
+ }
201
+ }
202
+ }
203
+ function checkExportDeclaration(context, declaration) {
204
+ checkLocalExportNames(context, declaration);
205
+ const resolved = exportTarget(context, declaration);
206
+ if (resolved !== undefined) {
207
+ checkReExportNames(context, declaration, resolved.specifier, resolved.target);
208
+ }
209
+ }
210
+ function checkModuleReferenceLiteral(context, literal) {
211
+ const specifier = literal.getLiteralValue();
212
+ if (!isPackageLikeSpecifier(specifier)) {
213
+ checkTargetExists(context, specifier);
214
+ }
215
+ }
216
+ function isStaticModuleSpecifier(literal) {
217
+ return literal.getFirstAncestor(function (node) {
218
+ return TsMorphNode.isImportDeclaration(node) || TsMorphNode.isExportDeclaration(node);
219
+ }) !== undefined;
220
+ }
221
+ function moduleCheck(issues, index, targetPath) {
222
+ return {
223
+ issues,
224
+ index,
225
+ mode: isDeclarationCodeTargetPath(targetPath) ? 'declaration' : 'runtime',
226
+ importerTargetPath: targetPath
227
+ };
228
+ }
229
+ function checkStaticModuleGraph(issues, index, targetPath, sourceFile) {
230
+ const context = moduleCheck(issues, index, targetPath);
231
+ for (const declaration of sourceFile.getImportDeclarations()) {
232
+ checkImportDeclaration(context, declaration);
233
+ }
234
+ for (const declaration of sourceFile.getExportDeclarations()) {
235
+ checkExportDeclaration(context, declaration);
236
+ }
237
+ const dynamicLiterals = getModuleReferenceLiterals(sourceFile).filter(function (moduleLiteral) {
238
+ return !isStaticModuleSpecifier(moduleLiteral);
239
+ });
240
+ for (const literal of dynamicLiterals) {
241
+ checkModuleReferenceLiteral(context, literal);
242
+ }
243
+ }
244
+ function addMissingTargetPathIssue(input) {
245
+ if (!input.index.targetPaths.has(input.targetFilePath)) {
246
+ const source = `${input.index.bundle.name}: ${input.label} ${input.dependencyName}`;
247
+ input.issues.add(`${source} references pruned target file ${input.targetFilePath}`);
248
+ }
249
+ }
250
+ function checkDependencyMap(issues, index, label, dependencies) {
251
+ for (const dependency of dependencies.values()) {
252
+ for (const targetFilePath of dependency.referencedFrom) {
253
+ addMissingTargetPathIssue({ issues, index, label, dependencyName: dependency.name, targetFilePath });
254
+ }
255
+ const references = dependency.references ?? [];
256
+ for (const reference of references) {
257
+ addMissingTargetPathIssue({
258
+ issues,
259
+ index,
260
+ label,
261
+ dependencyName: dependency.name,
262
+ targetFilePath: reference.targetFilePath
263
+ });
264
+ }
265
+ }
266
+ }
267
+ function directDependencyIssue(index, resource, targetFilePath) {
268
+ return [
269
+ `${index.bundle.name}: ${resource.fileDescription.targetFilePath}`,
270
+ `has direct dependency on pruned target file ${targetFilePath}`
271
+ ]
272
+ .join(' ');
273
+ }
274
+ function checkDirectDependencies(issues, index, resource) {
275
+ if (isCodeTargetPath(resource.fileDescription.targetFilePath)) {
276
+ for (const targetFilePath of resource.directDependencies) {
277
+ if (!targetFilePath.endsWith('.map') && !index.targetPaths.has(targetFilePath)) {
278
+ issues.add(directDependencyIssue(index, resource, targetFilePath));
279
+ }
280
+ }
281
+ }
282
+ }
283
+ function checkSubstitutedSourcePathPackages(issues, index) {
284
+ for (const packageName of index.bundle.substitutedInputFilePathsByPackageName.keys()) {
285
+ if (!index.bundle.linkedBundleDependencies.has(packageName)) {
286
+ issues.add([
287
+ `${index.bundle.name}: substituted source paths keep package ${packageName}`,
288
+ 'without linked dependency metadata'
289
+ ]
290
+ .join(' '));
291
+ }
292
+ }
293
+ }
294
+ function checkMetadata(issues, index) {
295
+ checkDependencyMap(issues, index, 'external dependency', index.bundle.externalDependencies);
296
+ checkDependencyMap(issues, index, 'linked bundle dependency', index.bundle.linkedBundleDependencies);
297
+ checkSubstitutedSourcePathPackages(issues, index);
298
+ for (const resource of index.bundle.contents) {
299
+ checkDirectDependencies(issues, index, resource);
300
+ }
301
+ }
302
+ function sourceFileForResource(build, resource, targetPath) {
303
+ return isCodeTargetPath(targetPath)
304
+ ? build.project.createSourceFile(`/${build.bundle.name}/${targetPath}`, resource.fileDescription.content, { overwrite: true })
305
+ : undefined;
306
+ }
307
+ function indexResource(build, resource) {
308
+ const targetPath = normalizeTargetPath(resource.fileDescription.targetFilePath);
309
+ if (build.hasTargetPath(targetPath)) {
310
+ build.issues.add(`${build.bundle.name}: duplicate emitted target path ${targetPath}`);
311
+ }
312
+ build.addTargetPath(targetPath);
313
+ build.setResource(targetPath, {
314
+ resource,
315
+ sourceFile: sourceFileForResource(build, resource, targetPath)
316
+ });
317
+ }
318
+ function createBundleIndex(issues, bundle) {
319
+ const resourcesByTargetPath = new Map();
320
+ const targetPaths = new Set();
321
+ const build = {
322
+ issues,
323
+ bundle,
324
+ project: createInvariantProject(),
325
+ addTargetPath(targetFilePath) {
326
+ targetPaths.add(targetFilePath);
327
+ },
328
+ hasTargetPath(targetPath) {
329
+ return resourcesByTargetPath.has(targetPath);
330
+ },
331
+ setResource(targetPath, resource) {
332
+ resourcesByTargetPath.set(targetPath, resource);
333
+ }
334
+ };
335
+ for (const resource of bundle.contents) {
336
+ indexResource(build, resource);
337
+ }
338
+ return {
339
+ bundle,
340
+ resourcesByTargetPath,
341
+ targetPaths
342
+ };
343
+ }
344
+ function checkBundle(issues, bundle) {
345
+ const index = createBundleIndex(issues, bundle);
346
+ for (const [targetPath, resource] of index.resourcesByTargetPath) {
347
+ const { sourceFile } = resource;
348
+ if (sourceFile !== undefined) {
349
+ checkStaticModuleGraph(issues, index, targetPath, sourceFile);
350
+ }
351
+ }
352
+ checkMetadata(issues, index);
353
+ }
354
+ export function collectDeadCodeEliminationOutputIssues(bundles) {
355
+ const issues = [];
356
+ const recorder = {
357
+ add(issue) {
358
+ issues.push(issue);
359
+ }
360
+ };
361
+ for (const bundle of bundles) {
362
+ checkBundle(recorder, bundle);
363
+ }
364
+ return issues;
365
+ }
366
+ //# sourceMappingURL=output-invariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-invariants.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/invariants/output-invariants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { declarationCompanionCandidates } from "../../common/declaration-companion-paths.js";
2
+ import { isDeclarationCodeTargetPath } from "../liveness/runtime-code.js";
3
+ const runtimeTargetExtensions = [
4
+ '.js',
5
+ '.jsx',
6
+ '.mjs',
7
+ '.cjs',
8
+ '.ts',
9
+ '.tsx',
10
+ '.mts',
11
+ '.cts',
12
+ '.json',
13
+ '.wasm'
14
+ ];
15
+ const declarationTargetExtensions = ['.d.ts', '.d.mts', '.d.cts'];
16
+ const sourceDeclarationTargetRules = [
17
+ { declarationExtensions: ['.d.mts', '.d.ts'], sourceExtension: '.mts' },
18
+ { declarationExtensions: ['.d.cts', '.d.ts'], sourceExtension: '.cts' },
19
+ { declarationExtensions: ['.d.ts'], sourceExtension: '.tsx' },
20
+ { declarationExtensions: ['.d.ts'], sourceExtension: '.ts' }
21
+ ];
22
+ function appendedCandidates(targetPath, extensions) {
23
+ return extensions.map(function (extension) {
24
+ return `${targetPath}${extension}`;
25
+ });
26
+ }
27
+ function runtimeCandidates(targetPath) {
28
+ return [targetPath, ...appendedCandidates(targetPath, runtimeTargetExtensions)];
29
+ }
30
+ function sourceDeclarationCandidates(targetPath) {
31
+ if (isDeclarationCodeTargetPath(targetPath)) {
32
+ return [];
33
+ }
34
+ const rule = sourceDeclarationTargetRules.find(function (candidate) {
35
+ return targetPath.endsWith(candidate.sourceExtension);
36
+ });
37
+ if (rule === undefined) {
38
+ return [];
39
+ }
40
+ const targetPathWithoutExtension = targetPath.slice(0, -rule.sourceExtension.length);
41
+ return rule.declarationExtensions.map(function (declarationExtension) {
42
+ return `${targetPathWithoutExtension}${declarationExtension}`;
43
+ });
44
+ }
45
+ export function declarationCandidates(targetPath) {
46
+ return [
47
+ targetPath,
48
+ ...declarationCompanionCandidates(targetPath),
49
+ ...sourceDeclarationCandidates(targetPath),
50
+ ...appendedCandidates(targetPath, declarationTargetExtensions)
51
+ ];
52
+ }
53
+ export function candidatesFor(mode, targetPath) {
54
+ return mode === 'runtime' ? runtimeCandidates(targetPath) : declarationCandidates(targetPath);
55
+ }
56
+ //# sourceMappingURL=target-candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-candidates.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/invariants/target-candidates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAQ1E,MAAM,uBAAuB,GAAG;IAC5B,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACV,CAAC;AACF,MAAM,2BAA2B,GAAG,CAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC;AACpE,MAAM,4BAA4B,GAA2C;IACzE,EAAE,qBAAqB,EAAE,CAAE,QAAQ,EAAE,OAAO,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE;IACzE,EAAE,qBAAqB,EAAE,CAAE,QAAQ,EAAE,OAAO,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE;IACzE,EAAE,qBAAqB,EAAE,CAAE,OAAO,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE;IAC/D,EAAE,qBAAqB,EAAE,CAAE,OAAO,CAAE,EAAE,eAAe,EAAE,KAAK,EAAE;CACjE,CAAC;AAEF,SAAS,kBAAkB,CAAC,UAAkB,EAAE,UAA6B;IACzE,OAAO,UAAU,CAAC,GAAG,CAAC,UAAU,SAAS;QACrC,OAAO,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IACzC,OAAO,CAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAE,CAAC;AACtF,CAAC;AAED,SAAS,2BAA2B,CAAC,UAAkB;IACnD,IAAI,2BAA2B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,4BAA4B,CAAC,IAAI,CAAC,UAAU,SAAS;QAC9D,OAAO,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,0BAA0B,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,oBAAoB;QAChE,OAAO,GAAG,0BAA0B,GAAG,oBAAoB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACpD,OAAO;QACH,UAAU;QACV,GAAG,8BAA8B,CAAC,UAAU,CAAC;QAC7C,GAAG,2BAA2B,CAAC,UAAU,CAAC;QAC1C,GAAG,kBAAkB,CAAC,UAAU,EAAE,2BAA2B,CAAC;KACjE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,IAAwC,EACxC,UAAkB;IAElB,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAClG,CAAC"}
@@ -312,4 +312,17 @@ export function exportPurityForOrigin(origin, containingSourceFile) {
312
312
  }
313
313
  return buildExternalPuritySummary(sourceFile).exports.get(exportKey(origin)) ?? 'unknown';
314
314
  }
315
+ export function exportHasPureObjectReturnForOrigin(origin, containingSourceFile) {
316
+ const sourceFile = resolvedModuleSourceFile(origin.from, containingSourceFile);
317
+ if (sourceFile === undefined) {
318
+ return false;
319
+ }
320
+ const nestedExportPrefix = `${exportKey(origin)}.`;
321
+ for (const key of buildExternalPuritySummary(sourceFile).exports.keys()) {
322
+ if (key.startsWith(nestedExportPrefix)) {
323
+ return true;
324
+ }
325
+ }
326
+ return false;
327
+ }
315
328
  //# sourceMappingURL=external-purity-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-purity-summary.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/liveness/external-purity-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-purity-summary.js","sourceRoot":"","sources":["../../../../../source/dead-code-eliminator/liveness/external-purity-summary.ts"],"names":[],"mappings":"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"}