Repository navigation
Make npm run check pass again and run it in CI - #46
Merged
Merged
Conversation
Nothing ran the type check: CI only runs the tests and the deploy only runs the esbuild-based build, which strips types without checking them. Meanwhile `tsc --noEmit` had been failing on TypeScript 6's deprecation of moduleResolution=node10 and, behind that, on four real type errors, and prettier flagged 60 files. Fix each cause and add the check to CI so it stays green. - tsconfig.json: set ignoreDeprecations to "6.0". Switching to the "bundler" resolution surfaces four more errors from Quartz's deep imports (remark-parse/lib, satori/wasm, preact/src/jsx, micromorph), so that migration waits for upstream. - quartz.config.ts: analytics was the string "null", which is not a provider. It only disabled analytics because it matched no branch. Use the typed value null; the build still emits no analytics script. - ArticleTitle.tsx: drop the import and parameter left unused by the local "Remove extra title" change. - ofm.ts: pass the callout class list as an array, which is what the current hast property types expect. Rendered output is unchanged: `class="callout note is-collapsible is-collapsed"`. - .prettierignore: skip content (reviewed prose under CODEOWNERS) and docs (vendored Quartz documentation that prettier 3.9 also fails to format idempotently, splitting a sentence in hosting.md into three paragraphs). Format the one remaining file, README.md. - ci.yaml: run `npm run check` before the tests. Verified in a node:22-slim container: `npm run check` clean, 78 tests passing, and a full build. Signed-off-by: Geoff Turk <geoff@ic3.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nothing ran the type check: CI only runs the tests and the deploy only runs the esbuild-based build, which strips types without checking them. Meanwhile
tsc --noEmithad been failing on TypeScript 6's deprecation ofmoduleResolution=node10and, behind that, on four real type errors, and prettier flagged 60 files. This fixes each cause and addsnpm run checkto CI so it stays green.Changes
ignoreDeprecationsto"6.0". Switching to"bundler"resolution surfaces four more errors from Quartz's deep imports (remark-parse/lib,satori/wasm,preact/src/jsx,micromorph), so that migration waits for upstream."null", which is not a provider. It only disabled analytics because it matched no branch. Use the typed valuenull; the build still emits no analytics script.class="callout note is-collapsible is-collapsed".content(reviewed prose under CODEOWNERS) anddocs(vendored Quartz documentation that prettier 3.9 also fails to format idempotently, splitting a sentence in hosting.md into three paragraphs). Format the one remaining file, README.md.npm run checkbefore the tests.Verification
In a
node:22-slimcontainer:npm run checkclean,npm testwith 78 of 78 passing, a fullquartz build, a test page confirming collapsed and plain callouts render with the correct classes, and a grep confirming no analytics script in the output.