Skip to content

Latest commit

 

History

History
27 lines (22 loc) · 2.31 KB

04-02.md

File metadata and controls

27 lines (22 loc) · 2.31 KB

4/2


Notes may have some mistakes, conversational!

  • Nicolò: We should contact specific teams about new versioning ideas (relating to semver) for feedback (Next.js, Gatsby, CRA, anyone who uses us as a dependency directly) since they deal with these problems themselves (and because we break them due to how things currently work)
    • One idea is to require the same minor versions of packages because of unintended breaking changes due to dependencies. (require all Babel dependencies to be updated, so if @babel/core is 7.9, every preset/plugin needs to be as well).
    • For context: if we introduce a new feature in core or a new helper, we can't use that feature in a plugin/preset/dep because someone's core might not be the updated.
  • Henry: Having less packages helps too. On a related note.. in Babel 8 maybe we should just move targets to be a top level option in the config vs. in preset-env. And further, might as well move preset-env into babel/core like we've been wanting to?
    • Also easier to convince people to move off of old integrations with preset-env
    • Nicolò: Don't need to specify the targets option multiple times (like for the new polyfill feature)
    • The new default option targets: false could explicitly not transpile for those that need that: codemods, other languages like php, fable. This would be the the opposite of current behavior where the default is essentially preset-latest which compiles everything.
  • Make it easier to use loose mode options: more granular?
    • Maybe do this by introducing it via an assumption of capabilities. Can document this on a website and associate them with test cases (our own loose mode tests or test262).
    • We have an example of this already in use: assumeArray option for for-of plugin.
    • If the only spec option is for arrow functions, maybe we can remove the option entirely?
    • We can stay reasonable spec compliant by default, and allow opt-in for specifically non-spec.
  • Update: polyfilling integration is almost done
  • Reconsider single babel package idea yet again?