@rushstack/package-extractor
Version:
A library for bundling selected files and dependencies into a deployable package.
52 lines • 1.99 kB
TypeScript
import { type FileSystemStats } from '@rushstack/node-core-library';
import type { IExtractorOptions } from './PackageExtractor';
import type { SymlinkAnalyzer } from './SymlinkAnalyzer';
export interface IIncludeAssetOptions {
sourceFilePath?: string;
sourceFileStats?: FileSystemStats;
sourceFileContent?: string | Buffer;
targetFilePath: string;
ignoreIfExisting?: boolean;
}
export interface IIncludeAssetPathOptions extends IIncludeAssetOptions {
sourceFilePath: string;
sourceFileContent?: never;
}
export interface IIncludeExistingAssetPathOptions extends IIncludeAssetOptions {
sourceFilePath?: never;
sourceFileContent?: never;
}
export interface IIncludeAssetContentOptions extends IIncludeAssetOptions {
sourceFileContent: string | Buffer;
sourceFilePath?: never;
sourceFileStats?: never;
}
export interface IAssetHandlerOptions extends IExtractorOptions {
symlinkAnalyzer: SymlinkAnalyzer;
}
export interface IFinalizeOptions {
onAfterExtractSymlinksAsync: () => Promise<void>;
}
export declare class AssetHandler {
private readonly _terminal;
private readonly _sourceRootFolder;
private readonly _targetRootFolder;
private readonly _createArchiveOnly;
private readonly _symlinkAnalyzer;
private readonly _archiveManager;
private readonly _archiveFilePath;
private readonly _linkCreationMode;
private readonly _includedAssetPaths;
private _isFinalized;
constructor(options: IAssetHandlerOptions);
includeAssetAsync(options: IIncludeAssetPathOptions): Promise<void>;
includeAssetAsync(options: IIncludeExistingAssetPathOptions): Promise<void>;
includeAssetAsync(options: IIncludeAssetContentOptions): Promise<void>;
get assetPaths(): string[];
finalizeAsync(options?: IFinalizeOptions): Promise<void>;
/**
* Create a symlink as described by the ILinkInfo object.
*/
private _extractSymlinkAsync;
}
//# sourceMappingURL=AssetHandler.d.ts.map