@rushstack/rush-sdk 5.105.0 → 5.106.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
CHANGED
|
@@ -376,7 +376,17 @@ export declare class CredentialCache {
|
|
|
376
376
|
*
|
|
377
377
|
* @beta
|
|
378
378
|
*/
|
|
379
|
-
export declare
|
|
379
|
+
export declare enum CustomTipId {
|
|
380
|
+
TIP_PNPM_UNEXPECTED_STORE = "TIP_PNPM_UNEXPECTED_STORE",
|
|
381
|
+
TIP_RUSH_INCONSISTENT_VERSIONS = "TIP_RUSH_INCONSISTENT_VERSIONS",
|
|
382
|
+
TIP_PNPM_NO_MATCHING_VERSION = "TIP_PNPM_NO_MATCHING_VERSION",
|
|
383
|
+
TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE = "TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE",
|
|
384
|
+
TIP_PNPM_PEER_DEP_ISSUES = "TIP_PNPM_PEER_DEP_ISSUES",
|
|
385
|
+
TIP_PNPM_OUTDATED_LOCKFILE = "TIP_PNPM_OUTDATED_LOCKFILE",
|
|
386
|
+
TIP_PNPM_TARBALL_INTEGRITY = "TIP_PNPM_TARBALL_INTEGRITY",
|
|
387
|
+
TIP_PNPM_MISMATCHED_RELEASE_CHANNEL = "TIP_PNPM_MISMATCHED_RELEASE_CHANNEL",
|
|
388
|
+
TIP_PNPM_INVALID_NODE_VERSION = "TIP_PNPM_INVALID_NODE_VERSION"
|
|
389
|
+
}
|
|
380
390
|
|
|
381
391
|
/**
|
|
382
392
|
* Used to access the `common/config/rush/custom-tips.json` config file,
|
|
@@ -393,27 +403,82 @@ export declare class CustomTipsConfiguration {
|
|
|
393
403
|
*/
|
|
394
404
|
readonly configuration: Readonly<ICustomTipsJson>;
|
|
395
405
|
/**
|
|
396
|
-
*
|
|
397
|
-
*
|
|
406
|
+
* A registry mapping custom tip IDs to their corresponding metadata.
|
|
407
|
+
*
|
|
408
|
+
* @remarks
|
|
409
|
+
* This registry is used to look up metadata for custom tips based on their IDs. The metadata includes
|
|
410
|
+
* information such as the severity level, the type of tip, and an optional matching function.
|
|
411
|
+
*
|
|
412
|
+
* Each key in the registry corresponds to a `CustomTipIdEnum` value, and each value is an object
|
|
413
|
+
* implementing the `ICustomTipInfo` interface.
|
|
414
|
+
*
|
|
415
|
+
* @example
|
|
416
|
+
* ```typescript
|
|
417
|
+
* const tipInfo = CustomTipsConfiguration.customTipRegistry[CustomTipIdEnum.TIP_RUSH_INCONSISTENT_VERSIONS];
|
|
418
|
+
* console.log(tipInfo.severity); // Output: CustomTipSeverity.Error
|
|
419
|
+
* ```
|
|
420
|
+
*
|
|
421
|
+
* See {@link CustomTipId} for the list of custom tip IDs.
|
|
422
|
+
* See {@link ICustomTipInfo} for the structure of the metadata.
|
|
398
423
|
*/
|
|
399
|
-
static
|
|
424
|
+
static customTipRegistry: Readonly<Record<CustomTipId, ICustomTipInfo>>;
|
|
400
425
|
constructor(configFilename: string);
|
|
401
|
-
private _formatTipMessage;
|
|
402
426
|
/**
|
|
403
427
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
404
428
|
* display the tip on the terminal.
|
|
429
|
+
*
|
|
430
|
+
* @remarks
|
|
431
|
+
* The severity of the tip is defined in ${@link CustomTipsConfiguration.customTipRegistry}.
|
|
432
|
+
* If you want to change the severity specifically for this call, use other API like {@link CustomTipsConfiguration._showErrorTip}.
|
|
433
|
+
*
|
|
434
|
+
* @internal
|
|
405
435
|
*/
|
|
406
|
-
|
|
436
|
+
_showTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
407
437
|
/**
|
|
408
438
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
409
439
|
* display the tip on the terminal.
|
|
440
|
+
* @internal
|
|
410
441
|
*/
|
|
411
|
-
|
|
442
|
+
_showInfoTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
412
443
|
/**
|
|
413
444
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
414
445
|
* display the tip on the terminal.
|
|
446
|
+
* @internal
|
|
447
|
+
*/
|
|
448
|
+
_showWarningTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
449
|
+
/**
|
|
450
|
+
* If custom-tips.json defines a tip for the specified tipId,
|
|
451
|
+
* display the tip on the terminal.
|
|
452
|
+
* @internal
|
|
415
453
|
*/
|
|
416
|
-
|
|
454
|
+
_showErrorTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
455
|
+
private _formatMessageHeader;
|
|
456
|
+
private _writeMessageWithPipes;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* The severity of a custom tip.
|
|
461
|
+
* It determines the printing severity ("Error" = red, "Warning" = yellow, "Info" = normal).
|
|
462
|
+
*
|
|
463
|
+
* @beta
|
|
464
|
+
*/
|
|
465
|
+
export declare enum CustomTipSeverity {
|
|
466
|
+
Warning = "Warning",
|
|
467
|
+
Error = "Error",
|
|
468
|
+
Info = "Info"
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* The type of the custom tip.
|
|
473
|
+
*
|
|
474
|
+
* @remarks
|
|
475
|
+
* There might be types like `git` in the future.
|
|
476
|
+
*
|
|
477
|
+
* @beta
|
|
478
|
+
*/
|
|
479
|
+
export declare enum CustomTipType {
|
|
480
|
+
rush = "rush",
|
|
481
|
+
pnpm = "pnpm"
|
|
417
482
|
}
|
|
418
483
|
|
|
419
484
|
/**
|
|
@@ -1082,6 +1147,39 @@ export declare interface ICredentialCacheOptions {
|
|
|
1082
1147
|
supportEditing: boolean;
|
|
1083
1148
|
}
|
|
1084
1149
|
|
|
1150
|
+
/**
|
|
1151
|
+
* Metadata for a custom tip.
|
|
1152
|
+
*
|
|
1153
|
+
* @remarks
|
|
1154
|
+
* This differs from the {@link ICustomTipItemJson} interface in that these are not configurable by the user;
|
|
1155
|
+
* it's the inherent state of a custom tip. For example, the custom tip for `ERR_PNPM_NO_MATCHING_VERSION`
|
|
1156
|
+
* has a inherent severity of `Error`, and a inherent match function that rush maintainer defines.
|
|
1157
|
+
*
|
|
1158
|
+
* @beta
|
|
1159
|
+
*/
|
|
1160
|
+
export declare interface ICustomTipInfo {
|
|
1161
|
+
tipId: CustomTipId;
|
|
1162
|
+
/**
|
|
1163
|
+
* The severity of the custom tip. It will determine the printing severity ("Error" = red, "Warning" = yellow, "Info" = normal).
|
|
1164
|
+
*
|
|
1165
|
+
* @remarks
|
|
1166
|
+
* The severity should be consistent with the original message, unless there are strong reasons not to.
|
|
1167
|
+
*/
|
|
1168
|
+
severity: CustomTipSeverity;
|
|
1169
|
+
/**
|
|
1170
|
+
* The type of the custom tip.
|
|
1171
|
+
*/
|
|
1172
|
+
type: CustomTipType;
|
|
1173
|
+
/**
|
|
1174
|
+
* The function to determine how to match this tipId.
|
|
1175
|
+
*
|
|
1176
|
+
* @remarks
|
|
1177
|
+
* This function might need to be updated if the depending package is updated.
|
|
1178
|
+
* For example, if `pnpm` change the error logs for "ERR_PNPM_NO_MATCHING_VERSION", we will need to update the match function accordingly.
|
|
1179
|
+
*/
|
|
1180
|
+
isMatch?: (str: string) => boolean;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1085
1183
|
/**
|
|
1086
1184
|
* An item from the {@link ICustomTipsJson.customTips} list.
|
|
1087
1185
|
* @beta
|
|
@@ -1097,11 +1195,6 @@ export declare interface ICustomTipItemJson {
|
|
|
1097
1195
|
* (REQUIRED) The message text to be displayed for this tip.
|
|
1098
1196
|
*/
|
|
1099
1197
|
message: string;
|
|
1100
|
-
/**
|
|
1101
|
-
* Overrides the "defaultMessagePrefix" for this tip.
|
|
1102
|
-
* Specify an empty string to omit the "defaultMessagePrefix" entirely.
|
|
1103
|
-
*/
|
|
1104
|
-
messagePrefix?: string;
|
|
1105
1198
|
}
|
|
1106
1199
|
|
|
1107
1200
|
/**
|
|
@@ -1110,11 +1203,6 @@ export declare interface ICustomTipItemJson {
|
|
|
1110
1203
|
* @beta
|
|
1111
1204
|
*/
|
|
1112
1205
|
export declare interface ICustomTipsJson {
|
|
1113
|
-
/**
|
|
1114
|
-
* If specified, this prefix will be prepended to any the tip messages when they are displayed.
|
|
1115
|
-
* The default value is an empty string.
|
|
1116
|
-
*/
|
|
1117
|
-
defaultMessagePrefix?: string;
|
|
1118
1206
|
/**
|
|
1119
1207
|
* Specifies the custom tips to be displayed by Rush.
|
|
1120
1208
|
*/
|
|
@@ -1723,7 +1811,7 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1723
1811
|
/**
|
|
1724
1812
|
* {@inheritDoc PnpmOptionsConfiguration.pnpmStore}
|
|
1725
1813
|
*/
|
|
1726
|
-
pnpmStore?:
|
|
1814
|
+
pnpmStore?: PnpmStoreLocation;
|
|
1727
1815
|
/**
|
|
1728
1816
|
* {@inheritDoc PnpmOptionsConfiguration.strictPeerDependencies}
|
|
1729
1817
|
*/
|
|
@@ -1764,6 +1852,10 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1764
1852
|
* {@inheritDoc PnpmOptionsConfiguration.unsupportedPackageJsonSettings}
|
|
1765
1853
|
*/
|
|
1766
1854
|
unsupportedPackageJsonSettings?: unknown;
|
|
1855
|
+
/**
|
|
1856
|
+
* {@inheritDoc PnpmOptionsConfiguration.resolutionMode}
|
|
1857
|
+
*/
|
|
1858
|
+
resolutionMode?: PnpmResolutionMode;
|
|
1767
1859
|
}
|
|
1768
1860
|
|
|
1769
1861
|
declare interface IPnpmPackageExtension {
|
|
@@ -2757,7 +2849,19 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
2757
2849
|
* - local: Use the standard Rush store path: common/temp/pnpm-store
|
|
2758
2850
|
* - global: Use PNPM's global store path
|
|
2759
2851
|
*/
|
|
2760
|
-
readonly pnpmStore:
|
|
2852
|
+
readonly pnpmStore: PnpmStoreLocation;
|
|
2853
|
+
/**
|
|
2854
|
+
* This setting determines PNPM's `resolution-mode` option. The default value is `highest`.
|
|
2855
|
+
*
|
|
2856
|
+
* @remarks
|
|
2857
|
+
* Be aware that the PNPM 8 initially defaulted to `lowest` instead of `highest`, but PNPM
|
|
2858
|
+
* reverted this decision in 8.6.12 because it caused confusion for users. Rush 5.106.0 and newer
|
|
2859
|
+
* avoids this confusion by consistently defaulting to `highest` when `resolutionMode` is not
|
|
2860
|
+
* explicitly set in pnpm-config.json or .npmrc, regardless of your PNPM version.
|
|
2861
|
+
*
|
|
2862
|
+
* PNPM documentation: https://pnpm.io/npmrc#resolution-mode
|
|
2863
|
+
*/
|
|
2864
|
+
readonly resolutionMode: PnpmResolutionMode | undefined;
|
|
2761
2865
|
/**
|
|
2762
2866
|
* The path for PNPM to use as the store directory.
|
|
2763
2867
|
*
|
|
@@ -2901,11 +3005,27 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
2901
3005
|
updateGlobalPatchedDependencies(patchedDependencies: Record<string, string> | undefined): void;
|
|
2902
3006
|
}
|
|
2903
3007
|
|
|
3008
|
+
/**
|
|
3009
|
+
* Possible values for the `resolutionMode` setting in Rush's pnpm-config.json file.
|
|
3010
|
+
* @remarks
|
|
3011
|
+
* These modes correspond to PNPM's `resolution-mode` values, which are documented here:
|
|
3012
|
+
* {@link https://pnpm.io/npmrc#resolution-mode}
|
|
3013
|
+
*
|
|
3014
|
+
* @public
|
|
3015
|
+
*/
|
|
3016
|
+
export declare type PnpmResolutionMode = 'highest' | 'time-based' | 'lowest-direct';
|
|
3017
|
+
|
|
2904
3018
|
/**
|
|
2905
3019
|
* This represents the available PNPM store options
|
|
2906
3020
|
* @public
|
|
2907
3021
|
*/
|
|
2908
|
-
export declare type
|
|
3022
|
+
export declare type PnpmStoreLocation = 'local' | 'global';
|
|
3023
|
+
|
|
3024
|
+
/**
|
|
3025
|
+
* @deprecated Use {@link PnpmStoreLocation} instead
|
|
3026
|
+
* @public
|
|
3027
|
+
*/
|
|
3028
|
+
export declare type PnpmStoreOptions = PnpmStoreLocation;
|
|
2909
3029
|
|
|
2910
3030
|
/**
|
|
2911
3031
|
* @beta
|
|
@@ -5,11 +5,6 @@ import { ITerminal } from '@rushstack/node-core-library';
|
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export interface ICustomTipsJson {
|
|
8
|
-
/**
|
|
9
|
-
* If specified, this prefix will be prepended to any the tip messages when they are displayed.
|
|
10
|
-
* The default value is an empty string.
|
|
11
|
-
*/
|
|
12
|
-
defaultMessagePrefix?: string;
|
|
13
8
|
/**
|
|
14
9
|
* Specifies the custom tips to be displayed by Rush.
|
|
15
10
|
*/
|
|
@@ -30,11 +25,6 @@ export interface ICustomTipItemJson {
|
|
|
30
25
|
* (REQUIRED) The message text to be displayed for this tip.
|
|
31
26
|
*/
|
|
32
27
|
message: string;
|
|
33
|
-
/**
|
|
34
|
-
* Overrides the "defaultMessagePrefix" for this tip.
|
|
35
|
-
* Specify an empty string to omit the "defaultMessagePrefix" entirely.
|
|
36
|
-
*/
|
|
37
|
-
messagePrefix?: string;
|
|
38
28
|
}
|
|
39
29
|
/**
|
|
40
30
|
* An identifier representing a Rush message that can be customized by
|
|
@@ -48,7 +38,72 @@ export interface ICustomTipItemJson {
|
|
|
48
38
|
*
|
|
49
39
|
* @beta
|
|
50
40
|
*/
|
|
51
|
-
export
|
|
41
|
+
export declare enum CustomTipId {
|
|
42
|
+
TIP_PNPM_UNEXPECTED_STORE = "TIP_PNPM_UNEXPECTED_STORE",
|
|
43
|
+
TIP_RUSH_INCONSISTENT_VERSIONS = "TIP_RUSH_INCONSISTENT_VERSIONS",
|
|
44
|
+
TIP_PNPM_NO_MATCHING_VERSION = "TIP_PNPM_NO_MATCHING_VERSION",
|
|
45
|
+
TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE = "TIP_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE",
|
|
46
|
+
TIP_PNPM_PEER_DEP_ISSUES = "TIP_PNPM_PEER_DEP_ISSUES",
|
|
47
|
+
TIP_PNPM_OUTDATED_LOCKFILE = "TIP_PNPM_OUTDATED_LOCKFILE",
|
|
48
|
+
TIP_PNPM_TARBALL_INTEGRITY = "TIP_PNPM_TARBALL_INTEGRITY",
|
|
49
|
+
TIP_PNPM_MISMATCHED_RELEASE_CHANNEL = "TIP_PNPM_MISMATCHED_RELEASE_CHANNEL",
|
|
50
|
+
TIP_PNPM_INVALID_NODE_VERSION = "TIP_PNPM_INVALID_NODE_VERSION"
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The severity of a custom tip.
|
|
54
|
+
* It determines the printing severity ("Error" = red, "Warning" = yellow, "Info" = normal).
|
|
55
|
+
*
|
|
56
|
+
* @beta
|
|
57
|
+
*/
|
|
58
|
+
export declare enum CustomTipSeverity {
|
|
59
|
+
Warning = "Warning",
|
|
60
|
+
Error = "Error",
|
|
61
|
+
Info = "Info"
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The type of the custom tip.
|
|
65
|
+
*
|
|
66
|
+
* @remarks
|
|
67
|
+
* There might be types like `git` in the future.
|
|
68
|
+
*
|
|
69
|
+
* @beta
|
|
70
|
+
*/
|
|
71
|
+
export declare enum CustomTipType {
|
|
72
|
+
rush = "rush",
|
|
73
|
+
pnpm = "pnpm"
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Metadata for a custom tip.
|
|
77
|
+
*
|
|
78
|
+
* @remarks
|
|
79
|
+
* This differs from the {@link ICustomTipItemJson} interface in that these are not configurable by the user;
|
|
80
|
+
* it's the inherent state of a custom tip. For example, the custom tip for `ERR_PNPM_NO_MATCHING_VERSION`
|
|
81
|
+
* has a inherent severity of `Error`, and a inherent match function that rush maintainer defines.
|
|
82
|
+
*
|
|
83
|
+
* @beta
|
|
84
|
+
*/
|
|
85
|
+
export interface ICustomTipInfo {
|
|
86
|
+
tipId: CustomTipId;
|
|
87
|
+
/**
|
|
88
|
+
* The severity of the custom tip. It will determine the printing severity ("Error" = red, "Warning" = yellow, "Info" = normal).
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* The severity should be consistent with the original message, unless there are strong reasons not to.
|
|
92
|
+
*/
|
|
93
|
+
severity: CustomTipSeverity;
|
|
94
|
+
/**
|
|
95
|
+
* The type of the custom tip.
|
|
96
|
+
*/
|
|
97
|
+
type: CustomTipType;
|
|
98
|
+
/**
|
|
99
|
+
* The function to determine how to match this tipId.
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* This function might need to be updated if the depending package is updated.
|
|
103
|
+
* For example, if `pnpm` change the error logs for "ERR_PNPM_NO_MATCHING_VERSION", we will need to update the match function accordingly.
|
|
104
|
+
*/
|
|
105
|
+
isMatch?: (str: string) => boolean;
|
|
106
|
+
}
|
|
52
107
|
/**
|
|
53
108
|
* Used to access the `common/config/rush/custom-tips.json` config file,
|
|
54
109
|
* which allows repo maintainers to configure extra details to be printed alongside
|
|
@@ -64,26 +119,56 @@ export declare class CustomTipsConfiguration {
|
|
|
64
119
|
*/
|
|
65
120
|
readonly configuration: Readonly<ICustomTipsJson>;
|
|
66
121
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
122
|
+
* A registry mapping custom tip IDs to their corresponding metadata.
|
|
123
|
+
*
|
|
124
|
+
* @remarks
|
|
125
|
+
* This registry is used to look up metadata for custom tips based on their IDs. The metadata includes
|
|
126
|
+
* information such as the severity level, the type of tip, and an optional matching function.
|
|
127
|
+
*
|
|
128
|
+
* Each key in the registry corresponds to a `CustomTipIdEnum` value, and each value is an object
|
|
129
|
+
* implementing the `ICustomTipInfo` interface.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const tipInfo = CustomTipsConfiguration.customTipRegistry[CustomTipIdEnum.TIP_RUSH_INCONSISTENT_VERSIONS];
|
|
134
|
+
* console.log(tipInfo.severity); // Output: CustomTipSeverity.Error
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* See {@link CustomTipId} for the list of custom tip IDs.
|
|
138
|
+
* See {@link ICustomTipInfo} for the structure of the metadata.
|
|
69
139
|
*/
|
|
70
|
-
static
|
|
140
|
+
static customTipRegistry: Readonly<Record<CustomTipId, ICustomTipInfo>>;
|
|
71
141
|
constructor(configFilename: string);
|
|
72
|
-
private _formatTipMessage;
|
|
73
142
|
/**
|
|
74
143
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
75
144
|
* display the tip on the terminal.
|
|
145
|
+
*
|
|
146
|
+
* @remarks
|
|
147
|
+
* The severity of the tip is defined in ${@link CustomTipsConfiguration.customTipRegistry}.
|
|
148
|
+
* If you want to change the severity specifically for this call, use other API like {@link CustomTipsConfiguration._showErrorTip}.
|
|
149
|
+
*
|
|
150
|
+
* @internal
|
|
151
|
+
*/
|
|
152
|
+
_showTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
153
|
+
/**
|
|
154
|
+
* If custom-tips.json defines a tip for the specified tipId,
|
|
155
|
+
* display the tip on the terminal.
|
|
156
|
+
* @internal
|
|
76
157
|
*/
|
|
77
|
-
|
|
158
|
+
_showInfoTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
78
159
|
/**
|
|
79
160
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
80
161
|
* display the tip on the terminal.
|
|
162
|
+
* @internal
|
|
81
163
|
*/
|
|
82
|
-
|
|
164
|
+
_showWarningTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
83
165
|
/**
|
|
84
166
|
* If custom-tips.json defines a tip for the specified tipId,
|
|
85
167
|
* display the tip on the terminal.
|
|
168
|
+
* @internal
|
|
86
169
|
*/
|
|
87
|
-
|
|
170
|
+
_showErrorTip(terminal: ITerminal, tipId: CustomTipId): void;
|
|
171
|
+
private _formatMessageHeader;
|
|
172
|
+
private _writeMessageWithPipes;
|
|
88
173
|
}
|
|
89
174
|
//# sourceMappingURL=CustomTipsConfiguration.d.ts.map
|
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { RushConfiguration, ITryFindRushJsonLocationOptions } from './api/RushCo
|
|
|
7
7
|
export { IPackageManagerOptionsJsonBase, IConfigurationEnvironment, IConfigurationEnvironmentVariable, PackageManagerOptionsConfigurationBase } from './logic/base/BasePackageManagerOptionsConfiguration';
|
|
8
8
|
export { INpmOptionsJson as _INpmOptionsJson, NpmOptionsConfiguration } from './logic/npm/NpmOptionsConfiguration';
|
|
9
9
|
export { IYarnOptionsJson as _IYarnOptionsJson, YarnOptionsConfiguration } from './logic/yarn/YarnOptionsConfiguration';
|
|
10
|
-
export { IPnpmOptionsJson as _IPnpmOptionsJson, PnpmStoreOptions, PnpmOptionsConfiguration } from './logic/pnpm/PnpmOptionsConfiguration';
|
|
10
|
+
export { IPnpmOptionsJson as _IPnpmOptionsJson, PnpmStoreLocation, PnpmStoreOptions, PnpmOptionsConfiguration, PnpmResolutionMode } from './logic/pnpm/PnpmOptionsConfiguration';
|
|
11
11
|
export { BuildCacheConfiguration } from './api/BuildCacheConfiguration';
|
|
12
12
|
export { CobuildConfiguration, ICobuildJson } from './api/CobuildConfiguration';
|
|
13
13
|
export { GetCacheEntryIdFunction, IGenerateCacheEntryIdOptions } from './logic/buildCache/CacheEntryId';
|
|
@@ -33,7 +33,7 @@ export { VersionPolicyConfiguration } from './api/VersionPolicyConfiguration';
|
|
|
33
33
|
export { ILaunchOptions, Rush } from './api/Rush';
|
|
34
34
|
export { RushInternals as _RushInternals } from './api/RushInternals';
|
|
35
35
|
export { ExperimentsConfiguration, IExperimentsJson } from './api/ExperimentsConfiguration';
|
|
36
|
-
export { CustomTipsConfiguration, CustomTipId, ICustomTipsJson, ICustomTipItemJson } from './api/CustomTipsConfiguration';
|
|
36
|
+
export { CustomTipsConfiguration, CustomTipId, ICustomTipsJson, ICustomTipInfo, ICustomTipItemJson, CustomTipSeverity, CustomTipType } from './api/CustomTipsConfiguration';
|
|
37
37
|
export { ProjectChangeAnalyzer, IGetChangedProjectsOptions, IRawRepoState as _IRawRepoState } from './logic/ProjectChangeAnalyzer';
|
|
38
38
|
export { IOperationRunner, IOperationRunnerContext } from './logic/operations/IOperationRunner';
|
|
39
39
|
export { IExecutionResult, IOperationExecutionResult } from './logic/operations/IOperationExecutionResult';
|
|
@@ -3,7 +3,21 @@ import { IPackageManagerOptionsJsonBase, PackageManagerOptionsConfigurationBase
|
|
|
3
3
|
* This represents the available PNPM store options
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
|
-
export type
|
|
6
|
+
export type PnpmStoreLocation = 'local' | 'global';
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use {@link PnpmStoreLocation} instead
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export type PnpmStoreOptions = PnpmStoreLocation;
|
|
12
|
+
/**
|
|
13
|
+
* Possible values for the `resolutionMode` setting in Rush's pnpm-config.json file.
|
|
14
|
+
* @remarks
|
|
15
|
+
* These modes correspond to PNPM's `resolution-mode` values, which are documented here:
|
|
16
|
+
* {@link https://pnpm.io/npmrc#resolution-mode}
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export type PnpmResolutionMode = 'highest' | 'time-based' | 'lowest-direct';
|
|
7
21
|
/**
|
|
8
22
|
* @beta
|
|
9
23
|
*/
|
|
@@ -31,7 +45,7 @@ export interface IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
|
|
|
31
45
|
/**
|
|
32
46
|
* {@inheritDoc PnpmOptionsConfiguration.pnpmStore}
|
|
33
47
|
*/
|
|
34
|
-
pnpmStore?:
|
|
48
|
+
pnpmStore?: PnpmStoreLocation;
|
|
35
49
|
/**
|
|
36
50
|
* {@inheritDoc PnpmOptionsConfiguration.strictPeerDependencies}
|
|
37
51
|
*/
|
|
@@ -72,6 +86,10 @@ export interface IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
|
|
|
72
86
|
* {@inheritDoc PnpmOptionsConfiguration.unsupportedPackageJsonSettings}
|
|
73
87
|
*/
|
|
74
88
|
unsupportedPackageJsonSettings?: unknown;
|
|
89
|
+
/**
|
|
90
|
+
* {@inheritDoc PnpmOptionsConfiguration.resolutionMode}
|
|
91
|
+
*/
|
|
92
|
+
resolutionMode?: PnpmResolutionMode;
|
|
75
93
|
}
|
|
76
94
|
/**
|
|
77
95
|
* Options that are only used when the PNPM package manager is selected.
|
|
@@ -96,7 +114,19 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
|
|
|
96
114
|
* - local: Use the standard Rush store path: common/temp/pnpm-store
|
|
97
115
|
* - global: Use PNPM's global store path
|
|
98
116
|
*/
|
|
99
|
-
readonly pnpmStore:
|
|
117
|
+
readonly pnpmStore: PnpmStoreLocation;
|
|
118
|
+
/**
|
|
119
|
+
* This setting determines PNPM's `resolution-mode` option. The default value is `highest`.
|
|
120
|
+
*
|
|
121
|
+
* @remarks
|
|
122
|
+
* Be aware that the PNPM 8 initially defaulted to `lowest` instead of `highest`, but PNPM
|
|
123
|
+
* reverted this decision in 8.6.12 because it caused confusion for users. Rush 5.106.0 and newer
|
|
124
|
+
* avoids this confusion by consistently defaulting to `highest` when `resolutionMode` is not
|
|
125
|
+
* explicitly set in pnpm-config.json or .npmrc, regardless of your PNPM version.
|
|
126
|
+
*
|
|
127
|
+
* PNPM documentation: https://pnpm.io/npmrc#resolution-mode
|
|
128
|
+
*/
|
|
129
|
+
readonly resolutionMode: PnpmResolutionMode | undefined;
|
|
100
130
|
/**
|
|
101
131
|
* The path for PNPM to use as the store directory.
|
|
102
132
|
*
|
|
@@ -108,6 +108,13 @@ export declare class Utilities {
|
|
|
108
108
|
* The current directory will be set to the specified workingDirectory.
|
|
109
109
|
*/
|
|
110
110
|
static executeCommand(options: IExecuteCommandOptions): void;
|
|
111
|
+
/**
|
|
112
|
+
* Executes the command with the specified command-line parameters, and waits for it to complete.
|
|
113
|
+
* The current directory will be set to the specified workingDirectory.
|
|
114
|
+
*
|
|
115
|
+
* It's basically the same as executeCommand() except that it returns a Promise.
|
|
116
|
+
*/
|
|
117
|
+
static executeCommandAndInspectOutputAsync(options: IExecuteCommandOptions, onStdoutStreamChunk?: (chunkString: string) => void): Promise<void>;
|
|
111
118
|
/**
|
|
112
119
|
* Executes the command with the specified command-line parameters, and waits for it to complete.
|
|
113
120
|
* The current directory will be set to the specified workingDirectory.
|
|
@@ -117,6 +124,13 @@ export declare class Utilities {
|
|
|
117
124
|
* Attempts to run Utilities.executeCommand() up to maxAttempts times before giving up.
|
|
118
125
|
*/
|
|
119
126
|
static executeCommandWithRetry(options: IExecuteCommandOptions, maxAttempts: number, retryCallback?: () => void): void;
|
|
127
|
+
/**
|
|
128
|
+
* Attempts to run Utilities.executeCommand() up to maxAttempts times before giving up.
|
|
129
|
+
* Using `onStdoutStreamChunk` to process the output of the command.
|
|
130
|
+
*
|
|
131
|
+
* Note: This is similar to {@link executeCommandWithRetry} except that it returns a Promise and provides a callback to process the output.
|
|
132
|
+
*/
|
|
133
|
+
static executeCommandAndProcessOutputWithRetryAsync(options: IExecuteCommandOptions, maxAttempts: number, onStdoutStreamChunk?: (chunkString: string) => void, retryCallback?: () => void): Promise<void>;
|
|
120
134
|
/**
|
|
121
135
|
* Executes the command using cmd if running on windows, or using sh if running on a non-windows OS.
|
|
122
136
|
* @param command - the command to run on shell
|
|
@@ -163,6 +177,13 @@ export declare class Utilities {
|
|
|
163
177
|
* "/foobar/node_modules/.bin:/bin"
|
|
164
178
|
*/
|
|
165
179
|
private static _prependNodeModulesBinToPath;
|
|
180
|
+
/**
|
|
181
|
+
* Executes the command with the specified command-line parameters, and waits for it to complete.
|
|
182
|
+
* The current directory will be set to the specified workingDirectory.
|
|
183
|
+
*
|
|
184
|
+
* It's the same as _executeCommandInternal except that it returns a promise.
|
|
185
|
+
*/
|
|
186
|
+
private static _executeCommandAndInspectOutputInternalAsync;
|
|
166
187
|
/**
|
|
167
188
|
* Executes the command with the specified command-line parameters, and waits for it to complete.
|
|
168
189
|
* The current directory will be set to the specified workingDirectory.
|
|
@@ -12,4 +12,5 @@ export interface ILogger {
|
|
|
12
12
|
* The text of the the synced .npmrc, if one exists. If one does not exist, then undefined is returned.
|
|
13
13
|
*/
|
|
14
14
|
export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean, logger?: ILogger): string | undefined;
|
|
15
|
+
export declare function isVariableSetInNpmrcFile(sourceNpmrcFolder: string, variableKey: string): boolean;
|
|
15
16
|
//# sourceMappingURL=npmrcUtilities.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.106.0",
|
|
4
4
|
"description": "An API for interacting with the Rush engine",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/node": "14.18.36",
|
|
32
32
|
"@types/semver": "7.5.0",
|
|
33
33
|
"@types/webpack-env": "1.18.0",
|
|
34
|
-
"@microsoft/rush-lib": "5.
|
|
34
|
+
"@microsoft/rush-lib": "5.106.0",
|
|
35
35
|
"@rushstack/eslint-config": "3.3.3",
|
|
36
36
|
"@rushstack/heft": "0.58.2",
|
|
37
37
|
"@rushstack/heft-node-rig": "2.2.22",
|