dkershner6-projen-typescript
Version:
DKershner's preferred constructs for Projen TypeScript projects.
67 lines (66 loc) • 3.17 kB
TypeScript
import { Component, ProjectOptions } from "projen";
import { TypeScriptCompilerOptions, NodeProjectOptions, JestOptions } from "projen/lib/javascript";
import { TypeScriptProjectOptions, TypeScriptProject } from "projen/lib/typescript";
export declare const PUBLISH_FILE_PATTERNS: string[];
export declare const TEST_FILE_SUFFIXES: string[];
export declare const TEST_FOLDERS: string[];
export declare const DEV_FILE_PATTERNS: string[];
export declare const PROJEN_COMPILER_OPTION_DEFAULTS: TypeScriptCompilerOptions;
export declare const RECOMMENDED_TSCONFIG_COMPILER_OPTIONS: TypeScriptCompilerOptions;
export declare const RECOMMENDED_TSCONFIG_NODE_20: Partial<TypeScriptProjectOptions>;
export declare const PROJEN_VERSION = "0.88.0";
export declare const CONSTRUCTS_VERSION = "10.3.0";
export declare const RECOMMENDED_NODE_20: Partial<TypeScriptProjectOptions>;
export declare const RECOMMENDED_PNPM_8: Partial<TypeScriptProjectOptions>;
export declare const RECOMMENDED_ESLINT_CONFIG: Partial<TypeScriptProjectOptions>;
export declare const RECOMMENDED_JEST_CONFIG: Partial<TypeScriptProjectOptions>;
export declare const RECOMMENDED_PRETTIER_CONFIG: Partial<NodeProjectOptions>;
export declare const RECOMMENDED_NODE_20_PROJECT_OPTIONS: Omit<ProjectOptions & NodeProjectOptions & TypeScriptProjectOptions, "defaultReleaseBranch" | "name">;
export declare class DKBugFixes extends Component {
constructor(project: TypeScriptProject);
}
export declare class DKEslintConfig extends Component {
constructor(project: TypeScriptProject);
}
export declare enum DKTaskName {
CLEAN_COMPILE = "clean-compile",
CI = "ci",
DOCGEN_REMOVE = "docgen:remove",
I = "i",
LINT = "lint",
TEST_UNIT = "test-unit",
TYPE_CHECK = "type-check",
UPGRADE_PACKAGE = "upgrade:package"
}
export declare class DKTasks extends Component {
static readonly IS_NOT_RELEASE_CONDITION = "if [ \"$RELEASE\" = \"true\" ] ; then exit 1 ; fi";
project: TypeScriptProject;
constructor(project: TypeScriptProject);
preSynthesize(): void;
}
export interface JestTransformerOptions {
/**
* Additional modules for jest to transform, typically ESM modules.
*
* @default - A list of known ESM modules commonly used in projects
*/
readonly modulesToTransform?: string[];
}
export interface Node20TypeScriptProjectJestOptions extends JestOptions, JestTransformerOptions {
}
export declare class JestTransformer extends Component {
static ESM_MODULES_TO_TRANSFORM: string[];
private readonly _modulesToTransform;
constructor(project: TypeScriptProject, options?: Node20TypeScriptProjectJestOptions);
get modulesToTransform(): Set<string>;
addModulesToTransform(...modules: string[]): void;
removeModulesToTransform(...modules: string[]): void;
private buildTransformIgnorePatterns;
}
export interface Node20TypeScriptProjectOptions extends TypeScriptProjectOptions {
jestOptions?: Node20TypeScriptProjectJestOptions;
}
export declare class Node20TypeScriptProject extends TypeScriptProject {
readonly jestTransformer: JestTransformer;
constructor(options: Node20TypeScriptProjectOptions);
}