jpmorganchase / modular

A modular front end development framework

Home Page:https://modular.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Safari TP in browserlist breaks ESBUILD code path

LukeSheard opened this issue · comments

If browserlist is configured to include Safari Technology Preview in browserslist then there is no equivalent for this in esbuild - this breaks the esbuild targets setup and causes a fatal error during startup.

I can't reproduce this with the default configuration (which doesn't contain Safari TP) generated br CMRA 2.1.0

I can see it if I manually add unreleased safari version to the "browserslist" field:

In Webpack mode:

[modular] Could not find esbuild equivalent for safari TP

...

./src/index.tsx
Error: Transform failed with 1 error:
error: Invalid version: "TP"

In ESBuild mode

[modular] Could not find esbuild equivalent for safari TP
[modular] Failed to compile.
[modular]
[modular] This is a bad error ... lol
[modular]
[modular] Failed to compile.
[modular]
[modular] This is a bad error ... lol
[modular]
[modular] Failed to compile

The first error is definitely correct - I suspect that we need to tidy up the error handling in formatError to deal with errors which do not have a file location. I think if we exposed the whole error it would be the same under the hood.

The first error is definitely correct - I suspect that we need to tidy up the error handling in formatError to deal with errors which do not have a file location. I think if we exposed the whole error it would be the same under the hood.

Agree. I'm looking at that right now.. I guess we also should stop at the first error and not show "Failed to compile" three times.