diff --git a/.npmignore b/.npmignore index a2f78f0..d4c42e7 100644 --- a/.npmignore +++ b/.npmignore @@ -1,7 +1,6 @@ spec script src -lib .npmignore .DS_Store npm-debug.log diff --git a/.travis.yml b/.travis.yml index 472ab39..44925b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,9 @@ notifications: on_failure: change node_js: - - 8 + - 10 + - 12 + - 14 git: depth: 10 diff --git a/README.md b/README.md index 7df7c88..520e490 100644 --- a/README.md +++ b/README.md @@ -74,3 +74,9 @@ const {Disposable} = require('event-kit') const disposable = new Disposable(() => this.destroyResource()) ``` + +### Using ES6 Code +You can use the ES6 style classes from `lib` directory. +``` +const {Disposable} = require('event-kit/lib/event-kit') +``` diff --git a/appveyor.yml b/appveyor.yml index 9b76f4f..f2985be 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,11 +1,15 @@ environment: - nodejs_version: "6" + matrix: + - nodejs_version: "10" + - nodejs_version: "12" + - nodejs_version: "14" platform: - x64 - x86 install: + - SET PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin;%PATH% - ps: Install-Product node $env:nodejs_version - npm install diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..873b92c --- /dev/null +++ b/babel.config.js @@ -0,0 +1,10 @@ +let presets = ["babel-preset-atomic"]; + +let plugins = ["@babel/plugin-transform-classes"] // this is needed so Disposabale can be extended by ES5-style classes + +module.exports = { + presets: presets, + plugins: plugins, + exclude: "node_modules/**", + sourceMap: true, +} diff --git a/package.json b/package.json index 557f6d1..5efa0a5 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "description": "Simple library for implementing and consuming evented APIs", "main": "./dist/event-kit", "scripts": { - "prepublish": "babel lib --out-dir dist --presets @babel/env && joanna-tello -o api.json package.json lib", + "build": "cross-env BABEL_KEEP_MODULES=false babel lib --out-dir dist --delete-dir-on-start", + "docs": "joanna-tello -o api.json package.json lib", + "prepublish": "npm run build && npm run docs", "test": "jasmine-focused --captureExceptions --forceexit spec" }, "repository": { @@ -16,12 +18,11 @@ }, "license": "MIT", "devDependencies": { - "@babel/cli": "^7.1.2", - "@babel/core": "^7.1.2", - "@babel/preset-env": "^7.1.0", - "jasmine-focused": "^1.0.4", - "joanna": "0.0.11", - "rimraf": "^2.2.2", - "temp": "^0.6.0" + "@babel/cli": "^7.12.10", + "@babel/core": "^7.12.10", + "babel-preset-atomic": "^3.0.1", + "cross-env": "^7.0.3", + "jasmine-focused": "^1.0.7", + "joanna": "https://github.com/aminya/joanna" } }