nx/packages/js/src/utils/schema.d.ts

85 lines
2.2 KiB
TypeScript

import type { ProjectNameAndRootFormat } from '@nx/devkit/src/generators/project-name-and-root-utils';
import type { AssetGlob, FileInputOutput } from './assets/assets';
import { TransformerEntry } from './typescript/types';
// nx-ignore-next-line
const { Linter } = require('@nx/linter'); // use require to import to avoid circular dependency
export type Compiler = 'tsc' | 'swc';
export type Bundler = 'swc' | 'tsc' | 'rollup' | 'vite' | 'esbuild' | 'none';
export interface LibraryGeneratorSchema {
name: string;
directory?: string;
projectNameAndRootFormat?: ProjectNameAndRootFormat;
skipFormat?: boolean;
tags?: string;
skipTsConfig?: boolean;
includeBabelRc?: boolean;
unitTestRunner?: 'jest' | 'vitest' | 'none';
linter?: Linter;
testEnvironment?: 'jsdom' | 'node';
importPath?: string;
js?: boolean;
pascalCaseFiles?: boolean;
strict?: boolean;
publishable?: boolean;
buildable?: boolean;
setParserOptionsProject?: boolean;
config?: 'workspace' | 'project' | 'npm-scripts';
compiler?: Compiler;
bundler?: Bundler;
skipTypeCheck?: boolean;
minimal?: boolean;
rootProject?: boolean;
simpleName?: boolean;
}
export interface ExecutorOptions {
assets: Array<AssetGlob | string>;
main: string;
rootDir?: string;
outputPath: string;
tsConfig: string;
generateExportsField?: boolean;
additionalEntryPoints?: string[];
swcrc?: string;
watch: boolean;
clean?: boolean;
transformers: TransformerEntry[];
external?: 'all' | 'none' | string[];
externalBuildTargets?: string[];
generateLockfile?: boolean;
}
export interface NormalizedExecutorOptions extends ExecutorOptions {
rootDir: string;
projectRoot: string;
mainOutputPath: string;
files: Array<FileInputOutput>;
root?: string;
sourceRoot?: string;
}
export interface SwcExecutorOptions extends ExecutorOptions {
skipTypeCheck?: boolean;
/**
* @deprecated
*/
swcExclude?: string[];
}
export interface SwcCliOptions {
srcPath: string;
destPath: string;
swcrcPath: string;
swcCwd: string;
}
export interface NormalizedSwcExecutorOptions
extends NormalizedExecutorOptions {
originalProjectRoot: string;
swcExclude: string[];
skipTypeCheck: boolean;
swcCliOptions: SwcCliOptions;
}