@rushstack/rush-sdk 5.117.0 → 5.117.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.
@@ -11,6 +11,7 @@ import { AsyncSeriesHook } from 'tapable';
11
11
  import { AsyncSeriesWaterfallHook } from 'tapable';
12
12
  import type { CollatedWriter } from '@rushstack/stream-collator';
13
13
  import type { CommandLineParameter } from '@rushstack/ts-command-line';
14
+ import { CommandLineParameterKind } from '@rushstack/ts-command-line';
14
15
  import { HookMap } from 'tapable';
15
16
  import { IPackageJson } from '@rushstack/node-core-library';
16
17
  import { ITerminal } from '@rushstack/terminal';
@@ -916,6 +917,20 @@ declare interface IApprovedPackagesPolicyJson {
916
917
  declare interface IBaseBuildCacheJson {
917
918
  buildCacheEnabled: boolean;
918
919
  cacheProvider: string;
920
+ /**
921
+ * Used to specify the cache entry ID format. If this property is set, it must
922
+ * contain a `[hash]` token. It may also contain one of the following tokens:
923
+ * - `[projectName]`
924
+ * - `[projectName:normalize]`
925
+ * - `[phaseName]`
926
+ * - `[phaseName:normalize]`
927
+ * - `[phaseName:trimPrefix]`
928
+ * - `[os]`
929
+ * - `[arch]`
930
+ * @privateRemarks
931
+ * NOTE: If you update this comment, make sure to update build-cache.json in the "rush init" template.
932
+ * The token parser is in CachEntryId.ts
933
+ */
919
934
  cacheEntryNamePattern?: string;
920
935
  }
921
936
 
@@ -1971,6 +1986,57 @@ export declare interface IRushCommand {
1971
1986
  readonly actionName: string;
1972
1987
  }
1973
1988
 
1989
+ /**
1990
+ * The full spec of an available Rush command line action
1991
+ *
1992
+ * @beta
1993
+ */
1994
+ export declare interface IRushCommandLineAction {
1995
+ actionName: string;
1996
+ parameters: IRushCommandLineParameter[];
1997
+ }
1998
+
1999
+ /**
2000
+ * Information about the available parameters associated with a Rush action
2001
+ *
2002
+ * @beta
2003
+ */
2004
+ export declare interface IRushCommandLineParameter {
2005
+ /**
2006
+ * The corresponding string representation of CliParameterKind
2007
+ */
2008
+ readonly kind: keyof typeof CommandLineParameterKind;
2009
+ /**
2010
+ * The long name of the flag including double dashes, e.g. "--do-something"
2011
+ */
2012
+ readonly longName: string;
2013
+ /**
2014
+ * An optional short name for the flag including the dash, e.g. "-d"
2015
+ */
2016
+ readonly shortName?: string;
2017
+ /**
2018
+ * Documentation for the parameter that will be shown when invoking the tool with "--help"
2019
+ */
2020
+ readonly description: string;
2021
+ /**
2022
+ * If true, then an error occurs if the parameter was not included on the command-line.
2023
+ */
2024
+ readonly required?: boolean;
2025
+ /**
2026
+ * If provided, this parameter can also be provided by an environment variable with the specified name.
2027
+ */
2028
+ readonly environmentVariable?: string;
2029
+ }
2030
+
2031
+ /**
2032
+ * The full spec of a Rush CLI
2033
+ *
2034
+ * @beta
2035
+ */
2036
+ export declare interface IRushCommandLineSpec {
2037
+ actions: IRushCommandLineAction[];
2038
+ }
2039
+
1974
2040
  /**
1975
2041
  * This represents the JSON data structure for the "rush.json" configuration file.
1976
2042
  * See rush.schema.json for documentation.
@@ -3305,6 +3371,15 @@ export declare class Rush {
3305
3371
  private static _normalizeLaunchOptions;
3306
3372
  }
3307
3373
 
3374
+ /**
3375
+ * Information about the available CLI commands
3376
+ *
3377
+ * @beta
3378
+ */
3379
+ export declare class RushCommandLine {
3380
+ static getCliSpec(rushJsonFolder: string): IRushCommandLineSpec;
3381
+ }
3382
+
3308
3383
  /**
3309
3384
  * This represents the Rush configuration for a repository, based on the "rush.json"
3310
3385
  * configuration file.
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.41.0"
8
+ "packageVersion": "7.42.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -11,6 +11,20 @@ import type { RushSession } from '../pluginFramework/RushSession';
11
11
  export interface IBaseBuildCacheJson {
12
12
  buildCacheEnabled: boolean;
13
13
  cacheProvider: string;
14
+ /**
15
+ * Used to specify the cache entry ID format. If this property is set, it must
16
+ * contain a `[hash]` token. It may also contain one of the following tokens:
17
+ * - `[projectName]`
18
+ * - `[projectName:normalize]`
19
+ * - `[phaseName]`
20
+ * - `[phaseName:normalize]`
21
+ * - `[phaseName:trimPrefix]`
22
+ * - `[os]`
23
+ * - `[arch]`
24
+ * @privateRemarks
25
+ * NOTE: If you update this comment, make sure to update build-cache.json in the "rush init" template.
26
+ * The token parser is in CachEntryId.ts
27
+ */
14
28
  cacheEntryNamePattern?: string;
15
29
  }
16
30
  /**
@@ -0,0 +1,58 @@
1
+ import { CommandLineParameterKind } from '@rushstack/ts-command-line';
2
+ /**
3
+ * Information about the available parameters associated with a Rush action
4
+ *
5
+ * @beta
6
+ */
7
+ export interface IRushCommandLineParameter {
8
+ /**
9
+ * The corresponding string representation of CliParameterKind
10
+ */
11
+ readonly kind: keyof typeof CommandLineParameterKind;
12
+ /**
13
+ * The long name of the flag including double dashes, e.g. "--do-something"
14
+ */
15
+ readonly longName: string;
16
+ /**
17
+ * An optional short name for the flag including the dash, e.g. "-d"
18
+ */
19
+ readonly shortName?: string;
20
+ /**
21
+ * Documentation for the parameter that will be shown when invoking the tool with "--help"
22
+ */
23
+ readonly description: string;
24
+ /**
25
+ * If true, then an error occurs if the parameter was not included on the command-line.
26
+ */
27
+ readonly required?: boolean;
28
+ /**
29
+ * If provided, this parameter can also be provided by an environment variable with the specified name.
30
+ */
31
+ readonly environmentVariable?: string;
32
+ }
33
+ /**
34
+ * The full spec of an available Rush command line action
35
+ *
36
+ * @beta
37
+ */
38
+ export interface IRushCommandLineAction {
39
+ actionName: string;
40
+ parameters: IRushCommandLineParameter[];
41
+ }
42
+ /**
43
+ * The full spec of a Rush CLI
44
+ *
45
+ * @beta
46
+ */
47
+ export interface IRushCommandLineSpec {
48
+ actions: IRushCommandLineAction[];
49
+ }
50
+ /**
51
+ * Information about the available CLI commands
52
+ *
53
+ * @beta
54
+ */
55
+ export declare class RushCommandLine {
56
+ static getCliSpec(rushJsonFolder: string): IRushCommandLineSpec;
57
+ }
58
+ //# sourceMappingURL=RushCommandLine.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../lib-shim/index")._rushSdk_loadInternalModule("api/RushCommandLine");
package/lib/index.d.ts CHANGED
@@ -55,4 +55,5 @@ export type { ITelemetryData, ITelemetryMachineInfo, ITelemetryOperationResult }
55
55
  export { IStopwatchResult } from './utilities/Stopwatch';
56
56
  export { OperationStateFile as _OperationStateFile, IOperationStateFileOptions as _IOperationStateFileOptions, IOperationStateJson as _IOperationStateJson } from './logic/operations/OperationStateFile';
57
57
  export { OperationMetadataManager as _OperationMetadataManager, IOperationMetadataManagerOptions as _IOperationMetadataManagerOptions, IOperationMetaData as _IOperationMetadata } from './logic/operations/OperationMetadataManager';
58
+ export { RushCommandLine, type IRushCommandLineSpec, type IRushCommandLineParameter, type IRushCommandLineAction } from './api/RushCommandLine';
58
59
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.117.0",
3
+ "version": "5.117.1",
4
4
  "description": "An API for interacting with the Rush engine",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,17 +25,17 @@
25
25
  "dependencies": {
26
26
  "@types/node-fetch": "2.6.2",
27
27
  "tapable": "2.2.1",
28
- "@rushstack/node-core-library": "4.0.2",
29
- "@rushstack/terminal": "0.10.0"
28
+ "@rushstack/terminal": "0.10.0",
29
+ "@rushstack/node-core-library": "4.0.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/semver": "7.5.0",
33
33
  "@types/webpack-env": "1.18.0",
34
- "@rushstack/heft": "0.65.5",
34
+ "@microsoft/rush-lib": "5.117.1",
35
+ "@rushstack/heft": "0.65.7",
35
36
  "local-node-rig": "1.0.0",
36
- "@microsoft/rush-lib": "5.117.0",
37
- "@rushstack/stream-collator": "4.1.32",
38
- "@rushstack/ts-command-line": "4.17.4"
37
+ "@rushstack/stream-collator": "4.1.34",
38
+ "@rushstack/ts-command-line": "4.18.0"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "heft build --clean",