2dcdae91eb
Co-authored-by: Aaron <aaronklinker1@gmail.com> BREAKING CHANGE: Renamed `ignoredSources` to `excludeSources`
81 lines
1.9 KiB
TypeScript
81 lines
1.9 KiB
TypeScript
import {
|
|
WxtDevServer,
|
|
Logger,
|
|
TargetBrowser,
|
|
TargetManifestVersion,
|
|
UserManifest,
|
|
ExtensionRunnerConfig,
|
|
ConfigEnv,
|
|
UserConfig,
|
|
WxtBuilder,
|
|
} from './external';
|
|
import { UnimportOptions } from 'unimport';
|
|
import { ResolvedConfig } from 'c12';
|
|
import type { Manifest } from '~/browser';
|
|
import type { PluginVisualizerOptions } from 'rollup-plugin-visualizer';
|
|
|
|
export interface InternalConfig {
|
|
root: string;
|
|
srcDir: string;
|
|
publicDir: string;
|
|
wxtDir: string;
|
|
typesDir: string;
|
|
entrypointsDir: string;
|
|
filterEntrypoints?: Set<string>;
|
|
outBaseDir: string;
|
|
outDir: string;
|
|
debug: boolean;
|
|
mode: string;
|
|
command: 'build' | 'serve';
|
|
browser: TargetBrowser;
|
|
manifestVersion: TargetManifestVersion;
|
|
env: ConfigEnv;
|
|
logger: Logger;
|
|
imports: false | Partial<UnimportOptions>;
|
|
manifest: UserManifest;
|
|
fsCache: FsCache;
|
|
server?: WxtDevServer;
|
|
runnerConfig: ResolvedConfig<ExtensionRunnerConfig>;
|
|
zip: {
|
|
name?: string;
|
|
artifactTemplate: string;
|
|
sourcesTemplate: string;
|
|
includeSources: string[];
|
|
excludeSources: string[];
|
|
sourcesRoot: string;
|
|
};
|
|
transformManifest: (manifest: Manifest.WebExtensionManifest) => void;
|
|
analysis: {
|
|
enabled: boolean;
|
|
template: NonNullable<PluginVisualizerOptions['template']>;
|
|
};
|
|
userConfigMetadata: Omit<ResolvedConfig<UserConfig>, 'config'>;
|
|
/**
|
|
* Import aliases to absolute paths.
|
|
*/
|
|
alias: Record<string, string>;
|
|
experimental: {
|
|
includeBrowserPolyfill: boolean;
|
|
};
|
|
builder: WxtBuilder;
|
|
dev: {
|
|
reloadCommand: string | false;
|
|
};
|
|
}
|
|
|
|
export interface FsCache {
|
|
set(key: string, value: string): Promise<void>;
|
|
get(key: string): Promise<string | undefined>;
|
|
}
|
|
|
|
export interface ExtensionRunner {
|
|
openBrowser(config: InternalConfig): Promise<void>;
|
|
closeBrowser(): Promise<void>;
|
|
}
|
|
|
|
export type VirtualEntrypointType =
|
|
| 'content-script-main-world'
|
|
| 'content-script-isolated-world'
|
|
| 'background'
|
|
| 'unlisted-script';
|