@rushstack/rush-sdk 5.57.0 → 5.59.0-rc.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 +54 -23
  2. package/package.json +6 -6
@@ -721,12 +721,10 @@ export declare interface IExperimentsJson {
721
721
  */
722
722
  buildCacheWithAllowWarningsInSuccessfulBuild?: boolean;
723
723
  /**
724
- * If true, the multi-phase commands feature is enabled. To use this feature, create a "phased" command
724
+ * If true, the phased commands feature is enabled. To use this feature, create a "phased" command
725
725
  * in common/config/rush/command-line.json.
726
- *
727
- * THIS FEATURE IS NOT READY FOR USAGE YET. SEE GITHUB #2300 FOR STATUS.
728
726
  */
729
- _multiPhaseCommands?: boolean;
727
+ phasedCommands?: boolean;
730
728
  }
731
729
 
732
730
  /**
@@ -736,6 +734,16 @@ export declare interface IGetChangedProjectsOptions {
736
734
  targetBranchName: string;
737
735
  terminal: ITerminal;
738
736
  shouldFetch?: boolean;
737
+ /**
738
+ * If set to `true`, consider a project's external dependency installation layout as defined in the
739
+ * package manager lockfile when determining if it has changed.
740
+ */
741
+ includeExternalDependencies: boolean;
742
+ /**
743
+ * If set to `true` apply the `incrementalBuildIgnoredGlobs` property in a project's `rush-project.json`
744
+ * and exclude matched files from change detection.
745
+ */
746
+ enableFiltering: boolean;
739
747
  }
740
748
 
741
749
  declare interface IIndividualVersionJson extends IVersionPolicyJson {
@@ -948,14 +956,12 @@ declare interface IRushPluginsConfigurationJson {
948
956
  plugins: IRushPluginConfiguration[];
949
957
  }
950
958
 
959
+ declare type IRushRepositoryJson = IRushRepositoryJsonSingleUrl | IRushRepositoryJsonMultipleUrls;
960
+
951
961
  /**
952
962
  * Part of IRushConfigurationJson.
953
963
  */
954
- declare interface IRushRepositoryJson {
955
- /**
956
- * The remote url of the repository. This helps "rush change" find the right remote to compare against.
957
- */
958
- url?: string;
964
+ declare interface IRushRepositoryJsonBase {
959
965
  /**
960
966
  * The default branch name. This tells "rush change" which remote branch to compare against.
961
967
  */
@@ -967,6 +973,26 @@ declare interface IRushRepositoryJson {
967
973
  defaultRemote?: string;
968
974
  }
969
975
 
976
+ declare interface IRushRepositoryJsonMultipleUrls extends IRushRepositoryJsonBase {
977
+ /**
978
+ * Remote url(s) of the repository. If a value is provided, \"rush change\" will
979
+ * use one of these to find the right remote to compare against. Specifying multiple URLs
980
+ * is useful if a GitHub repository is renamed or for "<projectName>.visualstudio.com" vs
981
+ * "dev.azure.com/<projectName>" URLs.
982
+ */
983
+ urls?: string[];
984
+ }
985
+
986
+ declare interface IRushRepositoryJsonSingleUrl extends IRushRepositoryJsonBase {
987
+ /**
988
+ * The remote url of the repository. If a value is provided,
989
+ * \"rush change\" will use it to find the right remote to compare against.
990
+ *
991
+ * @deprecated Use "urls" instead.
992
+ */
993
+ url?: string;
994
+ }
995
+
970
996
  /**
971
997
  * @beta
972
998
  */
@@ -1429,9 +1455,9 @@ export declare class ProjectChangeAnalyzer {
1429
1455
  * undefined === data isn't available (i.e. - git isn't present)
1430
1456
  */
1431
1457
  private _data;
1432
- private _filteredData;
1433
- private _projectStateCache;
1434
- private _rushConfiguration;
1458
+ private readonly _filteredData;
1459
+ private readonly _projectStateCache;
1460
+ private readonly _rushConfiguration;
1435
1461
  private readonly _git;
1436
1462
  constructor(rushConfiguration: RushConfiguration);
1437
1463
  /**
@@ -1459,16 +1485,10 @@ export declare class ProjectChangeAnalyzer {
1459
1485
  _filterProjectDataAsync<T>(project: RushConfigurationProject, unfilteredProjectData: Map<string, T>, rootDir: string, terminal: ITerminal): Promise<Map<string, T>>;
1460
1486
  /**
1461
1487
  * Gets a list of projects that have changed in the current state of the repo
1462
- * when compared to the specified branch.
1463
- */
1464
- getProjectsWithChangesAsync(options: IGetChangedProjectsOptions): Promise<Set<RushConfigurationProject>>;
1465
- /**
1466
- * Gets a list of projects that have changed in the current state of the repo
1467
- * when compared to the specified branch, taking the shrinkwrap and settings in
1488
+ * when compared to the specified branch, optionally taking the shrinkwrap and settings in
1468
1489
  * the rush-project.json file into consideration.
1469
1490
  */
1470
- getProjectsImpactedByDiffAsync(options: IGetChangedProjectsOptions): Promise<Set<RushConfigurationProject>>;
1471
- private _getChangedProjectsInternalAsync;
1491
+ getChangedProjectsAsync(options: IGetChangedProjectsOptions): Promise<Set<RushConfigurationProject>>;
1472
1492
  private _getData;
1473
1493
  private _getIgnoreMatcherForProjectAsync;
1474
1494
  private _getRepoDeps;
@@ -1620,7 +1640,7 @@ export declare class RushConfiguration {
1620
1640
  private _gitChangeLogUpdateCommitMessage;
1621
1641
  private _gitTagSeparator;
1622
1642
  private _hotfixChangeEnabled;
1623
- private _repositoryUrl;
1643
+ private _repositoryUrls;
1624
1644
  private _repositoryDefaultBranch;
1625
1645
  private _repositoryDefaultRemote;
1626
1646
  private _npmOptions;
@@ -1898,9 +1918,12 @@ export declare class RushConfiguration {
1898
1918
  */
1899
1919
  get hotfixChangeEnabled(): boolean;
1900
1920
  /**
1901
- * The remote url of the repository. This helps "rush change" find the right remote to compare against.
1921
+ * Remote URL(s) of the repository. If a value is provided, \"rush change\" will
1922
+ * use one of these to find the right remote to compare against. Specifying multiple URLs
1923
+ * is useful if a GitHub repository is renamed or for "<projectName>.visualstudio.com" vs
1924
+ * "dev.azure.com/<projectName>" URLs.
1902
1925
  */
1903
- get repositoryUrl(): string | undefined;
1926
+ get repositoryUrls(): string[];
1904
1927
  /**
1905
1928
  * The default branch name. This tells "rush change" which remote branch to compare against.
1906
1929
  */
@@ -2450,6 +2473,14 @@ export declare class RushConstants {
2450
2473
  * The name of the per-user Rush configuration data folder.
2451
2474
  */
2452
2475
  static readonly rushUserConfigurationFolderName: string;
2476
+ /**
2477
+ * The name of the project `rush-logs` folder.
2478
+ */
2479
+ static readonly rushLogsFolderName: string;
2480
+ /**
2481
+ * The expected prefix for phase names in "common/config/rush/command-line.json"
2482
+ */
2483
+ static readonly phaseNamePrefix: '_phase:';
2453
2484
  }
2454
2485
 
2455
2486
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.57.0",
3
+ "version": "5.59.0-rc.1",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,15 +12,15 @@
12
12
  "typings": "dist/rush-lib.d.ts",
13
13
  "license": "MIT",
14
14
  "dependencies": {
15
- "@rushstack/node-core-library": "3.43.2",
15
+ "@rushstack/node-core-library": "3.44.3",
16
16
  "@types/node-fetch": "1.6.9",
17
17
  "tapable": "2.2.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@microsoft/rush-lib": "5.57.0",
21
- "@rushstack/eslint-config": "2.4.5",
22
- "@rushstack/heft": "0.42.3",
23
- "@rushstack/heft-node-rig": "1.2.32",
20
+ "@microsoft/rush-lib": "5.59.0-rc.1",
21
+ "@rushstack/eslint-config": "2.5.1",
22
+ "@rushstack/heft": "0.44.1",
23
+ "@rushstack/heft-node-rig": "1.5.1",
24
24
  "@types/heft-jest": "1.0.1",
25
25
  "@types/node": "12.20.24",
26
26
  "@types/semver": "7.3.5"