babel-preset-react-app 6.1.0 → 7.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. package/README.md +8 -8
  2. package/create.js +16 -2
  3. package/package.json +17 -17
package/README.md CHANGED
@@ -3,8 +3,8 @@
3
3
  This package includes the Babel preset used by [Create React App](https://github.com/facebook/create-react-app).<br>
4
4
  Please refer to its documentation:
5
5
 
6
- - [Getting Started](https://github.com/facebook/create-react-app/blob/master/README.md#getting-started) – How to create a new app.
7
- - [User Guide](https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md) – How to develop apps bootstrapped with Create React App.
6
+ - [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
7
+ - [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
8
8
 
9
9
  ## Usage in Create React App Projects
10
10
 
@@ -12,7 +12,7 @@ The easiest way to use this configuration is with [Create React App](https://git
12
12
 
13
13
  ## Usage Outside of Create React App
14
14
 
15
- If you want to use this Babel preset in a project not built with Create React App, you can install it with following steps.
15
+ If you want to use this Babel preset in a project not built with Create React App, you can install it with the following steps.
16
16
 
17
17
  First, [install Babel](https://babeljs.io/docs/setup/).
18
18
 
@@ -24,7 +24,7 @@ npm install babel-preset-react-app --save-dev
24
24
 
25
25
  Then create a file named `.babelrc` with following contents in the root folder of your project:
26
26
 
27
- ```js
27
+ ```json
28
28
  {
29
29
  "presets": ["react-app"]
30
30
  }
@@ -34,9 +34,9 @@ This preset uses the `useBuiltIns` option with [transform-object-rest-spread](ht
34
34
 
35
35
  ## Usage with Flow
36
36
 
37
- Flow is enabled by default. Make sure you have a `.flowconfig` file at the root directory. You can also use the `flow` option on `.babelrc`:
37
+ Make sure you have a `.flowconfig` file at the root directory. You can also use the `flow` option on `.babelrc`:
38
38
 
39
- ```
39
+ ```json
40
40
  {
41
41
  "presets": [["react-app", { "flow": true, "typescript": false }]]
42
42
  }
@@ -44,9 +44,9 @@ Flow is enabled by default. Make sure you have a `.flowconfig` file at the root
44
44
 
45
45
  ## Usage with TypeScript
46
46
 
47
- TypeScript is enabled by default. Make sure you have a `tsconfig.json` file at the root directory. You can also use the `typescript` option on `.babelrc`:
47
+ Make sure you have a `tsconfig.json` file at the root directory. You can also use the `typescript` option on `.babelrc`:
48
48
 
49
- ```
49
+ ```json
50
50
  {
51
51
  "presets": [["react-app", { "flow": false, "typescript": true }]]
52
52
  }
package/create.js CHANGED
@@ -29,6 +29,11 @@ module.exports = function(api, opts, env) {
29
29
  var isEnvProduction = env === 'production';
30
30
  var isEnvTest = env === 'test';
31
31
 
32
+ var useESModules = validateBoolOption(
33
+ 'useESModules',
34
+ opts.useESModules,
35
+ isEnvDevelopment || isEnvProduction
36
+ );
32
37
  var isFlowEnabled = validateBoolOption('flow', opts.flow, true);
33
38
  var isTypeScriptEnabled = validateBoolOption(
34
39
  'typescript',
@@ -108,8 +113,13 @@ module.exports = function(api, opts, env) {
108
113
  // Strip flow types before any other transform, emulating the behavior
109
114
  // order as-if the browser supported all of the succeeding features
110
115
  // https://github.com/facebook/create-react-app/pull/5182
111
- isFlowEnabled &&
116
+ // We will conditionally enable this plugin below in overrides as it clashes with
117
+ // @babel/plugin-proposal-decorators when using TypeScript.
118
+ // https://github.com/facebook/create-react-app/issues/5741
119
+ isFlowEnabled && [
112
120
  require('@babel/plugin-transform-flow-strip-types').default,
121
+ false,
122
+ ],
113
123
  // Experimental macros support. Will be documented after it's had some time
114
124
  // in the wild.
115
125
  require('babel-plugin-macros'),
@@ -151,7 +161,7 @@ module.exports = function(api, opts, env) {
151
161
  // https://babeljs.io/docs/en/babel-plugin-transform-runtime#useesmodules
152
162
  // We should turn this on once the lowest version of Node LTS
153
163
  // supports ES Modules.
154
- useESModules: isEnvDevelopment || isEnvProduction,
164
+ useESModules,
155
165
  // Undocumented option that lets us encapsulate our runtime, ensuring
156
166
  // the correct version is used
157
167
  // https://github.com/babel/babel/blob/090c364a90fe73d36a30707fc612ce037bdbbb24/packages/babel-plugin-transform-runtime/src/index.js#L35-L42
@@ -172,6 +182,10 @@ module.exports = function(api, opts, env) {
172
182
  require('babel-plugin-dynamic-import-node'),
173
183
  ].filter(Boolean),
174
184
  overrides: [
185
+ isFlowEnabled && {
186
+ exclude: /\.tsx?$/,
187
+ plugins: [require('@babel/plugin-transform-flow-strip-types').default],
188
+ },
175
189
  isTypeScriptEnabled && {
176
190
  test: /\.tsx?$/,
177
191
  plugins: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babel-preset-react-app",
3
- "version": "6.1.0",
3
+ "version": "7.0.2",
4
4
  "description": "Babel preset used by Create React App",
5
5
  "repository": "facebook/create-react-app",
6
6
  "license": "MIT",
@@ -17,24 +17,24 @@
17
17
  "test.js"
18
18
  ],
19
19
  "dependencies": {
20
- "@babel/core": "7.1.0",
21
- "@babel/plugin-proposal-class-properties": "7.1.0",
22
- "@babel/plugin-proposal-decorators": "7.1.2",
23
- "@babel/plugin-proposal-object-rest-spread": "7.0.0",
24
- "@babel/plugin-syntax-dynamic-import": "7.0.0",
25
- "@babel/plugin-transform-classes": "7.1.0",
26
- "@babel/plugin-transform-destructuring": "7.0.0",
27
- "@babel/plugin-transform-flow-strip-types": "7.0.0",
28
- "@babel/plugin-transform-react-constant-elements": "7.0.0",
29
- "@babel/plugin-transform-react-display-name": "7.0.0",
30
- "@babel/plugin-transform-runtime": "7.1.0",
31
- "@babel/preset-env": "7.1.0",
20
+ "@babel/core": "7.2.2",
21
+ "@babel/plugin-proposal-class-properties": "7.3.0",
22
+ "@babel/plugin-proposal-decorators": "7.3.0",
23
+ "@babel/plugin-proposal-object-rest-spread": "7.3.2",
24
+ "@babel/plugin-syntax-dynamic-import": "7.2.0",
25
+ "@babel/plugin-transform-classes": "7.2.2",
26
+ "@babel/plugin-transform-destructuring": "7.3.2",
27
+ "@babel/plugin-transform-flow-strip-types": "7.2.3",
28
+ "@babel/plugin-transform-react-constant-elements": "7.2.0",
29
+ "@babel/plugin-transform-react-display-name": "7.2.0",
30
+ "@babel/plugin-transform-runtime": "7.2.0",
31
+ "@babel/preset-env": "7.3.1",
32
32
  "@babel/preset-react": "7.0.0",
33
33
  "@babel/preset-typescript": "7.1.0",
34
- "@babel/runtime": "7.0.0",
35
- "babel-loader": "8.0.4",
34
+ "@babel/runtime": "7.3.1",
35
+ "babel-loader": "8.0.5",
36
36
  "babel-plugin-dynamic-import-node": "2.2.0",
37
- "babel-plugin-macros": "2.4.2",
38
- "babel-plugin-transform-react-remove-prop-types": "0.4.18"
37
+ "babel-plugin-macros": "2.5.0",
38
+ "babel-plugin-transform-react-remove-prop-types": "0.4.24"
39
39
  }
40
40
  }