diff --git a/package.json b/package.json index 4b69a81..7e44ea3 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "semantic-release": "15.14.0", "servor": "3.0.5", "sort-package-json": "1.31.0", - "terser": "4.4.3" + "terser": "4.4.3", + "typescript": "3.7.4" } } diff --git a/src/init.js b/src/init.js index 123971c..77addf4 100644 --- a/src/init.js +++ b/src/init.js @@ -48,7 +48,11 @@ const writePackage = async (template, { user, email }) => { if (template !== 'js') { pkg = merge(pkg, { klap: { example: `public/index.${template}` } }); if (template === 'ts' || template === 'tsx') { - pkg = merge(pkg, { types: 'dist/types' }); + pkg = merge(pkg, { + types: 'dist/types', + scripts: { postbuild: 'tsc -p tsconfig.json' }, + devDependencies: { typescript: cli.devDependencies['typescript'] }, + }); } } await write('./package.json', JSON.stringify(sort(pkg), null, ' ')); diff --git a/src/packages/terser.js b/src/packages/terser.js index d255ec6..349947a 100644 --- a/src/packages/terser.js +++ b/src/packages/terser.js @@ -38,7 +38,7 @@ export const terser = (options = {}) => { sourceMap: options.sourcemap, warnings: options.warnings, toplevel: true, - mangle: { properties: { regex: '^_' } }, + mangle: { properties: { regex: '^_|^\\$' } }, compress: { passes: 10, pure_getters: true }, }); } catch (err) { diff --git a/yarn.lock b/yarn.lock index fe72670..5bdc54c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6534,6 +6534,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@3.7.4: + version "3.7.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.4.tgz#1743a5ec5fef6a1fa9f3e4708e33c81c73876c19" + integrity sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw== + uglify-js@^3.1.4: version "3.7.1" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.1.tgz#35c7de17971a4aa7689cd2eae0a5b39bb838c0c5"