Skip to content

Commit 6ff0bec

Browse files
fix: duplicate @preact/signals version (#2964)
We initialized new projects with `@preact/signals@2.x` but Fresh itself was using `1.x`. There shall only ever be one version. Kinda makes me wish Deno had some sort of `peerDependencies`. Fixes #2962
1 parent fa5aac5 commit 6ff0bec

File tree

4 files changed

+113
-12
lines changed

4 files changed

+113
-12
lines changed

deno.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@
4545
"@std/collections": "jsr:@std/collections@^1.0.11",
4646
"@std/http": "jsr:@std/http@^1.0.15",
4747
"fresh": "jsr:@fresh/core@^2.0.0-alpha.26",
48-
"preact": "npm:preact@^10.25.1",
48+
"preact": "npm:preact@^10.26.6",
4949
"preact-render-to-string": "npm:preact-render-to-string@^6.5.11",
5050
"$ga4": "https://raw.githubusercontent.com/denoland/ga4/main/mod.ts",
5151
"@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@^0.11.0",
5252
"@opentelemetry/api": "npm:@opentelemetry/api@^1.9.0",
53-
"@preact/signals": "npm:@preact/signals@^1.2.3",
53+
"@preact/signals": "npm:@preact/signals@^2.0.4",
5454
"esbuild": "npm:esbuild@0.23.1",
5555
"esbuild-wasm": "npm:esbuild-wasm@0.23.1",
5656
"@std/crypto": "jsr:@std/crypto@1",

deno.lock

Lines changed: 77 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tools/release.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ if (Deno.args.length === 0) {
2525

2626
const ROOT_DIR = path.join(import.meta.dirname!, "..");
2727
const denoJsonPath = path.join(ROOT_DIR, "deno.json");
28+
const wwwDenoJsonPath = path.join(ROOT_DIR, "www", "deno.json");
2829
const denoJson = JSON.parse(await Deno.readTextFile(denoJsonPath)) as DenoJson;
2930

3031
const version = Deno.args[0];
@@ -151,6 +152,37 @@ function updateVersions(content: string): string {
151152
return replaced;
152153
}
153154

155+
function replaceDepVersion(
156+
registry: "jsr" | "npm",
157+
name: string,
158+
version: string,
159+
) {
160+
return (content: string) => {
161+
return content.replace(
162+
new RegExp(`"${name}":\\s"[^"]+"`),
163+
`"${name}": "${registry}:${name}@^${version}"`,
164+
);
165+
};
166+
}
167+
168+
// Update preact + @preact/signals version
169+
await replaceInFile(
170+
denoJsonPath,
171+
replaceDepVersion("npm", "preact", preactVersion),
172+
);
173+
await replaceInFile(
174+
denoJsonPath,
175+
replaceDepVersion("npm", "@preact/signals", preactSignalsVersion),
176+
);
177+
await replaceInFile(
178+
wwwDenoJsonPath,
179+
replaceDepVersion("npm", "preact", preactVersion),
180+
);
181+
await replaceInFile(
182+
wwwDenoJsonPath,
183+
replaceDepVersion("npm", "@preact/signals", preactSignalsVersion),
184+
);
185+
154186
const updateScriptPath = path.join(ROOT_DIR, "update", "src", "update.ts");
155187
await replaceInFile(updateScriptPath, updateVersions);
156188

www/deno.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"$ga4": "https://raw.githubusercontent.com/denoland/ga4/main/mod.ts",
99
"@fresh/plugin-tailwind": "../plugin-tailwindcss/src/mod.ts",
1010
"@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@^0.11.0",
11-
"@preact/signals": "npm:@preact/signals@^1.3.0",
11+
"@preact/signals": "npm:@preact/signals@^2.0.4",
1212
"@std/crypto": "jsr:@std/crypto@1",
1313
"@std/datetime": "jsr:@std/datetime@0.225.0",
1414
"@std/encoding": "jsr:@std/encoding@1",
@@ -35,7 +35,7 @@
3535
"marked": "npm:marked@^14.1.2",
3636
"marked-mangle": "npm:marked-mangle@^1.1.9",
3737
"postcss": "npm:postcss@8.4.35",
38-
"preact": "npm:preact@^10.24.1",
38+
"preact": "npm:preact@^10.26.6",
3939
"preact-render-to-string": "npm:preact-render-to-string@^6.5.11",
4040
"prismjs": "npm:prismjs@^1.29.0",
4141
"tailwindcss": "npm:tailwindcss@^3.4.1"

0 commit comments

Comments
 (0)