Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency @11ty/eleventy to v3 #143

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

simplificator-renovate[bot]
Copy link
Contributor

This PR contains the following updates:

Package Type Update Change
@11ty/eleventy (source) devDependencies major ^1.0.2 -> ^3.0.0

Release Notes

11ty/eleventy (@​11ty/eleventy)

v3.0.0: Eleventy v3.0.0: Possums ❤️ ESM

Compare Source

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

  1. 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) {}
  1. Supporting more package managers and runtimes: pnpm, yarn, Deno. More examples on the docs! https://v3.11ty.dev/docs/
  2. Asynchronous configuration #​614 Docs: https://v3.11ty.dev/docs/config/
// ESM
export default async function(eleventyConfig) {}

// CommonJS
module.exports = async function(eleventyConfig) {}
  1. For-free performance improvement to built-in slugify, inputPathToUrl universal filters (via memoization) #​840 Docs: https://v3.11ty.dev/docs/memoize/
  2. Named config export improves consistency for plugins #​3246 and set*Directory configuration 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"
  },
};
  1. 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",
  });
};
  1. IdAttribute plugin adds id attributes 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>
  1. 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
};
  1. 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>
  1. Use arbitrary JavaScript with the js Front Matter #​2819 Docs: https://v3.11ty.dev/docs/data-frontmatter/#javascript-front-matter
---js
const hello = "hi";
---
{{ hello }}
  1. page.rawInput unlocks access to raw template content #​1206 https://v3.11ty.dev/docs/data-eleventy-supplied/#page-variable
  2. addPreprocessor configuration API to modify raw content before rendering works for file ignores and drafts #​188 Docs: https://v3.11ty.dev/docs/config-preprocessors/
  3. addDateParsing configuration API to add your own custom date parsing logic #​867 Docs: https://v3.11ty.dev/docs/dates/#configuration-api-for-custom-date-parsing
  4. eleventyDataSchema data option to validate data cascade values #​879 Docs: https://v3.11ty.dev/docs/data-validate/
  5. Reserved Eleventy properties in data cascade are now frozen #​1173 Docs: https://v3.11ty.dev/docs/data-eleventy-supplied/#frozen-data
  6. Support for asynchronous plugins and async-friendly addPlugin configuration API #​2675 Docs: https://v3.11ty.dev/docs/plugins/#plugins-are-configuration
  7. useLayouts option for Custom Template Languages allows opt-out of Eleventy Layouts #​2830 Docs: https://v3.11ty.dev/docs/languages/custom/#uselayouts
  8. renderTransforms Universal Filter will run project transforms on an arbitrary block of content (useful for RSS and other feeds) #​3294
  9. --incremental=filename.md on the command line #​3324 Docs: https://v3.11ty.dev/docs/usage/#incremental-for-partial-incremental-builds
  10. renderContent Universal Filter now included with Render Plugin #​3370 Docs: https://v3.11ty.dev/docs/plugins/render/#rendercontent-filter
  11. Dev Server updates including onRequest API 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!

Minutiae

Full Eleventy v3 Milestone (177 closed): https://github.com/11ty/eleventy/milestone/40?closed=1
Full Changelog: 11ty/eleventy@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

v2.0.1: Eleventy v2.0.1: a Bug Fix Release

Compare Source

Eleventy v2.0.1 is now available! You can try it out in your project now:

npm install @&#8203;11ty/eleventy@latest

New to 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.

Features and Fixes

Housekeeping

Thank You Notes

This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×684 authors on our web site!), wrote a blog post about Eleventy, contributed code, wrote a plugins, helped with documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on social media ❤️.

Open Collective Supporters

v2.0.0: Eleventy v2.0.0: Now with twice as many Possums

Compare Source

🚨 The full release notes are available on The Eleventy Blog: Eleventy v2.0.0 or you can watch me talk about v2.0 on YouTube.

Eleventy v2.0.0 is now available! You can try it out now:

### Local project
npm install @&#8203;11ty/eleventy@latest

### Global install
npm install @&#8203;11ty/eleventy@latest -g

New to 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. Watch The State of Eleventy in Two Minutes or read more about Eleventy’s project goals.

The Big Features

Smaller, More Secure
Faster Builds
Plugins
And more…
  • Support for aliasing to an existing template language #​2248
    • This unlocks TypeScript or JSX in Eleventy when you use esbuild-register and alias 11ty.ts or 11ty.tsx to 11ty.js.
  • Event arguments unlock new plugin abilities: dir (input/output/includes/data/layouts locations),
    outputMode (where the templates are going: fs, json, ndjson), runMode (build, watch, or serve), or results for the processed Eleventy output.
  • Memory usage improvements to Pagination

Breaking Changes

⚠️ Rather than review this list, it’d be faster to use the eleventy-upgrade-helper plugin, which runs a suite of tests to see whether or not you need to worry about these breaking changes in your project: https://github.com/11ty/eleventy-upgrade-help

The Small Features

Even Smaller Features

Housekeeping

Thank You Notes

This project would not be possible without our lovely community. Thank you to everyone that built something with Eleventy (×684 authors on our web site!), wrote a blog post about Eleventy, contributed code, wrote a plugins, helped with documentation, asked questions, answered questions, braved The Leaderboards, participated on Discord, filed issues, attended (or organized!) a meetup, said a kind word on social media ❤️.

Pull Requests From

@​AleksandrHovhannisyan 🆕, @​amareshsm ×2 🆕, @​binyamin, @​DamianOsipiuk 🆕, @​epelc ×2 🆕, @​j-f1 🆕, @​Jaza 🆕, @​kentaroi 🆕, @​kev4ev 🆕, @​LeoSchae 🆕, @​milahu ×3, @​nasivuela 🆕, @​NickColley 🆕, @​NotWoods, @​Obayanju 🆕, @​Snapstromegon ×16 (wow! 🤯), @​TheDocTrier 🆕, @​thinkverse 🆕, @​TigersWay 🆕, @​wes-goulet 🆕, @​mrmartineau 🆕, @​danburzo 🆕

Read more from the Community
Open Collective Supporters

Configuration

📅 Schedule: Branch creation - "before 8am on monday" (UTC), 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 has been generated by Renovate Bot.

@simplificator-renovate simplificator-renovate bot added the dependencies Pull requests that update a dependency file label Oct 7, 2024
Copy link

vercel bot commented Oct 7, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
simplificator-blog ❌ Failed (Inspect) Oct 7, 2024 6:11am

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants