@rushstack/rush-sdk 5.100.1-pr3481.19 → 5.100.2
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 +20 -166
- package/lib/api/ExperimentsConfiguration.d.ts +0 -5
- package/lib/api/LastInstallFlag.d.ts +21 -58
- package/lib/api/LastLinkFlag.d.ts +7 -3
- package/lib/api/RushConfiguration.d.ts +0 -52
- package/lib/api/RushConfigurationProject.d.ts +0 -6
- package/lib/api/packageManager/PnpmPackageManager.d.ts +0 -14
- package/lib/cli/actions/InstallAction.d.ts +0 -7
- package/lib/cli/actions/ListAction.d.ts +0 -4
- package/lib/cli/actions/UpdateAction.d.ts +0 -7
- package/lib/cli/parsing/SelectionParameterSet.d.ts +3 -17
- package/lib/index.d.ts +1 -2
- package/lib/logic/PurgeManager.d.ts +0 -1
- package/lib/logic/RushConstants.d.ts +0 -6
- package/lib/logic/UnlinkManager.d.ts +2 -2
- package/lib/logic/base/BaseInstallManagerTypes.d.ts +0 -23
- package/lib/logic/installManager/InstallHelpers.d.ts +0 -1
- package/lib/logic/pnpm/IPnpmfile.d.ts +0 -16
- package/lib/logic/pnpm/PnpmProjectShrinkwrapFile.d.ts +0 -7
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +0 -22
- package/lib/logic/versionMismatch/VersionMismatchFinderProject.d.ts +0 -2
- package/lib/utilities/PathConstants.d.ts +0 -1
- package/lib/utilities/Utilities.d.ts +0 -6
- package/lib/utilities/npmrcUtilities.d.ts +1 -1
- package/lib/utilities/objectUtilities.d.ts +0 -5
- package/package.json +8 -8
- package/lib/api/base/BaseFlag.d.ts +0 -50
- package/lib/api/base/BaseFlag.js +0 -1
- package/lib/logic/pnpm/SplitWorkspaceGlobalPnpmfileShim.d.ts +0 -3
- package/lib/logic/pnpm/SplitWorkspaceGlobalPnpmfileShim.js +0 -1
- package/lib/logic/pnpm/SplitWorkspacePnpmfileConfiguration.d.ts +0 -23
- package/lib/logic/pnpm/SplitWorkspacePnpmfileConfiguration.js +0 -1
- package/lib/logic/selectors/SplitWorkspaceProjectSelectorParser.d.ts +0 -10
- package/lib/logic/selectors/SplitWorkspaceProjectSelectorParser.js +0 -1
package/dist/rush-lib.d.ts
CHANGED
|
@@ -131,55 +131,6 @@ export declare class ApprovedPackagesPolicy {
|
|
|
131
131
|
constructor(rushConfiguration: RushConfiguration, rushConfigurationJson: IRushConfigurationJson);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
/**
|
|
135
|
-
* A base class for flag file.
|
|
136
|
-
* @internal
|
|
137
|
-
*/
|
|
138
|
-
export declare class _BaseFlag<T extends object = JsonObject> {
|
|
139
|
-
/**
|
|
140
|
-
* Flag file path
|
|
141
|
-
*/
|
|
142
|
-
readonly path: string;
|
|
143
|
-
/**
|
|
144
|
-
* Content of the flag
|
|
145
|
-
*/
|
|
146
|
-
protected _state: T;
|
|
147
|
-
/**
|
|
148
|
-
* Whether the current state is modified
|
|
149
|
-
*/
|
|
150
|
-
protected _isModified: boolean;
|
|
151
|
-
/**
|
|
152
|
-
* Creates a new flag file
|
|
153
|
-
* @param folderPath - the folder that this flag is managing
|
|
154
|
-
* @param state - optional, the state that should be managed or compared
|
|
155
|
-
*/
|
|
156
|
-
constructor(folderPath: string, state?: Partial<T>);
|
|
157
|
-
/**
|
|
158
|
-
* Returns true if the file exists and the contents match the current state.
|
|
159
|
-
*/
|
|
160
|
-
isValid(): boolean;
|
|
161
|
-
/**
|
|
162
|
-
* Writes the flag file to disk with the current state
|
|
163
|
-
*/
|
|
164
|
-
create(): void;
|
|
165
|
-
/**
|
|
166
|
-
* Merge new data into current state by "merge"
|
|
167
|
-
*/
|
|
168
|
-
mergeFromObject(data: JsonObject): void;
|
|
169
|
-
/**
|
|
170
|
-
* Writes the flag file to disk with the current state if modified
|
|
171
|
-
*/
|
|
172
|
-
saveIfModified(): void;
|
|
173
|
-
/**
|
|
174
|
-
* Removes the flag file
|
|
175
|
-
*/
|
|
176
|
-
clear(): void;
|
|
177
|
-
/**
|
|
178
|
-
* Returns Name of the flag file
|
|
179
|
-
*/
|
|
180
|
-
protected get flagName(): string;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
134
|
/**
|
|
184
135
|
* Use this class to load and save the "common/config/rush/build-cache.json" config file.
|
|
185
136
|
* This file provides configuration options for cached project build output.
|
|
@@ -935,11 +886,6 @@ export declare interface IExperimentsJson {
|
|
|
935
886
|
* in common/config/rush/command-line.json.
|
|
936
887
|
*/
|
|
937
888
|
phasedCommands?: boolean;
|
|
938
|
-
/**
|
|
939
|
-
* If true, rush install or rush update implicitly specify --ignore-scripts during pnpm install,
|
|
940
|
-
* and run install lifecycle scripts by pnpm rebuild --pending after pnpm install successfully.
|
|
941
|
-
*/
|
|
942
|
-
deferredInstallationScripts?: boolean;
|
|
943
889
|
/**
|
|
944
890
|
* If true, perform a clean install after when running `rush install` or `rush update` if the
|
|
945
891
|
* `.npmrc` file has changed since the last install.
|
|
@@ -1019,51 +965,6 @@ declare interface IIndividualVersionJson extends IVersionPolicyJson {
|
|
|
1019
965
|
lockedMajor?: number;
|
|
1020
966
|
}
|
|
1021
967
|
|
|
1022
|
-
/**
|
|
1023
|
-
* This represents the JSON data structure for the "last-install.flag" file.
|
|
1024
|
-
* @internal
|
|
1025
|
-
*/
|
|
1026
|
-
export declare interface _ILastInstallFlagJson {
|
|
1027
|
-
/**
|
|
1028
|
-
* Current node version
|
|
1029
|
-
*/
|
|
1030
|
-
node: string;
|
|
1031
|
-
/**
|
|
1032
|
-
* Current package manager name
|
|
1033
|
-
*/
|
|
1034
|
-
packageManager: PackageManagerName;
|
|
1035
|
-
/**
|
|
1036
|
-
* Current package manager version
|
|
1037
|
-
*/
|
|
1038
|
-
packageManagerVersion: string;
|
|
1039
|
-
/**
|
|
1040
|
-
* Current rush json folder
|
|
1041
|
-
*/
|
|
1042
|
-
rushJsonFolder: string;
|
|
1043
|
-
/**
|
|
1044
|
-
* The content of package.json, used in the flag file of autoinstaller
|
|
1045
|
-
*/
|
|
1046
|
-
packageJson?: IPackageJson;
|
|
1047
|
-
/**
|
|
1048
|
-
* Same with pnpmOptions.pnpmStorePath in rush.json
|
|
1049
|
-
*/
|
|
1050
|
-
storePath?: string;
|
|
1051
|
-
/**
|
|
1052
|
-
* True when "useWorkspaces" is true in rush.json
|
|
1053
|
-
*/
|
|
1054
|
-
workspaces?: true;
|
|
1055
|
-
/**
|
|
1056
|
-
* True when user explicitly specify "--ignore-scripts" CLI parameter or deferredInstallationScripts
|
|
1057
|
-
*/
|
|
1058
|
-
ignoreScripts?: true;
|
|
1059
|
-
/**
|
|
1060
|
-
* When specified, it is a list of selected projects during partial install
|
|
1061
|
-
* It is undefined when full install
|
|
1062
|
-
*/
|
|
1063
|
-
selectedProjectNames?: string[];
|
|
1064
|
-
[key: string]: unknown;
|
|
1065
|
-
}
|
|
1066
|
-
|
|
1067
968
|
/**
|
|
1068
969
|
* Options to pass to the rush "launch" functions.
|
|
1069
970
|
*
|
|
@@ -1563,7 +1464,6 @@ declare interface IRushConfigurationProjectJson {
|
|
|
1563
1464
|
skipRushCheck?: boolean;
|
|
1564
1465
|
publishFolder?: string;
|
|
1565
1466
|
tags?: string[];
|
|
1566
|
-
splitWorkspace?: boolean;
|
|
1567
1467
|
}
|
|
1568
1468
|
|
|
1569
1469
|
/**
|
|
@@ -1588,16 +1488,6 @@ declare interface IRushConfigurationProjectOptions {
|
|
|
1588
1488
|
allowedProjectTags: Set<string> | undefined;
|
|
1589
1489
|
}
|
|
1590
1490
|
|
|
1591
|
-
/**
|
|
1592
|
-
* The filter parameters to search from all projects.
|
|
1593
|
-
*/
|
|
1594
|
-
declare interface IRushConfigurationProjectsFilter {
|
|
1595
|
-
/**
|
|
1596
|
-
* If true, filter out projects that specify splitWorkspace as true.
|
|
1597
|
-
*/
|
|
1598
|
-
splitWorkspace: boolean;
|
|
1599
|
-
}
|
|
1600
|
-
|
|
1601
1491
|
/**
|
|
1602
1492
|
* Part of IRushConfigurationJson.
|
|
1603
1493
|
*/
|
|
@@ -1861,9 +1751,19 @@ export declare interface _IYarnOptionsJson extends IPackageManagerOptionsJsonBas
|
|
|
1861
1751
|
* it can invalidate the last install.
|
|
1862
1752
|
* @internal
|
|
1863
1753
|
*/
|
|
1864
|
-
export declare class _LastInstallFlag
|
|
1754
|
+
export declare class _LastInstallFlag {
|
|
1755
|
+
private _state;
|
|
1756
|
+
/**
|
|
1757
|
+
* Returns the full path to the flag file
|
|
1758
|
+
*/
|
|
1759
|
+
readonly path: string;
|
|
1760
|
+
/**
|
|
1761
|
+
* Creates a new LastInstall flag
|
|
1762
|
+
* @param folderPath - the folder that this flag is managing
|
|
1763
|
+
* @param state - optional, the state that should be managed or compared
|
|
1764
|
+
*/
|
|
1765
|
+
constructor(folderPath: string, state?: JsonObject);
|
|
1865
1766
|
/**
|
|
1866
|
-
* @override
|
|
1867
1767
|
* Returns true if the file exists and the contents match the current state.
|
|
1868
1768
|
*/
|
|
1869
1769
|
isValid(options?: _ILockfileValidityCheckOptions): boolean;
|
|
@@ -1877,6 +1777,14 @@ export declare class _LastInstallFlag extends _BaseFlag<_ILastInstallFlagJson> {
|
|
|
1877
1777
|
rushVerb: string;
|
|
1878
1778
|
}): boolean;
|
|
1879
1779
|
private _isValid;
|
|
1780
|
+
/**
|
|
1781
|
+
* Writes the flag file to disk with the current state
|
|
1782
|
+
*/
|
|
1783
|
+
create(): void;
|
|
1784
|
+
/**
|
|
1785
|
+
* Removes the flag file
|
|
1786
|
+
*/
|
|
1787
|
+
clear(): void;
|
|
1880
1788
|
/**
|
|
1881
1789
|
* Returns the name of the flag file
|
|
1882
1790
|
*/
|
|
@@ -2729,8 +2637,6 @@ export declare class RushConfiguration {
|
|
|
2729
2637
|
private _projects;
|
|
2730
2638
|
private _projectsByName;
|
|
2731
2639
|
private _projectsByTag;
|
|
2732
|
-
private _filteredProjectsCache;
|
|
2733
|
-
private _hasSplitWorkspaceProject;
|
|
2734
2640
|
private _commonVersionsConfigurationsByVariant;
|
|
2735
2641
|
/**
|
|
2736
2642
|
* The name of the package manager being used to install dependencies
|
|
@@ -2785,12 +2691,6 @@ export declare class RushConfiguration {
|
|
|
2785
2691
|
* Example: `C:\MyRepo\common\temp`
|
|
2786
2692
|
*/
|
|
2787
2693
|
readonly commonTempFolder: string;
|
|
2788
|
-
/**
|
|
2789
|
-
* The folder where temporary files will be stored. This is always a subfolder called "temp"
|
|
2790
|
-
* under the common folder.
|
|
2791
|
-
* Example: `C:\MyRepo\common\temp-split`
|
|
2792
|
-
*/
|
|
2793
|
-
readonly commonTempSplitFolder: string;
|
|
2794
2694
|
/**
|
|
2795
2695
|
* The folder where automation scripts are stored. This is always a subfolder called "scripts"
|
|
2796
2696
|
* under the common folder.
|
|
@@ -2845,21 +2745,6 @@ export declare class RushConfiguration {
|
|
|
2845
2745
|
* or `C:\MyRepo\common\temp\pnpm-lock-preinstall.yaml`
|
|
2846
2746
|
*/
|
|
2847
2747
|
readonly tempShrinkwrapPreinstallFilename: string;
|
|
2848
|
-
/**
|
|
2849
|
-
* The filename (without any path) of the shrinkwrap file for split workspace that is used by the package manager.
|
|
2850
|
-
* @remarks
|
|
2851
|
-
* This property merely reports the filename; the file itself may not actually exist.
|
|
2852
|
-
* Example: `pnpm-lock.yaml`
|
|
2853
|
-
*/
|
|
2854
|
-
readonly splitWorkspaceShrinkwrapFilename: string;
|
|
2855
|
-
/**
|
|
2856
|
-
* The full path of the temporary shrinkwrap file for split workspace that is used during
|
|
2857
|
-
* "rush install". This file may get rewritten by the package manager during installation.
|
|
2858
|
-
* @remarks
|
|
2859
|
-
* This property merely reports the filename; the file itself may not actually exist.
|
|
2860
|
-
* Example: `C:\MyRepo\common\temp-split\pnpm-lock.yaml`
|
|
2861
|
-
*/
|
|
2862
|
-
readonly tempSplitWorkspaceShrinkwrapFilename: string;
|
|
2863
2748
|
/**
|
|
2864
2749
|
* The filename of the variant dependency data file. By default this is
|
|
2865
2750
|
* called 'current-variant.json' resides in the Rush common folder.
|
|
@@ -3116,11 +3001,6 @@ export declare class RushConfiguration {
|
|
|
3116
3001
|
* @beta
|
|
3117
3002
|
*/
|
|
3118
3003
|
get projectsByTag(): ReadonlyMap<string, ReadonlySet<RushConfigurationProject>>;
|
|
3119
|
-
/**
|
|
3120
|
-
* Search for projects according to filter
|
|
3121
|
-
* @beta
|
|
3122
|
-
*/
|
|
3123
|
-
getFilteredProjects(filter: IRushConfigurationProjectsFilter): RushConfigurationProject[];
|
|
3124
3004
|
/**
|
|
3125
3005
|
* Settings from the common-versions.json config file.
|
|
3126
3006
|
* @remarks
|
|
@@ -3139,10 +3019,6 @@ export declare class RushConfiguration {
|
|
|
3139
3019
|
* or "rush update".
|
|
3140
3020
|
*/
|
|
3141
3021
|
get currentInstalledVariant(): string | undefined;
|
|
3142
|
-
/**
|
|
3143
|
-
* Is there any split workspace project.
|
|
3144
|
-
*/
|
|
3145
|
-
get hasSplitWorkspaceProject(): boolean;
|
|
3146
3022
|
/**
|
|
3147
3023
|
* Gets the path to the common-versions.json config file for a specific variant.
|
|
3148
3024
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -3175,11 +3051,6 @@ export declare class RushConfiguration {
|
|
|
3175
3051
|
* @param variant - The name of the current variant in use by the active command.
|
|
3176
3052
|
*/
|
|
3177
3053
|
getCommittedShrinkwrapFilename(variant?: string | undefined): string;
|
|
3178
|
-
/**
|
|
3179
|
-
* Gets the committed shrinkwrap file name for split workspace.
|
|
3180
|
-
* @param variant - The name of the current variant in use by the active command.
|
|
3181
|
-
*/
|
|
3182
|
-
getCommittedSplitWorkspaceShrinkwrapFilename(): string;
|
|
3183
3054
|
/**
|
|
3184
3055
|
* Gets the absolute path for "pnpmfile.js" for a specific variant.
|
|
3185
3056
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -3215,12 +3086,6 @@ export declare class RushConfiguration {
|
|
|
3215
3086
|
*/
|
|
3216
3087
|
tryGetProjectForPath(currentFolderPath: string): RushConfigurationProject | undefined;
|
|
3217
3088
|
private _getVariantConfigFolderPath;
|
|
3218
|
-
/**
|
|
3219
|
-
* Split workspace can only works on PNPM with "useWorkspaces" enabled.
|
|
3220
|
-
* The workspace project can NOT depend on a split workspace project.
|
|
3221
|
-
* The split workspace project CAN depend on a workspace project.
|
|
3222
|
-
*/
|
|
3223
|
-
private _validateSplitWorkspaceRelationships;
|
|
3224
3089
|
}
|
|
3225
3090
|
|
|
3226
3091
|
/**
|
|
@@ -3336,11 +3201,6 @@ export declare class RushConfigurationProject {
|
|
|
3336
3201
|
* @beta
|
|
3337
3202
|
*/
|
|
3338
3203
|
readonly tags: ReadonlySet<string>;
|
|
3339
|
-
/**
|
|
3340
|
-
* Whether this project is a split workspace project.
|
|
3341
|
-
* @beta
|
|
3342
|
-
*/
|
|
3343
|
-
readonly splitWorkspace: boolean;
|
|
3344
3204
|
/** @internal */
|
|
3345
3205
|
constructor(options: IRushConfigurationProjectOptions);
|
|
3346
3206
|
/**
|
|
@@ -3450,12 +3310,6 @@ export declare class RushConstants {
|
|
|
3450
3310
|
* Example: `C:\MyRepo\common\temp`
|
|
3451
3311
|
*/
|
|
3452
3312
|
static readonly rushTempFolderName: string;
|
|
3453
|
-
/**
|
|
3454
|
-
* The folder name ("temp-split") under the common folder, or under the .rush folder in each project's directory where
|
|
3455
|
-
* temporary files will be stored.
|
|
3456
|
-
* Example: `C:\MyRepo\common\temp-split`
|
|
3457
|
-
*/
|
|
3458
|
-
static readonly rushTempSplitFolderName: string;
|
|
3459
3313
|
/**
|
|
3460
3314
|
* The folder name ("projects") where temporary projects will be stored.
|
|
3461
3315
|
* Example: `C:\MyRepo\common\temp\projects`
|
|
@@ -35,11 +35,6 @@ export interface IExperimentsJson {
|
|
|
35
35
|
* in common/config/rush/command-line.json.
|
|
36
36
|
*/
|
|
37
37
|
phasedCommands?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* If true, rush install or rush update implicitly specify --ignore-scripts during pnpm install,
|
|
40
|
-
* and run install lifecycle scripts by pnpm rebuild --pending after pnpm install successfully.
|
|
41
|
-
*/
|
|
42
|
-
deferredInstallationScripts?: boolean;
|
|
43
38
|
/**
|
|
44
39
|
* If true, perform a clean install after when running `rush install` or `rush update` if the
|
|
45
40
|
* `.npmrc` file has changed since the last install.
|
|
@@ -1,52 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseFlag } from './base/BaseFlag';
|
|
3
|
-
import { PackageManagerName } from './packageManager/PackageManager';
|
|
1
|
+
import { JsonObject } from '@rushstack/node-core-library';
|
|
4
2
|
import { RushConfiguration } from './RushConfiguration';
|
|
5
3
|
export declare const LAST_INSTALL_FLAG_FILE_NAME: string;
|
|
6
|
-
/**
|
|
7
|
-
* This represents the JSON data structure for the "last-install.flag" file.
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
export interface ILastInstallFlagJson {
|
|
11
|
-
/**
|
|
12
|
-
* Current node version
|
|
13
|
-
*/
|
|
14
|
-
node: string;
|
|
15
|
-
/**
|
|
16
|
-
* Current package manager name
|
|
17
|
-
*/
|
|
18
|
-
packageManager: PackageManagerName;
|
|
19
|
-
/**
|
|
20
|
-
* Current package manager version
|
|
21
|
-
*/
|
|
22
|
-
packageManagerVersion: string;
|
|
23
|
-
/**
|
|
24
|
-
* Current rush json folder
|
|
25
|
-
*/
|
|
26
|
-
rushJsonFolder: string;
|
|
27
|
-
/**
|
|
28
|
-
* The content of package.json, used in the flag file of autoinstaller
|
|
29
|
-
*/
|
|
30
|
-
packageJson?: IPackageJson;
|
|
31
|
-
/**
|
|
32
|
-
* Same with pnpmOptions.pnpmStorePath in rush.json
|
|
33
|
-
*/
|
|
34
|
-
storePath?: string;
|
|
35
|
-
/**
|
|
36
|
-
* True when "useWorkspaces" is true in rush.json
|
|
37
|
-
*/
|
|
38
|
-
workspaces?: true;
|
|
39
|
-
/**
|
|
40
|
-
* True when user explicitly specify "--ignore-scripts" CLI parameter or deferredInstallationScripts
|
|
41
|
-
*/
|
|
42
|
-
ignoreScripts?: true;
|
|
43
|
-
/**
|
|
44
|
-
* When specified, it is a list of selected projects during partial install
|
|
45
|
-
* It is undefined when full install
|
|
46
|
-
*/
|
|
47
|
-
selectedProjectNames?: string[];
|
|
48
|
-
[key: string]: unknown;
|
|
49
|
-
}
|
|
50
4
|
/**
|
|
51
5
|
* @internal
|
|
52
6
|
*/
|
|
@@ -61,9 +15,19 @@ export interface ILockfileValidityCheckOptions {
|
|
|
61
15
|
* it can invalidate the last install.
|
|
62
16
|
* @internal
|
|
63
17
|
*/
|
|
64
|
-
export declare class LastInstallFlag
|
|
18
|
+
export declare class LastInstallFlag {
|
|
19
|
+
private _state;
|
|
20
|
+
/**
|
|
21
|
+
* Returns the full path to the flag file
|
|
22
|
+
*/
|
|
23
|
+
readonly path: string;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new LastInstall flag
|
|
26
|
+
* @param folderPath - the folder that this flag is managing
|
|
27
|
+
* @param state - optional, the state that should be managed or compared
|
|
28
|
+
*/
|
|
29
|
+
constructor(folderPath: string, state?: JsonObject);
|
|
65
30
|
/**
|
|
66
|
-
* @override
|
|
67
31
|
* Returns true if the file exists and the contents match the current state.
|
|
68
32
|
*/
|
|
69
33
|
isValid(options?: ILockfileValidityCheckOptions): boolean;
|
|
@@ -77,6 +41,14 @@ export declare class LastInstallFlag extends BaseFlag<ILastInstallFlagJson> {
|
|
|
77
41
|
rushVerb: string;
|
|
78
42
|
}): boolean;
|
|
79
43
|
private _isValid;
|
|
44
|
+
/**
|
|
45
|
+
* Writes the flag file to disk with the current state
|
|
46
|
+
*/
|
|
47
|
+
create(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Removes the flag file
|
|
50
|
+
*/
|
|
51
|
+
clear(): void;
|
|
80
52
|
/**
|
|
81
53
|
* Returns the name of the flag file
|
|
82
54
|
*/
|
|
@@ -97,14 +69,5 @@ export declare class LastInstallFlagFactory {
|
|
|
97
69
|
* @internal
|
|
98
70
|
*/
|
|
99
71
|
static getCommonTempFlag(rushConfiguration: RushConfiguration, extraState?: Record<string, string>): LastInstallFlag;
|
|
100
|
-
/**
|
|
101
|
-
* Gets the LastInstall flag and sets the current state. This state is used to compare
|
|
102
|
-
* against the last-known-good state tracked by the LastInstall flag.
|
|
103
|
-
* @param rushConfiguration - the configuration of the Rush repo to get the install
|
|
104
|
-
* state from
|
|
105
|
-
*
|
|
106
|
-
* @internal
|
|
107
|
-
*/
|
|
108
|
-
static getCommonTempSplitFlag(rushConfiguration: RushConfiguration): LastInstallFlag;
|
|
109
72
|
}
|
|
110
73
|
//# sourceMappingURL=LastInstallFlag.d.ts.map
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { LastInstallFlag } from './LastInstallFlag';
|
|
2
|
+
import { RushConfiguration } from './RushConfiguration';
|
|
3
3
|
export declare const LAST_LINK_FLAG_FILE_NAME: string;
|
|
4
4
|
/**
|
|
5
5
|
* A helper class for managing the last-link flag, which is persistent and
|
|
6
6
|
* indicates that linking was completed successfully.
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
|
-
export declare class LastLinkFlag extends
|
|
9
|
+
export declare class LastLinkFlag extends LastInstallFlag {
|
|
10
|
+
/**
|
|
11
|
+
* @override
|
|
12
|
+
*/
|
|
13
|
+
isValid(): boolean;
|
|
10
14
|
/**
|
|
11
15
|
* @override
|
|
12
16
|
*/
|
|
@@ -117,15 +117,6 @@ export interface IRushConfigurationJson {
|
|
|
117
117
|
export interface ICurrentVariantJson {
|
|
118
118
|
variant: string | JsonNull;
|
|
119
119
|
}
|
|
120
|
-
/**
|
|
121
|
-
* The filter parameters to search from all projects.
|
|
122
|
-
*/
|
|
123
|
-
export interface IRushConfigurationProjectsFilter {
|
|
124
|
-
/**
|
|
125
|
-
* If true, filter out projects that specify splitWorkspace as true.
|
|
126
|
-
*/
|
|
127
|
-
splitWorkspace: boolean;
|
|
128
|
-
}
|
|
129
120
|
/**
|
|
130
121
|
* Options for `RushConfiguration.tryFindRushJsonLocation`.
|
|
131
122
|
* @public
|
|
@@ -152,8 +143,6 @@ export declare class RushConfiguration {
|
|
|
152
143
|
private _projects;
|
|
153
144
|
private _projectsByName;
|
|
154
145
|
private _projectsByTag;
|
|
155
|
-
private _filteredProjectsCache;
|
|
156
|
-
private _hasSplitWorkspaceProject;
|
|
157
146
|
private _commonVersionsConfigurationsByVariant;
|
|
158
147
|
/**
|
|
159
148
|
* The name of the package manager being used to install dependencies
|
|
@@ -208,12 +197,6 @@ export declare class RushConfiguration {
|
|
|
208
197
|
* Example: `C:\MyRepo\common\temp`
|
|
209
198
|
*/
|
|
210
199
|
readonly commonTempFolder: string;
|
|
211
|
-
/**
|
|
212
|
-
* The folder where temporary files will be stored. This is always a subfolder called "temp"
|
|
213
|
-
* under the common folder.
|
|
214
|
-
* Example: `C:\MyRepo\common\temp-split`
|
|
215
|
-
*/
|
|
216
|
-
readonly commonTempSplitFolder: string;
|
|
217
200
|
/**
|
|
218
201
|
* The folder where automation scripts are stored. This is always a subfolder called "scripts"
|
|
219
202
|
* under the common folder.
|
|
@@ -268,21 +251,6 @@ export declare class RushConfiguration {
|
|
|
268
251
|
* or `C:\MyRepo\common\temp\pnpm-lock-preinstall.yaml`
|
|
269
252
|
*/
|
|
270
253
|
readonly tempShrinkwrapPreinstallFilename: string;
|
|
271
|
-
/**
|
|
272
|
-
* The filename (without any path) of the shrinkwrap file for split workspace that is used by the package manager.
|
|
273
|
-
* @remarks
|
|
274
|
-
* This property merely reports the filename; the file itself may not actually exist.
|
|
275
|
-
* Example: `pnpm-lock.yaml`
|
|
276
|
-
*/
|
|
277
|
-
readonly splitWorkspaceShrinkwrapFilename: string;
|
|
278
|
-
/**
|
|
279
|
-
* The full path of the temporary shrinkwrap file for split workspace that is used during
|
|
280
|
-
* "rush install". This file may get rewritten by the package manager during installation.
|
|
281
|
-
* @remarks
|
|
282
|
-
* This property merely reports the filename; the file itself may not actually exist.
|
|
283
|
-
* Example: `C:\MyRepo\common\temp-split\pnpm-lock.yaml`
|
|
284
|
-
*/
|
|
285
|
-
readonly tempSplitWorkspaceShrinkwrapFilename: string;
|
|
286
254
|
/**
|
|
287
255
|
* The filename of the variant dependency data file. By default this is
|
|
288
256
|
* called 'current-variant.json' resides in the Rush common folder.
|
|
@@ -539,11 +507,6 @@ export declare class RushConfiguration {
|
|
|
539
507
|
* @beta
|
|
540
508
|
*/
|
|
541
509
|
get projectsByTag(): ReadonlyMap<string, ReadonlySet<RushConfigurationProject>>;
|
|
542
|
-
/**
|
|
543
|
-
* Search for projects according to filter
|
|
544
|
-
* @beta
|
|
545
|
-
*/
|
|
546
|
-
getFilteredProjects(filter: IRushConfigurationProjectsFilter): RushConfigurationProject[];
|
|
547
510
|
/**
|
|
548
511
|
* Settings from the common-versions.json config file.
|
|
549
512
|
* @remarks
|
|
@@ -562,10 +525,6 @@ export declare class RushConfiguration {
|
|
|
562
525
|
* or "rush update".
|
|
563
526
|
*/
|
|
564
527
|
get currentInstalledVariant(): string | undefined;
|
|
565
|
-
/**
|
|
566
|
-
* Is there any split workspace project.
|
|
567
|
-
*/
|
|
568
|
-
get hasSplitWorkspaceProject(): boolean;
|
|
569
528
|
/**
|
|
570
529
|
* Gets the path to the common-versions.json config file for a specific variant.
|
|
571
530
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -598,11 +557,6 @@ export declare class RushConfiguration {
|
|
|
598
557
|
* @param variant - The name of the current variant in use by the active command.
|
|
599
558
|
*/
|
|
600
559
|
getCommittedShrinkwrapFilename(variant?: string | undefined): string;
|
|
601
|
-
/**
|
|
602
|
-
* Gets the committed shrinkwrap file name for split workspace.
|
|
603
|
-
* @param variant - The name of the current variant in use by the active command.
|
|
604
|
-
*/
|
|
605
|
-
getCommittedSplitWorkspaceShrinkwrapFilename(): string;
|
|
606
560
|
/**
|
|
607
561
|
* Gets the absolute path for "pnpmfile.js" for a specific variant.
|
|
608
562
|
* @param variant - The name of the current variant in use by the active command.
|
|
@@ -638,11 +592,5 @@ export declare class RushConfiguration {
|
|
|
638
592
|
*/
|
|
639
593
|
tryGetProjectForPath(currentFolderPath: string): RushConfigurationProject | undefined;
|
|
640
594
|
private _getVariantConfigFolderPath;
|
|
641
|
-
/**
|
|
642
|
-
* Split workspace can only works on PNPM with "useWorkspaces" enabled.
|
|
643
|
-
* The workspace project can NOT depend on a split workspace project.
|
|
644
|
-
* The split workspace project CAN depend on a workspace project.
|
|
645
|
-
*/
|
|
646
|
-
private _validateSplitWorkspaceRelationships;
|
|
647
595
|
}
|
|
648
596
|
//# sourceMappingURL=RushConfiguration.d.ts.map
|
|
@@ -16,7 +16,6 @@ export interface IRushConfigurationProjectJson {
|
|
|
16
16
|
skipRushCheck?: boolean;
|
|
17
17
|
publishFolder?: string;
|
|
18
18
|
tags?: string[];
|
|
19
|
-
splitWorkspace?: boolean;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
21
|
* @internal
|
|
@@ -152,11 +151,6 @@ export declare class RushConfigurationProject {
|
|
|
152
151
|
* @beta
|
|
153
152
|
*/
|
|
154
153
|
readonly tags: ReadonlySet<string>;
|
|
155
|
-
/**
|
|
156
|
-
* Whether this project is a split workspace project.
|
|
157
|
-
* @beta
|
|
158
|
-
*/
|
|
159
|
-
readonly splitWorkspace: boolean;
|
|
160
154
|
/** @internal */
|
|
161
155
|
constructor(options: IRushConfigurationProjectOptions);
|
|
162
156
|
/**
|
|
@@ -11,21 +11,7 @@ export declare class PnpmPackageManager extends PackageManager {
|
|
|
11
11
|
* Example: `pnpmfile.js` or `.pnpmfile.cjs`
|
|
12
12
|
*/
|
|
13
13
|
readonly pnpmfileFilename: string;
|
|
14
|
-
/**
|
|
15
|
-
* The filename of the shrinkwrap file of split workspace that is used by the package manager.
|
|
16
|
-
*
|
|
17
|
-
* @remarks
|
|
18
|
-
* Example: `.pnpmfile-split-workspace.cjs`
|
|
19
|
-
*/
|
|
20
|
-
splitWorkspacePnpmfileFilename: string;
|
|
21
14
|
/** @internal */
|
|
22
15
|
constructor(version: string);
|
|
23
|
-
/**
|
|
24
|
-
* The filename of the global shrinkwrap file that is used by the package manager.
|
|
25
|
-
*
|
|
26
|
-
* @remarks
|
|
27
|
-
* Example: `global-pnpmfile.cjs`
|
|
28
|
-
*/
|
|
29
|
-
get globalPnpmfileFilename(): string;
|
|
30
16
|
}
|
|
31
17
|
//# sourceMappingURL=PnpmPackageManager.d.ts.map
|
|
@@ -3,13 +3,6 @@ import type { IInstallManagerOptions } from '../../logic/base/BaseInstallManager
|
|
|
3
3
|
import { RushCommandLineParser } from '../RushCommandLineParser';
|
|
4
4
|
export declare class InstallAction extends BaseInstallAction {
|
|
5
5
|
private readonly _checkOnlyParameter;
|
|
6
|
-
private _ignoreScriptsParameter;
|
|
7
|
-
/**
|
|
8
|
-
* Whether split workspace projects are included in install
|
|
9
|
-
*
|
|
10
|
-
* This parameter only supported when there is split workspace project
|
|
11
|
-
*/
|
|
12
|
-
private _includeSplitWorkspaceParameter?;
|
|
13
6
|
constructor(parser: RushCommandLineParser);
|
|
14
7
|
protected buildInstallOptionsAsync(): Promise<IInstallManagerOptions>;
|
|
15
8
|
}
|
|
@@ -34,10 +34,6 @@ export interface IJsonEntry {
|
|
|
34
34
|
* @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.tags | RushConfigurationProject.tags}
|
|
35
35
|
*/
|
|
36
36
|
tags: string[];
|
|
37
|
-
/**
|
|
38
|
-
* @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.splitWorkspace | RushConfigurationProject.splitWorkspace}
|
|
39
|
-
*/
|
|
40
|
-
splitWorkspace: boolean;
|
|
41
37
|
}
|
|
42
38
|
export interface IJsonOutput {
|
|
43
39
|
projects: IJsonEntry[];
|
|
@@ -4,13 +4,6 @@ import { RushCommandLineParser } from '../RushCommandLineParser';
|
|
|
4
4
|
export declare class UpdateAction extends BaseInstallAction {
|
|
5
5
|
private readonly _fullParameter;
|
|
6
6
|
private readonly _recheckParameter;
|
|
7
|
-
private _ignoreScriptsParameter;
|
|
8
|
-
/**
|
|
9
|
-
* Whether split workspace projects are included in update
|
|
10
|
-
*
|
|
11
|
-
* This parameter only supported when there is split workspace project
|
|
12
|
-
*/
|
|
13
|
-
private _includeSplitWorkspaceParameter?;
|
|
14
7
|
constructor(parser: RushCommandLineParser);
|
|
15
8
|
protected runAsync(): Promise<void>;
|
|
16
9
|
protected buildInstallOptionsAsync(): Promise<IInstallManagerOptions>;
|
|
@@ -20,15 +20,7 @@ export declare class SelectionParameterSet {
|
|
|
20
20
|
private readonly _fromVersionPolicy;
|
|
21
21
|
private readonly _toVersionPolicy;
|
|
22
22
|
private readonly _selectorParserByScope;
|
|
23
|
-
private readonly _selectors;
|
|
24
|
-
private _isSelectionSpecified;
|
|
25
23
|
constructor(rushConfiguration: RushConfiguration, action: CommandLineParameterProvider, gitOptions: IGitSelectorParserOptions);
|
|
26
|
-
/**
|
|
27
|
-
* Check if any of the selection parameters have a value specified on the command line
|
|
28
|
-
*
|
|
29
|
-
* Returns true if specifying any selection parameters, otherwise false.
|
|
30
|
-
*/
|
|
31
|
-
get isSelectionSpecified(): boolean;
|
|
32
24
|
/**
|
|
33
25
|
* Computes the set of selected projects based on all parameter values.
|
|
34
26
|
*
|
|
@@ -36,19 +28,14 @@ export declare class SelectionParameterSet {
|
|
|
36
28
|
*/
|
|
37
29
|
getSelectedProjectsAsync(terminal: ITerminal): Promise<Set<RushConfigurationProject>>;
|
|
38
30
|
/**
|
|
39
|
-
* Represents the selection as `--filter` parameters to pnpm
|
|
31
|
+
* Represents the selection as `--filter` parameters to pnpm.
|
|
40
32
|
*
|
|
41
33
|
* @remarks
|
|
42
34
|
* This is a separate from the selection to allow the filters to be represented more concisely.
|
|
43
35
|
*
|
|
44
|
-
* @see https://pnpm.
|
|
36
|
+
* @see https://pnpm.js.org/en/filtering
|
|
45
37
|
*/
|
|
46
|
-
getPnpmFilterArgumentsAsync(terminal: ITerminal): Promise<
|
|
47
|
-
pnpmFilterArguments: string[];
|
|
48
|
-
splitWorkspacePnpmFilterArguments: string[];
|
|
49
|
-
selectedProjects: Set<RushConfigurationProject> | undefined;
|
|
50
|
-
hasSelectSplitWorkspaceProject: boolean;
|
|
51
|
-
}>;
|
|
38
|
+
getPnpmFilterArgumentsAsync(terminal: ITerminal): Promise<string[]>;
|
|
52
39
|
/**
|
|
53
40
|
* Usage telemetry for selection parameters. Only saved locally, and if requested in the config.
|
|
54
41
|
*/
|
|
@@ -60,6 +47,5 @@ export declare class SelectionParameterSet {
|
|
|
60
47
|
* Handles '.', unscoped names, and scoped names.
|
|
61
48
|
*/
|
|
62
49
|
private _evaluateProjectParameterAsync;
|
|
63
|
-
toArguments(): string[];
|
|
64
50
|
}
|
|
65
51
|
//# sourceMappingURL=SelectionParameterSet.d.ts.map
|
package/lib/index.d.ts
CHANGED
|
@@ -25,8 +25,7 @@ export { RepoStateFile } from './logic/RepoStateFile';
|
|
|
25
25
|
export { LookupByPath, IPrefixMatch } from './logic/LookupByPath';
|
|
26
26
|
export { EventHooks, Event } from './api/EventHooks';
|
|
27
27
|
export { ChangeManager } from './api/ChangeManager';
|
|
28
|
-
export { LastInstallFlag as _LastInstallFlag,
|
|
29
|
-
export { BaseFlag as _BaseFlag } from './api/base/BaseFlag';
|
|
28
|
+
export { LastInstallFlag as _LastInstallFlag, ILockfileValidityCheckOptions as _ILockfileValidityCheckOptions } from './api/LastInstallFlag';
|
|
30
29
|
export { VersionPolicyDefinitionName, BumpType, LockStepVersionPolicy, IndividualVersionPolicy, VersionPolicy } from './api/VersionPolicy';
|
|
31
30
|
export { VersionPolicyConfiguration } from './api/VersionPolicyConfiguration';
|
|
32
31
|
export { ILaunchOptions, Rush } from './api/Rush';
|
|
@@ -9,7 +9,6 @@ export declare class PurgeManager {
|
|
|
9
9
|
private _rushGlobalFolder;
|
|
10
10
|
private _rushUserFolderRecycler;
|
|
11
11
|
readonly commonTempFolderRecycler: AsyncRecycler;
|
|
12
|
-
readonly commonTempSplitFolderRecycler: AsyncRecycler;
|
|
13
12
|
constructor(rushConfiguration: RushConfiguration, rushGlobalFolder: RushGlobalFolder);
|
|
14
13
|
/**
|
|
15
14
|
* Performs the AsyncRecycler.deleteAll() operation. This should be called before
|
|
@@ -43,12 +43,6 @@ export declare class RushConstants {
|
|
|
43
43
|
* Example: `C:\MyRepo\common\temp`
|
|
44
44
|
*/
|
|
45
45
|
static readonly rushTempFolderName: string;
|
|
46
|
-
/**
|
|
47
|
-
* The folder name ("temp-split") under the common folder, or under the .rush folder in each project's directory where
|
|
48
|
-
* temporary files will be stored.
|
|
49
|
-
* Example: `C:\MyRepo\common\temp-split`
|
|
50
|
-
*/
|
|
51
|
-
static readonly rushTempSplitFolderName: string;
|
|
52
46
|
/**
|
|
53
47
|
* The folder name ("projects") where temporary projects will be stored.
|
|
54
48
|
* Example: `C:\MyRepo\common\temp\projects`
|
|
@@ -11,7 +11,7 @@ export declare class UnlinkManager {
|
|
|
11
11
|
*
|
|
12
12
|
* Returns true if anything was deleted.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
unlink(force?: boolean): boolean;
|
|
15
15
|
/**
|
|
16
16
|
* Delete:
|
|
17
17
|
* - all the node_modules symlinks of configured Rush projects
|
|
@@ -19,6 +19,6 @@ export declare class UnlinkManager {
|
|
|
19
19
|
*
|
|
20
20
|
* Returns true if anything was deleted
|
|
21
21
|
* */
|
|
22
|
-
private
|
|
22
|
+
private _deleteProjectFiles;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=UnlinkManager.d.ts.map
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { SelectionParameterSet } from '../../cli/parsing/SelectionParameterSet';
|
|
2
|
-
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
3
1
|
export interface IInstallManagerOptions {
|
|
4
2
|
/**
|
|
5
3
|
* Whether the global "--debug" flag was specified.
|
|
@@ -67,26 +65,5 @@ export interface IInstallManagerOptions {
|
|
|
67
65
|
* Callback to invoke between preparing the common/temp folder and running installation.
|
|
68
66
|
*/
|
|
69
67
|
beforeInstallAsync?: () => Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Whether to specify "--ignore-scripts" command-line parameter, which ignores
|
|
72
|
-
* install lifecycle scripts in package.json and its dependencies
|
|
73
|
-
*/
|
|
74
|
-
ignoreScripts: boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Whether to install for projects in split workspace
|
|
77
|
-
*/
|
|
78
|
-
includeSplitWorkspace: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Filters to be passed to PNPM during installation for split workspace.
|
|
81
|
-
*/
|
|
82
|
-
splitWorkspacePnpmFilterArguments: string[];
|
|
83
|
-
/**
|
|
84
|
-
* Selected projects during partial install.
|
|
85
|
-
*/
|
|
86
|
-
selectedProjects?: Set<RushConfigurationProject>;
|
|
87
|
-
/**
|
|
88
|
-
* Selection parameters for partial install.
|
|
89
|
-
*/
|
|
90
|
-
selectionParameters?: SelectionParameterSet;
|
|
91
68
|
}
|
|
92
69
|
//# sourceMappingURL=BaseInstallManagerTypes.d.ts.map
|
|
@@ -3,7 +3,6 @@ import { RushConfiguration } from '../../api/RushConfiguration';
|
|
|
3
3
|
import { RushGlobalFolder } from '../../api/RushGlobalFolder';
|
|
4
4
|
export declare class InstallHelpers {
|
|
5
5
|
static generateCommonPackageJson(rushConfiguration: RushConfiguration, dependencies?: Map<string, string>): void;
|
|
6
|
-
static generateCommonSplitPackageJson(rushConfiguration: RushConfiguration): void;
|
|
7
6
|
static getPackageManagerEnvironment(rushConfiguration: RushConfiguration, options?: {
|
|
8
7
|
debug?: boolean;
|
|
9
8
|
}): NodeJS.ProcessEnv;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { LogBase } from '@pnpm/logger';
|
|
2
2
|
import type { IPackageJson } from '@rushstack/node-core-library';
|
|
3
|
-
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
4
3
|
import type { IPnpmShrinkwrapYaml } from './PnpmShrinkwrapFile';
|
|
5
4
|
/**
|
|
6
5
|
* The `settings` parameter passed to {@link IPnpmfileShim.hooks.readPackage} and
|
|
@@ -20,20 +19,6 @@ export interface IPnpmfileShimSettings {
|
|
|
20
19
|
workspaceVersions: Record<string, string>;
|
|
21
20
|
userPnpmfilePath?: string;
|
|
22
21
|
}
|
|
23
|
-
export interface IWorkspaceProjectInfo extends Pick<RushConfigurationProject, 'packageName' | 'projectRelativeFolder'> {
|
|
24
|
-
packageVersion: RushConfigurationProject['packageJson']['version'];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* The `settings` parameter passed to {@link IPnpmfileShim.hooks.readPackage} and
|
|
28
|
-
* {@link IPnpmfileShim.hooks.afterAllResolved}.
|
|
29
|
-
*/
|
|
30
|
-
export interface ISplitWorkspacePnpmfileShimSettings {
|
|
31
|
-
semverPath: string;
|
|
32
|
-
pathNormalizerPath: string;
|
|
33
|
-
workspaceProjects: Record<string, IWorkspaceProjectInfo>;
|
|
34
|
-
splitWorkspaceProjects: Record<string, IWorkspaceProjectInfo>;
|
|
35
|
-
userPnpmfilePath?: string;
|
|
36
|
-
}
|
|
37
22
|
/**
|
|
38
23
|
* The `context` parameter passed to {@link IPnpmfile.hooks.readPackage}, as defined by the
|
|
39
24
|
* pnpmfile API contract.
|
|
@@ -41,7 +26,6 @@ export interface ISplitWorkspacePnpmfileShimSettings {
|
|
|
41
26
|
export interface IPnpmfileContext {
|
|
42
27
|
log: (message: string) => void;
|
|
43
28
|
pnpmfileShimSettings?: IPnpmfileShimSettings;
|
|
44
|
-
splitWorkspacePnpmfileShimSettings?: ISplitWorkspacePnpmfileShimSettings;
|
|
45
29
|
}
|
|
46
30
|
/**
|
|
47
31
|
* The `log` parameter passed to {@link IPnpmfile.hooks.filterLog}.
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile';
|
|
2
2
|
import { PnpmShrinkwrapFile } from './PnpmShrinkwrapFile';
|
|
3
|
-
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
4
3
|
/**
|
|
5
4
|
*
|
|
6
5
|
*/
|
|
7
6
|
export declare class PnpmProjectShrinkwrapFile extends BaseProjectShrinkwrapFile<PnpmShrinkwrapFile> {
|
|
8
|
-
/**
|
|
9
|
-
* When split workspace projects turn off shared-workspace-lockfiles, Pnpm creates individual
|
|
10
|
-
* shrinkwrap files for each project.
|
|
11
|
-
*/
|
|
12
|
-
static generateIndividualProjectShrinkwrapAsync(project: RushConfigurationProject): Promise<void>;
|
|
13
7
|
/**
|
|
14
8
|
* Generate and write the project shrinkwrap file to <project>/.rush/temp/shrinkwrap-deps.json.
|
|
15
9
|
* @returns True if the project shrinkwrap was created or updated, false otherwise.
|
|
@@ -22,7 +16,6 @@ export declare class PnpmProjectShrinkwrapFile extends BaseProjectShrinkwrapFile
|
|
|
22
16
|
protected generateProjectShrinkwrapMap(): Map<string, string> | undefined;
|
|
23
17
|
protected generateWorkspaceProjectShrinkwrapMap(): Map<string, string> | undefined;
|
|
24
18
|
protected generateLegacyProjectShrinkwrapMap(): Map<string, string>;
|
|
25
|
-
protected generateIndividualProjectShrinkwrapMap(): Map<string, string>;
|
|
26
19
|
private _addDependencyRecursive;
|
|
27
20
|
private _resolveAndAddPeerDependencies;
|
|
28
21
|
/**
|
|
@@ -4,7 +4,6 @@ import { RushConfiguration } from '../../api/RushConfiguration';
|
|
|
4
4
|
import { IShrinkwrapFilePolicyValidatorOptions } from '../policy/ShrinkwrapFilePolicy';
|
|
5
5
|
import { IExperimentsJson } from '../../api/ExperimentsConfiguration';
|
|
6
6
|
import { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
7
|
-
import { SplitWorkspacePnpmfileConfiguration } from './SplitWorkspacePnpmfileConfiguration';
|
|
8
7
|
import { PnpmProjectShrinkwrapFile } from './PnpmProjectShrinkwrapFile';
|
|
9
8
|
import { PackageManagerOptionsConfigurationBase } from '../base/BasePackageManagerOptionsConfiguration';
|
|
10
9
|
export interface IPeerDependenciesMetaYaml {
|
|
@@ -87,10 +86,6 @@ export interface IPnpmShrinkwrapYaml {
|
|
|
87
86
|
lockfileVersion?: string | number;
|
|
88
87
|
/** The list of resolved version numbers for direct dependencies */
|
|
89
88
|
dependencies: Record<string, string>;
|
|
90
|
-
/** The list of resolved version numbers for dev dependencies */
|
|
91
|
-
devDependencies: Record<string, string>;
|
|
92
|
-
/** The list of resolved version numbers for optional dependencies */
|
|
93
|
-
optionalDependencies: Record<string, string>;
|
|
94
89
|
/** The list of importers for local workspace projects */
|
|
95
90
|
importers: Record<string, IPnpmShrinkwrapImporterYaml>;
|
|
96
91
|
/** The description of the solved graph */
|
|
@@ -99,10 +94,6 @@ export interface IPnpmShrinkwrapYaml {
|
|
|
99
94
|
registry: string;
|
|
100
95
|
/** The list of specifiers used to resolve direct dependency versions */
|
|
101
96
|
specifiers: Record<string, string>;
|
|
102
|
-
/** The list of override version number for dependencies */
|
|
103
|
-
overrides: {
|
|
104
|
-
[dependency: string]: string;
|
|
105
|
-
};
|
|
106
97
|
}
|
|
107
98
|
/**
|
|
108
99
|
* Given an encoded "dependency key" from the PNPM shrinkwrap file, this parses it into an equivalent
|
|
@@ -117,23 +108,15 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
117
108
|
readonly isWorkspaceCompatible: boolean;
|
|
118
109
|
readonly registry: string;
|
|
119
110
|
readonly dependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
|
|
120
|
-
readonly devDependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
|
|
121
|
-
readonly optionalDependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
|
|
122
111
|
readonly importers: ReadonlyMap<string, IPnpmShrinkwrapImporterYaml>;
|
|
123
112
|
readonly specifiers: ReadonlyMap<string, string>;
|
|
124
113
|
readonly packages: ReadonlyMap<string, IPnpmShrinkwrapDependencyYaml>;
|
|
125
|
-
readonly overrides: ReadonlyMap<string, string>;
|
|
126
114
|
private readonly _shrinkwrapJson;
|
|
127
115
|
private readonly _integrities;
|
|
128
116
|
private _pnpmfileConfiguration;
|
|
129
|
-
private _splitWorkspaceGlobalPnpmfileConfiguration;
|
|
130
|
-
private _individualPackageName;
|
|
131
|
-
private _individualShrinkwrapImporter;
|
|
132
117
|
private constructor();
|
|
133
118
|
static loadFromFile(shrinkwrapYamlFilename: string): PnpmShrinkwrapFile | undefined;
|
|
134
119
|
static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile;
|
|
135
|
-
setIndividualPackage(packageName: string, splitWorkspaceGlobalPnpmfileConfiguration?: SplitWorkspacePnpmfileConfiguration): void;
|
|
136
|
-
get isIndividual(): boolean;
|
|
137
120
|
getShrinkwrapHash(experimentsConfig?: IExperimentsJson): string;
|
|
138
121
|
/** @override */
|
|
139
122
|
validate(packageManagerOptionsConfig: PackageManagerOptionsConfigurationBase, policyOptions: IShrinkwrapFilePolicyValidatorOptions, experimentsConfig?: IExperimentsJson): void;
|
|
@@ -220,12 +203,8 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
220
203
|
getImporterKeyByPath(workspaceRoot: string, projectFolder: string): string;
|
|
221
204
|
getImporter(importerKey: string): IPnpmShrinkwrapImporterYaml | undefined;
|
|
222
205
|
getIntegrityForImporter(importerKey: string): Map<string, string> | undefined;
|
|
223
|
-
getIntegrityForIndividualProject(): Map<string, string>;
|
|
224
206
|
/** @override */
|
|
225
207
|
isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
|
|
226
|
-
isSplitWorkspaceProjectModified(project: RushConfigurationProject): boolean;
|
|
227
|
-
isSplitWorkspaceIndividualProjectModified(project: RushConfigurationProject): boolean;
|
|
228
|
-
private _isProjectModified;
|
|
229
208
|
private _getIntegrityForPackage;
|
|
230
209
|
private _addIntegrities;
|
|
231
210
|
/**
|
|
@@ -235,6 +214,5 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
235
214
|
private _getPackageId;
|
|
236
215
|
private _parsePnpmDependencyKey;
|
|
237
216
|
private _serializeInternal;
|
|
238
|
-
private _getIndividualShrinkwrapImporter;
|
|
239
217
|
}
|
|
240
218
|
//# sourceMappingURL=PnpmShrinkwrapFile.d.ts.map
|
|
@@ -4,10 +4,8 @@ import { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
|
4
4
|
export declare class VersionMismatchFinderProject extends VersionMismatchFinderEntity {
|
|
5
5
|
packageName: string;
|
|
6
6
|
private _fileManager;
|
|
7
|
-
private _project;
|
|
8
7
|
constructor(project: RushConfigurationProject);
|
|
9
8
|
get filePath(): string;
|
|
10
|
-
get project(): RushConfigurationProject;
|
|
11
9
|
get allDependencies(): ReadonlyArray<PackageJsonDependency>;
|
|
12
10
|
tryGetDependency(packageName: string): PackageJsonDependency | undefined;
|
|
13
11
|
tryGetDevDependency(packageName: string): PackageJsonDependency | undefined;
|
|
@@ -11,7 +11,6 @@ export declare const assetsFolderPath: string;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const scriptsFolderName: string;
|
|
13
13
|
export declare const pnpmfileShimFilename: string;
|
|
14
|
-
export declare const splitWorkspacePnpmfileShimFilename: string;
|
|
15
14
|
export declare const installRunScriptFilename: string;
|
|
16
15
|
export declare const installRunRushScriptFilename: string;
|
|
17
16
|
export declare const installRunRushxScriptFilename: string;
|
|
@@ -102,12 +102,6 @@ export declare class Utilities {
|
|
|
102
102
|
* hard disk.
|
|
103
103
|
*/
|
|
104
104
|
static dangerouslyDeletePath(folderPath: string): void;
|
|
105
|
-
/**
|
|
106
|
-
* BE VERY CAREFUL CALLING THIS FUNCTION!
|
|
107
|
-
* If you specify the wrong folderPath (e.g. "/"), it could potentially delete your entire
|
|
108
|
-
* hard disk.
|
|
109
|
-
*/
|
|
110
|
-
static dangerouslyDeletePathAsync(folderPath: string): Promise<void>;
|
|
111
105
|
static isFileTimestampCurrent(dateToCompare: Date, inputFilenames: string[]): boolean;
|
|
112
106
|
/**
|
|
113
107
|
* Executes the command with the specified command-line parameters, and waits for it to complete.
|
|
@@ -11,5 +11,5 @@ export interface ILogger {
|
|
|
11
11
|
* @returns
|
|
12
12
|
* The text of the the synced .npmrc, if one exists. If one does not exist, then undefined is returned.
|
|
13
13
|
*/
|
|
14
|
-
export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean,
|
|
14
|
+
export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean, logger?: ILogger): string | undefined;
|
|
15
15
|
//# sourceMappingURL=npmrcUtilities.d.ts.map
|
|
@@ -4,9 +4,4 @@
|
|
|
4
4
|
export declare function objectsAreDeepEqual<TObject>(a: TObject, b: TObject): boolean;
|
|
5
5
|
export declare function cloneDeep<TObject>(obj: TObject): TObject;
|
|
6
6
|
export declare function merge<TBase extends object, TOther>(base: TBase, other: TOther): (TBase & TOther) | TOther;
|
|
7
|
-
/**
|
|
8
|
-
* Performs a partial deep comparison between `obj` and `source` to
|
|
9
|
-
* determine if `obj` contains equivalent property values.
|
|
10
|
-
*/
|
|
11
|
-
export declare function isMatch<TObject>(obj: TObject, source: TObject): boolean;
|
|
12
7
|
//# sourceMappingURL=objectUtilities.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rushstack/rush-sdk",
|
|
3
|
-
"version": "5.100.
|
|
3
|
+
"version": "5.100.2",
|
|
4
4
|
"description": "An API for interacting with the Rush engine",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@types/node-fetch": "2.6.2",
|
|
16
16
|
"tapable": "2.2.1",
|
|
17
|
-
"@rushstack/node-core-library": "3.59.
|
|
17
|
+
"@rushstack/node-core-library": "3.59.6"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
-
"@types/semver": "7.
|
|
20
|
+
"@types/semver": "7.5.0",
|
|
21
21
|
"@types/webpack-env": "1.18.0",
|
|
22
|
-
"@microsoft/rush-lib": "5.100.
|
|
22
|
+
"@microsoft/rush-lib": "5.100.2",
|
|
23
23
|
"@rushstack/eslint-config": "3.3.2",
|
|
24
|
-
"@rushstack/heft": "0.
|
|
25
|
-
"@rushstack/heft-node-rig": "2.2.
|
|
26
|
-
"@rushstack/stream-collator": "4.0.
|
|
24
|
+
"@rushstack/heft": "0.58.0",
|
|
25
|
+
"@rushstack/heft-node-rig": "2.2.19",
|
|
26
|
+
"@rushstack/stream-collator": "4.0.259",
|
|
27
27
|
"@rushstack/ts-command-line": "4.15.1",
|
|
28
|
-
"@rushstack/terminal": "0.5.
|
|
28
|
+
"@rushstack/terminal": "0.5.34"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "heft build --clean",
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { JsonObject } from '@rushstack/node-core-library';
|
|
2
|
-
/**
|
|
3
|
-
* A base class for flag file.
|
|
4
|
-
* @internal
|
|
5
|
-
*/
|
|
6
|
-
export declare class BaseFlag<T extends object = JsonObject> {
|
|
7
|
-
/**
|
|
8
|
-
* Flag file path
|
|
9
|
-
*/
|
|
10
|
-
readonly path: string;
|
|
11
|
-
/**
|
|
12
|
-
* Content of the flag
|
|
13
|
-
*/
|
|
14
|
-
protected _state: T;
|
|
15
|
-
/**
|
|
16
|
-
* Whether the current state is modified
|
|
17
|
-
*/
|
|
18
|
-
protected _isModified: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Creates a new flag file
|
|
21
|
-
* @param folderPath - the folder that this flag is managing
|
|
22
|
-
* @param state - optional, the state that should be managed or compared
|
|
23
|
-
*/
|
|
24
|
-
constructor(folderPath: string, state?: Partial<T>);
|
|
25
|
-
/**
|
|
26
|
-
* Returns true if the file exists and the contents match the current state.
|
|
27
|
-
*/
|
|
28
|
-
isValid(): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Writes the flag file to disk with the current state
|
|
31
|
-
*/
|
|
32
|
-
create(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Merge new data into current state by "merge"
|
|
35
|
-
*/
|
|
36
|
-
mergeFromObject(data: JsonObject): void;
|
|
37
|
-
/**
|
|
38
|
-
* Writes the flag file to disk with the current state if modified
|
|
39
|
-
*/
|
|
40
|
-
saveIfModified(): void;
|
|
41
|
-
/**
|
|
42
|
-
* Removes the flag file
|
|
43
|
-
*/
|
|
44
|
-
clear(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Returns Name of the flag file
|
|
47
|
-
*/
|
|
48
|
-
protected get flagName(): string;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=BaseFlag.d.ts.map
|
package/lib/api/base/BaseFlag.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("api/base/BaseFlag");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/SplitWorkspaceGlobalPnpmfileShim");
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { IPackageJson } from '@rushstack/node-core-library';
|
|
2
|
-
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
3
|
-
/**
|
|
4
|
-
* Loads PNPM's pnpmfile.js configuration, and invokes it to preprocess package.json files,
|
|
5
|
-
* optionally utilizing a pnpmfile shim to inject preferred versions.
|
|
6
|
-
*/
|
|
7
|
-
export declare class SplitWorkspacePnpmfileConfiguration {
|
|
8
|
-
private _context;
|
|
9
|
-
constructor(rushConfiguration: RushConfiguration);
|
|
10
|
-
/**
|
|
11
|
-
* Split workspace use global pnpmfile, because in split workspace, user may set `shared-workspace-lockfile=false`.
|
|
12
|
-
* That means each project owns their individual pnpmfile under project folder. While the global pnpmfile could be
|
|
13
|
-
* under the common/temp-split/ folder and be used by all split workspace projects.
|
|
14
|
-
*/
|
|
15
|
-
static writeCommonTempSplitGlobalPnpmfileAsync(rushConfiguration: RushConfiguration): Promise<void>;
|
|
16
|
-
private static _getSplitWorkspacePnpmfileShimSettings;
|
|
17
|
-
/**
|
|
18
|
-
* Transform a package.json file using the pnpmfile.js hook.
|
|
19
|
-
* @returns the tranformed object, or the original input if pnpmfile.js was not found.
|
|
20
|
-
*/
|
|
21
|
-
transform(packageJson: IPackageJson): IPackageJson;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=SplitWorkspacePnpmfileConfiguration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/SplitWorkspacePnpmfileConfiguration");
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
2
|
-
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
3
|
-
import type { IEvaluateSelectorOptions, ISelectorParser } from './ISelectorParser';
|
|
4
|
-
export declare class SplitWorkspaceProjectSelectorParser implements ISelectorParser<RushConfigurationProject> {
|
|
5
|
-
private readonly _rushConfiguration;
|
|
6
|
-
constructor(rushConfiguration: RushConfiguration);
|
|
7
|
-
evaluateSelectorAsync({ unscopedSelector, terminal, parameterName }: IEvaluateSelectorOptions): Promise<Iterable<RushConfigurationProject>>;
|
|
8
|
-
getCompletions(): Iterable<string>;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=SplitWorkspaceProjectSelectorParser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/selectors/SplitWorkspaceProjectSelectorParser");
|