Skip to content

Commit b02ad6d

Browse files
committed
fix: resolve workspace protocol and react-shadow dep
1 parent 23141d4 commit b02ad6d

File tree

7 files changed

+247
-11
lines changed

7 files changed

+247
-11
lines changed

.changeset/great-flies-play.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@msw-dev-tool/react": patch
3+
---
4+
5+
6+
- Resolve workspace protocol when publish package
7+
- Move `react-shadow` dep root to `@msw-dev-tool/react`

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
uses: changesets/action@v1
4646
with:
4747
version: yarn version-packages
48-
publish: yarn changeset publish
48+
publish: yarn resolve-workspace-protocol && yarn changeset publish
4949
env:
5050
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5151
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
"dev": "yarn workspace docs dev",
1515
"version-packages": "yarn changeset version",
1616
"changeset": "changeset",
17-
"clean": "yarn workspace msw-dev-tool clean && yarn workspace docs clean && rm -rf node_modules"
17+
"clean": "yarn workspace msw-dev-tool clean && yarn workspace docs clean && rm -rf node_modules",
18+
"resolve-workspace-protocol": "ts-node scripts/resolve-workspace-protocol.ts"
1819
},
1920
"devDependencies": {
20-
"typescript": "^5.0.0"
21+
"ts-node": "^10.9.2",
22+
"typescript": "^5.8.3"
2123
},
2224
"packageManager": "[email protected]",
2325
"dependencies": {
24-
"@changesets/cli": "^2.28.1",
25-
"react-shadow": "^20.6.0"
26+
"@changesets/cli": "^2.28.1"
2627
}
2728
}

packages/react/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
"clsx": "^2.1.1",
8181
"react-hook-form": "^7.55.0",
8282
"react-remove-scroll": "^2.6.3",
83+
"react-shadow": "^20.6.0",
8384
"vaul": "^1.1.2",
8485
"zod": "^3.24.2"
8586
},

scripts/resolve-workspace-protocol.ts

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
import fs from 'fs';
2+
import path from 'path';
3+
4+
interface PackageJson {
5+
name: string;
6+
version: string;
7+
dependencies?: Record<string, string>;
8+
devDependencies?: Record<string, string>;
9+
peerDependencies?: Record<string, string>;
10+
}
11+
12+
const PACKAGES_DIR = path.join(process.cwd(), 'packages');
13+
14+
function readPackageJson(packagePath: string): PackageJson | null {
15+
const packageJsonPath = path.join(packagePath, 'package.json');
16+
if (!fs.existsSync(packageJsonPath)) {
17+
return null;
18+
}
19+
return JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
20+
}
21+
22+
function updateDependencies(packageJson: PackageJson, workspacePackages: Map<string, string>): PackageJson {
23+
const updateDeps = (deps: Record<string, string> | undefined) => {
24+
if (!deps) return deps;
25+
26+
return Object.entries(deps).reduce((acc, [name, version]) => {
27+
if (version === 'workspace:*' && workspacePackages.has(name)) {
28+
acc[name] = workspacePackages.get(name)!;
29+
} else {
30+
acc[name] = version;
31+
}
32+
return acc;
33+
}, {} as Record<string, string>);
34+
};
35+
36+
return {
37+
...packageJson,
38+
dependencies: updateDeps(packageJson.dependencies),
39+
devDependencies: updateDeps(packageJson.devDependencies),
40+
peerDependencies: updateDeps(packageJson.peerDependencies),
41+
};
42+
}
43+
44+
function main() {
45+
const workspacePackages = new Map<string, string>();
46+
const packageDirs = fs.readdirSync(PACKAGES_DIR)
47+
48+
packageDirs.forEach(dir => {
49+
const packagePath = path.join(PACKAGES_DIR, dir);
50+
const packageJson = readPackageJson(packagePath);
51+
if (packageJson) {
52+
workspacePackages.set(packageJson.name, packageJson.version);
53+
}
54+
});
55+
56+
packageDirs.forEach(dir => {
57+
const packagePath = path.join(PACKAGES_DIR, dir);
58+
const packageJson = readPackageJson(packagePath);
59+
if (packageJson) {
60+
const updatedPackageJson = updateDependencies(packageJson, workspacePackages);
61+
fs.writeFileSync(
62+
path.join(packagePath, 'package.json'),
63+
JSON.stringify(updatedPackageJson, null, 2) + '\n'
64+
);
65+
}
66+
});
67+
}
68+
69+
main();

scripts/tsconfig.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"compilerOptions": {
3+
"target": "ES2020",
4+
"module": "CommonJS",
5+
"lib": ["ES2020"],
6+
"strict": true,
7+
"esModuleInterop": true,
8+
"skipLibCheck": true,
9+
"forceConsistentCasingInFileNames": true,
10+
"outDir": "dist",
11+
"rootDir": ".",
12+
"moduleResolution": "node",
13+
"resolveJsonModule": true,
14+
"baseUrl": ".",
15+
"paths": {
16+
"@/*": ["./*"]
17+
}
18+
},
19+
"include": ["./**/*.ts"],
20+
"exclude": ["node_modules", "dist"]
21+
}

yarn.lock

Lines changed: 143 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,15 @@ __metadata:
563563
languageName: node
564564
linkType: hard
565565

566+
"@cspotcode/source-map-support@npm:^0.8.0":
567+
version: 0.8.1
568+
resolution: "@cspotcode/source-map-support@npm:0.8.1"
569+
dependencies:
570+
"@jridgewell/trace-mapping": "npm:0.3.9"
571+
checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6
572+
languageName: node
573+
linkType: hard
574+
566575
"@emnapi/core@npm:^1.4.0":
567576
version: 1.4.0
568577
resolution: "@emnapi/core@npm:1.4.0"
@@ -1282,7 +1291,7 @@ __metadata:
12821291
languageName: node
12831292
linkType: hard
12841293

1285-
"@jridgewell/resolve-uri@npm:^3.1.0":
1294+
"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0":
12861295
version: 3.1.2
12871296
resolution: "@jridgewell/resolve-uri@npm:3.1.2"
12881297
checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
@@ -1303,6 +1312,16 @@ __metadata:
13031312
languageName: node
13041313
linkType: hard
13051314

1315+
"@jridgewell/trace-mapping@npm:0.3.9":
1316+
version: 0.3.9
1317+
resolution: "@jridgewell/trace-mapping@npm:0.3.9"
1318+
dependencies:
1319+
"@jridgewell/resolve-uri": "npm:^3.0.3"
1320+
"@jridgewell/sourcemap-codec": "npm:^1.4.10"
1321+
checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b
1322+
languageName: node
1323+
linkType: hard
1324+
13061325
"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
13071326
version: 0.3.25
13081327
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
@@ -1427,6 +1446,7 @@ __metadata:
14271446
react-dom: "npm:^18.3.1"
14281447
react-hook-form: "npm:^7.55.0"
14291448
react-remove-scroll: "npm:^2.6.3"
1449+
react-shadow: "npm:^20.6.0"
14301450
rollup: "npm:^3.28.0"
14311451
rollup-plugin-dts: "npm:^5.3.1"
14321452
rollup-plugin-peer-deps-external: "npm:^2.2.4"
@@ -4077,6 +4097,34 @@ __metadata:
40774097
languageName: node
40784098
linkType: hard
40794099

4100+
"@tsconfig/node10@npm:^1.0.7":
4101+
version: 1.0.11
4102+
resolution: "@tsconfig/node10@npm:1.0.11"
4103+
checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c
4104+
languageName: node
4105+
linkType: hard
4106+
4107+
"@tsconfig/node12@npm:^1.0.7":
4108+
version: 1.0.11
4109+
resolution: "@tsconfig/node12@npm:1.0.11"
4110+
checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9
4111+
languageName: node
4112+
linkType: hard
4113+
4114+
"@tsconfig/node14@npm:^1.0.0":
4115+
version: 1.0.3
4116+
resolution: "@tsconfig/node14@npm:1.0.3"
4117+
checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44
4118+
languageName: node
4119+
linkType: hard
4120+
4121+
"@tsconfig/node16@npm:^1.0.2":
4122+
version: 1.0.4
4123+
resolution: "@tsconfig/node16@npm:1.0.4"
4124+
checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb
4125+
languageName: node
4126+
linkType: hard
4127+
40804128
"@tybys/wasm-util@npm:^0.9.0":
40814129
version: 0.9.0
40824130
resolution: "@tybys/wasm-util@npm:0.9.0"
@@ -5006,7 +5054,16 @@ __metadata:
50065054
languageName: node
50075055
linkType: hard
50085056

5009-
"acorn@npm:^8.0.0, acorn@npm:^8.14.0":
5057+
"acorn-walk@npm:^8.1.1":
5058+
version: 8.3.4
5059+
resolution: "acorn-walk@npm:8.3.4"
5060+
dependencies:
5061+
acorn: "npm:^8.11.0"
5062+
checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62
5063+
languageName: node
5064+
linkType: hard
5065+
5066+
"acorn@npm:^8.0.0, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1":
50105067
version: 8.14.1
50115068
resolution: "acorn@npm:8.14.1"
50125069
bin:
@@ -5087,6 +5144,13 @@ __metadata:
50875144
languageName: node
50885145
linkType: hard
50895146

5147+
"arg@npm:^4.1.0":
5148+
version: 4.1.3
5149+
resolution: "arg@npm:4.1.3"
5150+
checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a
5151+
languageName: node
5152+
linkType: hard
5153+
50905154
"arg@npm:^5.0.0":
50915155
version: 5.0.2
50925156
resolution: "arg@npm:5.0.2"
@@ -5770,6 +5834,13 @@ __metadata:
57705834
languageName: node
57715835
linkType: hard
57725836

5837+
"create-require@npm:^1.1.0":
5838+
version: 1.1.1
5839+
resolution: "create-require@npm:1.1.1"
5840+
checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91
5841+
languageName: node
5842+
linkType: hard
5843+
57735844
"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6":
57745845
version: 7.0.6
57755846
resolution: "cross-spawn@npm:7.0.6"
@@ -6457,6 +6528,13 @@ __metadata:
64576528
languageName: node
64586529
linkType: hard
64596530

6531+
"diff@npm:^4.0.1":
6532+
version: 4.0.2
6533+
resolution: "diff@npm:4.0.2"
6534+
checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1
6535+
languageName: node
6536+
linkType: hard
6537+
64606538
"dir-glob@npm:^3.0.1":
64616539
version: 3.0.1
64626540
resolution: "dir-glob@npm:3.0.1"
@@ -9316,6 +9394,13 @@ __metadata:
93169394
languageName: node
93179395
linkType: hard
93189396

9397+
"make-error@npm:^1.1.1":
9398+
version: 1.3.6
9399+
resolution: "make-error@npm:1.3.6"
9400+
checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f
9401+
languageName: node
9402+
linkType: hard
9403+
93199404
"make-fetch-happen@npm:^14.0.3":
93209405
version: 14.0.3
93219406
resolution: "make-fetch-happen@npm:14.0.3"
@@ -10339,8 +10424,8 @@ __metadata:
1033910424
resolution: "msw-dev-tool-monorepo@workspace:."
1034010425
dependencies:
1034110426
"@changesets/cli": "npm:^2.28.1"
10342-
react-shadow: "npm:^20.6.0"
10343-
typescript: "npm:^5.0.0"
10427+
ts-node: "npm:^10.9.2"
10428+
typescript: "npm:^5.8.3"
1034410429
languageName: unknown
1034510430
linkType: soft
1034610431

@@ -13502,6 +13587,44 @@ __metadata:
1350213587
languageName: node
1350313588
linkType: hard
1350413589

13590+
"ts-node@npm:^10.9.2":
13591+
version: 10.9.2
13592+
resolution: "ts-node@npm:10.9.2"
13593+
dependencies:
13594+
"@cspotcode/source-map-support": "npm:^0.8.0"
13595+
"@tsconfig/node10": "npm:^1.0.7"
13596+
"@tsconfig/node12": "npm:^1.0.7"
13597+
"@tsconfig/node14": "npm:^1.0.0"
13598+
"@tsconfig/node16": "npm:^1.0.2"
13599+
acorn: "npm:^8.4.1"
13600+
acorn-walk: "npm:^8.1.1"
13601+
arg: "npm:^4.1.0"
13602+
create-require: "npm:^1.1.0"
13603+
diff: "npm:^4.0.1"
13604+
make-error: "npm:^1.1.1"
13605+
v8-compile-cache-lib: "npm:^3.0.1"
13606+
yn: "npm:3.1.1"
13607+
peerDependencies:
13608+
"@swc/core": ">=1.2.50"
13609+
"@swc/wasm": ">=1.2.50"
13610+
"@types/node": "*"
13611+
typescript: ">=2.7"
13612+
peerDependenciesMeta:
13613+
"@swc/core":
13614+
optional: true
13615+
"@swc/wasm":
13616+
optional: true
13617+
bin:
13618+
ts-node: dist/bin.js
13619+
ts-node-cwd: dist/bin-cwd.js
13620+
ts-node-esm: dist/bin-esm.js
13621+
ts-node-script: dist/bin-script.js
13622+
ts-node-transpile-only: dist/bin-transpile.js
13623+
ts-script: dist/bin-script-deprecated.js
13624+
checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2
13625+
languageName: node
13626+
linkType: hard
13627+
1350513628
"tsconfig-paths@npm:^3.15.0":
1350613629
version: 3.15.0
1350713630
resolution: "tsconfig-paths@npm:3.15.0"
@@ -13644,7 +13767,7 @@ __metadata:
1364413767
languageName: node
1364513768
linkType: hard
1364613769

13647-
"typescript@npm:^5, typescript@npm:^5.0.0, typescript@npm:^5.2.2, typescript@npm:^5.8.3":
13770+
"typescript@npm:^5, typescript@npm:^5.2.2, typescript@npm:^5.8.3":
1364813771
version: 5.8.3
1364913772
resolution: "typescript@npm:5.8.3"
1365013773
bin:
@@ -13664,7 +13787,7 @@ __metadata:
1366413787
languageName: node
1366513788
linkType: hard
1366613789

13667-
"typescript@patch:typescript@npm%3A^5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.0#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.8.3#optional!builtin<compat/typescript>":
13790+
"typescript@patch:typescript@npm%3A^5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.2.2#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.8.3#optional!builtin<compat/typescript>":
1366813791
version: 5.8.3
1366913792
resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin<compat/typescript>::version=5.8.3&hash=5786d5"
1367013793
bin:
@@ -14035,6 +14158,13 @@ __metadata:
1403514158
languageName: node
1403614159
linkType: hard
1403714160

14161+
"v8-compile-cache-lib@npm:^3.0.1":
14162+
version: 3.0.1
14163+
resolution: "v8-compile-cache-lib@npm:3.0.1"
14164+
checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391
14165+
languageName: node
14166+
linkType: hard
14167+
1403814168
"vaul@npm:^1.1.2":
1403914169
version: 1.1.2
1404014170
resolution: "vaul@npm:1.1.2"
@@ -14405,6 +14535,13 @@ __metadata:
1440514535
languageName: node
1440614536
linkType: hard
1440714537

14538+
"yn@npm:3.1.1":
14539+
version: 3.1.1
14540+
resolution: "yn@npm:3.1.1"
14541+
checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443
14542+
languageName: node
14543+
linkType: hard
14544+
1440814545
"yocto-queue@npm:^0.1.0":
1440914546
version: 0.1.0
1441014547
resolution: "yocto-queue@npm:0.1.0"

0 commit comments

Comments
 (0)