Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Investigate moving to Babel 7 when it releases #316

Closed
eliperelman opened this issue Sep 13, 2017 · 2 comments
Closed

Investigate moving to Babel 7 when it releases #316

eliperelman opened this issue Sep 13, 2017 · 2 comments
Assignees
Milestone

Comments

@eliperelman
Copy link
Member

eliperelman commented Sep 13, 2017

https://github.com/babel/babel/milestone/14

@eliperelman eliperelman modified the milestone: v7 Sep 13, 2017
@graingert
Copy link
Contributor

graingert commented Jan 12, 2018

FYI CRA has already got a pre-release with a Switch to Babel 7

@edmorley edmorley self-assigned this Apr 27, 2018
@edmorley
Copy link
Member

I have this mostly working locally.

However we need to first:

  • update to Jest 22 (since it adds babel 7 support, by making babel-core a peerDep instead, so we can use the babel-core@^7 shim) - there were strange test failures on Update jest monorepo to v22 #770 which I've managed to resolve - PR Update Jest monorepo packages to v22 #823 now opened
  • fix the Preact linting config (Issues with the Preact preset linting config #821) since updating to babel 7 means likely dropping use of babel-plugin-jsx-pragmatic (since it tries to pull in a babel 6 plugin; and isn't very maintained) - and without linting working properly, people won't be warned about the need to add the explicit preact imports

@edmorley edmorley added this to the v9 milestone Apr 27, 2018
edmorley added a commit that referenced this issue May 3, 2018
Notable changes:
* All official packages have moved under the `@babel/` namespace and in
  some cases further renamed, so package names adjusted accordingly.
* `@babel/preset-env` now includes `@babel/plugin-transform-spread` and
  `@babel/plugin-transform-classes`, which are the Babel 7 renames of
  `babel-plugin-transform-object-rest-spread` and
  `babel-plugin-transform-es2015-classes`.
* `@babel/preset-env`'s `useBuiltIns: true` mode has been renamed to
  `useBuiltIns: 'entry'` - which is equivalent.
* `@babel/preset-react` now has `development` and `useBuiltIns` options,
  which we set appropriately:
  https://github.com/babel/babel/tree/v7.0.0-beta.46/packages/babel-preset-react#options
* `babel-plugin-dynamic-import-node` is no longer required by
  `@neutrinojs/library` for target `node`, since webpack converts the
  dynamic import to a require itself.
* `@neutrinojs/jest` required more substantial changes since:
  - the custom transformer used the now removed `canCompile()` from
    Babel's API.
  - `babel-preset-jest` is not fully compatible with Babel 7
    (jestjs/jest#6126).
* Several packages now have a peer dependency on `@babel/core`, so it's
  been added where necessary.
* `babel-loader` has been updated to v8 for Babel 7 compatibility.
* `@neutrinojs/vue`'s `babel-preset-vue` dependency doesn't appear to
  be used, but has been left as is pending #836.

Closes #316.
edmorley added a commit that referenced this issue May 6, 2018
Notable changes:
* All official packages have moved under the `@babel/` namespace and in
  some cases further renamed, so package names adjusted accordingly.
* `@babel/preset-env` now includes `@babel/plugin-transform-spread` and
  `@babel/plugin-transform-classes`, which are the Babel 7 renames of
  `babel-plugin-transform-object-rest-spread` and
  `babel-plugin-transform-es2015-classes`.
* `@babel/preset-env`'s `useBuiltIns: true` mode has been renamed to
  `useBuiltIns: 'entry'` - which is equivalent.
* `@babel/preset-react` now has `development` and `useBuiltIns` options,
  which we set appropriately:
  https://github.com/babel/babel/tree/v7.0.0-beta.46/packages/babel-preset-react#options
* `babel-plugin-dynamic-import-node` is no longer required by
  `@neutrinojs/library` for target `node`, since webpack converts the
  dynamic import to a require itself.
* `@neutrinojs/jest` required more substantial changes since:
  - the custom transformer used the now removed `canCompile()` from
    Babel's API.
  - `babel-preset-jest` is not fully compatible with Babel 7
    (jestjs/jest#6126).
* Several packages now have a peer dependency on `@babel/core`, so it's
  been added where necessary.
* `babel-loader` has been updated to v8 for Babel 7 compatibility.
* `@neutrinojs/vue`'s `babel-preset-vue` dependency doesn't appear to
  be used, but has been left as is pending #836.

Closes #316.
edmorley added a commit that referenced this issue May 7, 2018
Notable changes:
* All official packages have moved under the `@babel/` namespace and in
  some cases further renamed, so package names adjusted accordingly.
* `@babel/preset-env` now includes `@babel/plugin-transform-spread` and
  `@babel/plugin-transform-classes`, which are the Babel 7 renames of
  `babel-plugin-transform-object-rest-spread` and
  `babel-plugin-transform-es2015-classes`.
* `@babel/preset-env`'s `useBuiltIns: true` mode has been renamed to
  `useBuiltIns: 'entry'` - which is equivalent.
* `@babel/preset-react` now has `development` and `useBuiltIns` options,
  which we set appropriately:
  https://github.com/babel/babel/tree/v7.0.0-beta.46/packages/babel-preset-react#options
* `babel-plugin-dynamic-import-node` is no longer required by
  `@neutrinojs/library` for target `node`, since webpack converts the
  dynamic import to a require itself.
* `@neutrinojs/jest` required more substantial changes since:
  - the custom transformer used the now removed `canCompile()` from
    Babel's API.
  - `babel-preset-jest` is not fully compatible with Babel 7
    (jestjs/jest#6126).
* Several packages now have a peer dependency on `@babel/core`, so it's
  been added where necessary.
* `babel-loader` has been updated to v8 for Babel 7 compatibility.
* `@neutrinojs/vue`'s `babel-preset-vue` dependency doesn't appear to
  be used, but has been left as is pending #836.

Closes #316.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

3 participants