@storm-software/esbuild
Version:
A package containing `esbuild` utilities for building Storm Software libraries and applications
46 lines (43 loc) • 1.84 kB
text/typescript
import { ProjectsConfigurations, ProjectGraph } from '@nx/devkit';
import { TypeScriptBuildOptions, AdditionalCLIOptions } from '@storm-software/build-tools';
import { StormWorkspaceConfig } from '@storm-software/config';
import { TsconfigRaw, BuildResult } from 'esbuild';
import { Options } from 'tsup';
type ESBuildOptions = Omit<Options, "outDir" | "entryPoints"> & Required<Pick<TypeScriptBuildOptions, "projectRoot">> & Pick<TypeScriptBuildOptions, "assets" | "sourceRoot" | "outputPath" | "generatePackageJson" | "includeSrc" | "mode"> & {
userOptions?: any;
distDir?: string;
tsconfig?: string | null;
tsconfigRaw?: TsconfigRaw;
verbose?: boolean;
};
type ESBuildResult = BuildResult;
type ESBuildCLIOptions = AdditionalCLIOptions & Pick<ESBuildOptions, "name" | "entry" | "outputPath" | "platform" | "format" | "bundle" | "target" | "watch" | "clean" | "mode" | "banner" | "footer" | "splitting" | "treeshake" | "generatePackageJson" | "metafile" | "minify" | "includeSrc" | "dts" | "shims">;
type ESBuildContext = {
options: ESBuildOptions;
clean: boolean;
workspaceConfig: StormWorkspaceConfig;
projectConfigurations: ProjectsConfigurations;
projectName: string;
projectGraph: ProjectGraph;
sourceRoot: string;
outputPath: string;
result?: BuildResult;
};
type MaybePromise<T> = T | Promise<T>;
interface ModuleExport {
kind: "module";
sourceFileName: string;
destFileName: string;
moduleName: string;
isTypeOnly: boolean;
}
interface NamedExport {
kind: "named";
sourceFileName: string;
destFileName: string;
alias: string;
name: string;
isTypeOnly: boolean;
}
type ExportDeclaration = ModuleExport | NamedExport;
export type { ESBuildCLIOptions, ESBuildContext, ESBuildOptions, ESBuildResult, ExportDeclaration, MaybePromise };