single-spa / create-single-spa

https://single-spa.js.org/docs/create-single-spa
Other
128 stars 60 forks source link

Upgrade babel loader into esbuild loader #374

Open bfoong-equinix opened 1 year ago

bfoong-equinix commented 1 year ago

Upgraded webpack's babel-loader into esbuild-loader to improve transpilation speed

Performance gain reference https://github.com/esbuild-kit/esbuild-loader/discussions/138

changeset-bot[bot] commented 1 year ago

🦋 Changeset detected

Latest commit: 42c0417869ffef2ac5eaa079ec77d32c8952128e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages | Name | Type | | ---------------------------------- | ----- | | webpack-config-single-spa | Patch | | webpack-config-single-spa-react | Patch | | webpack-config-single-spa-ts | Patch | | webpack-config-single-spa-react-ts | Patch |

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

bfoong-equinix commented 1 year ago

@joeldenning noticed you mentioned in another PR you are not actively maintaining anymore, which maintainer should we ping to get a review?

gregorysl commented 1 year ago

Looking through other closed PR's, I think @TheMcMurder might be the guy

bfoong-equinix commented 1 year ago

thanks @gregorysl. @TheMcMurder are you able to review this PR?

MilanKovacic commented 9 months ago

Hi, this PR would require more work, specifically taking into account caveats mentioned in the esbuild-loader documentation:

Caveats esbuild only supports a subset of tsconfig options (see TransformOptions interface).

Enable isolatedModules to avoid mis-compilation with features like re-exporting types.

Enable esModuleInterop to make TypeScript's type system compatible with ESM imports.

Features that require type interpretation, such as emitDecoratorMetadata and declaration, are not supported.

→ Read more about TypeScript Caveats

I would recommend starting a discussion in the Slack's maintainers channel so we can discuss the implications.