@samitouri / QOS-React-2 / commits / 1365498b81

Update to Babel 6

Sebastian McKenzie committed Feb 26, 2016 at 16:49 UTC 1365498b811ac3f91f6462152cc2dc6f1c6f01e4
5 files changed +64 -31
.babelrc new
+25
@@ -0,0 +1,25 @@
1 +{
2 + "presets": ["react"],
3 + "ignore": ["third_party"],
4 + "plugins": [
5 + "fbjs-scripts/babel-6/dev-expression",
6 + "syntax-trailing-function-commas",
7 + "transform-es2015-template-literals",
8 + "transform-es2015-literals",
9 + "transform-es2015-arrow-functions",
10 + "transform-es2015-block-scoped-functions",
11 + ["transform-es2015-classes", { "loose": true }],
12 + "transform-es2015-object-super",
13 + "transform-es2015-shorthand-properties",
14 + "transform-es2015-computed-properties",
15 + "transform-es2015-for-of",
16 + "check-es2015-constants",
17 + ["transform-es2015-spread", { "loose": true }],
18 + "transform-es2015-parameters",
19 + ["transform-es2015-destructuring", { "loose": true }],
20 + "transform-es2015-block-scoping",
21 + "transform-es2015-modules-commonjs",
22 + "transform-es3-member-expression-literals",
23 + "transform-es3-property-literals"
24 + ]
25 +}
.eslintrc
+4 -1
@@ -2,12 +2,15 @@
2 parser: babel-eslint
3
4 extends:
5 - - ./node_modules/fbjs-scripts/eslint/.eslintrc
5 + - ./node_modules/fbjs-scripts/eslint/.eslintrc.js
6
7 plugins:
8 - react
9 - react-internal
10
11 +ecmaFeatures:
12 + modules: false
13 +
14 # We're stricter than the default config, mostly. We'll override a few rules and
15 # then enable some React specific ones.
16 rules:
gulpfile.js
+3 -11
@@ -14,8 +14,7 @@ var babel = require('gulp-babel');
14 var flatten = require('gulp-flatten');
15 var del = require('del');
16
17 -var babelPluginDEV = require('fbjs-scripts/babel/dev-expression');
18 -var babelPluginModules = require('fbjs-scripts/babel/rewrite-modules');
17 +var babelPluginModules = require('fbjs-scripts/babel-6/rewrite-modules');
18
19 var paths = {
20 react: {
@@ -30,16 +29,9 @@ var paths = {
29 };
30
31 var babelOpts = {
33 - nonStandard: true,
34 - blacklist: [
35 - 'spec.functionName',
32 + plugins: [
33 + [babelPluginModules, { map: require('fbjs/module-map') }],
34 ],
37 - optional: [
38 - 'es7.trailingFunctionCommas',
39 - ],
40 - plugins: [babelPluginDEV, babelPluginModules],
41 - ignore: ['third_party'],
42 - _moduleMap: require('fbjs/module-map'),
35 };
36
37 gulp.task('react:clean', function() {
package.json
+23 -4
@@ -4,8 +4,27 @@
4 "version": "0.15.0-alpha.1",
5 "devDependencies": {
6 "async": "^1.5.0",
7 - "babel": "^5.8.29",
8 - "babel-eslint": "4.1.8",
7 + "babel-core": "^6.0.0",
8 + "babel-eslint": "^5.0.0",
9 + "babel-plugin-check-es2015-constants": "^6.5.0",
10 + "babel-plugin-syntax-trailing-function-commas": "^6.5.0",
11 + "babel-plugin-transform-es2015-arrow-functions": "^6.5.2",
12 + "babel-plugin-transform-es2015-block-scoped-functions": "^6.5.0",
13 + "babel-plugin-transform-es2015-block-scoping": "^6.5.0",
14 + "babel-plugin-transform-es2015-classes": "^6.5.2",
15 + "babel-plugin-transform-es2015-computed-properties": "^6.5.2",
16 + "babel-plugin-transform-es2015-destructuring": "^6.5.0",
17 + "babel-plugin-transform-es2015-for-of": "^6.5.2",
18 + "babel-plugin-transform-es2015-literals": "^6.5.0",
19 + "babel-plugin-transform-es2015-modules-commonjs": "^6.5.2",
20 + "babel-plugin-transform-es2015-object-super": "^6.5.0",
21 + "babel-plugin-transform-es2015-parameters": "^6.5.0",
22 + "babel-plugin-transform-es2015-shorthand-properties": "^6.5.0",
23 + "babel-plugin-transform-es2015-spread": "^6.5.2",
24 + "babel-plugin-transform-es2015-template-literals": "^6.5.2",
25 + "babel-plugin-transform-es3-member-expression-literals": "^6.5.0",
26 + "babel-plugin-transform-es3-property-literals": "^6.5.0",
27 + "babel-preset-react": "^6.5.0",
28 "browserify": "^12.0.1",
29 "bundle-collapser": "^1.1.1",
30 "coffee-script": "^1.8.0",
@@ -17,7 +36,7 @@
36 "eslint-plugin-react": "3.8.0",
37 "eslint-plugin-react-internal": "file:eslint-rules",
38 "fbjs": "^0.6.1",
20 - "fbjs-scripts": "^0.5.0",
39 + "fbjs-scripts": "0.6.0-alpha.2",
40 "glob": "^6.0.1",
41 "grunt": "^0.4.5",
42 "grunt-cli": "^0.1.13",
@@ -25,7 +44,7 @@
44 "grunt-contrib-clean": "^0.6.0",
45 "grunt-contrib-compress": "^0.14.0",
46 "gulp": "^3.9.0",
28 - "gulp-babel": "^5.3.0",
47 + "gulp-babel": "^6.0.0",
48 "gulp-flatten": "^0.2.0",
49 "gzip-js": "~0.3.2",
50 "jest-cli": "^0.9.0-fb1",
scripts/jest/preprocessor.js
+9 -15
@@ -6,7 +6,7 @@ process.env.NODE_ENV = 'test';
6
7 var path = require('path');
8
9 -var babel = require('babel');
9 +var babel = require('babel-core');
10 var coffee = require('coffee-script');
11
12 var tsPreprocessor = require('./ts-preprocessor');
@@ -14,29 +14,22 @@ var tsPreprocessor = require('./ts-preprocessor');
14 // This assumes the module map has been built. This might not be safe.
15 // We should consider consuming this from a built fbjs module from npm.
16 var moduleMap = require('fbjs/module-map');
17 -var babelPluginDEV = require('fbjs-scripts/babel/dev-expression');
18 -var babelPluginModules = require('fbjs-scripts/babel/rewrite-modules');
17 +var babelPluginModules = require('fbjs-scripts/babel-6/rewrite-modules');
18 var createCacheKeyFunction = require('fbjs-scripts/jest/createCacheKeyFunction');
19
20 // Use require.resolve to be resilient to file moves, npm updates, etc
22 -var pathToBabel = path.join(require.resolve('babel'), '..', 'package.json');
21 +var pathToBabel = path.join(require.resolve('babel-core'), '..', 'package.json');
22 var pathToModuleMap = require.resolve('fbjs/module-map');
24 -var pathToBabelPluginDev = require.resolve('fbjs-scripts/babel/dev-expression');
25 -var pathToBabelPluginModules = require.resolve('fbjs-scripts/babel/rewrite-modules');
23 +var pathToBabelPluginDev = require.resolve('fbjs-scripts/babel-6/dev-expression');
24 +var pathToBabelPluginModules = require.resolve('fbjs-scripts/babel-6/rewrite-modules');
25 +var pathToBabelrc = path.join(__dirname, '..', '..', '.babelrc');
26
27 // TODO: make sure this stays in sync with gulpfile
28 var babelOptions = {
29 - nonStandard: true,
30 - blacklist: [
31 - 'spec.functionName',
32 - 'validation.react',
29 + plugins: [
30 + [babelPluginModules, { map: moduleMap }],
31 ],
34 - optional: [
35 - 'es7.trailingFunctionCommas',
36 - ],
37 - plugins: [babelPluginDEV, babelPluginModules],
32 retainLines: true,
39 - _moduleMap: moduleMap,
33 };
34
35 module.exports = {
@@ -62,6 +55,7 @@ module.exports = {
55 getCacheKey: createCacheKeyFunction([
56 __filename,
57 pathToBabel,
58 + pathToBabelrc,
59 pathToModuleMap,
60 pathToBabelPluginDev,
61 pathToBabelPluginModules,