@rushstack/rush-sdk 5.75.0-pr3481.2 → 5.76.1

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.
Files changed (2) hide show
  1. package/dist/rush-lib.d.ts +27 -173
  2. package/package.json +9 -9
@@ -136,59 +136,6 @@ export declare class ApprovedPackagesPolicy {
136
136
  get nonbrowserApprovedPackages(): ApprovedPackagesConfiguration;
137
137
  }
138
138
 
139
- /**
140
- * A base class for flag file.
141
- * @internal
142
- */
143
- export declare class _BaseFlag<T extends object = JsonObject> {
144
- /**
145
- * Flag file path
146
- */
147
- protected _path: string;
148
- /**
149
- * Content of the flag
150
- */
151
- protected _state: T;
152
- /**
153
- * Whether the current state is modified
154
- */
155
- protected _isModified: boolean;
156
- /**
157
- * Creates a new flag file
158
- * @param folderPath - the folder that this flag is managing
159
- * @param state - optional, the state that should be managed or compared
160
- */
161
- constructor(folderPath: string, state?: Partial<T>);
162
- /**
163
- * Returns true if the file exists and the contents match the current state.
164
- */
165
- isValid(): boolean;
166
- /**
167
- * Writes the flag file to disk with the current state
168
- */
169
- create(): void;
170
- /**
171
- * Merge new data into current state by lodash "merge"
172
- */
173
- mergeFromObject(data: JsonObject): void;
174
- /**
175
- * Writes the flag file to disk with the current state if modified
176
- */
177
- saveIfModified(): void;
178
- /**
179
- * Removes the flag file
180
- */
181
- clear(): void;
182
- /**
183
- * Returns the full path to the flag file
184
- */
185
- get path(): string;
186
- /**
187
- * Returns the name of the flag file
188
- */
189
- protected get flagName(): string;
190
- }
191
-
192
139
  /**
193
140
  * Use this class to load and save the "common/config/rush/build-cache.json" config file.
194
141
  * This file provides configuration options for cached project build output.
@@ -922,11 +869,6 @@ export declare interface IExperimentsJson {
922
869
  * in common/config/rush/command-line.json.
923
870
  */
924
871
  phasedCommands?: boolean;
925
- /**
926
- * If true, rush install or rush update implicitly specify --ignore-scripts during pnpm install,
927
- * and run install lifecycle scripts by pnpm rebuild --pending after pnpm install successfully.
928
- */
929
- deferredInstallationScripts?: boolean;
930
872
  }
931
873
 
932
874
  /**
@@ -993,50 +935,6 @@ declare interface IIndividualVersionJson extends IVersionPolicyJson {
993
935
  lockedMajor?: number;
994
936
  }
995
937
 
996
- /**
997
- * This represents the JSON data structure for the "last-install.flag" file.
998
- * @internal
999
- */
1000
- export declare interface _ILastInstallFlagJson {
1001
- /**
1002
- * Current node version
1003
- */
1004
- node: string;
1005
- /**
1006
- * Current package manager name
1007
- */
1008
- packageManager: PackageManagerName;
1009
- /**
1010
- * Current package manager version
1011
- */
1012
- packageManagerVersion: string;
1013
- /**
1014
- * Current rush json folder
1015
- */
1016
- rushJsonFolder: string;
1017
- /**
1018
- * The content of package.json, used in the flag file of autoinstaller
1019
- */
1020
- packageJson?: IPackageJson;
1021
- /**
1022
- * Same with pnpmOptions.pnpmStorePath in rush.json
1023
- */
1024
- storePath?: string;
1025
- /**
1026
- * True when "useWorkspaces" is true in rush.json
1027
- */
1028
- workspaces?: true;
1029
- /**
1030
- * True when user explicitly specify "--ignore-scripts" CLI parameter or deferredInstallationScripts
1031
- */
1032
- ignoreScripts?: true;
1033
- /**
1034
- * When specified, it is a list of selected projects during partial install
1035
- * It is undefined when full install
1036
- */
1037
- selectedProjectNames?: string[];
1038
- }
1039
-
1040
938
  /**
1041
939
  * Options to pass to the rush "launch" functions.
1042
940
  *
@@ -1402,7 +1300,6 @@ declare interface IRushConfigurationProjectJson {
1402
1300
  skipRushCheck?: boolean;
1403
1301
  publishFolder?: string;
1404
1302
  tags?: string[];
1405
- splitWorkspace?: boolean;
1406
1303
  }
1407
1304
 
1408
1305
  /**
@@ -1427,16 +1324,6 @@ declare interface IRushConfigurationProjectOptions {
1427
1324
  allowedProjectTags: Set<string> | undefined;
1428
1325
  }
1429
1326
 
1430
- /**
1431
- * The filter parameters to search from all projects.
1432
- */
1433
- declare interface IRushConfigurationProjectsFilter {
1434
- /**
1435
- * If true, filter out projects that specify splitWorkspace as true.
1436
- */
1437
- splitWorkspace: boolean;
1438
- }
1439
-
1440
1327
  /**
1441
1328
  * Part of IRushConfigurationJson.
1442
1329
  */
@@ -1492,8 +1379,8 @@ declare interface IRushRepositoryJsonMultipleUrls extends IRushRepositoryJsonBas
1492
1379
  /**
1493
1380
  * Remote url(s) of the repository. If a value is provided, \"rush change\" will
1494
1381
  * use one of these to find the right remote to compare against. Specifying multiple URLs
1495
- * is useful if a GitHub repository is renamed or for "<projectName>.visualstudio.com" vs
1496
- * "dev.azure.com/<projectName>" URLs.
1382
+ * is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
1383
+ * `dev.azure.com/<projectName>` URLs.
1497
1384
  */
1498
1385
  urls?: string[];
1499
1386
  }
@@ -1634,9 +1521,16 @@ export declare interface _IYarnOptionsJson extends IPackageManagerOptionsJsonBas
1634
1521
  * it can invalidate the last install.
1635
1522
  * @internal
1636
1523
  */
1637
- export declare class _LastInstallFlag extends _BaseFlag<_ILastInstallFlagJson> {
1524
+ export declare class _LastInstallFlag {
1525
+ private _path;
1526
+ private _state;
1527
+ /**
1528
+ * Creates a new LastInstall flag
1529
+ * @param folderPath - the folder that this flag is managing
1530
+ * @param state - optional, the state that should be managed or compared
1531
+ */
1532
+ constructor(folderPath: string, state?: JsonObject);
1638
1533
  /**
1639
- * @override
1640
1534
  * Returns true if the file exists and the contents match the current state.
1641
1535
  */
1642
1536
  isValid(): boolean;
@@ -1648,6 +1542,18 @@ export declare class _LastInstallFlag extends _BaseFlag<_ILastInstallFlagJson> {
1648
1542
  */
1649
1543
  checkValidAndReportStoreIssues(): boolean;
1650
1544
  private _isValid;
1545
+ /**
1546
+ * Writes the flag file to disk with the current state
1547
+ */
1548
+ create(): void;
1549
+ /**
1550
+ * Removes the flag file
1551
+ */
1552
+ clear(): void;
1553
+ /**
1554
+ * Returns the full path to the flag file
1555
+ */
1556
+ get path(): string;
1651
1557
  /**
1652
1558
  * Returns the name of the flag file
1653
1559
  */
@@ -2300,7 +2206,6 @@ export declare class RushConfiguration {
2300
2206
  private _changesFolder;
2301
2207
  private _commonFolder;
2302
2208
  private _commonTempFolder;
2303
- private _commonTempSplitFolder;
2304
2209
  private _commonScriptsFolder;
2305
2210
  private _commonRushConfigFolder;
2306
2211
  private _packageManager;
@@ -2309,10 +2214,8 @@ export declare class RushConfiguration {
2309
2214
  private _npmTmpFolder;
2310
2215
  private _yarnCacheFolder;
2311
2216
  private _shrinkwrapFilename;
2312
- private _splitWorkspaceShrinkwrapFilename;
2313
2217
  private _tempShrinkwrapFilename;
2314
2218
  private _tempShrinkwrapPreinstallFilename;
2315
- private _tempSplitWorkspaceShrinkwrapFilename;
2316
2219
  private _currentVariantJsonFilename;
2317
2220
  private _packageManagerToolVersion;
2318
2221
  private _packageManagerToolFilename;
@@ -2343,8 +2246,6 @@ export declare class RushConfiguration {
2343
2246
  private _projects;
2344
2247
  private _projectsByName;
2345
2248
  private _projectsByTag;
2346
- private _filteredProjectsCache;
2347
- private _hasSplitWorkspaceProject;
2348
2249
  private _commonVersionsConfigurationsByVariant;
2349
2250
  private _versionPolicyConfiguration;
2350
2251
  private _versionPolicyConfigurationFilePath;
@@ -2437,12 +2338,6 @@ export declare class RushConfiguration {
2437
2338
  * Example: `C:\MyRepo\common\temp`
2438
2339
  */
2439
2340
  get commonTempFolder(): string;
2440
- /**
2441
- * The folder where temporary files will be stored. This is always a subfolder called "temp"
2442
- * under the common folder.
2443
- * Example: `C:\MyRepo\common\temp-split`
2444
- */
2445
- get commonTempSplitFolder(): string;
2446
2341
  /**
2447
2342
  * The folder where automation scripts are stored. This is always a subfolder called "scripts"
2448
2343
  * under the common folder.
@@ -2500,7 +2395,6 @@ export declare class RushConfiguration {
2500
2395
  * Example: `npm-shrinkwrap.json` or `pnpm-lock.yaml`
2501
2396
  */
2502
2397
  get shrinkwrapFilename(): string;
2503
- get splitWorkspaceShrinkwrapFilename(): string;
2504
2398
  /**
2505
2399
  * The full path of the temporary shrinkwrap file that is used during "rush install".
2506
2400
  * This file may get rewritten by the package manager during installation.
@@ -2509,14 +2403,6 @@ export declare class RushConfiguration {
2509
2403
  * Example: `C:\MyRepo\common\temp\npm-shrinkwrap.json` or `C:\MyRepo\common\temp\pnpm-lock.yaml`
2510
2404
  */
2511
2405
  get tempShrinkwrapFilename(): string;
2512
- /**
2513
- * The full path of the temporary shrinkwrap file for split workspace that is used during
2514
- * "rush install". This file may get rewritten by the package manager during installation.
2515
- * @remarks
2516
- * This property merely reports the filename; the file itself may not actually exist.
2517
- * Example: `C:\MyRepo\common\temp-split\pnpm-lock.yaml`
2518
- */
2519
- get tempSplitWorkspaceShrinkwrapFilename(): string;
2520
2406
  /**
2521
2407
  * The full path of a backup copy of tempShrinkwrapFilename. This backup copy is made
2522
2408
  * before installation begins, and can be compared to determine how the package manager
@@ -2566,14 +2452,14 @@ export declare class RushConfiguration {
2566
2452
  * The minimum allowable folder depth for the projectFolder field in the rush.json file.
2567
2453
  * This setting provides a way for repository maintainers to discourage nesting of project folders
2568
2454
  * that makes the directory tree more difficult to navigate. The default value is 2,
2569
- * which implements a standard 2-level hierarchy of <categoryFolder>/<projectFolder>/package.json.
2455
+ * which implements a standard 2-level hierarchy of `<categoryFolder>/<projectFolder>/package.json`.
2570
2456
  */
2571
2457
  get projectFolderMinDepth(): number;
2572
2458
  /**
2573
2459
  * The maximum allowable folder depth for the projectFolder field in the rush.json file.
2574
2460
  * This setting provides a way for repository maintainers to discourage nesting of project folders
2575
2461
  * that makes the directory tree more difficult to navigate. The default value is 2,
2576
- * which implements on a standard convention of <categoryFolder>/<projectFolder>/package.json.
2462
+ * which implements on a standard convention of `<categoryFolder>/<projectFolder>/package.json`.
2577
2463
  */
2578
2464
  get projectFolderMaxDepth(): number;
2579
2465
  /**
@@ -2630,8 +2516,8 @@ export declare class RushConfiguration {
2630
2516
  /**
2631
2517
  * Remote URL(s) of the repository. If a value is provided, \"rush change\" will
2632
2518
  * use one of these to find the right remote to compare against. Specifying multiple URLs
2633
- * is useful if a GitHub repository is renamed or for "<projectName>.visualstudio.com" vs
2634
- * "dev.azure.com/<projectName>" URLs.
2519
+ * is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
2520
+ * `dev.azure.com/<projectName>` URLs.
2635
2521
  */
2636
2522
  get repositoryUrls(): string[];
2637
2523
  /**
@@ -2676,11 +2562,6 @@ export declare class RushConfiguration {
2676
2562
  * @beta
2677
2563
  */
2678
2564
  get projectsByTag(): ReadonlyMap<string, ReadonlySet<RushConfigurationProject>>;
2679
- /**
2680
- * Search for projects according to filter
2681
- * @beta
2682
- */
2683
- getFilteredProjects(filter: IRushConfigurationProjectsFilter): RushConfigurationProject[];
2684
2565
  /**
2685
2566
  * {@inheritDoc NpmOptionsConfiguration}
2686
2567
  */
@@ -2727,10 +2608,6 @@ export declare class RushConfiguration {
2727
2608
  * The rush hooks. It allows customized scripts to run at the specified point.
2728
2609
  */
2729
2610
  get packageNameParser(): PackageNameParser;
2730
- /**
2731
- * Is there any split workspace project.
2732
- */
2733
- get hasSplitWorkspaceProject(): boolean;
2734
2611
  /**
2735
2612
  * Gets the path to the common-versions.json config file for a specific variant.
2736
2613
  * @param variant - The name of the current variant in use by the active command.
@@ -2763,11 +2640,6 @@ export declare class RushConfiguration {
2763
2640
  * @param variant - The name of the current variant in use by the active command.
2764
2641
  */
2765
2642
  getCommittedShrinkwrapFilename(variant?: string | undefined): string;
2766
- /**
2767
- * Gets the committed shrinkwrap file name for split workspace.
2768
- * @param variant - The name of the current variant in use by the active command.
2769
- */
2770
- getCommittedSplitWorkspaceShrinkwrapFilename(): string;
2771
2643
  /**
2772
2644
  * Gets the absolute path for "pnpmfile.js" for a specific variant.
2773
2645
  * @param variant - The name of the current variant in use by the active command.
@@ -2822,12 +2694,6 @@ export declare class RushConfiguration {
2822
2694
  */
2823
2695
  tryGetProjectForPath(currentFolderPath: string): RushConfigurationProject | undefined;
2824
2696
  private _getVariantConfigFolderPath;
2825
- /**
2826
- * Split workspace can only works on PNPM with "useWorkspaces" enabled.
2827
- * The workspace project can NOT depend on a split workspace project.
2828
- * The split workspace project CAN depend on a workspace project.
2829
- */
2830
- private _validateSplitWorkspaceRelationships;
2831
2697
  }
2832
2698
 
2833
2699
  /**
@@ -2853,7 +2719,6 @@ export declare class RushConfigurationProject {
2853
2719
  private readonly _publishFolder;
2854
2720
  private readonly _rushConfiguration;
2855
2721
  private readonly _tags;
2856
- private readonly _splitWorkspace;
2857
2722
  private _versionPolicy;
2858
2723
  private _dependencyProjects;
2859
2724
  private _consumingProjects;
@@ -3015,11 +2880,6 @@ export declare class RushConfigurationProject {
3015
2880
  * @beta
3016
2881
  */
3017
2882
  get tags(): ReadonlySet<string>;
3018
- /**
3019
- * Whether this project is a split workspace project.
3020
- * @beta
3021
- */
3022
- get splitWorkspace(): boolean;
3023
2883
  }
3024
2884
 
3025
2885
  /**
@@ -3067,12 +2927,6 @@ export declare class RushConstants {
3067
2927
  * Example: `C:\MyRepo\common\temp`
3068
2928
  */
3069
2929
  static readonly rushTempFolderName: string;
3070
- /**
3071
- * The folder name ("temp-split") under the common folder, or under the .rush folder in each project's directory where
3072
- * temporary files will be stored.
3073
- * Example: `C:\MyRepo\common\temp-split`
3074
- */
3075
- static readonly rushTempSplitFolderName: string;
3076
2930
  /**
3077
2931
  * The folder name ("projects") where temporary projects will be stored.
3078
2932
  * Example: `C:\MyRepo\common\temp\projects`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.75.0-pr3481.2",
3
+ "version": "5.76.1",
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.49.0",
15
+ "@rushstack/node-core-library": "3.50.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.75.0-pr3481.2",
21
- "@rushstack/eslint-config": "2.6.2",
22
- "@rushstack/heft": "0.46.4",
23
- "@rushstack/heft-node-rig": "1.9.20",
24
- "@rushstack/stream-collator": "4.0.189",
25
- "@rushstack/ts-command-line": "4.12.1",
26
- "@rushstack/terminal": "0.3.58",
20
+ "@microsoft/rush-lib": "5.76.1",
21
+ "@rushstack/eslint-config": "3.0.0",
22
+ "@rushstack/heft": "0.47.0",
23
+ "@rushstack/heft-node-rig": "1.10.0",
24
+ "@rushstack/stream-collator": "4.0.193",
25
+ "@rushstack/ts-command-line": "4.12.2",
26
+ "@rushstack/terminal": "0.3.62",
27
27
  "@types/heft-jest": "1.0.1",
28
28
  "@types/semver": "7.3.5",
29
29
  "@types/webpack-env": "1.13.0"