feat: align monorepo deps automatically (#518)
* build: ➕ add syncpack * feat: ✨ add syncpack github action * feat: ✨ update syncpack * ci: 🔧 update syncpackrc * ci: 👷 update check-deps to ignore all * Update check-deps.yml * Update check-deps.yml * Update check-deps.yml * Update check-deps.yml * Update package.json * ci: 👷 add continue-on-error * ci: 💚 move continue-on-error
This commit is contained in:
parent
91286da553
commit
8af0f022e3
4 changed files with 143 additions and 5 deletions
33
.github/workflows/check-deps.yml
vendored
Normal file
33
.github/workflows/check-deps.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
name: Check dependencies versions
|
||||
|
||||
on:
|
||||
# Run whenever a pull request is updated
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
jobs:
|
||||
syncpack:
|
||||
runs-on: ubuntu-latest
|
||||
name: Check dependencies
|
||||
steps:
|
||||
# Check out the branch so we can read/write its files
|
||||
- uses: actions/checkout@v3
|
||||
# Use Node.js as syncpack is written in that
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
- uses: JamieMason/syncpack-github-action@0.2.2
|
||||
continue-on-error: true
|
||||
with:
|
||||
package-manager: "pnpm"
|
||||
bot-username: "Syncpack Bot"
|
||||
commit-message: "format and sync package.json files"
|
||||
# The workflow will only list mismatched dependencies, and the assignee has to manually fix them.
|
||||
# version-mismatches: list mismatches in a comment
|
||||
version-mismatches: "lint"
|
||||
# semver-range-mismatches: don't align dependency version format
|
||||
semver-range-mismatches: "ignore"
|
||||
# lockfile-mismatches: don't update lockfiles when mismatches detected
|
||||
lockfile-mismatches: "ignore"
|
||||
# format-mismatches: don't update package.json when inconsistent formatting detected
|
||||
format-mismatches: "ignore"
|
31
.syncpackrc
Normal file
31
.syncpackrc
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"filter": ".",
|
||||
"indent": " ",
|
||||
"semverGroups": [],
|
||||
"semverRange": "",
|
||||
"dependencyTypes": [
|
||||
"dev",
|
||||
"overrides",
|
||||
"peer",
|
||||
"prod",
|
||||
"resolutions",
|
||||
"workspace"
|
||||
],
|
||||
"sortAz": [
|
||||
"contributors",
|
||||
"dependencies",
|
||||
"devDependencies",
|
||||
"keywords",
|
||||
"peerDependencies",
|
||||
"resolutions",
|
||||
"scripts"
|
||||
],
|
||||
"sortFirst": [
|
||||
"name",
|
||||
"description",
|
||||
"version",
|
||||
"author"
|
||||
],
|
||||
"source": [],
|
||||
"versionGroups": []
|
||||
}
|
|
@ -16,7 +16,8 @@
|
|||
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
||||
"generate": "turbo run generate",
|
||||
"prepare": "husky install",
|
||||
"github:release": "pnpm changeset tag && git push --follow-tags"
|
||||
"github:release": "pnpm changeset tag && git push --follow-tags",
|
||||
"check-deps": "syncpack fix-mismatches --source \"apps/*/package.json\" --source \"packages/*/package.json\" --filter \"@saleor/app-sdk|@saleor/macaw-ui\""
|
||||
},
|
||||
"devDependencies": {
|
||||
"@changesets/cli": "^2.26.0",
|
||||
|
@ -35,5 +36,8 @@
|
|||
"lint-staged": {
|
||||
"*.{js,ts,tsx}": "eslint --cache --fix",
|
||||
"*.{ts,tsx,md}": "prettier --write"
|
||||
},
|
||||
"dependencies": {
|
||||
"syncpack": "^10.1.0"
|
||||
}
|
||||
}
|
|
@ -3,6 +3,10 @@ lockfileVersion: '6.0'
|
|||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
syncpack:
|
||||
specifier: ^10.1.0
|
||||
version: 10.1.0
|
||||
devDependencies:
|
||||
'@changesets/cli':
|
||||
specifier: ^2.26.0
|
||||
|
@ -12593,6 +12597,11 @@ packages:
|
|||
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
||||
dev: false
|
||||
|
||||
/commander@10.0.1:
|
||||
resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
|
||||
engines: {node: '>=14'}
|
||||
dev: false
|
||||
|
||||
/commander@2.20.3:
|
||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||
|
||||
|
@ -12802,6 +12811,16 @@ packages:
|
|||
path-type: 4.0.0
|
||||
dev: true
|
||||
|
||||
/cosmiconfig@8.1.3:
|
||||
resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==}
|
||||
engines: {node: '>=14'}
|
||||
dependencies:
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: 4.1.0
|
||||
parse-json: 5.2.0
|
||||
path-type: 4.0.0
|
||||
dev: false
|
||||
|
||||
/crc-32@1.2.2:
|
||||
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
|
||||
engines: {node: '>=0.8'}
|
||||
|
@ -15212,7 +15231,6 @@ packages:
|
|||
graceful-fs: 4.2.10
|
||||
jsonfile: 6.1.0
|
||||
universalify: 2.0.0
|
||||
dev: true
|
||||
|
||||
/fs-extra@7.0.1:
|
||||
resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
|
||||
|
@ -16733,7 +16751,6 @@ packages:
|
|||
universalify: 2.0.0
|
||||
optionalDependencies:
|
||||
graceful-fs: 4.2.10
|
||||
dev: true
|
||||
|
||||
/jsonify@0.0.1:
|
||||
resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==}
|
||||
|
@ -17710,6 +17727,13 @@ packages:
|
|||
dependencies:
|
||||
brace-expansion: 2.0.1
|
||||
|
||||
/minimatch@6.2.0:
|
||||
resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
brace-expansion: 2.0.1
|
||||
dev: false
|
||||
|
||||
/minimist-options@4.1.0:
|
||||
resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
|
||||
engines: {node: '>= 6'}
|
||||
|
@ -19915,6 +19939,14 @@ packages:
|
|||
pify: 4.0.1
|
||||
strip-bom: 3.0.0
|
||||
|
||||
/read-yaml-file@2.1.0:
|
||||
resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==}
|
||||
engines: {node: '>=10.13'}
|
||||
dependencies:
|
||||
js-yaml: 4.1.0
|
||||
strip-bom: 4.0.0
|
||||
dev: false
|
||||
|
||||
/readable-stream@2.3.7:
|
||||
resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==}
|
||||
dependencies:
|
||||
|
@ -20409,6 +20441,14 @@ packages:
|
|||
lru-cache: 6.0.0
|
||||
dev: true
|
||||
|
||||
/semver@7.5.0:
|
||||
resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: false
|
||||
|
||||
/semver@7.5.1:
|
||||
resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==}
|
||||
engines: {node: '>=10'}
|
||||
|
@ -20938,6 +20978,11 @@ packages:
|
|||
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/strip-bom@4.0.0:
|
||||
resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/strip-final-newline@2.0.0:
|
||||
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -21056,6 +21101,23 @@ packages:
|
|||
'@pkgr/utils': 2.3.1
|
||||
tslib: 2.5.0
|
||||
|
||||
/syncpack@10.1.0:
|
||||
resolution: {integrity: sha512-3SMPf49tpxw170ZokyurKuJc7G45xZLtzgH6W87+7OsbRQLc+oc9UfoelVf1CuYglZsMwFott4zEShCY8o+R1Q==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
commander: 10.0.1
|
||||
cosmiconfig: 8.1.3
|
||||
fs-extra: 11.1.1
|
||||
glob: 8.1.0
|
||||
minimatch: 6.2.0
|
||||
read-yaml-file: 2.1.0
|
||||
semver: 7.5.0
|
||||
tightrope: 0.1.0
|
||||
ts-toolbelt: 9.6.0
|
||||
dev: false
|
||||
|
||||
/tapable@2.2.1:
|
||||
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -21202,6 +21264,11 @@ packages:
|
|||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||
dev: true
|
||||
|
||||
/tightrope@0.1.0:
|
||||
resolution: {integrity: sha512-HHHNYdCAIYwl1jOslQBT455zQpdeSo8/A346xpIb/uuqhSg+tCvYNsP5f11QW+z9VZ3vSX8YIfzTApjjuGH63w==}
|
||||
engines: {node: '>=14'}
|
||||
dev: false
|
||||
|
||||
/time-zone@1.0.0:
|
||||
resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -21372,6 +21439,10 @@ packages:
|
|||
resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==}
|
||||
dev: true
|
||||
|
||||
/ts-toolbelt@9.6.0:
|
||||
resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==}
|
||||
dev: false
|
||||
|
||||
/tsconfig-paths@3.14.1:
|
||||
resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
|
||||
dependencies:
|
||||
|
@ -21785,7 +21856,6 @@ packages:
|
|||
/universalify@2.0.0:
|
||||
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
dev: true
|
||||
|
||||
/unixify@1.0.0:
|
||||
resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==}
|
||||
|
|
Loading…
Reference in a new issue