@rushstack/rush-sdk
Advanced tools
@@ -112,2 +112,9 @@ /** | ||
| omitAppleDoubleFilesFromBuildCache?: boolean; | ||
| /** | ||
| * If true, `rush change --verify` will perform additional validation of change files. Specifically, | ||
| * it will report errors if change files reference projects that do not exist in the Rush configuration, | ||
| * or if change files target a project that belongs to a lockstepped version policy but is not the | ||
| * policy's main project. | ||
| */ | ||
| strictChangefileValidation?: boolean; | ||
| } | ||
@@ -114,0 +121,0 @@ /** |
@@ -57,5 +57,5 @@ import type { ITerminal } from '@rushstack/terminal'; | ||
| * | ||
| * - `"major"` — includes only the major version (e.g. `18`) | ||
| * - `"minor"` — includes the major and minor version (e.g. `18.17`) | ||
| * - `"patch"` — includes the full version (e.g. `18.17.1`) | ||
| * - `"major"` - includes only the major version (e.g. `18`) | ||
| * - `"minor"` - includes the major and minor version (e.g. `18.17`) | ||
| * - `"patch"` - includes the full version (e.g. `18.17.1`) | ||
| * | ||
@@ -108,6 +108,6 @@ * @alpha | ||
| * Allowed values: | ||
| * - `true` — alias for `"patch"`, includes the full version (e.g. `18.17.1`) | ||
| * - `"major"` — includes only the major version (e.g. `18`) | ||
| * - `"minor"` — includes the major and minor version (e.g. `18.17`) | ||
| * - `"patch"` — includes the full version (e.g. `18.17.1`) | ||
| * - `true` - alias for `"patch"`, includes the full version (e.g. `18.17.1`) | ||
| * - `"major"` - includes only the major version (e.g. `18`) | ||
| * - `"minor"` - includes the major and minor version (e.g. `18.17`) | ||
| * - `"patch"` - includes the full version (e.g. `18.17.1`) | ||
| */ | ||
@@ -114,0 +114,0 @@ dependsOnNodeVersion?: boolean | NodeVersionGranularity; |
@@ -6,2 +6,3 @@ import { BaseRushAction } from './BaseRushAction'; | ||
| private readonly _verifyParameter; | ||
| private readonly _verifyAllParameter; | ||
| private readonly _noFetchParameter; | ||
@@ -23,5 +24,10 @@ private readonly _targetBranchParameter; | ||
| private _getChangedProjectNamesAsync; | ||
| private _validateChangeFileAsync; | ||
| private _getChangeFilesAsync; | ||
| private _validateAllChangeFilesAsync; | ||
| /** | ||
| * Compares the current rush.json project list against the target branch to find | ||
| * projects that were removed. | ||
| */ | ||
| private _getDeletedProjectNamesAsync; | ||
| private _getChangeFilesSinceBaseBranchAsync; | ||
| /** | ||
| * The main loop which prompts the user for information on changed projects. | ||
@@ -28,0 +34,0 @@ */ |
@@ -15,3 +15,3 @@ /// <reference types="node" preserve="true" /> | ||
| export { type IYarnOptionsJson as _IYarnOptionsJson, YarnOptionsConfiguration } from './logic/yarn/YarnOptionsConfiguration'; | ||
| export { type IPnpmOptionsJson as _IPnpmOptionsJson, type PnpmStoreLocation, type IPnpmLockfilePolicies, type IPnpmPackageExtension, type IPnpmPeerDependencyRules, type IPnpmPeerDependenciesMeta, type PnpmStoreOptions, PnpmOptionsConfiguration, type PnpmResolutionMode } from './logic/pnpm/PnpmOptionsConfiguration'; | ||
| export { type IPnpmOptionsJson as _IPnpmOptionsJson, type PnpmStoreLocation, type IPnpmLockfilePolicies, type IPnpmPackageExtension, type IPnpmPeerDependencyRules, type IPnpmPeerDependenciesMeta, type PnpmStoreOptions, PnpmOptionsConfiguration, type PnpmResolutionMode, type PnpmTrustPolicy } from './logic/pnpm/PnpmOptionsConfiguration'; | ||
| export { BuildCacheConfiguration } from './api/BuildCacheConfiguration'; | ||
@@ -18,0 +18,0 @@ export { CobuildConfiguration, type ICobuildJson } from './api/CobuildConfiguration'; |
@@ -0,3 +1,14 @@ | ||
| import type { ITerminal } from '@rushstack/terminal'; | ||
| import type { IChangelog } from '../api/Changelog'; | ||
| import type { RushConfiguration } from '../api/RushConfiguration'; | ||
| export interface IValidateOptions { | ||
| terminal: ITerminal; | ||
| filesToValidate: Iterable<string>; | ||
| changedProjectNames: Iterable<string>; | ||
| /** | ||
| * Optional set of project names that were removed from rush.json. | ||
| * When provided, produces a more specific error message for these projects. | ||
| */ | ||
| deletedProjectNames?: ReadonlySet<string>; | ||
| } | ||
| /** | ||
@@ -12,13 +23,14 @@ * This class represents the collection of change files existing in the repo and provides operations | ||
| private _files; | ||
| private _changesPath; | ||
| constructor(changesPath: string); | ||
| private readonly _rushConfiguration; | ||
| private readonly _changesPath; | ||
| constructor(rushConfiguration: RushConfiguration); | ||
| /** | ||
| * Validate if the newly added change files match the changed packages. | ||
| */ | ||
| static validate(newChangeFilePaths: string[], changedPackages: string[], rushConfiguration: RushConfiguration): void; | ||
| static getChangeComments(newChangeFilePaths: string[]): Map<string, string[]>; | ||
| validateAsync(options: IValidateOptions): Promise<void>; | ||
| static getChangeComments(terminal: ITerminal, newChangeFilePaths: string[]): Map<string, string[]>; | ||
| /** | ||
| * Get the array of absolute paths of change files. | ||
| */ | ||
| getFilesAsync(): Promise<string[]>; | ||
| getAllChangeFilesAsync(): Promise<string[]>; | ||
| /** | ||
@@ -31,5 +43,5 @@ * Get the path of changes folder. | ||
| */ | ||
| deleteAllAsync(shouldDelete: boolean, updatedChangelogs?: IChangelog[]): Promise<number>; | ||
| deleteAllAsync(terminal: ITerminal, shouldDelete: boolean, updatedChangelogs?: IChangelog[]): Promise<number>; | ||
| private _deleteFilesAsync; | ||
| } | ||
| //# sourceMappingURL=ChangeFiles.d.ts.map |
| import type { IPackageJson } from '@rushstack/node-core-library'; | ||
| import type { ITerminal } from '@rushstack/terminal'; | ||
| import type { IChangeInfo } from '../api/ChangeManagement'; | ||
@@ -22,7 +23,6 @@ import type { RushConfiguration } from '../api/RushConfiguration'; | ||
| * Load changes from change files | ||
| * @param changesPath - location of change files | ||
| * @param prereleaseToken - prerelease token | ||
| * @param includeCommitDetails - whether commit details need to be included in changes | ||
| */ | ||
| loadAsync(changesPath: string, prereleaseToken?: PrereleaseToken, includeCommitDetails?: boolean): Promise<void>; | ||
| loadAsync(prereleaseToken?: PrereleaseToken, includeCommitDetails?: boolean): Promise<void>; | ||
| hasChanges(): boolean; | ||
@@ -38,4 +38,4 @@ get packageChanges(): IChangeInfo[]; | ||
| apply(shouldCommit: boolean): Map<string, IPackageJson> | undefined; | ||
| updateChangelogAsync(shouldCommit: boolean): Promise<void>; | ||
| updateChangelogAsync(terminal: ITerminal, shouldCommit: boolean): Promise<void>; | ||
| } | ||
| //# sourceMappingURL=ChangeManager.d.ts.map |
@@ -22,2 +22,11 @@ import { type IPackageManagerOptionsJsonBase, PackageManagerOptionsConfigurationBase } from '../base/BasePackageManagerOptionsConfiguration'; | ||
| /** | ||
| * Possible values for the `trustPolicy` setting in Rush's pnpm-config.json file. | ||
| * @remarks | ||
| * These values correspond to PNPM's `trust-policy` setting, which is documented here: | ||
| * {@link https://pnpm.io/settings#trustpolicy} | ||
| * | ||
| * @public | ||
| */ | ||
| export type PnpmTrustPolicy = 'no-downgrade' | 'off'; | ||
| /** | ||
| * Possible values for the `pnpmLockfilePolicies` setting in Rush's pnpm-config.json file. | ||
@@ -127,4 +136,8 @@ * @public | ||
| /** | ||
| * {@inheritDoc PnpmOptionsConfiguration.minimumReleaseAge} | ||
| * {@inheritDoc PnpmOptionsConfiguration.minimumReleaseAgeMinutes} | ||
| */ | ||
| minimumReleaseAgeMinutes?: number; | ||
| /** | ||
| * @deprecated Use `minimumReleaseAgeMinutes` instead. | ||
| */ | ||
| minimumReleaseAge?: number; | ||
@@ -136,2 +149,14 @@ /** | ||
| /** | ||
| * {@inheritDoc PnpmOptionsConfiguration.trustPolicy} | ||
| */ | ||
| trustPolicy?: PnpmTrustPolicy; | ||
| /** | ||
| * {@inheritDoc PnpmOptionsConfiguration.trustPolicyExclude} | ||
| */ | ||
| trustPolicyExclude?: string[]; | ||
| /** | ||
| * {@inheritDoc PnpmOptionsConfiguration.trustPolicyIgnoreAfterMinutes} | ||
| */ | ||
| trustPolicyIgnoreAfterMinutes?: number; | ||
| /** | ||
| * {@inheritDoc PnpmOptionsConfiguration.alwaysInjectDependenciesFromOtherSubspaces} | ||
@@ -263,6 +288,10 @@ */ | ||
| */ | ||
| readonly minimumReleaseAge: number | undefined; | ||
| readonly minimumReleaseAgeMinutes: number | undefined; | ||
| /** | ||
| * @deprecated Use {@link PnpmOptionsConfiguration.minimumReleaseAgeMinutes} instead. | ||
| */ | ||
| get minimumReleaseAge(): number | undefined; | ||
| /** | ||
| * List of package names or patterns that are excluded from the minimumReleaseAge check. | ||
| * These packages will always install the newest version immediately, even if minimumReleaseAge is set. | ||
| * These packages will always install the newest version immediately, even if minimumReleaseAgeMinutes is set. | ||
| * | ||
@@ -278,2 +307,35 @@ * @remarks | ||
| /** | ||
| * The trust policy controls whether pnpm should block installation of package versions where the | ||
| * trust level has decreased (e.g., a package previously published with provenance is now published | ||
| * without it). Setting this to `"no-downgrade"` enables the protection. | ||
| * | ||
| * @remarks | ||
| * (SUPPORTED ONLY IN PNPM 10.21.0 AND NEWER) | ||
| * | ||
| * PNPM documentation: https://pnpm.io/settings#trustpolicy | ||
| */ | ||
| readonly trustPolicy: PnpmTrustPolicy | undefined; | ||
| /** | ||
| * List of package names or patterns that are excluded from the trust policy check. | ||
| * These packages will be allowed to install even if their trust level has decreased. | ||
| * | ||
| * @remarks | ||
| * (SUPPORTED ONLY IN PNPM 10.22.0 AND NEWER) | ||
| * | ||
| * PNPM documentation: https://pnpm.io/settings#trustpolicyexclude | ||
| * | ||
| * Example: ["webpack", "react", "\@myorg/*"] | ||
| */ | ||
| readonly trustPolicyExclude: string[] | undefined; | ||
| /** | ||
| * The number of minutes after which pnpm will ignore trust level downgrades. Packages published | ||
| * longer ago than this threshold will not be blocked even if their trust level has decreased. | ||
| * | ||
| * @remarks | ||
| * (SUPPORTED ONLY IN PNPM 10.27.0 AND NEWER) | ||
| * | ||
| * PNPM documentation: https://pnpm.io/settings#trustpolicyignoreafter | ||
| */ | ||
| readonly trustPolicyIgnoreAfterMinutes: number | undefined; | ||
| /** | ||
| * If true, then `rush update` add injected install options for all cross-subspace | ||
@@ -280,0 +342,0 @@ * workspace dependencies, to avoid subspace doppelganger issue. |
@@ -69,2 +69,7 @@ import type { LookupByPath } from '@rushstack/lookup-by-path'; | ||
| private _getIgnoreMatcherForProjectAsync; | ||
| /** | ||
| * Detects changes to pnpm catalog entries in a subspace's pnpm-config.json and marks | ||
| * affected projects as changed. | ||
| */ | ||
| private _detectCatalogChangesAsync; | ||
| } | ||
@@ -71,0 +76,0 @@ /** |
| import { type IPackageJson } from '@rushstack/node-core-library'; | ||
| import type { ITerminal } from '@rushstack/terminal'; | ||
| import { type BumpType } from '../api/VersionPolicy'; | ||
@@ -33,3 +34,3 @@ import { ChangeFile } from '../api/ChangeFile'; | ||
| */ | ||
| bumpAsync(lockStepVersionPolicyName?: string, bumpType?: BumpType, identifier?: string, shouldCommit?: boolean): Promise<void>; | ||
| bumpAsync(terminal: ITerminal, lockStepVersionPolicyName?: string, bumpType?: BumpType, identifier?: string, shouldCommit?: boolean): Promise<void>; | ||
| private _ensure; | ||
@@ -36,0 +37,0 @@ private _getManuallyVersionedProjects; |
+8
-8
| { | ||
| "name": "@rushstack/rush-sdk", | ||
| "version": "5.173.0", | ||
| "version": "5.174.0", | ||
| "description": "An API for interacting with the Rush engine", | ||
@@ -42,7 +42,7 @@ "repository": { | ||
| "tapable": "2.2.1", | ||
| "@rushstack/node-core-library": "5.22.0", | ||
| "@rushstack/credential-cache": "0.2.12", | ||
| "@rushstack/package-deps-hash": "4.7.12", | ||
| "@rushstack/terminal": "0.22.5", | ||
| "@rushstack/lookup-by-path": "0.10.1", | ||
| "@rushstack/terminal": "0.22.5" | ||
| "@rushstack/node-core-library": "5.22.0", | ||
| "@rushstack/package-deps-hash": "4.7.12" | ||
| }, | ||
@@ -55,8 +55,8 @@ "devDependencies": { | ||
| "@rushstack/heft": "1.2.12", | ||
| "@microsoft/rush-lib": "5.174.0", | ||
| "@rushstack/heft-webpack5-plugin": "1.3.13", | ||
| "@microsoft/rush-lib": "5.173.0", | ||
| "local-node-rig": "1.0.0", | ||
| "@rushstack/ts-command-line": "5.3.5", | ||
| "@rushstack/stream-collator": "4.2.12", | ||
| "@rushstack/webpack-preserve-dynamic-require-plugin": "0.12.13", | ||
| "local-node-rig": "1.0.0", | ||
| "@rushstack/ts-command-line": "5.3.5" | ||
| "@rushstack/webpack-preserve-dynamic-require-plugin": "0.12.13" | ||
| }, | ||
@@ -63,0 +63,0 @@ "sideEffects": false, |
Sorry, the diff of this file is too big to display
956300
0.71%19998
0.84%