@rushstack/rush-sdk 5.78.1 → 5.80.0-pr3481.7
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 +373 -27
- package/package.json +9 -9
package/dist/rush-lib.d.ts
CHANGED
|
@@ -136,6 +136,59 @@ export declare class ApprovedPackagesPolicy {
|
|
|
136
136
|
get nonbrowserApprovedPackages(): ApprovedPackagesConfiguration;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
/**
|
|
140
|
+
* A base class for flag file.
|
|
141
|
+
* @internal
|
|
142
|
+
*/
|
|
143
|
+
export declare class _BaseFlag<T extends object = JsonObject> {
|
|
144
|
+
/**
|
|
145
|
+
* Flag file path
|
|
146
|
+
*/
|
|
147
|
+
protected _path: string;
|
|
148
|
+
/**
|
|
149
|
+
* Content of the flag
|
|
150
|
+
*/
|
|
151
|
+
protected _state: T;
|
|
152
|
+
/**
|
|
153
|
+
* Whether the current state is modified
|
|
154
|
+
*/
|
|
155
|
+
protected _isModified: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Creates a new flag file
|
|
158
|
+
* @param folderPath - the folder that this flag is managing
|
|
159
|
+
* @param state - optional, the state that should be managed or compared
|
|
160
|
+
*/
|
|
161
|
+
constructor(folderPath: string, state?: Partial<T>);
|
|
162
|
+
/**
|
|
163
|
+
* Returns true if the file exists and the contents match the current state.
|
|
164
|
+
*/
|
|
165
|
+
isValid(): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Writes the flag file to disk with the current state
|
|
168
|
+
*/
|
|
169
|
+
create(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Merge new data into current state by lodash "merge"
|
|
172
|
+
*/
|
|
173
|
+
mergeFromObject(data: JsonObject): void;
|
|
174
|
+
/**
|
|
175
|
+
* Writes the flag file to disk with the current state if modified
|
|
176
|
+
*/
|
|
177
|
+
saveIfModified(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Removes the flag file
|
|
180
|
+
*/
|
|
181
|
+
clear(): void;
|
|
182
|
+
/**
|
|
183
|
+
* Returns the full path to the flag file
|
|
184
|
+
*/
|
|
185
|
+
get path(): string;
|
|
186
|
+
/**
|
|
187
|
+
* Returns the name of the flag file
|
|
188
|
+
*/
|
|
189
|
+
protected get flagName(): string;
|
|
190
|
+
}
|
|
191
|
+
|
|
139
192
|
/**
|
|
140
193
|
* Use this class to load and save the "common/config/rush/build-cache.json" config file.
|
|
141
194
|
* This file provides configuration options for cached project build output.
|
|
@@ -887,6 +940,11 @@ export declare interface IExperimentsJson {
|
|
|
887
940
|
* in common/config/rush/command-line.json.
|
|
888
941
|
*/
|
|
889
942
|
phasedCommands?: boolean;
|
|
943
|
+
/**
|
|
944
|
+
* If true, rush install or rush update implicitly specify --ignore-scripts during pnpm install,
|
|
945
|
+
* and run install lifecycle scripts by pnpm rebuild --pending after pnpm install successfully.
|
|
946
|
+
*/
|
|
947
|
+
deferredInstallationScripts?: boolean;
|
|
890
948
|
}
|
|
891
949
|
|
|
892
950
|
/**
|
|
@@ -953,6 +1011,50 @@ declare interface IIndividualVersionJson extends IVersionPolicyJson {
|
|
|
953
1011
|
lockedMajor?: number;
|
|
954
1012
|
}
|
|
955
1013
|
|
|
1014
|
+
/**
|
|
1015
|
+
* This represents the JSON data structure for the "last-install.flag" file.
|
|
1016
|
+
* @internal
|
|
1017
|
+
*/
|
|
1018
|
+
export declare interface _ILastInstallFlagJson {
|
|
1019
|
+
/**
|
|
1020
|
+
* Current node version
|
|
1021
|
+
*/
|
|
1022
|
+
node: string;
|
|
1023
|
+
/**
|
|
1024
|
+
* Current package manager name
|
|
1025
|
+
*/
|
|
1026
|
+
packageManager: PackageManagerName;
|
|
1027
|
+
/**
|
|
1028
|
+
* Current package manager version
|
|
1029
|
+
*/
|
|
1030
|
+
packageManagerVersion: string;
|
|
1031
|
+
/**
|
|
1032
|
+
* Current rush json folder
|
|
1033
|
+
*/
|
|
1034
|
+
rushJsonFolder: string;
|
|
1035
|
+
/**
|
|
1036
|
+
* The content of package.json, used in the flag file of autoinstaller
|
|
1037
|
+
*/
|
|
1038
|
+
packageJson?: IPackageJson;
|
|
1039
|
+
/**
|
|
1040
|
+
* Same with pnpmOptions.pnpmStorePath in rush.json
|
|
1041
|
+
*/
|
|
1042
|
+
storePath?: string;
|
|
1043
|
+
/**
|
|
1044
|
+
* True when "useWorkspaces" is true in rush.json
|
|
1045
|
+
*/
|
|
1046
|
+
workspaces?: true;
|
|
1047
|
+
/**
|
|
1048
|
+
* True when user explicitly specify "--ignore-scripts" CLI parameter or deferredInstallationScripts
|
|
1049
|
+
*/
|
|
1050
|
+
ignoreScripts?: true;
|
|
1051
|
+
/**
|
|
1052
|
+
* When specified, it is a list of selected projects during partial install
|
|
1053
|
+
* It is undefined when full install
|
|
1054
|
+
*/
|
|
1055
|
+
selectedProjectNames?: string[];
|
|
1056
|
+
}
|
|
1057
|
+
|
|
956
1058
|
/**
|
|
957
1059
|
* Options to pass to the rush "launch" functions.
|
|
958
1060
|
*
|
|
@@ -1086,6 +1188,10 @@ export declare interface IOperationExecutionResult {
|
|
|
1086
1188
|
* Object used to report a summary at the end of the Rush invocation.
|
|
1087
1189
|
*/
|
|
1088
1190
|
readonly stdioSummarizer: StdioSummarizer;
|
|
1191
|
+
/**
|
|
1192
|
+
* The value indicates the duration of the same operation without cache hit.
|
|
1193
|
+
*/
|
|
1194
|
+
readonly nonCachedDurationMs: number | undefined;
|
|
1089
1195
|
}
|
|
1090
1196
|
|
|
1091
1197
|
/**
|
|
@@ -1169,6 +1275,31 @@ export declare interface IOperationRunnerContext {
|
|
|
1169
1275
|
* Object used to report a summary at the end of the Rush invocation.
|
|
1170
1276
|
*/
|
|
1171
1277
|
stdioSummarizer: StdioSummarizer;
|
|
1278
|
+
/**
|
|
1279
|
+
* Object used to record state of the operation.
|
|
1280
|
+
*
|
|
1281
|
+
* @internal
|
|
1282
|
+
*/
|
|
1283
|
+
_operationStateFile?: _OperationStateFile;
|
|
1284
|
+
/**
|
|
1285
|
+
* Object used to track elapsed time.
|
|
1286
|
+
*/
|
|
1287
|
+
stopwatch: IStopwatchResult;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
/**
|
|
1291
|
+
* @internal
|
|
1292
|
+
*/
|
|
1293
|
+
export declare interface _IOperationStateFileOptions {
|
|
1294
|
+
rushProject: RushConfigurationProject;
|
|
1295
|
+
phase: IPhase;
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
/**
|
|
1299
|
+
* @internal
|
|
1300
|
+
*/
|
|
1301
|
+
export declare interface _IOperationStateJson {
|
|
1302
|
+
nonCachedDurationMs: number;
|
|
1172
1303
|
}
|
|
1173
1304
|
|
|
1174
1305
|
/**
|
|
@@ -1241,11 +1372,11 @@ export declare interface IPhasedCommand extends IRushCommand {
|
|
|
1241
1372
|
*/
|
|
1242
1373
|
export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
|
|
1243
1374
|
/**
|
|
1244
|
-
*
|
|
1375
|
+
* {@inheritDoc PnpmOptionsConfiguration.pnpmStore}
|
|
1245
1376
|
*/
|
|
1246
1377
|
pnpmStore?: PnpmStoreOptions;
|
|
1247
1378
|
/**
|
|
1248
|
-
*
|
|
1379
|
+
* {@inheritDoc PnpmOptionsConfiguration.strictPeerDependencies}
|
|
1249
1380
|
*/
|
|
1250
1381
|
strictPeerDependencies?: boolean;
|
|
1251
1382
|
/**
|
|
@@ -1256,6 +1387,52 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1256
1387
|
* {@inheritDoc PnpmOptionsConfiguration.useWorkspaces}
|
|
1257
1388
|
*/
|
|
1258
1389
|
useWorkspaces?: boolean;
|
|
1390
|
+
/**
|
|
1391
|
+
* {@inheritDoc PnpmOptionsConfiguration.globalOverrides}
|
|
1392
|
+
*/
|
|
1393
|
+
globalOverrides?: Record<string, string>;
|
|
1394
|
+
/**
|
|
1395
|
+
* {@inheritDoc PnpmOptionsConfiguration.globalPeerDependencyRules}
|
|
1396
|
+
*/
|
|
1397
|
+
globalPeerDependencyRules?: IPnpmPeerDependencyRules;
|
|
1398
|
+
/**
|
|
1399
|
+
* {@inheritDoc PnpmOptionsConfiguration.globalPackageExtensions}
|
|
1400
|
+
*/
|
|
1401
|
+
globalPackageExtensions?: Record<string, IPnpmPackageExtension>;
|
|
1402
|
+
/**
|
|
1403
|
+
* {@inheritDoc PnpmOptionsConfiguration.globalNeverBuiltDependencies}
|
|
1404
|
+
*/
|
|
1405
|
+
globalNeverBuiltDependencies?: string[];
|
|
1406
|
+
/**
|
|
1407
|
+
* {@inheritDoc PnpmOptionsConfiguration.globalAllowedDeprecatedVersions}
|
|
1408
|
+
*/
|
|
1409
|
+
globalAllowedDeprecatedVersions?: Record<string, string>;
|
|
1410
|
+
/**
|
|
1411
|
+
* {@inheritDoc PnpmOptionsConfiguration.unsupportedPackageJsonSettings}
|
|
1412
|
+
*/
|
|
1413
|
+
unsupportedPackageJsonSettings?: unknown;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
declare interface IPnpmPackageExtension {
|
|
1417
|
+
dependencies?: Record<string, string>;
|
|
1418
|
+
optionalDependencies?: Record<string, string>;
|
|
1419
|
+
peerDependencies?: Record<string, string>;
|
|
1420
|
+
peerDependenciesMeta?: IPnpmPeerDependenciesMeta;
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
declare interface IPnpmPeerDependenciesMeta {
|
|
1424
|
+
[packageName: string]: {
|
|
1425
|
+
optional?: boolean;
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
/**
|
|
1430
|
+
* @beta
|
|
1431
|
+
*/
|
|
1432
|
+
declare interface IPnpmPeerDependencyRules {
|
|
1433
|
+
ignoreMissing?: string[];
|
|
1434
|
+
allowAny?: string[];
|
|
1435
|
+
allowedVersions?: Record<string, string>;
|
|
1259
1436
|
}
|
|
1260
1437
|
|
|
1261
1438
|
declare interface IRawRepoState {
|
|
@@ -1318,6 +1495,7 @@ declare interface IRushConfigurationProjectJson {
|
|
|
1318
1495
|
skipRushCheck?: boolean;
|
|
1319
1496
|
publishFolder?: string;
|
|
1320
1497
|
tags?: string[];
|
|
1498
|
+
splitWorkspace?: boolean;
|
|
1321
1499
|
}
|
|
1322
1500
|
|
|
1323
1501
|
/**
|
|
@@ -1342,6 +1520,16 @@ declare interface IRushConfigurationProjectOptions {
|
|
|
1342
1520
|
allowedProjectTags: Set<string> | undefined;
|
|
1343
1521
|
}
|
|
1344
1522
|
|
|
1523
|
+
/**
|
|
1524
|
+
* The filter parameters to search from all projects.
|
|
1525
|
+
*/
|
|
1526
|
+
declare interface IRushConfigurationProjectsFilter {
|
|
1527
|
+
/**
|
|
1528
|
+
* If true, filter out projects that specify splitWorkspace as true.
|
|
1529
|
+
*/
|
|
1530
|
+
splitWorkspace: boolean;
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1345
1533
|
/**
|
|
1346
1534
|
* Part of IRushConfigurationJson.
|
|
1347
1535
|
*/
|
|
@@ -1350,6 +1538,7 @@ declare interface IRushGitPolicyJson {
|
|
|
1350
1538
|
sampleEmail?: string;
|
|
1351
1539
|
versionBumpCommitMessage?: string;
|
|
1352
1540
|
changeLogUpdateCommitMessage?: string;
|
|
1541
|
+
changefilesCommitMessage?: string;
|
|
1353
1542
|
tagSeparator?: string;
|
|
1354
1543
|
}
|
|
1355
1544
|
|
|
@@ -1431,7 +1620,7 @@ declare interface IRushVariantOptionsJson {
|
|
|
1431
1620
|
|
|
1432
1621
|
/**
|
|
1433
1622
|
* Represents a readonly view of a `Stopwatch`.
|
|
1434
|
-
* @
|
|
1623
|
+
* @beta
|
|
1435
1624
|
*/
|
|
1436
1625
|
export declare interface IStopwatchResult {
|
|
1437
1626
|
/**
|
|
@@ -1548,6 +1737,10 @@ export declare interface ITelemetryOperationResult {
|
|
|
1548
1737
|
* If the operation was blocked, will be `undefined`.
|
|
1549
1738
|
*/
|
|
1550
1739
|
endTimestampMs?: number;
|
|
1740
|
+
/**
|
|
1741
|
+
* Duration in milliseconds when the operation does not hit cache
|
|
1742
|
+
*/
|
|
1743
|
+
nonCachedDurationMs?: number;
|
|
1551
1744
|
}
|
|
1552
1745
|
|
|
1553
1746
|
/**
|
|
@@ -1600,16 +1793,9 @@ export declare interface _IYarnOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1600
1793
|
* it can invalidate the last install.
|
|
1601
1794
|
* @internal
|
|
1602
1795
|
*/
|
|
1603
|
-
export declare class _LastInstallFlag {
|
|
1604
|
-
private _path;
|
|
1605
|
-
private _state;
|
|
1606
|
-
/**
|
|
1607
|
-
* Creates a new LastInstall flag
|
|
1608
|
-
* @param folderPath - the folder that this flag is managing
|
|
1609
|
-
* @param state - optional, the state that should be managed or compared
|
|
1610
|
-
*/
|
|
1611
|
-
constructor(folderPath: string, state?: JsonObject);
|
|
1796
|
+
export declare class _LastInstallFlag extends _BaseFlag<_ILastInstallFlagJson> {
|
|
1612
1797
|
/**
|
|
1798
|
+
* @override
|
|
1613
1799
|
* Returns true if the file exists and the contents match the current state.
|
|
1614
1800
|
*/
|
|
1615
1801
|
isValid(): boolean;
|
|
@@ -1619,20 +1805,8 @@ export declare class _LastInstallFlag {
|
|
|
1619
1805
|
*
|
|
1620
1806
|
* @internal
|
|
1621
1807
|
*/
|
|
1622
|
-
checkValidAndReportStoreIssues(): boolean;
|
|
1808
|
+
checkValidAndReportStoreIssues(rushVerb: string): boolean;
|
|
1623
1809
|
private _isValid;
|
|
1624
|
-
/**
|
|
1625
|
-
* Writes the flag file to disk with the current state
|
|
1626
|
-
*/
|
|
1627
|
-
create(): void;
|
|
1628
|
-
/**
|
|
1629
|
-
* Removes the flag file
|
|
1630
|
-
*/
|
|
1631
|
-
clear(): void;
|
|
1632
|
-
/**
|
|
1633
|
-
* Returns the full path to the flag file
|
|
1634
|
-
*/
|
|
1635
|
-
get path(): string;
|
|
1636
1810
|
/**
|
|
1637
1811
|
* Returns the name of the flag file
|
|
1638
1812
|
*/
|
|
@@ -1860,6 +2034,32 @@ export declare class Operation {
|
|
|
1860
2034
|
deleteDependency(dependency: Operation): void;
|
|
1861
2035
|
}
|
|
1862
2036
|
|
|
2037
|
+
/**
|
|
2038
|
+
* A helper class for managing the state file of a operation.
|
|
2039
|
+
*
|
|
2040
|
+
* @internal
|
|
2041
|
+
*/
|
|
2042
|
+
export declare class _OperationStateFile {
|
|
2043
|
+
private readonly _rushProject;
|
|
2044
|
+
private readonly _filename;
|
|
2045
|
+
private _state;
|
|
2046
|
+
constructor(options: _IOperationStateFileOptions);
|
|
2047
|
+
private static _getFilename;
|
|
2048
|
+
/**
|
|
2049
|
+
* ProjectBuildCache expects the relative path for better logging
|
|
2050
|
+
*
|
|
2051
|
+
* @internal
|
|
2052
|
+
*/
|
|
2053
|
+
static getFilenameRelativeToProjectRoot(phase: IPhase): string;
|
|
2054
|
+
/**
|
|
2055
|
+
* Returns the filename of the metadata file.
|
|
2056
|
+
*/
|
|
2057
|
+
get filename(): string;
|
|
2058
|
+
get state(): _IOperationStateJson | undefined;
|
|
2059
|
+
writeAsync(json: _IOperationStateJson): Promise<void>;
|
|
2060
|
+
tryRestoreAsync(): Promise<_IOperationStateJson | undefined>;
|
|
2061
|
+
}
|
|
2062
|
+
|
|
1863
2063
|
/**
|
|
1864
2064
|
* Enumeration defining potential states of an operation
|
|
1865
2065
|
* @beta
|
|
@@ -2042,6 +2242,8 @@ export declare class PhasedCommandHooks {
|
|
|
2042
2242
|
|
|
2043
2243
|
/**
|
|
2044
2244
|
* Options that are only used when the PNPM package manager is selected.
|
|
2245
|
+
* Use this class to load "common/config/rush/pnpm-config.json" file,
|
|
2246
|
+
* or, load json from "pnpmOptions" field in "rush.json" for legacy support.
|
|
2045
2247
|
*
|
|
2046
2248
|
* @remarks
|
|
2047
2249
|
* It is valid to define these options in rush.json even if the PNPM package manager
|
|
@@ -2050,6 +2252,7 @@ export declare class PhasedCommandHooks {
|
|
|
2050
2252
|
* @public
|
|
2051
2253
|
*/
|
|
2052
2254
|
export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfigurationBase {
|
|
2255
|
+
private static _jsonSchema;
|
|
2053
2256
|
/**
|
|
2054
2257
|
* The method used to resolve the store used by PNPM.
|
|
2055
2258
|
*
|
|
@@ -2099,11 +2302,92 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
2099
2302
|
* If true, then Rush will use the workspaces feature to install and link packages when invoking PNPM.
|
|
2100
2303
|
*
|
|
2101
2304
|
* @remarks
|
|
2102
|
-
* The default value is
|
|
2305
|
+
* The default value is true. (For now.)
|
|
2103
2306
|
*/
|
|
2104
2307
|
readonly useWorkspaces: boolean;
|
|
2308
|
+
/**
|
|
2309
|
+
* The "globalOverrides" setting provides a simple mechanism for overriding version selections
|
|
2310
|
+
* for all dependencies of all projects in the monorepo workspace. The settings are copied
|
|
2311
|
+
* into the `pnpm.overrides` field of the `common/temp/package.json` file that is generated
|
|
2312
|
+
* by Rush during installation.
|
|
2313
|
+
*
|
|
2314
|
+
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
2315
|
+
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
2316
|
+
* and `globalOverrides` has lowest precedence.
|
|
2317
|
+
*
|
|
2318
|
+
* PNPM documentation: https://pnpm.io/package_json#pnpmoverrides
|
|
2319
|
+
*/
|
|
2320
|
+
readonly globalOverrides: Record<string, string> | undefined;
|
|
2321
|
+
/**
|
|
2322
|
+
* The `globalPeerDependencyRules` setting provides various settings for suppressing validation errors
|
|
2323
|
+
* that are reported during installation with `strictPeerDependencies=true`. The settings are copied
|
|
2324
|
+
* into the `pnpm.peerDependencyRules` field of the `common/temp/package.json` file that is generated
|
|
2325
|
+
* by Rush during installation.
|
|
2326
|
+
*
|
|
2327
|
+
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
2328
|
+
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
2329
|
+
* and `globalOverrides` has lowest precedence.
|
|
2330
|
+
*
|
|
2331
|
+
* https://pnpm.io/package_json#pnpmpeerdependencyrules
|
|
2332
|
+
*/
|
|
2333
|
+
readonly globalPeerDependencyRules: IPnpmPeerDependencyRules | undefined;
|
|
2334
|
+
/**
|
|
2335
|
+
* The `globalPackageExtension` setting provides a way to patch arbitrary package.json fields
|
|
2336
|
+
* for any PNPM dependency of the monorepo. The settings are copied into the `pnpm.packageExtensions`
|
|
2337
|
+
* field of the `common/temp/package.json` file that is generated by Rush during installation.
|
|
2338
|
+
* The `globalPackageExtension` setting has similar capabilities as `.pnpmfile.cjs` but without
|
|
2339
|
+
* the downsides of an executable script (nondeterminism, unreliable caching, performance concerns).
|
|
2340
|
+
*
|
|
2341
|
+
* Order of precedence: `.pnpmfile.cjs` has the highest precedence, followed by
|
|
2342
|
+
* `unsupportedPackageJsonSettings`, `globalPeerDependencyRules`, `globalPackageExtensions`,
|
|
2343
|
+
* and `globalOverrides` has lowest precedence.
|
|
2344
|
+
*
|
|
2345
|
+
* PNPM documentation: https://pnpm.io/package_json#pnpmpackageextensions
|
|
2346
|
+
*/
|
|
2347
|
+
readonly globalPackageExtensions: Record<string, IPnpmPackageExtension> | undefined;
|
|
2348
|
+
/**
|
|
2349
|
+
* The `globalNeverBuiltDependencies` setting suppresses the `preinstall`, `install`, and `postinstall`
|
|
2350
|
+
* lifecycle events for the specified NPM dependencies. This is useful for scripts with poor practices
|
|
2351
|
+
* such as downloading large binaries without retries or attempting to invoke OS tools such as
|
|
2352
|
+
* a C++ compiler. (PNPM's terminology refers to these lifecycle events as "building" a package;
|
|
2353
|
+
* it has nothing to do with build system operations such as `rush build` or `rushx build`.)
|
|
2354
|
+
* The settings are copied into the `pnpm.neverBuiltDependencies` field of the `common/temp/package.json`
|
|
2355
|
+
* file that is generated by Rush during installation.
|
|
2356
|
+
*
|
|
2357
|
+
* PNPM documentation: https://pnpm.io/package_json#pnpmneverbuiltdependencies
|
|
2358
|
+
*/
|
|
2359
|
+
readonly globalNeverBuiltDependencies: string[] | undefined;
|
|
2360
|
+
/**
|
|
2361
|
+
* The `globalAllowedDeprecatedVersions` setting suppresses installation warnings for package
|
|
2362
|
+
* versions that the NPM registry reports as being deprecated. This is useful if the
|
|
2363
|
+
* deprecated package is an indirect dependency of an external package that has not released a fix.
|
|
2364
|
+
* The settings are copied into the `pnpm.allowedDeprecatedVersions` field of the `common/temp/package.json`
|
|
2365
|
+
* file that is generated by Rush during installation.
|
|
2366
|
+
*
|
|
2367
|
+
* PNPM documentation: https://pnpm.io/package_json#pnpmalloweddeprecatedversions
|
|
2368
|
+
*
|
|
2369
|
+
* If you are working to eliminate a deprecated version, it's better to specify `allowedDeprecatedVersions`
|
|
2370
|
+
* in the package.json file for individual Rush projects.
|
|
2371
|
+
*/
|
|
2372
|
+
readonly globalAllowedDeprecatedVersions: Record<string, string> | undefined;
|
|
2373
|
+
/**
|
|
2374
|
+
* (USE AT YOUR OWN RISK) This is a free-form property bag that will be copied into
|
|
2375
|
+
* the `common/temp/package.json` file that is generated by Rush during installation.
|
|
2376
|
+
* This provides a way to experiment with new PNPM features. These settings will override
|
|
2377
|
+
* any other Rush configuration associated with a given JSON field except for `.pnpmfile.cjs`.
|
|
2378
|
+
*
|
|
2379
|
+
* USAGE OF THIS SETTING IS NOT SUPPORTED BY THE RUSH MAINTAINERS AND MAY CAUSE RUSH
|
|
2380
|
+
* TO MALFUNCTION. If you encounter a missing PNPM setting that you believe should
|
|
2381
|
+
* be supported, please create a GitHub issue or PR. Note that Rush does not aim to
|
|
2382
|
+
* support every possible PNPM setting, but rather to promote a battle-tested installation
|
|
2383
|
+
* strategy that is known to provide a good experience for large teams with lots of projects.
|
|
2384
|
+
*/
|
|
2385
|
+
readonly unsupportedPackageJsonSettings: unknown | undefined;
|
|
2386
|
+
private constructor();
|
|
2105
2387
|
/** @internal */
|
|
2106
|
-
|
|
2388
|
+
static loadFromJsonFileOrThrow(jsonFilename: string, commonTempFolder: string): PnpmOptionsConfiguration;
|
|
2389
|
+
/** @internal */
|
|
2390
|
+
static loadFromJsonObject(json: _IPnpmOptionsJson, commonTempFolder: string): PnpmOptionsConfiguration;
|
|
2107
2391
|
}
|
|
2108
2392
|
|
|
2109
2393
|
/**
|
|
@@ -2285,6 +2569,7 @@ export declare class RushConfiguration {
|
|
|
2285
2569
|
private _changesFolder;
|
|
2286
2570
|
private _commonFolder;
|
|
2287
2571
|
private _commonTempFolder;
|
|
2572
|
+
private _commonTempSplitFolder;
|
|
2288
2573
|
private _commonScriptsFolder;
|
|
2289
2574
|
private _commonRushConfigFolder;
|
|
2290
2575
|
private _packageManager;
|
|
@@ -2293,8 +2578,10 @@ export declare class RushConfiguration {
|
|
|
2293
2578
|
private _npmTmpFolder;
|
|
2294
2579
|
private _yarnCacheFolder;
|
|
2295
2580
|
private _shrinkwrapFilename;
|
|
2581
|
+
private _splitWorkspaceShrinkwrapFilename;
|
|
2296
2582
|
private _tempShrinkwrapFilename;
|
|
2297
2583
|
private _tempShrinkwrapPreinstallFilename;
|
|
2584
|
+
private _tempSplitWorkspaceShrinkwrapFilename;
|
|
2298
2585
|
private _currentVariantJsonFilename;
|
|
2299
2586
|
private _packageManagerToolVersion;
|
|
2300
2587
|
private _packageManagerToolFilename;
|
|
@@ -2310,6 +2597,7 @@ export declare class RushConfiguration {
|
|
|
2310
2597
|
private _gitSampleEmail;
|
|
2311
2598
|
private _gitVersionBumpCommitMessage;
|
|
2312
2599
|
private _gitChangeLogUpdateCommitMessage;
|
|
2600
|
+
private _gitChangefilesCommitMessage;
|
|
2313
2601
|
private _gitTagSeparator;
|
|
2314
2602
|
private _hotfixChangeEnabled;
|
|
2315
2603
|
private _repositoryUrls;
|
|
@@ -2325,6 +2613,8 @@ export declare class RushConfiguration {
|
|
|
2325
2613
|
private _projects;
|
|
2326
2614
|
private _projectsByName;
|
|
2327
2615
|
private _projectsByTag;
|
|
2616
|
+
private _filteredProjectsCache;
|
|
2617
|
+
private _hasSplitWorkspaceProject;
|
|
2328
2618
|
private _commonVersionsConfigurationsByVariant;
|
|
2329
2619
|
private _versionPolicyConfiguration;
|
|
2330
2620
|
private _versionPolicyConfigurationFilePath;
|
|
@@ -2417,6 +2707,12 @@ export declare class RushConfiguration {
|
|
|
2417
2707
|
* Example: `C:\MyRepo\common\temp`
|
|
2418
2708
|
*/
|
|
2419
2709
|
get commonTempFolder(): string;
|
|
2710
|
+
/**
|
|
2711
|
+
* The folder where temporary files will be stored. This is always a subfolder called "temp"
|
|
2712
|
+
* under the common folder.
|
|
2713
|
+
* Example: `C:\MyRepo\common\temp-split`
|
|
2714
|
+
*/
|
|
2715
|
+
get commonTempSplitFolder(): string;
|
|
2420
2716
|
/**
|
|
2421
2717
|
* The folder where automation scripts are stored. This is always a subfolder called "scripts"
|
|
2422
2718
|
* under the common folder.
|
|
@@ -2474,6 +2770,7 @@ export declare class RushConfiguration {
|
|
|
2474
2770
|
* Example: `npm-shrinkwrap.json` or `pnpm-lock.yaml`
|
|
2475
2771
|
*/
|
|
2476
2772
|
get shrinkwrapFilename(): string;
|
|
2773
|
+
get splitWorkspaceShrinkwrapFilename(): string;
|
|
2477
2774
|
/**
|
|
2478
2775
|
* The full path of the temporary shrinkwrap file that is used during "rush install".
|
|
2479
2776
|
* This file may get rewritten by the package manager during installation.
|
|
@@ -2482,6 +2779,14 @@ export declare class RushConfiguration {
|
|
|
2482
2779
|
* Example: `C:\MyRepo\common\temp\npm-shrinkwrap.json` or `C:\MyRepo\common\temp\pnpm-lock.yaml`
|
|
2483
2780
|
*/
|
|
2484
2781
|
get tempShrinkwrapFilename(): string;
|
|
2782
|
+
/**
|
|
2783
|
+
* The full path of the temporary shrinkwrap file for split workspace that is used during
|
|
2784
|
+
* "rush install". This file may get rewritten by the package manager during installation.
|
|
2785
|
+
* @remarks
|
|
2786
|
+
* This property merely reports the filename; the file itself may not actually exist.
|
|
2787
|
+
* Example: `C:\MyRepo\common\temp-split\pnpm-lock.yaml`
|
|
2788
|
+
*/
|
|
2789
|
+
get tempSplitWorkspaceShrinkwrapFilename(): string;
|
|
2485
2790
|
/**
|
|
2486
2791
|
* The full path of a backup copy of tempShrinkwrapFilename. This backup copy is made
|
|
2487
2792
|
* before installation begins, and can be compared to determine how the package manager
|
|
@@ -2582,6 +2887,11 @@ export declare class RushConfiguration {
|
|
|
2582
2887
|
* The commit message to use when committing change log files 'rush version'
|
|
2583
2888
|
*/
|
|
2584
2889
|
get gitChangeLogUpdateCommitMessage(): string | undefined;
|
|
2890
|
+
/**
|
|
2891
|
+
* [Part of the "gitPolicy" feature.]
|
|
2892
|
+
* The commit message to use when committing change log files 'rush version'
|
|
2893
|
+
*/
|
|
2894
|
+
get gitChangefilesCommitMessage(): string | undefined;
|
|
2585
2895
|
/**
|
|
2586
2896
|
* [Part of the "gitPolicy" feature.]
|
|
2587
2897
|
* The separator between package name and version in git tag.
|
|
@@ -2641,6 +2951,11 @@ export declare class RushConfiguration {
|
|
|
2641
2951
|
* @beta
|
|
2642
2952
|
*/
|
|
2643
2953
|
get projectsByTag(): ReadonlyMap<string, ReadonlySet<RushConfigurationProject>>;
|
|
2954
|
+
/**
|
|
2955
|
+
* Search for projects according to filter
|
|
2956
|
+
* @beta
|
|
2957
|
+
*/
|
|
2958
|
+
getFilteredProjects(filter: IRushConfigurationProjectsFilter): RushConfigurationProject[];
|
|
2644
2959
|
/**
|
|
2645
2960
|
* {@inheritDoc NpmOptionsConfiguration}
|
|
2646
2961
|
*/
|
|
@@ -2687,6 +3002,10 @@ export declare class RushConfiguration {
|
|
|
2687
3002
|
* The rush hooks. It allows customized scripts to run at the specified point.
|
|
2688
3003
|
*/
|
|
2689
3004
|
get packageNameParser(): PackageNameParser;
|
|
3005
|
+
/**
|
|
3006
|
+
* Is there any split workspace project.
|
|
3007
|
+
*/
|
|
3008
|
+
get hasSplitWorkspaceProject(): boolean;
|
|
2690
3009
|
/**
|
|
2691
3010
|
* Gets the path to the common-versions.json config file for a specific variant.
|
|
2692
3011
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -2719,6 +3038,11 @@ export declare class RushConfiguration {
|
|
|
2719
3038
|
* @param variant - The name of the current variant in use by the active command.
|
|
2720
3039
|
*/
|
|
2721
3040
|
getCommittedShrinkwrapFilename(variant?: string | undefined): string;
|
|
3041
|
+
/**
|
|
3042
|
+
* Gets the committed shrinkwrap file name for split workspace.
|
|
3043
|
+
* @param variant - The name of the current variant in use by the active command.
|
|
3044
|
+
*/
|
|
3045
|
+
getCommittedSplitWorkspaceShrinkwrapFilename(): string;
|
|
2722
3046
|
/**
|
|
2723
3047
|
* Gets the absolute path for "pnpmfile.js" for a specific variant.
|
|
2724
3048
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -2773,6 +3097,12 @@ export declare class RushConfiguration {
|
|
|
2773
3097
|
*/
|
|
2774
3098
|
tryGetProjectForPath(currentFolderPath: string): RushConfigurationProject | undefined;
|
|
2775
3099
|
private _getVariantConfigFolderPath;
|
|
3100
|
+
/**
|
|
3101
|
+
* Split workspace can only works on PNPM with "useWorkspaces" enabled.
|
|
3102
|
+
* The workspace project can NOT depend on a split workspace project.
|
|
3103
|
+
* The split workspace project CAN depend on a workspace project.
|
|
3104
|
+
*/
|
|
3105
|
+
private _validateSplitWorkspaceRelationships;
|
|
2776
3106
|
}
|
|
2777
3107
|
|
|
2778
3108
|
/**
|
|
@@ -2798,6 +3128,7 @@ export declare class RushConfigurationProject {
|
|
|
2798
3128
|
private readonly _publishFolder;
|
|
2799
3129
|
private readonly _rushConfiguration;
|
|
2800
3130
|
private readonly _tags;
|
|
3131
|
+
private readonly _splitWorkspace;
|
|
2801
3132
|
private _versionPolicy;
|
|
2802
3133
|
private _dependencyProjects;
|
|
2803
3134
|
private _consumingProjects;
|
|
@@ -2965,6 +3296,11 @@ export declare class RushConfigurationProject {
|
|
|
2965
3296
|
* @beta
|
|
2966
3297
|
*/
|
|
2967
3298
|
get tags(): ReadonlySet<string>;
|
|
3299
|
+
/**
|
|
3300
|
+
* Whether this project is a split workspace project.
|
|
3301
|
+
* @beta
|
|
3302
|
+
*/
|
|
3303
|
+
get splitWorkspace(): boolean;
|
|
2968
3304
|
}
|
|
2969
3305
|
|
|
2970
3306
|
/**
|
|
@@ -3012,6 +3348,12 @@ export declare class RushConstants {
|
|
|
3012
3348
|
* Example: `C:\MyRepo\common\temp`
|
|
3013
3349
|
*/
|
|
3014
3350
|
static readonly rushTempFolderName: string;
|
|
3351
|
+
/**
|
|
3352
|
+
* The folder name ("temp-split") under the common folder, or under the .rush folder in each project's directory where
|
|
3353
|
+
* temporary files will be stored.
|
|
3354
|
+
* Example: `C:\MyRepo\common\temp-split`
|
|
3355
|
+
*/
|
|
3356
|
+
static readonly rushTempSplitFolderName: string;
|
|
3015
3357
|
/**
|
|
3016
3358
|
* The folder name ("projects") where temporary projects will be stored.
|
|
3017
3359
|
* Example: `C:\MyRepo\common\temp\projects`
|
|
@@ -3086,6 +3428,10 @@ export declare class RushConstants {
|
|
|
3086
3428
|
* Experiments configuration file.
|
|
3087
3429
|
*/
|
|
3088
3430
|
static readonly experimentsFilename: string;
|
|
3431
|
+
/**
|
|
3432
|
+
* Pnpm configuration file
|
|
3433
|
+
*/
|
|
3434
|
+
static readonly pnpmConfigFilename: string;
|
|
3089
3435
|
/**
|
|
3090
3436
|
* Rush plugins configuration file name.
|
|
3091
3437
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/rush-sdk",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.80.0-pr3481.7",
|
|
4
4
|
"description": "An API for interacting with the Rush engine",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,18 +12,18 @@
|
|
|
12
12
|
"typings": "dist/rush-lib.d.ts",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@rushstack/node-core-library": "3.
|
|
15
|
+
"@rushstack/node-core-library": "3.53.0",
|
|
16
16
|
"@types/node-fetch": "1.6.9",
|
|
17
17
|
"tapable": "2.2.1"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@microsoft/rush-lib": "5.
|
|
21
|
-
"@rushstack/eslint-config": "3.0
|
|
22
|
-
"@rushstack/heft": "0.
|
|
23
|
-
"@rushstack/heft-node-rig": "1.
|
|
24
|
-
"@rushstack/stream-collator": "4.0.
|
|
25
|
-
"@rushstack/ts-command-line": "4.12.
|
|
26
|
-
"@rushstack/terminal": "0.3.
|
|
20
|
+
"@microsoft/rush-lib": "5.80.0-pr3481.7",
|
|
21
|
+
"@rushstack/eslint-config": "3.1.0",
|
|
22
|
+
"@rushstack/heft": "0.48.0",
|
|
23
|
+
"@rushstack/heft-node-rig": "1.11.0",
|
|
24
|
+
"@rushstack/stream-collator": "4.0.207",
|
|
25
|
+
"@rushstack/ts-command-line": "4.12.4",
|
|
26
|
+
"@rushstack/terminal": "0.3.76",
|
|
27
27
|
"@types/heft-jest": "1.0.1",
|
|
28
28
|
"@types/semver": "7.3.5",
|
|
29
29
|
"@types/webpack-env": "1.13.0"
|