diff --git a/package.json b/package.json index 73f32a6..2a395f0 100755 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "3.3.0", "description": "Transforms module resolution paths using TypeScript path mapping and/or custom paths", "main": "dist/index.js", - "types": "dist/index.d.ts", + "types": "types/index.d.ts", "scripts": { "compile": "tsc", "build": "yarn run clean && yarn run compile", @@ -45,6 +45,7 @@ ], "files": [ "dist", + "types", "README.md", "CHANGELOG.md", "register.js" diff --git a/tsconfig.base.json b/tsconfig.base.json index 81b00dc..be73040 100755 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -2,6 +2,7 @@ "compilerOptions": { "noErrorTruncation": false, "incremental": true, + "declaration": false, "lib": [ "esnext" ], "target": "es2015", diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100755 index 0000000..0d8eddb --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,36 @@ +import TSNode from 'ts-node' +import ts from 'typescript' + +/* ****************************************************************************************************************** * + * Hardcoded declarations file for npm package + * ****************************************************************************************************************** */ + +export interface TsTransformPathsConfig { + readonly useRootDirs?: boolean; + readonly exclude?: string[]; + readonly afterDeclarations?: boolean; + readonly tsConfig?: string; + readonly transform?: string +} + +export interface TransformerExtras { + /** + * Originating TypeScript instance + */ + ts: typeof ts; +} + +export function register(): TSNode.RegisterOptions | undefined + +export default function transformer( + program?: ts.Program, + pluginConfig?: TsTransformPathsConfig, + transformerExtras?: TransformerExtras, + /** + * Supply if manually transforming with compiler API via 'transformNodes' / 'transformModule' + */ + manualTransformOptions?: { + compilerOptions?: ts.CompilerOptions; + fileNames?: string[]; + } +): ts.CustomTransformer