Commit c5f43dc
authored
Upgrade the remaining major dependencies deferred from the Astro 7 PR (#4139)
* Bump linkinator to v7
API is unchanged for our check-links script (LinkChecker class, link/pagestart
events, check() options all work as before). Verified by running the full
internal link crawl against a served build with both v6 and v7 -- v7 finds a
strict superset of v6's results, catching a few trailing-slash variants of
already-broken links that v6 missed.
* Bump @sindresorhus/slugify to v3
Only used in generate-redirects.mjs for legacy Gridsome-style slugs. v3 just
raises the Node floor to 20 and adds new options -- regenerated redirects are
byte-identical to v2's output.
* Bump marked to v18
We only use plain marked.parse/parseInline with no extensions or custom
renderers. The one output change is the documented trailing-blank-line trim
after raw HTML blocks, which shows up as removed \n\n between tags in feed
content strings -- verified by diffing the full built site (2800+ pages) with
asset hashes normalized; the only real differences were that whitespace in
three feed files, which renders identically.
* Bump @citation-js/core and plugin-bibtex to 0.8
We only use the BibTeX input parser (new Cite(text) + cite.data for CSL-JSON);
the 0.7/0.8 breaking changes are in output plugins (csl/ris/wikidata) we don't
touch. All ten built citations pages are byte-identical before and after.
* Upgrade lucide to v1, switching lucide-vue-next to @lucide/vue
lucide-vue-next was renamed to @lucide/vue at 1.0 (the old package is
deprecated) -- same API, so the Vue components just get an import swap. The
five icons we import (ChevronDown, ChevronUp, Check, X, Menu) all exist in v1.
lucide v1 also dropped brand icons (github, twitter, linkedin), which our
content still references through the mdx Icon component. Those three SVGs are
now vendored from lucide-static 0.575 (ISC) in brand-icons.ts, and Icon.astro
falls back to them, so the built pages render identically -- verified by
checking the built site before and after for unknown-icon spans (zero both
ways) and brand SVG presence (same pages both ways).
* Clean up dead assignments and redundant required props
A handful of let declarations had initializers that could never be read (every
code path either reassigns or bails), one loop assigned a counter right before
breaking out of scope, and the two map components marked a prop required while
also giving it a default. All harmless, but eslint 10's new no-useless-assignment
rule and eslint-plugin-vue 10's no-required-prop-with-default flag them, and
they're legitimate cleanups on their own.
* Upgrade eslint to v10 and migrate to flat config
eslint 10 drops legacy .eslintrc support, so the config moves to
eslint.config.mjs with the same semantics as before: the recommended sets from
core, typescript-eslint, eslint-plugin-vue (vue3), and eslint-plugin-astro,
plus our existing rule overrides. The plugins move to their current majors
(eslint-plugin-astro 2, eslint-plugin-vue 10), @typescript-eslint/* is replaced
by the typescript-eslint meta package, and the lint scripts drop --ext since
flat config file matching handles extensions now. Verified the flat setup lints
the exact same file set as the old --ext list (260 files) and passes clean.
* Refresh in-range dependency minors
npm update across the board now that the majors are handled -- notably astro
7.1, @lucide/vue and lucide-static 1.25, eslint-plugin-vue 10.10, playwright
1.61, and prettier 3.9. Everything was already allowed by the existing semver
ranges, so this is lockfile-only except for two files reformatted by prettier
3.9's new union-type collapsing (type-level, no runtime change).1 parent b92f695 commit c5f43dc
25 files changed
Lines changed: 2582 additions & 4372 deletions
File tree
- astro
- src
- build
- components
- bare
- embed
- layout
- mdx
- ui
- accordion
- select
- sheet
- pages
- eu
- events
- news
- use/map
- utils
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
0 commit comments