@rushstack/rush-sdk 5.118.7 → 5.119.0
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/dist/rush-lib.d.ts +70 -26
- package/lib/api/CustomTipsConfiguration.d.ts +19 -9
- package/lib/index.d.ts +2 -2
- package/lib/logic/base/BaseShrinkwrapFile.d.ts +7 -0
- package/lib/logic/pnpm/PnpmOptionsConfiguration.d.ts +25 -1
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +8 -0
- package/lib/pluginFramework/PhasedCommandHooks.d.ts +14 -6
- package/lib/pluginFramework/RushLifeCycle.d.ts +7 -7
- package/package.json +4 -4
package/dist/rush-lib.d.ts
CHANGED
|
@@ -387,6 +387,7 @@ export declare class CredentialCache {
|
|
|
387
387
|
*/
|
|
388
388
|
export declare enum CustomTipId {
|
|
389
389
|
TIP_RUSH_INCONSISTENT_VERSIONS = "TIP_RUSH_INCONSISTENT_VERSIONS",
|
|
390
|
+
TIP_RUSH_DISALLOW_INSECURE_SHA1 = "TIP_RUSH_DISALLOW_INSECURE_SHA1",
|
|
390
391
|
TIP_PNPM_UNEXPECTED_STORE = "TIP_PNPM_UNEXPECTED_STORE",
|
|
391
392
|
TIP_PNPM_NO_MATCHING_VERSION = "TIP_PNPM_NO_MATCHING_VERSION",
|
|
392
393
|
TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE = "TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE",
|
|
@@ -428,31 +429,40 @@ export declare class CustomTipsConfiguration {
|
|
|
428
429
|
static customTipRegistry: Readonly<Record<CustomTipId, ICustomTipInfo>>;
|
|
429
430
|
constructor(configFilePath: string);
|
|
430
431
|
/**
|
|
431
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
432
|
-
* display the tip on the terminal.
|
|
432
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
433
433
|
*
|
|
434
434
|
* @remarks
|
|
435
435
|
* The severity of the tip is defined in ${@link CustomTipsConfiguration.customTipRegistry}.
|
|
436
|
-
* If you want to change the severity specifically for this call,
|
|
436
|
+
* If you want to change the severity specifically for this call,
|
|
437
|
+
* use other APIs such as {@link CustomTipsConfiguration._showErrorTip}.
|
|
438
|
+
*
|
|
439
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
440
|
+
* output with additional team-specific advice.
|
|
437
441
|
*
|
|
438
442
|
* @internal
|
|
439
443
|
*/
|
|
440
444
|
_showTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
441
445
|
/**
|
|
442
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
443
|
-
*
|
|
446
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
447
|
+
* @remarks
|
|
448
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
449
|
+
* output with additional team-specific advice.
|
|
444
450
|
* @internal
|
|
445
451
|
*/
|
|
446
452
|
_showInfoTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
447
453
|
/**
|
|
448
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
449
|
-
*
|
|
454
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
455
|
+
* @remarks
|
|
456
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
457
|
+
* output with additional team-specific advice.
|
|
450
458
|
* @internal
|
|
451
459
|
*/
|
|
452
460
|
_showWarningTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
453
461
|
/**
|
|
454
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
455
|
-
*
|
|
462
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
463
|
+
* @remarks
|
|
464
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
465
|
+
* output with additional team-specific advice.
|
|
456
466
|
* @internal
|
|
457
467
|
*/
|
|
458
468
|
_showErrorTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
@@ -1142,10 +1152,6 @@ export declare interface ICreateOperationsContext {
|
|
|
1142
1152
|
* The set of phases selected for the current command execution.
|
|
1143
1153
|
*/
|
|
1144
1154
|
readonly phaseSelection: ReadonlySet<IPhase>;
|
|
1145
|
-
/**
|
|
1146
|
-
* The current state of the repository
|
|
1147
|
-
*/
|
|
1148
|
-
readonly projectChangeAnalyzer: ProjectChangeAnalyzer;
|
|
1149
1155
|
/**
|
|
1150
1156
|
* The set of Rush projects selected for the current command execution.
|
|
1151
1157
|
*/
|
|
@@ -1271,6 +1277,19 @@ declare interface IEventHooksJson {
|
|
|
1271
1277
|
postRushBuild?: string[];
|
|
1272
1278
|
}
|
|
1273
1279
|
|
|
1280
|
+
/**
|
|
1281
|
+
* Context used for executing operations.
|
|
1282
|
+
* @alpha
|
|
1283
|
+
*/
|
|
1284
|
+
export declare interface IExecuteOperationsContext extends ICreateOperationsContext {
|
|
1285
|
+
/**
|
|
1286
|
+
* The current state of the repository.
|
|
1287
|
+
*
|
|
1288
|
+
* Note that this is not defined during the initial operation creation.
|
|
1289
|
+
*/
|
|
1290
|
+
readonly projectChangeAnalyzer: ProjectChangeAnalyzer;
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1274
1293
|
/**
|
|
1275
1294
|
* The `IExecutionResult` interface represents the results of executing a set of {@link Operation}s.
|
|
1276
1295
|
* @alpha
|
|
@@ -1875,6 +1894,17 @@ export declare interface IPhasedCommand extends IRushCommand {
|
|
|
1875
1894
|
readonly hooks: PhasedCommandHooks;
|
|
1876
1895
|
}
|
|
1877
1896
|
|
|
1897
|
+
/**
|
|
1898
|
+
* Possible values for the `pnpmLockfilePolicies` setting in Rush's pnpm-config.json file.
|
|
1899
|
+
* @public
|
|
1900
|
+
*/
|
|
1901
|
+
export declare interface IPnpmLockfilePolicies {
|
|
1902
|
+
/**
|
|
1903
|
+
* Forbid sha1 hashes in `pnpm-lock.yaml`
|
|
1904
|
+
*/
|
|
1905
|
+
disallowInsecureSha1?: boolean;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1878
1908
|
/**
|
|
1879
1909
|
* Part of IRushConfigurationJson.
|
|
1880
1910
|
* @internal
|
|
@@ -1936,25 +1966,35 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1936
1966
|
* {@inheritDoc PnpmOptionsConfiguration.alwaysFullInstall}
|
|
1937
1967
|
*/
|
|
1938
1968
|
alwaysFullInstall?: boolean;
|
|
1969
|
+
/**
|
|
1970
|
+
* {@inheritDoc PnpmOptionsConfiguration.pnpmLockfilePolicies}
|
|
1971
|
+
*/
|
|
1972
|
+
pnpmLockfilePolicies?: IPnpmLockfilePolicies;
|
|
1939
1973
|
}
|
|
1940
1974
|
|
|
1941
|
-
|
|
1975
|
+
/**
|
|
1976
|
+
* @public
|
|
1977
|
+
*/
|
|
1978
|
+
export declare interface IPnpmPackageExtension {
|
|
1942
1979
|
dependencies?: Record<string, string>;
|
|
1943
1980
|
optionalDependencies?: Record<string, string>;
|
|
1944
1981
|
peerDependencies?: Record<string, string>;
|
|
1945
1982
|
peerDependenciesMeta?: IPnpmPeerDependenciesMeta;
|
|
1946
1983
|
}
|
|
1947
1984
|
|
|
1948
|
-
|
|
1985
|
+
/**
|
|
1986
|
+
* @public
|
|
1987
|
+
*/
|
|
1988
|
+
export declare interface IPnpmPeerDependenciesMeta {
|
|
1949
1989
|
[packageName: string]: {
|
|
1950
1990
|
optional?: boolean;
|
|
1951
1991
|
};
|
|
1952
1992
|
}
|
|
1953
1993
|
|
|
1954
1994
|
/**
|
|
1955
|
-
* @
|
|
1995
|
+
* @public
|
|
1956
1996
|
*/
|
|
1957
|
-
declare interface IPnpmPeerDependencyRules {
|
|
1997
|
+
export declare interface IPnpmPeerDependencyRules {
|
|
1958
1998
|
ignoreMissing?: string[];
|
|
1959
1999
|
allowAny?: string[];
|
|
1960
2000
|
allowedVersions?: Record<string, string>;
|
|
@@ -2945,7 +2985,7 @@ export declare class PhasedCommandHooks {
|
|
|
2945
2985
|
*/
|
|
2946
2986
|
readonly beforeExecuteOperations: AsyncSeriesHook<[
|
|
2947
2987
|
Map<Operation, IOperationExecutionResult>,
|
|
2948
|
-
|
|
2988
|
+
IExecuteOperationsContext
|
|
2949
2989
|
]>;
|
|
2950
2990
|
/**
|
|
2951
2991
|
* Hook invoked when operation status changed
|
|
@@ -2957,7 +2997,7 @@ export declare class PhasedCommandHooks {
|
|
|
2957
2997
|
* Use the context to distinguish between the initial run and phased runs.
|
|
2958
2998
|
* Hook is series for stable output.
|
|
2959
2999
|
*/
|
|
2960
|
-
readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult,
|
|
3000
|
+
readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult, IExecuteOperationsContext]>;
|
|
2961
3001
|
/**
|
|
2962
3002
|
* Hook invoked before executing a operation.
|
|
2963
3003
|
*/
|
|
@@ -3165,6 +3205,10 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
3165
3205
|
*/
|
|
3166
3206
|
readonly unsupportedPackageJsonSettings: unknown | undefined;
|
|
3167
3207
|
readonly jsonFilename: string | undefined;
|
|
3208
|
+
/**
|
|
3209
|
+
* The `pnpmLockfilePolicies` setting defines the policies that govern the `pnpm-lock.yaml` file.
|
|
3210
|
+
*/
|
|
3211
|
+
readonly pnpmLockfilePolicies: IPnpmLockfilePolicies | undefined;
|
|
3168
3212
|
/**
|
|
3169
3213
|
* (EXPERIMENTAL) If "true", then filtered installs ("rush install --to my-project")
|
|
3170
3214
|
* will be disregarded, instead always performing a full installation of the lockfile.
|
|
@@ -4380,31 +4424,31 @@ export declare class RushLifecycleHooks {
|
|
|
4380
4424
|
/**
|
|
4381
4425
|
* The hook to run before executing any Rush CLI Command.
|
|
4382
4426
|
*/
|
|
4383
|
-
initialize: AsyncSeriesHook<IRushCommand>;
|
|
4427
|
+
readonly initialize: AsyncSeriesHook<IRushCommand>;
|
|
4384
4428
|
/**
|
|
4385
4429
|
* The hook to run before executing any global Rush CLI Command (defined in command-line.json).
|
|
4386
4430
|
*/
|
|
4387
|
-
runAnyGlobalCustomCommand: AsyncSeriesHook<IGlobalCommand>;
|
|
4431
|
+
readonly runAnyGlobalCustomCommand: AsyncSeriesHook<IGlobalCommand>;
|
|
4388
4432
|
/**
|
|
4389
4433
|
* A hook map to allow plugins to hook specific named global commands (defined in command-line.json) before execution.
|
|
4390
4434
|
*/
|
|
4391
|
-
runGlobalCustomCommand: HookMap<AsyncSeriesHook<IGlobalCommand>>;
|
|
4435
|
+
readonly runGlobalCustomCommand: HookMap<AsyncSeriesHook<IGlobalCommand>>;
|
|
4392
4436
|
/**
|
|
4393
4437
|
* The hook to run before executing any phased Rush CLI Command (defined in command-line.json, or the default "build" or "rebuild").
|
|
4394
4438
|
*/
|
|
4395
|
-
runAnyPhasedCommand: AsyncSeriesHook<IPhasedCommand>;
|
|
4439
|
+
readonly runAnyPhasedCommand: AsyncSeriesHook<IPhasedCommand>;
|
|
4396
4440
|
/**
|
|
4397
4441
|
* A hook map to allow plugins to hook specific named phased commands (defined in command-line.json) before execution.
|
|
4398
4442
|
*/
|
|
4399
|
-
runPhasedCommand: HookMap<AsyncSeriesHook<IPhasedCommand>>;
|
|
4443
|
+
readonly runPhasedCommand: HookMap<AsyncSeriesHook<IPhasedCommand>>;
|
|
4400
4444
|
/**
|
|
4401
4445
|
* The hook to run between preparing the common/temp folder and invoking the package manager during "rush install" or "rush update".
|
|
4402
4446
|
*/
|
|
4403
|
-
beforeInstall: AsyncSeriesHook<IGlobalCommand>;
|
|
4447
|
+
readonly beforeInstall: AsyncSeriesHook<IGlobalCommand>;
|
|
4404
4448
|
/**
|
|
4405
4449
|
* A hook to allow plugins to hook custom logic to process telemetry data.
|
|
4406
4450
|
*/
|
|
4407
|
-
flushTelemetry: AsyncParallelHook<[ReadonlyArray<ITelemetryData>]>;
|
|
4451
|
+
readonly flushTelemetry: AsyncParallelHook<[ReadonlyArray<ITelemetryData>]>;
|
|
4408
4452
|
}
|
|
4409
4453
|
|
|
4410
4454
|
declare class RushPluginsConfiguration {
|
|
@@ -40,6 +40,7 @@ export interface ICustomTipItemJson {
|
|
|
40
40
|
*/
|
|
41
41
|
export declare enum CustomTipId {
|
|
42
42
|
TIP_RUSH_INCONSISTENT_VERSIONS = "TIP_RUSH_INCONSISTENT_VERSIONS",
|
|
43
|
+
TIP_RUSH_DISALLOW_INSECURE_SHA1 = "TIP_RUSH_DISALLOW_INSECURE_SHA1",
|
|
43
44
|
TIP_PNPM_UNEXPECTED_STORE = "TIP_PNPM_UNEXPECTED_STORE",
|
|
44
45
|
TIP_PNPM_NO_MATCHING_VERSION = "TIP_PNPM_NO_MATCHING_VERSION",
|
|
45
46
|
TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE = "TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE",
|
|
@@ -137,31 +138,40 @@ export declare class CustomTipsConfiguration {
|
|
|
137
138
|
static customTipRegistry: Readonly<Record<CustomTipId, ICustomTipInfo>>;
|
|
138
139
|
constructor(configFilePath: string);
|
|
139
140
|
/**
|
|
140
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
141
|
-
* display the tip on the terminal.
|
|
141
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
142
142
|
*
|
|
143
143
|
* @remarks
|
|
144
144
|
* The severity of the tip is defined in ${@link CustomTipsConfiguration.customTipRegistry}.
|
|
145
|
-
* If you want to change the severity specifically for this call,
|
|
145
|
+
* If you want to change the severity specifically for this call,
|
|
146
|
+
* use other APIs such as {@link CustomTipsConfiguration._showErrorTip}.
|
|
147
|
+
*
|
|
148
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
149
|
+
* output with additional team-specific advice.
|
|
146
150
|
*
|
|
147
151
|
* @internal
|
|
148
152
|
*/
|
|
149
153
|
_showTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
150
154
|
/**
|
|
151
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
152
|
-
*
|
|
155
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
156
|
+
* @remarks
|
|
157
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
158
|
+
* output with additional team-specific advice.
|
|
153
159
|
* @internal
|
|
154
160
|
*/
|
|
155
161
|
_showInfoTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
156
162
|
/**
|
|
157
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
158
|
-
*
|
|
163
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
164
|
+
* @remarks
|
|
165
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
166
|
+
* output with additional team-specific advice.
|
|
159
167
|
* @internal
|
|
160
168
|
*/
|
|
161
169
|
_showWarningTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
162
170
|
/**
|
|
163
|
-
* If custom-tips.json defines a tip for the specified tipId,
|
|
164
|
-
*
|
|
171
|
+
* If custom-tips.json defines a tip for the specified tipId, display the tip on the terminal.
|
|
172
|
+
* @remarks
|
|
173
|
+
* Custom tips by design do not replace Rush's standard messaging; instead, they annotate Rush's
|
|
174
|
+
* output with additional team-specific advice.
|
|
165
175
|
* @internal
|
|
166
176
|
*/
|
|
167
177
|
_showErrorTip(terminal: ITerminal, tipId: CustomTipId): void;
|
package/lib/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { SubspacesConfiguration } from './api/SubspacesConfiguration';
|
|
|
9
9
|
export { IPackageManagerOptionsJsonBase, IConfigurationEnvironment, IConfigurationEnvironmentVariable, PackageManagerOptionsConfigurationBase } from './logic/base/BasePackageManagerOptionsConfiguration';
|
|
10
10
|
export { INpmOptionsJson as _INpmOptionsJson, NpmOptionsConfiguration } from './logic/npm/NpmOptionsConfiguration';
|
|
11
11
|
export { IYarnOptionsJson as _IYarnOptionsJson, YarnOptionsConfiguration } from './logic/yarn/YarnOptionsConfiguration';
|
|
12
|
-
export { IPnpmOptionsJson as _IPnpmOptionsJson, PnpmStoreLocation, PnpmStoreOptions, PnpmOptionsConfiguration, PnpmResolutionMode } from './logic/pnpm/PnpmOptionsConfiguration';
|
|
12
|
+
export { IPnpmOptionsJson as _IPnpmOptionsJson, PnpmStoreLocation, IPnpmLockfilePolicies, IPnpmPackageExtension, IPnpmPeerDependencyRules, IPnpmPeerDependenciesMeta, PnpmStoreOptions, PnpmOptionsConfiguration, PnpmResolutionMode } from './logic/pnpm/PnpmOptionsConfiguration';
|
|
13
13
|
export { BuildCacheConfiguration } from './api/BuildCacheConfiguration';
|
|
14
14
|
export { CobuildConfiguration, ICobuildJson } from './api/CobuildConfiguration';
|
|
15
15
|
export { GetCacheEntryIdFunction, IGenerateCacheEntryIdOptions } from './logic/buildCache/CacheEntryId';
|
|
@@ -43,7 +43,7 @@ export { IOperationOptions, Operation } from './logic/operations/Operation';
|
|
|
43
43
|
export { OperationStatus } from './logic/operations/OperationStatus';
|
|
44
44
|
export { RushSession, IRushSessionOptions, CloudBuildCacheProviderFactory, CobuildLockProviderFactory } from './pluginFramework/RushSession';
|
|
45
45
|
export { IRushCommand, IGlobalCommand, IPhasedCommand, RushLifecycleHooks } from './pluginFramework/RushLifeCycle';
|
|
46
|
-
export { ICreateOperationsContext, PhasedCommandHooks } from './pluginFramework/PhasedCommandHooks';
|
|
46
|
+
export { ICreateOperationsContext, IExecuteOperationsContext, PhasedCommandHooks } from './pluginFramework/PhasedCommandHooks';
|
|
47
47
|
export { IRushPlugin } from './pluginFramework/IRushPlugin';
|
|
48
48
|
export { IBuiltInPluginConfiguration as _IBuiltInPluginConfiguration } from './pluginFramework/PluginLoader/BuiltInPluginLoader';
|
|
49
49
|
export { IRushPluginConfigurationBase as _IRushPluginConfigurationBase } from './api/RushPluginsConfiguration';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ITerminal } from '@rushstack/terminal';
|
|
1
2
|
import { type DependencySpecifier } from '../DependencySpecifier';
|
|
2
3
|
import type { IShrinkwrapFilePolicyValidatorOptions } from '../policy/ShrinkwrapFilePolicy';
|
|
3
4
|
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
@@ -15,6 +16,12 @@ export declare abstract class BaseShrinkwrapFile {
|
|
|
15
16
|
protected static tryGetValue<T>(dictionary: {
|
|
16
17
|
[key2: string]: T;
|
|
17
18
|
}, key: string): T | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Determine whether `pnpm-lock.yaml` complies with the rules specified in `common/config/rush/pnpm-config.schema.json`.
|
|
21
|
+
*
|
|
22
|
+
* @virtual
|
|
23
|
+
*/
|
|
24
|
+
validateShrinkwrapAfterUpdate(rushConfiguration: RushConfiguration, terminal: ITerminal): void;
|
|
18
25
|
/**
|
|
19
26
|
* Validate the shrinkwrap using the provided policy options.
|
|
20
27
|
*
|
|
@@ -19,18 +19,34 @@ export type PnpmStoreOptions = PnpmStoreLocation;
|
|
|
19
19
|
*/
|
|
20
20
|
export type PnpmResolutionMode = 'highest' | 'time-based' | 'lowest-direct';
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Possible values for the `pnpmLockfilePolicies` setting in Rush's pnpm-config.json file.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
export interface IPnpmLockfilePolicies {
|
|
26
|
+
/**
|
|
27
|
+
* Forbid sha1 hashes in `pnpm-lock.yaml`
|
|
28
|
+
*/
|
|
29
|
+
disallowInsecureSha1?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @public
|
|
23
33
|
*/
|
|
24
34
|
export interface IPnpmPeerDependencyRules {
|
|
25
35
|
ignoreMissing?: string[];
|
|
26
36
|
allowAny?: string[];
|
|
27
37
|
allowedVersions?: Record<string, string>;
|
|
28
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
29
42
|
export interface IPnpmPeerDependenciesMeta {
|
|
30
43
|
[packageName: string]: {
|
|
31
44
|
optional?: boolean;
|
|
32
45
|
};
|
|
33
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* @public
|
|
49
|
+
*/
|
|
34
50
|
export interface IPnpmPackageExtension {
|
|
35
51
|
dependencies?: Record<string, string>;
|
|
36
52
|
optionalDependencies?: Record<string, string>;
|
|
@@ -98,6 +114,10 @@ export interface IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
|
|
|
98
114
|
* {@inheritDoc PnpmOptionsConfiguration.alwaysFullInstall}
|
|
99
115
|
*/
|
|
100
116
|
alwaysFullInstall?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* {@inheritDoc PnpmOptionsConfiguration.pnpmLockfilePolicies}
|
|
119
|
+
*/
|
|
120
|
+
pnpmLockfilePolicies?: IPnpmLockfilePolicies;
|
|
101
121
|
}
|
|
102
122
|
/**
|
|
103
123
|
* Options that are only used when the PNPM package manager is selected.
|
|
@@ -277,6 +297,10 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
277
297
|
*/
|
|
278
298
|
readonly unsupportedPackageJsonSettings: unknown | undefined;
|
|
279
299
|
readonly jsonFilename: string | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* The `pnpmLockfilePolicies` setting defines the policies that govern the `pnpm-lock.yaml` file.
|
|
302
|
+
*/
|
|
303
|
+
readonly pnpmLockfilePolicies: IPnpmLockfilePolicies | undefined;
|
|
280
304
|
/**
|
|
281
305
|
* (EXPERIMENTAL) If "true", then filtered installs ("rush install --to my-project")
|
|
282
306
|
* will be disregarded, instead always performing a full installation of the lockfile.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ITerminal } from '@rushstack/terminal';
|
|
1
2
|
import { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';
|
|
2
3
|
import { DependencySpecifier } from '../DependencySpecifier';
|
|
3
4
|
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
@@ -133,6 +134,13 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
133
134
|
static loadFromFile(shrinkwrapYamlFilePath: string, { withCaching }?: ILoadFromFileOptions): PnpmShrinkwrapFile | undefined;
|
|
134
135
|
static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile;
|
|
135
136
|
getShrinkwrapHash(experimentsConfig?: IExperimentsJson): string;
|
|
137
|
+
/**
|
|
138
|
+
* Determine whether `pnpm-lock.yaml` contains insecure sha1 hashes.
|
|
139
|
+
* @internal
|
|
140
|
+
*/
|
|
141
|
+
private _disallowInsecureSha1;
|
|
142
|
+
/** @override */
|
|
143
|
+
validateShrinkwrapAfterUpdate(rushConfiguration: RushConfiguration, terminal: ITerminal): void;
|
|
136
144
|
/** @override */
|
|
137
145
|
validate(packageManagerOptionsConfig: PackageManagerOptionsConfigurationBase, policyOptions: IShrinkwrapFilePolicyValidatorOptions, experimentsConfig?: IExperimentsJson): void;
|
|
138
146
|
/** @override */
|
|
@@ -62,10 +62,6 @@ export interface ICreateOperationsContext {
|
|
|
62
62
|
* The set of phases selected for the current command execution.
|
|
63
63
|
*/
|
|
64
64
|
readonly phaseSelection: ReadonlySet<IPhase>;
|
|
65
|
-
/**
|
|
66
|
-
* The current state of the repository
|
|
67
|
-
*/
|
|
68
|
-
readonly projectChangeAnalyzer: ProjectChangeAnalyzer;
|
|
69
65
|
/**
|
|
70
66
|
* The set of Rush projects selected for the current command execution.
|
|
71
67
|
*/
|
|
@@ -90,6 +86,18 @@ export interface ICreateOperationsContext {
|
|
|
90
86
|
*/
|
|
91
87
|
readonly invalidateOperation?: ((operation: Operation, reason: string) => void) | undefined;
|
|
92
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Context used for executing operations.
|
|
91
|
+
* @alpha
|
|
92
|
+
*/
|
|
93
|
+
export interface IExecuteOperationsContext extends ICreateOperationsContext {
|
|
94
|
+
/**
|
|
95
|
+
* The current state of the repository.
|
|
96
|
+
*
|
|
97
|
+
* Note that this is not defined during the initial operation creation.
|
|
98
|
+
*/
|
|
99
|
+
readonly projectChangeAnalyzer: ProjectChangeAnalyzer;
|
|
100
|
+
}
|
|
93
101
|
/**
|
|
94
102
|
* Hooks into the execution process for phased commands
|
|
95
103
|
* @alpha
|
|
@@ -106,7 +114,7 @@ export declare class PhasedCommandHooks {
|
|
|
106
114
|
*/
|
|
107
115
|
readonly beforeExecuteOperations: AsyncSeriesHook<[
|
|
108
116
|
Map<Operation, IOperationExecutionResult>,
|
|
109
|
-
|
|
117
|
+
IExecuteOperationsContext
|
|
110
118
|
]>;
|
|
111
119
|
/**
|
|
112
120
|
* Hook invoked when operation status changed
|
|
@@ -118,7 +126,7 @@ export declare class PhasedCommandHooks {
|
|
|
118
126
|
* Use the context to distinguish between the initial run and phased runs.
|
|
119
127
|
* Hook is series for stable output.
|
|
120
128
|
*/
|
|
121
|
-
readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult,
|
|
129
|
+
readonly afterExecuteOperations: AsyncSeriesHook<[IExecutionResult, IExecuteOperationsContext]>;
|
|
122
130
|
/**
|
|
123
131
|
* Hook invoked before executing a operation.
|
|
124
132
|
*/
|
|
@@ -37,30 +37,30 @@ export declare class RushLifecycleHooks {
|
|
|
37
37
|
/**
|
|
38
38
|
* The hook to run before executing any Rush CLI Command.
|
|
39
39
|
*/
|
|
40
|
-
initialize: AsyncSeriesHook<IRushCommand>;
|
|
40
|
+
readonly initialize: AsyncSeriesHook<IRushCommand>;
|
|
41
41
|
/**
|
|
42
42
|
* The hook to run before executing any global Rush CLI Command (defined in command-line.json).
|
|
43
43
|
*/
|
|
44
|
-
runAnyGlobalCustomCommand: AsyncSeriesHook<IGlobalCommand>;
|
|
44
|
+
readonly runAnyGlobalCustomCommand: AsyncSeriesHook<IGlobalCommand>;
|
|
45
45
|
/**
|
|
46
46
|
* A hook map to allow plugins to hook specific named global commands (defined in command-line.json) before execution.
|
|
47
47
|
*/
|
|
48
|
-
runGlobalCustomCommand: HookMap<AsyncSeriesHook<IGlobalCommand>>;
|
|
48
|
+
readonly runGlobalCustomCommand: HookMap<AsyncSeriesHook<IGlobalCommand>>;
|
|
49
49
|
/**
|
|
50
50
|
* The hook to run before executing any phased Rush CLI Command (defined in command-line.json, or the default "build" or "rebuild").
|
|
51
51
|
*/
|
|
52
|
-
runAnyPhasedCommand: AsyncSeriesHook<IPhasedCommand>;
|
|
52
|
+
readonly runAnyPhasedCommand: AsyncSeriesHook<IPhasedCommand>;
|
|
53
53
|
/**
|
|
54
54
|
* A hook map to allow plugins to hook specific named phased commands (defined in command-line.json) before execution.
|
|
55
55
|
*/
|
|
56
|
-
runPhasedCommand: HookMap<AsyncSeriesHook<IPhasedCommand>>;
|
|
56
|
+
readonly runPhasedCommand: HookMap<AsyncSeriesHook<IPhasedCommand>>;
|
|
57
57
|
/**
|
|
58
58
|
* The hook to run between preparing the common/temp folder and invoking the package manager during "rush install" or "rush update".
|
|
59
59
|
*/
|
|
60
|
-
beforeInstall: AsyncSeriesHook<IGlobalCommand>;
|
|
60
|
+
readonly beforeInstall: AsyncSeriesHook<IGlobalCommand>;
|
|
61
61
|
/**
|
|
62
62
|
* A hook to allow plugins to hook custom logic to process telemetry data.
|
|
63
63
|
*/
|
|
64
|
-
flushTelemetry: AsyncParallelHook<[ReadonlyArray<ITelemetryData>]>;
|
|
64
|
+
readonly flushTelemetry: AsyncParallelHook<[ReadonlyArray<ITelemetryData>]>;
|
|
65
65
|
}
|
|
66
66
|
//# sourceMappingURL=RushLifeCycle.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/rush-sdk",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.119.0",
|
|
4
4
|
"description": "An API for interacting with the Rush engine",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/semver": "7.5.0",
|
|
33
33
|
"@types/webpack-env": "1.18.0",
|
|
34
|
+
"@microsoft/rush-lib": "5.119.0",
|
|
34
35
|
"@rushstack/heft": "0.66.2",
|
|
35
36
|
"local-node-rig": "1.0.0",
|
|
36
|
-
"@
|
|
37
|
-
"@rushstack/stream-collator": "4.1.40"
|
|
38
|
-
"@rushstack/ts-command-line": "4.19.1"
|
|
37
|
+
"@rushstack/ts-command-line": "4.19.1",
|
|
38
|
+
"@rushstack/stream-collator": "4.1.40"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "heft build --clean",
|