ChangeLog: v1.3.85


minify() now support scripts

The JavaScript API of minify() had module: bool for a long time, but the swc minifier didn't respect it. It's now fixed, and it's now respected.

An option to configure module resolver

{
    "jsc": {
        "parser": {
            "syntax": "typescript"
        },
        "target": "es2020",
        "baseUrl": ".",
        "paths": {
            "@print/a": [
                "./packages/a/src/index.ts"
            ]
        }
    },
    "module": {
        "type": "commonjs",
        "resolveFully": true
    }
}

jsc.module.resolveFully is added to various module types to support resolving dependencies with /index.js included.

Optimization for optional chaining

Now the optional-chaining pass works just like pure_getters are enabled.

Optimization for static blocks

class Foo {
  static x = 1;
}

was compiled as, which is not ideal. It's now

class Foo {
}
Foo.x = 1;