packtory 0.0.25 → 0.0.27
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 +52 -4
- package/bundle-emitter/emitter.d.ts.map +1 -1
- package/bundle-emitter/emitter.js +43 -3
- package/bundle-emitter/emitter.js.map +1 -1
- package/bundle-emitter/fetch-published-artifacts.d.ts +1 -0
- package/bundle-emitter/fetch-published-artifacts.d.ts.map +1 -1
- package/bundle-emitter/publication-outcome.d.ts +9 -0
- package/bundle-emitter/publication-outcome.d.ts.map +1 -0
- package/bundle-emitter/publication-outcome.js +6 -0
- package/bundle-emitter/publication-outcome.js.map +1 -0
- package/bundle-emitter/registry/package-metadata-fetcher.d.ts +9 -0
- package/bundle-emitter/registry/package-metadata-fetcher.d.ts.map +1 -1
- package/bundle-emitter/registry/package-metadata-fetcher.js +45 -1
- package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
- package/bundle-emitter/registry/registry-auth-config.js +31 -6
- package/bundle-emitter/registry/registry-auth-config.js.map +1 -1
- package/bundle-emitter/registry/registry-client.d.ts +19 -2
- package/bundle-emitter/registry/registry-client.d.ts.map +1 -1
- package/bundle-emitter/registry/registry-client.js +24 -9
- package/bundle-emitter/registry/registry-client.js.map +1 -1
- package/checks/check-runner.js +5 -4
- package/checks/check-runner.js.map +1 -1
- package/checks/rule.js.map +1 -1
- package/checks/rules/are-the-types-wrong.js +147 -0
- package/checks/rules/are-the-types-wrong.js.map +1 -0
- package/checks/rules/max-bundle-size.js +1 -1
- package/checks/rules/max-bundle-size.js.map +1 -1
- package/checks/rules/no-dev-dependency-imports.js +1 -1
- package/checks/rules/no-dev-dependency-imports.js.map +1 -1
- package/checks/rules/no-duplicated-files.js +1 -1
- package/checks/rules/no-duplicated-files.js.map +1 -1
- package/checks/rules/no-side-effects.js +1 -1
- package/checks/rules/no-side-effects.js.map +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js +1 -1
- package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
- package/checks/rules/registry.js +2 -0
- package/checks/rules/registry.js.map +1 -1
- package/checks/rules/required-files.js +1 -1
- package/checks/rules/required-files.js.map +1 -1
- package/checks/rules/unique-target-paths.js +1 -1
- package/checks/rules/unique-target-paths.js.map +1 -1
- package/config/checks-schema.d.ts +12 -0
- package/config/checks-schema.d.ts.map +1 -1
- package/config/checks-schema.js +3 -0
- package/config/checks-schema.js.map +1 -1
- package/config/config.d.ts +1 -1
- package/config/config.d.ts.map +1 -1
- package/config/package-interface.d.ts +4 -20
- package/config/package-interface.d.ts.map +1 -1
- package/config/package-interface.js +9 -12
- package/config/package-interface.js.map +1 -1
- package/config/packtory-config-schema.js +1 -1
- package/config/packtory-config-schema.js.map +1 -1
- package/config/registry-settings.d.ts +2 -2
- package/config/registry-settings.js +1 -1
- package/config/registry-settings.js.map +1 -1
- package/config/registry-settings.report.js +1 -1
- package/config/registry-settings.report.js.map +1 -1
- package/dead-code-eliminator/pure-expression.js +31 -13
- package/dead-code-eliminator/pure-expression.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 +39 -32
- package/dead-code-eliminator/statement-classifiers.js.map +1 -1
- package/dependency-scanner/source-file-references.js +6 -4
- package/dependency-scanner/source-file-references.js.map +1 -1
- package/package.json +2 -4
- package/packtory/map-config.js +1 -1
- package/packtory/map-config.js.map +1 -1
- package/packtory/package-processor-publish.d.ts +6 -5
- package/packtory/package-processor-publish.d.ts.map +1 -1
- package/packtory/package-processor-publish.js +12 -7
- package/packtory/package-processor-publish.js.map +1 -1
- package/packtory/packtory-release-analysis.js +2 -1
- package/packtory/packtory-release-analysis.js.map +1 -1
- package/packtory/packtory-release-diff.js +2 -1
- package/packtory/packtory-release-diff.js.map +1 -1
- package/packtory/packtory-resolve.js +1 -1
- package/packtory/packtory-resolve.js.map +1 -1
- package/packtory/packtory-results.d.ts +1 -0
- package/packtory/packtory-results.d.ts.map +1 -1
- package/packtory/packtory-results.js.map +1 -1
- package/packtory/packtory.js +12 -1
- package/packtory/packtory.js.map +1 -1
- package/packtory/resolved-package.d.ts +2 -0
- package/packtory/resolved-package.d.ts.map +1 -1
- package/packtory/resolved-package.js +32 -3
- 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.map +1 -1
- package/packtory/stages/publish-stage.js +3 -1
- package/packtory/stages/publish-stage.js.map +1 -1
- package/progress/progress-broadcaster.d.ts +2 -0
- package/progress/progress-broadcaster.d.ts.map +1 -1
- package/progress/progress-broadcaster.js.map +1 -1
- package/published-package/published-package.d.ts +3 -0
- package/published-package/published-package.d.ts.map +1 -1
- package/readme.md +5 -3
- package/report/aggregator/package-report-materialization.js +1 -0
- package/report/aggregator/package-report-materialization.js.map +1 -1
- package/report/aggregator/report-event-handlers.js +3 -0
- package/report/aggregator/report-event-handlers.js.map +1 -1
- package/report/aggregator/report-types.d.ts +2 -0
- package/report/aggregator/report-types.d.ts.map +1 -1
- package/report/aggregator/report-types.js.map +1 -1
- package/report/config-redactor.js +1 -1
- package/report/config-redactor.js.map +1 -1
- package/sbom/sbom-file.d.ts +3 -0
- package/sbom/sbom-file.d.ts.map +1 -1
- package/sbom.cdx.json +22 -22
- package/version-manager/specifier-classifier.js +11 -9
- package/version-manager/specifier-classifier.js.map +1 -1
|
@@ -1,11 +1,59 @@
|
|
|
1
1
|
import { Maybe } from 'true-myth';
|
|
2
2
|
import type { ArtifactsBuilder } from '../artifacts/artifacts-builder.ts';
|
|
3
|
-
import type { PublishSettings } from '../config/publish-settings.ts';
|
|
4
|
-
import type { RegistrySettings } from '../config/registry-settings.ts';
|
|
5
|
-
import type { VersioningSettings } from '../config/versioning-settings.ts';
|
|
6
3
|
import type { FileDescription } from '../file-manager/file-description.ts';
|
|
7
4
|
import type { ArtifactPublishPackage } from '../published-package/published-package.ts';
|
|
8
|
-
import {
|
|
5
|
+
import { fetchPublishedArtifacts } from './fetch-published-artifacts.ts';
|
|
9
6
|
import type { RegistryClient } from './registry/registry-client.ts';
|
|
7
|
+
type Second<TValues extends readonly unknown[]> = TValues extends readonly [
|
|
8
|
+
unknown,
|
|
9
|
+
infer TValue,
|
|
10
|
+
...(readonly unknown[])
|
|
11
|
+
] ? TValue : never;
|
|
12
|
+
type Fourth<TValues extends readonly unknown[]> = TValues extends readonly [
|
|
13
|
+
unknown,
|
|
14
|
+
unknown,
|
|
15
|
+
unknown,
|
|
16
|
+
infer TValue,
|
|
17
|
+
...(readonly unknown[])
|
|
18
|
+
] ? TValue : never;
|
|
19
|
+
type RegistryClientPublishArguments = Parameters<RegistryClient['publishPackage']>;
|
|
20
|
+
type ExtraFiles = readonly FileDescription[];
|
|
21
|
+
type PublicationOutcome = Awaited<ReturnType<RegistryClient['publishPackage']>>;
|
|
22
|
+
type PublishSettings = Fourth<RegistryClientPublishArguments>;
|
|
23
|
+
type RegistrySettings = Second<Parameters<RegistryClient['fetchLatestVersion']>>;
|
|
24
|
+
type VersioningSettings = {
|
|
25
|
+
readonly automatic: false;
|
|
26
|
+
readonly version: string;
|
|
27
|
+
} | {
|
|
28
|
+
readonly automatic: true;
|
|
29
|
+
};
|
|
30
|
+
type PreviousReleaseArtifacts = Awaited<ReturnType<typeof fetchPublishedArtifacts>>;
|
|
31
|
+
type PublishOptions = {
|
|
32
|
+
readonly bundle: ArtifactPublishPackage;
|
|
33
|
+
readonly registrySettings: RegistrySettings;
|
|
34
|
+
readonly publishSettings: PublishSettings;
|
|
35
|
+
readonly stage: boolean;
|
|
36
|
+
readonly extraFiles?: ExtraFiles;
|
|
37
|
+
};
|
|
38
|
+
type AlreadyPublishedCheckOptions = {
|
|
39
|
+
readonly bundle: ArtifactPublishPackage;
|
|
40
|
+
readonly registrySettings: RegistrySettings;
|
|
41
|
+
readonly extraFiles?: ExtraFiles;
|
|
42
|
+
};
|
|
43
|
+
type CurrentVersionLookupOptions = {
|
|
44
|
+
readonly name: string;
|
|
45
|
+
readonly registrySettings: RegistrySettings;
|
|
46
|
+
readonly stage: boolean;
|
|
47
|
+
readonly versioning: VersioningSettings;
|
|
48
|
+
};
|
|
49
|
+
type BundlePublishedCheckResult = {
|
|
50
|
+
readonly alreadyPublishedAsLatest: boolean;
|
|
51
|
+
readonly previousReleaseArtifacts: PreviousReleaseArtifacts;
|
|
52
|
+
};
|
|
53
|
+
export type BundleEmitter = {
|
|
54
|
+
publish: (options: PublishOptions) => Promise<PublicationOutcome>;
|
|
55
|
+
determineCurrentVersion: (options: CurrentVersionLookupOptions) => Promise<Maybe<string>>;
|
|
56
|
+
checkBundleAlreadyPublished: (options: AlreadyPublishedCheckOptions) => Promise<BundlePublishedCheckResult>;
|
|
57
|
+
};
|
|
10
58
|
export {};
|
|
11
59
|
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C;AAEvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B;AAGnE,KAAK,MAAM,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,IAAI,OAAO,SAAS,SAAS;IACvE,OAAO;IACP,MAAM,MAAM;IACZ,GAAG,CAAC,SAAS,OAAO,EAAE,CAAC;CAC1B,GACK,MAAM,GACN,KAAK;AACX,KAAK,MAAM,CAAC,OAAO,SAAS,SAAS,OAAO,EAAE,IAAI,OAAO,SAAS,SAAS;IACvE,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM,MAAM;IACZ,GAAG,CAAC,SAAS,OAAO,EAAE,CAAC;CAC1B,GACK,MAAM,GACN,KAAK;AACX,KAAK,8BAA8B,GAAG,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAClF,KAAK,UAAU,GAAG,SAAS,eAAe,EAAE;AAC5C,KAAK,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC/E,KAAK,eAAe,GAAG,MAAM,CAAC,8BAA8B,CAAC;AAC7D,KAAK,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAChF,KAAK,kBAAkB,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CAAE;AAChH,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAQnF,KAAK,cAAc,GAAG;IAClB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CACpC;AAED,KAAK,4BAA4B,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CACpC;AAED,KAAK,2BAA2B,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CAC3C;AAED,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;CAC/D;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,uBAAuB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,2BAA2B,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC/G"}
|
|
@@ -1,14 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
import semver from 'semver';
|
|
2
2
|
import { Maybe } from 'true-myth';
|
|
3
3
|
import { compareFileDescriptions, fileDescriptionComparisonStatus } from "../file-manager/compare.js";
|
|
4
4
|
import { canonicalizeSbomInFileSet } from "../sbom/sbom-canonicalizer.js";
|
|
5
5
|
import { fetchPublishedArtifacts } from "./fetch-published-artifacts.js";
|
|
6
6
|
import { assertRepositoryCoherence } from "./repository-coherence.js";
|
|
7
|
+
const stageRegistryUnsupportedMessage = 'npm staged publishing is only supported with the npmjs.org registry';
|
|
8
|
+
const stageFirstPublishUnsupportedMessage = 'npm staged publishing requires the package to already exist on the npm registry';
|
|
9
|
+
const npmRegistryUrl = 'https://registry.npmjs.org/';
|
|
10
|
+
function isNpmRegistry(registryUrl) {
|
|
11
|
+
return new URL(registryUrl ?? npmRegistryUrl).href === npmRegistryUrl;
|
|
12
|
+
}
|
|
13
|
+
function validateVersion(version) {
|
|
14
|
+
const normalized = semver.valid(version);
|
|
15
|
+
if (normalized === null) {
|
|
16
|
+
throw new Error(`Registry returned an invalid version "${version}" for staged publishing`);
|
|
17
|
+
}
|
|
18
|
+
return normalized;
|
|
19
|
+
}
|
|
20
|
+
function highestVersion(firstVersion, laterVersions) {
|
|
21
|
+
let highest = validateVersion(firstVersion);
|
|
22
|
+
for (const version of laterVersions) {
|
|
23
|
+
const candidate = validateVersion(version);
|
|
24
|
+
if (semver.gt(candidate, highest)) {
|
|
25
|
+
highest = candidate;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return highest;
|
|
29
|
+
}
|
|
7
30
|
export function createBundleEmitter(dependencies) {
|
|
8
31
|
const { artifactsBuilder, registryClient, ciRepositoryUrl } = dependencies;
|
|
32
|
+
async function determineCurrentVersionForStageMode(name, registrySettings, versioning) {
|
|
33
|
+
if (!isNpmRegistry(registrySettings.registryUrl)) {
|
|
34
|
+
throw new Error(stageRegistryUnsupportedMessage);
|
|
35
|
+
}
|
|
36
|
+
const latestVersion = await registryClient.fetchLatestVersion(name, registrySettings);
|
|
37
|
+
if (latestVersion.isNothing) {
|
|
38
|
+
throw new Error(stageFirstPublishUnsupportedMessage);
|
|
39
|
+
}
|
|
40
|
+
if (!versioning.automatic) {
|
|
41
|
+
return Maybe.just(versioning.version);
|
|
42
|
+
}
|
|
43
|
+
const stagedVersions = await registryClient.fetchStagedVersions(name, registrySettings);
|
|
44
|
+
return Maybe.just(highestVersion(latestVersion.value.version, stagedVersions));
|
|
45
|
+
}
|
|
9
46
|
return {
|
|
10
47
|
async determineCurrentVersion(options) {
|
|
11
|
-
const { versioning, registrySettings, name } = options;
|
|
48
|
+
const { versioning, registrySettings, name, stage } = options;
|
|
49
|
+
if (stage) {
|
|
50
|
+
return determineCurrentVersionForStageMode(name, registrySettings, versioning);
|
|
51
|
+
}
|
|
12
52
|
if (versioning.automatic) {
|
|
13
53
|
const latestVersion = await registryClient.fetchLatestVersion(name, registrySettings);
|
|
14
54
|
return latestVersion.map((version) => {
|
|
@@ -35,7 +75,7 @@ export function createBundleEmitter(dependencies) {
|
|
|
35
75
|
assertRepositoryCoherence(options.bundle.packageJson, ciRepositoryUrl);
|
|
36
76
|
}
|
|
37
77
|
const tarball = await artifactsBuilder.buildTarball(options.bundle, options.extraFiles);
|
|
38
|
-
|
|
78
|
+
return registryClient.publishPackage(options.bundle.packageJson, tarball.tarData, options.registrySettings, options.publishSettings, options.stage);
|
|
39
79
|
}
|
|
40
80
|
};
|
|
41
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAGtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAgEtE,MAAM,+BAA+B,GAAG,qEAAqE,CAAC;AAC9G,MAAM,mCAAmC,GACrC,iFAAiF,CAAC;AACtF,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAErD,SAAS,aAAa,CAAC,WAA+B;IAClD,OAAO,IAAI,GAAG,CAAC,WAAW,IAAI,cAAc,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;AAC1E,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,yBAAyB,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,YAAoB,EAAE,aAAgC;IAC1E,IAAI,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE5C,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,SAAS,CAAC;QACxB,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAuC;IACvE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC;IAE3E,KAAK,UAAU,mCAAmC,CAC9C,IAAY,EACZ,gBAAkC,EAClC,UAA8B;QAE9B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACtF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACH,KAAK,CAAC,uBAAuB,CAAC,OAAO;YACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YAE9D,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,mCAAmC,CAAC,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACtF,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjC,OAAO,OAAO,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,2BAA2B,CAAC,OAAO;YACrC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC9F,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1F,CAAC;YAED,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACzF,MAAM,UAAU,GAAG,uBAAuB,CACtC,yBAAyB,CAAC,gBAAgB,CAAC,EAC3C,yBAAyB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAClD,CAAC;YACF,OAAO;gBACH,wBAAwB,EAAE,UAAU,CAAC,MAAM,KAAK,+BAA+B,CAAC,KAAK;gBACrF,wBAAwB,EAAE,QAAQ;aACrC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBACrG,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAExF,OAAO,cAAc,CAAC,cAAc,CAChC,OAAO,CAAC,MAAM,CAAC,WAAW,EAC1B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,KAAK,CAChB,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -7,4 +7,5 @@ export type PublishedReleaseArtifacts = {
|
|
|
7
7
|
readonly version: string;
|
|
8
8
|
readonly files: readonly FileDescription[];
|
|
9
9
|
};
|
|
10
|
+
export declare function fetchPublishedArtifacts(registryClient: RegistryClient, name: string, registrySettings: RegistrySettings): Promise<Maybe<PublishedReleaseArtifacts>>;
|
|
10
11
|
//# sourceMappingURL=fetch-published-artifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-published-artifacts.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/fetch-published-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"fetch-published-artifacts.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/fetch-published-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C,CAAC;AAEF,wBAAsB,uBAAuB,CACzC,cAAc,EAAE,cAAc,EAC9B,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,GACnC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAY3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication-outcome.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/publication-outcome.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publication-outcome.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/publication-outcome.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,aAAa,GAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAuB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAE7E,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC7C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import type _npmFetch from 'npm-registry-fetch';
|
|
2
2
|
import { Maybe } from 'true-myth';
|
|
3
3
|
import type { RegistrySettings } from '../../config/registry-settings.ts';
|
|
4
|
+
export type PackageVersionDetails = {
|
|
5
|
+
readonly version: string;
|
|
6
|
+
readonly tarballUrl: string;
|
|
7
|
+
};
|
|
8
|
+
export type PackageReleaseMetadata = {
|
|
9
|
+
readonly publishedAt?: Date | undefined;
|
|
10
|
+
readonly tarballUrl: string;
|
|
11
|
+
readonly version: string;
|
|
12
|
+
};
|
|
4
13
|
//# sourceMappingURL=package-metadata-fetcher.d.ts.map
|
|
@@ -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;AAezE,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;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;CAC5B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Maybe } from 'true-myth';
|
|
2
2
|
import { retryWithFallbackAuth } from "./metadata-auth-retry.js";
|
|
3
3
|
import { toRegistryPackagePath } from "./registry-package-path.js";
|
|
4
|
-
import { resolveMetadataAuthOptions } from "./registry-auth-config.js";
|
|
4
|
+
import { resolveMetadataAuthOptions, resolveStageListingAuthOptions } from "./registry-auth-config.js";
|
|
5
5
|
import { parseAbbreviatedPackageResponse, parseFullPackageResponse } from "./registry-response-schemas.js";
|
|
6
6
|
const notFoundStatusCode = 404;
|
|
7
7
|
const forbiddenStatusCode = 403;
|
|
@@ -20,6 +20,30 @@ function parseTimestamp(timestamp) {
|
|
|
20
20
|
}
|
|
21
21
|
return parsed;
|
|
22
22
|
}
|
|
23
|
+
function isNonNegativeInteger(value) {
|
|
24
|
+
if (!Number.isSafeInteger(value)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return Number(value) >= 0;
|
|
28
|
+
}
|
|
29
|
+
function parseStagedPackageListResponse(response) {
|
|
30
|
+
if (!isRecord(response)) {
|
|
31
|
+
throw new Error('Got an invalid response from registry stage API');
|
|
32
|
+
}
|
|
33
|
+
const { items, total } = response;
|
|
34
|
+
if (!Array.isArray(items) || !isNonNegativeInteger(total)) {
|
|
35
|
+
throw new Error('Got an invalid response from registry stage API');
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
items: items.map((item) => {
|
|
39
|
+
if (!isRecord(item) || typeof item.version !== 'string') {
|
|
40
|
+
throw new Error('Got an invalid response from registry stage API');
|
|
41
|
+
}
|
|
42
|
+
return { version: item.version };
|
|
43
|
+
}),
|
|
44
|
+
total
|
|
45
|
+
};
|
|
46
|
+
}
|
|
23
47
|
const abbreviatedPackageMetadataRequest = {
|
|
24
48
|
parsePackageResponse: parseAbbreviatedPackageResponse,
|
|
25
49
|
headers: { accept: abbreviatedResponseAcceptHeader }
|
|
@@ -28,6 +52,7 @@ const fullPackageMetadataRequest = {
|
|
|
28
52
|
parsePackageResponse: parseFullPackageResponse,
|
|
29
53
|
headers: undefined
|
|
30
54
|
};
|
|
55
|
+
const stageListPageSize = 100;
|
|
31
56
|
async function fetchAndParsePackageMetadata(npmFetch, packageName, registrySettings, request) {
|
|
32
57
|
const auth = resolveMetadataAuthOptions(registrySettings);
|
|
33
58
|
try {
|
|
@@ -84,6 +109,25 @@ export async function fetchLatestPackageReleaseMetadata(npmFetch, packageName, r
|
|
|
84
109
|
publishedAt: publishedAtTimestamp === undefined ? undefined : parseTimestamp(publishedAtTimestamp)
|
|
85
110
|
});
|
|
86
111
|
}
|
|
112
|
+
export async function fetchStagedPackageVersions(npmFetch, packageName, registrySettings) {
|
|
113
|
+
const auth = resolveStageListingAuthOptions(registrySettings);
|
|
114
|
+
async function fetchPage(page, versions) {
|
|
115
|
+
const searchParams = new URLSearchParams({
|
|
116
|
+
package: packageName,
|
|
117
|
+
page: String(page),
|
|
118
|
+
perPage: String(stageListPageSize)
|
|
119
|
+
});
|
|
120
|
+
const response = parseStagedPackageListResponse(await npmFetch.json(`/-/stage?${searchParams.toString()}`, auth.options));
|
|
121
|
+
const nextVersions = versions.concat(response.items.map((item) => {
|
|
122
|
+
return item.version;
|
|
123
|
+
}));
|
|
124
|
+
if (nextVersions.length >= response.total || response.items.length === 0) {
|
|
125
|
+
return nextVersions;
|
|
126
|
+
}
|
|
127
|
+
return fetchPage(page + 1, nextVersions);
|
|
128
|
+
}
|
|
129
|
+
return fetchPage(0, []);
|
|
130
|
+
}
|
|
87
131
|
export async function fetchPackageTarball(npmFetch, tarballUrl, registrySettings) {
|
|
88
132
|
const auth = resolveMetadataAuthOptions(registrySettings);
|
|
89
133
|
const response = await retryWithFallbackAuth(registrySettings, auth, async (options) => {
|
|
@@ -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,MAAM,2BAA2B,CAAC;
|
|
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;AAExC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AAa9E,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,KAAK,YAAY,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,UAAU,KAAK,kBAAkB,IAAI,UAAU,KAAK,mBAAmB,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACrC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,yBAAyB,SAAS,4BAA4B,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAiB;IACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC,CAAC;QACF,KAAK;KACR,CAAC;AACN,CAAC;AAOD,MAAM,iCAAiC,GAAuD;IAC1F,oBAAoB,EAAE,+BAA+B;IACrD,OAAO,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE;CACvD,CAAC;AAEF,MAAM,0BAA0B,GAAgD;IAC5E,oBAAoB,EAAE,wBAAwB;IAC9C,OAAO,EAAE,SAAS;CACrB,CAAC;AAWF,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,KAAK,UAAU,4BAA4B,CACvC,QAA0B,EAC1B,WAAmB,EACnB,gBAAkC,EAClC,OAAiD;IAEjD,MAAM,IAAI,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACnF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,EAAE;gBAC3D,GAAG,OAAO;gBACV,OAAO,EAAE,OAAO,CAAC,OAAO;aAC3B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,OAAO,EAAoB,CAAC;QAC7C,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAChC,eAA2C,EAC3C,WAAmB;IAEnB,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC1D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACX,YAAY,aAAa,kBAAkB,WAAW,yCAAyC,CAClG,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,QAA0B,EAC1B,WAAmB,EACnB,gBAAkC;IAElC,MAAM,eAAe,GAAG,MAAM,4BAA4B,CACtD,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iCAAiC,CACpC,CAAC;IACF,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,2BAA2B,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACnD,QAA0B,EAC1B,WAAmB,EACnB,gBAAkC;IAElC,MAAM,eAAe,GAAG,MAAM,4BAA4B,CACtD,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,0BAA0B,CAC7B,CAAC;IACF,IAAI,eAAe,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAG,2BAA2B,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACtF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvF,OAAO,KAAK,CAAC,IAAI,CAAC;QACd,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO;QACpC,UAAU,EAAE,aAAa,CAAC,KAAK,CAAC,UAAU;QAC1C,WAAW,EAAE,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,oBAAoB,CAAC;KACrG,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,QAA0B,EAC1B,WAAmB,EACnB,gBAAkC;IAElC,MAAM,IAAI,GAAG,8BAA8B,CAAC,gBAAgB,CAAC,CAAC;IAE9D,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,QAA2B;QAC9D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;YACrC,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,8BAA8B,CAC3C,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAC3E,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAChC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvE,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,QAA0B,EAC1B,UAAkB,EAClB,gBAAkC;IAElC,MAAM,IAAI,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnF,OAAO,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -5,7 +5,11 @@ export function resolveRegistryUrl(registrySettings) {
|
|
|
5
5
|
export function isNpmRegistry(registry) {
|
|
6
6
|
return new URL(registry ?? npmRegistryUrl).href === npmRegistryUrl;
|
|
7
7
|
}
|
|
8
|
+
const publishAuthRequiredErrorMessage = 'registrySettings.auth must be configured to publish; this code path should be unreachable when auth is missing.';
|
|
8
9
|
export function resolvePublishAuth(registrySettings) {
|
|
10
|
+
if (registrySettings.auth === undefined) {
|
|
11
|
+
throw new Error(publishAuthRequiredErrorMessage);
|
|
12
|
+
}
|
|
9
13
|
return 'type' in registrySettings.auth ? registrySettings.auth : registrySettings.auth.publish;
|
|
10
14
|
}
|
|
11
15
|
export function createBaseOptions(registrySettings) {
|
|
@@ -59,11 +63,7 @@ function resolveInheritedMetadataAuth(publishAuth, registrySettings) {
|
|
|
59
63
|
? createAnonymousAuthResolution(registrySettings)
|
|
60
64
|
: buildAuthOptions(publishAuth, registrySettings);
|
|
61
65
|
}
|
|
62
|
-
|
|
63
|
-
if ('type' in registrySettings.auth) {
|
|
64
|
-
return resolveInheritedMetadataAuth(registrySettings.auth, registrySettings);
|
|
65
|
-
}
|
|
66
|
-
const metadataMode = registrySettings.auth.metadata;
|
|
66
|
+
function resolveMetadataAuthFromMode(metadataMode, publishAuth, registrySettings) {
|
|
67
67
|
if (metadataMode === 'auto') {
|
|
68
68
|
return createAutomaticRetryAuthResolution(registrySettings);
|
|
69
69
|
}
|
|
@@ -73,6 +73,31 @@ export function resolveMetadataAuthOptions(registrySettings) {
|
|
|
73
73
|
if (typeof metadataMode === 'object') {
|
|
74
74
|
return buildAuthOptions(metadataMode, registrySettings);
|
|
75
75
|
}
|
|
76
|
-
return resolveInheritedMetadataAuth(
|
|
76
|
+
return resolveInheritedMetadataAuth(publishAuth, registrySettings);
|
|
77
|
+
}
|
|
78
|
+
export function resolveMetadataAuthOptions(registrySettings) {
|
|
79
|
+
if (registrySettings.auth === undefined) {
|
|
80
|
+
return createAnonymousAuthResolution(registrySettings);
|
|
81
|
+
}
|
|
82
|
+
if ('type' in registrySettings.auth) {
|
|
83
|
+
return resolveInheritedMetadataAuth(registrySettings.auth, registrySettings);
|
|
84
|
+
}
|
|
85
|
+
return resolveMetadataAuthFromMode(registrySettings.auth.metadata, registrySettings.auth.publish, registrySettings);
|
|
86
|
+
}
|
|
87
|
+
const stagedVersionLookupRequiresTokenAuthMessage = 'npm staged publishing with automatic versioning requires token-based metadata auth ' +
|
|
88
|
+
'when publish auth uses npm-oidc';
|
|
89
|
+
export function resolveStageListingAuthOptions(registrySettings) {
|
|
90
|
+
const { auth } = registrySettings;
|
|
91
|
+
if (auth === undefined) {
|
|
92
|
+
throw new Error(publishAuthRequiredErrorMessage);
|
|
93
|
+
}
|
|
94
|
+
const publishAuth = 'type' in auth ? auth : auth.publish;
|
|
95
|
+
if (!('type' in auth) && typeof auth.metadata === 'object') {
|
|
96
|
+
return buildAuthOptions(auth.metadata, registrySettings);
|
|
97
|
+
}
|
|
98
|
+
if (publishAuth.type === 'npm-oidc') {
|
|
99
|
+
throw new Error(stagedVersionLookupRequiresTokenAuthMessage);
|
|
100
|
+
}
|
|
101
|
+
return buildAuthOptions(publishAuth, registrySettings);
|
|
77
102
|
}
|
|
78
103
|
//# sourceMappingURL=registry-auth-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-auth-config.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-auth-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry-auth-config.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-auth-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
import type _npmFetch from 'npm-registry-fetch';
|
|
2
|
-
import type { publish as _publish } from 'libnpmpublish';
|
|
3
2
|
import type { Maybe } from 'true-myth';
|
|
4
3
|
import type { Clock } from '../../common/clock.ts';
|
|
5
4
|
import type { PublishSettings } from '../../config/publish-settings.ts';
|
|
6
5
|
import type { NpmOidcPublishAuth, RegistrySettings } from '../../config/registry-settings.ts';
|
|
7
|
-
import type
|
|
6
|
+
import { type PublicationOutcome } from '../publication-outcome.ts';
|
|
8
7
|
import { type PackageReleaseMetadata, type PackageVersionDetails } from './package-metadata-fetcher.ts';
|
|
8
|
+
type PublishManifest = {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly version: string;
|
|
11
|
+
};
|
|
12
|
+
type PublishPackageArguments = readonly [
|
|
13
|
+
manifest: PublishManifest,
|
|
14
|
+
tarData: Buffer,
|
|
15
|
+
config: RegistrySettings,
|
|
16
|
+
publishSettings: PublishSettings,
|
|
17
|
+
stage: boolean
|
|
18
|
+
];
|
|
19
|
+
export type RegistryClient = {
|
|
20
|
+
fetchLatestReleaseMetadata: (packageName: string, config: RegistrySettings) => Promise<Maybe<PackageReleaseMetadata>>;
|
|
21
|
+
fetchLatestVersion: (packageName: string, config: RegistrySettings) => Promise<Maybe<PackageVersionDetails>>;
|
|
22
|
+
fetchStagedVersions: (packageName: string, config: RegistrySettings) => Promise<readonly string[]>;
|
|
23
|
+
publishPackage: (...args: PublishPackageArguments) => Promise<PublicationOutcome>;
|
|
24
|
+
fetchTarball: (tarballUrl: string, config: RegistrySettings) => Promise<Buffer>;
|
|
25
|
+
};
|
|
9
26
|
export {};
|
|
10
27
|
//# sourceMappingURL=registry-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,oBAAoB;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC;AAC7F,OAAO,EAA0C,KAAK,kBAAkB,EAAE,MAAM,2BAA2B;AAE3G,OAAO,EAKH,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC7B,MAAM,+BAA+B;AAGtC,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAQD,KAAK,uBAAuB,GAAG,SAAS;IACpC,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,gBAAgB;IACxB,eAAe,EAAE,eAAe;IAChC,KAAK,EAAE,OAAO;CACjB;AAWD,MAAM,MAAM,cAAc,GAAG;IACzB,0BAA0B,EAAE,CACxB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,KACvB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC5C,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7G,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACnG,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClF,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnF"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
import { publishedToRegistry, stagedForApproval } from "../publication-outcome.js";
|
|
1
2
|
import { createOidcTokenExchanger } from "./oidc-token-exchange.js";
|
|
2
|
-
import { fetchLatestPackageReleaseMetadata, fetchLatestPackageVersion,
|
|
3
|
+
import { fetchLatestPackageReleaseMetadata, fetchPackageTarball, fetchLatestPackageVersion, fetchStagedPackageVersions } from "./package-metadata-fetcher.js";
|
|
3
4
|
import { buildPublishOptionsForPublishSettings, remapPublishError } from "./publish-settings-bridge.js";
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
function hasStageId(response) {
|
|
6
|
+
return (typeof response === 'object' &&
|
|
7
|
+
response !== null &&
|
|
8
|
+
'stageId' in response &&
|
|
9
|
+
typeof response.stageId === 'string' &&
|
|
10
|
+
response.stageId.length > 0);
|
|
11
|
+
}
|
|
12
|
+
function readStageId(response) {
|
|
13
|
+
if (!hasStageId(response)) {
|
|
14
|
+
throw new Error('npm staged publish succeeded without returning a stage ID');
|
|
15
|
+
}
|
|
16
|
+
return response.stageId;
|
|
7
17
|
}
|
|
8
18
|
export function createRegistryClient(dependencies) {
|
|
9
19
|
const { npmFetch, publish, fetch: fetchImplementation, clock, promptForOneTimePassword, resolveIdToken } = dependencies;
|
|
@@ -12,23 +22,25 @@ export function createRegistryClient(dependencies) {
|
|
|
12
22
|
async fetchTarball(tarballUrl, registrySettings) {
|
|
13
23
|
return fetchPackageTarball(npmFetch, tarballUrl, registrySettings);
|
|
14
24
|
},
|
|
15
|
-
async publishPackage(manifest, tarData, registrySettings, publishSettings) {
|
|
25
|
+
async publishPackage(...[manifest, tarData, registrySettings, publishSettings, stage]) {
|
|
16
26
|
const authOptions = await oidcExchanger.resolveWriteAuthOptions(manifest.name, registrySettings);
|
|
17
27
|
const publishOptionsFromSettings = buildPublishOptionsForPublishSettings(publishSettings);
|
|
18
28
|
const publishOptions = {
|
|
19
29
|
defaultTag: 'latest',
|
|
20
30
|
...authOptions,
|
|
21
|
-
...publishOptionsFromSettings
|
|
31
|
+
...publishOptionsFromSettings,
|
|
32
|
+
...(stage ? { stage: true } : {})
|
|
22
33
|
};
|
|
23
34
|
const publishOptionsWithOneTimePassword = {
|
|
24
35
|
...publishOptions,
|
|
25
36
|
otpPrompt: promptForOneTimePassword
|
|
26
37
|
};
|
|
27
38
|
const publishPromise = promptForOneTimePassword === undefined
|
|
28
|
-
? publish(
|
|
29
|
-
: publish(
|
|
39
|
+
? publish(manifest, tarData, publishOptions)
|
|
40
|
+
: publish(manifest, tarData, publishOptionsWithOneTimePassword);
|
|
30
41
|
try {
|
|
31
|
-
await publishPromise;
|
|
42
|
+
const response = await publishPromise;
|
|
43
|
+
return stage ? stagedForApproval(readStageId(response)) : publishedToRegistry;
|
|
32
44
|
}
|
|
33
45
|
catch (error) {
|
|
34
46
|
throw remapPublishError(error, publishSettings);
|
|
@@ -37,6 +49,9 @@ export function createRegistryClient(dependencies) {
|
|
|
37
49
|
async fetchLatestVersion(packageName, registrySettings) {
|
|
38
50
|
return fetchLatestPackageVersion(npmFetch, packageName, registrySettings);
|
|
39
51
|
},
|
|
52
|
+
async fetchStagedVersions(packageName, registrySettings) {
|
|
53
|
+
return fetchStagedPackageVersions(npmFetch, packageName, registrySettings);
|
|
54
|
+
},
|
|
40
55
|
async fetchLatestReleaseMetadata(packageName, registrySettings) {
|
|
41
56
|
return fetchLatestPackageReleaseMetadata(npmFetch, packageName, registrySettings);
|
|
42
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../../../source/bundle-emitter/registry/registry-client.ts"],"names":[],"mappings":"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"}
|
package/checks/check-runner.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { allRules } from "./rules/registry.js";
|
|
2
|
-
export function runChecks(params) {
|
|
3
|
-
|
|
4
|
-
return rule.run(params);
|
|
5
|
-
});
|
|
2
|
+
export async function runChecks(params) {
|
|
3
|
+
const issues = await Promise.all(allRules.map(async (rule) => {
|
|
4
|
+
return await rule.run(params);
|
|
5
|
+
}));
|
|
6
|
+
return issues.flat();
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=check-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-runner.js","sourceRoot":"","sources":["../../../../source/checks/check-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check-runner.js","sourceRoot":"","sources":["../../../../source/checks/check-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAU/C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAyB;IACrD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACxB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CACL,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
package/checks/rule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../../source/checks/rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAoB,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../../source/checks/rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAoB,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AAExD,MAAM,kBAAkB,GAAG;IACvB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,GAAG,kBAAkB;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC"}
|