@rushstack/rush-sdk 5.75.0 → 5.77.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 +118 -25
- package/package.json +9 -9
package/dist/rush-lib.d.ts
CHANGED
|
@@ -517,12 +517,12 @@ export declare enum EnvironmentVariableNames {
|
|
|
517
517
|
*/
|
|
518
518
|
RUSH_GLOBAL_FOLDER = "RUSH_GLOBAL_FOLDER",
|
|
519
519
|
/**
|
|
520
|
-
* Provides a credential for a remote build cache, if configured.
|
|
521
|
-
* overrides whatever credential has been saved in the local cloud cache credentials using
|
|
522
|
-
* `rush update-cloud-credentials`.
|
|
520
|
+
* Provides a credential for a remote build cache, if configured. This credential overrides any cached credentials.
|
|
523
521
|
*
|
|
524
522
|
* @remarks
|
|
525
|
-
*
|
|
523
|
+
* Setting this environment variable overrides whatever credential has been saved in the
|
|
524
|
+
* local cloud cache credentials using `rush update-cloud-credentials`.
|
|
525
|
+
*
|
|
526
526
|
*
|
|
527
527
|
* If Azure Blob Storage is used to store cache entries, this must be a SAS token serialized as query
|
|
528
528
|
* parameters.
|
|
@@ -532,22 +532,28 @@ export declare enum EnvironmentVariableNames {
|
|
|
532
532
|
RUSH_BUILD_CACHE_CREDENTIAL = "RUSH_BUILD_CACHE_CREDENTIAL",
|
|
533
533
|
/**
|
|
534
534
|
* Setting this environment variable overrides the value of `buildCacheEnabled` in the `build-cache.json`
|
|
535
|
-
* configuration file.
|
|
535
|
+
* configuration file.
|
|
536
|
+
*
|
|
537
|
+
* @remarks
|
|
538
|
+
* Specify `1` to enable the build cache or `0` to disable it.
|
|
536
539
|
*
|
|
537
540
|
* If set to `0`, this is equivalent to passing the `--disable-build-cache` flag.
|
|
541
|
+
*
|
|
542
|
+
* If there is no build cache configured, then this environment variable is ignored.
|
|
538
543
|
*/
|
|
539
544
|
RUSH_BUILD_CACHE_ENABLED = "RUSH_BUILD_CACHE_ENABLED",
|
|
540
545
|
/**
|
|
541
|
-
*
|
|
542
|
-
*
|
|
546
|
+
* Overrides the value of `isCacheWriteAllowed` in the `build-cache.json` configuration file. The value of this
|
|
547
|
+
* environment variable must be `1` (for true) or `0` (for false). If there is no build cache configured, then
|
|
548
|
+
* this environment variable is ignored.
|
|
543
549
|
*/
|
|
544
550
|
RUSH_BUILD_CACHE_WRITE_ALLOWED = "RUSH_BUILD_CACHE_WRITE_ALLOWED",
|
|
545
551
|
/**
|
|
546
|
-
*
|
|
552
|
+
* Explicitly specifies the path for the Git binary that is invoked by certain Rush operations.
|
|
547
553
|
*/
|
|
548
554
|
RUSH_GIT_BINARY_PATH = "RUSH_GIT_BINARY_PATH",
|
|
549
555
|
/**
|
|
550
|
-
*
|
|
556
|
+
* Explicitly specifies the path for the `tar` binary that is invoked by certain Rush operations.
|
|
551
557
|
*/
|
|
552
558
|
RUSH_TAR_BINARY_PATH = "RUSH_TAR_BINARY_PATH",
|
|
553
559
|
/**
|
|
@@ -1240,6 +1246,11 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1240
1246
|
useWorkspaces?: boolean;
|
|
1241
1247
|
}
|
|
1242
1248
|
|
|
1249
|
+
declare interface IRawRepoState {
|
|
1250
|
+
projectState: Map<RushConfigurationProject, Map<string, string>> | undefined;
|
|
1251
|
+
rootDir: string;
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1243
1254
|
/**
|
|
1244
1255
|
* Information about the currently executing command provided to plugins.
|
|
1245
1256
|
* @beta
|
|
@@ -1288,7 +1299,8 @@ declare interface IRushConfigurationProjectJson {
|
|
|
1288
1299
|
packageName: string;
|
|
1289
1300
|
projectFolder: string;
|
|
1290
1301
|
reviewCategory?: string;
|
|
1291
|
-
|
|
1302
|
+
decoupledLocalDependencies: string[];
|
|
1303
|
+
cyclicDependencyProjects?: string[];
|
|
1292
1304
|
versionPolicyName?: string;
|
|
1293
1305
|
shouldPublish?: boolean;
|
|
1294
1306
|
skipRushCheck?: boolean;
|
|
@@ -1373,8 +1385,8 @@ declare interface IRushRepositoryJsonMultipleUrls extends IRushRepositoryJsonBas
|
|
|
1373
1385
|
/**
|
|
1374
1386
|
* Remote url(s) of the repository. If a value is provided, \"rush change\" will
|
|
1375
1387
|
* use one of these to find the right remote to compare against. Specifying multiple URLs
|
|
1376
|
-
* is useful if a GitHub repository is renamed or for
|
|
1377
|
-
*
|
|
1388
|
+
* is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
|
|
1389
|
+
* `dev.azure.com/<projectName>` URLs.
|
|
1378
1390
|
*/
|
|
1379
1391
|
urls?: string[];
|
|
1380
1392
|
}
|
|
@@ -1434,7 +1446,7 @@ export declare interface IStopwatchResult {
|
|
|
1434
1446
|
export declare interface ITelemetryData {
|
|
1435
1447
|
/**
|
|
1436
1448
|
* Command name
|
|
1437
|
-
* @example
|
|
1449
|
+
* @example `"build"`
|
|
1438
1450
|
*/
|
|
1439
1451
|
readonly name: string;
|
|
1440
1452
|
/**
|
|
@@ -1446,25 +1458,86 @@ export declare interface ITelemetryData {
|
|
|
1446
1458
|
*/
|
|
1447
1459
|
readonly result: 'Succeeded' | 'Failed';
|
|
1448
1460
|
/**
|
|
1449
|
-
* The timestamp of the telemetry logging
|
|
1461
|
+
* The millisecond-resolution timestamp of the telemetry logging
|
|
1450
1462
|
* @example 1648001893024
|
|
1451
1463
|
*/
|
|
1452
|
-
readonly
|
|
1464
|
+
readonly timestampMs?: number;
|
|
1453
1465
|
/**
|
|
1454
|
-
* The platform the command was executed on,
|
|
1455
|
-
* @example darwin
|
|
1466
|
+
* The platform the command was executed on, based on the Node.js `process.platform()` API
|
|
1467
|
+
* @example `"darwin"`, `"win32"`, `"linux"`
|
|
1456
1468
|
*/
|
|
1457
1469
|
readonly platform?: string;
|
|
1458
1470
|
/**
|
|
1459
|
-
* The
|
|
1460
|
-
* @example 5.63.0
|
|
1471
|
+
* The Rush version
|
|
1472
|
+
* @example `5.63.0`
|
|
1461
1473
|
*/
|
|
1462
1474
|
readonly rushVersion?: string;
|
|
1475
|
+
/**
|
|
1476
|
+
* Detailed information about the host machine.
|
|
1477
|
+
*/
|
|
1478
|
+
readonly machineInfo?: ITelemetryMachineInfo;
|
|
1479
|
+
/**
|
|
1480
|
+
* Only applicable to phased commands. Provides detailed results by operation.
|
|
1481
|
+
* Keys are operation names, values contain result, timing information, and dependencies.
|
|
1482
|
+
*/
|
|
1483
|
+
readonly operationResults?: Record<string, ITelemetryOperationResult>;
|
|
1463
1484
|
readonly extraData?: {
|
|
1464
1485
|
[key: string]: string | number | boolean;
|
|
1465
1486
|
};
|
|
1466
1487
|
}
|
|
1467
1488
|
|
|
1489
|
+
/**
|
|
1490
|
+
* @beta
|
|
1491
|
+
*/
|
|
1492
|
+
export declare interface ITelemetryMachineInfo {
|
|
1493
|
+
/**
|
|
1494
|
+
* The CPU architecture
|
|
1495
|
+
* @example `"AMD64"`
|
|
1496
|
+
*/
|
|
1497
|
+
machineArchitecture: string;
|
|
1498
|
+
/**
|
|
1499
|
+
* The CPU model
|
|
1500
|
+
* * @example `"AMD Ryzen 7 3700X 8-Core Processor"`
|
|
1501
|
+
*/
|
|
1502
|
+
machineCpu: string;
|
|
1503
|
+
/**
|
|
1504
|
+
* The number of logical CPU cores.
|
|
1505
|
+
*/
|
|
1506
|
+
machineCores: number;
|
|
1507
|
+
/**
|
|
1508
|
+
* The total amount of RAM on the machine, in MiB.
|
|
1509
|
+
*/
|
|
1510
|
+
machineTotalMemoryMiB: number;
|
|
1511
|
+
/**
|
|
1512
|
+
* The amount of free RAM on the machine at the end of execution, in MiB.
|
|
1513
|
+
*/
|
|
1514
|
+
machineFreeMemoryMiB: number;
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
/**
|
|
1518
|
+
* @beta
|
|
1519
|
+
*/
|
|
1520
|
+
export declare interface ITelemetryOperationResult {
|
|
1521
|
+
/**
|
|
1522
|
+
* The names of operations that this operation depends on.
|
|
1523
|
+
*/
|
|
1524
|
+
dependencies: string[];
|
|
1525
|
+
/**
|
|
1526
|
+
* The status code for the operation.
|
|
1527
|
+
*/
|
|
1528
|
+
result: string;
|
|
1529
|
+
/**
|
|
1530
|
+
* A timestamp in milliseconds (from `performance.now()`) when the operation started.
|
|
1531
|
+
* If the operation was blocked, will be `undefined`.
|
|
1532
|
+
*/
|
|
1533
|
+
startTimestampMs?: number;
|
|
1534
|
+
/**
|
|
1535
|
+
* A timestamp in milliseconds (from `performance.now()`) when the operation finished.
|
|
1536
|
+
* If the operation was blocked, will be `undefined`.
|
|
1537
|
+
*/
|
|
1538
|
+
endTimestampMs?: number;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1468
1541
|
/**
|
|
1469
1542
|
* Options for `RushConfiguration.tryFindRushJsonLocation`.
|
|
1470
1543
|
* @public
|
|
@@ -2050,6 +2123,10 @@ export declare class ProjectChangeAnalyzer {
|
|
|
2050
2123
|
* @internal
|
|
2051
2124
|
*/
|
|
2052
2125
|
_tryGetProjectDependenciesAsync(project: RushConfigurationProject, terminal: ITerminal): Promise<Map<string, string> | undefined>;
|
|
2126
|
+
/**
|
|
2127
|
+
* @internal
|
|
2128
|
+
*/
|
|
2129
|
+
_ensureInitialized(terminal: ITerminal): IRawRepoState | undefined;
|
|
2053
2130
|
/**
|
|
2054
2131
|
* The project state hash is calculated in the following way:
|
|
2055
2132
|
* - Project dependencies are collected (see ProjectChangeAnalyzer.getPackageDeps)
|
|
@@ -2442,14 +2519,14 @@ export declare class RushConfiguration {
|
|
|
2442
2519
|
* The minimum allowable folder depth for the projectFolder field in the rush.json file.
|
|
2443
2520
|
* This setting provides a way for repository maintainers to discourage nesting of project folders
|
|
2444
2521
|
* that makes the directory tree more difficult to navigate. The default value is 2,
|
|
2445
|
-
* which implements a standard 2-level hierarchy of
|
|
2522
|
+
* which implements a standard 2-level hierarchy of `<categoryFolder>/<projectFolder>/package.json`.
|
|
2446
2523
|
*/
|
|
2447
2524
|
get projectFolderMinDepth(): number;
|
|
2448
2525
|
/**
|
|
2449
2526
|
* The maximum allowable folder depth for the projectFolder field in the rush.json file.
|
|
2450
2527
|
* This setting provides a way for repository maintainers to discourage nesting of project folders
|
|
2451
2528
|
* that makes the directory tree more difficult to navigate. The default value is 2,
|
|
2452
|
-
* which implements on a standard convention of
|
|
2529
|
+
* which implements on a standard convention of `<categoryFolder>/<projectFolder>/package.json`.
|
|
2453
2530
|
*/
|
|
2454
2531
|
get projectFolderMaxDepth(): number;
|
|
2455
2532
|
/**
|
|
@@ -2506,8 +2583,8 @@ export declare class RushConfiguration {
|
|
|
2506
2583
|
/**
|
|
2507
2584
|
* Remote URL(s) of the repository. If a value is provided, \"rush change\" will
|
|
2508
2585
|
* use one of these to find the right remote to compare against. Specifying multiple URLs
|
|
2509
|
-
* is useful if a GitHub repository is renamed or for
|
|
2510
|
-
*
|
|
2586
|
+
* is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
|
|
2587
|
+
* `dev.azure.com/<projectName>` URLs.
|
|
2511
2588
|
*/
|
|
2512
2589
|
get repositoryUrls(): string[];
|
|
2513
2590
|
/**
|
|
@@ -2702,7 +2779,7 @@ export declare class RushConfigurationProject {
|
|
|
2702
2779
|
private readonly _packageJsonEditor;
|
|
2703
2780
|
private readonly _tempProjectName;
|
|
2704
2781
|
private readonly _unscopedTempProjectName;
|
|
2705
|
-
private readonly
|
|
2782
|
+
private readonly _decoupledLocalDependencies;
|
|
2706
2783
|
private readonly _versionPolicyName;
|
|
2707
2784
|
private readonly _shouldPublish;
|
|
2708
2785
|
private readonly _skipRushCheck;
|
|
@@ -2761,6 +2838,16 @@ export declare class RushConfigurationProject {
|
|
|
2761
2838
|
*
|
|
2762
2839
|
* These are package names that would be found by RushConfiguration.getProjectByName().
|
|
2763
2840
|
*/
|
|
2841
|
+
get decoupledLocalDependencies(): Set<string>;
|
|
2842
|
+
/**
|
|
2843
|
+
* A list of local projects that appear as devDependencies for this project, but cannot be
|
|
2844
|
+
* locally linked because it would create a cyclic dependency; instead, the last published
|
|
2845
|
+
* version will be installed in the Common folder.
|
|
2846
|
+
*
|
|
2847
|
+
* These are package names that would be found by RushConfiguration.getProjectByName().
|
|
2848
|
+
*
|
|
2849
|
+
* @deprecated Use `decoupledLocalDependencies` instead, as it better describes the purpose of the data.
|
|
2850
|
+
*/
|
|
2764
2851
|
get cyclicDependencyProjects(): Set<string>;
|
|
2765
2852
|
/**
|
|
2766
2853
|
* An array of projects within the Rush configuration which directly depend on this package.
|
|
@@ -2856,7 +2943,13 @@ export declare class RushConfigurationProject {
|
|
|
2856
2943
|
*/
|
|
2857
2944
|
get isMainProject(): boolean;
|
|
2858
2945
|
/**
|
|
2859
|
-
*
|
|
2946
|
+
* An optional set of custom tags that can be used to select this project.
|
|
2947
|
+
*
|
|
2948
|
+
* @remarks
|
|
2949
|
+
* For example, adding `my-custom-tag` will allow this project to be selected by the
|
|
2950
|
+
* command `rush list --only tag:my-custom-tag`. The tag name must be one or more words separated
|
|
2951
|
+
* by hyphens, where a word may contain lowercase letters, digits, and the period character.
|
|
2952
|
+
*
|
|
2860
2953
|
* @beta
|
|
2861
2954
|
*/
|
|
2862
2955
|
get tags(): ReadonlySet<string>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/rush-sdk",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.77.0",
|
|
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.51.1",
|
|
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": "
|
|
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.77.0",
|
|
21
|
+
"@rushstack/eslint-config": "3.0.0",
|
|
22
|
+
"@rushstack/heft": "0.47.5",
|
|
23
|
+
"@rushstack/heft-node-rig": "1.10.5",
|
|
24
|
+
"@rushstack/stream-collator": "4.0.198",
|
|
25
|
+
"@rushstack/ts-command-line": "4.12.2",
|
|
26
|
+
"@rushstack/terminal": "0.3.67",
|
|
27
27
|
"@types/heft-jest": "1.0.1",
|
|
28
28
|
"@types/semver": "7.3.5",
|
|
29
29
|
"@types/webpack-env": "1.13.0"
|