I encountered a bug where I get a bug under very specific circumstances:
- Only applies to CJS
- when minify is enabled
- when spliting is enabled
- when there is code before and after calling
super() in the constructor
- when there is a field that is initialized on declaration (and not in the constructor)
Source
// src/index.ts
class Parent {
constructor() {}
}
class Feature {
constructor() {}
}
export class Child extends Parent {
feature = new Feature();
constructor() {
console.log("before");
super();
console.log("after");
}
}
Result
constructor(){console.log("before"),super();_class.prototype.__init.call(this);,console.log("after")}
^
Error (when using the built code)
SyntaxError: Unexpected token ','
Reproduction
- Download and unpack super-bug.zip
- pnpm install
- pnpm run build
- Open dist/index.js
Context
I found this bug while working on faker-js/faker#2838
I encountered a bug where I get a bug under very specific circumstances:
super()in the constructorSource
Result
Error (when using the built code)
Reproduction
Context
I found this bug while working on faker-js/faker#2838