Skip to content

Commit 2d2926b

Browse files
authored
Migrate patching script to use ast parsing instead of find/replace (#111)
1 parent 1e29ec2 commit 2d2926b

File tree

14 files changed

+861
-140
lines changed

14 files changed

+861
-140
lines changed

.changeset/cool-lands-float.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"next-ws": minor
3+
---
4+
5+
Migrate patches to use ast parser instead of find/replace

biome.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3-
"files": { "ignore": ["node_modules/*", "dist/*", ".next/*", "tests/.*"] },
3+
"files": {
4+
"ignore": ["node_modules/*", "dist/*", ".next/*", "tests/.*"]
5+
},
46

57
"formatter": {
68
"enabled": true,
@@ -22,6 +24,9 @@
2224
"noAssignInExpressions": "off",
2325
"noArrayIndexKey": "off"
2426
},
27+
"complexity": {
28+
"noForEach": "off"
29+
},
2530
"a11y": {
2631
"useSemanticElements": "off",
2732
"useFocusableInteractive": "off"

examples/_shared/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
"exports": {
55
".": {
66
"types": "./dist/index.d.ts",
7-
"import": "./dist/index.js"
7+
"default": "./dist/index.js"
88
},
99
"./chat-room": {
1010
"types": "./dist/chat-room/index.d.ts",
11-
"import": "./dist/chat-room/index.js"
11+
"default": "./dist/chat-room/index.js"
1212
}
1313
},
1414
"scripts": {

examples/_shared/src/chat-room/message-list.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import * as React from 'react';
12
import type { Message } from './messaging';
23

34
export function MessageList({ messages }: { messages: Message[] }) {

examples/_shared/src/chat-room/message-submit.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
'use client';
22

3+
// biome-ignore lint/style/useImportType: React is used in JSX output
4+
import * as React from 'react';
35
import { useCallback } from 'react';
46
import type { Message } from './messaging';
57

examples/_shared/src/websocket.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ export function useWebSocket(url: () => string) {
1010
useEffect(() => {
1111
if (ref.current) return;
1212
const socket = new WebSocket(target.current());
13-
ref.current = socket;
13+
Reflect.set(ref, 'current', socket);
1414
update((p) => p + 1);
15-
16-
return () => socket.close();
1715
}, []);
1816

1917
return ref.current;

examples/_shared/tsconfig.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737

3838
"outDir": "./dist",
3939
"paths": { "~/*": ["./src/*"] },
40-
41-
"jsx": "preserve"
40+
"jsx": "react"
4241
}
4342
}

package.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
"./package.json": "./package.json"
3030
},
3131
"scripts": {
32+
"check": "tsc --noEmit",
3233
"lint": "biome ci .",
3334
"format": "biome check . --write",
34-
"check": "tsc --noEmit",
3535
"build": "tsup",
3636
"dev": "tsup --watch",
3737
"test": "playwright test",
@@ -45,8 +45,13 @@
4545
"release:publish": "pnpm build && changeset publish",
4646
"release:snapshot:publish": "pnpm build && changeset publish --tag beta --no-git-tag"
4747
},
48+
"dependencies": {
49+
"jscodeshift": "^17.3.0",
50+
"minimist": "^1.2.8",
51+
"semver": "^7.7.1"
52+
},
4853
"peerDependencies": {
49-
"next": ">=13.1.1",
54+
"next": ">=13.5.1",
5055
"react": "*",
5156
"ws": "*"
5257
},
@@ -55,19 +60,18 @@
5560
"@changesets/changelog-git": "^0.2.0",
5661
"@changesets/cli": "^2.27.12",
5762
"@playwright/test": "^1.50.1",
63+
"@types/jscodeshift": "^17.3.0",
5864
"@types/minimist": "^1.2.5",
5965
"@types/node": "^22.13.1",
6066
"@types/react": "catalog:",
6167
"@types/semver": "^7.5.8",
6268
"@types/ws": "^8.5.14",
6369
"chalk": "^5.4.1",
6470
"husky": "^9.1.7",
65-
"minimist": "^1.2.8",
6671
"next": "catalog:",
6772
"pinst": "^3.0.0",
6873
"react": "catalog:",
6974
"react-dom": "catalog:",
70-
"semver": "^7.7.1",
7175
"tsup": "^8.3.6",
7276
"typescript": "^5.7.3"
7377
}

0 commit comments

Comments
 (0)