packtory 0.0.71 → 0.0.73
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/checks/rules/type-script-integrity.js +19 -4
- package/checks/rules/type-script-integrity.js.map +1 -1
- package/linker/linked-bundle.d.ts +1 -0
- package/linker/linked-bundle.d.ts.map +1 -1
- package/linker/linked-bundle.js.map +1 -1
- package/linker/linker.js +5 -4
- package/linker/linker.js.map +1 -1
- package/linker/replacement-lookup.js +151 -22
- package/linker/replacement-lookup.js.map +1 -1
- package/linker/substitute-bundles.js +40 -26
- package/linker/substitute-bundles.js.map +1 -1
- package/linker/substituted-resource-graph.js +34 -9
- package/linker/substituted-resource-graph.js.map +1 -1
- package/package-surface/explicit-exports.js +16 -4
- package/package-surface/explicit-exports.js.map +1 -1
- package/package-surface/package-surface-index.js +1 -1
- package/package-surface/package-surface-index.js.map +1 -1
- package/package.json +1 -1
- package/packtory/package-processor-build.js +22 -6
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/package-processor.js.map +1 -1
- package/packtory/stages/package-resolution-stage.js +36 -2
- package/packtory/stages/package-resolution-stage.js.map +1 -1
- package/report/decorators.js +9 -0
- package/report/decorators.js.map +1 -1
- package/resource-resolver/dependency-resolution-walker.js +5 -35
- package/resource-resolver/dependency-resolution-walker.js.map +1 -1
- package/resource-resolver/resource-resolver.d.ts.map +1 -1
- package/resource-resolver/resource-resolver.js +57 -21
- package/resource-resolver/resource-resolver.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -13,6 +13,15 @@ export const typeScriptIntegritySchemas = {
|
|
|
13
13
|
globalSchema,
|
|
14
14
|
perPackageSchema
|
|
15
15
|
};
|
|
16
|
+
function isBinOnlyPackage(bundle) {
|
|
17
|
+
return bundle.surface.mode === 'explicit' &&
|
|
18
|
+
bundle.surface.packageInterface.modules === undefined;
|
|
19
|
+
}
|
|
20
|
+
function hasBinDeclarations(bundle) {
|
|
21
|
+
return bundle.surface.packageInterface.bins?.some(function (entry) {
|
|
22
|
+
return bundle.roots[entry.root]?.declarationFile !== undefined;
|
|
23
|
+
}) === true;
|
|
24
|
+
}
|
|
16
25
|
export function createTypeScriptIntegrityRule(dependencies) {
|
|
17
26
|
const { analyzePackageResolution, summarizeDeclarationIntegrity } = dependencies;
|
|
18
27
|
async function summarizePackageResolution(packageName, publishedPackage) {
|
|
@@ -24,10 +33,16 @@ export function createTypeScriptIntegrityRule(dependencies) {
|
|
|
24
33
|
return [`Package "${packageName}" failed TypeScript integrity: ${String(error)}`];
|
|
25
34
|
}
|
|
26
35
|
}
|
|
27
|
-
async function runForPackage(
|
|
36
|
+
async function runForPackage(bundle, publishedPackage, publishedPackages, declarationMode) {
|
|
37
|
+
const { name } = bundle;
|
|
38
|
+
if (isBinOnlyPackage(bundle)) {
|
|
39
|
+
return hasBinDeclarations(bundle)
|
|
40
|
+
? summarizeDeclarationIntegrity(name, publishedPackage, declarationMode, publishedPackages)
|
|
41
|
+
: [];
|
|
42
|
+
}
|
|
28
43
|
return [
|
|
29
|
-
...await summarizePackageResolution(
|
|
30
|
-
...summarizeDeclarationIntegrity(
|
|
44
|
+
...await summarizePackageResolution(name, publishedPackage),
|
|
45
|
+
...summarizeDeclarationIntegrity(name, publishedPackage, declarationMode, publishedPackages)
|
|
31
46
|
];
|
|
32
47
|
}
|
|
33
48
|
async function run(input) {
|
|
@@ -45,7 +60,7 @@ export function createTypeScriptIntegrityRule(dependencies) {
|
|
|
45
60
|
if (publishedPackage === undefined) {
|
|
46
61
|
throw new Error(`Published package missing for "${bundle.name}"`);
|
|
47
62
|
}
|
|
48
|
-
return await runForPackage(bundle
|
|
63
|
+
return await runForPackage(bundle, publishedPackage, publishedPackages, declarationMode);
|
|
49
64
|
}));
|
|
50
65
|
return issuesByBundle.flat();
|
|
51
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-script-integrity.js","sourceRoot":"","sources":["../../../../../source/checks/rules/type-script-integrity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAK7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AACvC,MAAM,sBAAsB,GAA8B,CAAE,YAAY,EAAE,SAAS,CAAE,CAAC;AACtF,MAAM,qBAAqB,GAAqD,CAAE,KAAK,EAAE,eAAe,CAAE,CAAC;AAC3G,MAAM,sBAAsB,GAAoB,KAAK,CAAC;AAEtD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"type-script-integrity.js","sourceRoot":"","sources":["../../../../../source/checks/rules/type-script-integrity.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export type LinkedBundle = {
|
|
|
11
11
|
readonly surface: PackageSurface;
|
|
12
12
|
readonly exportPackageJson?: true | undefined;
|
|
13
13
|
readonly linkedBundleDependencies: ExternalDependencies;
|
|
14
|
+
readonly substitutedSourceFilePathsByPackageName: ReadonlyMap<string, ReadonlySet<string>>;
|
|
14
15
|
readonly externalDependencies: ExternalDependencies;
|
|
15
16
|
};
|
|
16
17
|
export type BundleSubstitutionSource = Pick<LinkedBundle, 'contents' | 'name' | 'roots' | 'surface'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked-bundle.d.ts","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yCAAyC;AAElG,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;IACxD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"linked-bundle.d.ts","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yCAAyC;AAElG,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;IACxD,QAAQ,CAAC,uCAAuC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linked-bundle.js","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linked-bundle.js","sourceRoot":"","sources":["../../../../source/linker/linked-bundle.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,uBAAuB,CACnC,MAAqC;IAErC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,QAAQ;QAC5C,OAAO,QAAQ,CAAC,aAAa,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/linker/linker.js
CHANGED
|
@@ -25,7 +25,7 @@ function declarationCompanionRoots(contents, bundleDependencies) {
|
|
|
25
25
|
return [];
|
|
26
26
|
}
|
|
27
27
|
return declarationCompanionCandidates(content.fileDescription.sourceFilePath).filter(function (candidate) {
|
|
28
|
-
return sourceFilePaths.has(candidate);
|
|
28
|
+
return sourceFilePaths.has(candidate) && !isSubstitutedBundleSourcePath(candidate, bundleDependencies);
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -35,11 +35,12 @@ function flattenRootFilePaths(bundle, bundleDependencies) {
|
|
|
35
35
|
export function createBundleLinker() {
|
|
36
36
|
return {
|
|
37
37
|
async linkBundle(options) {
|
|
38
|
-
const { bundle, bundleDependencies } = options;
|
|
38
|
+
const { bundle, bundleDependencies, bundlePeerDependencies } = options;
|
|
39
|
+
const substitutionSources = [...bundleDependencies, ...bundlePeerDependencies];
|
|
39
40
|
const resourceGraph = createGraphFromResolvedBundle(bundle);
|
|
40
|
-
const substitutedGraph = substituteDependencies(resourceGraph, bundleDependencies);
|
|
41
|
+
const substitutedGraph = substituteDependencies(resourceGraph, bundleDependencies, bundlePeerDependencies);
|
|
41
42
|
return {
|
|
42
|
-
...substitutedGraph.flatten(flattenRootFilePaths(bundle,
|
|
43
|
+
...substitutedGraph.flatten(flattenRootFilePaths(bundle, substitutionSources)),
|
|
43
44
|
name: bundle.name,
|
|
44
45
|
exportPackageJson: bundle.exportPackageJson,
|
|
45
46
|
roots: bundle.roots,
|
package/linker/linker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,yCAAyC,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"linker.js","sourceRoot":"","sources":["../../../../source/linker/linker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,yCAAyC,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAYzD,SAAS,YAAY,CAAC,KAA8B;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;QAC9C,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAE,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAE,CAAC;QAC3E,CAAC;QACD,OAAO,CAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAClC,cAAsB,EACtB,kBAAuD;IAEvD,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,gBAAgB;QACrD,OAAO,cAAc,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAC9B,QAAoC,EACpC,kBAAuD;IAEvD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,OAAO;QAC1D,OAAO,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC;IAClD,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,OAAO;QACrC,IAAI,6BAA6B,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC5F,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,8BAA8B,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,SAAS;YACpG,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,oBAAoB,CACzB,MAAsB,EACtB,kBAAuD;IAEvD,OAAO,CAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAE,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO;QACH,KAAK,CAAC,UAAU,CAAC,OAAO;YACpB,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC;YACvE,MAAM,mBAAmB,GAAG,CAAE,GAAG,kBAAkB,EAAE,GAAG,sBAAsB,CAAE,CAAC;YACjF,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,aAAa,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;YAE3G,OAAO;gBACH,GAAG,gBAAgB,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;gBAC9E,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;aAC1B,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,41 +1,170 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { isDefined } from 'remeda';
|
|
3
|
+
import { ts as typescript } from 'ts-morph';
|
|
4
|
+
import { declarationCompanionCandidates } from "../common/declaration-companion-paths.js";
|
|
5
|
+
import { rootSourceFilePaths } from "../package-surface/package-surface-index.js";
|
|
2
6
|
import { getPublicModuleSpecifierForSourcePath } from "../package-surface/public-specifiers.js";
|
|
7
|
+
import { getRoot } from "../package-surface/root-registry.js";
|
|
8
|
+
import { toPackageSpecifier } from "../package-surface/specifier-syntax.js";
|
|
3
9
|
export function ownsSourcePath(file, bundle) {
|
|
4
10
|
return bundle.contents.some(function (content) {
|
|
5
11
|
return content.fileDescription.sourceFilePath === file;
|
|
6
12
|
});
|
|
7
13
|
}
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
function needsImportReplacement(file) {
|
|
15
|
+
return !file.endsWith('.map');
|
|
16
|
+
}
|
|
17
|
+
function createContentLookup(bundle) {
|
|
18
|
+
const contentBySourcePath = new Map();
|
|
19
|
+
const sourcePathByTargetPath = new Map();
|
|
20
|
+
for (const content of bundle.contents) {
|
|
21
|
+
contentBySourcePath.set(content.fileDescription.sourceFilePath, content);
|
|
22
|
+
sourcePathByTargetPath.set(content.fileDescription.targetFilePath, content.fileDescription.sourceFilePath);
|
|
23
|
+
}
|
|
24
|
+
return { contentBySourcePath, sourcePathByTargetPath };
|
|
25
|
+
}
|
|
26
|
+
function exportDeclarationModuleSpecifier(statement) {
|
|
27
|
+
if (!typescript.isExportDeclaration(statement)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return statement;
|
|
31
|
+
}
|
|
32
|
+
function moduleSpecifierText(statement) {
|
|
33
|
+
const { moduleSpecifier } = statement;
|
|
34
|
+
if (moduleSpecifier === undefined) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return typescript.isStringLiteral(moduleSpecifier) ? moduleSpecifier.text : undefined;
|
|
38
|
+
}
|
|
39
|
+
function exportedModuleSpecifiers(content) {
|
|
40
|
+
const sourceFile = typescript.createSourceFile(content, content, typescript.ScriptTarget.Latest);
|
|
41
|
+
return sourceFile
|
|
42
|
+
.statements
|
|
43
|
+
.map(exportDeclarationModuleSpecifier)
|
|
44
|
+
.filter(isDefined)
|
|
45
|
+
.map(moduleSpecifierText)
|
|
46
|
+
.filter(isDefined);
|
|
47
|
+
}
|
|
48
|
+
function exportedTargetPath(currentTargetFilePath, specifier) {
|
|
49
|
+
if (!specifier.startsWith('.')) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return path.posix.normalize(path.posix.join(path.posix.dirname(currentTargetFilePath), specifier));
|
|
53
|
+
}
|
|
54
|
+
function enqueueExportedSourceFilePaths(lookup, pending, currentTargetFilePath, specifier) {
|
|
55
|
+
const targetPath = exportedTargetPath(currentTargetFilePath, specifier);
|
|
56
|
+
if (targetPath === undefined) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const sourcePaths = [targetPath, ...declarationCompanionCandidates(targetPath)]
|
|
60
|
+
.map(function (candidate) {
|
|
61
|
+
return lookup.sourcePathByTargetPath.get(candidate);
|
|
62
|
+
})
|
|
63
|
+
.filter(isDefined);
|
|
64
|
+
for (const sourcePath of sourcePaths) {
|
|
65
|
+
pending.push(sourcePath);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function publicExportedSourceFilePaths(initialSourceFilePaths, lookup) {
|
|
69
|
+
const pending = Array.from(initialSourceFilePaths);
|
|
70
|
+
const visited = new Set();
|
|
71
|
+
function visitSourceFilePath(sourceFilePath) {
|
|
72
|
+
const content = lookup.contentBySourcePath.get(sourceFilePath);
|
|
73
|
+
if (content !== undefined && !visited.has(sourceFilePath)) {
|
|
74
|
+
visited.add(sourceFilePath);
|
|
75
|
+
for (const specifier of exportedModuleSpecifiers(content.fileDescription.content)) {
|
|
76
|
+
enqueueExportedSourceFilePaths(lookup, pending, content.fileDescription.targetFilePath, specifier);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (let next = pending.pop(); next !== undefined; next = pending.pop()) {
|
|
81
|
+
visitSourceFilePath(next);
|
|
82
|
+
}
|
|
83
|
+
return visited;
|
|
84
|
+
}
|
|
85
|
+
function recordShortestSpecifier(specifiersBySourcePath, sourceFilePaths, specifier) {
|
|
86
|
+
for (const sourceFilePath of sourceFilePaths) {
|
|
87
|
+
const current = specifiersBySourcePath.get(sourceFilePath);
|
|
88
|
+
if (current === undefined || specifier.length < current.length) {
|
|
89
|
+
specifiersBySourcePath.set(sourceFilePath, specifier);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function getExplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath) {
|
|
94
|
+
const lookup = createContentLookup(bundle);
|
|
95
|
+
const specifiersBySourcePath = new Map();
|
|
96
|
+
const moduleEntries = surface.packageInterface.modules ?? [];
|
|
97
|
+
for (const moduleEntry of moduleEntries) {
|
|
98
|
+
const root = getRoot(bundle, moduleEntry.root);
|
|
99
|
+
const rootPaths = rootSourceFilePaths(root);
|
|
100
|
+
recordShortestSpecifier(specifiersBySourcePath, publicExportedSourceFilePaths(rootPaths, lookup), toPackageSpecifier(bundle.name, moduleEntry.export));
|
|
101
|
+
}
|
|
102
|
+
return specifiersBySourcePath.get(sourceFilePath);
|
|
103
|
+
}
|
|
104
|
+
function getImplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath) {
|
|
105
|
+
const lookup = createContentLookup(bundle);
|
|
106
|
+
const specifiersBySourcePath = new Map();
|
|
107
|
+
const defaultRoot = getRoot(bundle, surface.defaultModuleRoot);
|
|
108
|
+
recordShortestSpecifier(specifiersBySourcePath, publicExportedSourceFilePaths(rootSourceFilePaths(defaultRoot), lookup), bundle.name);
|
|
109
|
+
for (const root of Object.values(bundle.roots)) {
|
|
110
|
+
recordShortestSpecifier(specifiersBySourcePath, publicExportedSourceFilePaths(rootSourceFilePaths(root), lookup), toPackageSpecifier(bundle.name, `./${root.js.targetFilePath}`));
|
|
111
|
+
}
|
|
112
|
+
return specifiersBySourcePath.get(sourceFilePath) ?? getPublicModuleSpecifierForSourcePath(bundle, sourceFilePath);
|
|
113
|
+
}
|
|
114
|
+
function getExistingPublicModuleSpecifierForSourcePath(bundle, sourceFilePath) {
|
|
115
|
+
const { surface } = bundle;
|
|
116
|
+
if (surface.mode === 'implicit') {
|
|
117
|
+
return getImplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath);
|
|
118
|
+
}
|
|
119
|
+
return getExplicitPublicModuleSpecifierForSourcePath(bundle, surface, sourceFilePath);
|
|
120
|
+
}
|
|
121
|
+
function findReplacementInBundles(file, bundles, getTargetPath) {
|
|
122
|
+
for (const bundle of bundles) {
|
|
123
|
+
const targetPath = getTargetPath(bundle, file);
|
|
11
124
|
if (targetPath !== undefined) {
|
|
12
|
-
return
|
|
125
|
+
return {
|
|
13
126
|
targetPath,
|
|
14
127
|
packageName: bundle.name
|
|
15
|
-
}
|
|
128
|
+
};
|
|
16
129
|
}
|
|
17
|
-
if (ownsSourcePath(file, bundle)) {
|
|
130
|
+
if (needsImportReplacement(file) && ownsSourcePath(file, bundle)) {
|
|
18
131
|
throw new Error(`Package "${bundle.name}" does not expose "${file}" for cross-package substitution`);
|
|
19
132
|
}
|
|
20
133
|
}
|
|
21
|
-
return
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
function findReplacement(file, bundleDependencies, bundlePeerDependencies) {
|
|
137
|
+
const dependencyReplacement = findReplacementInBundles(file, bundleDependencies, getPublicModuleSpecifierForSourcePath);
|
|
138
|
+
if (dependencyReplacement !== undefined) {
|
|
139
|
+
return dependencyReplacement;
|
|
140
|
+
}
|
|
141
|
+
return findReplacementInBundles(file, bundlePeerDependencies, getExistingPublicModuleSpecifierForSourcePath);
|
|
22
142
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
143
|
+
function withSubstitutedSourcePath(substitutedSourceFilePathsByPackageName, packageName, file) {
|
|
144
|
+
if (declarationCompanionCandidates(file).length === 0) {
|
|
145
|
+
return substitutedSourceFilePathsByPackageName;
|
|
146
|
+
}
|
|
147
|
+
const existing = substitutedSourceFilePathsByPackageName.get(packageName) ?? [];
|
|
148
|
+
const updated = new Map(substitutedSourceFilePathsByPackageName);
|
|
149
|
+
updated.set(packageName, new Set([...existing, file]));
|
|
150
|
+
return updated;
|
|
151
|
+
}
|
|
152
|
+
export function findAllPathReplacements(files, bundleDependencies, bundlePeerDependencies) {
|
|
153
|
+
const importPathReplacements = new Map();
|
|
154
|
+
const matchedBundleDependencies = [];
|
|
155
|
+
let substitutedSourceFilePathsByPackageName = new Map();
|
|
156
|
+
for (const file of files) {
|
|
157
|
+
const replacement = findReplacement(file, bundleDependencies, bundlePeerDependencies);
|
|
158
|
+
if (replacement !== undefined) {
|
|
159
|
+
importPathReplacements.set(file, replacement.targetPath);
|
|
160
|
+
matchedBundleDependencies.push(replacement.packageName);
|
|
161
|
+
substitutedSourceFilePathsByPackageName = withSubstitutedSourcePath(substitutedSourceFilePathsByPackageName, replacement.packageName, file);
|
|
28
162
|
}
|
|
29
|
-
|
|
30
|
-
return [{ file, targetPath, packageName }];
|
|
31
|
-
});
|
|
163
|
+
}
|
|
32
164
|
return {
|
|
33
|
-
importPathReplacements
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
bundleDependencies: matched.map(function (entry) {
|
|
37
|
-
return entry.packageName;
|
|
38
|
-
})
|
|
165
|
+
importPathReplacements,
|
|
166
|
+
bundleDependencies: matchedBundleDependencies,
|
|
167
|
+
substitutedSourceFilePathsByPackageName
|
|
39
168
|
};
|
|
40
169
|
}
|
|
41
170
|
//# sourceMappingURL=replacement-lookup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replacement-lookup.js","sourceRoot":"","sources":["../../../../source/linker/replacement-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"replacement-lookup.js","sourceRoot":"","sources":["../../../../source/linker/replacement-lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +1,53 @@
|
|
|
1
|
-
import { findAllPathReplacements } from "./replacement-lookup.js";
|
|
1
|
+
import { findAllPathReplacements, ownsSourcePath } from "./replacement-lookup.js";
|
|
2
2
|
import { replaceImportPaths } from "./source-modifier/import-paths.js";
|
|
3
3
|
import { createSubstitutedResourceGraph } from "./substituted-resource-graph.js";
|
|
4
|
-
|
|
4
|
+
function isSubstitutionSourcePath(sourceFilePath, substitutionSources) {
|
|
5
|
+
return substitutionSources.some(function (bundle) {
|
|
6
|
+
return ownsSourcePath(sourceFilePath, bundle);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function recordUnreplacedConnections(outstandingConnections, fromNodeId, directDependencies, replacedPaths) {
|
|
10
|
+
for (const file of directDependencies) {
|
|
11
|
+
if (!replacedPaths.has(file)) {
|
|
12
|
+
outstandingConnections.push({ from: fromNodeId, to: file });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function contentWithReplacements(node, replacements) {
|
|
17
|
+
return replaceImportPaths(node.data.project, node.data.fileDescription.sourceFilePath, node.data.fileDescription.content, replacements.importPathReplacements);
|
|
18
|
+
}
|
|
19
|
+
function addNodeWithReplacements(substitutedGraph, node, replacements) {
|
|
20
|
+
const isSubstituted = replacements.importPathReplacements.size > 0;
|
|
21
|
+
const content = contentWithReplacements(node, replacements);
|
|
22
|
+
substitutedGraph.add(node.id, {
|
|
23
|
+
fileDescription: { ...node.data.fileDescription, content },
|
|
24
|
+
externalDependencies: node.data.externalDependencies,
|
|
25
|
+
bundleDependencies: isSubstituted ? replacements.bundleDependencies : [],
|
|
26
|
+
substitutedSourceFilePathsByPackageName: replacements.substitutedSourceFilePathsByPackageName,
|
|
27
|
+
isSubstituted,
|
|
28
|
+
isExplicitlyIncluded: node.data.isExplicitlyIncluded,
|
|
29
|
+
...node.data.isGeneratedManifest ? { isGeneratedManifest: true } : {}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function substituteDependencies(resourceGraph, bundleDependencies, bundlePeerDependencies) {
|
|
5
33
|
const substitutedGraph = createSubstitutedResourceGraph();
|
|
6
34
|
const outstandingConnections = [];
|
|
7
35
|
const visited = new Set();
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (!replacedPaths.has(file)) {
|
|
11
|
-
outstandingConnections.push({ from: fromNodeId, to: file });
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function contentWithReplacements(node, replacements) {
|
|
16
|
-
return replaceImportPaths(node.data.project, node.data.fileDescription.sourceFilePath, node.data.fileDescription.content, replacements.importPathReplacements);
|
|
17
|
-
}
|
|
18
|
-
resourceGraph.traverse(function (node) {
|
|
36
|
+
const substitutionSources = [...bundleDependencies, ...bundlePeerDependencies];
|
|
37
|
+
function substituteNode(node) {
|
|
19
38
|
if (visited.has(node.id)) {
|
|
20
39
|
return;
|
|
21
40
|
}
|
|
22
41
|
visited.add(node.id);
|
|
42
|
+
if (isSubstitutionSourcePath(node.id, substitutionSources)) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
23
45
|
const directDependencies = Array.from(node.adjacentNodeIds);
|
|
24
|
-
const replacements = findAllPathReplacements(directDependencies, bundleDependencies);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
fileDescription: { ...node.data.fileDescription, content },
|
|
30
|
-
externalDependencies: node.data.externalDependencies,
|
|
31
|
-
bundleDependencies: isSubstituted ? replacements.bundleDependencies : [],
|
|
32
|
-
isSubstituted,
|
|
33
|
-
isExplicitlyIncluded: node.data.isExplicitlyIncluded,
|
|
34
|
-
...node.data.isGeneratedManifest ? { isGeneratedManifest: true } : {}
|
|
35
|
-
});
|
|
36
|
-
});
|
|
46
|
+
const replacements = findAllPathReplacements(directDependencies, bundleDependencies, bundlePeerDependencies);
|
|
47
|
+
recordUnreplacedConnections(outstandingConnections, node.id, directDependencies, replacements.importPathReplacements);
|
|
48
|
+
addNodeWithReplacements(substitutedGraph, node, replacements);
|
|
49
|
+
}
|
|
50
|
+
resourceGraph.traverse(substituteNode);
|
|
37
51
|
for (const connection of outstandingConnections) {
|
|
38
52
|
substitutedGraph.connect(connection.from, connection.to);
|
|
39
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAqB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"substitute-bundles.js","sourceRoot":"","sources":["../../../../source/linker/substitute-bundles.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,30 @@ function addOrCreateReference(externalDependencyName, reference, externalDepende
|
|
|
12
12
|
referencedFrom: unique([...externalDependency.referencedFrom, reference])
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
function collectLinkedBundleDependencies(linkedBundleDependencies, bundleDependencies, filePath) {
|
|
16
|
+
for (const bundleDependencyName of bundleDependencies) {
|
|
17
|
+
const bundleDependency = linkedBundleDependencies.get(bundleDependencyName);
|
|
18
|
+
linkedBundleDependencies.set(bundleDependencyName, addOrCreateReference(bundleDependencyName, filePath, bundleDependency));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function collectSubstitutedSourceFilePaths(target, source) {
|
|
22
|
+
const result = new Map(target);
|
|
23
|
+
for (const [packageName, sourceFilePaths] of source) {
|
|
24
|
+
const existing = result.get(packageName) ?? [];
|
|
25
|
+
result.set(packageName, new Set([...existing, ...sourceFilePaths]));
|
|
26
|
+
}
|
|
27
|
+
return Array.from(result);
|
|
28
|
+
}
|
|
29
|
+
function collectExternalDependencies(externalDependencies, dependencyNames, filePath) {
|
|
30
|
+
for (const externalDependencyName of dependencyNames) {
|
|
31
|
+
const externalDependency = externalDependencies.get(externalDependencyName);
|
|
32
|
+
externalDependencies.set(externalDependencyName, addOrCreateReference(externalDependencyName, filePath, externalDependency));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
15
35
|
function createFlattenCollectors() {
|
|
16
36
|
const contents = [];
|
|
17
37
|
const linkedBundleDependencies = new Map();
|
|
38
|
+
const substitutedSourceFilePathsByPackageName = new Map();
|
|
18
39
|
const externalDependencies = new Map();
|
|
19
40
|
const visited = new Set();
|
|
20
41
|
function collect(filePath, data, directDependencies) {
|
|
@@ -29,16 +50,19 @@ function createFlattenCollectors() {
|
|
|
29
50
|
isExplicitlyIncluded: data.isExplicitlyIncluded,
|
|
30
51
|
...data.isGeneratedManifest ? { isGeneratedManifest: true } : {}
|
|
31
52
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
for (const externalDependencyName of data.externalDependencies) {
|
|
37
|
-
const externalDependency = externalDependencies.get(externalDependencyName);
|
|
38
|
-
externalDependencies.set(externalDependencyName, addOrCreateReference(externalDependencyName, filePath, externalDependency));
|
|
53
|
+
collectLinkedBundleDependencies(linkedBundleDependencies, data.bundleDependencies, filePath);
|
|
54
|
+
for (const [packageName, sourceFilePaths] of collectSubstitutedSourceFilePaths(substitutedSourceFilePathsByPackageName, data.substitutedSourceFilePathsByPackageName)) {
|
|
55
|
+
substitutedSourceFilePathsByPackageName.set(packageName, new Set(sourceFilePaths));
|
|
39
56
|
}
|
|
57
|
+
collectExternalDependencies(externalDependencies, data.externalDependencies, filePath);
|
|
40
58
|
}
|
|
41
|
-
return {
|
|
59
|
+
return {
|
|
60
|
+
collect,
|
|
61
|
+
contents,
|
|
62
|
+
linkedBundleDependencies,
|
|
63
|
+
substitutedSourceFilePathsByPackageName,
|
|
64
|
+
externalDependencies
|
|
65
|
+
};
|
|
42
66
|
}
|
|
43
67
|
export function createSubstitutedResourceGraph() {
|
|
44
68
|
const graph = createDirectedGraph();
|
|
@@ -53,7 +77,7 @@ export function createSubstitutedResourceGraph() {
|
|
|
53
77
|
graph.connect({ from: fromFilePath, to: toFilePath });
|
|
54
78
|
},
|
|
55
79
|
flatten(rootFilePaths) {
|
|
56
|
-
const { collect, contents, linkedBundleDependencies, externalDependencies } = createFlattenCollectors();
|
|
80
|
+
const { collect, contents, linkedBundleDependencies, substitutedSourceFilePathsByPackageName, externalDependencies } = createFlattenCollectors();
|
|
57
81
|
for (const rootFilePath of rootFilePaths) {
|
|
58
82
|
graph.visitBreadthFirstSearch(rootFilePath, function (node) {
|
|
59
83
|
collect(node.id, node.data, node.adjacentNodeIds);
|
|
@@ -69,6 +93,7 @@ export function createSubstitutedResourceGraph() {
|
|
|
69
93
|
return {
|
|
70
94
|
contents,
|
|
71
95
|
linkedBundleDependencies,
|
|
96
|
+
substitutedSourceFilePathsByPackageName,
|
|
72
97
|
externalDependencies
|
|
73
98
|
};
|
|
74
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substituted-resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/substituted-resource-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"substituted-resource-graph.js","sourceRoot":"","sources":["../../../../source/linker/substituted-resource-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import { decorateWithPackageJsonExport } from "./package-json-export.js";
|
|
2
|
-
import { buildExportEntry } from "./package-shape.js";
|
|
2
|
+
import { buildExportEntry, toImportTarget } from "./package-shape.js";
|
|
3
3
|
import { getRoot } from "./root-registry.js";
|
|
4
4
|
function buildExplicitExportEntry(bundle, entry) {
|
|
5
5
|
return [entry.export, buildExportEntry(getRoot(bundle, entry.root))];
|
|
6
6
|
}
|
|
7
7
|
function buildEntries(bundle, surface) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const moduleEntries = surface.packageInterface.modules;
|
|
9
|
+
if (moduleEntries !== undefined) {
|
|
10
|
+
return moduleEntries.map(function (entry) {
|
|
11
|
+
return buildExplicitExportEntry(bundle, entry);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
const [binEntry] = surface.packageInterface.bins ?? [];
|
|
15
|
+
if (binEntry === undefined) {
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
const { declarationFile } = getRoot(bundle, binEntry.root);
|
|
19
|
+
if (declarationFile === undefined) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
return [['.', { types: toImportTarget(declarationFile.targetFilePath) }]];
|
|
11
23
|
}
|
|
12
24
|
export function buildExplicitExportsField(bundle, surface) {
|
|
13
25
|
return decorateWithPackageJsonExport(bundle, Object.fromEntries(buildEntries(bundle, surface)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explicit-exports.js","sourceRoot":"","sources":["../../../../source/package-surface/explicit-exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,
|
|
1
|
+
{"version":3,"file":"explicit-exports.js","sourceRoot":"","sources":["../../../../source/package-surface/explicit-exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACH,gBAAgB,EAChB,cAAc,EAIjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,SAAS,wBAAwB,CAC7B,MAA6B,EAC7B,KAA0E;IAE1E,OAAO,CAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CACjB,MAA6B,EAC7B,OAAwB;IAExB,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;IACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,GAAG,CAAC,UAAU,KAAK;YACpC,OAAO,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAE,QAAQ,CAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC;IACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAE,CAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAE,CAAE,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,MAA6B,EAC7B,OAAwB;IAExB,OAAO,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-surface-index.js","sourceRoot":"","sources":["../../../../source/package-surface/package-surface-index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,8BAA8B,EACjC,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAsC3D,SAAS,8BAA8B;IACnC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5D,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5D,SAAS,yBAAyB,CAAC,cAAsB,EAAE,kBAA0B;QACjF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjC,yBAAyB,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED,SAAS,iCAAiC,CAAC,cAAsB,EAAE,kBAA0B;QACzF,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvE,IAAI,gBAAgB,KAAK,SAAS,IAAI,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACxF,yBAAyB,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED,SAAS,0BAA0B,CAAC,KAA4B;QAC5D,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAClE,yBAAyB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAED,OAAO;QACH,KAAK;YACD,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAC;QACpE,CAAC;QACD,iCAAiC,CAAC,KAAK;YACnC,KAAK,MAAM,cAAc,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACjD,yBAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC;YACD,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,oCAAoC,CAAC,KAAK;YACtC,KAAK,MAAM,cAAc,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACjD,iCAAiC,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACvE,CAAC;YACD,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;KACJ,CAAC;AACN,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"package-surface-index.js","sourceRoot":"","sources":["../../../../source/package-surface/package-surface-index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -29,19 +29,35 @@ async function analyzeOne(dependencies, linkedBundle, transformationsEnabled, de
|
|
|
29
29
|
return analyzedBundle;
|
|
30
30
|
}
|
|
31
31
|
export function createResolveAndBuildOperations(dependencies) {
|
|
32
|
-
async function
|
|
33
|
-
assertEsmMainPackageJson(options.mainPackageJson);
|
|
34
|
-
dependencies.progressBroadcaster.emit('resolving', { packageName: options.name });
|
|
35
|
-
const resolvedBundle = await dependencies.resourceResolver.resolve(options);
|
|
32
|
+
async function linkResolvedBundle(options, resolvedBundle) {
|
|
36
33
|
maybeEmitScanCompleted(dependencies, options.name, resolvedBundle);
|
|
37
34
|
dependencies.progressBroadcaster.emit('linking', { packageName: options.name });
|
|
38
35
|
const linkedBundle = await dependencies.linker.linkBundle({
|
|
39
36
|
bundle: resolvedBundle,
|
|
40
|
-
bundleDependencies:
|
|
37
|
+
bundleDependencies: options.bundleDependencies,
|
|
38
|
+
bundlePeerDependencies: options.bundlePeerDependencies
|
|
41
39
|
});
|
|
42
40
|
maybeEmitLinkingCompleted(dependencies, options.name, linkedBundle);
|
|
43
41
|
return linkedBundle;
|
|
44
42
|
}
|
|
43
|
+
async function resolveAndLinkResolvedBundle(options, resolveBundle) {
|
|
44
|
+
assertEsmMainPackageJson(options.mainPackageJson);
|
|
45
|
+
dependencies.progressBroadcaster.emit('resolving', { packageName: options.name });
|
|
46
|
+
return await linkResolvedBundle(options, await resolveBundle());
|
|
47
|
+
}
|
|
48
|
+
async function resolveAndLinkWithPromotedDeclarations(options, promotedDeclarationEntryFiles) {
|
|
49
|
+
return await resolveAndLinkResolvedBundle(options, async function () {
|
|
50
|
+
return await dependencies.resourceResolver.resolveWithPromotedDeclarations(options, promotedDeclarationEntryFiles);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async function resolveAndLink(options) {
|
|
54
|
+
return await resolveAndLinkWithPromotedDeclarations(options, []);
|
|
55
|
+
}
|
|
56
|
+
async function resolveAndLinkWithPromotedDeclarationCompanions(options, substitutedSourceFilePaths) {
|
|
57
|
+
return await resolveAndLinkResolvedBundle(options, async function () {
|
|
58
|
+
return await dependencies.resourceResolver.resolveWithPromotedDeclarationCompanions(options, substitutedSourceFilePaths);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
45
61
|
async function build(options) {
|
|
46
62
|
assertEsmMainPackageJson(options.mainPackageJson);
|
|
47
63
|
const { additionalFiles, bundleDependencies, bundlePeerDependencies, includeSourceMapFiles, name, sourcesFolder } = options;
|
|
@@ -72,6 +88,6 @@ export function createResolveAndBuildOperations(dependencies) {
|
|
|
72
88
|
allowMutableSpecifiers: options.allowMutableSpecifiers
|
|
73
89
|
});
|
|
74
90
|
}
|
|
75
|
-
return { build, resolveAndLink };
|
|
91
|
+
return { build, resolveAndLink, resolveAndLinkWithPromotedDeclarationCompanions };
|
|
76
92
|
}
|
|
77
93
|
//# sourceMappingURL=package-processor-build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor-build.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAA4B,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"package-processor-build.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor-build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAA4B,MAAM,8CAA8C,CAAC;AAgB5G,SAAS,wBAAwB,CAAC,eAAqC;IACnE,IAAI,eAAe,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAC3B,YAAsE,EACtE,WAAmB,EACnB,QAA6B;IAE7B,IAAI,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;QACnE,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAC9B,YAAsE,EACtE,WAAmB,EACnB,MAAoB;IAEpB,IAAI,YAAY,CAAC,mBAAmB,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtE,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtD,WAAW;YACX,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CACrB,YAAqE,EACrE,YAA0B,EAC1B,sBAA+B,EAC/B,mBAA4D;IAE5D,MAAM,CAAE,cAAc,CAAE,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC;QACvE,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE;KACxE,CAAC,CAAC;IACH,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gDAAgD,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAWD,MAAM,UAAU,+BAA+B,CAAC,YAAyC;IACrF,KAAK,UAAU,kBAAkB,CAC7B,OAA8B,EAC9B,cAA8B;QAE9B,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnE,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;YACtD,MAAM,EAAE,cAAc;YACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACzD,CAAC,CAAC;QACH,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpE,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,KAAK,UAAU,4BAA4B,CACvC,OAA8B,EAC9B,aAA4C;QAE5C,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,aAAa,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,UAAU,sCAAsC,CACjD,OAA8B,EAC9B,6BAAgD;QAEhD,OAAO,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK;YACpD,OAAO,MAAM,YAAY,CAAC,gBAAgB,CAAC,+BAA+B,CACtE,OAAO,EACP,6BAA6B,CAChC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,OAA8B;QACxD,OAAO,MAAM,sCAAsC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,UAAU,+CAA+C,CAC1D,OAA8B,EAC9B,0BAA+C;QAE/C,OAAO,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK;YACpD,OAAO,MAAM,YAAY,CAAC,gBAAgB,CAAC,wCAAwC,CAC/E,OAAO,EACP,0BAA0B,CAC7B,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,OAAqB;QACtC,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,EACF,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,IAAI,EACJ,aAAa,EAChB,GAAG,OAAO,CAAC;QACZ,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC;YACtC,IAAI;YACJ,aAAa;YACb,KAAK,EAAE,uBAAuB,CAAC,KAAK;YACpC,OAAO,EAAE,uBAAuB,CAAC,OAAO;YACxC,qBAAqB;YACrB,eAAe;YACf,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,8BAA8B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACrE,+BAA+B,EAAE,OAAO,CAAC,+BAA+B;YACxE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,kBAAkB;YAClB,sBAAsB;SACzB,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,EAAE,OAAO,IAAI,IAAI,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,UAAU,CACnC,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,OAAO,CAAC,mBAAmB,CAC9B,CAAC;QACF,OAAO,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC;YAC1C,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,+BAA+B,EAAE,OAAO,CAAC,+BAA+B;YACxE,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACzD,CAAC,CAAC;IACP,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,+CAA+C,EAAE,CAAC;AACtF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-processor.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EACH,uBAAuB,EAG1B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"package-processor.js","sourceRoot":"","sources":["../../../../source/packtory/package-processor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EACH,uBAAuB,EAG1B,MAAM,gCAAgC,CAAC;AA+BxC,MAAM,UAAU,sBAAsB,CAAC,YAA0C;IAC7E,MAAM,yBAAyB,GAAG,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAEhE,OAAO;QACH,GAAG,yBAAyB;QAC5B,GAAG,iBAAiB;KACvB,CAAC;AACN,CAAC"}
|
|
@@ -19,7 +19,25 @@ function emitInputsResolved(dependencies, options) {
|
|
|
19
19
|
siblingVersions: {}
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
function collectPromotedSourcePathsByPackageName(linkedPackages) {
|
|
23
|
+
const promotedSourcePathsByPackageName = new Map();
|
|
24
|
+
for (const linkedPackage of linkedPackages) {
|
|
25
|
+
for (const [packageName, sourceFilePaths] of linkedPackage.linkedBundle.substitutedSourceFilePathsByPackageName) {
|
|
26
|
+
const existing = promotedSourcePathsByPackageName.get(packageName) ?? new Set();
|
|
27
|
+
for (const sourceFilePath of sourceFilePaths) {
|
|
28
|
+
existing.add(sourceFilePath);
|
|
29
|
+
}
|
|
30
|
+
promotedSourcePathsByPackageName.set(packageName, existing);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return promotedSourcePathsByPackageName;
|
|
34
|
+
}
|
|
35
|
+
function hasPromotionCandidates(promotedSourcePathsByPackageName) {
|
|
36
|
+
return Array.from(promotedSourcePathsByPackageName.values()).some(function (sourceFilePaths) {
|
|
37
|
+
return sourceFilePaths.size > 0;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async function resolvePackagesWithPromotions(dependencies, config, promotedSourcePathsByPackageName) {
|
|
23
41
|
return dependencies.scheduler.runForEachScheduledPackage({
|
|
24
42
|
config,
|
|
25
43
|
createOptions(context) {
|
|
@@ -28,7 +46,12 @@ export async function resolvePackages(dependencies, config) {
|
|
|
28
46
|
return options;
|
|
29
47
|
},
|
|
30
48
|
execute: withFailureCapture(dependencies.progressBroadcaster.provider, 'resolveAndLink', async function (resolveOptions) {
|
|
31
|
-
const
|
|
49
|
+
const promotedSourcePaths = promotedSourcePathsByPackageName.get(resolveOptions.name) ?? new Set();
|
|
50
|
+
const linkedBundle = promotedSourcePaths.size === 0
|
|
51
|
+
? await dependencies.packageProcessor.resolveAndLink(resolveOptions)
|
|
52
|
+
: await dependencies
|
|
53
|
+
.packageProcessor
|
|
54
|
+
.resolveAndLinkWithPromotedDeclarationCompanions(resolveOptions, promotedSourcePaths);
|
|
32
55
|
return {
|
|
33
56
|
name: resolveOptions.name,
|
|
34
57
|
linkedBundle,
|
|
@@ -41,4 +64,15 @@ export async function resolvePackages(dependencies, config) {
|
|
|
41
64
|
emitScheduledEvents: true
|
|
42
65
|
});
|
|
43
66
|
}
|
|
67
|
+
export async function resolvePackages(dependencies, config) {
|
|
68
|
+
const firstPassResult = await resolvePackagesWithPromotions(dependencies, config, new Map());
|
|
69
|
+
if (firstPassResult.isErr) {
|
|
70
|
+
return firstPassResult;
|
|
71
|
+
}
|
|
72
|
+
const promotedSourcePathsByPackageName = collectPromotedSourcePathsByPackageName(firstPassResult.value);
|
|
73
|
+
if (!hasPromotionCandidates(promotedSourcePathsByPackageName)) {
|
|
74
|
+
return firstPassResult;
|
|
75
|
+
}
|
|
76
|
+
return await resolvePackagesWithPromotions(dependencies, config, promotedSourcePathsByPackageName);
|
|
77
|
+
}
|
|
44
78
|
//# sourceMappingURL=package-resolution-stage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-resolution-stage.js","sourceRoot":"","sources":["../../../../../source/packtory/stages/package-resolution-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAA8B,MAAM,kBAAkB,CAAC;AAmB7F,SAAS,oBAAoB,CACzB,WAAmB,EACnB,QAAiC,EACjC,MAAwC;IAExC,OAAO,6BAA6B,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,kBAAkB,CACvB,YAAwE,EACxE,OAA8B;IAE9B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9E,OAAO;IACX,CAAC;IACD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACzD,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE;QAC7D,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,IAAI;YACnD,OAAO,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC,CAAC;QACF,eAAe,EAAE,CAAC;QAClB,eAAe,EAAE,EAAE;KACtB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"package-resolution-stage.js","sourceRoot":"","sources":["../../../../../source/packtory/stages/package-resolution-stage.ts"],"names":[],"mappings":"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"}
|
package/report/decorators.js
CHANGED
|
@@ -36,6 +36,15 @@ export function withStageTimings(processor, progressBroadcaster) {
|
|
|
36
36
|
emitTiming(progressBroadcaster, options.name, 'resolveAndLink', start);
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
|
+
async resolveAndLinkWithPromotedDeclarationCompanions(options, substitutedSourceFilePaths) {
|
|
40
|
+
const start = performance.now();
|
|
41
|
+
try {
|
|
42
|
+
return await processor.resolveAndLinkWithPromotedDeclarationCompanions(options, substitutedSourceFilePaths);
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
emitTiming(progressBroadcaster, options.name, 'resolveAndLink', start);
|
|
46
|
+
}
|
|
47
|
+
},
|
|
39
48
|
async build(options) {
|
|
40
49
|
const start = performance.now();
|
|
41
50
|
try {
|
package/report/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../source/report/decorators.ts"],"names":[],"mappings":"AAKA,SAAS,UAAU,CACf,mBAA8C,EAC9C,WAAmB,EACnB,KAAgB,EAChB,KAAa;IAEb,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;QACpD,OAAO;IACX,CAAC;IACD,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE;QACnC,WAAW;QACX,KAAK;QACL,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK;KACxC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,mBAA8C,EAC9C,KAAgB,EAChB,OAAgD;IAEhD,OAAO,KAAK,WAAW,OAAiB;QACpC,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtD,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE;oBACtC,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,KAAK;oBACL,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAClE,CAAC,CAAC;YACP,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,SAA2B,EAC3B,mBAA8C;IAE9C,OAAO;QACH,KAAK,CAAC,cAAc,CAAC,OAAO;YACxB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;oBAAS,CAAC;gBACP,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,OAAO;YACf,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;oBAAS,CAAC;gBACP,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAO;YACzB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;oBAAS,CAAC;gBACP,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,OAAO;YAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC;gBACD,OAAO,MAAM,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;oBAAS,CAAC;gBACP,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../source/report/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
import { mergeDependencyFiles } from "../dependency-scanner/dependency-graph.js";
|
|
2
|
-
import { declarationCompanionCandidates } from "../common/declaration-companion-paths.js";
|
|
3
2
|
import { resolveRootsAndSurface } from "./resource-resolve-options.js";
|
|
4
3
|
function emptyDependencyFiles() {
|
|
5
4
|
return { externalDependencies: new Map(), localFiles: [] };
|
|
6
5
|
}
|
|
7
|
-
async function findReadableDeclarationCompanion(fileManager, filePath) {
|
|
8
|
-
for (const candidate of declarationCompanionCandidates(filePath)) {
|
|
9
|
-
const readability = await fileManager.checkReadability(candidate);
|
|
10
|
-
if (readability.isReadable) {
|
|
11
|
-
return candidate;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
6
|
async function scanDeclarationGraph(dependencies, options, entryFiles, scannedDeclarationFiles) {
|
|
17
7
|
const pendingEntryFiles = entryFiles.filter(function (entryFile) {
|
|
18
8
|
return !scannedDeclarationFiles.has(entryFile);
|
|
@@ -32,19 +22,6 @@ async function scanDeclarationGraph(dependencies, options, entryFiles, scannedDe
|
|
|
32
22
|
return mergeDependencyFiles(result, declarationDependencyGraph.flatten(entryFile));
|
|
33
23
|
}, emptyDependencyFiles());
|
|
34
24
|
}
|
|
35
|
-
async function collectDeclarationCompanionEntries(context, jsDependencies) {
|
|
36
|
-
const companions = [];
|
|
37
|
-
const nonRootLocalFiles = jsDependencies.localFiles.filter(function (localFile) {
|
|
38
|
-
return !context.rootJsSourceFilePaths.has(localFile.filePath);
|
|
39
|
-
});
|
|
40
|
-
for (const localFile of nonRootLocalFiles) {
|
|
41
|
-
const declarationCompanion = await findReadableDeclarationCompanion(context.dependencies.fileManager, localFile.filePath);
|
|
42
|
-
if (declarationCompanion !== undefined) {
|
|
43
|
-
companions.push(declarationCompanion);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return companions;
|
|
47
|
-
}
|
|
48
25
|
function createDeclarationScanTracker() {
|
|
49
26
|
const scannedDeclarationFiles = new Set();
|
|
50
27
|
return {
|
|
@@ -66,39 +43,32 @@ async function resolveJsDependencies(context, root) {
|
|
|
66
43
|
});
|
|
67
44
|
return jsDependencyGraph.flatten(root.js);
|
|
68
45
|
}
|
|
69
|
-
async function resolveRootDeclarationDependencies(context, root
|
|
46
|
+
async function resolveRootDeclarationDependencies(context, root) {
|
|
70
47
|
const entryFiles = [];
|
|
71
48
|
if (root.declarationFile !== undefined) {
|
|
72
49
|
entryFiles.push(root.declarationFile);
|
|
73
50
|
}
|
|
74
|
-
if (context.packageHasDeclarationRoots) {
|
|
75
|
-
entryFiles.push(...await collectDeclarationCompanionEntries(context, jsDependencies));
|
|
76
|
-
}
|
|
77
51
|
return scanDeclarationGraph(context.dependencies, context.options, entryFiles, context.scannedDeclarationFiles);
|
|
78
52
|
}
|
|
79
53
|
async function resolveDependenciesForRoot(context, root) {
|
|
80
54
|
const jsDependencies = await resolveJsDependencies(context, root);
|
|
81
|
-
const declarationDependencies = await resolveRootDeclarationDependencies(context, root
|
|
55
|
+
const declarationDependencies = await resolveRootDeclarationDependencies(context, root);
|
|
82
56
|
return mergeDependencyFiles(jsDependencies, declarationDependencies);
|
|
83
57
|
}
|
|
84
|
-
export async function resolveDependenciesForAllRoots(dependencies, options) {
|
|
58
|
+
export async function resolveDependenciesForAllRoots(dependencies, options, promotedDeclarationEntryFiles) {
|
|
85
59
|
const { roots } = resolveRootsAndSurface(options);
|
|
86
60
|
const rootValues = Object.values(roots);
|
|
87
61
|
const context = {
|
|
88
62
|
dependencies,
|
|
89
63
|
options,
|
|
90
|
-
packageHasDeclarationRoots: rootValues.some(function (root) {
|
|
91
|
-
return root.declarationFile !== undefined;
|
|
92
|
-
}),
|
|
93
|
-
rootJsSourceFilePaths: new Set(rootValues.map(function (root) {
|
|
94
|
-
return root.js;
|
|
95
|
-
})),
|
|
96
64
|
scannedDeclarationFiles: createDeclarationScanTracker()
|
|
97
65
|
};
|
|
98
66
|
let dependencyFiles = emptyDependencyFiles();
|
|
99
67
|
for (const root of rootValues) {
|
|
100
68
|
dependencyFiles = mergeDependencyFiles(dependencyFiles, await resolveDependenciesForRoot(context, root));
|
|
101
69
|
}
|
|
70
|
+
const promotedDeclarationDependencies = await scanDeclarationGraph(dependencies, options, promotedDeclarationEntryFiles, context.scannedDeclarationFiles);
|
|
71
|
+
dependencyFiles = mergeDependencyFiles(dependencyFiles, promotedDeclarationDependencies);
|
|
102
72
|
return dependencyFiles;
|
|
103
73
|
}
|
|
104
74
|
//# sourceMappingURL=dependency-resolution-walker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-resolution-walker.js","sourceRoot":"","sources":["../../../../source/resource-resolver/dependency-resolution-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2CAA2C,CAAC;AAGvG,OAAO,
|
|
1
|
+
{"version":3,"file":"dependency-resolution-walker.js","sourceRoot":"","sources":["../../../../source/resource-resolver/dependency-resolution-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,2CAA2C,CAAC;AAGvG,OAAO,EAEH,sBAAsB,EAEzB,MAAM,+BAA+B,CAAC;AAiBvC,SAAS,oBAAoB;IACzB,OAAO,EAAE,oBAAoB,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,YAA8C,EAC9C,OAA+B,EAC/B,UAA6B,EAC7B,uBAA+C;IAE/C,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,SAAS;QAC3D,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,oBAAoB,EAAE,CAAC;IAClC,CAAC;IACD,iBAAiB,CAAC,OAAO,CAAC,UAAU,SAAS;QACzC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,0BAA0B,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAC/E,iBAAiB,EACjB,OAAO,CAAC,aAAa,EACrB;QACI,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,uBAAuB,EAAE,IAAI;QAC7B,eAAe,EAAE,OAAO,CAAC,eAAe;KAC3C,CACJ,CAAC;IACF,OAAO,iBAAiB,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,SAAS;QACvD,OAAO,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B;IACjC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,OAAO;QACH,GAAG,CAAC,QAAQ;YACR,OAAO,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,QAAQ;YACX,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;KACJ,CAAC;AACN,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,OAA8B,EAC9B,IAA8C;IAE9C,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAC1E,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE;QACxF,qBAAqB;QACrB,uBAAuB,EAAE,KAAK;QAC9B,eAAe;KAClB,CAAC,CAAC;IACH,OAAO,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,kCAAkC,CAC7C,OAA8B,EAC9B,IAA8C;IAE9C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,oBAAoB,CACvB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,EACf,UAAU,EACV,OAAO,CAAC,uBAAuB,CAClC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,OAA8B,EAC9B,IAA8C;IAE9C,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,uBAAuB,GAAG,MAAM,kCAAkC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxF,OAAO,oBAAoB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAChD,YAA8C,EAC9C,OAA+B,EAC/B,6BAAgD;IAEhD,MAAM,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAA0B;QACnC,YAAY;QACZ,OAAO;QACP,uBAAuB,EAAE,4BAA4B,EAAE;KAC1D,CAAC;IACF,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,eAAe,GAAG,oBAAoB,CAAC,eAAe,EAAE,MAAM,0BAA0B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,+BAA+B,GAAG,MAAM,oBAAoB,CAC9D,YAAY,EACZ,OAAO,EACP,6BAA6B,EAC7B,OAAO,CAAC,uBAAuB,CAClC,CAAC;IAEF,eAAe,GAAG,oBAAoB,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;IAEzF,OAAO,eAAe,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-resolver.d.ts","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC;
|
|
1
|
+
{"version":3,"file":"resource-resolver.d.ts","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC;AAKlE,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,sBAAsB;AAC3E,OAAO,EAA0B,KAAK,sBAAsB,EAAE,MAAM,+BAA+B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { declarationCompanionCandidates } from "../common/declaration-companion-paths.js";
|
|
1
2
|
import { combineAllBundleFiles } from "./content.js";
|
|
2
3
|
import { buildResolvedRoots } from "./bundle-resource-lookup.js";
|
|
3
4
|
import { resolveDependenciesForAllRoots } from "./dependency-resolution-walker.js";
|
|
@@ -6,6 +7,31 @@ const packageJsonIndentationSpaces = 4;
|
|
|
6
7
|
function serializeVirtualManifest(mainPackageJson) {
|
|
7
8
|
return `${JSON.stringify(mainPackageJson, null, packageJsonIndentationSpaces)}\n`;
|
|
8
9
|
}
|
|
10
|
+
function hasDeclarationRoots(options) {
|
|
11
|
+
const normalized = resolveRootsAndSurface(options);
|
|
12
|
+
return Object.values(normalized.roots).some(function (root) {
|
|
13
|
+
return root.declarationFile !== undefined;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async function findReadableDeclarationCompanion(fileManager, sourceFilePath) {
|
|
17
|
+
for (const candidate of declarationCompanionCandidates(sourceFilePath)) {
|
|
18
|
+
const readability = await fileManager.checkReadability(candidate);
|
|
19
|
+
if (readability.isReadable) {
|
|
20
|
+
return candidate;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
async function findReadableDeclarationCompanions(fileManager, substitutedSourceFilePaths) {
|
|
26
|
+
const companions = [];
|
|
27
|
+
for (const sourceFilePath of substitutedSourceFilePaths) {
|
|
28
|
+
const companion = await findReadableDeclarationCompanion(fileManager, sourceFilePath);
|
|
29
|
+
if (companion !== undefined) {
|
|
30
|
+
companions.push(companion);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return companions;
|
|
34
|
+
}
|
|
9
35
|
async function resolveFileDescription(fileManager, bundleFile, mainPackageJson) {
|
|
10
36
|
if (bundleFile.isGeneratedManifest) {
|
|
11
37
|
return {
|
|
@@ -19,29 +45,39 @@ async function resolveFileDescription(fileManager, bundleFile, mainPackageJson)
|
|
|
19
45
|
}
|
|
20
46
|
export function createResourceResolver(dependencies) {
|
|
21
47
|
const { dependencyScanner, fileManager } = dependencies;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
const fileDescription = await resolveFileDescription(fileManager, bundleFile, options.mainPackageJson);
|
|
29
|
-
return {
|
|
30
|
-
fileDescription,
|
|
31
|
-
directDependencies: bundleFile.directDependencies,
|
|
32
|
-
project: bundleFile.project,
|
|
33
|
-
isExplicitlyIncluded: bundleFile.isExplicitlyIncluded,
|
|
34
|
-
...bundleFile.isGeneratedManifest ? { isGeneratedManifest: true } : {}
|
|
35
|
-
};
|
|
36
|
-
}));
|
|
48
|
+
async function resolveWithPromotedDeclarations(options, promotedDeclarationEntryFiles) {
|
|
49
|
+
const normalized = resolveRootsAndSurface(options);
|
|
50
|
+
const resolvedDependencies = await resolveDependenciesForAllRoots({ dependencyScanner, fileManager }, options, promotedDeclarationEntryFiles);
|
|
51
|
+
const bundleFiles = combineAllBundleFiles(options.sourcesFolder, resolvedDependencies.localFiles, options.additionalFiles);
|
|
52
|
+
const contents = await Promise.all(bundleFiles.map(async function (bundleFile) {
|
|
53
|
+
const fileDescription = await resolveFileDescription(fileManager, bundleFile, options.mainPackageJson);
|
|
37
54
|
return {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
roots: buildResolvedRoots(normalized, contents)
|
|
55
|
+
fileDescription,
|
|
56
|
+
directDependencies: bundleFile.directDependencies,
|
|
57
|
+
project: bundleFile.project,
|
|
58
|
+
isExplicitlyIncluded: bundleFile.isExplicitlyIncluded,
|
|
59
|
+
...bundleFile.isGeneratedManifest ? { isGeneratedManifest: true } : {}
|
|
44
60
|
};
|
|
61
|
+
}));
|
|
62
|
+
return {
|
|
63
|
+
contents,
|
|
64
|
+
name: options.name,
|
|
65
|
+
exportPackageJson: options.exportPackageJson,
|
|
66
|
+
surface: normalized.surface,
|
|
67
|
+
externalDependencies: resolvedDependencies.externalDependencies,
|
|
68
|
+
roots: buildResolvedRoots(normalized, contents)
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
async resolve(options) {
|
|
73
|
+
return await resolveWithPromotedDeclarations(options, []);
|
|
74
|
+
},
|
|
75
|
+
resolveWithPromotedDeclarations,
|
|
76
|
+
async resolveWithPromotedDeclarationCompanions(options, substitutedSourceFilePaths) {
|
|
77
|
+
const promotedDeclarationEntryFiles = hasDeclarationRoots(options)
|
|
78
|
+
? await findReadableDeclarationCompanions(fileManager, substitutedSourceFilePaths)
|
|
79
|
+
: [];
|
|
80
|
+
return await resolveWithPromotedDeclarations(options, promotedDeclarationEntryFiles);
|
|
45
81
|
}
|
|
46
82
|
};
|
|
47
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-resolver.js","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAA+B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-resolver.js","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"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"}
|
package/sbom.cdx.json
CHANGED
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"component": {
|
|
17
17
|
"type": "library",
|
|
18
18
|
"name": "packtory",
|
|
19
|
-
"version": "0.0.
|
|
20
|
-
"bom-ref": "pkg:npm/packtory@0.0.
|
|
21
|
-
"purl": "pkg:npm/packtory@0.0.
|
|
19
|
+
"version": "0.0.73",
|
|
20
|
+
"bom-ref": "pkg:npm/packtory@0.0.73",
|
|
21
|
+
"purl": "pkg:npm/packtory@0.0.73"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
"ref": "pkg:npm/npm-registry-fetch@20.0.1"
|
|
393
393
|
},
|
|
394
394
|
{
|
|
395
|
-
"ref": "pkg:npm/packtory@0.0.
|
|
395
|
+
"ref": "pkg:npm/packtory@0.0.73",
|
|
396
396
|
"dependsOn": [
|
|
397
397
|
"pkg:npm/@arethetypeswrong/core@0.18.5",
|
|
398
398
|
"pkg:npm/@cyclonedx/cyclonedx-library@10.1.0",
|