chore(deps): update dependency @11ty/eleventy to v3
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @11ty/eleventy (source) | 2.0.1 -> 3.0.0 |
Release Notes
11ty/eleventy (@11ty/eleventy)
v3.0.0: Eleventy v3.0.0: Possums ❤️ ESM
We did it. After 22 pre-releases and over a year of work, Eleventy 3.0.0 is now available. You can try it out now on your project using:
npm install @​11ty/eleventy@latest
If you’re upgrading from a previous version of Eleventy, use the Upgrade Help plugin for automated checks and help with your upgrade!
Why should you use Eleventy? Eleventy is a flexible and production-ready site generator known for its zero-client JavaScript footprint, speedy sites, speedy builds, and full control over the output.
A few numbers on the best version of Eleventy yet:
| Stats | v2.0.1 |
v3.0.0 |
|---|---|---|
| 20% smaller | 35.2 MB | 28.1 MB |
| 11% fewer dependencies | 213 | 189 |
| 9% faster npm install | 4.511s* | 4.103s* |
*fastest time of 3 runs (bypassing local cache)
Flagship 3.0 features
- Eleventy is now written in ESM with full support for ESM in your projects: configuration, data files, 11ty.js templates, etc. For many projects this won’t be a breaking change and we’ll continue to support CommonJS too. Every example on the docs now includes both a CommonJS and ESM version. Docs: https://v3.11ty.dev/docs/cjs-esm/
// ESM
export default function(eleventyConfig) {}
// We’ll keep supporting CommonJS:
module.exports = function(eleventyConfig) {}
- Supporting more package managers and runtimes: pnpm, yarn, Deno. More examples on the docs! https://v3.11ty.dev/docs/
- Asynchronous configuration #614 Docs: https://v3.11ty.dev/docs/config/
// ESM
export default async function(eleventyConfig) {}
// CommonJS
module.exports = async function(eleventyConfig) {}
- For-free performance improvement to built-in
slugify,inputPathToUrluniversal filters (via memoization) #840 Docs: https://v3.11ty.dev/docs/memoize/ - Named
configexport improves consistency for plugins #3246 andset*Directoryconfiguration API methods #1503 Docs: https://v3.11ty.dev/docs/config-shapes/#optional-export-config-object and https://v3.11ty.dev/docs/config/#configuration-options
export default function(eleventyConfig) {
eleventyConfig.setInputDirectory(".");
eleventyConfig.setOutputDirectory("_site");
};
export const config = {
dir: {
input: ".",
output: "_site"
},
};
- Virtual Templates, configuration API to add content (great for plugins, used by the new RSS plugin!) #1612 Docs: https://v3.11ty.dev/docs/virtual-templates/
export default function(eleventyConfig) {
eleventyConfig.addTemplate("robots.njk", "User-agent: *\nAllow: /", {
permalink: "/robots.txt",
});
};
- IdAttribute plugin adds
idattributes to headings for on-page anchor links (supports all template-languages) #3363 Docs: https://v3.11ty.dev/docs/plugins/id-attribute/
<h1>Welcome to my web site</h1> becomes <h1 id="welcome-to-my-web-site">Welcome to my web site</h1>
- Plain-text Bundler included: https://v3.11ty.dev/docs/plugins/bundle/
export default function(eleventyConfig) {
eleventyConfig.addBundle("css"); // Adds {% css %} paired shortcode to create per-page CSS bundles
};
- InputPath to URL plugin lets you link directly to an input file path (and we’ll output the right URL) Docs: https://www.11ty.dev/docs/plugins/inputpath-to-url/
<a href="my-template.md">Home</a> becomes <a href="/my-template/">Home</a>
- Use arbitrary JavaScript with the
jsFront Matter #2819 Docs: https://v3.11ty.dev/docs/data-frontmatter/#javascript-front-matter
---js
const hello = "hi";
---
{{ hello }}
page.rawInputunlocks access to raw template content #1206 https://v3.11ty.dev/docs/data-eleventy-supplied/#page-variableaddPreprocessorconfiguration API to modify raw content before rendering works for file ignores and drafts #188 Docs: https://v3.11ty.dev/docs/config-preprocessors/addDateParsingconfiguration API to add your own custom date parsing logic #867 Docs: https://v3.11ty.dev/docs/dates/#configuration-api-for-custom-date-parsingeleventyDataSchemadata option to validate data cascade values #879 Docs: https://v3.11ty.dev/docs/data-validate/- Reserved Eleventy properties in data cascade are now frozen #1173 Docs: https://v3.11ty.dev/docs/data-eleventy-supplied/#frozen-data
- Support for asynchronous plugins and async-friendly
addPluginconfiguration API #2675 Docs: https://v3.11ty.dev/docs/plugins/#plugins-are-configuration useLayoutsoption for Custom Template Languages allows opt-out of Eleventy Layouts #2830 Docs: https://v3.11ty.dev/docs/languages/custom/#uselayoutsrenderTransformsUniversal Filter will run project transforms on an arbitrary block of content (useful for RSS and other feeds) #3294--incremental=filename.mdon the command line #3324 Docs: https://v3.11ty.dev/docs/usage/#incremental-for-partial-incremental-buildsrenderContentUniversal Filter now included with Render Plugin #3370 Docs: https://v3.11ty.dev/docs/plugins/render/#rendercontent-filter- Dev Server updates including
onRequestAPI for handling requests dynamically during development (used with the new Image Transform plugin)
Breaking Changes and Upgrade Path
Rather than navigating this list manually, use the Upgrade Help plugin for automated project checks and upgrade help!
- Requires Node 18 or newer.
- Removes Serverless and Edge plugins.
- Use of bundled Eleventy plugins from CommonJS requires changing
require("@​11ty/eleventy")toawait import("@​11ty/eleventy")for ESM reasons. We provide helpful error messaging for this. pug,ejs,haml,mustache, andhandlebarstemplate languages moved from core to official plugins:handlebars: https://v3.11ty.dev/docs/languages/handlebars/mustache: https://v3.11ty.dev/docs/languages/mustache/ejs: https://v3.11ty.dev/docs/languages/ejs/haml: https://v3.11ty.dev/docs/languages/haml/pug: https://v3.11ty.dev/docs/languages/pug/
- Throw errors if
--config=command line file is missing #3373 - The
htmlOutputSuffixfeature was removed #3327 - Aliased custom templates must be declared in active formats #3302
--formats=and--formats=""on command line means no formats (previously aliased to*) #3255- Custom Template Language
compileOptions.permalinkoption changed fromtrueto"raw"#2780 - Major semver updates of dependencies:
js-yamlv3 to v4 Changelog- Better error messaging when using tabs in YAML
- Numbers are now parsed according to YAML 1.2 spec (from 1.1)
@sindresorhus/slugifyv2 to v3 Changelog: Node 12+, Pure ESMbcp-47-normalizev1 to v2 Changelog: Pure ESMdependency-graphv0.x to v1 Changelogiso-639-1v2 to v3 Changelog: Pure ESMmarkdown-itv13 to v14 Changelog: Pure ESM, removeddistfolder
- Full list of breaking changes
Minutiae
- Packages are now published using npm package provenance.
- The code base is using tabs 😱😈 #3098
Full Eleventy v3 Milestone (177 closed): https://github.com/11ty/eleventy/milestone/40?closed=1 Full Changelog: https://github.com/11ty/eleventy/compare/v2.0.1...v3.0.0
Thank You Notes
This release would not have been possible without our community and supporters.
- To everyone that has built something with Eleventy: thank you!
- To everyone that has answered a question about Eleventy: on the Discord, on social media, in GitHub issues or discussion, at your local meetup or coffee shop: thank you!
- To everyone that attended the 11ty Conference earlier this year: thank you!
- To everyone that brought a well-intentioned complaint about something you didn’t like about Eleventy: thank you!
- To everyone that dropped a few nice words of appreciation: thank you!
- To everyone that has supported us and made this release possible: thank you!
Thank you to @bobmonsour, @pdehaan, @Snapstromegon, @cdransf, @5t3ph, @BenDMyers, @siakaramalegos, @shivjm, @dleatherman, @darthmall, @clottman, @nachtfunke, @David-Large, Olivia Nicholson, and @mneumegen for their community contributions!
Thank you for the code contributions from @VividVisions, @mayank99, @Zearin, @chriskirknielsen, @mendhak, @fqueze, @shivjm, @rdela, @w0whitaker, @vrugtehagel, @sachac, @Snapstromegon, @alifeee, @uncenter, @Zwyx, @mayankkamboj47, @aschrab, @jgarber623, @korverdev, @mathertel, @mathieuprog, @epelc, @Ryuno-Ki, @lexoyo, @satgo1546, @KiwiKilian
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ No Changeset found
Latest commit: def3d829dabb0b07ab55e0be0702f28ba18871c8
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
[!IMPORTANT]
Review skipped
Bot user detected.
To trigger a single review, invoke the
@coderabbitai reviewcommand.You can disable this status message by setting the
reviews.review_statustofalsein the CodeRabbit configuration file.
🪧 Tips
Chat
There are 3 ways to chat with CodeRabbit:
- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
I pushed a fix in commit <commit_id>, please review it.Generate unit testing code for this file.Open a follow-up GitHub issue for this discussion.
- Files and specific lines of code (under the "Files changed" tab): Tag
@coderabbitaiin a new review comment at the desired location with your query. Examples:@coderabbitai generate unit testing code for this file.@coderabbitai modularize this function.
- PR comments: Tag
@coderabbitaiin a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.@coderabbitai read src/utils.ts and generate unit testing code.@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.@coderabbitai help me debug CodeRabbit configuration file.
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.
CodeRabbit Commands (Invoked using PR comments)
@coderabbitai pauseto pause the reviews on a PR.@coderabbitai resumeto resume the paused reviews.@coderabbitai reviewto trigger an incremental review. This is useful when automatic reviews are disabled for the repository.@coderabbitai full reviewto do a full review from scratch and review all the files again.@coderabbitai summaryto regenerate the summary of the PR.@coderabbitai resolveresolve all the CodeRabbit review comments.@coderabbitai configurationto show the current CodeRabbit configuration for the repository.@coderabbitai helpto get help.
Other keywords and placeholders
- Add
@coderabbitai ignoreanywhere in the PR description to prevent this PR from being reviewed. - Add
@coderabbitai summaryto generate the high-level summary at a specific location in the PR description. - Add
@coderabbitaianywhere in the PR title to generate the title automatically.
CodeRabbit Configuration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile to the root of your repository. - Please see the configuration documentation for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation:
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
Documentation and Community
- Visit our Documentation for detailed information on how to use CodeRabbit.
- Join our Discord Community to get help, request features, and share feedback.
- Follow us on X/Twitter for updates and announcements.
New and removed dependencies detected. Learn more about Socket for GitHub ↗︎
🚮 Removed packages: npm/@11ty/[email protected], npm/@11ty/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@babel/[email protected], npm/@iarna/[email protected], npm/@sindresorhus/[email protected], npm/@sindresorhus/[email protected], npm/@types/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected], npm/[email protected]
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.