fix: use strict versions to get correct deps on older versions
This commit is contained in:
parent
4d029a5d4d
commit
8645c13b1d
34 changed files with 209 additions and 126 deletions
|
|
@ -47,6 +47,7 @@
|
|||
"lint:eslint": "eslint --ext .js,.html .",
|
||||
"lint:prettier": "prettier \"**/*.js\" --list-different || (echo '↑↑ these files are not prettier formatted ↑↑' && exit 1)",
|
||||
"lint:markdownlint": "git ls-files '*.md' | xargs markdownlint --ignore '**/CHANGELOG.md'",
|
||||
"lint:versions": "node ./scripts/lint-versions.js",
|
||||
"format": "npm run format:eslint && npm run format:prettier",
|
||||
"format:eslint": "eslint --ext .js,.html . --fix",
|
||||
"format:prettier": "prettier \"**/*.{js,md}\" --write"
|
||||
|
|
@ -66,6 +67,9 @@
|
|||
"markdownlint",
|
||||
"git add"
|
||||
],
|
||||
"*package.json": [
|
||||
"node ./scripts/lint-versions.js"
|
||||
],
|
||||
"yarn.lock": [
|
||||
"node ./scripts/yarn-lock-scan.js"
|
||||
]
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
],
|
||||
"dependencies": {
|
||||
"@bundled-es-modules/axios": "0.18.1",
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/form": "^0.3.6",
|
||||
"@lion/icon": "^0.2.9",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/form": "0.3.6",
|
||||
"@lion/icon": "0.2.9",
|
||||
"@lion/input": "0.3.6",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"@polymer/iron-test-helpers": "^3.0.1",
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/localize": "^0.7.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/localize": "0.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/button": "^0.3.44",
|
||||
"@lion/button": "0.3.44",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/fieldset": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/fieldset": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/checkbox": "^0.2.8",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/checkbox": "0.2.8",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/choice-input": "^0.4.6",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/input": "^0.3.6"
|
||||
"@lion/choice-input": "0.4.6",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/input": "0.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/overlays": "^0.7.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/overlays": "0.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,22 +32,22 @@
|
|||
"*.js"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@lion/checkbox": "^0.2.8",
|
||||
"@lion/checkbox-group": "^0.3.6",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/fieldset": "^0.5.0",
|
||||
"@lion/form": "^0.3.6",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/input-amount": "^0.3.6",
|
||||
"@lion/input-date": "^0.3.6",
|
||||
"@lion/input-email": "^0.3.6",
|
||||
"@lion/input-iban": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/radio": "^0.2.8",
|
||||
"@lion/radio-group": "^0.3.6",
|
||||
"@lion/textarea": "^0.3.6",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/checkbox": "0.2.8",
|
||||
"@lion/checkbox-group": "0.3.6",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/fieldset": "0.5.0",
|
||||
"@lion/form": "0.3.6",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/input-amount": "0.3.6",
|
||||
"@lion/input-date": "0.3.6",
|
||||
"@lion/input-email": "0.3.6",
|
||||
"@lion/input-iban": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/radio": "0.2.8",
|
||||
"@lion/radio-group": "0.3.6",
|
||||
"@lion/textarea": "0.3.6",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,14 +32,14 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/fieldset": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/fieldset": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/input-iban": "^0.3.6",
|
||||
"@lion/textarea": "^0.3.6",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/input-iban": "0.3.6",
|
||||
"@lion/textarea": "0.3.6",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -36,16 +36,16 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/calendar": "^0.4.0",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/input-date": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/overlays": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/calendar": "0.4.0",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/input-date": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/overlays": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/button": "^0.3.44",
|
||||
"@lion/button": "0.3.44",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -33,11 +33,11 @@
|
|||
],
|
||||
"dependencies": {
|
||||
"@bundled-es-modules/ibantools": "2.0.0",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/input": "^0.3.6",
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/input": "0.3.6",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
],
|
||||
"dependencies": {
|
||||
"@bundled-es-modules/message-format": "6.0.4",
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@bundled-es-modules/fetch-mock": "^6.5.2",
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/choice-input": "^0.4.6",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5"
|
||||
"@lion/choice-input": "0.4.6",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/core": "0.3.0",
|
||||
"popper.js": "^1.15.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/overlays": "^0.7.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/overlays": "0.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/button": "^0.3.44",
|
||||
"@lion/icon": "^0.2.9",
|
||||
"@lion/button": "0.3.44",
|
||||
"@lion/icon": "0.2.9",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/fieldset": "^0.5.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/fieldset": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/radio": "^0.2.8",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/radio": "0.2.8",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/choice-input": "^0.4.6",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/input": "^0.3.6"
|
||||
"@lion/choice-input": "0.4.6",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/input": "0.3.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -36,15 +36,15 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/button": "^0.3.44",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/option": "^0.3.6",
|
||||
"@lion/overlays": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0"
|
||||
"@lion/button": "0.3.44",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"@lion/option": "0.3.6",
|
||||
"@lion/overlays": "0.7.0",
|
||||
"@lion/validate": "0.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/form": "^0.3.6",
|
||||
"@lion/form": "0.3.6",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,14 +32,14 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/button": "^0.3.44",
|
||||
"@lion/choice-input": "^0.4.6",
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5"
|
||||
"@lion/button": "0.3.44",
|
||||
"@lion/choice-input": "0.4.6",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/localize": "^0.7.0",
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/localize": "0.7.0",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4",
|
||||
"sinon": "^7.2.2"
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0"
|
||||
"@lion/core": "0.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/field": "^0.6.5",
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/field": "0.6.5",
|
||||
"autosize": "4.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lion/validate": "^0.5.0",
|
||||
"@lion/validate": "0.5.0",
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
"@open-wc/testing": "^2.3.4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,8 +32,8 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/overlays": "^0.7.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/overlays": "0.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@
|
|||
"*.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/core": "^0.3.0",
|
||||
"@lion/localize": "^0.7.0"
|
||||
"@lion/core": "0.3.0",
|
||||
"@lion/localize": "0.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@open-wc/demoing-storybook": "^0.2.0",
|
||||
|
|
|
|||
79
scripts/lint-versions.js
Normal file
79
scripts/lint-versions.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
/* eslint-disable no-console */
|
||||
const { readdirSync, existsSync, readFileSync } = require('fs');
|
||||
|
||||
const getDirectories = source =>
|
||||
readdirSync(source, { withFileTypes: true })
|
||||
.filter(pathMeta => pathMeta.isDirectory())
|
||||
.map(pathMeta => pathMeta.name);
|
||||
|
||||
function readPackageJsonDeps(filePath) {
|
||||
if (existsSync(filePath)) {
|
||||
const jsonData = JSON.parse(readFileSync(filePath, 'utf-8'));
|
||||
const merged = { ...jsonData.dependencies, ...jsonData.devDependencies };
|
||||
const result = {};
|
||||
Object.keys(merged).forEach(dep => {
|
||||
if (merged[dep] && !merged[dep].includes('file:')) {
|
||||
result[dep] = merged[dep];
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
function readPackageJsonNameVersion(filePath) {
|
||||
if (existsSync(filePath)) {
|
||||
const jsonData = JSON.parse(readFileSync(filePath, 'utf-8'));
|
||||
const result = {};
|
||||
result[jsonData.name] = `${jsonData.version}`;
|
||||
return result;
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
function compareVersions(versionsA, versionsB) {
|
||||
let output = '';
|
||||
const newVersions = { ...versionsA };
|
||||
Object.keys(versionsB).forEach(dep => {
|
||||
if (versionsA[dep] && versionsB[dep] && versionsA[dep] !== versionsB[dep]) {
|
||||
output += ` - "${dep}" should be "${versionsA[dep]}" but is "${versionsB[dep]}"\n`;
|
||||
}
|
||||
if (!newVersions[dep]) {
|
||||
newVersions[dep] = versionsB[dep];
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
output,
|
||||
newVersions,
|
||||
};
|
||||
}
|
||||
|
||||
let currentVersions = readPackageJsonDeps('./package.json');
|
||||
let endReturn = 0;
|
||||
|
||||
// find all versions in the monorepo
|
||||
getDirectories('./packages').forEach(subPackage => {
|
||||
const filePath = `./packages/${subPackage}/package.json`;
|
||||
currentVersions = { ...currentVersions, ...readPackageJsonNameVersion(filePath) };
|
||||
});
|
||||
|
||||
// lint all versions in packages
|
||||
getDirectories('./packages').forEach(subPackage => {
|
||||
const filePath = `./packages/${subPackage}/package.json`;
|
||||
const subPackageVersions = readPackageJsonDeps(filePath);
|
||||
const { output, newVersions } = compareVersions(currentVersions, subPackageVersions);
|
||||
currentVersions = { ...newVersions };
|
||||
if (output) {
|
||||
console.log(`Version mismatches found in "${filePath}":`);
|
||||
console.log(output);
|
||||
console.log();
|
||||
endReturn = 1;
|
||||
}
|
||||
});
|
||||
|
||||
if (endReturn === 0) {
|
||||
console.log('All versions are aligned 💪');
|
||||
}
|
||||
|
||||
process.exit(endReturn);
|
||||
Loading…
Reference in a new issue