@rushstack/rush-sdk 5.163.0 → 5.164.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.
@@ -2277,6 +2277,10 @@ export declare interface _IPnpmOptionsJson extends IPackageManagerOptionsJsonBas
2277
2277
  * {@inheritDoc PnpmOptionsConfiguration.pnpmLockfilePolicies}
2278
2278
  */
2279
2279
  pnpmLockfilePolicies?: IPnpmLockfilePolicies;
2280
+ /**
2281
+ * {@inheritDoc PnpmOptionsConfiguration.globalCatalogs}
2282
+ */
2283
+ globalCatalogs?: Record<string, Record<string, string>>;
2280
2284
  }
2281
2285
 
2282
2286
  /**
@@ -3543,6 +3547,15 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
3543
3547
  * The default value is false.
3544
3548
  */
3545
3549
  readonly alwaysFullInstall: boolean | undefined;
3550
+ /**
3551
+ * The `globalCatalogs` setting provides named catalogs for organizing dependency versions.
3552
+ * Each catalog can be referenced using the `catalog:catalogName` protocol in package.json files
3553
+ * (e.g., `catalog:react18`). The settings are written to the `catalogs` field of the
3554
+ * `pnpm-workspace.yaml` file that is generated by Rush during installation.
3555
+ *
3556
+ * PNPM documentation: https://pnpm.io/catalogs
3557
+ */
3558
+ readonly globalCatalogs: Record<string, Record<string, string>> | undefined;
3546
3559
  /**
3547
3560
  * (GENERATED BY RUSH-PNPM PATCH-COMMIT) When modifying this property, make sure you know what you are doing.
3548
3561
  *
@@ -3624,6 +3637,7 @@ export declare class RepoStateFile {
3624
3637
  private _pnpmShrinkwrapHash;
3625
3638
  private _preferredVersionsHash;
3626
3639
  private _packageJsonInjectedDependenciesHash;
3640
+ private _pnpmCatalogsHash;
3627
3641
  private _isValid;
3628
3642
  private _modified;
3629
3643
  /**
@@ -3643,6 +3657,10 @@ export declare class RepoStateFile {
3643
3657
  * The hash of all preferred versions at the end of the last update.
3644
3658
  */
3645
3659
  get packageJsonInjectedDependenciesHash(): string | undefined;
3660
+ /**
3661
+ * The hash of the PNPM catalog definitions at the end of the last update.
3662
+ */
3663
+ get pnpmCatalogsHash(): string | undefined;
3646
3664
  /**
3647
3665
  * If false, the repo-state.json file is not valid and its values cannot be relied upon
3648
3666
  */
@@ -5099,6 +5117,11 @@ export declare class Subspace {
5099
5117
  contains(project: RushConfigurationProject): boolean;
5100
5118
  /** @internal */
5101
5119
  _addProject(project: RushConfigurationProject): void;
5120
+ /**
5121
+ * Computes a hash of the PNPM catalog definitions for this subspace.
5122
+ * Returns undefined if no catalogs are defined.
5123
+ */
5124
+ getPnpmCatalogsHash(): string | undefined;
5102
5125
  /**
5103
5126
  * Returns hash value of injected dependencies in related package.json.
5104
5127
  * @beta
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.55.1"
8
+ "packageVersion": "7.55.2"
9
9
  }
10
10
  ]
11
11
  }
@@ -168,6 +168,11 @@ export declare class Subspace {
168
168
  contains(project: RushConfigurationProject): boolean;
169
169
  /** @internal */
170
170
  _addProject(project: RushConfigurationProject): void;
171
+ /**
172
+ * Computes a hash of the PNPM catalog definitions for this subspace.
173
+ * Returns undefined if no catalogs are defined.
174
+ */
175
+ getPnpmCatalogsHash(): string | undefined;
171
176
  /**
172
177
  * Returns hash value of injected dependencies in related package.json.
173
178
  * @beta
@@ -37,7 +37,11 @@ export declare enum DependencySpecifierType {
37
37
  /**
38
38
  * A package specified using workspace protocol, e.g. "workspace:^1.2.3"
39
39
  */
40
- Workspace = "Workspace"
40
+ Workspace = "Workspace",
41
+ /**
42
+ * A package specified using catalog protocol, e.g. "catalog:" or "catalog:react18"
43
+ */
44
+ Catalog = "Catalog"
41
45
  }
42
46
  /**
43
47
  * An NPM "version specifier" is a string that can appear as a package.json "dependencies" value.
@@ -11,6 +11,7 @@ export declare class RepoStateFile {
11
11
  private _pnpmShrinkwrapHash;
12
12
  private _preferredVersionsHash;
13
13
  private _packageJsonInjectedDependenciesHash;
14
+ private _pnpmCatalogsHash;
14
15
  private _isValid;
15
16
  private _modified;
16
17
  /**
@@ -30,6 +31,10 @@ export declare class RepoStateFile {
30
31
  * The hash of all preferred versions at the end of the last update.
31
32
  */
32
33
  get packageJsonInjectedDependenciesHash(): string | undefined;
34
+ /**
35
+ * The hash of the PNPM catalog definitions at the end of the last update.
36
+ */
37
+ get pnpmCatalogsHash(): string | undefined;
33
38
  /**
34
39
  * If false, the repo-state.json file is not valid and its values cannot be relied upon
35
40
  */
@@ -138,6 +138,10 @@ export interface IPnpmOptionsJson extends IPackageManagerOptionsJsonBase {
138
138
  * {@inheritDoc PnpmOptionsConfiguration.pnpmLockfilePolicies}
139
139
  */
140
140
  pnpmLockfilePolicies?: IPnpmLockfilePolicies;
141
+ /**
142
+ * {@inheritDoc PnpmOptionsConfiguration.globalCatalogs}
143
+ */
144
+ globalCatalogs?: Record<string, Record<string, string>>;
141
145
  }
142
146
  /**
143
147
  * Options that are only used when the PNPM package manager is selected.
@@ -378,6 +382,15 @@ export declare class PnpmOptionsConfiguration extends PackageManagerOptionsConfi
378
382
  * The default value is false.
379
383
  */
380
384
  readonly alwaysFullInstall: boolean | undefined;
385
+ /**
386
+ * The `globalCatalogs` setting provides named catalogs for organizing dependency versions.
387
+ * Each catalog can be referenced using the `catalog:catalogName` protocol in package.json files
388
+ * (e.g., `catalog:react18`). The settings are written to the `catalogs` field of the
389
+ * `pnpm-workspace.yaml` file that is generated by Rush during installation.
390
+ *
391
+ * PNPM documentation: https://pnpm.io/catalogs
392
+ */
393
+ readonly globalCatalogs: Record<string, Record<string, string>> | undefined;
381
394
  /**
382
395
  * (GENERATED BY RUSH-PNPM PATCH-COMMIT) When modifying this property, make sure you know what you are doing.
383
396
  *
@@ -5,11 +5,17 @@ export declare class PnpmWorkspaceFile extends BaseWorkspaceFile {
5
5
  */
6
6
  readonly workspaceFilename: string;
7
7
  private _workspacePackages;
8
+ private _catalogs;
8
9
  /**
9
10
  * The PNPM workspace file is used to specify the location of workspaces relative to the root
10
11
  * of your PNPM install.
11
12
  */
12
13
  constructor(workspaceYamlFilename: string);
14
+ /**
15
+ * Sets the catalog definitions for the workspace.
16
+ * @param catalogs - A map of catalog name to package versions
17
+ */
18
+ setCatalogs(catalogs: Record<string, Record<string, string>> | undefined): void;
13
19
  /** @override */
14
20
  addPackage(packagePath: string): void;
15
21
  /** @override */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.163.0",
3
+ "version": "5.164.0",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,24 +36,24 @@
36
36
  "dependencies": {
37
37
  "@pnpm/lockfile.types": "~1.0.3",
38
38
  "tapable": "2.2.1",
39
- "@rushstack/credential-cache": "0.1.3",
40
- "@rushstack/node-core-library": "5.19.0",
41
- "@rushstack/lookup-by-path": "0.8.8",
42
- "@rushstack/terminal": "0.19.4",
43
- "@rushstack/package-deps-hash": "4.5.6"
39
+ "@rushstack/lookup-by-path": "0.8.9",
40
+ "@rushstack/credential-cache": "0.1.4",
41
+ "@rushstack/package-deps-hash": "4.6.0",
42
+ "@rushstack/terminal": "0.19.5",
43
+ "@rushstack/node-core-library": "5.19.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/semver": "7.5.0",
47
47
  "@types/webpack-env": "1.18.8",
48
48
  "eslint": "~9.37.0",
49
49
  "webpack": "~5.98.0",
50
- "@rushstack/heft": "1.1.6",
51
- "@rushstack/heft-webpack5-plugin": "1.2.6",
52
- "@microsoft/rush-lib": "5.163.0",
53
- "@rushstack/stream-collator": "4.1.118",
54
- "local-node-rig": "1.0.0",
55
- "@rushstack/ts-command-line": "5.1.4",
56
- "@rushstack/webpack-preserve-dynamic-require-plugin": "0.11.117"
50
+ "@rushstack/heft": "1.1.7",
51
+ "@microsoft/rush-lib": "5.164.0",
52
+ "@rushstack/heft-webpack5-plugin": "1.2.7",
53
+ "@rushstack/stream-collator": "4.1.119",
54
+ "@rushstack/webpack-preserve-dynamic-require-plugin": "0.11.118",
55
+ "@rushstack/ts-command-line": "5.1.5",
56
+ "local-node-rig": "1.0.0"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "heft build --clean",