packtory 0.0.22 → 0.0.23
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/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +2 -2
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/publish-error/auto-mode-error-matching.js +6 -7
- package/bundle-emitter/publish-error/auto-mode-error-matching.js.map +1 -1
- package/bundle-emitter/publish-error/file-mode-error-matching.js +16 -10
- package/bundle-emitter/publish-error/file-mode-error-matching.js.map +1 -1
- package/bundle-emitter/publish-error/publish-error-messages.js +15 -27
- package/bundle-emitter/publish-error/publish-error-messages.js.map +1 -1
- package/bundle-emitter/registry/metadata-auth-retry.js +5 -6
- package/bundle-emitter/registry/metadata-auth-retry.js.map +1 -1
- package/bundle-emitter/registry/oidc-token-exchange.js +6 -14
- package/bundle-emitter/registry/oidc-token-exchange.js.map +1 -1
- package/bundle-emitter/registry/package-metadata-fetcher.js +12 -17
- package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
- package/bundle-emitter/registry/publish-settings-bridge.js +8 -12
- package/bundle-emitter/registry/publish-settings-bridge.js.map +1 -1
- package/bundle-emitter/registry/registry-auth-config.js +22 -26
- package/bundle-emitter/registry/registry-auth-config.js.map +1 -1
- package/bundle-emitter/registry/registry-client.d.ts +1 -1
- package/bundle-emitter/registry/registry-client.d.ts.map +1 -1
- package/bundle-emitter/registry/registry-client.js +13 -6
- package/bundle-emitter/registry/registry-client.js.map +1 -1
- package/bundle-emitter/registry/registry-package-path.js +4 -0
- package/bundle-emitter/registry/registry-package-path.js.map +1 -0
- package/bundle-emitter/repository-coherence.js +17 -23
- package/bundle-emitter/repository-coherence.js.map +1 -1
- package/bundle-emitter/repository-url-normalizer.js +5 -8
- package/bundle-emitter/repository-url-normalizer.js.map +1 -1
- package/checks/rules/duplicate-messages.js +7 -10
- package/checks/rules/duplicate-messages.js.map +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js +10 -13
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
- package/common/bundled-dependency-groups.js +28 -0
- package/common/bundled-dependency-groups.js.map +1 -0
- package/common/package-layout.js +49 -0
- package/common/package-layout.js.map +1 -0
- package/common/package-name-map.js +8 -0
- package/common/package-name-map.js.map +1 -0
- package/common/worklist.js +23 -0
- package/common/worklist.js.map +1 -0
- package/config/config.d.ts +1 -1
- package/config/config.d.ts.map +1 -1
- package/config/dependency-existence-validation.js +15 -17
- package/config/dependency-existence-validation.js.map +1 -1
- package/config/package-config.d.ts.map +1 -1
- package/config/package-config.js +2 -6
- package/config/package-config.js.map +1 -1
- package/config/publish-settings.d.ts.map +1 -1
- package/config/publish-settings.report.js +8 -7
- package/config/publish-settings.report.js.map +1 -1
- package/config/registry-settings.d.ts.map +1 -1
- package/config/root-config-validation.js +86 -81
- package/config/root-config-validation.js.map +1 -1
- package/dead-code-eliminator/cross-bundle/bundle-index.js +0 -3
- package/dead-code-eliminator/cross-bundle/bundle-index.js.map +1 -1
- package/dead-code-eliminator/cross-bundle/import-export-walker.js +4 -2
- package/dead-code-eliminator/cross-bundle/import-export-walker.js.map +1 -1
- package/dead-code-eliminator/eliminator.js.map +1 -1
- package/dead-code-eliminator/imported-expression-origin.js +28 -32
- package/dead-code-eliminator/imported-expression-origin.js.map +1 -1
- package/dead-code-eliminator/pure-expression.js +53 -64
- package/dead-code-eliminator/pure-expression.js.map +1 -1
- package/dead-code-eliminator/reachability/bfs-closure.js +31 -24
- package/dead-code-eliminator/reachability/bfs-closure.js.map +1 -1
- package/dead-code-eliminator/side-effect-classifier.js +2 -2
- package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
- package/dead-code-eliminator/statement-classifiers.js +4 -5
- package/dead-code-eliminator/statement-classifiers.js.map +1 -1
- package/dead-code-eliminator/syntax-kind-sets.js +24 -65
- package/dead-code-eliminator/syntax-kind-sets.js.map +1 -1
- package/dependency-scanner/node-modules-manifest-synthesizer.js +3 -6
- package/dependency-scanner/node-modules-manifest-synthesizer.js.map +1 -1
- package/dependency-scanner/package-owned-asset-file-path.js +2 -13
- package/dependency-scanner/package-owned-asset-file-path.js.map +1 -1
- package/dependency-scanner/scanner.js +39 -29
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-file-references.d.ts.map +1 -1
- package/dependency-scanner/source-file-references.js +75 -79
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
- package/dependency-scanner/typescript-project-analyzer.js +2 -1
- package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
- package/dependency-scanner/virtual-package-json-host.js +2 -1
- package/dependency-scanner/virtual-package-json-host.js.map +1 -1
- package/directed-graph/graph.js +38 -64
- package/directed-graph/graph.js.map +1 -1
- package/file-manager/compare.js +7 -3
- package/file-manager/compare.js.map +1 -1
- package/file-manager/file-description-by-path.js +8 -0
- package/file-manager/file-description-by-path.js.map +1 -0
- package/npm-oidc-id-token-resolver.js +17 -14
- package/npm-oidc-id-token-resolver.js.map +1 -1
- package/package-surface/implicit-bin.js +9 -6
- package/package-surface/implicit-bin.js.map +1 -1
- package/package-surface/package-json-export.js +4 -3
- package/package-surface/package-json-export.js.map +1 -1
- package/package-surface/package-shape.js +4 -3
- package/package-surface/package-shape.js.map +1 -1
- package/package-surface/package-surface-index.js +136 -0
- package/package-surface/package-surface-index.js.map +1 -0
- package/package-surface/public-specifiers.js +3 -12
- package/package-surface/public-specifiers.js.map +1 -1
- package/package-surface/root-registry.js +10 -20
- package/package-surface/root-registry.js.map +1 -1
- package/package-surface/specifier-syntax.js +0 -19
- package/package-surface/specifier-syntax.js.map +1 -1
- package/package-surface/substitution-exports.js +59 -35
- package/package-surface/substitution-exports.js.map +1 -1
- package/package-surface/surface.js +0 -3
- package/package-surface/surface.js.map +1 -1
- package/package.json +16 -4
- package/packtory/options/bundle-dependency-resolution.js +6 -8
- package/packtory/options/bundle-dependency-resolution.js.map +1 -1
- package/packtory/options/version-trigger.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +2 -1
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +19 -13
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/packtory-pack.js +129 -141
- package/packtory/packtory-pack.js.map +1 -1
- package/packtory/packtory-release-analysis.js +8 -16
- package/packtory/packtory-release-analysis.js.map +1 -1
- package/packtory/packtory-results.d.ts +26 -11
- package/packtory/packtory-results.d.ts.map +1 -1
- package/packtory/packtory-results.js +27 -5
- package/packtory/packtory-results.js.map +1 -1
- package/packtory/packtory.js +65 -49
- package/packtory/packtory.js.map +1 -1
- package/packtory/partial-result.js +26 -0
- package/packtory/partial-result.js.map +1 -0
- package/packtory/published-release-state.d.ts +9 -0
- package/packtory/published-release-state.d.ts.map +1 -0
- package/packtory/published-release-state.js +12 -0
- package/packtory/published-release-state.js.map +1 -0
- package/packtory/release-analysis.js +74 -81
- package/packtory/release-analysis.js.map +1 -1
- package/packtory/resolved-package.js +6 -6
- package/packtory/resolved-package.js.map +1 -1
- package/packtory/scheduler.d.ts +1 -0
- package/packtory/scheduler.d.ts.map +1 -1
- package/packtory/scheduler.js +70 -52
- package/packtory/scheduler.js.map +1 -1
- package/packtory/stages/publish-stage.js +11 -6
- package/packtory/stages/publish-stage.js.map +1 -1
- package/packtory/stages/release-diff-stage.js +11 -10
- package/packtory/stages/release-diff-stage.js.map +1 -1
- package/report/aggregator/package-report-materialization.js +35 -22
- package/report/aggregator/package-report-materialization.js.map +1 -1
- package/report/config-redactor.js +5 -4
- package/report/config-redactor.js.map +1 -1
- package/report/inspectors/inspect-artifact-sizes.js +7 -3
- package/report/inspectors/inspect-artifact-sizes.js.map +1 -1
- package/report/inspectors/inspect-scan-results.js +8 -2
- package/report/inspectors/inspect-scan-results.js.map +1 -1
- package/report/preview/preview-document-diff.d.ts +6 -1
- package/report/preview/preview-document-diff.d.ts.map +1 -1
- package/report/preview/preview-document-diff.js +8 -3
- package/report/preview/preview-document-diff.js.map +1 -1
- package/report/release-diff/file-set-diff.d.ts +14 -4
- package/report/release-diff/file-set-diff.d.ts.map +1 -1
- package/report/release-diff/file-set-diff.js +28 -28
- package/report/release-diff/file-set-diff.js.map +1 -1
- package/report/release-diff/release-version-transition.js +6 -4
- package/report/release-diff/release-version-transition.js.map +1 -1
- package/resource-resolver/content.js +5 -3
- package/resource-resolver/content.js.map +1 -1
- package/sbom/license-resolver.js +3 -3
- package/sbom/license-resolver.js.map +1 -1
- package/sbom/sbom-builder.js +1 -8
- package/sbom/sbom-builder.js.map +1 -1
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom/sbom-file.js +7 -4
- package/sbom/sbom-file.js.map +1 -1
- package/sbom/sbom-serializer.js +10 -6
- package/sbom/sbom-serializer.js.map +1 -1
- package/sbom.cdx.json +22 -5
- package/vendor-materializer/vendor-materializer.d.ts.map +1 -1
- package/vendor-materializer/vendor-materializer.js +99 -123
- package/vendor-materializer/vendor-materializer.js.map +1 -1
- package/version-manager/dependencies/bundle-dependency-grouping.js +18 -14
- package/version-manager/dependencies/bundle-dependency-grouping.js.map +1 -1
- package/version-manager/imports/versioned-bundle-imports.js +15 -12
- package/version-manager/imports/versioned-bundle-imports.js.map +1 -1
- package/version-manager/manager.d.ts.map +1 -1
- package/version-manager/manager.js +19 -24
- package/version-manager/manager.js.map +1 -1
- package/version-manager/manifest/builder.js +3 -3
- package/version-manager/manifest/builder.js.map +1 -1
- package/version-manager/optional-bundle-fields.js +2 -5
- package/version-manager/optional-bundle-fields.js.map +1 -1
- package/version-manager/representative-root.js +7 -27
- package/version-manager/representative-root.js.map +1 -1
- package/version-manager/specifier-classifier.js +13 -10
- package/version-manager/specifier-classifier.js.map +1 -1
- package/version-manager/specifier-errors.js +17 -6
- package/version-manager/specifier-errors.js.map +1 -1
- package/package-surface/explicit-specifier-build.js +0 -28
- package/package-surface/explicit-specifier-build.js.map +0 -1
- package/package-surface/explicit-specifier-resolve.js +0 -17
- package/package-surface/explicit-specifier-resolve.js.map +0 -1
- package/package-surface/implicit-specifier-build.js +0 -26
- package/package-surface/implicit-specifier-build.js.map +0 -1
- package/package-surface/implicit-specifier-resolve.js +0 -17
- package/package-surface/implicit-specifier-resolve.js.map +0 -1
|
@@ -3,84 +3,63 @@ import { safeParse } from '@schema-hub/zod-error-formatter';
|
|
|
3
3
|
import npa from 'npm-package-arg';
|
|
4
4
|
import { Result } from 'true-myth';
|
|
5
5
|
import { z } from 'zod/mini';
|
|
6
|
-
|
|
6
|
+
import { ancestorInstalledDependencyPathCandidates, bundledInstalledDependencyPath, installedDependenciesFolderName, packageManifestPathIn } from "../common/package-layout.js";
|
|
7
|
+
import { createWorklist } from "../common/worklist.js";
|
|
8
|
+
export const vendorMaterializerFailureType = {
|
|
9
|
+
invalidDependencyName: 'invalid-dependency-name',
|
|
10
|
+
symlinkTargetOutsidePackage: 'symlink-target-outside-package'
|
|
11
|
+
};
|
|
7
12
|
const dependencyMapSchema = z.optional(z.record(z.string(), z.string()));
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function ancestorFolders(startFolder) {
|
|
13
|
-
const parts = startFolder.split(path.sep);
|
|
14
|
-
return parts.map((_segment, index, allSegments) => {
|
|
15
|
-
const prefixLength = allSegments.length - index;
|
|
16
|
-
const joined = allSegments.slice(0, prefixLength).join(path.sep);
|
|
17
|
-
return joined.length === 0 ? path.sep : joined;
|
|
13
|
+
function packageManifestSchema() {
|
|
14
|
+
return z.object({
|
|
15
|
+
dependencies: dependencyMapSchema,
|
|
16
|
+
peerDependencies: dependencyMapSchema
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
|
-
function buildVendorEntry(rootDirectory, packageName, relativePath) {
|
|
21
|
-
const normalizedRelative = relativePath.split(path.sep).join('/');
|
|
22
|
-
return {
|
|
23
|
-
sourceAbsolutePath: path.join(rootDirectory, relativePath),
|
|
24
|
-
targetRelativePath: `${nodeModulesFolderName}/${packageName}/${normalizedRelative}`,
|
|
25
|
-
isExecutable: false
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function enqueueDependencies(closure, fromFolder, dependencyNames) {
|
|
29
|
-
for (const dependencyName of dependencyNames) {
|
|
30
|
-
closure.queue.push({ name: dependencyName, fromFolder });
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function rejectDependencyNameIfInvalid(name) {
|
|
34
|
-
try {
|
|
35
|
-
if (npa(name).name === name) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
return name;
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return name;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
19
|
function findFirstInvalidDependencyName(names) {
|
|
45
20
|
for (const name of names) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
21
|
+
try {
|
|
22
|
+
if (npa(name).name !== name) {
|
|
23
|
+
return name;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return name;
|
|
49
28
|
}
|
|
50
29
|
}
|
|
51
30
|
return undefined;
|
|
52
31
|
}
|
|
53
32
|
function parseManifestSummary(sourcePackageName, content) {
|
|
54
|
-
const parsed = safeParse(packageManifestSchema, JSON.parse(content));
|
|
33
|
+
const parsed = safeParse(packageManifestSchema(), JSON.parse(content));
|
|
55
34
|
if (!parsed.success) {
|
|
56
35
|
return Result.ok({ transitiveDependencyNames: [], peerDependencyNames: [] });
|
|
57
36
|
}
|
|
58
37
|
const dependencyNames = Object.keys(parsed.data.dependencies ?? {});
|
|
59
38
|
const peerDependencyNames = Object.keys(parsed.data.peerDependencies ?? {});
|
|
60
|
-
const
|
|
39
|
+
const transitiveDependencyNames = dependencyNames.concat(peerDependencyNames);
|
|
40
|
+
const invalidDependencyName = findFirstInvalidDependencyName(transitiveDependencyNames);
|
|
61
41
|
if (invalidDependencyName !== undefined) {
|
|
62
|
-
return Result.err({
|
|
42
|
+
return Result.err({
|
|
43
|
+
type: vendorMaterializerFailureType.invalidDependencyName,
|
|
44
|
+
sourcePackageName,
|
|
45
|
+
invalidDependencyName
|
|
46
|
+
});
|
|
63
47
|
}
|
|
64
48
|
return Result.ok({
|
|
65
|
-
transitiveDependencyNames
|
|
49
|
+
transitiveDependencyNames,
|
|
66
50
|
peerDependencyNames
|
|
67
51
|
});
|
|
68
52
|
}
|
|
69
|
-
function isInside(rootDirectory, candidate) {
|
|
70
|
-
const relative = path.relative(rootDirectory, candidate);
|
|
71
|
-
if (relative.startsWith(`..${path.sep}`) || relative === '..') {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return !path.isAbsolute(relative);
|
|
75
|
-
}
|
|
76
53
|
async function checkSymlinkInsidePackage(walker, rootDirectory, packageName, relativeEntryPath) {
|
|
77
54
|
const absoluteEntryPath = path.join(rootDirectory, relativeEntryPath);
|
|
78
55
|
const normalizedEntryRelativePath = relativeEntryPath.split(path.sep).join('/');
|
|
79
56
|
try {
|
|
80
57
|
const resolvedTargetPath = await walker.getRealPath(absoluteEntryPath);
|
|
81
|
-
|
|
58
|
+
const normalizedRoot = path.resolve(rootDirectory);
|
|
59
|
+
const normalizedCandidate = path.resolve(resolvedTargetPath);
|
|
60
|
+
if (normalizedCandidate !== normalizedRoot && !normalizedCandidate.startsWith(`${normalizedRoot}${path.sep}`)) {
|
|
82
61
|
return Result.err({
|
|
83
|
-
type:
|
|
62
|
+
type: vendorMaterializerFailureType.symlinkTargetOutsidePackage,
|
|
84
63
|
packageName,
|
|
85
64
|
entryRelativePath: normalizedEntryRelativePath,
|
|
86
65
|
resolvedTargetPath
|
|
@@ -90,95 +69,93 @@ async function checkSymlinkInsidePackage(walker, rootDirectory, packageName, rel
|
|
|
90
69
|
}
|
|
91
70
|
catch {
|
|
92
71
|
return Result.err({
|
|
93
|
-
type:
|
|
72
|
+
type: vendorMaterializerFailureType.symlinkTargetOutsidePackage,
|
|
94
73
|
packageName,
|
|
95
74
|
entryRelativePath: normalizedEntryRelativePath,
|
|
96
75
|
resolvedTargetPath: absoluteEntryPath
|
|
97
76
|
});
|
|
98
77
|
}
|
|
99
78
|
}
|
|
100
|
-
async function
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const symlinkCheck = await checkSymlinkInsidePackage(context.walker, context.request.rootDirectory, context.request.packageName, relativeEntryPath);
|
|
104
|
-
if (symlinkCheck.isErr) {
|
|
105
|
-
return Result.err(symlinkCheck.error);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (entry.isDirectory) {
|
|
109
|
-
return context.walkDirectory(relativeEntryPath);
|
|
79
|
+
async function validatePackageDirectoryEntry(walker, packageDirectory, relativeEntryPath, entry) {
|
|
80
|
+
if (!entry.isSymbolicLink) {
|
|
81
|
+
return Result.ok(undefined);
|
|
110
82
|
}
|
|
111
|
-
|
|
112
|
-
return Result.ok(undefined);
|
|
83
|
+
return checkSymlinkInsidePackage(walker, packageDirectory.rootDirectory, packageDirectory.packageName, relativeEntryPath);
|
|
113
84
|
}
|
|
114
|
-
async
|
|
115
|
-
const absoluteDirectory = path.join(
|
|
85
|
+
const walkPackageDirectory = async (walker, state, relativeDirectory) => {
|
|
86
|
+
const absoluteDirectory = path.join(state.packageDirectory.rootDirectory, relativeDirectory);
|
|
116
87
|
const entries = await walker.listDirectoryEntries(absoluteDirectory);
|
|
117
|
-
const
|
|
118
|
-
|
|
88
|
+
const collectDirectoryEntry = async (entry) => {
|
|
89
|
+
if (entry.name === installedDependenciesFolderName) {
|
|
90
|
+
return Result.ok(undefined);
|
|
91
|
+
}
|
|
92
|
+
const relativeEntryPath = path.join(relativeDirectory, entry.name);
|
|
93
|
+
const symlinkCheck = await validatePackageDirectoryEntry(walker, state.packageDirectory, relativeEntryPath, entry);
|
|
94
|
+
if (symlinkCheck.isErr) {
|
|
95
|
+
return symlinkCheck;
|
|
96
|
+
}
|
|
97
|
+
if (entry.isDirectory) {
|
|
98
|
+
return walkPackageDirectory(walker, state, relativeEntryPath);
|
|
99
|
+
}
|
|
100
|
+
state.collected.push({
|
|
101
|
+
sourceAbsolutePath: path.join(state.packageDirectory.rootDirectory, relativeEntryPath),
|
|
102
|
+
targetRelativePath: bundledInstalledDependencyPath(state.packageDirectory.packageName, relativeEntryPath),
|
|
103
|
+
isExecutable: false
|
|
104
|
+
});
|
|
105
|
+
return Result.ok(undefined);
|
|
119
106
|
};
|
|
120
|
-
const context = { walker, request, walkDirectory };
|
|
121
107
|
for (const entry of entries) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return processed;
|
|
126
|
-
}
|
|
108
|
+
const result = await collectDirectoryEntry(entry);
|
|
109
|
+
if (result.isErr) {
|
|
110
|
+
return result;
|
|
127
111
|
}
|
|
128
112
|
}
|
|
129
113
|
return Result.ok(undefined);
|
|
130
|
-
}
|
|
131
|
-
async function collectPackageFiles(walker, rootDirectory, packageName) {
|
|
132
|
-
const collected = [];
|
|
133
|
-
const result = await walkPackageDirectory(walker, { rootDirectory, packageName, collected }, '');
|
|
134
|
-
if (result.isErr) {
|
|
135
|
-
return Result.err(result.error);
|
|
136
|
-
}
|
|
137
|
-
return Result.ok(collected);
|
|
138
|
-
}
|
|
114
|
+
};
|
|
139
115
|
export function createVendorMaterializer(dependencies) {
|
|
140
116
|
const { fileManager } = dependencies;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
117
|
+
function scheduleTransitiveDependencies(closure, fromFolder, dependencyNames) {
|
|
118
|
+
closure.pendingPackages.scheduleAll(dependencyNames.map((dependencyName) => {
|
|
119
|
+
return { name: dependencyName, fromFolder };
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
async function collectVendorEntries(packageName, realPath) {
|
|
123
|
+
const collected = [];
|
|
124
|
+
const walkResult = await walkPackageDirectory(fileManager, { packageDirectory: { rootDirectory: realPath, packageName }, collected }, '');
|
|
125
|
+
if (walkResult.isErr) {
|
|
126
|
+
return Result.err(walkResult.error);
|
|
146
127
|
}
|
|
147
|
-
return
|
|
128
|
+
return Result.ok(collected);
|
|
129
|
+
}
|
|
130
|
+
async function readManifestSummary(packageName, realPath) {
|
|
131
|
+
const manifestPath = packageManifestPathIn(realPath);
|
|
132
|
+
const content = await fileManager.readFile(manifestPath);
|
|
133
|
+
return parseManifestSummary(packageName, content);
|
|
148
134
|
}
|
|
149
135
|
async function findPackageRealPath(packageName, startFolder) {
|
|
150
|
-
for (const
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
return
|
|
136
|
+
for (const candidatePath of ancestorInstalledDependencyPathCandidates(startFolder, packageName)) {
|
|
137
|
+
const readability = await fileManager.checkReadability(candidatePath);
|
|
138
|
+
if (readability.isReadable) {
|
|
139
|
+
return await fileManager.getRealPath(candidatePath);
|
|
154
140
|
}
|
|
155
141
|
}
|
|
156
142
|
return undefined;
|
|
157
143
|
}
|
|
158
|
-
async function readManifestSummary(sourcePackageName, packageDirectory) {
|
|
159
|
-
const manifestPath = path.join(packageDirectory, 'package.json');
|
|
160
|
-
const content = await fileManager.readFile(manifestPath);
|
|
161
|
-
return parseManifestSummary(sourcePackageName, content);
|
|
162
|
-
}
|
|
163
|
-
function recordResolvedSummary(closure, name, realPath, summary) {
|
|
164
|
-
enqueueDependencies(closure, realPath, summary.transitiveDependencyNames);
|
|
165
|
-
closure.peerRequirements.set(name, summary.peerDependencyNames);
|
|
166
|
-
}
|
|
167
144
|
async function ingestResolvedPackage(closure, name, realPath) {
|
|
168
|
-
closure.visited.add(name);
|
|
169
145
|
const summaryResult = await readManifestSummary(name, realPath);
|
|
170
146
|
if (summaryResult.isErr) {
|
|
171
147
|
return Result.err(summaryResult.error);
|
|
172
148
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
149
|
+
scheduleTransitiveDependencies(closure, realPath, summaryResult.value.transitiveDependencyNames);
|
|
150
|
+
closure.peerRequirements.set(name, summaryResult.value.peerDependencyNames);
|
|
151
|
+
const collectedResult = await collectVendorEntries(name, realPath);
|
|
152
|
+
if (collectedResult.isErr) {
|
|
153
|
+
return Result.err(collectedResult.error);
|
|
177
154
|
}
|
|
178
|
-
closure.entries.push(...
|
|
155
|
+
closure.entries.push(...collectedResult.value);
|
|
179
156
|
return Result.ok(undefined);
|
|
180
157
|
}
|
|
181
|
-
async function
|
|
158
|
+
async function processPendingPackageItem(closure, item) {
|
|
182
159
|
if (closure.visited.has(item.name)) {
|
|
183
160
|
return Result.ok(undefined);
|
|
184
161
|
}
|
|
@@ -186,25 +163,24 @@ export function createVendorMaterializer(dependencies) {
|
|
|
186
163
|
if (realPath === undefined) {
|
|
187
164
|
return Result.ok(undefined);
|
|
188
165
|
}
|
|
189
|
-
|
|
166
|
+
closure.visited.add(item.name);
|
|
167
|
+
return ingestResolvedPackage(closure, item.name, realPath);
|
|
190
168
|
}
|
|
191
|
-
async function
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if (processed.isErr) {
|
|
198
|
-
return processed;
|
|
169
|
+
async function drainPendingPackages(closure) {
|
|
170
|
+
for (let item = closure.pendingPackages.takeNext(); item !== undefined; item = closure.pendingPackages.takeNext()) {
|
|
171
|
+
const processed = await processPendingPackageItem(closure, item);
|
|
172
|
+
if (processed.isErr) {
|
|
173
|
+
return processed;
|
|
174
|
+
}
|
|
199
175
|
}
|
|
200
|
-
return
|
|
176
|
+
return Result.ok(undefined);
|
|
201
177
|
}
|
|
202
178
|
return {
|
|
203
179
|
async materializeExternals(options) {
|
|
204
180
|
const invalidInitialName = findFirstInvalidDependencyName(options.initialDependencyNames);
|
|
205
181
|
if (invalidInitialName !== undefined) {
|
|
206
182
|
return Result.err({
|
|
207
|
-
type:
|
|
183
|
+
type: vendorMaterializerFailureType.invalidDependencyName,
|
|
208
184
|
sourcePackageName: undefined,
|
|
209
185
|
invalidDependencyName: invalidInitialName
|
|
210
186
|
});
|
|
@@ -212,12 +188,12 @@ export function createVendorMaterializer(dependencies) {
|
|
|
212
188
|
const closure = {
|
|
213
189
|
visited: new Set(),
|
|
214
190
|
entries: [],
|
|
215
|
-
|
|
191
|
+
pendingPackages: createWorklist(options.initialDependencyNames.map((name) => {
|
|
216
192
|
return { name, fromFolder: options.projectFolder };
|
|
217
|
-
}),
|
|
193
|
+
})),
|
|
218
194
|
peerRequirements: new Map()
|
|
219
195
|
};
|
|
220
|
-
const drained = await
|
|
196
|
+
const drained = await drainPendingPackages(closure);
|
|
221
197
|
if (drained.isErr) {
|
|
222
198
|
return Result.err(drained.error);
|
|
223
199
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor-materializer.js","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"vendor-materializer.js","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EACH,yCAAyC,EACzC,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAItE,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,qBAAqB,EAAE,yBAAyB;IAChD,2BAA2B,EAAE,gCAAgC;CACvD,CAAC;AAqCX,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEzE,SAAS,qBAAqB;IAI1B,OAAO,CAAC,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,mBAAmB;QACjC,gBAAgB,EAAE,mBAAmB;KACxC,CAAC,CAAC;AACP,CAAC;AAmBD,SAAS,8BAA8B,CAAC,KAAwB;IAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CACzB,iBAAyB,EACzB,OAAe;IAEf,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,yBAAyB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,yBAAyB,GAAG,eAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,8BAA8B,CAAC,yBAAyB,CAAC,CAAC;IACxF,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,CAAC;YACd,IAAI,EAAE,6BAA6B,CAAC,qBAAqB;YACzD,iBAAiB;YACjB,qBAAqB;SACxB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC;QACb,yBAAyB;QACzB,mBAAmB;KACtB,CAAC,CAAC;AACP,CAAC;AAaD,KAAK,UAAU,yBAAyB,CACpC,MAA8B,EAC9B,aAAqB,EACrB,WAAmB,EACnB,iBAAyB;IAEzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACtE,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChF,IAAI,CAAC;QACD,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,mBAAmB,KAAK,cAAc,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAC5G,OAAO,MAAM,CAAC,GAAG,CAAC;gBACd,IAAI,EAAE,6BAA6B,CAAC,2BAA2B;gBAC/D,WAAW;gBACX,iBAAiB,EAAE,2BAA2B;gBAC9C,kBAAkB;aACrB,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,CAAC,GAAG,CAAC;YACd,IAAI,EAAE,6BAA6B,CAAC,2BAA2B;YAC/D,WAAW;YACX,iBAAiB,EAAE,2BAA2B;YAC9C,kBAAkB,EAAE,iBAAiB;SACxC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,KAAK,UAAU,6BAA6B,CACxC,MAA8B,EAC9B,gBAAsC,EACtC,iBAAyB,EACzB,KAA4B;IAE5B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,yBAAyB,CAC5B,MAAM,EACN,gBAAgB,CAAC,aAAa,EAC9B,gBAAgB,CAAC,WAAW,EAC5B,iBAAiB,CACpB,CAAC;AACN,CAAC;AAED,MAAM,oBAAoB,GAAG,KAAK,EAC9B,MAA8B,EAC9B,KAA4B,EAC5B,iBAAyB,EACqC,EAAE;IAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAErE,MAAM,qBAAqB,GAAG,KAAK,EAC/B,KAA4B,EACkC,EAAE;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,+BAA+B,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,6BAA6B,CACpD,MAAM,EACN,KAAK,CAAC,gBAAgB,EACtB,iBAAiB,EACjB,KAAK,CACR,CAAC;QACF,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YACjB,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,iBAAiB,CAAC;YACtF,kBAAkB,EAAE,8BAA8B,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC;YACzG,YAAY,EAAE,KAAK;SACtB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC;IAErC,SAAS,8BAA8B,CACnC,OAAgB,EAChB,UAAkB,EAClB,eAAkC;QAElC,OAAO,CAAC,eAAe,CAAC,WAAW,CAC/B,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;YACnC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;QAChD,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAED,KAAK,UAAU,oBAAoB,CAC/B,WAAmB,EACnB,QAAgB;QAEhB,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,oBAAoB,CACzC,WAAW,EACX,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,EACzE,EAAE,CACL,CAAC;QACF,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,UAAU,mBAAmB,CAC9B,WAAmB,EACnB,QAAgB;QAEhB,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzD,OAAO,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,WAAmB;QACvE,KAAK,MAAM,aAAa,IAAI,yCAAyC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAC9F,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,MAAM,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,UAAU,qBAAqB,CAChC,OAAgB,EAChB,IAAY,EACZ,QAAgB;QAEhB,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,8BAA8B,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,UAAU,yBAAyB,CACpC,OAAgB,EAChB,IAAe;QAEf,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,OAAgB;QAChD,KACI,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,EAC7C,IAAI,KAAK,SAAS,EAClB,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,EAC3C,CAAC;YACC,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACH,KAAK,CAAC,oBAAoB,CAAC,OAAO;YAC9B,MAAM,kBAAkB,GAAG,8BAA8B,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAC1F,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,MAAM,CAAC,GAAG,CAAC;oBACd,IAAI,EAAE,6BAA6B,CAAC,qBAAqB;oBACzD,iBAAiB,EAAE,SAAS;oBAC5B,qBAAqB,EAAE,kBAAkB;iBAC5C,CAAC,CAAC;YACP,CAAC;YACD,MAAM,OAAO,GAAY;gBACrB,OAAO,EAAE,IAAI,GAAG,EAAU;gBAC1B,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,cAAc,CAC3B,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;gBACvD,CAAC,CAAC,CACL;gBACD,gBAAgB,EAAE,IAAI,GAAG,EAA6B;aACzD,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,MAAM,CAAC,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC7C,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { bundledDependencyGroup, bundledDependencyLookupOrder } from "../../common/bundled-dependency-groups.js";
|
|
2
|
+
import { packageNameMap } from "../../common/package-name-map.js";
|
|
3
|
+
function matchingGroupedDependency(groupedDependenciesByName, dependencyName) {
|
|
4
|
+
for (const group of bundledDependencyLookupOrder()) {
|
|
5
|
+
const matchingDependency = groupedDependenciesByName[group.propertyName].get(dependencyName);
|
|
6
|
+
if (matchingDependency !== undefined) {
|
|
7
|
+
return { manifestProperty: group.manifestProperty, version: matchingDependency.version };
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return undefined;
|
|
5
11
|
}
|
|
6
12
|
export function groupBundleDependencies(bundle, bundlePeerDependencies, bundleDependencies) {
|
|
7
13
|
const grouped = { dependencies: {}, peerDependencies: {} };
|
|
14
|
+
const groupedDependenciesByName = {
|
|
15
|
+
[bundledDependencyGroup.bundle.propertyName]: packageNameMap(bundleDependencies),
|
|
16
|
+
[bundledDependencyGroup.peer.propertyName]: packageNameMap(bundlePeerDependencies)
|
|
17
|
+
};
|
|
8
18
|
for (const dependencyName of bundle.linkedBundleDependencies.keys()) {
|
|
9
|
-
const
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
if (foundBundle === undefined) {
|
|
13
|
-
throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
|
|
14
|
-
}
|
|
15
|
-
grouped.dependencies[dependencyName] = foundBundle.version;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
grouped.peerDependencies[dependencyName] = peerBundle.version;
|
|
19
|
+
const matchingDependency = matchingGroupedDependency(groupedDependenciesByName, dependencyName);
|
|
20
|
+
if (matchingDependency === undefined) {
|
|
21
|
+
throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
|
|
19
22
|
}
|
|
23
|
+
grouped[matchingDependency.manifestProperty][dependencyName] = matchingDependency.version;
|
|
20
24
|
}
|
|
21
25
|
return grouped;
|
|
22
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-dependency-grouping.js","sourceRoot":"","sources":["../../../../../source/version-manager/dependencies/bundle-dependency-grouping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle-dependency-grouping.js","sourceRoot":"","sources":["../../../../../source/version-manager/dependencies/bundle-dependency-grouping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAkBlE,SAAS,yBAAyB,CAC9B,yBAAoD,EACpD,cAAsB;IAEtB,KAAK,MAAM,KAAK,IAAI,4BAA4B,EAAE,EAAE,CAAC;QACjD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7F,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC7F,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,MAAwD,EACxD,sBAAsD,EACtD,kBAAkD;IAElD,MAAM,OAAO,GAAwB,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAChF,MAAM,yBAAyB,GAAG;QAC9B,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC;QAChF,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC;KACrF,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC;QAClE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAChG,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0DAA0D,cAAc,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAC9F,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
import { collectHashImportSpecifiers } from "./hash-import-scanner.js";
|
|
2
2
|
import { findMatchingImportEntryKey } from "./imports-key-matcher.js";
|
|
3
|
+
function buildMissingImportsFieldMessage(firstSpecifier) {
|
|
4
|
+
return (`Found surviving package.json imports specifier "${firstSpecifier}" ` +
|
|
5
|
+
'but mainPackageJson.imports is not configured');
|
|
6
|
+
}
|
|
7
|
+
function buildMissingImportEntryMessage(specifier) {
|
|
8
|
+
return (`Found surviving package.json imports specifier "${specifier}" ` +
|
|
9
|
+
'but no matching mainPackageJson.imports entry');
|
|
10
|
+
}
|
|
11
|
+
function buildUndefinedImportEntryMessage(specifier, matchingKey) {
|
|
12
|
+
return (`Found surviving package.json imports specifier "${specifier}" ` +
|
|
13
|
+
`but matching mainPackageJson.imports entry "${matchingKey}" is undefined`);
|
|
14
|
+
}
|
|
3
15
|
function getConfiguredImportsOrThrow(mainPackageJson, referencedSpecifiers) {
|
|
4
16
|
if (mainPackageJson.imports !== undefined) {
|
|
5
17
|
return mainPackageJson.imports;
|
|
6
18
|
}
|
|
7
19
|
const [firstSpecifier] = referencedSpecifiers;
|
|
8
|
-
throw new Error(
|
|
9
|
-
`Found surviving package.json imports specifier "${firstSpecifier}"`,
|
|
10
|
-
'but mainPackageJson.imports is not configured'
|
|
11
|
-
].join(' '));
|
|
20
|
+
throw new Error(buildMissingImportsFieldMessage(firstSpecifier));
|
|
12
21
|
}
|
|
13
22
|
function collectReferencedImportsEntries(referencedSpecifiers, configuredImports) {
|
|
14
23
|
const importsField = {};
|
|
15
24
|
for (const specifier of referencedSpecifiers) {
|
|
16
25
|
const matchingKey = findMatchingImportEntryKey(specifier, configuredImports);
|
|
17
26
|
if (matchingKey === undefined) {
|
|
18
|
-
throw new Error(
|
|
19
|
-
`Found surviving package.json imports specifier "${specifier}"`,
|
|
20
|
-
'but no matching mainPackageJson.imports entry'
|
|
21
|
-
].join(' '));
|
|
27
|
+
throw new Error(buildMissingImportEntryMessage(specifier));
|
|
22
28
|
}
|
|
23
29
|
const matchingImport = configuredImports[matchingKey];
|
|
24
30
|
if (matchingImport === undefined) {
|
|
25
|
-
throw new Error(
|
|
26
|
-
`Found surviving package.json imports specifier "${specifier}"`,
|
|
27
|
-
`but matching mainPackageJson.imports entry "${matchingKey}" is undefined`
|
|
28
|
-
].join(' '));
|
|
31
|
+
throw new Error(buildUndefinedImportEntryMessage(specifier, matchingKey));
|
|
29
32
|
}
|
|
30
33
|
importsField[matchingKey] = matchingImport;
|
|
31
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versioned-bundle-imports.js","sourceRoot":"","sources":["../../../../../source/version-manager/imports/versioned-bundle-imports.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAqB,MAAM,0BAA0B,CAAC;AAEzF,SAAS,2BAA2B,CAChC,eAAgC,EAChC,oBAAyC;IAEzC,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC;IAC9C,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"versioned-bundle-imports.js","sourceRoot":"","sources":["../../../../../source/version-manager/imports/versioned-bundle-imports.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAqB,MAAM,0BAA0B,CAAC;AAEzF,SAAS,+BAA+B,CAAC,cAAkC;IACvE,OAAO,CACH,mDAAmD,cAAc,IAAI;QACrE,+CAA+C,CAClD,CAAC;AACN,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAiB;IACrD,OAAO,CACH,mDAAmD,SAAS,IAAI;QAChE,+CAA+C,CAClD,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAiB,EAAE,WAAmB;IAC5E,OAAO,CACH,mDAAmD,SAAS,IAAI;QAChE,+CAA+C,WAAW,gBAAgB,CAC7E,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAChC,eAAgC,EAChC,oBAAyC;IAEzC,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC;IAC9C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,+BAA+B,CACpC,oBAAyC,EACzC,iBAA+B;IAE/B,MAAM,YAAY,GAA8B,EAAE,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,YAAY,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IAC/C,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAwC,EACxC,eAAgC;IAEhC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7F,OAAO,+BAA+B,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AAIpF,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB;AAM9B,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,2BAA2B,CAAC;IAClF,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,2BAA2B,CAAC;CAC7E"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
+
import { packageManifestFilePath } from "../common/package-layout.js";
|
|
2
3
|
import { inspectPackageJsonProvenance } from "../report/inspectors/inspect-package-json-provenance.js";
|
|
3
4
|
import { buildPackageManifest } from "./manifest/builder.js";
|
|
4
5
|
import { serializePackageJson } from "./manifest/serialize.js";
|
|
5
6
|
import { buildVersionedBundle } from "./versioned-bundle.js";
|
|
7
|
+
function toVersionedBundleWithManifest(versionedBundle) {
|
|
8
|
+
const manifest = buildPackageManifest(versionedBundle);
|
|
9
|
+
const packageJsonContent = serializePackageJson(manifest);
|
|
10
|
+
return {
|
|
11
|
+
...versionedBundle,
|
|
12
|
+
packageJson: manifest,
|
|
13
|
+
manifestFile: {
|
|
14
|
+
content: packageJsonContent,
|
|
15
|
+
isExecutable: false,
|
|
16
|
+
filePath: packageManifestFilePath
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
6
20
|
export function createVersionManager(dependencies) {
|
|
7
21
|
const { progressBroadcaster } = dependencies;
|
|
8
22
|
return {
|
|
9
23
|
addVersion(options) {
|
|
10
24
|
const versionedBundle = buildVersionedBundle(options);
|
|
11
|
-
const
|
|
12
|
-
const packageJsonContent = serializePackageJson(manifest);
|
|
25
|
+
const materializedBundle = toVersionedBundleWithManifest(versionedBundle);
|
|
13
26
|
if (progressBroadcaster.hasSubscribers('packageJsonAssembled')) {
|
|
14
27
|
progressBroadcaster.emit('packageJsonAssembled', {
|
|
15
|
-
packageName:
|
|
16
|
-
fields: inspectPackageJsonProvenance(
|
|
28
|
+
packageName: materializedBundle.name,
|
|
29
|
+
fields: inspectPackageJsonProvenance(materializedBundle.packageJson, options.mainPackageJson, options.additionalPackageJsonAttributes)
|
|
17
30
|
});
|
|
18
31
|
}
|
|
19
|
-
return
|
|
20
|
-
...versionedBundle,
|
|
21
|
-
packageJson: manifest,
|
|
22
|
-
manifestFile: {
|
|
23
|
-
content: packageJsonContent,
|
|
24
|
-
isExecutable: false,
|
|
25
|
-
filePath: 'package.json'
|
|
26
|
-
}
|
|
27
|
-
};
|
|
32
|
+
return materializedBundle;
|
|
28
33
|
},
|
|
29
34
|
increaseVersion(versionedBundle) {
|
|
30
35
|
const newVersion = semver.inc(versionedBundle.version, 'patch');
|
|
@@ -35,17 +40,7 @@ export function createVersionManager(dependencies) {
|
|
|
35
40
|
...versionedBundle,
|
|
36
41
|
version: newVersion
|
|
37
42
|
};
|
|
38
|
-
|
|
39
|
-
const packageJsonContent = serializePackageJson(manifest);
|
|
40
|
-
return {
|
|
41
|
-
...newVersionedBundle,
|
|
42
|
-
packageJson: manifest,
|
|
43
|
-
manifestFile: {
|
|
44
|
-
content: packageJsonContent,
|
|
45
|
-
isExecutable: false,
|
|
46
|
-
filePath: 'package.json'
|
|
47
|
-
}
|
|
48
|
-
};
|
|
43
|
+
return toVersionedBundleWithManifest(newVersionedBundle);
|
|
49
44
|
}
|
|
50
45
|
};
|
|
51
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACH,oBAAoB,EAIvB,MAAM,uBAAuB,CAAC;AAW/B,SAAS,6BAA6B,CAAC,eAAgC;IACnE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE1D,OAAO;QACH,GAAG,eAAe;QAClB,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE;YACV,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,uBAAuB;SACpC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,YAAwC;IACzE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;IAE7C,OAAO;QACH,UAAU,CAAC,OAAO;YACd,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,eAAe,CAAC,CAAC;YAE1E,IAAI,mBAAmB,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,CAAC;gBAC7D,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,EAAE;oBAC7C,WAAW,EAAE,kBAAkB,CAAC,IAAI;oBACpC,MAAM,EAAE,4BAA4B,CAChC,kBAAkB,CAAC,WAAgD,EACnE,OAAO,CAAC,eAAoD,EAC5D,OAAO,CAAC,+BAAgF,CAC3F;iBACJ,CAAC,CAAC;YACP,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,eAAe,CAAC,eAAe;YAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,kBAAkB,GAAoB;gBACxC,GAAG,eAAe;gBAClB,OAAO,EAAE,UAAU;aACtB,CAAC;YAEF,OAAO,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;QAC7D,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -42,13 +42,13 @@ export function buildPackageManifest(bundle) {
|
|
|
42
42
|
const binEntry = buildBinEntry(bundle.binField);
|
|
43
43
|
const packageJson = {
|
|
44
44
|
...bundle.additionalAttributes,
|
|
45
|
-
...sideEffectsEntry,
|
|
46
|
-
...importsEntry,
|
|
47
|
-
...binEntry,
|
|
48
45
|
exports: bundle.exportsField,
|
|
49
46
|
name: bundle.name,
|
|
50
47
|
version: bundle.version,
|
|
51
48
|
type: bundle.packageType,
|
|
49
|
+
...sideEffectsEntry,
|
|
50
|
+
...importsEntry,
|
|
51
|
+
...binEntry,
|
|
52
52
|
...(isEmpty(bundle.dependencies) ? {} : { dependencies: bundle.dependencies }),
|
|
53
53
|
...(isEmpty(bundle.peerDependencies) ? {} : { peerDependencies: bundle.peerDependencies })
|
|
54
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../source/version-manager/manifest/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK7D,mHAAmH;AACnH,SAAS,uBAAuB,CAAC,MAAuB;IACpD,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAKD,SAAS,qBAAqB,CAC1B,WAAyC;IAEzC,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA0D;IACpF,2JAA2J;IAC3J,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAuB,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB,CACtB,YAA6C;IAE7C,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,uBAAuB,CAC5B,QAAmE;IAEnE,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,QAAqC;IACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IACxD,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAsB;QACnC,GAAG,MAAM,CAAC,oBAAoB;QAC9B,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../source/version-manager/manifest/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK7D,mHAAmH;AACnH,SAAS,uBAAuB,CAAC,MAAuB;IACpD,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAKD,SAAS,qBAAqB,CAC1B,WAAyC;IAEzC,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA0D;IACpF,2JAA2J;IAC3J,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAuB,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB,CACtB,YAA6C;IAE7C,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,uBAAuB,CAC5B,QAAmE;IAEnE,OAAO,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,QAAqC;IACxD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IACxD,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,WAAW,GAAsB;QACnC,GAAG,MAAM,CAAC,oBAAoB;QAC9B,OAAO,EAAE,MAAM,CAAC,YAAY;QAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,WAAW;QACxB,GAAG,gBAAgB;QACnB,GAAG,YAAY;QACf,GAAG,QAAQ;QACX,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9E,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;KAC7F,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { isDefined, pickBy } from 'remeda';
|
|
1
2
|
export function buildOptionalVersionedBundleFields(params) {
|
|
2
3
|
const { importsField, binField, typesMainFile } = params;
|
|
3
|
-
return {
|
|
4
|
-
...(importsField === undefined ? {} : { importsField }),
|
|
5
|
-
...(binField === undefined ? {} : { binField }),
|
|
6
|
-
...(typesMainFile === undefined ? {} : { typesMainFile })
|
|
7
|
-
};
|
|
4
|
+
return pickBy({ importsField, binField, typesMainFile }, isDefined);
|
|
8
5
|
}
|
|
9
6
|
//# sourceMappingURL=optional-bundle-fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-bundle-fields.js","sourceRoot":"","sources":["../../../../source/version-manager/optional-bundle-fields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"optional-bundle-fields.js","sourceRoot":"","sources":["../../../../source/version-manager/optional-bundle-fields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAU3C,MAAM,UAAU,kCAAkC,CAAC,MAIlD;IACG,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAEzD,OAAO,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,CAAC,CAAC;AACxE,CAAC"}
|