diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cfea2019..13685eb54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- _[BREAKING]_ `react`, `react-dom`, `moment` and `moment-range` are now exclusively defined as `peerDependencies`. You must install them separately from `@lumx` packages. + ## [0.26.2][] - 2020-10-28 ### Added diff --git a/package.json b/package.json index fe97a98ba..e8df98aa7 100644 --- a/package.json +++ b/package.json @@ -113,5 +113,8 @@ }, "workspaces": [ "packages/*" - ] + ], + "resolutions": { + "**/style-loader": "^1.0.0" + } } diff --git a/packages/lumx-core/package.json b/packages/lumx-core/package.json index 7d3850c90..e43ac73dc 100644 --- a/packages/lumx-core/package.json +++ b/packages/lumx-core/package.json @@ -9,8 +9,6 @@ "classnames": "^2.2.6", "focus-visible": "^5.0.2", "lodash": "4.17.19", - "moment": "^2.24.0", - "moment-range": "^4.0.2", "sass-mq": "^5.0.0" }, "description": "LumX core", @@ -39,6 +37,7 @@ "generate:design-tokens": "yarn node style-dictionary", "build": "webpack", "postbuild": "rm -rf ./dist/*.js ./dist/*.js.map", + "postinstall": "install-peers", "postversion": "version-changelog ../../CHANGELOG.md && git add ../../CHANGELOG.md && git commit --amend", "prepublishOnly": "yarn build" }, @@ -63,6 +62,7 @@ "fork-ts-checker-webpack-plugin": "^4.0.3", "friendly-errors-webpack-plugin": "^1.7.0", "glob": "^7.1.6", + "install-peers-cli": "^2.2.0", "is-ci": "^2.0.0", "node-sass": "^4.13.1", "optimize-css-assets-webpack-plugin": "^5.0.3", diff --git a/packages/lumx-react/package.json b/packages/lumx-react/package.json index c71dc2b6d..5a208943e 100644 --- a/packages/lumx-react/package.json +++ b/packages/lumx-react/package.json @@ -14,11 +14,7 @@ "focus-trap-react": "^6.0.0", "focus-visible": "^5.0.2", "lodash": "4.17.19", - "moment": "^2.24.0", - "moment-range": "^4.0.2", - "react": "^16.8.5", - "react-dom": "^16.8.5", - "react-is": "^16.8.5", + "react-is": "^16.13.0", "react-popper": "^2.2.3", "uuid": "^3.3.2" }, @@ -61,6 +57,7 @@ "fork-ts-checker-webpack-plugin": "^4.0.3", "friendly-errors-webpack-plugin": "^1.7.0", "html-minifier-webpack-plugin": "^2.2.3", + "install-peers-cli": "^2.2.0", "is-ci": "^2.0.0", "jest": "^26.3.0", "jest-chain": "^1.1.5", @@ -92,8 +89,8 @@ "peerDependencies": { "moment": "^2.24.0", "moment-range": "^4.0.2", - "react": "^16.8.5", - "react-dom": "^16.8.5" + "react": "^16.13.0", + "react-dom": "^16.13.0" }, "description": "The official LumApps Design System (LumX) for React applications", "engines": { @@ -121,6 +118,7 @@ "scripts": { "build": "webpack", "postbuild": "dts-bundle-generator --no-check --external-types=react --external-imports=moment -o dist/lumx.react.d.ts src/index.ts", + "postinstall": "install-peers", "prepublishOnly": "yarn build", "test": "jest --config jest/index.js --coverage --notify --passWithNoTests --detectOpenHandles --runInBand", "storybook": "start-storybook -p 9000" diff --git a/packages/site-demo/package.json b/packages/site-demo/package.json index e7bc80cb2..6dcb4830f 100644 --- a/packages/site-demo/package.json +++ b/packages/site-demo/package.json @@ -46,9 +46,9 @@ "moment-range": "^4.0.2", "prism-react-renderer": "^0.1.5", "prismjs": "^1.17.1", - "react": "^16.13.1", + "react": "^16.13.0", "react-docgen-typescript": "^1.20.5", - "react-dom": "^16.13.1", + "react-dom": "^16.13.0", "react-helmet": "^6.1.0" }, "devDependencies": { @@ -63,8 +63,5 @@ "node": ">= 10.0.0", "npm": ">= 4.0.0", "yarn": ">= 1.3.0" - }, - "resolutions": { - "gatsby/style-loader": "^1.0.0" } } diff --git a/yarn.lock b/yarn.lock index 5452cf062..c1a95ba9a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11946,6 +11946,13 @@ execall@^2.0.0: dependencies: clone-regexp "^2.1.0" +executioner@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/executioner/-/executioner-2.0.1.tgz#add328e03bc45dd598f358fbb529fc0be0ec6fcd" + integrity sha1-rdMo4DvEXdWY81j7tSn8C+Dsb80= + dependencies: + mixly "^1.0.0" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -12820,6 +12827,11 @@ fstream@^1.0.0, fstream@^1.0.12: mkdirp ">=0.5 0" rimraf "2" +fulcon@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fulcon/-/fulcon-1.0.2.tgz#8a4dfda4c73fcd9cc62a79d5045c392b45547320" + integrity sha1-ik39pMc/zZzGKnnVBFw5K0VUcyA= + fullname@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/fullname/-/fullname-3.3.0.tgz#a08747d6921229610b8178b7614fce10cb185f5a" @@ -13397,7 +13409,7 @@ gatsby@^2.24.87: st "^2.0.0" stack-trace "^0.0.10" string-similarity "^1.2.2" - style-loader "^1.0.0" + style-loader "^0.23.1" terser-webpack-plugin "^2.3.8" tmp "^0.2.1" "true-case-path" "^2.2.1" @@ -15193,6 +15205,14 @@ insight@^0.10.3: tough-cookie "^3.0.1" uuid "^3.3.2" +install-peers-cli@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/install-peers-cli/-/install-peers-cli-2.2.0.tgz#f76f1ec8ac9fa7f920c05743e011554edad85f8d" + integrity sha512-scSNvF49HDOLNm2xLFwST23g/OvfsceiA087bcGBgZP/ZNCrvpSaCn5IrWNZ2XYmFFykXF/6J1Zgm+D/JgRgtA== + dependencies: + commander "^2.20.0" + executioner "^2.0.1" + internal-ip@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" @@ -18618,6 +18638,13 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" +mixly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mixly/-/mixly-1.0.0.tgz#9b5a2e1f63e6dfba0d30e6797ffae62ab1dc24ef" + integrity sha1-m1ouH2Pm37oNMOZ5f/rmKrHcJO8= + dependencies: + fulcon "^1.0.1" + mkdirp-promise@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" @@ -21726,15 +21753,15 @@ react-docgen@^5.0.0: node-dir "^0.1.10" strip-indent "^3.0.0" -react-dom@^16.13.1, react-dom@^16.8.3, react-dom@^16.8.5: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== +react-dom@^16.13.0, react-dom@^16.8.3: + version "16.13.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.0.tgz#cdde54b48eb9e8a0ca1b3dc9943d9bb409b81866" + integrity sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.19.1" + scheduler "^0.19.0" react-draggable@^4.0.3: version "4.1.0" @@ -21844,7 +21871,7 @@ react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6, react-i resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== -react-is@^16.8.5: +react-is@^16.13.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -21967,10 +21994,10 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.13.1, react@^16.8.3, react@^16.8.5: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== +react@^16.13.0, react@^16.8.3: + version "16.13.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.13.0.tgz#d046eabcdf64e457bbeed1e792e235e1b9934cf7" + integrity sha512-TSavZz2iSLkq5/oiE7gnFzmURKZMltmi193rm5HEoUDAXpzT9Kzw6oNZnGoai/4+fUnm7FqS5dwgUL34TujcWQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -23278,7 +23305,7 @@ scheduler@^0.18.0: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.19.1: +scheduler@^0.19.0: version "0.19.1" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==