packtory 0.0.46 → 0.0.48
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/artifacts/folder-writer.js +2 -0
- package/artifacts/folder-writer.js.map +1 -1
- package/bundle-emitter/registry/package-metadata-fetcher.d.ts.map +1 -1
- package/bundle-emitter/registry/package-metadata-fetcher.js +15 -3
- package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
- package/bundle-emitter/registry/registry-response-schemas.js +1 -1
- package/bundle-emitter/registry/registry-response-schemas.js.map +1 -1
- package/bundle-emitter/registry/validate-tarball-host.js +12 -12
- package/bundle-emitter/registry/validate-tarball-host.js.map +1 -1
- package/common/schema-validation.js +90 -0
- package/common/schema-validation.js.map +1 -0
- package/config/optional-package-settings-schema.js +2 -0
- package/config/optional-package-settings-schema.js.map +1 -1
- package/config/package-config.d.ts +2 -0
- package/config/package-config.d.ts.map +1 -1
- package/config/package-config.js.map +1 -1
- package/config/validation.js +1 -1
- package/config/validation.js.map +1 -1
- package/dependency-scanner/scanner.js +38 -28
- package/dependency-scanner/scanner.js.map +1 -1
- package/dependency-scanner/source-map-file-locator.js +49 -12
- package/dependency-scanner/source-map-file-locator.js.map +1 -1
- package/package.json +5 -2
- package/packtory/changelog-source-attribution.d.ts +1 -0
- package/packtory/changelog-source-attribution.js +13 -2
- package/packtory/changelog-source-attribution.js.map +1 -1
- package/packtory/map-config.d.ts +4 -1
- package/packtory/map-config.d.ts.map +1 -1
- package/packtory/map-config.js +7 -3
- package/packtory/map-config.js.map +1 -1
- package/packtory/options/prepare-package-options.d.ts.map +1 -1
- package/packtory/options/prepare-package-options.js +3 -2
- package/packtory/options/prepare-package-options.js.map +1 -1
- package/packtory/options/setting-resolvers.js +6 -0
- package/packtory/options/setting-resolvers.js.map +1 -1
- package/packtory/options/version-provider-context.d.ts.map +1 -1
- package/packtory/options/version-provider-context.js +7 -4
- package/packtory/options/version-provider-context.js.map +1 -1
- package/packtory/package-processor-build.js +1 -0
- package/packtory/package-processor-build.js.map +1 -1
- package/packtory/packtory-pack.js +1 -1
- package/packtory/packtory-pack.js.map +1 -1
- package/packtory/packtory-release-plan.js +14 -10
- package/packtory/packtory-release-plan.js.map +1 -1
- package/packtory/release-plan.js +7 -4
- package/packtory/release-plan.js.map +1 -1
- package/readme.md +1 -1
- package/resource-resolver/content.js +8 -1
- package/resource-resolver/content.js.map +1 -1
- package/sbom.cdx.json +10 -10
- package/tar/extract-tar.js +42 -11
- package/tar/extract-tar.js.map +1 -1
- package/tar/tarball-builder.d.ts +1 -1
- package/tar/tarball-builder.d.ts.map +1 -1
- package/tar/tarball-builder.js +5 -0
- package/tar/tarball-builder.js.map +1 -1
- package/vendor-materializer/vendor-entry.d.ts +2 -0
- package/vendor-materializer/vendor-entry.d.ts.map +1 -1
- package/vendor-materializer/vendor-entry.js +13 -0
- package/vendor-materializer/vendor-entry.js.map +1 -1
- package/vendor-materializer/vendor-materializer.d.ts.map +1 -1
- package/vendor-materializer/vendor-materializer.js +2 -1
- package/vendor-materializer/vendor-materializer.js.map +1 -1
- package/zip/zip-builder.d.ts +1 -1
- package/zip/zip-builder.d.ts.map +1 -1
- package/zip/zip-builder.js +8 -5
- package/zip/zip-builder.js.map +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { validateVendorEntrySource } from "../vendor-materializer/vendor-entry.js";
|
|
2
3
|
async function writeFileDescriptions(fileManager, targetFolder, contents) {
|
|
3
4
|
for (const entry of contents) {
|
|
4
5
|
const targetFilePath = path.join(targetFolder, entry.filePath);
|
|
@@ -9,6 +10,7 @@ async function writeFileDescriptions(fileManager, targetFolder, contents) {
|
|
|
9
10
|
async function copyVendorEntries(fileManager, targetFolder, vendorEntries) {
|
|
10
11
|
for (const vendorEntry of vendorEntries) {
|
|
11
12
|
const targetFilePath = path.join(targetFolder, vendorEntry.targetRelativePath);
|
|
13
|
+
await validateVendorEntrySource(fileManager, vendorEntry);
|
|
12
14
|
await fileManager.copyFileBytes(vendorEntry.sourceAbsolutePath, targetFilePath);
|
|
13
15
|
await fileManager.setExecutable(targetFilePath, vendorEntry.isExecutable);
|
|
14
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-writer.js","sourceRoot":"","sources":["../../../../source/artifacts/folder-writer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"folder-writer.js","sourceRoot":"","sources":["../../../../source/artifacts/folder-writer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,yBAAyB,EAAoB,MAAM,wCAAwC,CAAC;AAErG,KAAK,UAAU,qBAAqB,CAChC,WAAwB,EACxB,YAAoB,EACpB,QAAoC;IAEpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,WAAwB,EACxB,YAAoB,EACpB,aAAqC;IAErC,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC/E,MAAM,yBAAyB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAChF,MAAM,WAAW,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9E,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,WAAwB,EACxB,YAAoB,EACpB,QAAoC,EACpC,gBAAwC,EAAE;IAE1C,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,qBAAqB,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-metadata-fetcher.d.ts","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/package-metadata-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,oBAAoB;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;
|
|
1
|
+
{"version":3,"file":"package-metadata-fetcher.d.ts","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/package-metadata-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,oBAAoB;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;AAiBzE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC"}
|
|
@@ -3,13 +3,22 @@ import { retryWithFallbackAuth } from "./metadata-auth-retry.js";
|
|
|
3
3
|
import { toRegistryPackagePath } from "./registry-package-path.js";
|
|
4
4
|
import { resolveMetadataAuthOptions, resolveStageListingAuthOptions } from "./registry-auth-config.js";
|
|
5
5
|
import { parseAbbreviatedPackageResponse, parseFullPackageResponse } from "./registry-response-schemas.js";
|
|
6
|
-
import {
|
|
6
|
+
import { assertTarballOriginMatchesRegistry } from "./validate-tarball-host.js";
|
|
7
7
|
const notFoundStatusCode = 404;
|
|
8
8
|
const forbiddenStatusCode = 403;
|
|
9
9
|
const abbreviatedResponseAcceptHeader = 'application/vnd.npm.install-v1+json';
|
|
10
|
+
const maxDownloadedTarballBytes = 268_435_456;
|
|
10
11
|
function isRecord(value) {
|
|
11
12
|
return value instanceof Object;
|
|
12
13
|
}
|
|
14
|
+
function assertDownloadedTarballSize(size) {
|
|
15
|
+
if (size > maxDownloadedTarballBytes) {
|
|
16
|
+
throw new Error(`Refusing to download tarball larger than ${maxDownloadedTarballBytes} bytes`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function assertContentLengthWithinDownloadLimit(response) {
|
|
20
|
+
assertDownloadedTarballSize(Number(response.headers?.get('content-length')));
|
|
21
|
+
}
|
|
13
22
|
function isMissingPackageError(error) {
|
|
14
23
|
const statusCode = isRecord(error) ? error.statusCode : undefined;
|
|
15
24
|
return statusCode === notFoundStatusCode || statusCode === forbiddenStatusCode;
|
|
@@ -131,11 +140,14 @@ export async function fetchStagedPackageVersions(npmFetch, packageName, registry
|
|
|
131
140
|
return fetchPage(0, []);
|
|
132
141
|
}
|
|
133
142
|
export async function fetchPackageTarball(npmFetch, tarballUrl, registrySettings) {
|
|
134
|
-
|
|
143
|
+
assertTarballOriginMatchesRegistry(tarballUrl, registrySettings);
|
|
135
144
|
const auth = resolveMetadataAuthOptions(registrySettings);
|
|
136
145
|
const response = await retryWithFallbackAuth(registrySettings, auth, async (options) => {
|
|
137
146
|
return npmFetch(tarballUrl, options);
|
|
138
147
|
});
|
|
139
|
-
|
|
148
|
+
assertContentLengthWithinDownloadLimit(response);
|
|
149
|
+
const tarball = await response.buffer();
|
|
150
|
+
assertDownloadedTarballSize(tarball.length);
|
|
151
|
+
return tarball;
|
|
140
152
|
}
|
|
141
153
|
//# sourceMappingURL=package-metadata-fetcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-metadata-fetcher.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/package-metadata-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EACH,+BAA+B,EAC/B,wBAAwB,EAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package-metadata-fetcher.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/package-metadata-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-response-schemas.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-response-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registry-response-schemas.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-response-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC;CAC9D,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAC3B,CAAC,CAAC;AAgCH,MAAM,UAAU,+BAA+B,CAAC,QAAiB;IAC7D,MAAM,MAAM,GAAG,gCAAgC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAiB;IACtD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,QAAiB;IACvD,MAAM,MAAM,GAAG,SAAS,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAA4B,EAAE,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { npmRegistryUrl } from "./registry-auth-config.js";
|
|
2
|
-
function
|
|
3
|
-
return new URL(registrySettings.registryUrl ?? npmRegistryUrl).
|
|
2
|
+
function resolveConfiguredOrigin(registrySettings) {
|
|
3
|
+
return new URL(registrySettings.registryUrl ?? npmRegistryUrl).origin;
|
|
4
4
|
}
|
|
5
|
-
function
|
|
5
|
+
function parseTarballOrigin(tarballUrl) {
|
|
6
6
|
try {
|
|
7
|
-
return new URL(tarballUrl).
|
|
7
|
+
return new URL(tarballUrl).origin;
|
|
8
8
|
}
|
|
9
9
|
catch {
|
|
10
10
|
throw new TypeError(`Registry returned an invalid tarball URL: "${tarballUrl}"`);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
function buildMismatchMessage(
|
|
14
|
-
return (`Refusing to download tarball from "${
|
|
15
|
-
`"${
|
|
13
|
+
function buildMismatchMessage(tarballOrigin, configuredOrigin) {
|
|
14
|
+
return (`Refusing to download tarball from "${tarballOrigin}" because it differs from the configured registry origin ` +
|
|
15
|
+
`"${configuredOrigin}". A tampered registry response could redirect the request and exfiltrate ` +
|
|
16
16
|
'publish credentials.');
|
|
17
17
|
}
|
|
18
|
-
export function
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
throw new Error(buildMismatchMessage(
|
|
18
|
+
export function assertTarballOriginMatchesRegistry(tarballUrl, registrySettings) {
|
|
19
|
+
const tarballOrigin = parseTarballOrigin(tarballUrl);
|
|
20
|
+
const configuredOrigin = resolveConfiguredOrigin(registrySettings);
|
|
21
|
+
if (tarballOrigin !== configuredOrigin) {
|
|
22
|
+
throw new Error(buildMismatchMessage(tarballOrigin, configuredOrigin));
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=validate-tarball-host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-tarball-host.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/validate-tarball-host.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,SAAS,
|
|
1
|
+
{"version":3,"file":"validate-tarball-host.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/validate-tarball-host.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,SAAS,uBAAuB,CAAC,gBAA4C;IACzE,OAAO,IAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC1C,IAAI,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,SAAS,CAAC,8CAA8C,UAAU,GAAG,CAAC,CAAC;IACrF,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB,EAAE,gBAAwB;IACzE,OAAO,CACH,sCAAsC,aAAa,2DAA2D;QAC9G,IAAI,gBAAgB,4EAA4E;QAChG,sBAAsB,CACzB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kCAAkC,CAC9C,UAAkB,EAClB,gBAA4C;IAE5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAEnE,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { FormattedZodError, formatZodError } from '@schema-hub/zod-error-formatter';
|
|
2
|
+
import { z } from 'zod/v4-mini';
|
|
3
|
+
function normalizeValidationIssue(issue) {
|
|
4
|
+
return issue
|
|
5
|
+
.replaceAll(': Invalid input', ': invalid input')
|
|
6
|
+
.replaceAll('no union alternative matched:', 'invalid value doesn’t match expected union')
|
|
7
|
+
.replaceAll(/: missing property; expected [^;|]+/gu, ': missing property');
|
|
8
|
+
}
|
|
9
|
+
function formatPath(path) {
|
|
10
|
+
return path
|
|
11
|
+
.map((segment) => {
|
|
12
|
+
return typeof segment === 'number' ? `[${segment}]` : `.${String(segment)}`;
|
|
13
|
+
})
|
|
14
|
+
.join('')
|
|
15
|
+
.replace(/^\./u, '');
|
|
16
|
+
}
|
|
17
|
+
function formatPathPrefix(path) {
|
|
18
|
+
const formattedPath = formatPath(path);
|
|
19
|
+
return formattedPath.length === 0 ? '' : `at ${formattedPath}: `;
|
|
20
|
+
}
|
|
21
|
+
function valueAtPath(value, path) {
|
|
22
|
+
let current = value;
|
|
23
|
+
for (const segment of path) {
|
|
24
|
+
current = Reflect.get(new Object(current), segment);
|
|
25
|
+
}
|
|
26
|
+
return current;
|
|
27
|
+
}
|
|
28
|
+
function formatExpectedValue(value) {
|
|
29
|
+
return typeof value === 'string' ? `"${value}"` : String(value);
|
|
30
|
+
}
|
|
31
|
+
function formatActualType(value) {
|
|
32
|
+
if (value === null) {
|
|
33
|
+
return 'null';
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value)) {
|
|
36
|
+
return 'array';
|
|
37
|
+
}
|
|
38
|
+
return typeof value;
|
|
39
|
+
}
|
|
40
|
+
function shouldUseGenericUnionIssue(issue, normalizedFallbackIssue) {
|
|
41
|
+
return (normalizedFallbackIssue === 'Invalid input' ||
|
|
42
|
+
normalizedFallbackIssue.includes('invalid value doesn’t match expected union') ||
|
|
43
|
+
(issue.path.length === 0 && normalizedFallbackIssue.startsWith('at ')));
|
|
44
|
+
}
|
|
45
|
+
function formatUnionIssue(issue, fallbackIssue) {
|
|
46
|
+
const normalizedFallbackIssue = normalizeValidationIssue(fallbackIssue);
|
|
47
|
+
if (shouldUseGenericUnionIssue(issue, normalizedFallbackIssue)) {
|
|
48
|
+
return `${formatPathPrefix(issue.path)}invalid value doesn’t match expected union`;
|
|
49
|
+
}
|
|
50
|
+
return normalizedFallbackIssue;
|
|
51
|
+
}
|
|
52
|
+
function formatInvalidValueIssue(issue, input) {
|
|
53
|
+
const actualValue = valueAtPath(input, issue.path);
|
|
54
|
+
if (actualValue === undefined) {
|
|
55
|
+
return `${formatPathPrefix(issue.path)}missing property`;
|
|
56
|
+
}
|
|
57
|
+
const [expectedValue] = issue.values;
|
|
58
|
+
const expectedValueMessage = formatExpectedValue(expectedValue);
|
|
59
|
+
const actualTypeMessage = formatActualType(actualValue);
|
|
60
|
+
const issuePath = formatPathPrefix(issue.path);
|
|
61
|
+
return `${issuePath}invalid literal: expected ${expectedValueMessage}, but got ${actualTypeMessage}`;
|
|
62
|
+
}
|
|
63
|
+
function formatStableIssue(issue, input, fallbackIssue) {
|
|
64
|
+
if (issue.code === 'invalid_union') {
|
|
65
|
+
return formatUnionIssue(issue, fallbackIssue);
|
|
66
|
+
}
|
|
67
|
+
if (issue.code === 'invalid_key') {
|
|
68
|
+
return `${formatPathPrefix(issue.path)}invalid key`;
|
|
69
|
+
}
|
|
70
|
+
return issue.code === 'invalid_value' ? formatInvalidValueIssue(issue, input) : undefined;
|
|
71
|
+
}
|
|
72
|
+
function normalizeIssues(issues, fallbackIssues, value) {
|
|
73
|
+
const normalizedIssues = issues.map((issue, index) => {
|
|
74
|
+
const fallbackIssue = String(fallbackIssues[index]);
|
|
75
|
+
return formatStableIssue(issue, value, fallbackIssue) ?? normalizeValidationIssue(fallbackIssue);
|
|
76
|
+
});
|
|
77
|
+
return [String(normalizedIssues[0]), ...normalizedIssues.slice(1)];
|
|
78
|
+
}
|
|
79
|
+
export function safeParse(schema, value) {
|
|
80
|
+
const result = z.safeParse(schema, value);
|
|
81
|
+
if (result.success) {
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
const fallbackIssues = formatZodError(result.error, value).issues;
|
|
85
|
+
return {
|
|
86
|
+
success: false,
|
|
87
|
+
error: new FormattedZodError(normalizeIssues(result.error.issues, fallbackIssues, value))
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=schema-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validation.js","sourceRoot":"","sources":["../../../../source/common/schema-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ import { additionalPackageJsonAttributesSchema } from "./additional-package-json
|
|
|
4
4
|
import { deadCodeEliminationSettingsSchema } from "./dead-code-elimination-settings.js";
|
|
5
5
|
import { dependencyPolicySchema } from "./dependency-policy.js";
|
|
6
6
|
import { publishSettingsSchema } from "./publish-settings.js";
|
|
7
|
+
import { nonEmptyStringSchema } from "./base-validations.js";
|
|
7
8
|
export const optionalPackageSettingsSchema = z.strictObject({
|
|
9
|
+
additionalChangelogSourceFiles: z.optional(z.readonly(z.array(nonEmptyStringSchema))),
|
|
8
10
|
additionalFiles: z.optional(z.readonly(z.array(additionalFileDescriptionSchema))),
|
|
9
11
|
includeSourceMapFiles: z.optional(z.boolean()),
|
|
10
12
|
additionalPackageJsonAttributes: z.optional(additionalPackageJsonAttributesSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optional-package-settings-schema.js","sourceRoot":"","sources":["../../../../source/config/optional-package-settings-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"optional-package-settings-schema.js","sourceRoot":"","sources":["../../../../source/config/optional-package-settings-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC;IACxD,8BAA8B,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACrF,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACjF,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,+BAA+B,EAAE,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAClF,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAClD,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpD,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CACrE,CAAC,CAAC"}
|
|
@@ -10,6 +10,7 @@ import type { VersioningSettings } from './versioning-settings.ts';
|
|
|
10
10
|
export type CommonPackageSettings = {
|
|
11
11
|
readonly sourcesFolder?: string | undefined;
|
|
12
12
|
readonly mainPackageJson?: MainPackageJson | undefined;
|
|
13
|
+
readonly additionalChangelogSourceFiles?: readonly string[] | undefined;
|
|
13
14
|
readonly additionalFiles?: readonly AdditionalFileDescription[] | undefined;
|
|
14
15
|
readonly includeSourceMapFiles?: boolean | undefined;
|
|
15
16
|
readonly additionalPackageJsonAttributes?: AdditionalPackageJsonAttributes | undefined;
|
|
@@ -25,6 +26,7 @@ type PackageConfigBase = {
|
|
|
25
26
|
readonly bundlePeerDependencies?: readonly string[] | undefined;
|
|
26
27
|
readonly sourcesFolder?: string | undefined;
|
|
27
28
|
readonly mainPackageJson?: MainPackageJson | undefined;
|
|
29
|
+
readonly additionalChangelogSourceFiles?: readonly string[] | undefined;
|
|
28
30
|
readonly additionalFiles?: readonly AdditionalFileDescription[] | undefined;
|
|
29
31
|
readonly includeSourceMapFiles?: boolean | undefined;
|
|
30
32
|
readonly additionalPackageJsonAttributes?: AdditionalPackageJsonAttributes | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-config.d.ts","sourceRoot":"","sources":["../../../../source/config/package-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"package-config.d.ts","sourceRoot":"","sources":["../../../../source/config/package-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-config.js","sourceRoot":"","sources":["../../../../source/config/package-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"package-config.js","sourceRoot":"","sources":["../../../../source/config/package-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAyDjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAA,uBAA+B,CAAA,CAAC"}
|
package/config/validation.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result } from 'true-myth';
|
|
2
|
-
import { safeParse } from
|
|
2
|
+
import { safeParse } from "../common/schema-validation.js";
|
|
3
3
|
import { validateCyclicDependencies, validateDuplicatePackages } from "./cross-package-validation.js";
|
|
4
4
|
import { buildPackageGraph } from "./package-graph-builder.js";
|
|
5
5
|
import { packtoryConfigSchema } from "./packtory-config-schema.js";
|
package/config/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../source/config/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../source/config/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAYvF,SAAS,oCAAoC,CACzC,MAAmB,EACnB,MAAe;IAEf,MAAM,sBAAsB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,gIAAgI;IAChI,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAe,CAAC;IAC9D,MAAM,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CACvB,MAAyE;IAEzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IACxD,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC;IACpH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,MAAe;IAC1C,OAAO,kBAAkB,CAAC,oCAAoC,CAAiB,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,6BAA6B,CACzC,MAAe;IAEf,OAAO,kBAAkB,CACrB,oCAAoC,CAAgC,mCAAmC,EAAE,MAAM,CAAC,CACnH,CAAC;AACN,CAAC"}
|
|
@@ -4,14 +4,14 @@ import { createDependencyGraph } from "./dependency-graph.js";
|
|
|
4
4
|
import { moduleReferenceKind } from "./source-file-references.js";
|
|
5
5
|
export function createDependencyScanner(dependencyScannerDependencies) {
|
|
6
6
|
const { sourceMapFileLocator, typescriptProjectAnalyzer } = dependencyScannerDependencies;
|
|
7
|
-
async function getDependencyNodeData(
|
|
8
|
-
const sourceMapFilePath = options.includeSourceMapFiles && isCodeFile(sourceFilePath)
|
|
9
|
-
? await sourceMapFileLocator.locate(sourceFilePath)
|
|
7
|
+
async function getDependencyNodeData(args) {
|
|
8
|
+
const sourceMapFilePath = args.options.includeSourceMapFiles && isCodeFile(args.sourceFilePath)
|
|
9
|
+
? await sourceMapFileLocator.locate(args.sourceFilePath, args.sourcesFolder)
|
|
10
10
|
: Maybe.nothing();
|
|
11
11
|
return {
|
|
12
12
|
sourceMapFilePath,
|
|
13
|
-
externalDependencies,
|
|
14
|
-
project
|
|
13
|
+
externalDependencies: args.externalDependencies,
|
|
14
|
+
project: args.project
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
function collectReferenceLists(references) {
|
|
@@ -30,32 +30,37 @@ export function createDependencyScanner(dependencyScannerDependencies) {
|
|
|
30
30
|
externalDependencies
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
function getReferencedModules(project, reference) {
|
|
34
|
+
return reference.kind === moduleReferenceKind.localCode ? project.getReferencedModules(reference.filePath) : [];
|
|
35
|
+
}
|
|
36
|
+
function getNodeProject(project, reference) {
|
|
37
|
+
return reference.kind === moduleReferenceKind.localCode ? project : undefined;
|
|
38
|
+
}
|
|
39
|
+
function toDependencyNode(reference, nodeData) {
|
|
40
|
+
return reference.kind === moduleReferenceKind.generatedManifest
|
|
41
|
+
? { ...nodeData, isGeneratedManifest: true }
|
|
42
|
+
: nodeData;
|
|
42
43
|
}
|
|
43
|
-
async function scanDependenciesOfReference(
|
|
44
|
+
async function scanDependenciesOfReference(context, reference) {
|
|
44
45
|
const sourceFilePath = reference.filePath;
|
|
45
|
-
const referencedModules =
|
|
46
|
+
const referencedModules = getReferencedModules(context.project, reference);
|
|
46
47
|
const { localReferences, externalDependencies } = collectReferenceLists(referencedModules);
|
|
47
|
-
const nodeData = await getDependencyNodeData(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
localReferences,
|
|
54
|
-
options,
|
|
55
|
-
project,
|
|
56
|
-
scanReference: scanDependenciesOfReference,
|
|
57
|
-
sourceFilePath
|
|
48
|
+
const nodeData = await getDependencyNodeData({
|
|
49
|
+
externalDependencies,
|
|
50
|
+
options: context.options,
|
|
51
|
+
project: getNodeProject(context.project, reference),
|
|
52
|
+
sourceFilePath,
|
|
53
|
+
sourcesFolder: context.folder
|
|
58
54
|
});
|
|
55
|
+
context.graph.addDependency(sourceFilePath, toDependencyNode(reference, nodeData));
|
|
56
|
+
for (const localReference of localReferences) {
|
|
57
|
+
if (!context.graph.isKnown(localReference.filePath)) {
|
|
58
|
+
await scanDependenciesOfReference(context, localReference);
|
|
59
|
+
}
|
|
60
|
+
if (!context.graph.hasConnection(sourceFilePath, localReference.filePath)) {
|
|
61
|
+
context.graph.connect(sourceFilePath, localReference.filePath);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
59
64
|
}
|
|
60
65
|
return {
|
|
61
66
|
async scan(entryPointFile, folder, options) {
|
|
@@ -70,7 +75,12 @@ export function createDependencyScanner(dependencyScannerDependencies) {
|
|
|
70
75
|
resolveDeclarationFiles: scanOptions.resolveDeclarationFiles,
|
|
71
76
|
mainPackageJson: scanOptions.mainPackageJson
|
|
72
77
|
});
|
|
73
|
-
await scanDependenciesOfReference(
|
|
78
|
+
await scanDependenciesOfReference({
|
|
79
|
+
folder,
|
|
80
|
+
graph,
|
|
81
|
+
options: scanOptions,
|
|
82
|
+
project
|
|
83
|
+
}, { kind: moduleReferenceKind.localCode, filePath: entryPointFile });
|
|
74
84
|
return graph;
|
|
75
85
|
}
|
|
76
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAsD,MAAM,uBAAuB,CAAC;AAElH,OAAO,EAAE,mBAAmB,EAAwB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,66 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { Maybe } from 'true-myth';
|
|
3
|
+
function sourceMappingUrlPrefix() {
|
|
4
|
+
return '//# sourceMappingURL=';
|
|
5
|
+
}
|
|
3
6
|
function getSourceMappingUrl(fileContent) {
|
|
7
|
+
const prefix = sourceMappingUrlPrefix();
|
|
4
8
|
for (const line of fileContent.split('\n')) {
|
|
5
|
-
if (line.startsWith(
|
|
6
|
-
const sourceMappingUrl = line.slice(
|
|
7
|
-
return sourceMappingUrl
|
|
9
|
+
if (line.startsWith(prefix)) {
|
|
10
|
+
const sourceMappingUrl = line.slice(prefix.length);
|
|
11
|
+
return sourceMappingUrl;
|
|
8
12
|
}
|
|
9
13
|
}
|
|
10
14
|
return undefined;
|
|
11
15
|
}
|
|
16
|
+
function isUrlLike(filePath) {
|
|
17
|
+
return /^[a-z][\d+.a-z-]*:/iu.test(filePath);
|
|
18
|
+
}
|
|
19
|
+
function isRelativeMapFilePath(filePath) {
|
|
20
|
+
if (path.posix.isAbsolute(filePath) || path.win32.isAbsolute(filePath)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (isUrlLike(filePath) || filePath.includes('?') || filePath.includes('#')) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return path.extname(filePath) === '.map';
|
|
27
|
+
}
|
|
28
|
+
function isInFolder(folder, candidate) {
|
|
29
|
+
const relativePath = path.relative(folder, candidate);
|
|
30
|
+
return relativePath.length > 0 && !relativePath.startsWith('..') && !path.isAbsolute(relativePath);
|
|
31
|
+
}
|
|
32
|
+
function resolveSourceMapFile(sourceFile, sourcesFolder, sourceMappingUrl) {
|
|
33
|
+
if (!isRelativeMapFilePath(sourceMappingUrl)) {
|
|
34
|
+
return Maybe.nothing();
|
|
35
|
+
}
|
|
36
|
+
const sourceMapFile = path.resolve(path.dirname(sourceFile), sourceMappingUrl);
|
|
37
|
+
return isInFolder(path.resolve(sourcesFolder), sourceMapFile) ? Maybe.just(sourceMapFile) : Maybe.nothing();
|
|
38
|
+
}
|
|
12
39
|
export function createSourceMapFileLocator(dependencies) {
|
|
13
40
|
const { fileManager } = dependencies;
|
|
41
|
+
async function isReadableSourceMap(sourcesFolder, sourceMapFile) {
|
|
42
|
+
const { isReadable } = await fileManager.checkReadability(sourceMapFile);
|
|
43
|
+
if (!isReadable) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const realSourcesFolder = await fileManager.getRealPath(sourcesFolder);
|
|
47
|
+
const realSourceMapFile = await fileManager.getRealPath(sourceMapFile);
|
|
48
|
+
return isInFolder(realSourcesFolder, realSourceMapFile);
|
|
49
|
+
}
|
|
14
50
|
return {
|
|
15
|
-
async locate(sourceFile) {
|
|
51
|
+
async locate(sourceFile, sourcesFolder) {
|
|
16
52
|
const fileContent = await fileManager.readFile(sourceFile);
|
|
17
53
|
const sourceMappingUrl = getSourceMappingUrl(fileContent);
|
|
18
|
-
if (sourceMappingUrl
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
54
|
+
if (sourceMappingUrl === undefined) {
|
|
55
|
+
return Maybe.nothing();
|
|
56
|
+
}
|
|
57
|
+
const sourceMapFile = resolveSourceMapFile(sourceFile, sourcesFolder, sourceMappingUrl);
|
|
58
|
+
if (sourceMapFile.isNothing) {
|
|
59
|
+
return Maybe.nothing();
|
|
25
60
|
}
|
|
26
|
-
return
|
|
61
|
+
return (await isReadableSourceMap(sourcesFolder, sourceMapFile.value))
|
|
62
|
+
? Maybe.just(sourceMapFile.value)
|
|
63
|
+
: Maybe.nothing();
|
|
27
64
|
}
|
|
28
65
|
};
|
|
29
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-map-file-locator.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAWlC,SAAS,mBAAmB,CAAC,WAAmB;IAC5C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"source-map-file-locator.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"@cyclonedx/cyclonedx-library": "10.1.0",
|
|
9
9
|
"@jridgewell/gen-mapping": "0.3.13",
|
|
10
10
|
"@jridgewell/trace-mapping": "0.3.31",
|
|
11
|
-
"@schema-hub/zod-error-formatter": "0.0.
|
|
11
|
+
"@schema-hub/zod-error-formatter": "0.0.12",
|
|
12
12
|
"@ts-morph/common": "0.29.0",
|
|
13
13
|
"@types/npm-registry-fetch": "8.0.9",
|
|
14
14
|
"common-tags": "1.8.2",
|
|
@@ -54,6 +54,9 @@
|
|
|
54
54
|
"./common/package-layout.js": {
|
|
55
55
|
"import": "./common/package-layout.js"
|
|
56
56
|
},
|
|
57
|
+
"./common/schema-validation.js": {
|
|
58
|
+
"import": "./common/schema-validation.js"
|
|
59
|
+
},
|
|
57
60
|
"./common/sort-values.js": {
|
|
58
61
|
"import": "./common/sort-values.js"
|
|
59
62
|
},
|
|
@@ -119,5 +122,5 @@
|
|
|
119
122
|
"./tar/tarball-builder.js"
|
|
120
123
|
],
|
|
121
124
|
"type": "module",
|
|
122
|
-
"version": "0.0.
|
|
125
|
+
"version": "0.0.48"
|
|
123
126
|
}
|