Skip to content

Commit

Permalink
Add Babel setup
Browse files Browse the repository at this point in the history
  • Loading branch information
pmuens committed Jun 25, 2018
1 parent 1d0bb59 commit 7b6f293
Show file tree
Hide file tree
Showing 130 changed files with 18,978 additions and 4,774 deletions.
8 changes: 5 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
environment:
matrix:
- NODEJS_VERSION: '4'
- NODEJS_VERSION: '6'
- NODEJS_VERSION: '8'
- NODEJS_VERSION: '10'

install:
- ps: Install-Product node $env:NODEJS_VERSION
- npm install --global npm@latest
- set PATH=%APPDATA%\npm;%PATH%
- npm install
- cmd: appveyor-retry npm install

test_script:
- node --version
- npm --version
# NOTE: we only inlcude specific directories and skip integration tests on AppVeyor
- npm run lint
- npm run test:appveyor

matrix:
Expand Down
13 changes: 13 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"presets": [
[
"env",
{
"targets": {
"node": "4"
}
}
]
],
"plugins": [["transform-object-rest-spread", { "useBuiltIns": true }]]
}
5 changes: 5 additions & 0 deletions .jest.init.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// eslint-disable-next-line no-underscore-dangle
if (!global._babelPolyfill) {
// eslint-disable-next-line global-require
require('babel-polyfill')
}
35 changes: 24 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,36 @@
language: node_js
sudo: false
node_js:
- 8
matrix:
include:
- node_js: 4
env:
- SENTRY_DSN: https://17031d90871a4daebd4f261f2359b38f:9ce69587851c448b96893fb3794df20e@sentry.io/300239
- SEGMENT_WRITE_KEY: jvOP27GTlIJubkJpRcDAa4uSfwCD03NI
- node_js: 6
env:
- SENTRY_DSN: https://17031d90871a4daebd4f261f2359b38f:9ce69587851c448b96893fb3794df20e@sentry.io/300239
- SEGMENT_WRITE_KEY: jvOP27GTlIJubkJpRcDAa4uSfwCD03NI
- node_js: 8
env:
- SENTRY_DSN: https://17031d90871a4daebd4f261f2359b38f:9ce69587851c448b96893fb3794df20e@sentry.io/300239
- SEGMENT_WRITE_KEY: jvOP27GTlIJubkJpRcDAa4uSfwCD03NI
- node_js: 10
env:
- SENTRY_DSN: https://17031d90871a4daebd4f261f2359b38f:9ce69587851c448b96893fb3794df20e@sentry.io/300239
- SEGMENT_WRITE_KEY: jvOP27GTlIJubkJpRcDAa4uSfwCD03NI
- secure: Yf/XWQJFj3ouojuTLzU57iYo1J4gm0hOkGy6dIJXD0Y+KW3Lv1CduU7Fr82rA/IWJm88vHRMkdDXR96Esn0ftkRWt7KWYQ19cJCl8zVaFpIYz3J48tywRyhFro6TtgNFZT0T8uzkDHLGc1z0rCJM5lkmcAxke0aOP7L/PQboHjrP4KsGGgdh4KzEpfKNfSXe25ormlRG+6lIj2i6QPb5sJS74o1uuv+DS0wIeYzOXhRgY40OnvDqrkZgQ/X7mdURox4jQluddNmJJRwozJSdsnXuyiiLdrafz626Yn+5pX4EVwtWfOdj7SseUkATgjSC0rwi9kBLTlrOLusRQlD0eSqgdsWogDUooiClRLfz//aVujxgbd2tUjERPE8lyH+QVUTTGfQoYWovQmlF2GJR7KMeg1zk3RcI2iy7/JXGQhfA6L5ncCfny4NqZF+P/Dk3fnA9YCsZiOTlQUkzjdm/+x9Be1204ZLN6lW0mvjo4XyNgrkA6un+BeLWmn93QlqQbrrKDb2VqTnIP7LCRnfd3shVryuK7IsA3aV08UV+wOBTFD05EpzoRFSswXyH5odGpYGokw94eSxG/4rZkbWxJX5KZXLz+6RvAhOrWrJTYuFH6s9/o8bG6Ub9TL1XFiQEVL5Q0mGH2j1EJb1SvaJAXKeoBkcyZRmKEsIGGQ35INo=
- secure: eUZQSb5ZKkZ9xDWRmuR/A5u77tIKqFvwfhVn28hlN2uwZphrWRrJ0044iea13aB6L0K3/hrO2rNsD6NogngSa7/EcOYJqL6ZMtz50vGlL7wP05mmbTLwlioOMeC2hw781ndYLPh3YSmowxaoLhwrZbOQK0zZIh1n7sRhsLkjcQHMQpYghlGaUviRKsn2HeXP/SXt/2tXj0jXZKmHLqgjWTuTZRo9rD+509PIHIwRVPu1MBfI4TFQKpmnqiAWOWu5KsXPZEVwfmntLyGAnSVv4/dRZRi878q6swT5OH26ZrfaJqCgyqaBFRDraj65KJSU/R5SB9ts7V4yu+KXCYElnoJrI1ZEJQi+uWvAbmRV9AgQJosZS9YrL5uWx5JUUJXQ83++IRZz71Yow7Fwfdb0o+rbNRfFDq1Fie/Ll/GxLnIYzOekUpfISlQIM3qTrT4qfZkQpxrYYWyDGhdFZ1pqyv2DwUfsnSadd4KAONp60az96AonLZTzCzPraZ7/j5Ehbu5yKtZrVbGol/I3vatjdoJv0wj4F2SpCybczMKNzRIogyOKPP6wGRuokT/jdTiMg1v2nevaNyVBBDs/QQssc8BqZdeouAbgBz3fmzOSo4KghzUjL0rXE+LnGFbbS7/8maqN8vjgE6iL95kDWdsMzxKYFY405tl2ABiw8JFrKfE=
- secure: jOdWpV+d3k2UszLpfytNIpEb4km3PA0RGR5M2y+LhvzGcC20jEarfgiVfzJp18rU5CzGyCe0fEghBo/NpDBz/9bw4+8zOYzrUnnKXUQgPyujMrJXTZDOo8THaU3buWJdSjwFf29wBjd/bH5AI7Lap/c92qudUPGQ4DIDzBg4/XwXEHWB6VE7GVeK7hd1khh31+YFEq3BKW41u/t6F7LV705vsHGCkqS7GhQs0Ni+vEiWCbqAnC8XzJbJLRe5YQidVoiGLzdjFevWtcMtI3Ro0JL0AwuuOFwxU5GSlTnJ4D6a8ki1Bwf4CKXZHdNF56eYqSqWIzKILsW51LczjVXNZKKH8ZlrDJo6d0xsfhVlvE2n6PvCPajog9HavNqsbYdOV0Vu6K7GsWw0iPFB/w5mHh+moybANLf+xY1Uo4d47rtUjeYS4JH9X5qy64cDlRjT6WHTvm0GUZvH5E3IotRpotY5ZrKL6v9hD5mljoeW7ot1T0eNqqNlEeypaSDYsL5xcgp/3WVoat7rnix5qvPxDZrFUSvQfKQ4AE3ezGAPeSblE373/r1dFqhmyOH47YW1CGpfJNmDlzovIUj+leEZvZmB9Rfhpl6iY+aDfGc6xpfxsk89OQFwTgMUjhrOglPOra2u9mmSn3Vw87k/bdWDTM7bHR1HmSSm3o0PDgnHbq0=
- secure: Fzuq8z/p3+vb3DdsQJEPS9SAyGMUZ3hpgFSMUIglSVldgnHBKZ9GARjJvRLsyeBfnDJ1KL3MyMd5xbUK9glk4VyA54xrsuUX4Guuk9U0cueCEgfe2TMC50LTrJIUHREBal9hktyK5m9U5Kof4QeMRzcUN9VuscP2WS0Qt2TJMXbpsrcp++oD6kfZlyrvhQMAcv9ghgtBGeDBG90nJiE6eey5G1PkNECIY1t3raFgZdZnDs0FFLURZI91JvRgUxoN/rm1nRoBIE4yUHnx2ovXfqBps24LnSQVxDU73NJ39mGZhvDjJ3+KdlZwwwsADRhqP2ghUP0SZlEnHH8kcANA6O25ge+M6dGlsQ5uVqGKcuLFH7SoVgeQUWKb2XOdJZcWI/lby/TjWCtAG9AXdlX/42VKT0SR/QfjfG/acuFwFTQdwRx6AnquW+IQ8P5aKWd2re9SGi6FWi33eods0WnDQXN49BabRt8CeXzhF8X7wj1ccTeflsAeRgC1JOiRfKbDCbHzOPe9iLP+ivo8loXbQE0xhc3K2cYvUWHr4Cilkk2LLR/GhWWRwl+yvC/WWGtjGy66ponnYscGcCWEuJSCErfu56Z97r2JuDrKCVoTzcc//5lpkSl06wvlsvzz1Lr8kf6DKekmJbmDLZ394FfSMurZldc+ARHjYoi8TInvUkU=
install:
- npm install
- npm install -g codecov
- pushd examples/restapi/code && npm install && popd
script:
- npm run lint
- npm test
- npm run test:travis
- codecov
env:
global:
- SENTRY_DSN="https://17031d90871a4daebd4f261f2359b38f:9ce69587851c448b96893fb3794df20e@sentry.io/300239"
- SEGMENT_WRITE_KEY="jvOP27GTlIJubkJpRcDAa4uSfwCD03NI"
- secure: Yf/XWQJFj3ouojuTLzU57iYo1J4gm0hOkGy6dIJXD0Y+KW3Lv1CduU7Fr82rA/IWJm88vHRMkdDXR96Esn0ftkRWt7KWYQ19cJCl8zVaFpIYz3J48tywRyhFro6TtgNFZT0T8uzkDHLGc1z0rCJM5lkmcAxke0aOP7L/PQboHjrP4KsGGgdh4KzEpfKNfSXe25ormlRG+6lIj2i6QPb5sJS74o1uuv+DS0wIeYzOXhRgY40OnvDqrkZgQ/X7mdURox4jQluddNmJJRwozJSdsnXuyiiLdrafz626Yn+5pX4EVwtWfOdj7SseUkATgjSC0rwi9kBLTlrOLusRQlD0eSqgdsWogDUooiClRLfz//aVujxgbd2tUjERPE8lyH+QVUTTGfQoYWovQmlF2GJR7KMeg1zk3RcI2iy7/JXGQhfA6L5ncCfny4NqZF+P/Dk3fnA9YCsZiOTlQUkzjdm/+x9Be1204ZLN6lW0mvjo4XyNgrkA6un+BeLWmn93QlqQbrrKDb2VqTnIP7LCRnfd3shVryuK7IsA3aV08UV+wOBTFD05EpzoRFSswXyH5odGpYGokw94eSxG/4rZkbWxJX5KZXLz+6RvAhOrWrJTYuFH6s9/o8bG6Ub9TL1XFiQEVL5Q0mGH2j1EJb1SvaJAXKeoBkcyZRmKEsIGGQ35INo=
- secure: eUZQSb5ZKkZ9xDWRmuR/A5u77tIKqFvwfhVn28hlN2uwZphrWRrJ0044iea13aB6L0K3/hrO2rNsD6NogngSa7/EcOYJqL6ZMtz50vGlL7wP05mmbTLwlioOMeC2hw781ndYLPh3YSmowxaoLhwrZbOQK0zZIh1n7sRhsLkjcQHMQpYghlGaUviRKsn2HeXP/SXt/2tXj0jXZKmHLqgjWTuTZRo9rD+509PIHIwRVPu1MBfI4TFQKpmnqiAWOWu5KsXPZEVwfmntLyGAnSVv4/dRZRi878q6swT5OH26ZrfaJqCgyqaBFRDraj65KJSU/R5SB9ts7V4yu+KXCYElnoJrI1ZEJQi+uWvAbmRV9AgQJosZS9YrL5uWx5JUUJXQ83++IRZz71Yow7Fwfdb0o+rbNRfFDq1Fie/Ll/GxLnIYzOekUpfISlQIM3qTrT4qfZkQpxrYYWyDGhdFZ1pqyv2DwUfsnSadd4KAONp60az96AonLZTzCzPraZ7/j5Ehbu5yKtZrVbGol/I3vatjdoJv0wj4F2SpCybczMKNzRIogyOKPP6wGRuokT/jdTiMg1v2nevaNyVBBDs/QQssc8BqZdeouAbgBz3fmzOSo4KghzUjL0rXE+LnGFbbS7/8maqN8vjgE6iL95kDWdsMzxKYFY405tl2ABiw8JFrKfE=
- secure: jOdWpV+d3k2UszLpfytNIpEb4km3PA0RGR5M2y+LhvzGcC20jEarfgiVfzJp18rU5CzGyCe0fEghBo/NpDBz/9bw4+8zOYzrUnnKXUQgPyujMrJXTZDOo8THaU3buWJdSjwFf29wBjd/bH5AI7Lap/c92qudUPGQ4DIDzBg4/XwXEHWB6VE7GVeK7hd1khh31+YFEq3BKW41u/t6F7LV705vsHGCkqS7GhQs0Ni+vEiWCbqAnC8XzJbJLRe5YQidVoiGLzdjFevWtcMtI3Ro0JL0AwuuOFwxU5GSlTnJ4D6a8ki1Bwf4CKXZHdNF56eYqSqWIzKILsW51LczjVXNZKKH8ZlrDJo6d0xsfhVlvE2n6PvCPajog9HavNqsbYdOV0Vu6K7GsWw0iPFB/w5mHh+moybANLf+xY1Uo4d47rtUjeYS4JH9X5qy64cDlRjT6WHTvm0GUZvH5E3IotRpotY5ZrKL6v9hD5mljoeW7ot1T0eNqqNlEeypaSDYsL5xcgp/3WVoat7rnix5qvPxDZrFUSvQfKQ4AE3ezGAPeSblE373/r1dFqhmyOH47YW1CGpfJNmDlzovIUj+leEZvZmB9Rfhpl6iY+aDfGc6xpfxsk89OQFwTgMUjhrOglPOra2u9mmSn3Vw87k/bdWDTM7bHR1HmSSm3o0PDgnHbq0=
- secure: Fzuq8z/p3+vb3DdsQJEPS9SAyGMUZ3hpgFSMUIglSVldgnHBKZ9GARjJvRLsyeBfnDJ1KL3MyMd5xbUK9glk4VyA54xrsuUX4Guuk9U0cueCEgfe2TMC50LTrJIUHREBal9hktyK5m9U5Kof4QeMRzcUN9VuscP2WS0Qt2TJMXbpsrcp++oD6kfZlyrvhQMAcv9ghgtBGeDBG90nJiE6eey5G1PkNECIY1t3raFgZdZnDs0FFLURZI91JvRgUxoN/rm1nRoBIE4yUHnx2ovXfqBps24LnSQVxDU73NJ39mGZhvDjJ3+KdlZwwwsADRhqP2ghUP0SZlEnHH8kcANA6O25ge+M6dGlsQ5uVqGKcuLFH7SoVgeQUWKb2XOdJZcWI/lby/TjWCtAG9AXdlX/42VKT0SR/QfjfG/acuFwFTQdwRx6AnquW+IQ8P5aKWd2re9SGi6FWi33eods0WnDQXN49BabRt8CeXzhF8X7wj1ccTeflsAeRgC1JOiRfKbDCbHzOPe9iLP+ivo8loXbQE0xhc3K2cYvUWHr4Cilkk2LLR/GhWWRwl+yvC/WWGtjGy66ponnYscGcCWEuJSCErfu56Z97r2JuDrKCVoTzcc//5lpkSl06wvlsvzz1Lr8kf6DKekmJbmDLZ394FfSMurZldc+ARHjYoi8TInvUkU=

deploy:
provider: npm
email: services@serverless.com
Expand Down
20 changes: 20 additions & 0 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,26 @@ cd components
npm install
```

## `USE_ESNEXT` environment variable

You can export the `USE_ESNEXT` environment variable if you're using a Node.js version >=8 and want to work on the project without `build`ing / `watch`ing it.

## Build

To build the project

```sh
npm run build
```

## Watch

To automatically re-build the project when files change

```sh
npm run watch
```

## Cleanse

To wipe out all installed modules as well as package-lock.json files, use the `cleanse` script.
Expand Down
12 changes: 11 additions & 1 deletion bin/components
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
#!/usr/bin/env node

'use strict'

const minimist = require('minimist')
require('dotenv').config()

const { run } = require('../src/index')
let run

// makes it more convenient to develop when using ESNext features
if (process.env.USE_ESNEXT) {
run = require('../src/index').run
} else {
run = require('../dist/index').run
}

const command = process.argv[2]
const options = minimist(process.argv.slice(2))
Expand Down
5 changes: 5 additions & 0 deletions examples/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
rules: {
'import/no-unresolved': 'off'
}
}
Loading

0 comments on commit 7b6f293

Please sign in to comment.