Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Commit

Permalink
Fixup Babel 7 migration (hard because: monorepo with lerna)
Browse files Browse the repository at this point in the history
  • Loading branch information
MoOx committed Dec 8, 2018
1 parent 3893460 commit 09525f2
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 65 deletions.
12 changes: 4 additions & 8 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
module.exports = {
// babelrcRoots: [".", "packages/*"],
presets: [
"@babel/preset-flow",
"@babel/preset-react",
[
"@babel/preset-env",
{
Expand All @@ -11,15 +8,14 @@ module.exports = {
},
},
],
"@babel/preset-react",
"@babel/preset-flow",
],
plugins: [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-proposal-export-default-from",
"@babel/plugin-proposal-export-namespace-from",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-object-rest-spread",
"@babel/plugin-proposal-object-rest-spread",
[
`@babel/plugin-transform-runtime`,
"@babel/plugin-transform-runtime",
{
helpers: true,
regenerator: true,
Expand Down
5 changes: 1 addition & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@
"@babel/cli": "^7.0.0",
"@babel/node": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
Expand Down
8 changes: 4 additions & 4 deletions packages/babel-preset/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
],
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"@babel/plugin-transform-runtime": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"@babel/runtime": "^7.0.0"
"@babel/runtime": "^7.0.0",
"babel-plugin-dynamic-import-node": "^2.2.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.21"
}
}
85 changes: 71 additions & 14 deletions packages/babel-preset/src/index.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,83 @@
// @flow

// most of this has been inspired by
// https://github.com/facebook/create-react-app/tree/master/packages/babel-preset-react-app

module.exports = () => ({
presets: [
require("@babel/preset-flow"),
require("@babel/preset-react"),
[
require("@babel/preset-env"),
process.env.PHENOMIC_ENV === "static"
? {
targets: {
node: "current",
},
}
: {},
{
...(process.env.PHENOMIC_ENV === "static"
? {
targets: {
node: "current",
},
}
: {
// Do not transform modules to CJS since bundler like webpack handle it
modules: false,
}),
// If users import all core-js they're probably not concerned with
// bundle size. We shouldn't rely on magic to try and shrink it.
useBuiltIns: false,
// Exclude transforms that make all code slower
exclude: ["transform-typeof-symbol"],
},
],
[
require("@babel/preset-react"),
{
// Adds component stack to warning messages
// Adds __self attribute to JSX which React will use for some warnings
development: process.env.PHENOMIC_ENV !== "static",
// Will use the native built-in instead of trying to polyfill
// behavior for any plugins that require one.
useBuiltIns: true,
},
],
require("@babel/preset-flow"),
],
plugins: [
require("@babel/plugin-proposal-class-properties"),
require("@babel/plugin-proposal-export-default-from"),
require("@babel/plugin-proposal-export-namespace-from"),
// Enable loose mode to use assignment instead of defineProperty
// See discussion in https://github.com/facebook/create-react-app/issues/4263
[
require("@babel/plugin-proposal-class-properties"),
{
loose: true,
},
],
// The following two plugins use Object.assign directly, instead of Babel's
// extends helper. Note that this assumes `Object.assign` is available.
// { ...todo, completed: true }
[
require("@babel/plugin-proposal-object-rest-spread"),
{
useBuiltIns: true,
},
],
// Polyfills the runtime needed for async/await, generators, and friends
// https://babeljs.io/docs/en/babel-plugin-transform-runtime
[
require("@babel/plugin-transform-runtime").default,
{
corejs: false,
helpers: false,
regenerator: true,
useESModules: process.env.PHENOMIC_ENV === "static",
},
],
process.env.NODE_ENV === "production" && [
// Remove PropTypes from production build
require("babel-plugin-transform-react-remove-prop-types").default,
{
removeImport: true,
},
],
// Adds syntax support for import()
require("@babel/plugin-syntax-dynamic-import"),
require("@babel/plugin-syntax-object-rest-spread"),
require("@babel/plugin-transform-runtime"),
// Transform dynamic import to require
process.env.PHENOMIC_ENV === "static" &&
require("babel-plugin-dynamic-import-node"),
],
});
4 changes: 2 additions & 2 deletions packages/cli/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ require("@babel/register")({
],
],
plugins: [
require.resolve("@babel/plugin-proposal-export-default-from"),
require.resolve("@babel/plugin-syntax-object-rest-spread"),
require.resolve("@babel/plugin-proposal-class-properties"),
require.resolve("@babel/plugin-proposal-object-rest-spread"),
],
sourceMap: "inline",
});
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
"lib"
],
"dependencies": {
"@babel/plugin-proposal-export-default-from": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
Expand Down
1 change: 1 addition & 0 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
"!**/__tests__"
],
"dependencies": {
"@babel/runtime": "^7.0.0",
"@phenomic/bs-platform": "^1.0.0-beta.5",
"@phenomic/api-client": "^1.0.0-beta.5",
"bs-platform": "^4.0.0",
Expand Down
54 changes: 23 additions & 31 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -299,22 +299,6 @@
"@babel/helper-create-class-features-plugin" "^7.2.1"
"@babel/helper-plugin-utils" "^7.0.0"

"@babel/plugin-proposal-export-default-from@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68"
integrity sha512-NVfNe7F6nsasG1FnvcFxh2FN0l04ZNe75qTOAVOILWPam0tw9a63RtT/Dab8dPjedZa4fTQaQ83yMMywF9OSug==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-export-default-from" "^7.2.0"

"@babel/plugin-proposal-export-namespace-from@^7.0.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.2.0.tgz#308fd4d04ff257fc3e4be090550840eeabad5dd9"
integrity sha512-DZUxbHYxQ5fUFIkMEnh75ogEdBLPfL+mQUqrO2hNY2LGm+tqFnxE924+mhAcCOh/8za8AaZsWHbq6bBoS3TAzA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-export-namespace-from" "^7.2.0"

"@babel/plugin-proposal-json-strings@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"
Expand Down Expand Up @@ -402,20 +386,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"

"@babel/plugin-syntax-export-default-from@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz#edd83b7adc2e0d059e2467ca96c650ab6d2f3820"
integrity sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"

"@babel/plugin-syntax-export-namespace-from@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz#8d257838c6b3b779db52c0224443459bd27fb039"
integrity sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA==
dependencies:
"@babel/helper-plugin-utils" "^7.0.0"

"@babel/plugin-syntax-flow@^7.2.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c"
Expand Down Expand Up @@ -2494,6 +2464,13 @@ babel-messages@^6.23.0:
dependencies:
babel-runtime "^6.22.0"

babel-plugin-dynamic-import-node@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e"
integrity sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA==
dependencies:
object.assign "^4.1.0"

babel-plugin-emotion@^8.0.12:
version "8.0.12"
resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-8.0.12.tgz#2ed844001416b0ae2ff787a06b1804ec5f531c89"
Expand Down Expand Up @@ -2533,6 +2510,11 @@ babel-plugin-syntax-object-rest-spread@^6.13.0:
resolved "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=

babel-plugin-transform-react-remove-prop-types@^0.4.21:
version "0.4.21"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.21.tgz#0087938f4348cb751b3e5055a6b38f3c61b5231b"
integrity sha512-+gQBtcnEhYFbMPFGr8YL7SHD4BpHifFDGEc+ES0+1iDwC9psist2+eumcLoHjBMumL7N/HI/G64XR5aQC8Nr5Q==

babel-polyfill@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
Expand Down Expand Up @@ -9175,7 +9157,7 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"

object-keys@^1.0.12:
object-keys@^1.0.11, object-keys@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==
Expand All @@ -9187,6 +9169,16 @@ object-visit@^1.0.0:
dependencies:
isobject "^3.0.0"

object.assign@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
dependencies:
define-properties "^1.1.2"
function-bind "^1.1.1"
has-symbols "^1.0.0"
object-keys "^1.0.11"

object.getownpropertydescriptors@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
Expand Down

0 comments on commit 09525f2

Please sign in to comment.