From 83349e4e1b84efaa28ee3efbc09c8e15369f4836 Mon Sep 17 00:00:00 2001 From: Ron S Date: Mon, 16 Aug 2021 14:31:12 -0400 Subject: [PATCH] refactor: Add explicit types file Missing dev dependencies can cause issues on importing from package types, so we are adding an explicit declaration file for exported types --- package.json | 3 ++- tsconfig.base.json | 1 + types/index.d.ts | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100755 types/index.d.ts 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