From 5a6c573d604273b9245e5e8a430ab5f7a229e94f Mon Sep 17 00:00:00 2001 From: Andy Wermke Date: Tue, 25 Jun 2019 23:34:50 +0200 Subject: [PATCH] Build and publish ES module build --- .gitignore | 1 + package.json | 16 +++++++++++++--- tsconfig-esm.json | 8 ++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 tsconfig-esm.json diff --git a/.gitignore b/.gitignore index b63f3a1a..ff4ea463 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ docs/_site docs/vendor dist/* +dist-*/* node_modules/ test/workers/*.js test/webpack/dist* diff --git a/package.json b/package.json index 41525c3a..61fbedbf 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,13 @@ "version": "1.0.0-beta.9", "description": "Easy to use, yet powerful multi-threading library for node.js, web browsers and Electron", "main": "dist/index.js", + "module": "dist-esm/index.js", "scripts": { - "prebuild": "rimraf dist/", - "build": "tsc", + "prebuild": "rimraf dist/ dist-esm/", + "build": "run-p build:cjs build:es", + "build:cjs": "tsc -p tsconfig.json", + "build:es": "tsc -p tsconfig-esm.json", + "pretest": "babel --plugins @babel/plugin-transform-typescript --plugins @babel/plugin-transform-modules-commonjs ./test/workers -d ./test/workers -x .ts", "test": "run-s test:ava test:puppeteer:basic test:puppeteer:webpack", "test:ava": "cross-env TS_NODE_FILES=true ava", "test:puppeteer:basic": "puppet-run --plugin=mocha --bundle=./test/workers/:/workers/ ./test/*.chromium*.ts", @@ -95,10 +99,16 @@ "./dist/master/implementation.node.js": false, "./dist/worker/implementation": "./dist/worker/implementation.browser.js", "./dist/worker/implementation.tiny-worker.js": false, - "./dist/worker/implementation.worker_threads.js": false + "./dist/worker/implementation.worker_threads.js": false, + "./dist-esm/master/implementation": "./dist-esm/master/implementation.browser.js", + "./dist-esm/master/implementation.node.js": false, + "./dist-esm/worker/implementation": "./dist-esm/worker/implementation.browser.js", + "./dist-esm/worker/implementation.tiny-worker.js": false, + "./dist-esm/worker/implementation.worker_threads.js": false }, "files": [ "dist/**", + "dist-esm/**", "*.js", "*.ts" ] diff --git a/tsconfig-esm.json b/tsconfig-esm.json new file mode 100644 index 00000000..4a0d8a95 --- /dev/null +++ b/tsconfig-esm.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "declaration": false, + "module": "esnext", + "outDir": "dist-esm" + } +}