UNPKG

@rocket/cli

Version:
65 lines (52 loc) 1.72 kB
import { DevServerConfig } from '@web/dev-server'; import { MetaPlugin } from 'plugins-manager'; // import { CheckHtmlLinksCliOptions } from 'check-html-links/dist-types/types/main'; import { ImagePreset, FullRocketPreset } from './preset.js'; export { ImagePreset, FullRocketPreset as RocketPreset }; import { Command } from 'commander'; import { RocketCli } from '../src/RocketCli.js'; type PresetKeys = | 'setupDevServerAndBuildPlugins' | 'setupDevServerPlugins' | 'setupDevServerMiddleware' | 'setupBuildPlugins' | 'setupCliPlugins' | 'setupEnginePlugins'; export interface FullRocketCliOptions extends Pick<FullRocketPreset, PresetKeys> { presets: Array<FullRocketPreset>; // pathPrefix: string; serviceWorkerName: string; serviceWorkerSourcePath: string; cwd: string; inputDir: URL | string; outputDir: URL | string; clearOutputDir: boolean; absoluteBaseUrl: string; watch: boolean; open: boolean; // imagePresets: { // [key: string]: ImagePreset; // }; longFileHeaderWidth: number; longFileHeaderComment: string; adjustDevServerOptions: (options: DevServerConfig) => DevServerConfig; adjustBuildOptions: (options: any) => any; // advanced plugins: RocketCliPlugin[]; buildOptimize: boolean; buildOpenGraphImages: boolean; buildAutoStop: boolean; // rarely used configFile: string; outputDevDir: URL | string; lint: { buildHtml: boolean; [key: string]: any; }; } export type RocketCliOptions = Partial<FullRocketCliOptions>; export class RocketCliPlugin { setupCommand?(program: Command, cli: RocketCli): void; stop?({ hard: boolean } = {}): void; } export type MetaPluginOfRocketCli = MetaPlugin<RocketCliPlugin>;