From ca7c0ed94ceba839862484c99750497c27dde250 Mon Sep 17 00:00:00 2001 From: SleepWalker Date: Sat, 14 Jan 2017 21:38:38 +0200 Subject: [PATCH] Async/await and new function bind syntax support --- .babelrc | 3 ++- npm-shrinkwrap.json | 42 ++++++++++++++++++++++++++++++++++++- package.json | 3 +++ scripts/.babelrc | 3 --- scripts/test-async-await.js | 13 ++++++++++++ 5 files changed, 59 insertions(+), 5 deletions(-) delete mode 100644 scripts/.babelrc create mode 100644 scripts/test-async-await.js diff --git a/.babelrc b/.babelrc index e8c7174..3605b4e 100644 --- a/.babelrc +++ b/.babelrc @@ -1,7 +1,8 @@ { - "presets": ["react", "es2015", "stage-0"], + "presets": ["react", "es2015", "es2017", "stage-0"], "plugins": [ ["transform-runtime", {"polyfill": false}], + "transform-function-bind", ["react-intl", {"messagesDir": "./dist/messages/"}] ], "env": { diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 73e0a6e..557c0e8 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -461,6 +461,26 @@ } } }, + "babel-cli": { + "version": "6.18.0", + "from": "babel-cli@latest", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.18.0.tgz", + "dev": true, + "dependencies": { + "fs-readdir-recursive": { + "version": "1.0.0", + "from": "fs-readdir-recursive@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", + "dev": true + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.5 <6.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "dev": true + } + } + }, "babel-code-frame": { "version": "6.16.0", "from": "babel-code-frame@>=6.16.0 <7.0.0", @@ -889,7 +909,7 @@ }, "babel-plugin-transform-function-bind": { "version": "6.8.0", - "from": "babel-plugin-transform-function-bind@>=6.3.13 <7.0.0", + "from": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.8.0.tgz", "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.8.0.tgz", "dev": true }, @@ -970,6 +990,12 @@ "resolved": "https://registry.npmjs.org/babel-preset-es2015-without-strict/-/babel-preset-es2015-without-strict-0.0.4.tgz", "dev": true }, + "babel-preset-es2017": { + "version": "6.16.0", + "from": "babel-preset-es2017@latest", + "resolved": "https://registry.npmjs.org/babel-preset-es2017/-/babel-preset-es2017-6.16.0.tgz", + "dev": true + }, "babel-preset-react": { "version": "6.16.0", "from": "babel-preset-react@>=6.3.13 <7.0.0", @@ -6672,6 +6698,20 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", "dev": true }, + "v8flags": { + "version": "2.0.11", + "from": "v8flags@>=2.0.10 <3.0.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz", + "dev": true, + "dependencies": { + "user-home": { + "version": "1.1.1", + "from": "user-home@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "dev": true + } + } + }, "validate-npm-package-license": { "version": "3.0.1", "from": "validate-npm-package-license@>=3.0.1 <4.0.0", diff --git a/package.json b/package.json index 9664538..62d606a 100644 --- a/package.json +++ b/package.json @@ -45,13 +45,16 @@ "whatwg-fetch": "^2.0.0" }, "devDependencies": { + "babel-cli": "^6.18.0", "babel-core": "^6.0.0", "babel-eslint": "^7.0.0", "babel-loader": "^6.0.0", "babel-plugin-react-intl": "^2.0.0", + "babel-plugin-transform-function-bind": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.8.0.tgz", "babel-plugin-transform-runtime": "^6.3.13", "babel-preset-airbnb": "^2.0.0", "babel-preset-es2015": "^6.3.13", + "babel-preset-es2017": "^6.16.0", "babel-preset-react": "^6.3.13", "babel-preset-react-hmre": "^1.0.1", "babel-preset-stage-0": "^6.3.13", diff --git a/scripts/.babelrc b/scripts/.babelrc deleted file mode 100644 index 0522a89..0000000 --- a/scripts/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "breakConfig": true -} diff --git a/scripts/test-async-await.js b/scripts/test-async-await.js new file mode 100644 index 0000000..811b012 --- /dev/null +++ b/scripts/test-async-await.js @@ -0,0 +1,13 @@ +const test = async () => { +}; + +const obj = {a: 1, b: 1}; + +const {a, b} = obj; + +console.log(a, b, 'ok'); + + +// how to: +// cd to frontend +// > ./node_modules/.bin/babel-node --presets es2015,es2017,stage-0 ./scripts/test-async-await.js