New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@rushstack/rush-sdk

Package Overview
Dependencies
Maintainers
3
Versions
285
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rushstack/rush-sdk - npm Package Compare versions

Comparing version 5.109.0 to 5.109.1-pr3481.21

lib/api/base/BaseFlag.d.ts

5

lib/api/ExperimentsConfiguration.d.ts

@@ -45,2 +45,7 @@ /**

/**
* If true, rush install or rush update implicitly specify --ignore-scripts during pnpm install,
* and run install lifecycle scripts by pnpm rebuild --pending after pnpm install successfully.
*/
deferredInstallationScripts?: boolean;
/**
* If true, perform a clean install after when running `rush install` or `rush update` if the

@@ -47,0 +52,0 @@ * `.npmrc` file has changed since the last install.

79

lib/api/LastInstallFlag.d.ts

@@ -1,7 +0,53 @@

import { type JsonObject } from '@rushstack/node-core-library';
import { type IPackageJson } from '@rushstack/node-core-library';
import { BaseFlag } from './base/BaseFlag';
import type { PackageManagerName } from './packageManager/PackageManager';
import type { RushConfiguration } from './RushConfiguration';
export declare const LAST_INSTALL_FLAG_FILE_NAME: string;
/**
* This represents the JSON data structure for the "last-install.flag" file.
* @internal
*/
export interface ILastInstallFlagJson {
/**
* Current node version
*/
node: string;
/**
* Current package manager name
*/
packageManager: PackageManagerName;
/**
* Current package manager version
*/
packageManagerVersion: string;
/**
* Current rush json folder
*/
rushJsonFolder: string;
/**
* The content of package.json, used in the flag file of autoinstaller
*/
packageJson?: IPackageJson;
/**
* Same with pnpmOptions.pnpmStorePath in rush.json
*/
storePath?: string;
/**
* True when "useWorkspaces" is true in rush.json
*/
workspaces?: true;
/**
* True when user explicitly specify "--ignore-scripts" CLI parameter or deferredInstallationScripts
*/
ignoreScripts?: true;
/**
* When specified, it is a list of selected projects during partial install
* It is undefined when full install
*/
selectedProjectNames?: string[];
[key: string]: unknown;
}
/**
* @internal
*/
export interface ILockfileValidityCheckOptions {

@@ -18,15 +64,5 @@ statePropertiesToIgnore?: string[];

*/
export declare class LastInstallFlag {
private _state;
export declare class LastInstallFlag extends BaseFlag<ILastInstallFlagJson> {
/**
* Returns the full path to the flag file
*/
readonly path: string;
/**
* Creates a new LastInstall flag
* @param folderPath - the folder that this flag is managing
* @param state - optional, the state that should be managed or compared
*/
constructor(folderPath: string, state?: JsonObject);
/**
* @override
* Returns true if the file exists and the contents match the current state.

@@ -46,10 +82,2 @@ */

/**
* Writes the flag file to disk with the current state
*/
create(): void;
/**
* Removes the flag file
*/
clear(): void;
/**
* Returns the name of the flag file

@@ -74,3 +102,12 @@ */

static getCommonTempFlag(rushConfiguration: RushConfiguration, extraState?: Record<string, string>): LastInstallFlag;
/**
* Gets the LastInstall flag and sets the current state. This state is used to compare
* against the last-known-good state tracked by the LastInstall flag.
* @param rushConfiguration - the configuration of the Rush repo to get the install
* state from
*
* @internal
*/
static getCommonTempSplitFlag(rushConfiguration: RushConfiguration): LastInstallFlag;
}
//# sourceMappingURL=LastInstallFlag.d.ts.map

@@ -1,2 +0,2 @@

import { LastInstallFlag } from './LastInstallFlag';
import { BaseFlag } from './base/BaseFlag';
import type { RushConfiguration } from './RushConfiguration';

@@ -9,10 +9,6 @@ export declare const LAST_LINK_FLAG_FILE_NAME: string;

*/
export declare class LastLinkFlag extends LastInstallFlag {
export declare class LastLinkFlag extends BaseFlag {
/**
* @override
*/
isValid(): boolean;
/**
* @override
*/
checkValidAndReportStoreIssues(): boolean;

@@ -19,0 +15,0 @@ /**

@@ -14,5 +14,19 @@ import { PackageManager } from './PackageManager';

readonly pnpmfileFilename: string;
/**
* The filename of the shrinkwrap file of split workspace that is used by the package manager.
*
* @remarks
* Example: `.pnpmfile-split-workspace.cjs`
*/
splitWorkspacePnpmfileFilename: string;
/** @internal */
constructor(version: string);
/**
* The filename of the global shrinkwrap file that is used by the package manager.
*
* @remarks
* Example: `global-pnpmfile.cjs`
*/
get globalPnpmfileFilename(): string;
}
//# sourceMappingURL=PnpmPackageManager.d.ts.map

@@ -122,2 +122,11 @@ import { type JsonNull, type PackageNameParser } from '@rushstack/node-core-library';

/**
* The filter parameters to search from all projects.
*/
export interface IRushConfigurationProjectsFilter {
/**
* If true, filter out projects that specify splitWorkspace as true.
*/
splitWorkspace: boolean;
}
/**
* Options for `RushConfiguration.tryFindRushJsonLocation`.

@@ -148,2 +157,4 @@ * @public

private _projectsByTag;
private _filteredProjectsCache;
private _hasSplitWorkspaceProject;
private _commonVersionsConfigurationsByVariant;

@@ -204,2 +215,8 @@ /**

/**
* The folder where temporary files will be stored. This is always a subfolder called "temp"
* under the common folder.
* Example: `C:\MyRepo\common\temp-split`
*/
readonly commonTempSplitFolder: string;
/**
* The folder where automation scripts are stored. This is always a subfolder called "scripts"

@@ -259,2 +276,17 @@ * under the common folder.

/**
* The filename (without any path) of the shrinkwrap file for split workspace that is used by the package manager.
* @remarks
* This property merely reports the filename; the file itself may not actually exist.
* Example: `pnpm-lock.yaml`
*/
readonly splitWorkspaceShrinkwrapFilename: string;
/**
* The full path of the temporary shrinkwrap file for split workspace that is used during
* "rush install". This file may get rewritten by the package manager during installation.
* @remarks
* This property merely reports the filename; the file itself may not actually exist.
* Example: `C:\MyRepo\common\temp-split\pnpm-lock.yaml`
*/
readonly tempSplitWorkspaceShrinkwrapFilename: string;
/**
* The filename of the variant dependency data file. By default this is

@@ -526,2 +558,7 @@ * called 'current-variant.json' resides in the Rush common folder.

/**
* Search for projects according to filter
* @beta
*/
getFilteredProjects(filter: IRushConfigurationProjectsFilter): RushConfigurationProject[];
/**
* Settings from the common-versions.json config file.

@@ -545,2 +582,6 @@ * @remarks

/**
* Is there any split workspace project.
*/
get hasSplitWorkspaceProject(): boolean;
/**
* Gets the path to the common-versions.json config file for a specific variant.

@@ -578,2 +619,7 @@ * @param variant - The name of the current variant in use by the active command.

/**
* Gets the committed shrinkwrap file name for split workspace.
* @param variant - The name of the current variant in use by the active command.
*/
getCommittedSplitWorkspaceShrinkwrapFilename(): string;
/**
* Gets the absolute path for "pnpmfile.js" for a specific variant.

@@ -613,3 +659,9 @@ * @param variant - The name of the current variant in use by the active command.

private _getVariantConfigFolderPath;
/**
* Split workspace can only works on PNPM with "useWorkspaces" enabled.
* The workspace project can NOT depend on a split workspace project.
* The split workspace project CAN depend on a workspace project.
*/
private _validateSplitWorkspaceRelationships;
}
//# sourceMappingURL=RushConfiguration.d.ts.map

@@ -19,2 +19,3 @@ import { type IPackageJson } from '@rushstack/node-core-library';

tags?: string[];
splitWorkspace?: boolean;
}

@@ -155,2 +156,7 @@ /**

readonly tags: ReadonlySet<string>;
/**
* Whether this project is a split workspace project.
* @beta
*/
readonly splitWorkspace: boolean;
/** @internal */

@@ -157,0 +163,0 @@ constructor(options: IRushConfigurationProjectOptions);

@@ -6,2 +6,9 @@ import { BaseInstallAction } from './BaseInstallAction';

private readonly _checkOnlyParameter;
private _ignoreScriptsParameter;
/**
* Whether split workspace projects are included in install
*
* This parameter only supported when there is split workspace project
*/
private _includeSplitWorkspaceParameter?;
constructor(parser: RushCommandLineParser);

@@ -8,0 +15,0 @@ protected buildInstallOptionsAsync(): Promise<IInstallManagerOptions>;

@@ -37,2 +37,6 @@ import { BaseRushAction } from './BaseRushAction';

tags: string[];
/**
* @see {@link ../../api/RushConfigurationProject#RushConfigurationProject.splitWorkspace | RushConfigurationProject.splitWorkspace}
*/
splitWorkspace: boolean;
}

@@ -39,0 +43,0 @@ export interface IJsonOutput {

@@ -7,2 +7,9 @@ import { BaseInstallAction } from './BaseInstallAction';

private readonly _recheckParameter;
private _ignoreScriptsParameter;
/**
* Whether split workspace projects are included in update
*
* This parameter only supported when there is split workspace project
*/
private _includeSplitWorkspaceParameter?;
constructor(parser: RushCommandLineParser);

@@ -9,0 +16,0 @@ protected runAsync(): Promise<void>;

@@ -23,4 +23,12 @@ import { type ITerminal } from '@rushstack/node-core-library';

private readonly _selectorParserByScope;
private readonly _selectors;
private _isSelectionSpecified;
constructor(rushConfiguration: RushConfiguration, action: CommandLineParameterProvider, gitOptions: IGitSelectorParserOptions);
/**
* Check if any of the selection parameters have a value specified on the command line
*
* Returns true if specifying any selection parameters, otherwise false.
*/
get isSelectionSpecified(): boolean;
/**
* Computes the set of selected projects based on all parameter values.

@@ -32,3 +40,3 @@ *

/**
* Represents the selection as `--filter` parameters to pnpm.
* Represents the selection as `--filter` parameters to pnpm, and selected projects when partial install
*

@@ -38,5 +46,10 @@ * @remarks

*
* @see https://pnpm.js.org/en/filtering
* @see https://pnpm.io/filtering
*/
getPnpmFilterArgumentsAsync(terminal: ITerminal): Promise<string[]>;
getPnpmFilterArgumentsAsync(terminal: ITerminal): Promise<{
pnpmFilterArguments: string[];
splitWorkspacePnpmFilterArguments: string[];
selectedProjects: Set<RushConfigurationProject> | undefined;
hasSelectSplitWorkspaceProject: boolean;
}>;
/**

@@ -53,3 +66,4 @@ * Usage telemetry for selection parameters. Only saved locally, and if requested in the config.

private _evaluateProjectParameterAsync;
toArguments(): string[];
}
//# sourceMappingURL=SelectionParameterSet.d.ts.map
import { type ILaunchOptions } from '../api/Rush';
/**
* @internal
*/
export interface ILaunchRushXInternalOptions {
isManaged: boolean;
alreadyReportedNodeTooNewError?: boolean;
}
export declare class RushXCommandLine {

@@ -3,0 +10,0 @@ static launchRushX(launcherVersion: string, options: ILaunchOptions): void;

@@ -30,3 +30,4 @@ /**

export { ChangeManager } from './api/ChangeManager';
export { LastInstallFlag as _LastInstallFlag, ILockfileValidityCheckOptions as _ILockfileValidityCheckOptions } from './api/LastInstallFlag';
export { LastInstallFlag as _LastInstallFlag, ILastInstallFlagJson as _ILastInstallFlagJson, ILockfileValidityCheckOptions as _ILockfileValidityCheckOptions } from './api/LastInstallFlag';
export { BaseFlag as _BaseFlag } from './api/base/BaseFlag';
export { VersionPolicyDefinitionName, BumpType, LockStepVersionPolicy, IndividualVersionPolicy, VersionPolicy } from './api/VersionPolicy';

@@ -33,0 +34,0 @@ export { VersionPolicyConfiguration } from './api/VersionPolicyConfiguration';

@@ -0,1 +1,3 @@

import type { SelectionParameterSet } from '../../cli/parsing/SelectionParameterSet';
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
export interface IInstallManagerOptions {

@@ -77,3 +79,24 @@ /**

beforeInstallAsync?: () => Promise<void>;
/**
* Whether to specify "--ignore-scripts" command-line parameter, which ignores
* install lifecycle scripts in package.json and its dependencies
*/
ignoreScripts: boolean;
/**
* Whether to install for projects in split workspace
*/
includeSplitWorkspace: boolean;
/**
* Filters to be passed to PNPM during installation for split workspace.
*/
splitWorkspacePnpmFilterArguments: string[];
/**
* Selected projects during partial install.
*/
selectedProjects?: Set<RushConfigurationProject>;
/**
* Selection parameters for partial install.
*/
selectionParameters?: SelectionParameterSet;
}
//# sourceMappingURL=BaseInstallManagerTypes.d.ts.map

@@ -6,2 +6,3 @@ /// <reference types="node" />

static generateCommonPackageJson(rushConfiguration: RushConfiguration, dependencies?: Map<string, string>): void;
static generateCommonSplitPackageJson(rushConfiguration: RushConfiguration): void;
static getPackageManagerEnvironment(rushConfiguration: RushConfiguration, options?: {

@@ -8,0 +9,0 @@ debug?: boolean;

import type { LogBase } from '@pnpm/logger';
import type { IPackageJson } from '@rushstack/node-core-library';
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
import type { IPnpmShrinkwrapYaml } from './PnpmShrinkwrapFile';

@@ -22,3 +23,17 @@ /**

}
export interface IWorkspaceProjectInfo extends Pick<RushConfigurationProject, 'packageName' | 'projectRelativeFolder'> {
packageVersion: RushConfigurationProject['packageJson']['version'];
}
/**
* The `settings` parameter passed to {@link IPnpmfileShim.hooks.readPackage} and
* {@link IPnpmfileShim.hooks.afterAllResolved}.
*/
export interface ISplitWorkspacePnpmfileShimSettings {
semverPath: string;
pathNormalizerPath: string;
workspaceProjects: Record<string, IWorkspaceProjectInfo>;
splitWorkspaceProjects: Record<string, IWorkspaceProjectInfo>;
userPnpmfilePath?: string;
}
/**
* The `context` parameter passed to {@link IPnpmfile.hooks.readPackage}, as defined by the

@@ -30,2 +45,3 @@ * pnpmfile API contract.

pnpmfileShimSettings?: IPnpmfileShimSettings;
splitWorkspacePnpmfileShimSettings?: ISplitWorkspacePnpmfileShimSettings;
}

@@ -32,0 +48,0 @@ /**

import { BaseProjectShrinkwrapFile } from '../base/BaseProjectShrinkwrapFile';
import type { PnpmShrinkwrapFile } from './PnpmShrinkwrapFile';
import { PnpmShrinkwrapFile } from './PnpmShrinkwrapFile';
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
/**

@@ -8,2 +9,7 @@ *

/**
* When split workspace projects turn off shared-workspace-lockfiles, Pnpm creates individual
* shrinkwrap files for each project.
*/
static generateIndividualProjectShrinkwrapAsync(project: RushConfigurationProject): Promise<void>;
/**
* Generate and write the project shrinkwrap file to <project>/.rush/temp/shrinkwrap-deps.json.

@@ -20,2 +26,3 @@ * @returns True if the project shrinkwrap was created or updated, false otherwise.

protected generateLegacyProjectShrinkwrapMap(): Map<string, string>;
protected generateIndividualProjectShrinkwrapMap(): Map<string, string>;
private _addDependencyRecursive;

@@ -22,0 +29,0 @@ private _resolveAndAddPeerDependencies;

@@ -7,2 +7,3 @@ import { BaseShrinkwrapFile } from '../base/BaseShrinkwrapFile';

import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
import { SplitWorkspacePnpmfileConfiguration } from './SplitWorkspacePnpmfileConfiguration';
import { PnpmProjectShrinkwrapFile } from './PnpmProjectShrinkwrapFile';

@@ -90,2 +91,6 @@ import type { PackageManagerOptionsConfigurationBase } from '../base/BasePackageManagerOptionsConfiguration';

dependencies: Record<string, string>;
/** The list of resolved version numbers for dev dependencies */
devDependencies: Record<string, string>;
/** The list of resolved version numbers for optional dependencies */
optionalDependencies: Record<string, string>;
/** The list of importers for local workspace projects */

@@ -117,2 +122,4 @@ importers: Record<string, IPnpmShrinkwrapImporterYaml>;

readonly dependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
readonly devDependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
readonly optionalDependencies: ReadonlyMap<string, IPnpmVersionSpecifier>;
readonly importers: ReadonlyMap<string, IPnpmShrinkwrapImporterYaml>;

@@ -125,5 +132,10 @@ readonly specifiers: ReadonlyMap<string, string>;

private _pnpmfileConfiguration;
private _splitWorkspaceGlobalPnpmfileConfiguration;
private _individualPackageName;
private _individualShrinkwrapImporter;
private constructor();
static loadFromFile(shrinkwrapYamlFilename: string): PnpmShrinkwrapFile | undefined;
static loadFromString(shrinkwrapContent: string): PnpmShrinkwrapFile;
setIndividualPackage(packageName: string, splitWorkspaceGlobalPnpmfileConfiguration?: SplitWorkspacePnpmfileConfiguration): void;
get isIndividual(): boolean;
getShrinkwrapHash(experimentsConfig?: IExperimentsJson): string;

@@ -215,4 +227,8 @@ /** @override */

getIntegrityForImporter(importerKey: string): Map<string, string> | undefined;
getIntegrityForIndividualProject(): Map<string, string>;
/** @override */
isWorkspaceProjectModifiedAsync(project: RushConfigurationProject, variant?: string): Promise<boolean>;
isSplitWorkspaceProjectModified(project: RushConfigurationProject): boolean;
isSplitWorkspaceIndividualProjectModified(project: RushConfigurationProject): boolean;
private _isProjectModified;
private _getIntegrityForPackage;

@@ -227,3 +243,4 @@ private _addIntegrities;

private _serializeInternal;
private _getIndividualShrinkwrapImporter;
}
//# sourceMappingURL=PnpmShrinkwrapFile.d.ts.map

@@ -12,2 +12,3 @@ import { AsyncRecycler } from '../utilities/AsyncRecycler';

readonly commonTempFolderRecycler: AsyncRecycler;
readonly commonTempSplitFolderRecycler: AsyncRecycler;
constructor(rushConfiguration: RushConfiguration, rushGlobalFolder: RushGlobalFolder);

@@ -14,0 +15,0 @@ /**

@@ -47,2 +47,8 @@ /**

/**
* The folder name ("temp-split") under the common folder, or under the .rush folder in each project's directory where
* temporary files will be stored.
* Example: `C:\MyRepo\common\temp-split`
*/
static readonly rushTempSplitFolderName: string;
/**
* The folder name ("projects") where temporary projects will be stored.

@@ -49,0 +55,0 @@ * Example: `C:\MyRepo\common\temp\projects`

@@ -14,3 +14,3 @@ import type { RushConfiguration } from '../api/RushConfiguration';

*/
unlink(force?: boolean): boolean;
unlinkAsync(force?: boolean): Promise<boolean>;
/**

@@ -23,4 +23,4 @@ * Delete:

* */
private _deleteProjectFiles;
private _deleteProjectFilesAsync;
}
//# sourceMappingURL=UnlinkManager.d.ts.map

@@ -7,4 +7,6 @@ import { VersionMismatchFinderEntity } from './VersionMismatchFinderEntity';

private _fileManager;
private _project;
constructor(project: RushConfigurationProject);
get filePath(): string;
get project(): RushConfigurationProject;
get allDependencies(): ReadonlyArray<PackageJsonDependency>;

@@ -11,0 +13,0 @@ tryGetDependency(packageName: string): PackageJsonDependency | undefined;

@@ -14,4 +14,4 @@ export interface ILogger {

*/
export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean, logger?: ILogger): string | undefined;
export declare function syncNpmrc(sourceNpmrcFolder: string, targetNpmrcFolder: string, useNpmrcPublish?: boolean, sourceNpmrcFilename?: string, logger?: ILogger): string | undefined;
export declare function isVariableSetInNpmrcFile(sourceNpmrcFolder: string, variableKey: string): boolean;
//# sourceMappingURL=npmrcUtilities.d.ts.map

@@ -7,2 +7,7 @@ /**

export declare function merge<TBase extends object, TOther>(base: TBase, other: TOther): (TBase & TOther) | TOther;
/**
* Performs a partial deep comparison between `obj` and `source` to
* determine if `obj` contains equivalent property values.
*/
export declare function isMatch<TObject>(obj: TObject, source: TObject): boolean;
//# sourceMappingURL=objectUtilities.d.ts.map

@@ -14,2 +14,3 @@ /**

export declare const pnpmfileShimFilename: string;
export declare const splitWorkspacePnpmfileShimFilename: string;
export declare const installRunScriptFilename: string;

@@ -16,0 +17,0 @@ export declare const installRunRushScriptFilename: string;

@@ -109,2 +109,8 @@ /// <reference types="node" />

static dangerouslyDeletePath(folderPath: string): void;
/**
* BE VERY CAREFUL CALLING THIS FUNCTION!
* If you specify the wrong folderPath (e.g. "/"), it could potentially delete your entire
* hard disk.
*/
static dangerouslyDeletePathAsync(folderPath: string): Promise<void>;
static isFileTimestampCurrent(dateToCompare: Date, inputFilenames: string[]): boolean;

@@ -111,0 +117,0 @@ /**

{
"name": "@rushstack/rush-sdk",
"version": "5.109.0",
"version": "5.109.1-pr3481.21",
"description": "An API for interacting with the Rush engine",

@@ -33,3 +33,3 @@ "repository": {

"@types/webpack-env": "1.18.0",
"@microsoft/rush-lib": "5.109.0",
"@microsoft/rush-lib": "5.109.1-pr3481.21",
"@rushstack/heft": "0.62.3",

@@ -36,0 +36,0 @@ "local-node-rig": "1.0.0",

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc