Skip to content

Upgrade dependencies, including major version of @11ty/eleventy-img - #1148

Open
dependabot[bot] wants to merge 8 commits into
mainfrom
dependabot/npm_and_yarn/npm-minor-upgrades-e1184cdb91
Open

Upgrade dependencies, including major version of @11ty/eleventy-img#1148
dependabot[bot] wants to merge 8 commits into
mainfrom
dependabot/npm_and_yarn/npm-minor-upgrades-e1184cdb91

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Dependabot's minor/patch group, plus three majors that needed attention:
@11ty/eleventy-img 6 → 7, chalk 5 → 6, markdown-it 14 → 15. Only
eleventy-img required code changes.

eleventy-img v7

v7 removed statsSync — the API is async-only. The obvious fix (make
image() async) doesn't work here: the image shortcode is called from
inside the img macro in embed.macros.njk, used in ~179 places, and
Nunjucks macros compile synchronously. An async shortcode inside one
silently renders empty. Converting the macro would cascade through 62
content files.

Instead, image() stays synchronous and metadata is pre-computed:

  • cacheImageMetadata() runs statsOnly over every source image and
    stores the results in a map keyed by canonical path. Hooked to
    eleventy.before, so it also re-runs on each watch-mode rebuild.
    Costs ~0.4s for 656 images — header reads only, no image processing.
  • Per-image options moved into imgOptionsFor(src), so the pre-pass and
    the render path derive identical options from one canonical path.
  • Paths are normalized once at the top of image(). Content refers to the
    same file in several ways (e.g. ./src/images//projects/w3c.jpg, which
    v6 normalized internally).
  • A missing entry now throws a pointed error instead of rendering nothing;
    unreadable images report the underlying sharp error.
  • image_cache.json now carries the installed eleventy-img version. A
    cache written by a different version is discarded, so an upgrade can't
    leave stale markup in local builds while production regenerates it.

Image generation failures now name the image

Generation is still started during render without being awaited, since
templates are synchronous. Previously a failure surfaced as an unhandled
rejection — a bare sharp stack with no indication of which image caused
it, and the build could exit before generation finished. The work is now
tracked and awaited in eleventy.after, which fails the build with the
offending sources listed.

Output impact

Diffed a full build under the old and new dependency sets: of 668 HTML
files, 617 are byte-identical and 51 differ only because v7's
generateHTML omits the redundant width descriptor when a srcset has a
single candidate (srcset="x.webp 160w"srcset="x.webp"). Spec-valid
and visually identical. No other differences anywhere.

markdown-it 15 and chalk 6 — no changes needed

  • linkify-it v6 behavior changes don't apply (linkify is never enabled)
  • nothing imports the removed markdown-it/lib/* subpaths
  • no validateLink/normalizeLink usage; markdown-it-deflist isn't a
    dependency
  • markdown-it-anchor / -footnote / -mark verified working under v15
  • chalk 6 only raises the floor to Node 22; engines.node is ^24

Rendering all 364 markdown files through v14 and v15 with the real plugin
stack produced zero output differences.

Also

  • Dependabot now ignores TypeScript major bumps.
  • Dropped ...globals.es6 from eslint.config.js. That key doesn't exist
    in the globals package, so it was spreading undefined — a silent
    no-op. It was also redundant: ecmaVersion: 2022 already supplies the
    matching ECMAScript globals. Pre-existing, not a regression from this
    branch.

Verification

  • 86 tests, 100% coverage; ESLint and Prettier clean
  • yarn build:prod (NETLIFY=true, which bypasses the local HTML cache
    entirely) clean
  • Cache version guard exercised both ways: an unstamped cache is rejected
    and regenerated; a matching one is reused without a rewrite
  • Confirmed a failed image actually fails the build (exit 1) with the
    source named, rather than logging and continuing

Bumps the npm-minor-upgrades group with 3 updates: [eslint](https://github.com/eslint/eslint), [globals](https://github.com/sindresorhus/globals) and [rollup](https://github.com/rollup/rollup).


Updates `eslint` from 10.7.0 to 10.8.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.7.0...v10.8.0)

Updates `globals` from 17.7.0 to 17.8.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v17.7.0...v17.8.0)

Updates `rollup` from 4.62.2 to 4.62.3
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.62.2...v4.62.3)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor-upgrades
- dependency-name: globals
  dependency-version: 17.8.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor-upgrades
- dependency-name: rollup
  dependency-version: 4.62.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor-upgrades
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Jul 31, 2026
@jgerigmeyer
jgerigmeyer requested a review from jamesnw August 3, 2026 17:03
@dependabot @github

dependabot Bot commented on behalf of github Aug 7, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 7, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/npm-minor-upgrades-e1184cdb91 branch August 7, 2026 08:05
@jgerigmeyer
jgerigmeyer restored the dependabot/npm_and_yarn/npm-minor-upgrades-e1184cdb91 branch August 7, 2026 16:25
@jgerigmeyer jgerigmeyer reopened this Aug 7, 2026
@jgerigmeyer jgerigmeyer changed the title Bump the npm-minor-upgrades group with 3 updates Upgrade dependencies, including major version of @11ty/eleventy-img Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant