@rushstack/rush-sdk 5.142.0 → 5.143.0-pr5009.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.
- 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/base/BaseInstallManager.js +1 -0
- 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/PnpmShrinkWrapFileConverters.d.ts +11 -0
- package/lib/logic/pnpm/PnpmShrinkWrapFileConverters.js +1 -0
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +46 -90
- 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 -6
|
@@ -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");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Lockfile, LockfileFileV9 } from '@pnpm/lockfile.types';
|
|
2
|
+
/**
|
|
3
|
+
* Convert lockfile v9 object to standard lockfile object.
|
|
4
|
+
*
|
|
5
|
+
* This function will mutate the lockfile object. It will:
|
|
6
|
+
* 1. Ensure importers['.'] exists.
|
|
7
|
+
* 2. Merge snapshots and packages into packages.
|
|
8
|
+
* 3. Extract specifier from importers['xxx'] into the specifiers field.
|
|
9
|
+
*/
|
|
10
|
+
export declare function convertLockfileV9ToLockfileObject(lockfile: LockfileFileV9): Lockfile;
|
|
11
|
+
//# sourceMappingURL=PnpmShrinkWrapFileConverters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/PnpmShrinkWrapFileConverters");
|
|
@@ -8,6 +8,11 @@ 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
|
+
}
|
|
11
16
|
export interface IPeerDependenciesMetaYaml {
|
|
12
17
|
optional?: boolean;
|
|
13
18
|
}
|
|
@@ -19,10 +24,10 @@ export interface IPnpmV8VersionSpecifier {
|
|
|
19
24
|
version: string;
|
|
20
25
|
specifier: string;
|
|
21
26
|
}
|
|
22
|
-
export type
|
|
23
|
-
export
|
|
24
|
-
|
|
25
|
-
resolution
|
|
27
|
+
export type IPnpmV9VersionSpecifier = string;
|
|
28
|
+
export type IPnpmVersionSpecifier = IPnpmV7VersionSpecifier | IPnpmV8VersionSpecifier | IPnpmV9VersionSpecifier;
|
|
29
|
+
export interface IPnpmShrinkwrapDependencyYaml extends Omit<PackageSnapshot, 'resolution'> {
|
|
30
|
+
resolution: {
|
|
26
31
|
/** The directory this package should clone, for injected dependencies */
|
|
27
32
|
directory?: string;
|
|
28
33
|
/** The hash of the tarball, to ensure archive integrity */
|
|
@@ -30,101 +35,51 @@ export interface IPnpmShrinkwrapDependencyYaml {
|
|
|
30
35
|
/** The name of the tarball, if this was from a TGZ file */
|
|
31
36
|
tarball?: string;
|
|
32
37
|
};
|
|
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[];
|
|
56
38
|
}
|
|
57
|
-
export
|
|
58
|
-
|
|
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>;
|
|
39
|
+
export type IPnpmShrinkwrapImporterYaml = ProjectSnapshot;
|
|
40
|
+
export interface IPnpmShrinkwrapYaml extends Lockfile {
|
|
66
41
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
42
|
+
* This interface represents the raw pnpm-lock.YAML file
|
|
43
|
+
* Example:
|
|
44
|
+
* {
|
|
45
|
+
* "dependencies": {
|
|
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
|
+
* }
|
|
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;
|
|
108
72
|
/** The list of resolved version numbers for direct dependencies */
|
|
109
|
-
dependencies
|
|
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>;
|
|
114
|
-
/** URL of the registry which was used */
|
|
115
|
-
registry: string;
|
|
73
|
+
dependencies?: Record<string, string>;
|
|
116
74
|
/** The list of specifiers used to resolve direct dependency versions */
|
|
117
|
-
specifiers
|
|
118
|
-
/**
|
|
119
|
-
|
|
120
|
-
[dependency: string]: string;
|
|
121
|
-
};
|
|
122
|
-
/** The checksum of package extensions fields for extending dependencies */
|
|
123
|
-
packageExtensionsChecksum?: string;
|
|
75
|
+
specifiers?: Record<string, string>;
|
|
76
|
+
/** URL of the registry which was used */
|
|
77
|
+
registry?: string;
|
|
124
78
|
}
|
|
125
79
|
export interface ILoadFromFileOptions {
|
|
126
80
|
withCaching?: boolean;
|
|
127
81
|
}
|
|
82
|
+
export declare function parsePnpm9DependencyKey(dependencyName: string, versionSpecifier: IPnpmVersionSpecifier): DependencySpecifier | undefined;
|
|
128
83
|
/**
|
|
129
84
|
* Given an encoded "dependency key" from the PNPM shrinkwrap file, this parses it into an equivalent
|
|
130
85
|
* DependencySpecifier.
|
|
@@ -148,6 +103,7 @@ export declare class PnpmShrinkwrapFile extends BaseShrinkwrapFile {
|
|
|
148
103
|
private readonly _integrities;
|
|
149
104
|
private _pnpmfileConfiguration;
|
|
150
105
|
private constructor();
|
|
106
|
+
static getLockfileV9PackageId(name: string, version: string): string;
|
|
151
107
|
static loadFromFile(shrinkwrapYamlFilePath: string, { withCaching }?: ILoadFromFileOptions): PnpmShrinkwrapFile | undefined;
|
|
152
108
|
static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile;
|
|
153
109
|
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");
|