Skip to content

Commit 68d47e0

Browse files
committed
fix: Ensure terser fully removes unused SuppressedError helper
1 parent e35bc4d commit 68d47e0

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

src/index.js

+5
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,11 @@ function createConfig(options, entry, format, writeMeta) {
619619
{
620620
keep_infinity: true,
621621
pure_getters: true,
622+
global_defs: {
623+
// tslib helper for `using` & `await using` that otherwise
624+
// wouldn't be fully removed when unused
625+
SuppressedError: 'undefined',
626+
},
622627
// Ideally we'd just get Terser to respect existing Arrow functions...
623628
// unsafe_arrows: true,
624629
passes: 10,

test/__snapshots__/index.test.js.snap

+9-9
Original file line numberDiff line numberDiff line change
@@ -1193,30 +1193,30 @@ class-decorators-ts
11931193
11941194
11951195
Build \\"class-decorators-ts\\" to dist:
1196-
370 B: class-decorators-ts.js.gz
1197-
311 B: class-decorators-ts.js.br
1198-
367 B: class-decorators-ts.esm.mjs.gz
1199-
302 B: class-decorators-ts.esm.mjs.br
1200-
435 B: class-decorators-ts.umd.js.gz
1201-
380 B: class-decorators-ts.umd.js.br"
1196+
348 B: class-decorators-ts.js.gz
1197+
288 B: class-decorators-ts.js.br
1198+
348 B: class-decorators-ts.esm.mjs.gz
1199+
288 B: class-decorators-ts.esm.mjs.br
1200+
414 B: class-decorators-ts.umd.js.gz
1201+
374 B: class-decorators-ts.umd.js.br"
12021202
`;
12031203
12041204
exports[`fixtures build class-decorators-ts with microbundle 2`] = `7`;
12051205
12061206
exports[`fixtures build class-decorators-ts with microbundle 3`] = `
1207-
"\\"function\\"==typeof SuppressedError&&SuppressedError;var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,r,o){var n,c=arguments.length,f=c<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)f=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(f=(c<3?n(f):c>3?n(t,r,f):n(t,r))||f);return c>3&&f&&Object.defineProperty(t,r,f),f}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");export default t;
1207+
"var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,r,n){var o,c=arguments.length,l=c<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,n);else for(var f=e.length-1;f>=0;f--)(o=e[f])&&(l=(c<3?o(l):c>3?o(t,r,l):o(t,r))||l);return c>3&&l&&Object.defineProperty(t,r,l),l}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");export default t;
12081208
//# sourceMappingURL=class-decorators-ts.esm.mjs.map
12091209
"
12101210
`;
12111211
12121212
exports[`fixtures build class-decorators-ts with microbundle 4`] = `
1213-
"\\"function\\"==typeof SuppressedError&&SuppressedError;var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,r,o){var n,c=arguments.length,f=c<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)f=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(n=e[l])&&(f=(c<3?n(f):c>3?n(t,r,f):n(t,r))||f);return c>3&&f&&Object.defineProperty(t,r,f),f}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");module.exports=t;
1213+
"var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}(),t=new(e=function(e,t,r,o){var n,c=arguments.length,l=c<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)l=Reflect.decorate(e,t,r,o);else for(var f=e.length-1;f>=0;f--)(n=e[f])&&(l=(c<3?n(l):c>3?n(t,r,l):n(t,r))||l);return c>3&&l&&Object.defineProperty(t,r,l),l}([function(e){Object.seal(e),Object.seal(e.prototype)}],e))(\\"Hello World\\");module.exports=t;
12141214
//# sourceMappingURL=class-decorators-ts.js.map
12151215
"
12161216
`;
12171217
12181218
exports[`fixtures build class-decorators-ts with microbundle 5`] = `
1219-
"!function(e,t){\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module?module.exports=t():\\"function\\"==typeof define&&define.amd?define(t):(e||self).classDecoratorsTs=t()}(this,function(){\\"function\\"==typeof SuppressedError&&SuppressedError;var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();return e=function(e,t,o,n){var r,f=arguments.length,i=f<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,n);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(i=(f<3?r(i):f>3?r(t,o,i):r(t,o))||i);return f>3&&i&&Object.defineProperty(t,o,i),i}([function(e){Object.seal(e),Object.seal(e.prototype)}],e),new e(\\"Hello World\\")});
1219+
"!function(e,t){\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module?module.exports=t():\\"function\\"==typeof define&&define.amd?define(t):(e||self).classDecoratorsTs=t()}(this,function(){var e=/*#__PURE__*/function(){function e(e){this.greeting=e}return e.prototype.greet=function(){return\\"Hello, \\"+this.greeting},e}();return e=function(e,t,o,n){var r,f=arguments.length,i=f<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if(\\"object\\"==typeof Reflect&&\\"function\\"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,n);else for(var c=e.length-1;c>=0;c--)(r=e[c])&&(i=(f<3?r(i):f>3?r(t,o,i):r(t,o))||i);return f>3&&i&&Object.defineProperty(t,o,i),i}([function(e){Object.seal(e),Object.seal(e.prototype)}],e),new e(\\"Hello World\\")});
12201220
//# sourceMappingURL=class-decorators-ts.umd.js.map
12211221
"
12221222
`;

0 commit comments

Comments
 (0)