From ed24f81a2e5ea5ec2c716c97e4ed6e6f29d6bd08 Mon Sep 17 00:00:00 2001 From: Daniel Rocha <68558152+danroc@users.noreply.github.com> Date: Tue, 4 Feb 2025 17:07:18 +0100 Subject: [PATCH] chore(build): update syncpack config (#190) This PR updates the syncpack configuration to enforce that: - The following versions are in sync: - `yarn` (`packageManager`) - `node` (`engines`) - All other dependences (`dependencies`, `peerDependencies`, ...) - We use the `workspace:^` version of: - `@metamask/keyring-**` packages - `@metamask/eth-**-keyring` packages --- .syncpackrc | 65 ++++++++++++++++++----------------------------------- 1 file changed, 22 insertions(+), 43 deletions(-) diff --git a/.syncpackrc b/.syncpackrc index 1b627cba..3999d5ba 100644 --- a/.syncpackrc +++ b/.syncpackrc @@ -1,61 +1,40 @@ { + "customTypes": { + "engines": { + "path": "engines", + "strategy": "versionsByName" + }, + "packageManager": { + "path": "packageManager", + "strategy": "name@version" + } + }, "semverGroups": [ { "label": "use tilde range for some dependencies", - "packages": ["**"], "dependencies": ["eslint-plugin-import", "typescript"], "range": "~" }, { - "label": "use caret ranges everywhere", - "packages": ["**"], + "label": "use exact versions for some dependencies", + "dependencies": ["yarn"], + "range": "" + }, + { + "label": "use caret ranges everywhere else", "dependencies": ["**"], "range": "^" } ], "versionGroups": [ { - "label": "use pinned version of eth-hd-keyring in non-regression test", - "dependencyTypes": ["dev"], - "packages": ["@metamask/eth-hd-keyring"], - "dependencies": ["@metamask/eth-hd-keyring"], - "pinVersion": "4.0.1" - }, - { - "label": "use workspace version of the keyring-api", - "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-api"], - "pinVersion": "workspace:^" - }, - { - "label": "use workspace version of the keyring-internal-api", + "label": "use workspace version of packages in the monorepo", "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-internal-api"], + "dependencies": [ + "@metamask/keyring-**", + "@metamask/eth-**-keyring" + ], "pinVersion": "workspace:^" - }, - { - "label": "use workspace version of the keyring-snap-sdk", - "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-snap-sdk"], - "pinVersion": "workspace:^" - }, - { - "label": "use workspace version of the keyring-snap-client", - "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-snap-client"], - "pinVersion": "workspace:^" - }, - { - "label": "use workspace version of the keyring-internal-snap-client", - "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-internal-snap-client"], - "pinVersion": "workspace:^" - }, - { - "label": "use workspace version of the keyring-utils", - "dependencyTypes": ["!local"], - "dependencies": ["@metamask/keyring-utils"], - "pinVersion": "workspace:^" - }, + } ] }