@rushstack/rush-sdk 5.143.0-pr5009.0 → 5.143.0-pr5027.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/lib/logic/ApprovedPackagesChecker.d.ts +23 -0
- package/lib/logic/ApprovedPackagesChecker.js +1 -0
- package/lib/logic/InstallManagerFactory.d.ts +9 -0
- package/lib/logic/InstallManagerFactory.js +1 -0
- package/lib/logic/InteractiveUpgrader.d.ts +17 -0
- package/lib/logic/InteractiveUpgrader.js +1 -0
- package/lib/logic/LinkManagerFactory.d.ts +6 -0
- package/lib/logic/LinkManagerFactory.js +1 -0
- package/lib/logic/PackageJsonUpdater.d.ts +131 -0
- package/lib/logic/PackageJsonUpdater.js +1 -0
- package/lib/logic/PackageLookup.d.ts +8 -0
- package/lib/logic/PackageLookup.js +1 -0
- package/lib/logic/ProjectImpactGraphGenerator.d.ts +51 -0
- package/lib/logic/ProjectImpactGraphGenerator.js +1 -0
- package/lib/logic/ProjectWatcher.d.ts +78 -0
- package/lib/logic/ProjectWatcher.js +1 -0
- package/lib/logic/TempProjectHelper.d.ts +19 -0
- package/lib/logic/TempProjectHelper.js +1 -0
- package/lib/logic/VersionManager.d.ts +48 -0
- package/lib/logic/VersionManager.js +1 -0
- package/lib/logic/base/BaseInstallManager.d.ts +57 -0
- package/lib/logic/{pnpm/PnpmShrinkWrapFileConverters.js → base/BaseInstallManager.js} +1 -1
- package/lib/logic/base/BaseLinkManager.d.ts +35 -0
- package/lib/logic/base/BaseLinkManager.js +1 -0
- package/lib/logic/base/BasePackage.d.ts +113 -0
- package/lib/logic/base/BasePackage.js +1 -0
- package/lib/logic/base/BaseWorkspaceFile.d.ts +31 -0
- package/lib/logic/base/BaseWorkspaceFile.js +1 -0
- package/lib/logic/installManager/RushInstallManager.d.ts +77 -0
- package/lib/logic/installManager/RushInstallManager.js +1 -0
- package/lib/logic/installManager/WorkspaceInstallManager.d.ts +46 -0
- package/lib/logic/installManager/WorkspaceInstallManager.js +1 -0
- package/lib/logic/installManager/doBasicInstallAsync.d.ts +17 -0
- package/lib/logic/installManager/doBasicInstallAsync.js +1 -0
- package/lib/logic/npm/NpmLinkManager.d.ts +12 -0
- package/lib/logic/npm/NpmLinkManager.js +1 -0
- package/lib/logic/npm/NpmPackage.d.ts +86 -0
- package/lib/logic/npm/NpmPackage.js +1 -0
- package/lib/logic/operations/BuildPlanPlugin.d.ts +8 -0
- package/lib/logic/operations/BuildPlanPlugin.js +1 -0
- package/lib/logic/operations/ConsoleTimelinePlugin.d.ts +26 -0
- package/lib/logic/operations/ConsoleTimelinePlugin.js +1 -0
- package/lib/logic/operations/IPCOperationRunner.d.ts +34 -0
- package/lib/logic/operations/IPCOperationRunner.js +1 -0
- package/lib/logic/operations/IPCOperationRunnerPlugin.d.ts +8 -0
- package/lib/logic/operations/IPCOperationRunnerPlugin.js +1 -0
- package/lib/logic/operations/PnpmSyncCopyOperationPlugin.d.ts +8 -0
- package/lib/logic/operations/PnpmSyncCopyOperationPlugin.js +1 -0
- package/lib/logic/pnpm/PnpmLinkManager.d.ts +18 -0
- package/lib/logic/pnpm/PnpmLinkManager.js +1 -0
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +90 -46
- package/lib/logic/pnpm/PnpmWorkspaceFile.d.ts +18 -0
- package/lib/logic/pnpm/PnpmWorkspaceFile.js +1 -0
- package/lib/utilities/InteractiveUpgradeUI.d.ts +22 -0
- package/lib/utilities/InteractiveUpgradeUI.js +1 -0
- package/lib/utilities/WebClient.d.ts +56 -0
- package/lib/utilities/WebClient.js +1 -0
- package/package.json +7 -8
- package/lib/logic/pnpm/PnpmShrinkWrapFileConverters.d.ts +0 -11
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface IWorkspaceFileSaveOptions {
|
|
2
|
+
/**
|
|
3
|
+
* If there is an existing file, and the contents have not changed, then
|
|
4
|
+
* don't write anything; this preserves the old timestamp.
|
|
5
|
+
*/
|
|
6
|
+
onlyIfChanged?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Creates the folder recursively using FileSystem.ensureFolder()
|
|
9
|
+
* Defaults to false.
|
|
10
|
+
*/
|
|
11
|
+
ensureFolderExists?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* This class is a parser for pnpm's pnpm-workspace.yaml file format.
|
|
15
|
+
*/
|
|
16
|
+
export declare abstract class BaseWorkspaceFile {
|
|
17
|
+
protected _alreadyWarnedSpecs: Set<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Serializes and saves the workspace file to specified location
|
|
20
|
+
*/
|
|
21
|
+
save(filePath: string, options: IWorkspaceFileSaveOptions): void;
|
|
22
|
+
/**
|
|
23
|
+
* Adds a package path to the workspace file.
|
|
24
|
+
*
|
|
25
|
+
* @virtual
|
|
26
|
+
*/
|
|
27
|
+
abstract addPackage(packagePath: string): void;
|
|
28
|
+
/** @virtual */
|
|
29
|
+
protected abstract serialize(): string;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=BaseWorkspaceFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/base/BaseWorkspaceFile");
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { BaseInstallManager } from '../base/BaseInstallManager';
|
|
2
|
+
import type { IInstallManagerOptions } from '../base/BaseInstallManagerTypes';
|
|
3
|
+
import type { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';
|
|
4
|
+
import type { RushGlobalFolder } from '../../api/RushGlobalFolder';
|
|
5
|
+
import type { RushConfiguration } from '../..';
|
|
6
|
+
import type { PurgeManager } from '../PurgeManager';
|
|
7
|
+
import type { Subspace } from '../../api/Subspace';
|
|
8
|
+
/**
|
|
9
|
+
* The "noMtime" flag is new in tar@4.4.1 and not available yet for \@types/tar.
|
|
10
|
+
* As a temporary workaround, augment the type.
|
|
11
|
+
*/
|
|
12
|
+
declare module 'tar' {
|
|
13
|
+
interface CreateOptions {
|
|
14
|
+
/**
|
|
15
|
+
* "Set to true to omit writing mtime values for entries. Note that this prevents using other
|
|
16
|
+
* mtime-based features like tar.update or the keepNewer option with the resulting tar archive."
|
|
17
|
+
*/
|
|
18
|
+
noMtime?: boolean;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* This class implements common logic between "rush install" and "rush update".
|
|
23
|
+
*/
|
|
24
|
+
export declare class RushInstallManager extends BaseInstallManager {
|
|
25
|
+
private _tempProjectHelper;
|
|
26
|
+
constructor(rushConfiguration: RushConfiguration, rushGlobalFolder: RushGlobalFolder, purgeManager: PurgeManager, options: IInstallManagerOptions);
|
|
27
|
+
/**
|
|
28
|
+
* Regenerates the common/package.json and all temp_modules projects.
|
|
29
|
+
* If shrinkwrapFile is provided, this function also validates whether it contains
|
|
30
|
+
* everything we need to install and returns true if so; in all other cases,
|
|
31
|
+
* the return value is false.
|
|
32
|
+
*
|
|
33
|
+
* @override
|
|
34
|
+
*/
|
|
35
|
+
prepareCommonTempAsync(subspace: Subspace, shrinkwrapFile: BaseShrinkwrapFile | undefined): Promise<{
|
|
36
|
+
shrinkwrapIsUpToDate: boolean;
|
|
37
|
+
shrinkwrapWarnings: string[];
|
|
38
|
+
}>;
|
|
39
|
+
private _revertWorkspaceNotation;
|
|
40
|
+
private _validateRushProjectTarballIntegrityAsync;
|
|
41
|
+
/**
|
|
42
|
+
* Check whether or not the install is already valid, and therefore can be skipped.
|
|
43
|
+
*
|
|
44
|
+
* @override
|
|
45
|
+
*/
|
|
46
|
+
protected canSkipInstallAsync(lastModifiedDate: Date, subspace: Subspace, variant: string | undefined): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Runs "npm/pnpm/yarn install" in the "common/temp" folder.
|
|
49
|
+
*
|
|
50
|
+
* @override
|
|
51
|
+
*/
|
|
52
|
+
protected installAsync(cleanInstall: boolean, subspace: Subspace): Promise<void>;
|
|
53
|
+
protected postInstallAsync(subspace: Subspace): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* This is a workaround for a bug introduced in NPM 5 (and still unfixed as of NPM 5.5.1):
|
|
56
|
+
* https://github.com/npm/npm/issues/19006
|
|
57
|
+
*
|
|
58
|
+
* The regression is that "npm install" sets the package.json "version" field for the
|
|
59
|
+
* @rush-temp projects to a value like "file:projects/example.tgz", when it should be "0.0.0".
|
|
60
|
+
* This causes linking to fail later, when read-package-tree tries to parse the bad version.
|
|
61
|
+
* The error looks like this:
|
|
62
|
+
*
|
|
63
|
+
* ERROR: Failed to parse package.json for foo: Invalid version: "file:projects/example.tgz"
|
|
64
|
+
*
|
|
65
|
+
* Our workaround is to rewrite the package.json files for each of the @rush-temp projects
|
|
66
|
+
* in the node_modules folder, after "npm install" completes.
|
|
67
|
+
*/
|
|
68
|
+
private _fixupNpm5RegressionAsync;
|
|
69
|
+
/**
|
|
70
|
+
* Checks for temp projects that exist in the shrinkwrap file, but don't exist
|
|
71
|
+
* in rush.json. This might occur, e.g. if a project was recently deleted or renamed.
|
|
72
|
+
*
|
|
73
|
+
* @returns true if orphans were found, or false if everything is okay
|
|
74
|
+
*/
|
|
75
|
+
private _findMissingTempProjects;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=RushInstallManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/installManager/RushInstallManager");
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { BaseInstallManager } from '../base/BaseInstallManager';
|
|
2
|
+
import type { IInstallManagerOptions } from '../base/BaseInstallManagerTypes';
|
|
3
|
+
import type { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';
|
|
4
|
+
import type { PnpmShrinkwrapFile } from '../pnpm/PnpmShrinkwrapFile';
|
|
5
|
+
import type { Subspace } from '../../api/Subspace';
|
|
6
|
+
export interface IPnpmModules {
|
|
7
|
+
hoistedDependencies: {
|
|
8
|
+
[dep in string]: {
|
|
9
|
+
[depPath in string]: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* This class implements common logic between "rush install" and "rush update".
|
|
15
|
+
*/
|
|
16
|
+
export declare class WorkspaceInstallManager extends BaseInstallManager {
|
|
17
|
+
/**
|
|
18
|
+
* @override
|
|
19
|
+
*/
|
|
20
|
+
doInstallAsync(): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Regenerates the common/temp/package.json and related workspace files.
|
|
23
|
+
* If shrinkwrapFile is provided, this function also validates whether it contains
|
|
24
|
+
* everything we need to install and returns true if so; in all other cases,
|
|
25
|
+
* the return value is false.
|
|
26
|
+
*
|
|
27
|
+
* @override
|
|
28
|
+
*/
|
|
29
|
+
protected prepareCommonTempAsync(subspace: Subspace, shrinkwrapFile: (PnpmShrinkwrapFile & BaseShrinkwrapFile) | undefined): Promise<{
|
|
30
|
+
shrinkwrapIsUpToDate: boolean;
|
|
31
|
+
shrinkwrapWarnings: string[];
|
|
32
|
+
}>;
|
|
33
|
+
private _getPackageExtensionChecksum;
|
|
34
|
+
protected canSkipInstallAsync(lastModifiedDate: Date, subspace: Subspace, variant: string | undefined): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Runs "pnpm install" in the common folder.
|
|
37
|
+
*/
|
|
38
|
+
protected installAsync(cleanInstall: boolean, subspace: Subspace): Promise<void>;
|
|
39
|
+
protected postInstallAsync(subspace: Subspace): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Used when invoking the NPM tool. Appends the common configuration options
|
|
42
|
+
* to the command-line.
|
|
43
|
+
*/
|
|
44
|
+
protected pushConfigurationArgs(args: string[], options: IInstallManagerOptions, subspace: Subspace): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=WorkspaceInstallManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/installManager/WorkspaceInstallManager");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ITerminal } from '@rushstack/terminal';
|
|
2
|
+
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
3
|
+
import type { RushGlobalFolder } from '../../api/RushGlobalFolder';
|
|
4
|
+
import type { IInstallManagerOptions } from '../base/BaseInstallManagerTypes';
|
|
5
|
+
import type { Subspace } from '../../api/Subspace';
|
|
6
|
+
export interface IRunInstallOptions {
|
|
7
|
+
afterInstallAsync?: IInstallManagerOptions['afterInstallAsync'];
|
|
8
|
+
beforeInstallAsync?: IInstallManagerOptions['beforeInstallAsync'];
|
|
9
|
+
rushConfiguration: RushConfiguration;
|
|
10
|
+
rushGlobalFolder: RushGlobalFolder;
|
|
11
|
+
isDebug: boolean;
|
|
12
|
+
terminal: ITerminal;
|
|
13
|
+
variant: string | undefined;
|
|
14
|
+
subspace: Subspace;
|
|
15
|
+
}
|
|
16
|
+
export declare function doBasicInstallAsync(options: IRunInstallOptions): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=doBasicInstallAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/installManager/doBasicInstallAsync");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseLinkManager } from '../base/BaseLinkManager';
|
|
2
|
+
export declare class NpmLinkManager extends BaseLinkManager {
|
|
3
|
+
protected _linkProjectsAsync(): Promise<void>;
|
|
4
|
+
/**
|
|
5
|
+
* This is called once for each local project from Rush.json.
|
|
6
|
+
* @param project The local project that we will create symlinks for
|
|
7
|
+
* @param commonRootPackage The common/temp/package.json package
|
|
8
|
+
* @param commonPackageLookup A dictionary for finding packages under common/temp/node_modules
|
|
9
|
+
*/
|
|
10
|
+
private _linkProject;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=NpmLinkManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/npm/NpmLinkManager");
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type readPackageTree from 'read-package-tree';
|
|
2
|
+
import { BasePackage } from '../base/BasePackage';
|
|
3
|
+
/**
|
|
4
|
+
* Used by the linking algorithm when doing NPM package resolution.
|
|
5
|
+
*/
|
|
6
|
+
export interface IResolveOrCreateResult {
|
|
7
|
+
found: BasePackage | undefined;
|
|
8
|
+
parentForCreate: BasePackage | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The type of dependency; used by IPackageDependency.
|
|
12
|
+
*/
|
|
13
|
+
export declare enum PackageDependencyKind {
|
|
14
|
+
Normal = 0,
|
|
15
|
+
/**
|
|
16
|
+
* The dependency was listed in the optionalDependencies section of package.json.
|
|
17
|
+
*/
|
|
18
|
+
Optional = 1,
|
|
19
|
+
/**
|
|
20
|
+
* The dependency should be a symlink to a project that is locally built by Rush..
|
|
21
|
+
*/
|
|
22
|
+
LocalLink = 2
|
|
23
|
+
}
|
|
24
|
+
export interface IPackageDependency {
|
|
25
|
+
/**
|
|
26
|
+
* The name of the dependency
|
|
27
|
+
*/
|
|
28
|
+
name: string;
|
|
29
|
+
/**
|
|
30
|
+
* The requested version, which may be a pattern such as "^1.2.3"
|
|
31
|
+
*/
|
|
32
|
+
versionRange: string;
|
|
33
|
+
/**
|
|
34
|
+
* The kind of dependency
|
|
35
|
+
*/
|
|
36
|
+
kind: PackageDependencyKind;
|
|
37
|
+
}
|
|
38
|
+
export declare class NpmPackage extends BasePackage {
|
|
39
|
+
/**
|
|
40
|
+
* Names of packages that we explicitly depend on. The actual dependency
|
|
41
|
+
* package may be found in this.children, or possibly in this.children of
|
|
42
|
+
* one of the parents.
|
|
43
|
+
* If a dependency is listed in the "optionalDependencies" section of package.json
|
|
44
|
+
* then its name here will be prepended with a "?" character, which means that Rush
|
|
45
|
+
* will not report an error if the module cannot be found in the Common folder.
|
|
46
|
+
*/
|
|
47
|
+
dependencies: IPackageDependency[];
|
|
48
|
+
private constructor();
|
|
49
|
+
/**
|
|
50
|
+
* Used by "npm link" when creating a Package object that represents symbolic links to be created.
|
|
51
|
+
*/
|
|
52
|
+
static createLinkedNpmPackage(name: string, version: string | undefined, dependencies: IPackageDependency[], folderPath: string): NpmPackage;
|
|
53
|
+
/**
|
|
54
|
+
* Used by "npm link" to simulate a temp project that is missing from the common/node_modules
|
|
55
|
+
* folder (e.g. because it was added after the shrinkwrap file was regenerated).
|
|
56
|
+
* @param packageJsonFilename - Filename of the source package.json
|
|
57
|
+
* Example: `C:\MyRepo\common\temp\projects\project1\package.json`
|
|
58
|
+
* @param targetFolderName - Filename where it should have been installed
|
|
59
|
+
* Example: `C:\MyRepo\common\temp\node_modules\@rush-temp\project1`
|
|
60
|
+
*/
|
|
61
|
+
static createVirtualTempPackage(packageJsonFilename: string, installFolderName: string): NpmPackage;
|
|
62
|
+
/**
|
|
63
|
+
* Recursive constructs a tree of NpmPackage objects using information returned
|
|
64
|
+
* by the "read-package-tree" library.
|
|
65
|
+
*/
|
|
66
|
+
static createFromNpm(npmPackage: readPackageTree.Node): NpmPackage;
|
|
67
|
+
/**
|
|
68
|
+
* Searches the node_modules hierarchy for the nearest matching package with the
|
|
69
|
+
* given name. Note that the nearest match may have an incompatible version.
|
|
70
|
+
* If a match is found, then the "found" result will not be undefined.
|
|
71
|
+
* In either case, the parentForCreate result indicates where the missing
|
|
72
|
+
* dependency can be added, i.e. if the requested dependency was not found
|
|
73
|
+
* or was found with an incompatible version.
|
|
74
|
+
*
|
|
75
|
+
* "cyclicSubtreeRoot" is a special optional parameter that specifies a different
|
|
76
|
+
* root for the tree; the decoupledLocalDependencies feature uses this to isolate
|
|
77
|
+
* certain devDependencies in their own subtree.
|
|
78
|
+
*/
|
|
79
|
+
resolveOrCreate(dependencyName: string, cyclicSubtreeRoot?: NpmPackage): IResolveOrCreateResult;
|
|
80
|
+
/**
|
|
81
|
+
* Searches the node_modules hierarchy for the nearest matching package with the
|
|
82
|
+
* given name. If no match is found, then undefined is returned.
|
|
83
|
+
*/
|
|
84
|
+
resolve(dependencyName: string): NpmPackage | undefined;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=NpmPackage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/npm/NpmPackage");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ITerminal } from '@rushstack/terminal';
|
|
2
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
3
|
+
export declare class BuildPlanPlugin implements IPhasedCommandPlugin {
|
|
4
|
+
private readonly _terminal;
|
|
5
|
+
constructor(terminal: ITerminal);
|
|
6
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=BuildPlanPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/BuildPlanPlugin");
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ITerminal } from '@rushstack/terminal';
|
|
2
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
3
|
+
import type { IExecutionResult } from './IOperationExecutionResult';
|
|
4
|
+
import type { CobuildConfiguration } from '../../api/CobuildConfiguration';
|
|
5
|
+
/**
|
|
6
|
+
* Phased command plugin that emits a timeline to the console.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ConsoleTimelinePlugin implements IPhasedCommandPlugin {
|
|
9
|
+
private readonly _terminal;
|
|
10
|
+
constructor(terminal: ITerminal);
|
|
11
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export interface IPrintTimelineParameters {
|
|
17
|
+
terminal: ITerminal;
|
|
18
|
+
result: IExecutionResult;
|
|
19
|
+
cobuildConfiguration: CobuildConfiguration | undefined;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Print a more detailed timeline and analysis of CPU usage for the build.
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare function _printTimeline({ terminal, result, cobuildConfiguration }: IPrintTimelineParameters): void;
|
|
26
|
+
//# sourceMappingURL=ConsoleTimelinePlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/ConsoleTimelinePlugin");
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { IPhase } from '../../api/CommandLineConfiguration';
|
|
2
|
+
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
3
|
+
import type { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
|
|
4
|
+
import { OperationStatus } from './OperationStatus';
|
|
5
|
+
export interface IIPCOperationRunnerOptions {
|
|
6
|
+
phase: IPhase;
|
|
7
|
+
project: RushConfigurationProject;
|
|
8
|
+
name: string;
|
|
9
|
+
shellCommand: string;
|
|
10
|
+
persist: boolean;
|
|
11
|
+
requestRun: (requestor?: string) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Runner that hosts a long-lived process to which it communicates via IPC.
|
|
15
|
+
*/
|
|
16
|
+
export declare class IPCOperationRunner implements IOperationRunner {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly cacheable: boolean;
|
|
19
|
+
readonly reportTiming: boolean;
|
|
20
|
+
readonly silent: boolean;
|
|
21
|
+
readonly warningsAreAllowed: boolean;
|
|
22
|
+
private readonly _rushConfiguration;
|
|
23
|
+
private readonly _shellCommand;
|
|
24
|
+
private readonly _workingDirectory;
|
|
25
|
+
private readonly _persist;
|
|
26
|
+
private readonly _requestRun;
|
|
27
|
+
private _ipcProcess;
|
|
28
|
+
private _processReadyPromise;
|
|
29
|
+
constructor(options: IIPCOperationRunnerOptions);
|
|
30
|
+
executeAsync(context: IOperationRunnerContext): Promise<OperationStatus>;
|
|
31
|
+
getConfigHash(): string;
|
|
32
|
+
shutdownAsync(): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=IPCOperationRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/IPCOperationRunner");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
2
|
+
/**
|
|
3
|
+
* Plugin that implements compatible phases via IPC to a long-lived watch process.
|
|
4
|
+
*/
|
|
5
|
+
export declare class IPCOperationRunnerPlugin implements IPhasedCommandPlugin {
|
|
6
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=IPCOperationRunnerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/IPCOperationRunnerPlugin");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ITerminal } from '@rushstack/terminal';
|
|
2
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
3
|
+
export declare class PnpmSyncCopyOperationPlugin implements IPhasedCommandPlugin {
|
|
4
|
+
private readonly _terminal;
|
|
5
|
+
constructor(terminal: ITerminal);
|
|
6
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=PnpmSyncCopyOperationPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/PnpmSyncCopyOperationPlugin");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseLinkManager } from '../base/BaseLinkManager';
|
|
2
|
+
export declare class PnpmLinkManager extends BaseLinkManager {
|
|
3
|
+
private readonly _pnpmVersion;
|
|
4
|
+
/**
|
|
5
|
+
* @override
|
|
6
|
+
*/
|
|
7
|
+
createSymlinksForProjectsAsync(force: boolean): Promise<void>;
|
|
8
|
+
protected _linkProjectsAsync(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* This is called once for each local project from Rush.json.
|
|
11
|
+
* @param project The local project that we will create symlinks for
|
|
12
|
+
* @param rushLinkJson The common/temp/rush-link.json output file
|
|
13
|
+
*/
|
|
14
|
+
private _linkProjectAsync;
|
|
15
|
+
private _getPathToLocalInstallationAsync;
|
|
16
|
+
private _createLocalPackageForDependency;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=PnpmLinkManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/PnpmLinkManager");
|
|
@@ -8,11 +8,6 @@ import type { RushConfigurationProject } from '../../api/RushConfigurationProjec
|
|
|
8
8
|
import { PnpmProjectShrinkwrapFile } from './PnpmProjectShrinkwrapFile';
|
|
9
9
|
import type { PackageManagerOptionsConfigurationBase } from '../base/BasePackageManagerOptionsConfiguration';
|
|
10
10
|
import type { Subspace } from '../../api/Subspace';
|
|
11
|
-
import type { Lockfile, PackageSnapshot, ProjectSnapshot } from '@pnpm/lockfile.types';
|
|
12
|
-
export declare enum ShrinkwrapFileMajorVersion {
|
|
13
|
-
V6 = 6,
|
|
14
|
-
V9 = 9
|
|
15
|
-
}
|
|
16
11
|
export interface IPeerDependenciesMetaYaml {
|
|
17
12
|
optional?: boolean;
|
|
18
13
|
}
|
|
@@ -24,10 +19,10 @@ export interface IPnpmV8VersionSpecifier {
|
|
|
24
19
|
version: string;
|
|
25
20
|
specifier: string;
|
|
26
21
|
}
|
|
27
|
-
export type
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
resolution
|
|
22
|
+
export type IPnpmVersionSpecifier = IPnpmV7VersionSpecifier | IPnpmV8VersionSpecifier;
|
|
23
|
+
export interface IPnpmShrinkwrapDependencyYaml {
|
|
24
|
+
/** Information about the resolved package */
|
|
25
|
+
resolution?: {
|
|
31
26
|
/** The directory this package should clone, for injected dependencies */
|
|
32
27
|
directory?: string;
|
|
33
28
|
/** The hash of the tarball, to ensure archive integrity */
|
|
@@ -35,51 +30,101 @@ export interface IPnpmShrinkwrapDependencyYaml extends Omit<PackageSnapshot, 're
|
|
|
35
30
|
/** The name of the tarball, if this was from a TGZ file */
|
|
36
31
|
tarball?: string;
|
|
37
32
|
};
|
|
33
|
+
/** The list of bundled dependencies in this package */
|
|
34
|
+
bundledDependencies?: ReadonlyArray<string>;
|
|
35
|
+
/** The list of dependencies and the resolved version */
|
|
36
|
+
dependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
37
|
+
/** The list of optional dependencies and the resolved version */
|
|
38
|
+
optionalDependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
39
|
+
/** The list of peer dependencies and the resolved version */
|
|
40
|
+
peerDependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
41
|
+
/**
|
|
42
|
+
* Used to indicate optional peer dependencies, as described in this RFC:
|
|
43
|
+
* https://github.com/yarnpkg/rfcs/blob/master/accepted/0000-optional-peer-dependencies.md
|
|
44
|
+
*/
|
|
45
|
+
peerDependenciesMeta?: Record<string, IPeerDependenciesMetaYaml>;
|
|
46
|
+
/** The name of the package, if the package is a local tarball */
|
|
47
|
+
name?: string;
|
|
48
|
+
/** If this is an optional dependency */
|
|
49
|
+
optional?: boolean;
|
|
50
|
+
/** The values of process.platform supported by this package */
|
|
51
|
+
os?: readonly string[];
|
|
52
|
+
/** The values of process.arch supported by this package */
|
|
53
|
+
cpu?: readonly string[];
|
|
54
|
+
/** The libc runtimes supported by this package */
|
|
55
|
+
libc?: readonly string[];
|
|
38
56
|
}
|
|
39
|
-
export
|
|
40
|
-
|
|
57
|
+
export interface IPnpmShrinkwrapImporterYaml {
|
|
58
|
+
/** The list of resolved version numbers for direct dependencies */
|
|
59
|
+
dependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
60
|
+
/** The list of resolved version numbers for dev dependencies */
|
|
61
|
+
devDependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
62
|
+
/** The list of resolved version numbers for optional dependencies */
|
|
63
|
+
optionalDependencies?: Record<string, IPnpmVersionSpecifier>;
|
|
64
|
+
/** The list of metadata for dependencies declared inside dependencies, optionalDependencies, and devDependencies. */
|
|
65
|
+
dependenciesMeta?: Record<string, IDependenciesMetaYaml>;
|
|
41
66
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* "@rush-temp/project1": "file:./projects/project1.tgz"
|
|
47
|
-
* },
|
|
48
|
-
* "packages": {
|
|
49
|
-
* "file:projects/library1.tgz": {
|
|
50
|
-
* "dependencies: {
|
|
51
|
-
* "markdown": "0.5.0"
|
|
52
|
-
* },
|
|
53
|
-
* "name": "@rush-temp/library1",
|
|
54
|
-
* "resolution": {
|
|
55
|
-
* "tarball": "file:projects/library1.tgz"
|
|
56
|
-
* },
|
|
57
|
-
* "version": "0.0.0"
|
|
58
|
-
* },
|
|
59
|
-
* "markdown/0.5.0": {
|
|
60
|
-
* "resolution": {
|
|
61
|
-
* "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI="
|
|
62
|
-
* }
|
|
63
|
-
* }
|
|
64
|
-
* },
|
|
65
|
-
* "registry": "http://localhost:4873/",
|
|
66
|
-
* "shrinkwrapVersion": 3,
|
|
67
|
-
* "specifiers": {
|
|
68
|
-
* "@rush-temp/project1": "file:./projects/project1.tgz"
|
|
69
|
-
* }
|
|
70
|
-
* }
|
|
67
|
+
* The list of specifiers used to resolve dependency versions
|
|
68
|
+
*
|
|
69
|
+
* @remarks
|
|
70
|
+
* This has been removed in PNPM v8
|
|
71
71
|
*/
|
|
72
|
+
specifiers?: Record<string, IPnpmVersionSpecifier>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* This interface represents the raw pnpm-lock.YAML file
|
|
76
|
+
* Example:
|
|
77
|
+
* {
|
|
78
|
+
* "dependencies": {
|
|
79
|
+
* "@rush-temp/project1": "file:./projects/project1.tgz"
|
|
80
|
+
* },
|
|
81
|
+
* "packages": {
|
|
82
|
+
* "file:projects/library1.tgz": {
|
|
83
|
+
* "dependencies: {
|
|
84
|
+
* "markdown": "0.5.0"
|
|
85
|
+
* },
|
|
86
|
+
* "name": "@rush-temp/library1",
|
|
87
|
+
* "resolution": {
|
|
88
|
+
* "tarball": "file:projects/library1.tgz"
|
|
89
|
+
* },
|
|
90
|
+
* "version": "0.0.0"
|
|
91
|
+
* },
|
|
92
|
+
* "markdown/0.5.0": {
|
|
93
|
+
* "resolution": {
|
|
94
|
+
* "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI="
|
|
95
|
+
* }
|
|
96
|
+
* }
|
|
97
|
+
* },
|
|
98
|
+
* "registry": "http://localhost:4873/",
|
|
99
|
+
* "shrinkwrapVersion": 3,
|
|
100
|
+
* "specifiers": {
|
|
101
|
+
* "@rush-temp/project1": "file:./projects/project1.tgz"
|
|
102
|
+
* }
|
|
103
|
+
* }
|
|
104
|
+
*/
|
|
105
|
+
export interface IPnpmShrinkwrapYaml {
|
|
106
|
+
/** The version of the lockfile format */
|
|
107
|
+
lockfileVersion?: string | number;
|
|
72
108
|
/** The list of resolved version numbers for direct dependencies */
|
|
73
|
-
dependencies
|
|
74
|
-
/** The list of
|
|
75
|
-
|
|
109
|
+
dependencies: Record<string, string>;
|
|
110
|
+
/** The list of importers for local workspace projects */
|
|
111
|
+
importers: Record<string, IPnpmShrinkwrapImporterYaml>;
|
|
112
|
+
/** The description of the solved graph */
|
|
113
|
+
packages: Record<string, IPnpmShrinkwrapDependencyYaml>;
|
|
76
114
|
/** URL of the registry which was used */
|
|
77
|
-
registry
|
|
115
|
+
registry: string;
|
|
116
|
+
/** The list of specifiers used to resolve direct dependency versions */
|
|
117
|
+
specifiers: Record<string, string>;
|
|
118
|
+
/** The list of override version number for dependencies */
|
|
119
|
+
overrides?: {
|
|
120
|
+
[dependency: string]: string;
|
|
121
|
+
};
|
|
122
|
+
/** The checksum of package extensions fields for extending dependencies */
|
|
123
|
+
packageExtensionsChecksum?: string;
|
|
78
124
|
}
|
|
79
125
|
export interface ILoadFromFileOptions {
|
|
80
126
|
withCaching?: boolean;
|
|
81
127
|
}
|
|
82
|
-
export declare function parsePnpm9DependencyKey(dependencyName: string, versionSpecifier: IPnpmVersionSpecifier): DependencySpecifier | undefined;
|
|
83
128
|
/**
|
|
84
129
|
* Given an encoded "dependency key" from the PNPM shrinkwrap file, this parses it into an equivalent
|
|
85
130
|
* DependencySpecifier.
|
|
@@ -103,7 +148,6 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
103
148
|
private readonly _integrities;
|
|
104
149
|
private _pnpmfileConfiguration;
|
|
105
150
|
private constructor();
|
|
106
|
-
static getLockfileV9PackageId(name: string, version: string): string;
|
|
107
151
|
static loadFromFile(shrinkwrapYamlFilePath: string, { withCaching }?: ILoadFromFileOptions): PnpmShrinkwrapFile | undefined;
|
|
108
152
|
static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile;
|
|
109
153
|
getShrinkwrapHash(experimentsConfig?: IExperimentsJson): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseWorkspaceFile } from '../base/BaseWorkspaceFile';
|
|
2
|
+
export declare class PnpmWorkspaceFile extends BaseWorkspaceFile {
|
|
3
|
+
/**
|
|
4
|
+
* The filename of the workspace file.
|
|
5
|
+
*/
|
|
6
|
+
readonly workspaceFilename: string;
|
|
7
|
+
private _workspacePackages;
|
|
8
|
+
/**
|
|
9
|
+
* The PNPM workspace file is used to specify the location of workspaces relative to the root
|
|
10
|
+
* of your PNPM install.
|
|
11
|
+
*/
|
|
12
|
+
constructor(workspaceYamlFilename: string);
|
|
13
|
+
/** @override */
|
|
14
|
+
addPackage(packagePath: string): void;
|
|
15
|
+
/** @override */
|
|
16
|
+
protected serialize(): string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=PnpmWorkspaceFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/PnpmWorkspaceFile");
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference path="../../src/npm-check-typings.d.ts" />
|
|
2
|
+
import type * as NpmCheck from 'npm-check';
|
|
3
|
+
export interface IUIGroup {
|
|
4
|
+
title: string;
|
|
5
|
+
bgColor?: string;
|
|
6
|
+
filter: {
|
|
7
|
+
mismatch?: boolean;
|
|
8
|
+
bump?: undefined | 'major' | 'minor' | 'patch' | 'nonSemver';
|
|
9
|
+
notInstalled?: boolean;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface IDepsToUpgradeAnswers {
|
|
13
|
+
packages: NpmCheck.INpmCheckPackage[];
|
|
14
|
+
}
|
|
15
|
+
export interface IUpgradeInteractiveDepChoice {
|
|
16
|
+
value: NpmCheck.INpmCheckPackage;
|
|
17
|
+
name: string | string[];
|
|
18
|
+
short: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const UI_GROUPS: IUIGroup[];
|
|
21
|
+
export declare const upgradeInteractive: (pkgs: NpmCheck.INpmCheckPackage[]) => Promise<IDepsToUpgradeAnswers>;
|
|
22
|
+
//# sourceMappingURL=InteractiveUpgradeUI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../lib-shim/index")._rushSdk_loadInternalModule("utilities/InteractiveUpgradeUI");
|