@rushstack/rush-sdk 5.112.2-pr4485.2 → 5.113.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.
Files changed (44) hide show
  1. package/dist/rush-lib.d.ts +250 -104
  2. package/dist/tsdoc-metadata.json +1 -1
  3. package/lib/api/LastInstallFlag.d.ts +2 -1
  4. package/lib/api/LastLinkFlag.d.ts +2 -2
  5. package/lib/api/PackageJsonEditor.d.ts +15 -0
  6. package/lib/api/RushConfiguration.d.ts +56 -74
  7. package/lib/api/RushConfigurationProject.d.ts +14 -8
  8. package/lib/api/RushProjectConfiguration.d.ts +0 -7
  9. package/lib/api/Subspace.d.ts +117 -0
  10. package/lib/api/{SubspaceConfiguration.js → Subspace.js} +1 -1
  11. package/lib/api/SubspacesConfiguration.d.ts +58 -0
  12. package/lib/api/SubspacesConfiguration.js +1 -0
  13. package/lib/api/VersionPolicyConfiguration.d.ts +1 -1
  14. package/lib/api/packageManager/PnpmPackageManager.d.ts +7 -0
  15. package/lib/cli/actions/BaseInstallAction.d.ts +4 -0
  16. package/lib/index.d.ts +3 -2
  17. package/lib/logic/ChangeManager.d.ts +1 -1
  18. package/lib/logic/ChangelogGenerator.d.ts +2 -2
  19. package/lib/logic/PublishUtilities.d.ts +2 -2
  20. package/lib/logic/RepoStateFile.d.ts +5 -3
  21. package/lib/logic/RushConstants.d.ts +8 -0
  22. package/lib/logic/base/BaseInstallManagerTypes.d.ts +5 -0
  23. package/lib/logic/base/BaseShrinkwrapFile.d.ts +3 -2
  24. package/lib/logic/installManager/InstallHelpers.d.ts +2 -1
  25. package/lib/logic/npm/NpmShrinkwrapFile.d.ts +2 -1
  26. package/lib/logic/operations/IOperationRunner.d.ts +10 -5
  27. package/lib/logic/operations/OperationExecutionRecord.d.ts +3 -6
  28. package/lib/logic/operations/ProjectLogWritable.d.ts +1 -0
  29. package/lib/logic/operations/ShellOperationRunner.d.ts +10 -3
  30. package/lib/logic/pnpm/IPnpmfile.d.ts +15 -0
  31. package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +8 -2
  32. package/lib/logic/pnpm/PnpmfileConfiguration.d.ts +3 -2
  33. package/lib/logic/policy/PolicyValidator.d.ts +2 -1
  34. package/lib/logic/policy/ShrinkwrapFilePolicy.d.ts +2 -1
  35. package/lib/logic/selectors/SubspaceSelectorParser.d.ts +10 -0
  36. package/lib/logic/selectors/SubspaceSelectorParser.js +1 -0
  37. package/lib/logic/versionMismatch/VersionMismatchFinder.d.ts +2 -0
  38. package/lib/logic/yarn/YarnShrinkwrapFile.d.ts +2 -1
  39. package/lib/pluginFramework/PhasedCommandHooks.d.ts +0 -6
  40. package/lib/utilities/PathConstants.d.ts +1 -0
  41. package/lib/utilities/Utilities.d.ts +0 -4
  42. package/lib/utilities/npmrcUtilities.d.ts +1 -1
  43. package/package.json +6 -6
  44. package/lib/api/SubspaceConfiguration.d.ts +0 -26
@@ -1,3 +1,4 @@
1
+ import type { Subspace } from '../../api/Subspace';
1
2
  export interface IInstallManagerOptions {
2
3
  /**
3
4
  * Whether the global "--debug" flag was specified.
@@ -74,5 +75,9 @@ export interface IInstallManagerOptions {
74
75
  * Callback to invoke between preparing the common/temp folder and running installation.
75
76
  */
76
77
  beforeInstallAsync?: () => Promise<void>;
78
+ /**
79
+ * The specific subspace to install.
80
+ */
81
+ subspace: Subspace;
77
82
  }
78
83
  //# sourceMappingURL=BaseInstallManagerTypes.d.ts.map
@@ -5,6 +5,7 @@ import type { IExperimentsJson } from '../../api/ExperimentsConfiguration';
5
5
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
6
6
  import type { BaseProjectShrinkwrapFile } from './BaseProjectShrinkwrapFile';
7
7
  import type { PackageManagerOptionsConfigurationBase } from './BasePackageManagerOptionsConfiguration';
8
+ import type { Subspace } from '../../api/Subspace';
8
9
  /**
9
10
  * This class is a parser for both npm's npm-shrinkwrap.json and pnpm's pnpm-lock.yaml file formats.
10
11
  */
@@ -64,7 +65,7 @@ export declare abstract class BaseShrinkwrapFile {
64
65
  *
65
66
  * @returns a list of orphaned projects.
66
67
  */
67
- findOrphanedProjects(rushConfiguration: RushConfiguration): ReadonlyArray<string>;
68
+ findOrphanedProjects(rushConfiguration: RushConfiguration, subspace: Subspace): ReadonlyArray<string>;
68
69
  /**
69
70
  * Returns a project shrinkwrap file for the specified project that contains all dependencies and transitive
70
71
  * dependencies.
@@ -81,7 +82,7 @@ export declare abstract class BaseShrinkwrapFile {
81
82
  *
82
83
  * @virtual
83
84
  */
84
- abstract isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
85
+ abstract isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, subspace: Subspace, variant?: string): Promise<boolean>;
85
86
  /** @virtual */
86
87
  protected abstract serialize(): string;
87
88
  protected _getTempProjectNames(dependencies: {
@@ -1,8 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import type { RushConfiguration } from '../../api/RushConfiguration';
3
3
  import type { RushGlobalFolder } from '../../api/RushGlobalFolder';
4
+ import type { Subspace } from '../../api/Subspace';
4
5
  export declare class InstallHelpers {
5
- static generateCommonPackageJson(rushConfiguration: RushConfiguration, dependencies?: Map<string, string>): void;
6
+ static generateCommonPackageJson(rushConfiguration: RushConfiguration, subspace: Subspace, dependencies?: Map<string, string>): void;
6
7
  static getPackageManagerEnvironment(rushConfiguration: RushConfiguration, options?: {
7
8
  debug?: boolean;
8
9
  }): NodeJS.ProcessEnv;
@@ -2,6 +2,7 @@ import { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';
2
2
  import { DependencySpecifier } from '../DependencySpecifier';
3
3
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
4
4
  import type { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile';
5
+ import type { Subspace } from '../../api/Subspace';
5
6
  export declare class NpmShrinkwrapFile extends BaseShrinkwrapFile {
6
7
  readonly isWorkspaceCompatible: boolean;
7
8
  private _shrinkwrapJson;
@@ -24,6 +25,6 @@ export declare class NpmShrinkwrapFile extends BaseShrinkwrapFile {
24
25
  /** @override */
25
26
  getProjectShrinkwrap(project: RushConfigurationProject): BaseProjectShrinkwrapFile<NpmShrinkwrapFile> | undefined;
26
27
  /** @override */
27
- isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
28
+ isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, subspace: Subspace, variant?: string): Promise<boolean>;
28
29
  }
29
30
  //# sourceMappingURL=NpmShrinkwrapFile.d.ts.map
@@ -1,5 +1,5 @@
1
+ import type { StdioSummarizer } from '@rushstack/terminal';
1
2
  import type { CollatedWriter } from '@rushstack/stream-collator';
2
- import type { ITerminal, ITerminalProvider } from '@rushstack/node-core-library';
3
3
  import type { OperationStatus } from './OperationStatus';
4
4
  import type { OperationMetadataManager } from './OperationMetadataManager';
5
5
  import type { IStopwatchResult } from '../../utilities/Stopwatch';
@@ -21,6 +21,10 @@ export interface IOperationRunnerContext {
21
21
  * Defaults to `true`. Will be `false` if Rush was invoked with `--verbose`.
22
22
  */
23
23
  quietMode: boolean;
24
+ /**
25
+ * Object used to report a summary at the end of the Rush invocation.
26
+ */
27
+ stdioSummarizer: StdioSummarizer;
24
28
  /**
25
29
  * Object used to manage metadata of the operation.
26
30
  *
@@ -44,11 +48,12 @@ export interface IOperationRunnerContext {
44
48
  */
45
49
  error?: Error;
46
50
  /**
47
- * Invokes the specified callback with a terminal that is associated with this operation.
48
- *
49
- * Will write to a log file corresponding to the phase and project, and clean it up upon completion.
51
+ * Normally the incremental build logic will rebuild changed projects as well as
52
+ * any projects that directly or indirectly depend on a changed project.
53
+ * If true, then the incremental build logic will only rebuild changed projects and
54
+ * ignore dependent projects.
50
55
  */
51
- withTerminalAsync<T>(callback: (terminal: ITerminal, terminalProvider: ITerminalProvider) => Promise<T>, createLogFile: boolean, logFileSuffix?: string): Promise<T>;
56
+ readonly changedProjectsOnly: boolean;
52
57
  }
53
58
  /**
54
59
  * The `Operation` class is a node in the dependency graph of work that needs to be scheduled by the
@@ -1,6 +1,5 @@
1
1
  import { StdioSummarizer } from '@rushstack/terminal';
2
- import { type ITerminal, type ITerminalProvider } from '@rushstack/node-core-library';
3
- import { type CollatedWriter, type StreamCollator } from '@rushstack/stream-collator';
2
+ import type { CollatedWriter, StreamCollator } from '@rushstack/stream-collator';
4
3
  import { OperationStatus } from './OperationStatus';
5
4
  import type { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
6
5
  import type { Operation } from './Operation';
@@ -13,6 +12,7 @@ export interface IOperationExecutionRecordContext {
13
12
  onOperationStatusChanged?: (record: OperationExecutionRecord) => void;
14
13
  debugMode: boolean;
15
14
  quietMode: boolean;
15
+ changedProjectsOnly: boolean;
16
16
  }
17
17
  /**
18
18
  * Internal class representing everything about executing an operation
@@ -83,6 +83,7 @@ export declare class OperationExecutionRecord implements IOperationRunnerContext
83
83
  get name(): string;
84
84
  get debugMode(): boolean;
85
85
  get quietMode(): boolean;
86
+ get changedProjectsOnly(): boolean;
86
87
  get collatedWriter(): CollatedWriter;
87
88
  get nonCachedDurationMs(): number | undefined;
88
89
  get cobuildRunnerId(): string | undefined;
@@ -94,10 +95,6 @@ export declare class OperationExecutionRecord implements IOperationRunnerContext
94
95
  */
95
96
  get status(): OperationStatus;
96
97
  set status(newStatus: OperationStatus);
97
- /**
98
- * {@inheritdoc IOperationRunnerContext.withTerminalAsync}
99
- */
100
- withTerminalAsync<T>(callback: (terminal: ITerminal, terminalProvider: ITerminalProvider) => Promise<T>, createLogFile: boolean, logFileSuffix?: string): Promise<T>;
101
98
  executeAsync({ onStart, onResult }: {
102
99
  onStart: (record: OperationExecutionRecord) => Promise<OperationStatus | undefined>;
103
100
  onResult: (record: OperationExecutionRecord) => Promise<void>;
@@ -2,6 +2,7 @@ import { TerminalWritable, type ITerminalChunk } from '@rushstack/terminal';
2
2
  import type { CollatedTerminal } from '@rushstack/stream-collator';
3
3
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
4
4
  export declare class ProjectLogWritable extends TerminalWritable {
5
+ private readonly _project;
5
6
  private readonly _terminal;
6
7
  readonly logPath: string;
7
8
  readonly errorLogPath: string;
@@ -1,14 +1,20 @@
1
- import type { IPhase } from '../../api/CommandLineConfiguration';
1
+ import { OperationStatus } from './OperationStatus';
2
+ import type { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
2
3
  import type { RushConfiguration } from '../../api/RushConfiguration';
3
4
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
4
- import type { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
5
- import { OperationStatus } from './OperationStatus';
5
+ import type { ProjectChangeAnalyzer } from '../ProjectChangeAnalyzer';
6
+ import type { IPhase } from '../../api/CommandLineConfiguration';
6
7
  export interface IOperationRunnerOptions {
7
8
  rushProject: RushConfigurationProject;
8
9
  rushConfiguration: RushConfiguration;
9
10
  commandToRun: string;
11
+ projectChangeAnalyzer: ProjectChangeAnalyzer;
10
12
  displayName: string;
11
13
  phase: IPhase;
14
+ /**
15
+ * The set of phases being executed in the current command, for validation of rush-project.json
16
+ */
17
+ selectedPhases: Iterable<IPhase>;
12
18
  }
13
19
  /**
14
20
  * An `IOperationRunner` subclass that performs an operation via a shell command.
@@ -22,6 +28,7 @@ export declare class ShellOperationRunner implements IOperationRunner {
22
28
  readonly cacheable: boolean;
23
29
  readonly warningsAreAllowed: boolean;
24
30
  private readonly _commandToRun;
31
+ private readonly _logFilenameIdentifier;
25
32
  private readonly _rushProject;
26
33
  private readonly _rushConfiguration;
27
34
  constructor(options: IOperationRunnerOptions);
@@ -1,6 +1,7 @@
1
1
  import type { LogBase } from '@pnpm/logger';
2
2
  import type { IPackageJson } from '@rushstack/node-core-library';
3
3
  import type { IPnpmShrinkwrapYaml } from './PnpmShrinkwrapFile';
4
+ import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
4
5
  /**
5
6
  * The `settings` parameter passed to {@link IPnpmfileShim.hooks.readPackage} and
6
7
  * {@link IPnpmfileShim.hooks.afterAllResolved}.
@@ -19,6 +20,19 @@ export interface IPnpmfileShimSettings {
19
20
  workspaceVersions: Record<string, string>;
20
21
  userPnpmfilePath?: string;
21
22
  }
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 ISubspacePnpmfileShimSettings {
31
+ semverPath: string;
32
+ workspaceProjects: Record<string, IWorkspaceProjectInfo>;
33
+ subspaceProjects: Record<string, IWorkspaceProjectInfo>;
34
+ userPnpmfilePath?: string;
35
+ }
22
36
  /**
23
37
  * The `context` parameter passed to {@link IPnpmfile.hooks.readPackage}, as defined by the
24
38
  * pnpmfile API contract.
@@ -26,6 +40,7 @@ export interface IPnpmfileShimSettings {
26
40
  export interface IPnpmfileContext {
27
41
  log: (message: string) => void;
28
42
  pnpmfileShimSettings?: IPnpmfileShimSettings;
43
+ subspacePnpmfileShimSettings?: ISubspacePnpmfileShimSettings;
29
44
  }
30
45
  /**
31
46
  * The `log` parameter passed to {@link IPnpmfile.hooks.filterLog}.
@@ -6,9 +6,13 @@ import type { IExperimentsJson } from '../../api/ExperimentsConfiguration';
6
6
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
7
7
  import { PnpmProjectShrinkwrapFile } from './PnpmProjectShrinkwrapFile';
8
8
  import type { PackageManagerOptionsConfigurationBase } from '../base/BasePackageManagerOptionsConfiguration';
9
+ import type { Subspace } from '../../api/Subspace';
9
10
  export interface IPeerDependenciesMetaYaml {
10
11
  optional?: boolean;
11
12
  }
13
+ export interface IDependenciesMetaYaml {
14
+ injected?: boolean;
15
+ }
12
16
  export type IPnpmV7VersionSpecifier = string;
13
17
  export interface IPnpmV8VersionSpecifier {
14
18
  version: string;
@@ -42,6 +46,8 @@ export interface IPnpmShrinkwrapImporterYaml {
42
46
  devDependencies?: Record<string, IPnpmVersionSpecifier>;
43
47
  /** The list of resolved version numbers for optional dependencies */
44
48
  optionalDependencies?: Record<string, IPnpmVersionSpecifier>;
49
+ /** The list of metadata for dependencies declared inside dependencies, optionalDependencies, and devDependencies. */
50
+ dependenciesMeta?: Record<string, IDependenciesMetaYaml>;
45
51
  /**
46
52
  * The list of specifiers used to resolve dependency versions
47
53
  *
@@ -201,7 +207,7 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
201
207
  */
202
208
  protected tryEnsureDependencyVersion(dependencySpecifier: DependencySpecifier, tempProjectName: string): DependencySpecifier | undefined;
203
209
  /** @override */
204
- findOrphanedProjects(rushConfiguration: RushConfiguration): ReadonlyArray<string>;
210
+ findOrphanedProjects(rushConfiguration: RushConfiguration, subspace: Subspace): ReadonlyArray<string>;
205
211
  /** @override */
206
212
  getProjectShrinkwrap(project: RushConfigurationProject): PnpmProjectShrinkwrapFile;
207
213
  getImporterKeys(): Iterable<string>;
@@ -209,7 +215,7 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
209
215
  getImporter(importerKey: string): IPnpmShrinkwrapImporterYaml | undefined;
210
216
  getIntegrityForImporter(importerKey: string): Map<string, string> | undefined;
211
217
  /** @override */
212
- isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
218
+ isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, subspace: Subspace, variant?: string): Promise<boolean>;
213
219
  private _getIntegrityForPackage;
214
220
  private _addIntegrities;
215
221
  /**
@@ -1,5 +1,6 @@
1
1
  import { type IPackageJson } from '@rushstack/node-core-library';
2
2
  import type { RushConfiguration } from '../../api/RushConfiguration';
3
+ import type { Subspace } from '../../api/Subspace';
3
4
  /**
4
5
  * Options used when generating the pnpmfile shim settings file.
5
6
  */
@@ -16,8 +17,8 @@ export interface IPnpmfileShimOptions {
16
17
  export declare class PnpmfileConfiguration {
17
18
  private _context;
18
19
  private constructor();
19
- static initializeAsync(rushConfiguration: RushConfiguration, pnpmfileShimOptions?: IPnpmfileShimOptions): Promise<PnpmfileConfiguration>;
20
- static writeCommonTempPnpmfileShimAsync(rushConfiguration: RushConfiguration, options?: IPnpmfileShimOptions): Promise<void>;
20
+ static initializeAsync(rushConfiguration: RushConfiguration, subspace: Subspace, pnpmfileShimOptions?: IPnpmfileShimOptions): Promise<PnpmfileConfiguration>;
21
+ static writeCommonTempPnpmfileShimAsync(rushConfiguration: RushConfiguration, targetDir: string, subspace: Subspace, options?: IPnpmfileShimOptions): Promise<void>;
21
22
  private static _getPnpmfileShimSettingsAsync;
22
23
  /**
23
24
  * Transform a package.json file using the pnpmfile.js hook.
@@ -1,9 +1,10 @@
1
1
  import type { RushConfiguration } from '../../api/RushConfiguration';
2
+ import type { Subspace } from '../../api/Subspace';
2
3
  export interface IPolicyValidatorOptions {
3
4
  bypassPolicyAllowed?: boolean;
4
5
  bypassPolicy?: boolean;
5
6
  allowShrinkwrapUpdates?: boolean;
6
7
  shrinkwrapVariant?: string;
7
8
  }
8
- export declare function validatePolicyAsync(rushConfiguration: RushConfiguration, options: IPolicyValidatorOptions): Promise<void>;
9
+ export declare function validatePolicyAsync(rushConfiguration: RushConfiguration, subspace: Subspace, options: IPolicyValidatorOptions): Promise<void>;
9
10
  //# sourceMappingURL=PolicyValidator.d.ts.map
@@ -1,11 +1,12 @@
1
1
  import type { RushConfiguration } from '../../api/RushConfiguration';
2
2
  import type { IPolicyValidatorOptions } from './PolicyValidator';
3
3
  import type { RepoStateFile } from '../RepoStateFile';
4
+ import type { Subspace } from '../../api/Subspace';
4
5
  export interface IShrinkwrapFilePolicyValidatorOptions extends IPolicyValidatorOptions {
5
6
  repoState: RepoStateFile;
6
7
  }
7
8
  /**
8
9
  * A policy that validates shrinkwrap files used by package managers.
9
10
  */
10
- export declare function validate(rushConfiguration: RushConfiguration, options: IPolicyValidatorOptions): void;
11
+ export declare function validate(rushConfiguration: RushConfiguration, subspace: Subspace, options: IPolicyValidatorOptions): void;
11
12
  //# sourceMappingURL=ShrinkwrapFilePolicy.d.ts.map
@@ -0,0 +1,10 @@
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 SubspaceSelectorParser implements ISelectorParser<RushConfigurationProject> {
5
+ private readonly _rushConfiguration;
6
+ constructor(rushConfiguration: RushConfiguration);
7
+ evaluateSelectorAsync({ unscopedSelector }: IEvaluateSelectorOptions): Promise<Iterable<RushConfigurationProject>>;
8
+ getCompletions(): Iterable<string>;
9
+ }
10
+ //# sourceMappingURL=SubspaceSelectorParser.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/selectors/SubspaceSelectorParser");
@@ -1,8 +1,10 @@
1
1
  import { type ITerminal } from '@rushstack/node-core-library';
2
2
  import type { RushConfiguration } from '../../api/RushConfiguration';
3
3
  import type { VersionMismatchFinderEntity } from './VersionMismatchFinderEntity';
4
+ import type { Subspace } from '../../api/Subspace';
4
5
  export interface IVersionMismatchFinderOptions {
5
6
  variant?: string | undefined;
7
+ subspace?: Subspace;
6
8
  }
7
9
  export interface IVersionMismatchFinderRushCheckOptions extends IVersionMismatchFinderOptions {
8
10
  printAsJson?: boolean | undefined;
@@ -2,6 +2,7 @@ import { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';
2
2
  import type { DependencySpecifier } from '../DependencySpecifier';
3
3
  import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
4
4
  import type { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile';
5
+ import type { Subspace } from '../../api/Subspace';
5
6
  /**
6
7
  * Support for consuming the "yarn.lock" file.
7
8
  *
@@ -50,6 +51,6 @@ export declare class YarnShrinkwrapFile extends BaseShrinkwrapFile {
50
51
  /** @override */
51
52
  getProjectShrinkwrap(project: RushConfigurationProject): BaseProjectShrinkwrapFile<YarnShrinkwrapFile> | undefined;
52
53
  /** @override */
53
- isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
54
+ isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, subspace: Subspace, variant?: string): Promise<boolean>;
54
55
  }
55
56
  //# sourceMappingURL=YarnShrinkwrapFile.d.ts.map
@@ -83,12 +83,6 @@ export interface ICreateOperationsContext {
83
83
  * The Rush configuration
84
84
  */
85
85
  readonly rushConfiguration: RushConfiguration;
86
- /**
87
- * Marks an operation's result as invalid, potentially triggering a new build. Only applicable in watch mode.
88
- * @param operation - The operation to invalidate
89
- * @param reason - The reason for invalidating the operation
90
- */
91
- readonly invalidateOperation?: ((operation: Operation, reason: string) => void) | undefined;
92
86
  }
93
87
  /**
94
88
  * Hooks into the execution process for phased commands
@@ -11,6 +11,7 @@ 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 subspacePnpmfileShimFilename: string;
14
15
  export declare const installRunScriptFilename: string;
15
16
  export declare const installRunRushScriptFilename: string;
16
17
  export declare const installRunRushxScriptFilename: string;
@@ -59,10 +59,6 @@ export interface ILifecycleCommandOptions {
59
59
  * If true, attempt to establish a NodeJS IPC channel to the child process.
60
60
  */
61
61
  ipc?: boolean;
62
- /**
63
- * If true, wire up SubprocessTerminator to the child process.
64
- */
65
- connectSubprocessTerminator?: boolean;
66
62
  }
67
63
  export interface IEnvironmentPathOptions {
68
64
  /**
@@ -11,6 +11,6 @@ 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, logger?: ILogger): string | undefined;
14
+ export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean, logger?: ILogger, extraLines?: string[]): string | undefined;
15
15
  export declare function isVariableSetInNpmrcFile(sourceNpmrcFolder: string, variableKey: string): boolean;
16
16
  //# sourceMappingURL=npmrcUtilities.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rushstack/rush-sdk",
3
- "version": "5.112.2-pr4485.2",
3
+ "version": "5.113.0",
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": "3.63.0"
28
+ "@rushstack/node-core-library": "3.64.2"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/semver": "7.5.0",
32
32
  "@types/webpack-env": "1.18.0",
33
- "@microsoft/rush-lib": "5.112.2-pr4485.2",
33
+ "@microsoft/rush-lib": "5.113.0",
34
34
  "local-node-rig": "1.0.0",
35
- "@rushstack/stream-collator": "4.1.18",
36
- "@rushstack/heft": "0.64.0",
37
35
  "@rushstack/ts-command-line": "4.17.1",
38
- "@rushstack/terminal": "0.7.17"
36
+ "@rushstack/terminal": "0.7.20",
37
+ "@rushstack/stream-collator": "4.1.21",
38
+ "@rushstack/heft": "0.64.3"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "heft build --clean",
@@ -1,26 +0,0 @@
1
- import type { RushConfiguration } from './RushConfiguration';
2
- /**
3
- * The allowed naming convention for subspace names.
4
- * Allows for names to be formed of letters, numbers, and hyphens (-)
5
- */
6
- export declare const SUBSPACE_NAME_REGEXP: RegExp;
7
- /**
8
- * This represents the subspace configurations for a repository, based on the "subspaces.json"
9
- * configuration file.
10
- * @beta
11
- */
12
- export declare class SubspaceConfiguration {
13
- private static _jsonSchema;
14
- /**
15
- * The absolute path to the "subspaces.json" configuration file that was loaded to construct this object.
16
- */
17
- readonly subspaceJsonFilePath: string;
18
- /**
19
- * A set of the available subspaces
20
- */
21
- readonly subspaceNames: Set<string>;
22
- private constructor();
23
- static tryLoadFromConfigurationFile(subspaceJsonFilePath: string): SubspaceConfiguration | undefined;
24
- static tryLoadFromDefaultLocation(rushConfiguration: RushConfiguration): SubspaceConfiguration | undefined;
25
- }
26
- //# sourceMappingURL=SubspaceConfiguration.d.ts.map