| import * as ESTree from 'estree'; | |
| import { EventEmitter } from 'events'; | |
| export const VERSION: string; | |
| export interface RollupError extends RollupLogProps { | |
| stack?: string; | |
| watchFiles?: string[]; | |
| } | |
| export interface RollupWarning extends RollupLogProps { | |
| exporter?: string; | |
| exportName?: string; | |
| guess?: string; | |
| importer?: string; | |
| missing?: string; | |
| modules?: string[]; | |
| names?: string[]; | |
| reexporter?: string; | |
| source?: string; | |
| sources?: string[]; | |
| } | |
| export interface RollupLogProps { | |
| code?: string; | |
| frame?: string; | |
| hook?: string; | |
| id?: string; | |
| loc?: { | |
| column: number; | |
| file?: string; | |
| line: number; | |
| }; | |
| message: string; | |
| name?: string; | |
| plugin?: string; | |
| pluginCode?: string; | |
| pos?: number; | |
| url?: string; | |
| } | |
| export type SourceMapSegment = | |
| | [number] | |
| | [number, number, number, number] | |
| | [number, number, number, number, number]; | |
| export interface ExistingDecodedSourceMap { | |
| file?: string; | |
| mappings: SourceMapSegment[][]; | |
| names: string[]; | |
| sourceRoot?: string; | |
| sources: string[]; | |
| sourcesContent?: string[]; | |
| version: number; | |
| } | |
| export interface ExistingRawSourceMap { | |
| file?: string; | |
| mappings: string; | |
| names: string[]; | |
| sourceRoot?: string; | |
| sources: string[]; | |
| sourcesContent?: string[]; | |
| version: number; | |
| } | |
| export type DecodedSourceMapOrMissing = | |
| | { | |
| mappings?: never; | |
| missing: true; | |
| plugin: string; | |
| } | |
| | ExistingDecodedSourceMap; | |
| export interface SourceMap { | |
| file: string; | |
| mappings: string; | |
| names: string[]; | |
| sources: string[]; | |
| sourcesContent: string[]; | |
| version: number; | |
| toString(): string; | |
| toUrl(): string; | |
| } | |
| export type SourceMapInput = ExistingRawSourceMap | string | null | { mappings: '' }; | |
| export interface SourceDescription { | |
| ast?: ESTree.Program; | |
| code: string; | |
| map?: SourceMapInput; | |
| moduleSideEffects?: boolean | null; | |
| } | |
| export interface TransformSourceDescription extends SourceDescription { | |
| dependencies?: string[]; | |
| } | |
| export interface TransformModuleJSON { | |
| ast: ESTree.Program; | |
| code: string; | |
| // note if plugins use new this.cache to opt-out auto transform cache | |
| customTransformCache: boolean; | |
| moduleSideEffects: boolean | null; | |
| originalCode: string; | |
| originalSourcemap: ExistingDecodedSourceMap | null; | |
| resolvedIds?: ResolvedIdMap; | |
| sourcemapChain: DecodedSourceMapOrMissing[]; | |
| transformDependencies: string[]; | |
| } | |
| export interface ModuleJSON extends TransformModuleJSON { | |
| dependencies: string[]; | |
| id: string; | |
| transformFiles: EmittedFile[] | undefined; | |
| } | |
| export interface PluginCache { | |
| delete(id: string): boolean; | |
| get<T = any>(id: string): T; | |
| has(id: string): boolean; | |
| set<T = any>(id: string, value: T): void; | |
| } | |
| export interface MinimalPluginContext { | |
| meta: PluginContextMeta; | |
| } | |
| export interface EmittedAsset { | |
| fileName?: string; | |
| name?: string; | |
| source?: string | Buffer; | |
| type: 'asset'; | |
| } | |
| export interface EmittedChunk { | |
| fileName?: string; | |
| id: string; | |
| name?: string; | |
| type: 'chunk'; | |
| } | |
| export type EmittedFile = EmittedAsset | EmittedChunk; | |
| export type EmitAsset = (name: string, source?: string | Buffer) => string; | |
| export type EmitChunk = (id: string, options?: { name?: string }) => string; | |
| export type EmitFile = (emittedFile: EmittedFile) => string; | |
| export interface PluginContext extends MinimalPluginContext { | |
| addWatchFile: (id: string) => void; | |
| cache: PluginCache; | |
| /** @deprecated Use `this.emitFile` instead */ | |
| emitAsset: EmitAsset; | |
| /** @deprecated Use `this.emitFile` instead */ | |
| emitChunk: EmitChunk; | |
| emitFile: EmitFile; | |
| error: (err: RollupError | string, pos?: number | { column: number; line: number }) => never; | |
| /** @deprecated Use `this.getFileName` instead */ | |
| getAssetFileName: (assetReferenceId: string) => string; | |
| /** @deprecated Use `this.getFileName` instead */ | |
| getChunkFileName: (chunkReferenceId: string) => string; | |
| getFileName: (fileReferenceId: string) => string; | |
| getModuleInfo: ( | |
| moduleId: string | |
| ) => { | |
| hasModuleSideEffects: boolean; | |
| id: string; | |
| importedIds: string[]; | |
| isEntry: boolean; | |
| isExternal: boolean; | |
| }; | |
| /** @deprecated Use `this.resolve` instead */ | |
| isExternal: IsExternal; | |
| moduleIds: IterableIterator<string>; | |
| parse: (input: string, options: any) => ESTree.Program; | |
| resolve: ( | |
| source: string, | |
| importer: string, | |
| options?: { skipSelf: boolean } | |
| ) => Promise<ResolvedId | null>; | |
| /** @deprecated Use `this.resolve` instead */ | |
| resolveId: (source: string, importer: string) => Promise<string | null>; | |
| setAssetSource: (assetReferenceId: string, source: string | Buffer) => void; | |
| warn: (warning: RollupWarning | string, pos?: number | { column: number; line: number }) => void; | |
| /** @deprecated Use `this.addWatchFile` and the `watchChange` hook instead */ | |
| watcher: EventEmitter; | |
| } | |
| export interface PluginContextMeta { | |
| rollupVersion: string; | |
| } | |
| export interface ResolvedId { | |
| external: boolean; | |
| id: string; | |
| moduleSideEffects: boolean; | |
| } | |
| export interface ResolvedIdMap { | |
| [key: string]: ResolvedId; | |
| } | |
| interface PartialResolvedId { | |
| external?: boolean; | |
| id: string; | |
| moduleSideEffects?: boolean | null; | |
| } | |
| export type ResolveIdResult = string | false | null | undefined | PartialResolvedId; | |
| export type ResolveIdHook = ( | |
| this: PluginContext, | |
| source: string, | |
| importer: string | undefined | |
| ) => Promise<ResolveIdResult> | ResolveIdResult; | |
| export type IsExternal = ( | |
| source: string, | |
| importer: string, | |
| isResolved: boolean | |
| ) => boolean | null | undefined; | |
| export type IsPureModule = (id: string) => boolean | null | undefined; | |
| export type HasModuleSideEffects = (id: string, external: boolean) => boolean; | |
| export type LoadHook = ( | |
| this: PluginContext, | |
| id: string | |
| ) => Promise<SourceDescription | string | null> | SourceDescription | string | null; | |
| export type TransformResult = string | null | undefined | TransformSourceDescription; | |
| export type TransformHook = ( | |
| this: PluginContext, | |
| code: string, | |
| id: string | |
| ) => Promise<TransformResult> | TransformResult; | |
| export type TransformChunkHook = ( | |
| this: PluginContext, | |
| code: string, | |
| options: OutputOptions | |
| ) => | |
| | Promise<{ code: string; map?: SourceMapInput } | null | undefined> | |
| | { code: string; map?: SourceMapInput } | |
| | null | |
| | undefined; | |
| export type RenderChunkHook = ( | |
| this: PluginContext, | |
| code: string, | |
| chunk: RenderedChunk, | |
| options: OutputOptions | |
| ) => | |
| | Promise<{ code: string; map?: SourceMapInput } | null> | |
| | { code: string; map?: SourceMapInput } | |
| | string | |
| | null; | |
| export type ResolveDynamicImportHook = ( | |
| this: PluginContext, | |
| specifier: string | ESTree.Node, | |
| importer: string | |
| ) => Promise<ResolveIdResult> | ResolveIdResult; | |
| export type ResolveImportMetaHook = ( | |
| this: PluginContext, | |
| prop: string | null, | |
| options: { chunkId: string; format: string; moduleId: string } | |
| ) => string | null | undefined; | |
| export type ResolveAssetUrlHook = ( | |
| this: PluginContext, | |
| options: { | |
| assetFileName: string; | |
| chunkId: string; | |
| format: string; | |
| moduleId: string; | |
| relativeAssetPath: string; | |
| } | |
| ) => string | null | undefined; | |
| export type ResolveFileUrlHook = ( | |
| this: PluginContext, | |
| options: { | |
| assetReferenceId: string | null; | |
| chunkId: string; | |
| chunkReferenceId: string | null; | |
| fileName: string; | |
| format: string; | |
| moduleId: string; | |
| referenceId: string; | |
| relativePath: string; | |
| } | |
| ) => string | null | undefined; | |
| export type AddonHook = string | ((this: PluginContext) => string | Promise<string>); | |
| /** | |
| * use this type for plugin annotation | |
| * @example | |
| * ```ts | |
| * interface Options { | |
| * ... | |
| * } | |
| * const myPlugin: PluginImpl<Options> = (options = {}) => { ... } | |
| * ``` | |
| */ | |
| export type PluginImpl<O extends object = object> = (options?: O) => Plugin; | |
| export interface OutputBundle { | |
| [fileName: string]: OutputAsset | OutputChunk; | |
| } | |
| export interface FilePlaceholder { | |
| type: 'placeholder'; | |
| } | |
| export interface OutputBundleWithPlaceholders { | |
| [fileName: string]: OutputAsset | OutputChunk | FilePlaceholder; | |
| } | |
| interface OnGenerateOptions extends OutputOptions { | |
| bundle: OutputChunk; | |
| } | |
| interface OnWriteOptions extends OutputOptions { | |
| bundle: RollupBuild; | |
| } | |
| export interface PluginHooks { | |
| augmentChunkHash: (this: PluginContext, chunk: PreRenderedChunk) => string | void; | |
| buildEnd: (this: PluginContext, err?: Error) => Promise<void> | void; | |
| buildStart: (this: PluginContext, options: InputOptions) => Promise<void> | void; | |
| generateBundle: ( | |
| this: PluginContext, | |
| options: OutputOptions, | |
| bundle: OutputBundle, | |
| isWrite: boolean | |
| ) => void | Promise<void>; | |
| load: LoadHook; | |
| /** @deprecated Use `generateBundle` instead */ | |
| ongenerate: ( | |
| this: PluginContext, | |
| options: OnGenerateOptions, | |
| chunk: OutputChunk | |
| ) => void | Promise<void>; | |
| /** @deprecated Use `writeBundle` instead */ | |
| onwrite: ( | |
| this: PluginContext, | |
| options: OnWriteOptions, | |
| chunk: OutputChunk | |
| ) => void | Promise<void>; | |
| options: (this: MinimalPluginContext, options: InputOptions) => InputOptions | null | undefined; | |
| outputOptions: (this: PluginContext, options: OutputOptions) => OutputOptions | null | undefined; | |
| renderChunk: RenderChunkHook; | |
| renderError: (this: PluginContext, err?: Error) => Promise<void> | void; | |
| renderStart: (this: PluginContext) => Promise<void> | void; | |
| /** @deprecated Use `resolveFileUrl` instead */ | |
| resolveAssetUrl: ResolveAssetUrlHook; | |
| resolveDynamicImport: ResolveDynamicImportHook; | |
| resolveFileUrl: ResolveFileUrlHook; | |
| resolveId: ResolveIdHook; | |
| resolveImportMeta: ResolveImportMetaHook; | |
| transform: TransformHook; | |
| /** @deprecated Use `renderChunk` instead */ | |
| transformBundle: TransformChunkHook; | |
| /** @deprecated Use `renderChunk` instead */ | |
| transformChunk: TransformChunkHook; | |
| watchChange: (id: string) => void; | |
| writeBundle: (this: PluginContext, bundle: OutputBundle) => void | Promise<void>; | |
| } | |
| export interface Plugin extends Partial<PluginHooks> { | |
| banner?: AddonHook; | |
| cacheKey?: string; | |
| footer?: AddonHook; | |
| intro?: AddonHook; | |
| name: string; | |
| outro?: AddonHook; | |
| } | |
| export interface TreeshakingOptions { | |
| annotations?: boolean; | |
| moduleSideEffects?: ModuleSideEffectsOption; | |
| propertyReadSideEffects?: boolean; | |
| /** @deprecated Use `moduleSideEffects` instead */ | |
| pureExternalModules?: PureModulesOption; | |
| tryCatchDeoptimization?: boolean; | |
| unknownGlobalSideEffects?: boolean; | |
| } | |
| export type GetManualChunk = (id: string) => string | null | undefined; | |
| export type ExternalOption = string[] | IsExternal; | |
| export type PureModulesOption = boolean | string[] | IsPureModule; | |
| export type GlobalsOption = { [name: string]: string } | ((name: string) => string); | |
| export type InputOption = string | string[] | { [entryAlias: string]: string }; | |
| export type ManualChunksOption = { [chunkAlias: string]: string[] } | GetManualChunk; | |
| export type ModuleSideEffectsOption = boolean | 'no-external' | string[] | HasModuleSideEffects; | |
| export interface InputOptions { | |
| acorn?: any; | |
| acornInjectPlugins?: Function[]; | |
| cache?: false | RollupCache; | |
| chunkGroupingSize?: number; | |
| context?: string; | |
| experimentalCacheExpiry?: number; | |
| experimentalOptimizeChunks?: boolean; | |
| experimentalTopLevelAwait?: boolean; | |
| external?: ExternalOption; | |
| inlineDynamicImports?: boolean; | |
| input?: InputOption; | |
| manualChunks?: ManualChunksOption; | |
| moduleContext?: ((id: string) => string) | { [id: string]: string }; | |
| onwarn?: WarningHandlerWithDefault; | |
| perf?: boolean; | |
| plugins?: Plugin[]; | |
| preserveModules?: boolean; | |
| preserveSymlinks?: boolean; | |
| shimMissingExports?: boolean; | |
| strictDeprecations?: boolean; | |
| treeshake?: boolean | TreeshakingOptions; | |
| watch?: WatcherOptions; | |
| } | |
| export type ModuleFormat = | |
| | 'amd' | |
| | 'cjs' | |
| | 'commonjs' | |
| | 'es' | |
| | 'esm' | |
| | 'iife' | |
| | 'module' | |
| | 'system' | |
| | 'umd'; | |
| export type OptionsPaths = Record<string, string> | ((id: string) => string); | |
| export interface OutputOptions { | |
| amd?: { | |
| define?: string; | |
| id?: string; | |
| }; | |
| assetFileNames?: string; | |
| banner?: string | (() => string | Promise<string>); | |
| chunkFileNames?: string; | |
| compact?: boolean; | |
| // only required for bundle.write | |
| dir?: string; | |
| dynamicImportFunction?: string; | |
| entryFileNames?: string; | |
| esModule?: boolean; | |
| exports?: 'default' | 'named' | 'none' | 'auto'; | |
| extend?: boolean; | |
| externalLiveBindings?: boolean; | |
| // only required for bundle.write | |
| file?: string; | |
| footer?: string | (() => string | Promise<string>); | |
| // this is optional at the base-level of RollupWatchOptions, | |
| // which extends from this interface through config merge | |
| format?: ModuleFormat; | |
| freeze?: boolean; | |
| globals?: GlobalsOption; | |
| importMetaUrl?: (chunkId: string, moduleId: string) => string; | |
| indent?: boolean; | |
| interop?: boolean; | |
| intro?: string | (() => string | Promise<string>); | |
| name?: string; | |
| namespaceToStringTag?: boolean; | |
| noConflict?: boolean; | |
| outro?: string | (() => string | Promise<string>); | |
| paths?: OptionsPaths; | |
| preferConst?: boolean; | |
| sourcemap?: boolean | 'inline' | 'hidden'; | |
| sourcemapExcludeSources?: boolean; | |
| sourcemapFile?: string; | |
| sourcemapPathTransform?: (sourcePath: string) => string; | |
| strict?: boolean; | |
| } | |
| export type WarningHandlerWithDefault = ( | |
| warning: string | RollupWarning, | |
| defaultHandler: WarningHandler | |
| ) => void; | |
| export type WarningHandler = (warning: string | RollupWarning) => void; | |
| export interface SerializedTimings { | |
| [label: string]: [number, number, number]; | |
| } | |
| export interface OutputAsset { | |
| fileName: string; | |
| /** @deprecated Accessing "isAsset" on files in the bundle is deprecated, please use "type === \'asset\'" instead */ | |
| isAsset: true; | |
| source: string | Buffer; | |
| type: 'asset'; | |
| } | |
| export interface RenderedModule { | |
| originalLength: number; | |
| removedExports: string[]; | |
| renderedExports: string[]; | |
| renderedLength: number; | |
| } | |
| export interface PreRenderedChunk { | |
| dynamicImports: string[]; | |
| exports: string[]; | |
| facadeModuleId: string | null; | |
| imports: string[]; | |
| isDynamicEntry: boolean; | |
| isEntry: boolean; | |
| modules: { | |
| [id: string]: RenderedModule; | |
| }; | |
| name: string; | |
| } | |
| export interface RenderedChunk extends PreRenderedChunk { | |
| fileName: string; | |
| } | |
| export interface OutputChunk extends RenderedChunk { | |
| code: string; | |
| map?: SourceMap; | |
| type: 'chunk'; | |
| } | |
| export interface SerializablePluginCache { | |
| [key: string]: [number, any]; | |
| } | |
| export interface RollupCache { | |
| modules: ModuleJSON[]; | |
| plugins?: Record<string, SerializablePluginCache>; | |
| } | |
| export interface RollupOutput { | |
| output: [OutputChunk, ...(OutputChunk | OutputAsset)[]]; | |
| } | |
| export interface RollupBuild { | |
| cache: RollupCache; | |
| generate: (outputOptions: OutputOptions) => Promise<RollupOutput>; | |
| getTimings?: () => SerializedTimings; | |
| watchFiles: string[]; | |
| write: (options: OutputOptions) => Promise<RollupOutput>; | |
| } | |
| export interface RollupOptions extends InputOptions { | |
| output?: OutputOptions; | |
| } | |
| export function rollup(options: RollupOptions): Promise<RollupBuild>; | |
| // chokidar watch options | |
| export interface WatchOptions { | |
| alwaysStat?: boolean; | |
| atomic?: boolean | number; | |
| awaitWriteFinish?: | |
| | { | |
| pollInterval?: number; | |
| stabilityThreshold?: number; | |
| } | |
| | boolean; | |
| binaryInterval?: number; | |
| cwd?: string; | |
| depth?: number; | |
| disableGlobbing?: boolean; | |
| followSymlinks?: boolean; | |
| ignored?: any; | |
| ignoreInitial?: boolean; | |
| ignorePermissionErrors?: boolean; | |
| interval?: number; | |
| persistent?: boolean; | |
| useFsEvents?: boolean; | |
| usePolling?: boolean; | |
| } | |
| export interface WatcherOptions { | |
| chokidar?: boolean | WatchOptions; | |
| clearScreen?: boolean; | |
| exclude?: string[]; | |
| include?: string[]; | |
| } | |
| export interface RollupWatchOptions extends InputOptions { | |
| output?: OutputOptions | OutputOptions[]; | |
| watch?: WatcherOptions; | |
| } | |
| export interface RollupWatcher extends EventEmitter { | |
| close(): void; | |
| } | |
| export function watch(configs: RollupWatchOptions[]): RollupWatcher; |