question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

how can we be sure that all of the @babel/* packages we have installed are compatible with each other?

See original GitHub issue

I’m trying to debug a heady issue with babel-plugin-flow-runtime and in the process, I’m trying to make sure my @babel/* packages are up-to-date.

Annoyingly, many packages are at version 7.12.10, and some are at 7.12.12, but some are only at 7.12.1. Right now in my package.json I have:

    "@babel/cli": "^7.12.10",
    "@babel/core": "^7.12.10",
    "@babel/node": "^7.12.10",
    "@babel/plugin-proposal-class-properties": "^7.12.1",
    "@babel/plugin-proposal-decorators": "^7.12.10",
    "@babel/plugin-transform-runtime": "^7.12.10",
    "@babel/preset-env": "^7.12.10",
    "@babel/preset-flow": "^7.12.1",
    "@babel/preset-react": "^7.12.10",
    "@babel/register": "^7.12.10",

How can I verify that all of these packages are expected to work together? Compared to typescript, which is just one package, I feel like I’m standing on a house of cards.

I mean, obviously I’ve ideally gotten the latest version of each of these installed, but I still feel less secure than if it were a monolithic package.

I’m seeing weird behavior with this babel-plugin-flow-runtime issue where calling path.parentPath.get(path.listKey) (i.e. getting the Program body array path) within an ImportDeclaration enter visitor prevents the exit visitor from getting called. But so far I haven’t been able to distill it down to a simple repro. It’s hard to feel confident that the issue is coming from something babel-plugin-flow-runtime does and not from some unintended combination of @babel/* packages.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
nicolo-ribaudocommented, Dec 31, 2020

Our goal is to make every version compatible with every other version: updating a single package shouldn’t break anything.

Sometimes we accidentally introduce incompatibilities, but when it happens we fix them.

0reactions
JLHwungcommented, Feb 3, 2021

Closing this as there are no action items and OP’s question is answered.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Usage Guide - Babel.js
Read on for a step-by-step explanation of how this works and an introduction to each of the tools used. Basic usage with CLI....
Read more >
Configure Babel
Babel can be configured! Many other tools have similar configs: ESLint ( .eslintrc ), Prettier ( .prettierrc ). All Babel API options are...
Read more >
Babel CLI
While you can install Babel CLI globally on your machine, it's much better to install it locally project by project. There are two...
Read more >
Plugins - Babel.js
Using a Plugin. If the plugin is on npm, you can pass in the name of the plugin and Babel will check that...
Read more >
Options - Babel.js
Options can be passed to Babel in a variety of ways. When passed directly to Babel, you can just pass the options object....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found