qoi-cli
Version:
231 lines (220 loc) • 6.71 kB
TypeScript
import * as rollup from 'rollup';
import { Plugin as Plugin$1, OutputOptions, ModuleFormat, RollupOptions } from 'rollup';
import * as typescript from 'typescript';
import * as _swc_core from '@swc/core';
/* auto-generated by NAPI-RS */
/* eslint-disable */
interface Attribute {
namespace?: string;
prefix?: string;
name: string;
value?: string;
}
interface Element {
tagName: string;
namespace: string;
attributes: Array<Attribute>;
isSelfClosing: boolean;
}
type MinifierType = "js-module" | "js-script" | "json" | "css" | "html";
type Options$1 = {
filename?: string;
iframeSrcdoc?: boolean;
scriptingEnabled?: boolean;
forceSetHtml5Doctype?: boolean;
collapseWhitespaces?: "none" | "all" | "smart" | "conservative" | "advanced-conservative" | "only-metadata";
removeEmptyMetadataElements?: boolean;
removeComments?: boolean;
preserveComments?: string[];
minifyConditionalComments?: boolean;
removeEmptyAttributes?: boolean;
removeRedundantAttributes?: "none" | "all" | "smart";
collapseBooleanAttributes?: boolean;
normalizeAttributes?: boolean;
minifyJson?: boolean | {
pretty?: boolean;
};
minifyJs?: boolean | {
parser?: any;
minifier?: any;
codegen?: any;
};
minifyCss?: boolean | {
lib: "lightningcss";
} | {
lib: "swc";
parser?: any;
minifier?: any;
codegen?: any;
};
minifyAdditionalScriptsContent?: [string, MinifierType][];
minifyAdditionalAttributes?: [string, MinifierType][];
sortSpaceSeparatedAttributeValues?: boolean;
sortAttributes?: boolean;
tagOmission?: boolean;
selfClosingVoidElements?: boolean;
quotes?: boolean;
};
type FragmentOptions = Options$1 & {
mode?: "no-quirks" | "limited-quirks" | "quirks";
context_element?: Element;
form_element?: Element;
};
interface PackageJsonAddress {
email?: string;
url?: string;
}
interface PackageJsonPerson extends PackageJsonAddress {
name: string;
}
interface PackageJson$1 {
name: string;
version: string;
description?: string;
keywords?: string;
homepage?: string;
bugs?: PackageJsonAddress;
license?: string;
author?: string | PackageJsonPerson;
contributors?: string[] | PackageJsonPerson[];
files?: string[];
main?: string;
browser?: string;
bin?: Record<string, string>;
man?: string;
directories?: {
lib?: string;
bin?: string;
man?: string;
doc?: string;
example?: string;
test?: string;
};
repository?: {
type?: 'git';
url?: string;
directory?: string;
};
scripts?: Record<string, string>;
config?: Record<string, string>;
dependencies?: Record<string, string>;
devDependencies?: Record<string, string>;
peerDependencies?: Record<string, string>;
optionalDependencies?: Record<string, string>;
bundledDependencies?: string[];
engines?: Record<string, string>;
os?: string[];
cpu?: string[];
}
/**
* A valid `picomatch` glob pattern, or array of patterns.
*/
type FilterPattern = ReadonlyArray<string | RegExp> | string | RegExp | null;
type FilterOptions = {
include?: FilterPattern;
exclude?: FilterPattern;
};
type FilterFn = (id: string, options?: FilterOptions) => boolean;
type CreateFilter = {
tsFilter?: FilterFn;
cssFilter?: FilterFn;
excludes?: RegExp[];
};
declare const createFilter: () => CreateFilter;
type Options = {
createFilter?: () => Partial<CreateFilter>;
} & _swc_core.Options;
type PackageJson = PackageJson$1 & {
module?: string;
type?: string;
typings?: string;
exports?: {
[key: string]: unknown;
};
};
interface CliOptions {
dir?: string;
config?: string;
c?: string;
}
interface BuildOptions extends CliOptions {
name?: string;
outDir?: string;
module?: boolean;
format?: ModuleFormat;
external?: string | string[];
resolve?: boolean | string;
cleanOutDir?: boolean;
sourcemap?: boolean;
write?: boolean;
minify?: boolean | 'literals';
dts?: boolean | 'only';
env?: string;
}
interface BuildOutputOptions extends BuildOptions {
output?: (options: OutputOptions) => OutputOptions;
pkg?: PackageJson;
sourcemap?: boolean;
}
type DTSOptions = {
file?: string;
write?: boolean;
resolve?: boolean | string[];
};
type PackageJsonFunc = (pkg?: PackageJson) => PackageJson;
interface Plugin extends Plugin$1 {
enforce?: 'pre' | 'post';
}
type InputPlugin = Plugin | InputPlugin[];
interface Config {
name?: string;
input?: string | string[] | {
[key: string]: string;
};
external?: string[];
resolve?: boolean | string[];
dts?: boolean | 'only' | DTSOptions;
sourcemap?: boolean;
plugins?: InputPlugin;
swc?: Options;
output?(options: OutputOptions): OutputOptions;
buildEnd?(): Promise<void>;
packageJson?: boolean | PackageJsonFunc;
env?: {
[key: string]: string;
};
}
interface RequireModule extends NodeRequire {
default?: Function;
}
interface CopyPackageOptions {
pkg?: PackageJson;
legacy?: boolean;
outDir?: string;
packageJson?(pkg: PackageJson): PackageJson;
}
type TypesOptions = {
dts?: boolean | 'only' | DTSOptions;
config?: Config;
pkg?: PackageJson;
resolve?: boolean | string | string[];
} & RollupOptions;
type RegisterOptions = _swc_core.Options & {
tsconfig?: {
paths?: {
[from: string]: [string];
};
};
};
declare function swcPlugin(options?: Options): Plugin;
declare function handler(options: BuildOptions): Promise<void>;
declare function getOptions(options: BuildOptions): BuildOptions;
declare function baseExternals(pkg?: PackageJson): string[];
declare function register(options?: Options): void;
declare function createDefaultConfig(options?: Options): void;
declare function getTsConfigPaths(tsconfigPath: string): typescript.CompilerOptions;
declare function minifyFragmentSync(code: string, options?: FragmentOptions): string;
declare function minifyLiterals(): rollup.Plugin;
declare function defineConfig(config: Config | Config[]): Config | Config[];
export { baseExternals, createDefaultConfig, createFilter, defineConfig, getOptions, getTsConfigPaths, handler, minifyFragmentSync, minifyLiterals, register, swcPlugin };
export type { BuildOptions, BuildOutputOptions, CliOptions, Config, CopyPackageOptions, CreateFilter, DTSOptions, FilterFn, FilterOptions, InputPlugin, PackageJson, PackageJsonFunc, Plugin, RegisterOptions, RequireModule, TypesOptions };