Repository navigation
fix(web): support typechecking and add CI step #79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
fec82fb
9629aa4
2d880b9
e654b11
572af0d
6327933
9f736f1
f59664b
65b6ace
1143ff1
fb45797
1ed2543
084b268
e088811
e8e40e8
39d009d
d9d91cd
d0ef76a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -15,7 +15,11 @@ | |
| "imports": { | ||
| "@std/datetime": "jsr:@std/datetime@^0.225.3", | ||
| "@std/yaml": "jsr:@std/yaml@^1.0.5", | ||
| "@std/fmt": "jsr:@std/fmt@0.225.6", | ||
| // NOTE mapped as an explicit subpath rather than a bare "@std/fmt" or an "@std/fmt/" | ||
| // prefix: `jsrDepsInNodeModules` rewrites those to their npm form | ||
| // ("npm:@jsr/std__fmt@0.225.6/"), which cannot resolve a subpath. Any other | ||
| // @std/fmt subpath we start importing needs its own entry here. | ||
| "@std/fmt/bytes": "jsr:@std/fmt@0.225.6/bytes", | ||
| "@std/fs": "jsr:@std/fs@0.229.3", | ||
| "@std/log": "jsr:@std/log@^0.224.6", | ||
| "@std/media-types": "jsr:@std/media-types@0.224.0", | ||
|
|
@@ -31,5 +35,6 @@ | |
| "unstable": ["raw-imports"], | ||
|
|
||
| "nodeModulesDir": "auto", | ||
| "jsrDepsInNodeModules": true, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This flag is now load-bearing for the new CI step, but the Deno version it needs is undeclared anywhere. On Deno 2.5.3, On Deno 2.9.0 (what Cheapest guard is to declare the floor so Also worth deciding deliberately: this is set at the workspace root, so it changes
Owner
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is fine. We already suggest using Canary/latest. I will solidify a stable version in the future |
||
| "allowScripts": ["npm:@sveltejs/kit@2.5.24", "npm:@tailwindcss/oxide@4.1.14", "npm:esbuild@0.25.10", "npm:fsevents@2.3.3"] | ||
| } | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit, but the kind that bites later:
@std/fmtand@std/fmt/bytesare now two independently pinned entries. Today they agree at0.225.6; the next time someone bumps@std/fmtthey will almost certainly not notice this line, and you'll silently be running two copies of the same package at different versions.Since this exists to work around a subpath-rewrite gap in
jsrDepsInNodeModules, a comment saying so — and saying "keep the version in sync with@std/fmtabove" — would make the trap visible. Better still if it can be expressed as"@std/fmt/": "jsr:@std/fmt@0.225.6/"(trailing-slash prefix mapping), which keeps one version literal.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestion, make it so
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made it so, though not quite the suggested form — the trailing-slash prefix mapping doesn't survive
jsrDepsInNodeModules. I tried it:That's the same failure the explicit entry was working around in the first place — the prefix gets rewritten to its npm form, and the subpath can't be parsed against it.
What did work is dropping the bare
@std/fmtentry entirely, since nothing imports it bare (core's only use is@std/fmt/bytes;lib/test/lib/debugger.tsuses a fully-qualifiedjsr:@std/fmt@0.225.4/colorsspecifier that doesn't go through the import map). So there's now a single entry and a single version literal, which gets the outcome you were after:Verified with a clean
rm -rf node_modules && deno installplusdeno checkon core's entrypoint.