From 71911ded2b2a02366417d2d33e749c295f36a38a Mon Sep 17 00:00:00 2001 From: Robert Jackson Date: Tue, 20 Oct 2020 11:27:50 -0400 Subject: [PATCH] Make `release-it` a peer dependency (require host project to provide). Uses `validate-peer-dependencies` to ensure that a valid range is provided. --- index.js | 2 ++ package.json | 12 ++++++++---- yarn.lock | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 4 deletions(-) diff --git a/index.js b/index.js index 1efee89..ad91bb7 100644 --- a/index.js +++ b/index.js @@ -7,6 +7,8 @@ const detectNewline = require('detect-newline'); const detectIndent = require('detect-indent'); const { Plugin } = require('release-it'); +require('validate-peer-dependencies')(__dirname); + const options = { write: false }; const ROOT_MANIFEST_PATH = './package.json'; diff --git a/package.json b/package.json index 06b740e..44c2ac4 100644 --- a/package.json +++ b/package.json @@ -20,20 +20,20 @@ "test": "npm-run-all lint:js test:jest", "test:jest": "jest" }, - "lint-staged": { - "*.js": "eslint" - }, "husky": { "hooks": { "pre-commit": "lint-staged" } }, + "lint-staged": { + "*.js": "eslint" + }, "dependencies": { "detect-indent": "^6.0.0", "detect-newline": "^3.1.0", - "release-it": "^14.0.0", "semver": "^7.1.3", "url-join": "^4.0.1", + "validate-peer-dependencies": "^1.0.0", "walk-sync": "^2.0.2" }, "devDependencies": { @@ -47,10 +47,14 @@ "lint-staged": "^10.1.1", "npm-run-all": "^4.1.5", "prettier": "^2.0.2", + "release-it": "^14.0.0", "release-it-lerna-changelog": "^2.1.1", "sinon": "^9.0.1", "tmp": "^0.1.0" }, + "peerDependencies": { + "release-it": "^14.0.0" + }, "engines": { "node": ">= 10" }, diff --git a/yarn.lock b/yarn.lock index 50c5c26..3b12bf8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3248,6 +3248,13 @@ is-ci@2.0.0, is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" + integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5118,6 +5125,18 @@ path-posix@^1.0.0: resolved "https://registry.yarnpkg.com/path-posix/-/path-posix-1.0.0.tgz#06b26113f56beab042545a23bfa88003ccac260f" integrity sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8= +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@^1.7.0: version "1.8.0" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" @@ -5578,6 +5597,14 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-package-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/resolve-package-path/-/resolve-package-path-3.1.0.tgz#35faaa5d54a9c7dd481eb7c4b2a44410c9c763d8" + integrity sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA== + dependencies: + path-root "^0.1.1" + resolve "^1.17.0" + resolve-path@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" @@ -5603,6 +5630,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.15.1, resolve@^1.3. dependencies: path-parse "^1.0.6" +resolve@^1.17.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" + integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + dependencies: + is-core-module "^2.0.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -6705,6 +6740,14 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-peer-dependencies@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/validate-peer-dependencies/-/validate-peer-dependencies-1.0.0.tgz#d82f1c2020eef96d331723c2cef15de94063adf3" + integrity sha512-9T1pR9gopOuQYDMT0ApUPiRt1MOsSCJUm56mr55Hy7RDx7dyFHa6SnEXVP5wJuFyJ8pWyZoYxfFo4raEspRbUg== + dependencies: + resolve-package-path "^3.1.0" + semver "^7.3.2" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"