From ebf6915794fc4b13a149f8d762372d7b412ab469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20van=20Br=C3=BCgge?= Date: Wed, 17 Feb 2021 14:20:31 +0100 Subject: [PATCH] feat: offer esm and commonjs bundles This makes it easier to use snabbdom with tools like mocha that do not support ES modules --- package-lock.json | 84 +++++++++++++++++++++++++++-------------------- package.json | 7 ++-- 2 files changed, 53 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 654b294..402e12a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,10 +54,9 @@ "regenerator-runtime": "0.13.7", "remark-cli": "8.0.1", "remark-toc": "7.1.0", + "rollup": "^2.39.0", "standard-version": "9.1.0", - "tsconfigs": "5.0.0", "tty-table": "4.1.3", - "ttypescript": "1.5.12", "typescript": "4.0.3", "webpack": "5.22.0", "webpack-cli": "4.5.0" @@ -12708,6 +12707,35 @@ "integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==", "dev": true }, + "node_modules/rollup": { + "version": "2.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.39.0.tgz", + "integrity": "sha512-+WR3bttcq7zE+BntH09UxaW3bQo3vItuYeLsyk4dL2tuwbeSKJuvwiawyhEnvRdRgrII0Uzk00FpctHO/zB1kw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.1" + } + }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -14448,12 +14476,6 @@ "json5": "lib/cli.js" } }, - "node_modules/tsconfigs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tsconfigs/-/tsconfigs-5.0.0.tgz", - "integrity": "sha512-mIURkwOBBtghy179f/uhXoJOJzAG4Zpvg5+PhG7m8P6BuQx72lrQ9qbFbZkr4svUX85BoHraRX1UYfg67VAjIw==", - "dev": true - }, "node_modules/tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", @@ -14720,19 +14742,6 @@ "node": ">=6" } }, - "node_modules/ttypescript": { - "version": "1.5.12", - "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.12.tgz", - "integrity": "sha512-1ojRyJvpnmgN9kIHmUnQPlEV1gq+VVsxVYjk/NfvMlHSmYxjK5hEvOOU2MQASrbekTUiUM7pR/nXeCc8bzvMOQ==", - "dev": true, - "dependencies": { - "resolve": ">=1.9.0" - }, - "bin": { - "ttsc": "bin/tsc", - "ttsserver": "bin/tsserver" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -26691,6 +26700,24 @@ "integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==", "dev": true }, + "rollup": { + "version": "2.39.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.39.0.tgz", + "integrity": "sha512-+WR3bttcq7zE+BntH09UxaW3bQo3vItuYeLsyk4dL2tuwbeSKJuvwiawyhEnvRdRgrII0Uzk00FpctHO/zB1kw==", + "dev": true, + "requires": { + "fsevents": "~2.3.1" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -28110,12 +28137,6 @@ } } }, - "tsconfigs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/tsconfigs/-/tsconfigs-5.0.0.tgz", - "integrity": "sha512-mIURkwOBBtghy179f/uhXoJOJzAG4Zpvg5+PhG7m8P6BuQx72lrQ9qbFbZkr4svUX85BoHraRX1UYfg67VAjIw==", - "dev": true - }, "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", @@ -28324,15 +28345,6 @@ } } }, - "ttypescript": { - "version": "1.5.12", - "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.12.tgz", - "integrity": "sha512-1ojRyJvpnmgN9kIHmUnQPlEV1gq+VVsxVYjk/NfvMlHSmYxjK5hEvOOU2MQASrbekTUiUM7pR/nXeCc8bzvMOQ==", - "dev": true, - "requires": { - "resolve": ">=1.9.0" - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index d09e477..21d937d 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "snabbdom", "version": "2.1.0", "description": "A virtual DOM library with focus on simplicity, modularity, powerful features and performance.", + "main": "build/snabbdom.cjs.js", "module": "build/index.js", "devDependencies": { "@babel/core": "7.12.16", @@ -49,6 +50,7 @@ "regenerator-runtime": "0.13.7", "remark-cli": "8.0.1", "remark-toc": "7.1.0", + "rollup": "^2.39.0", "standard-version": "9.1.0", "tty-table": "4.1.3", "typescript": "4.0.3", @@ -56,6 +58,8 @@ "webpack-cli": "4.5.0" }, "scripts": { + "build": "tsc && npm run bundle:cjs", + "bundle:cjs": "rollup build/index.js --format cjs --file build/snabbdom.cjs.js", "postinstall": "husky install", "prepublishOnly": "pinst --disable", "postpublish": "pinst --enable", @@ -67,8 +71,7 @@ "unit": "cross-env FILES_PATTERN=\"test-bundles/unit/**/*.js\" karma start karma.conf.cjs", "benchmark": "cross-env FILES_PATTERN=\"test-bundles/benchmark/**/*.js\" karma start karma.conf.cjs --concurrency=1", "make-release-commit": "standard-version", - "test": "run-s lint compile bundle-tests unit", - "compile": "tsc", + "test": "run-s lint build bundle-tests unit", "bundle-tests": "webpack --config tests.webpack.config.cjs" }, "repository": {