diff --git a/package-lock.json b/package-lock.json index ebb29ad..d7e45f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "erroz", - "version": "1.1.0", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "erroz", - "version": "1.1.0", + "version": "2.0.0", "license": "MIT", "devDependencies": { "@types/jest": "^29.5.12", diff --git a/package.json b/package.json index 99f1dbe..0b631ec 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "Create abstract errors with meta-data, stack-traces and speaking error-messages", "main": "dist/erroz.umd.js", "module": "dist/erroz.mjs", + "types": "dist/main.d.ts", "files": [ "dist" ], @@ -11,8 +12,10 @@ "example": "examples" }, "scripts": { - "build": "vite build", - "prepublishOnly": "vite build", + "build": "vite build && npm run build:types", + "build:types": "tsc -p tsconfig.build.json", + "prepack": "npm run build", + "prepublishOnly": "npm test", "test": "jest", "test:watch": "jest --watch" }, diff --git a/src/AbstractError.ts b/src/AbstractError.ts index 4ccf3d9..534c229 100644 --- a/src/AbstractError.ts +++ b/src/AbstractError.ts @@ -5,6 +5,17 @@ export class AbstractError extends Error { constructor(message?: string) { super(message); - Error.captureStackTrace(this, AbstractError); + const captureStackTrace = ( + Error as ErrorConstructor & { + captureStackTrace?: ( + targetObject: object, + constructorOpt?: Function, + ) => void; + } + ).captureStackTrace; + + if (captureStackTrace) { + captureStackTrace(this, AbstractError); + } } } diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..640fe0f --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "declaration": true, + "declarationDir": "dist", + "emitDeclarationOnly": true, + "types": [] + }, + "include": ["src/**/*"] +}