diff --git a/package.json b/package.json index c6445169f..08f95a0a9 100644 --- a/package.json +++ b/package.json @@ -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" ] diff --git a/packages/ajax/package.json b/packages/ajax/package.json index 2501237d7..03e75d183 100644 --- a/packages/ajax/package.json +++ b/packages/ajax/package.json @@ -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", diff --git a/packages/button/package.json b/packages/button/package.json index 14c6aef23..eb505eedc 100644 --- a/packages/button/package.json +++ b/packages/button/package.json @@ -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", diff --git a/packages/calendar/package.json b/packages/calendar/package.json index 112216f4c..80b4f8a4f 100644 --- a/packages/calendar/package.json +++ b/packages/calendar/package.json @@ -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" diff --git a/packages/checkbox-group/package.json b/packages/checkbox-group/package.json index e3509799c..c826e4d38 100644 --- a/packages/checkbox-group/package.json +++ b/packages/checkbox-group/package.json @@ -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" diff --git a/packages/checkbox/package.json b/packages/checkbox/package.json index 606d89db5..7669acced 100644 --- a/packages/checkbox/package.json +++ b/packages/checkbox/package.json @@ -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", diff --git a/packages/choice-input/package.json b/packages/choice-input/package.json index 5ac5a13e8..7e5f7791b 100644 --- a/packages/choice-input/package.json +++ b/packages/choice-input/package.json @@ -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" diff --git a/packages/dialog/package.json b/packages/dialog/package.json index fad651211..57bb1f885 100644 --- a/packages/dialog/package.json +++ b/packages/dialog/package.json @@ -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", diff --git a/packages/field/package.json b/packages/field/package.json index 02619b4f9..c9b2a3b8c 100644 --- a/packages/field/package.json +++ b/packages/field/package.json @@ -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" diff --git a/packages/fieldset/package.json b/packages/fieldset/package.json index 92a64ea66..efdd6d3ae 100644 --- a/packages/fieldset/package.json +++ b/packages/fieldset/package.json @@ -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" diff --git a/packages/form-system/package.json b/packages/form-system/package.json index f1251b4d3..e4f8d955c 100644 --- a/packages/form-system/package.json +++ b/packages/form-system/package.json @@ -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" } diff --git a/packages/form/package.json b/packages/form/package.json index 32cdfd987..7858e6623 100644 --- a/packages/form/package.json +++ b/packages/form/package.json @@ -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" diff --git a/packages/icon/package.json b/packages/icon/package.json index 0d15c071a..2821500e9 100644 --- a/packages/icon/package.json +++ b/packages/icon/package.json @@ -32,7 +32,7 @@ "*.js" ], "dependencies": { - "@lion/core": "^0.3.0" + "@lion/core": "0.3.0" }, "devDependencies": { "@open-wc/demoing-storybook": "^0.2.0", diff --git a/packages/input-amount/package.json b/packages/input-amount/package.json index ec685615d..f2f66954c 100644 --- a/packages/input-amount/package.json +++ b/packages/input-amount/package.json @@ -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", diff --git a/packages/input-date/package.json b/packages/input-date/package.json index 926c10b5f..a4260d1ce 100644 --- a/packages/input-date/package.json +++ b/packages/input-date/package.json @@ -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", diff --git a/packages/input-datepicker/package.json b/packages/input-datepicker/package.json index 544ea5f63..fa19200a2 100644 --- a/packages/input-datepicker/package.json +++ b/packages/input-datepicker/package.json @@ -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" diff --git a/packages/input-email/package.json b/packages/input-email/package.json index dca504250..dba384cfa 100644 --- a/packages/input-email/package.json +++ b/packages/input-email/package.json @@ -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", diff --git a/packages/input-iban/package.json b/packages/input-iban/package.json index 620151fde..21010ddd0 100644 --- a/packages/input-iban/package.json +++ b/packages/input-iban/package.json @@ -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", diff --git a/packages/input/package.json b/packages/input/package.json index 623c96cd0..2f0caafa0 100644 --- a/packages/input/package.json +++ b/packages/input/package.json @@ -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" } diff --git a/packages/localize/package.json b/packages/localize/package.json index 0fe5b5781..a28229e03 100644 --- a/packages/localize/package.json +++ b/packages/localize/package.json @@ -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", diff --git a/packages/option/package.json b/packages/option/package.json index 1814246ec..f8096eee2 100644 --- a/packages/option/package.json +++ b/packages/option/package.json @@ -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", diff --git a/packages/overlays/package.json b/packages/overlays/package.json index cbdb476a7..3d1d30f5f 100644 --- a/packages/overlays/package.json +++ b/packages/overlays/package.json @@ -34,7 +34,7 @@ "*.js" ], "dependencies": { - "@lion/core": "^0.3.0", + "@lion/core": "0.3.0", "popper.js": "^1.15.0" }, "devDependencies": { diff --git a/packages/popup/package.json b/packages/popup/package.json index dfb0a5c6a..55765ca0c 100644 --- a/packages/popup/package.json +++ b/packages/popup/package.json @@ -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" } diff --git a/packages/radio-group/package.json b/packages/radio-group/package.json index b14bd52d1..605760c7d 100644 --- a/packages/radio-group/package.json +++ b/packages/radio-group/package.json @@ -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" } diff --git a/packages/radio/package.json b/packages/radio/package.json index 451f51711..f968042ee 100644 --- a/packages/radio/package.json +++ b/packages/radio/package.json @@ -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", diff --git a/packages/select-rich/package.json b/packages/select-rich/package.json index 5bbff06bc..a59676e9e 100644 --- a/packages/select-rich/package.json +++ b/packages/select-rich/package.json @@ -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" } diff --git a/packages/select/package.json b/packages/select/package.json index dacc29e88..85e2ae210 100644 --- a/packages/select/package.json +++ b/packages/select/package.json @@ -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" } diff --git a/packages/steps/package.json b/packages/steps/package.json index c7f21d87d..42c1c7a3b 100644 --- a/packages/steps/package.json +++ b/packages/steps/package.json @@ -32,7 +32,7 @@ "*.js" ], "dependencies": { - "@lion/core": "^0.3.0" + "@lion/core": "0.3.0" }, "devDependencies": { "@open-wc/demoing-storybook": "^0.2.0", diff --git a/packages/switch/package.json b/packages/switch/package.json index 326a97389..b80ccd80d 100644 --- a/packages/switch/package.json +++ b/packages/switch/package.json @@ -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" diff --git a/packages/tabs/package.json b/packages/tabs/package.json index adceefb25..c35057ed8 100644 --- a/packages/tabs/package.json +++ b/packages/tabs/package.json @@ -32,7 +32,7 @@ "*.js" ], "dependencies": { - "@lion/core": "^0.3.0" + "@lion/core": "0.3.0" }, "devDependencies": { "@open-wc/demoing-storybook": "^0.2.0", diff --git a/packages/textarea/package.json b/packages/textarea/package.json index b265c8eaf..d69e16bf9 100644 --- a/packages/textarea/package.json +++ b/packages/textarea/package.json @@ -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" } diff --git a/packages/tooltip/package.json b/packages/tooltip/package.json index 56aaf15cd..f80c7dcd3 100644 --- a/packages/tooltip/package.json +++ b/packages/tooltip/package.json @@ -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", diff --git a/packages/validate/package.json b/packages/validate/package.json index d6cbdd473..3a57cb825 100644 --- a/packages/validate/package.json +++ b/packages/validate/package.json @@ -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", diff --git a/scripts/lint-versions.js b/scripts/lint-versions.js new file mode 100644 index 000000000..19b19b867 --- /dev/null +++ b/scripts/lint-versions.js @@ -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);