@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.
- package/dist/rush-lib.d.ts +250 -104
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/api/LastInstallFlag.d.ts +2 -1
- package/lib/api/LastLinkFlag.d.ts +2 -2
- package/lib/api/PackageJsonEditor.d.ts +15 -0
- package/lib/api/RushConfiguration.d.ts +56 -74
- package/lib/api/RushConfigurationProject.d.ts +14 -8
- package/lib/api/RushProjectConfiguration.d.ts +0 -7
- package/lib/api/Subspace.d.ts +117 -0
- package/lib/api/{SubspaceConfiguration.js → Subspace.js} +1 -1
- package/lib/api/SubspacesConfiguration.d.ts +58 -0
- package/lib/api/SubspacesConfiguration.js +1 -0
- package/lib/api/VersionPolicyConfiguration.d.ts +1 -1
- package/lib/api/packageManager/PnpmPackageManager.d.ts +7 -0
- package/lib/cli/actions/BaseInstallAction.d.ts +4 -0
- package/lib/index.d.ts +3 -2
- package/lib/logic/ChangeManager.d.ts +1 -1
- package/lib/logic/ChangelogGenerator.d.ts +2 -2
- package/lib/logic/PublishUtilities.d.ts +2 -2
- package/lib/logic/RepoStateFile.d.ts +5 -3
- package/lib/logic/RushConstants.d.ts +8 -0
- package/lib/logic/base/BaseInstallManagerTypes.d.ts +5 -0
- package/lib/logic/base/BaseShrinkwrapFile.d.ts +3 -2
- package/lib/logic/installManager/InstallHelpers.d.ts +2 -1
- package/lib/logic/npm/NpmShrinkwrapFile.d.ts +2 -1
- package/lib/logic/operations/IOperationRunner.d.ts +10 -5
- package/lib/logic/operations/OperationExecutionRecord.d.ts +3 -6
- package/lib/logic/operations/ProjectLogWritable.d.ts +1 -0
- package/lib/logic/operations/ShellOperationRunner.d.ts +10 -3
- package/lib/logic/pnpm/IPnpmfile.d.ts +15 -0
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +8 -2
- package/lib/logic/pnpm/PnpmfileConfiguration.d.ts +3 -2
- package/lib/logic/policy/PolicyValidator.d.ts +2 -1
- package/lib/logic/policy/ShrinkwrapFilePolicy.d.ts +2 -1
- package/lib/logic/selectors/SubspaceSelectorParser.d.ts +10 -0
- package/lib/logic/selectors/SubspaceSelectorParser.js +1 -0
- package/lib/logic/versionMismatch/VersionMismatchFinder.d.ts +2 -0
- package/lib/logic/yarn/YarnShrinkwrapFile.d.ts +2 -1
- package/lib/pluginFramework/PhasedCommandHooks.d.ts +0 -6
- package/lib/utilities/PathConstants.d.ts +1 -0
- package/lib/utilities/Utilities.d.ts +0 -4
- package/lib/utilities/npmrcUtilities.d.ts +1 -1
- package/package.json +6 -6
- 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
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
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
|
-
|
|
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 {
|
|
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
|
|
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 {
|
|
5
|
-
import {
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|