Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5928187
Update `astro` to latest across monrepo
delucis Apr 23, 2026
ca4fed3
`pnpm dedupe`
delucis Apr 23, 2026
de6a316
Update Vitest across monorepo (4.1.0 => 4.1.5)
delucis Apr 23, 2026
002db7f
Update `sharp` across monorepo (0.34.2 => 0.34.5)
delucis Apr 23, 2026
de0bcf1
`pnpm dedupe`
delucis Apr 23, 2026
057e008
Fix snapshot serializer path for latest Vitest
delucis Apr 23, 2026
58db526
Update changesets
delucis Apr 23, 2026
0e5b685
Update ESLint & co.
delucis Apr 23, 2026
9fec4c7
`pnpm dedupe`
delucis Apr 23, 2026
1440d09
Update `@astrojs/check` (0.9.7 => 0.9.8)
delucis Apr 23, 2026
5ccc3e1
`pnpm dedupe`
delucis Apr 23, 2026
b2ce367
Ignore unhelpful lint error after update
delucis Apr 23, 2026
ee673ca
Update `@astrojs/markdoc` dev dep and in starter (1.0.0 => 1.0.4)
delucis Apr 23, 2026
a4617d7
Update `linkedom` for E2E tests (0.18.4 => 0.18.12)
delucis Apr 23, 2026
2c9ee6a
Update `size-limit` (11.1.6 => 12.1.0)
delucis Apr 23, 2026
b900eba
`pnpm dedupe`
delucis Apr 23, 2026
0360818
Use monorepo version of `size-limit` in GH workflow
delucis Apr 23, 2026
9dd52ae
Drop `tsx` and run file icons script directly with `node`
delucis Apr 23, 2026
92ddfc5
Undo custom `script` for size-limit workflow
delucis Apr 23, 2026
4ad167e
Update pnpm (10.33.0 => 10.33.2)
delucis Apr 23, 2026
3cf235f
Update `culori` in docs (4.0.1 => 4.0.2)
delucis Apr 23, 2026
9a4f007
Update Playwright and aXe
delucis Apr 23, 2026
8ad8c54
Update Tailwind in dev deps and examples (`@tailwindcss/vite`, `tailw…
delucis Apr 23, 2026
fceeb7f
`pnpm dedupe`
delucis Apr 23, 2026
a3fb545
Update `lightningcss` in dev deps (1.29.1 => 1.32.0)
delucis Apr 23, 2026
120fd3e
Update `sitemapper` in docs tests (3.2.12 => 4.1.5)
delucis Apr 23, 2026
24faeea
Update `starlight-links-validator` (0.20.0 => 0.23.0)
delucis Apr 23, 2026
451cfdf
`pnpm dedupe`
delucis Apr 23, 2026
e252d77
Update Starlight’s Astro direct dependencies
delucis Apr 23, 2026
e071738
Update unified ecosystem packages in Starlight
delucis Apr 23, 2026
89c6d38
Update `astro-expressive-code` in Starlight (0.41.6 => 0.41.7)
delucis Apr 23, 2026
71cb899
Update `js-yaml` in Starlight (4.1.0 => 4.1.1)
delucis Apr 23, 2026
5bf126a
Update `magic-string` in Starlight (0.30.17 => 0.30.21)
delucis Apr 23, 2026
ba894b7
Update `remark-directive` in Starlight (3.0.0 => 4.0.0)
delucis Apr 23, 2026
442a521
Update `@types/opentype.js` in file icon script (1.3.8 => 1.3.9)
delucis Apr 23, 2026
76dc23f
Update `typescript` (5.6.3 => 5.9.3)
delucis Apr 23, 2026
53b54a1
Update `@types/node` in Starlight dev dependencies (22.19.3 => 22.19.17)
delucis Apr 23, 2026
f552402
Update `@types/culori` in docs (2.1.1 => 4.0.1)
delucis Apr 23, 2026
41422fb
Update `globals` (16.5.0 => 17.5.0)
delucis Apr 23, 2026
55c93f1
Update `typescript` (5.9.3 => 6.0.3)
delucis Apr 23, 2026
d2f8383
Remove deprecated and unnecessary `baseUrl` in docs tsconfig
delucis Apr 23, 2026
395a992
Update `paths` in docs tsconfig for TS 6
delucis Apr 23, 2026
5bc0cb6
Update i18n util for newer types
delucis Apr 23, 2026
c8dcc2c
Update ESLint to v10
delucis Apr 23, 2026
9246c61
Update deprecated configuration helper in ESLint config
delucis Apr 23, 2026
643bdcd
Add changeset
delucis Apr 23, 2026
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
5 changes: 5 additions & 0 deletions .changeset/blue-peaches-sip.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@astrojs/starlight': patch
---

Updates internal dependencies
2 changes: 1 addition & 1 deletion .github/workflows/file-icons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.12.0
node-version: 24.15.0
cache: 'pnpm'

- name: Install Dependencies
Expand Down
16 changes: 8 additions & 8 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
"@astro-community/astro-embed-youtube": "^0.5.10",
"@astrojs/starlight": "workspace:*",
"@lunariajs/core": "^0.1.1",
"@types/culori": "^2.1.1",
"astro": "^6.0.1",
"culori": "^4.0.1",
"sharp": "^0.34.2"
"@types/culori": "^4.0.1",
"astro": "^6.1.9",
"culori": "^4.0.2",
"sharp": "^0.34.5"
},
"devDependencies": {
"@playwright/test": "^1.57.0",
"axe-playwright": "^2.0.3",
"sitemapper": "^3.2.12",
"starlight-links-validator": "^0.20.0"
"@playwright/test": "^1.59.1",
"axe-playwright": "^2.2.2",
"sitemapper": "^4.1.5",
"starlight-links-validator": "^0.23.0"
}
}
3 changes: 1 addition & 2 deletions docs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
{
"extends": "astro/tsconfigs/strictest",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["src/*"]
"~/*": ["./src/*"]
}
}
}
4 changes: 2 additions & 2 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import { globalIgnores } from 'eslint/config';
import { defineConfig, globalIgnores } from 'eslint/config';
import globals from 'globals';
import prettierConfig from 'eslint-config-prettier';

export default tseslint.config(
export default defineConfig(
// Ignore hidden files and directories, `*.d.ts` files (as most recommendations are mostly for
// users rather than libraries), types testing files, example directories, and build directories.
globalIgnores([
Expand Down
4 changes: 2 additions & 2 deletions examples/basics/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/starlight": "^0.38.4",
"astro": "^6.0.1",
"sharp": "^0.34.2"
"astro": "^6.1.9",
"sharp": "^0.34.5"
}
}
6 changes: 3 additions & 3 deletions examples/markdoc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/markdoc": "^1.0.0",
"@astrojs/markdoc": "^1.0.4",
"@astrojs/starlight": "^0.38.4",
"@astrojs/starlight-markdoc": "^0.6.0",
"astro": "^6.0.1",
"sharp": "^0.34.2"
"astro": "^6.1.9",
"sharp": "^0.34.5"
}
}
8 changes: 4 additions & 4 deletions examples/tailwind/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
"dependencies": {
"@astrojs/starlight": "^0.38.4",
"@astrojs/starlight-tailwind": "^5.0.0",
"@tailwindcss/vite": "^4.1.18",
"astro": "^6.0.1",
"sharp": "^0.34.2",
"tailwindcss": "^4.1.18"
"@tailwindcss/vite": "^4.2.4",
"astro": "^6.1.9",
"sharp": "^0.34.5",
"tailwindcss": "^4.2.4"
}
}
24 changes: 12 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,22 @@
},
"license": "MIT",
"devDependencies": {
"@astrojs/check": "^0.9.7",
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.9",
"@eslint/js": "^9.33.0",
"@size-limit/file": "^11.1.6",
"astro": "^6.0.1",
"eslint": "^9.33.0",
"@astrojs/check": "^0.9.8",
"@changesets/changelog-github": "^0.6.0",
"@changesets/cli": "^2.31.0",
"@eslint/js": "^10.0.1",
"@size-limit/file": "^12.1.0",
"astro": "^6.1.9",
"eslint": "^10.2.1",
"eslint-config-prettier": "^10.1.8",
"globals": "^16.3.0",
"globals": "^17.5.0",
"prettier": "3.3.3",
"prettier-plugin-astro": "^0.14.1",
"size-limit": "^11.1.6",
"typescript": "^5.6.3",
"typescript-eslint": "^8.39.1"
"size-limit": "^12.1.0",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.0"
},
"packageManager": "[email protected].0",
"packageManager": "[email protected].2",
"size-limit": [
{
"name": "/index.html",
Expand Down
6 changes: 3 additions & 3 deletions packages/file-icons-generator/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { writeDefinitionsAndSVGs } from './utils/file';
import { getIconSvgPaths } from './utils/font';
import { deleteRepo, parseMapping, setupRepo } from './utils/seti';
import { writeDefinitionsAndSVGs } from './utils/file.ts';
import { getIconSvgPaths } from './utils/font.ts';
import { deleteRepo, parseMapping, setupRepo } from './utils/seti.ts';

/**
* Script generating definitions used by the Starlight `<FileTree>` component and associated SVGs.
Expand Down
7 changes: 3 additions & 4 deletions packages/file-icons-generator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@
"description": "Generates Starlight file icons based on the Seti UI theme",
"private": true,
"scripts": {
"build": "tsx ."
"build": "node index.ts"
},
"license": "MIT",
"dependencies": {
"opentype.js": "^1.3.4",
"tsx": "^4.15.2"
"opentype.js": "^1.3.4"
},
"devDependencies": {
"@types/opentype.js": "^1.3.8"
"@types/opentype.js": "^1.3.9"
},
"type": "module"
}
4 changes: 2 additions & 2 deletions packages/file-icons-generator/utils/file.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { spawn } from 'node:child_process';
import fs from 'node:fs/promises';
import path from 'node:path';
import { starlight } from '../config';
import type { Definitions } from '../../starlight/user-components/rehype-file-tree';
import { starlight } from '../config.ts';
import type { Definitions } from '../../starlight/user-components/rehype-file-tree.ts';

const copyrightNotice = `/**
* Based on https://github.com/elviswolcott/seti-icons which
Expand Down
6 changes: 3 additions & 3 deletions packages/file-icons-generator/utils/font.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import opentype, { type Font, Glyph } from 'opentype.js';
import { seti, starlight } from '../config';
import type { Definitions } from '../../starlight/user-components/rehype-file-tree';
import { getFont, getSetiIconName } from './seti';
import { seti, starlight } from '../config.ts';
import type { Definitions } from '../../starlight/user-components/rehype-file-tree.ts';
import { getFont, getSetiIconName } from './seti.ts';

// This matches the default precision used by the SVGO default preset.
const pathDecimalPrecision = 3;
Expand Down
2 changes: 1 addition & 1 deletion packages/file-icons-generator/utils/seti.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { spawnSync, type SpawnSyncOptions } from 'node:child_process';
import fs from 'node:fs/promises';
import os from 'node:os';
import path from 'node:path';
import { seti, starlight } from '../config';
import { seti, starlight } from '../config.ts';
import type { Definitions } from '../../starlight/user-components/rehype-file-tree.ts';

// https://github.com/jesseweed/seti-ui/blob/master/styles/components/icons/mapping.less
Expand Down
4 changes: 2 additions & 2 deletions packages/markdoc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
"./components": "./components.ts"
},
"devDependencies": {
"@astrojs/markdoc": "^1.0.0",
"@astrojs/markdoc": "^1.0.4",
"@astrojs/starlight": "workspace:*",
"vitest": "^4.1.0"
"vitest": "^4.1.5"
},
"peerDependencies": {
"@astrojs/markdoc": "^1.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/starlight/__e2e__/fixtures/basics/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
2 changes: 1 addition & 1 deletion packages/starlight/__e2e__/fixtures/git/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
"type": "module",
"dependencies": {
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
2 changes: 1 addition & 1 deletion packages/starlight/__e2e__/fixtures/ssr/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
"dependencies": {
"@astrojs/node": "^10.0.0",
"@astrojs/starlight": "workspace:*",
"astro": "^6.0.1"
"astro": "^6.1.9"
}
}
1 change: 0 additions & 1 deletion packages/starlight/__tests__/basics/i18n.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,6 @@ describe('getLocaleDir', () => {

test('uses `getTextInfo()` when `textInfo` is not available', () => {
vi.spyOn(global.Intl, 'Locale').mockImplementation(function () {
// @ts-expect-error - `getTextInfo` is not typed but is available in some non-v8 based environments.
this.getTextInfo = () => ({ direction: 'rtl' });
});

Expand Down
2 changes: 1 addition & 1 deletion packages/starlight/__tests__/test-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export async function defineVitestConfig(
),
],
test: {
snapshotSerializers: ['./snapshot-serializer-astro-error.ts'],
snapshotSerializers: ['../snapshot-serializer-astro-error.ts'],
},
});
}
46 changes: 23 additions & 23 deletions packages/starlight/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,42 +52,42 @@
"astro": "^6.0.0"
},
"devDependencies": {
"@playwright/test": "^1.57.0",
"@types/node": "^22.19.3",
"@vitest/coverage-v8": "^4.1.0",
"astro": "^6.0.1",
"linkedom": "^0.18.4",
"vitest": "^4.1.0"
"@playwright/test": "^1.59.1",
"@types/node": "^22.19.17",
"@vitest/coverage-v8": "^4.1.5",
"astro": "^6.1.9",
"linkedom": "^0.18.12",
"vitest": "^4.1.5"
},
"dependencies": {
"@astrojs/markdown-remark": "^7.0.0",
"@astrojs/mdx": "^5.0.0",
"@astrojs/sitemap": "^3.7.1",
"@astrojs/markdown-remark": "^7.1.1",
"@astrojs/mdx": "^5.0.4",
"@astrojs/sitemap": "^3.7.2",
"@pagefind/default-ui": "^1.3.0",
"@types/hast": "^3.0.4",
"@types/js-yaml": "^4.0.9",
"@types/mdast": "^4.0.4",
"astro-expressive-code": "^0.41.6",
"astro-expressive-code": "^0.41.7",
"bcp-47": "^2.1.0",
"hast-util-from-html": "^2.0.1",
"hast-util-select": "^6.0.2",
"hast-util-to-string": "^3.0.0",
"hastscript": "^9.0.0",
"hast-util-from-html": "^2.0.3",
"hast-util-select": "^6.0.4",
"hast-util-to-string": "^3.0.1",
"hastscript": "^9.0.1",
"i18next": "^23.11.5",
"js-yaml": "^4.1.0",
"js-yaml": "^4.1.1",
"klona": "^2.0.6",
"magic-string": "^0.30.17",
"mdast-util-directive": "^3.0.0",
"mdast-util-to-markdown": "^2.1.0",
"magic-string": "^0.30.21",
"mdast-util-directive": "^3.1.0",
"mdast-util-to-markdown": "^2.1.2",
"mdast-util-to-string": "^4.0.0",
"pagefind": "^1.3.0",
"rehype": "^13.0.1",
"rehype-format": "^5.0.0",
"remark-directive": "^3.0.0",
"rehype": "^13.0.2",
"rehype-format": "^5.0.1",
"remark-directive": "^4.0.0",
"ultrahtml": "^1.6.0",
"unified": "^11.0.5",
"unist-util-visit": "^5.0.0",
"vfile": "^6.0.2"
"unist-util-visit": "^5.1.0",
"vfile": "^6.0.3"
},
"publishConfig": {
"provenance": true
Expand Down
7 changes: 4 additions & 3 deletions packages/starlight/utils/i18n.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,16 +187,17 @@ function getLocaleDir(locale: Intl.Locale): 'ltr' | 'rtl' {
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return locale.textInfo.direction;
} else if ('getTextInfo' in locale) {
// @ts-expect-error - `getTextInfo` is not typed but is available in some non-v8 based environments.
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore - `getTextInfo` is not typed in older versions of TypeScript but is available in some browsers and newer versions of Node.
// TODO: remove or switch to @ts-expect-error in #3572
return locale.getTextInfo().direction;
}
// Firefox does not support `textInfo` or `getTextInfo` yet so we fallback to a well-known list
// of right-to-left languages.
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore — This is a type error with newer versions of TypeScript’s DOM types.
// TODO: remove or switch to @ts-expect-error in #3572
return wellKnownRTL.includes(locale.language) ? 'rtl' : 'ltr';
return wellKnownRTL.includes((locale as Intl.Locale).language) ? 'rtl' : 'ltr';
}

/**
Expand Down
2 changes: 2 additions & 0 deletions packages/starlight/utils/plugins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,8 @@ const baseStarlightPluginSchema = z.object({
type StarlightConfigUpdate = Partial<Omit<StarlightUserConfig, 'routeMiddleware'>>;
type StarlightI18nTFactory = Awaited<ReturnType<typeof createTranslationSystemFromFs>>;

/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion --
The configSetupHookSchema casts `z.any()` to provide types but this rule can’t understand that. */
const configSetupHookSchema = z
.function({
input: [
Expand Down
6 changes: 3 additions & 3 deletions packages/tailwind/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
"test:coverage": "pnpm test"
},
"devDependencies": {
"lightningcss": "^1.29.1",
"tailwindcss": "^4.0.7",
"vitest": "^4.1.0"
"lightningcss": "^1.32.0",
"tailwindcss": "^4.2.4",
"vitest": "^4.1.5"
},
"peerDependencies": {
"@astrojs/starlight": ">=0.38.0",
Expand Down
Loading
Loading