chore: add bundlesize checks
This commit is contained in:
parent
d705a35eda
commit
a7b0c338e1
9 changed files with 1324 additions and 654 deletions
|
|
@ -32,6 +32,9 @@ jobs:
|
||||||
# run test locally first
|
# run test locally first
|
||||||
- run: npm run test
|
- run: npm run test
|
||||||
|
|
||||||
|
# make sure size is ok
|
||||||
|
- run: npm run bundlesize
|
||||||
|
|
||||||
# run compatibility tests for multiple browser via browserstack
|
# run compatibility tests for multiple browser via browserstack
|
||||||
# disabled until we can safely test multiple browsers
|
# disabled until we can safely test multiple browsers
|
||||||
# - run: npm run test:bs
|
# - run: npm run test:bs
|
||||||
|
|
|
||||||
|
|
@ -1 +1,2 @@
|
||||||
coverage/
|
coverage/
|
||||||
|
bundlesize/
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ yarn-error.log
|
||||||
## build artifacts
|
## build artifacts
|
||||||
/lib/
|
/lib/
|
||||||
/build/
|
/build/
|
||||||
|
/bundlesize/dist/
|
||||||
|
|
||||||
## temp folders
|
## temp folders
|
||||||
/.tmp/
|
/.tmp/
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,3 @@
|
||||||
coverage/
|
coverage/
|
||||||
CHANGELOG.md
|
CHANGELOG.md
|
||||||
|
bundlesize/
|
||||||
|
|
|
||||||
30
bundlesize/all.js
Normal file
30
bundlesize/all.js
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
import '../packages/ajax/index.js';
|
||||||
|
import '../packages/button/index.js';
|
||||||
|
import '../packages/calendar/index.js';
|
||||||
|
import '../packages/checkbox/index.js';
|
||||||
|
import '../packages/checkbox-group/index.js';
|
||||||
|
import '../packages/choice-input/index.js';
|
||||||
|
import '../packages/core/index.js';
|
||||||
|
import '../packages/dialog/index.js';
|
||||||
|
import '../packages/field/index.js';
|
||||||
|
import '../packages/fieldset/index.js';
|
||||||
|
import '../packages/form/index.js';
|
||||||
|
import '../packages/icon/index.js';
|
||||||
|
import '../packages/input/index.js';
|
||||||
|
import '../packages/input-amount/index.js';
|
||||||
|
import '../packages/input-date/index.js';
|
||||||
|
import '../packages/input-email/index.js';
|
||||||
|
import '../packages/input-iban/index.js';
|
||||||
|
import '../packages/localize/index.js';
|
||||||
|
import '../packages/option/index.js';
|
||||||
|
import '../packages/overlays/index.js';
|
||||||
|
import '../packages/radio/index.js';
|
||||||
|
import '../packages/radio-group/index.js';
|
||||||
|
import '../packages/select/index.js';
|
||||||
|
import '../packages/select-rich/index.js';
|
||||||
|
import '../packages/steps/index.js';
|
||||||
|
import '../packages/switch/index.js';
|
||||||
|
import '../packages/tabs/index.js';
|
||||||
|
import '../packages/textarea/index.js';
|
||||||
|
import '../packages/tooltip/index.js';
|
||||||
|
import '../packages/validate/index.js';
|
||||||
1
bundlesize/core.js
Normal file
1
bundlesize/core.js
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
import '../packages/core/index.js';
|
||||||
17
bundlesize/rollup.config.js
Normal file
17
bundlesize/rollup.config.js
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
import createDefaultConfig from '@open-wc/building-rollup/modern-config';
|
||||||
|
|
||||||
|
export default ['core', 'all'].map(name => {
|
||||||
|
const config = createDefaultConfig({
|
||||||
|
input: `bundlesize/${name}.js`,
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
...config,
|
||||||
|
treeshake: false,
|
||||||
|
output: {
|
||||||
|
...config.output,
|
||||||
|
dir: `bundlesize/dist/${name}`,
|
||||||
|
sourcemap: false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
17
package.json
17
package.json
|
|
@ -8,6 +8,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "^7.0.0",
|
"@commitlint/cli": "^7.0.0",
|
||||||
"@commitlint/config-conventional": "^7.0.0",
|
"@commitlint/config-conventional": "^7.0.0",
|
||||||
|
"@open-wc/building-rollup": "^0.14.8",
|
||||||
"@open-wc/demoing-storybook": "^0.2.0",
|
"@open-wc/demoing-storybook": "^0.2.0",
|
||||||
"@open-wc/eslint-config": "^1.0.0",
|
"@open-wc/eslint-config": "^1.0.0",
|
||||||
"@open-wc/prettier-config": "^0.1.0",
|
"@open-wc/prettier-config": "^0.1.0",
|
||||||
|
|
@ -19,6 +20,7 @@
|
||||||
"@webcomponents/webcomponentsjs": "^2.2.5",
|
"@webcomponents/webcomponentsjs": "^2.2.5",
|
||||||
"babel-eslint": "^8.2.6",
|
"babel-eslint": "^8.2.6",
|
||||||
"babel-polyfill": "^6.26.0",
|
"babel-polyfill": "^6.26.0",
|
||||||
|
"bundlesize": "^0.17.1",
|
||||||
"eclint": "^2.8.1",
|
"eclint": "^2.8.1",
|
||||||
"eslint": "^6.1.0",
|
"eslint": "^6.1.0",
|
||||||
"husky": "^1.0.0",
|
"husky": "^1.0.0",
|
||||||
|
|
@ -26,6 +28,8 @@
|
||||||
"lint-staged": "^8.0.0",
|
"lint-staged": "^8.0.0",
|
||||||
"markdownlint-cli": "^0.17.0",
|
"markdownlint-cli": "^0.17.0",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
|
"rimraf": "^2.6.3",
|
||||||
|
"rollup": "^1.27.8",
|
||||||
"sinon": "^7.2.2",
|
"sinon": "^7.2.2",
|
||||||
"webpack-merge": "^4.1.5",
|
"webpack-merge": "^4.1.5",
|
||||||
"whatwg-fetch": "^3.0.0"
|
"whatwg-fetch": "^3.0.0"
|
||||||
|
|
@ -50,7 +54,8 @@
|
||||||
"lint:versions": "node ./scripts/lint-versions.js",
|
"lint:versions": "node ./scripts/lint-versions.js",
|
||||||
"format": "npm run format:eslint && npm run format:prettier",
|
"format": "npm run format:eslint && npm run format:prettier",
|
||||||
"format:eslint": "eslint --ext .js,.html . --fix",
|
"format:eslint": "eslint --ext .js,.html . --fix",
|
||||||
"format:prettier": "prettier \"**/*.{js,md}\" --write"
|
"format:prettier": "prettier \"**/*.{js,md}\" --write",
|
||||||
|
"bundlesize": "rollup -c bundlesize/rollup.config.js && bundlesize"
|
||||||
},
|
},
|
||||||
"lint-staged": {
|
"lint-staged": {
|
||||||
"*": [
|
"*": [
|
||||||
|
|
@ -73,5 +78,15 @@
|
||||||
"yarn.lock": [
|
"yarn.lock": [
|
||||||
"node ./scripts/yarn-lock-scan.js"
|
"node ./scripts/yarn-lock-scan.js"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"bundlesize": [
|
||||||
|
{
|
||||||
|
"path": "./bundlesize/dist/core/core-*.js",
|
||||||
|
"maxSize": "10 kB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "./bundlesize/dist/all/all-*.js",
|
||||||
|
"maxSize": "30 kB"
|
||||||
}
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue