import type { HeftConfiguration, IHeftTaskPlugin, IHeftTaskSession } from '@rushstack/heft'; import type { IModuleMinifier } from '@rushstack/module-minifier'; import type { GenerateCssClassNameFunction } from '@microsoft/sp-css-loader'; import type { _IManifestsFileMetadata as IManifestsFileMetadata } from '@msinternal/spfx-manifests-file'; import { type IFlightedDependencyConfig, type ISpfxWebpackFolderPaths } from './WebpackConfigurationGenerator'; import type { IConfigJson } from '../../spfxConfig/interfaces/config-v2'; import type { ILocalization } from './ILocalization'; /** * @public */ export interface IWebpackConfigurationPluginAccessorProperties { linkedExternalsToBundle?: string[]; disableAsyncComponentLoading?: boolean; assetsAreVersioned?: boolean; generateCssClassName?: GenerateCssClassNameFunction; loadThemedStylesImportPath?: string; configJson?: IConfigJson; buildSourceMaps?: boolean; releaseMapFiles?: boolean; sourceMapUrlFilter?: (url: string, resourcePath: string) => boolean | string; /** * @alpha */ getLocalization?: () => ILocalization; releaseManifestFolderName?: string; /** * @internal */ _manifestsJsFileMetadata?: IManifestsFileMetadata; /** * @internal */ _allowMissingConfigJson?: boolean; /** * @internal */ _includeIntegrityInManifestPaths?: boolean; /** * @internal */ _useManifestsJsonForComponentDependencies?: boolean; /** * @internal */ _moduleMinifier?: IModuleMinifier; /** * @internal */ _flightedDependencyConfig?: IFlightedDependencyConfig; } /** * @public */ export interface IWebpackConfigurationPluginAccessor { properties: IWebpackConfigurationPluginAccessorProperties; } export default class WebpackConfigurationPlugin implements IHeftTaskPlugin { private _accessor; get accessor(): IWebpackConfigurationPluginAccessor; static getSpfxWebpackFolders(buildFolder: string): ISpfxWebpackFolderPaths; /** * Generate the SPFx component webpack configuration */ apply(taskSession: IHeftTaskSession, heftConfiguration: HeftConfiguration): void; private _generateSpfxWebpackConfigurationAsync; private _loadConfigJsonAsync; } //# sourceMappingURL=WebpackConfigurationPlugin.d.ts.map