From a85439df2580778e968307741e4e1af92a36ccd2 Mon Sep 17 00:00:00 2001 From: EGOIST Date: Sun, 12 Feb 2023 21:00:05 +0800 Subject: [PATCH] fix(types): make sure enum starts with `declare` keyword closes #834 --- pnpm-lock.yaml | 14 +------------- src/rollup.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 550d790d..885d68e5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,6 +56,7 @@ dependencies: rollup: 3.8.1 source-map: 0.8.0-beta.0 sucrase: 3.20.3 + terser: 5.16.0 tree-kill: 1.2.2 devDependencies: @@ -78,7 +79,6 @@ devDependencies: rollup-plugin-hashbang: 2.2.2 strip-json-comments: 4.0.0 svelte: 3.46.4 - terser: 5.16.0 ts-essentials: 9.1.2_typescript@4.9.5 tsconfig-paths: 3.12.0 tsup: 6.4.0_6lvfsmbcnhcbdgoh5cbwnen6ty @@ -336,35 +336,29 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 - dev: true /@jridgewell/resolve-uri/3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array/1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/source-map/0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} dependencies: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 - dev: true /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true /@jridgewell/trace-mapping/0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - dev: true /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -641,7 +635,6 @@ packages: resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} @@ -716,7 +709,6 @@ packages: /buffer-from/1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true /bundle-require/3.1.2_esbuild@0.15.18: resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} @@ -814,7 +806,6 @@ packages: /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} @@ -1930,12 +1921,10 @@ packages: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - dev: true /source-map/0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} @@ -2031,7 +2020,6 @@ packages: acorn: 8.8.1 commander: 2.20.3 source-map-support: 0.5.21 - dev: true /thenify-all/1.6.0: resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} diff --git a/src/rollup.ts b/src/rollup.ts index 28e17504..d7e68504 100644 --- a/src/rollup.ts +++ b/src/rollup.ts @@ -131,6 +131,15 @@ const getRollupConfig = async ( }, } + const fixEnumDeclaration: Plugin = { + name: 'tsup:fix-enum-declaration', + renderChunk(code) { + // make sure enum declaration starts with `declare` + // #834 + return code.replace(/^(\s*)enum\s/gm, '$1declare enum ') + }, + } + return { inputConfig: { input: dtsOptions.entry, @@ -171,6 +180,7 @@ const getRollupConfig = async ( target: ts.ScriptTarget.ESNext, }, }), + fixEnumDeclaration, ].filter(Boolean), external: [ // Exclude dependencies, e.g. `lodash`, `lodash/get`