Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
- run: |
pnpm install --frozen-lockfile
pnpm build
pnpm --filter docs typecheck
pnpm docs:build
- uses: actions/upload-pages-artifact@v5
with:
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,53 @@ jobs:
- name: Biome lint/format (packages/*/src)
run: pnpm lint:biome

docs:
runs-on: ubuntu-latest
permissions:
contents: read
# The docs site is excluded from `pnpm build` and `pnpm test`, so nothing on a
# PR used to compile it. Its own `typecheck` script was broken for long enough
# to go unnoticed (it called `tsc`, which the TS 6 compat package does not
# provide), and the Docs workflow that would have caught it only runs on main —
# by which point the failure is already blocking a Pages deploy. This job is
# that workflow's Build steps minus the deploy, so the same breakage fails on
# the PR instead.
steps:
- name: Check out repository (docs)
uses: actions/checkout@v7
with:
persist-credentials: false

- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false

- name: Setup Node
uses: actions/setup-node@v7
with:
node-version: '24.14.1'
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

# Required, not incidental: docs imports `@spatialdata/vis`, and the
# workspace packages resolve types through `dist/index.d.ts`, which only
# exists after their build. Without this the typecheck fails on a bare
# "Cannot find module '@spatialdata/vis'".
- name: Build packages
run: pnpm build

- name: Typecheck docs site
run: pnpm --filter docs typecheck

# Catches what the typecheck cannot: broken MDX, dead internal links, and
# Docusaurus config/plugin regressions. Kept after the typecheck so the
# cheap check reports first. Same order as the Docs workflow's Build job.
- name: Build docs site
run: pnpm docs:build

test:
runs-on: ubuntu-latest
steps:
Expand Down
3 changes: 2 additions & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
"typecheck": "tsc6"
},
"dependencies": {
"@docusaurus/core": "3.10.2",
Expand All @@ -33,6 +33,7 @@
"@docusaurus/module-type-aliases": "3.10.2",
"@docusaurus/tsconfig": "3.10.2",
"@docusaurus/types": "3.10.2",
"@types/react": "catalog:",
"typescript": "catalog:"
},
"browserslist": {
Expand Down
7 changes: 6 additions & 1 deletion docs/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
// `baseUrl` is what anchors the inherited `@site/*` path mapping to this
// directory, so it has to stay until @docusaurus/tsconfig drops its own
// `baseUrl`. TS 6 deprecates the option (TS 7 removes it outright), hence the
// opt-out below and the `tsc6` typecheck script.
"baseUrl": ".",
"ignoreDeprecations": "6.0"
},
"exclude": [".docusaurus", "build"]
}
3 changes: 3 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading