diff --git a/.gitignore b/.gitignore index fc18d6da7..892aade59 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ node_modules package-lock.json yarn.lock coverage +dist analysis.json diff --git a/package.json b/package.json index 618100400..80fd37e47 100644 --- a/package.json +++ b/package.json @@ -31,15 +31,18 @@ "theme" ], "scripts": { + "analyze": "polymer analyze vaadin-* > analysis.json", "check-version": "magi check-version", "debug": "web-test-runner test/*.test.js --watch", + "dist": "rimraf dist && npm run analyze && rollup -c rollup.config.js && cp analysis.json dist", "lint": "npm run lint:js && npm run lint:css && npm run lint:types", "lint:js": "eslint src theme test", "lint:css": "stylelint src/*.js theme/**/*-styles.js", "lint:types": "tsc", - "prestart": "polymer analyze vaadin-* > analysis.json", + "prestart": "npm run analyze", "preversion": "magi update-version", "screenshots": "hermione test/visual/test.js --update-refs", + "serve:dist": "web-dev-server --app-index dist/index.html --open", "start": "web-dev-server --node-resolve --open", "test": "web-test-runner test/*.test.js --coverage", "test:firefox": "TEST_ENV=firefox web-test-runner", @@ -70,10 +73,12 @@ }, "devDependencies": { "@esm-bundle/chai": "^4.1.5", + "@open-wc/rollup-plugin-html": "^1.2.5", "@open-wc/testing-helpers": "^1.8.0", "@polymer/iron-component-page": "^4.0.0", "@polymer/iron-list": "^3.1.0", "@polymer/iron-test-helpers": "^3.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", "@web/dev-server": "0.0.21", "@web/test-runner": "^0.9.12", "@web/test-runner-saucelabs": "^0.1.3", @@ -87,6 +92,9 @@ "lint-staged": "^10.5.1", "magi-cli": "^0.28.0", "prettier": "^2.2.0", + "rimraf": "^3.0.2", + "rollup": "^2.34.1", + "rollup-plugin-terser": "^7.0.2", "sinon": "^9.2.0", "stylelint": "^13.8.0", "stylelint-config-prettier": "^8.0.2", diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 000000000..b4695e8ed --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,12 @@ +/* eslint-env node */ +const { nodeResolve } = require('@rollup/plugin-node-resolve'); +const { terser } = require('rollup-plugin-terser'); +const html = require('@open-wc/rollup-plugin-html'); + +module.exports = { + input: './index.html', + output: { + dir: './dist' + }, + plugins: [html(), nodeResolve(), terser()] +};