-
Notifications
You must be signed in to change notification settings - Fork 507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
@babel/plugin-proposal-pipe-operator in .babelrc causes TS error #913
Comments
|
@mimshwright there are a few (passing) integration tests for custom Babel plugins, so would need a minimal reproduction to determine if this is really a TSDX issue. This may be similar to #543, which points to a general Babel problem in that plugin order matters to Babel (which is something Rome aims to solve).
There are #634 and #383 around this topic. As those both mention, it's much, much easier said than done as it's a very breaking change and some of the plugins are configured by TSDX flags or Rollup output formats and so can't even be extracted to a preset either. There's a lot more work needed to get this done. |
@agilgur5 I've updated the issue with more details on how to reproduce. 👍 |
hmm. i wonder if ultimately |
Thanks, this produces an error which is quite different from your original report of it "not being recognized"
Yea this makes more sense. Pretty sure this is because those proposals introduce new syntax which is not valid TypeScript. I don't believe you could type-check this with
I wrote about this in a good bit of detail with links in my first comment. But per my above paragraph, this seems unrelated to that. |
Those are two unrelated pieces. Nullish Coalescing is already supported by TypeScript. Since TSDX also uses |
Well, now it all makes sense. Thank you! |
Current Behavior
I've added
@babel/plugin-proposal-pipeline-operator
to my.babelrc
file but it doesn't seem to be recognized.Setup for Repro:
npx tsdx create repro-913
yarn add --dev @babel/plugin-proposal-pipeline-operator
(tried this with and without adding peer dependency@babel/core
)src/index.ts
.babelrc
and add the following plugin:npx tsdx build
Result is:
syntax error TS1109: Expression expected.
I see the same result when using
@babel/plugin-proposal-partial-application
but when I try to use@babel/plugin-proposal-nullish-coalescing-operator
it seems to work fine.Expected behavior
Should load this plugin.
Suggested solution(s)
It sounds like there may be other issues affecting importing of .babelrc plugins. I'm wondering if perhaps there is a way to make the plugins more editable... perhaps an option to generate tsdx's config files in the main directory when the project is created? It could also have to do with this particular plugin requiring a "proposal" property be set and maybe that's not being merged correctly?
Other info
from package.json
Your environment
Note, I've tried this also on node v.12.19.0 with the same results.
The text was updated successfully, but these errors were encountered: