Skip to content

Commit

Permalink
Update dependency @11ty/eleventy to v3 (#46)
Browse files Browse the repository at this point in the history
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@11ty/eleventy](https://www.11ty.dev/)
([source](https://redirect.github.com/11ty/eleventy)) | [`^2.0.1` ->
`^3.0.0`](https://renovatebot.com/diffs/npm/@11ty%2feleventy/2.0.1/3.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@11ty%2feleventy/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@11ty%2feleventy/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@11ty%2feleventy/2.0.1/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@11ty%2feleventy/2.0.1/3.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>11ty/eleventy (@&#8203;11ty/eleventy)</summary>

###
[`v3.0.0`](https://redirect.github.com/11ty/eleventy/releases/tag/v3.0.0):
Eleventy v3.0.0: Possums ❤️ ESM

[Compare
Source](https://redirect.github.com/11ty/eleventy/compare/v2.0.1...v3.0.0)

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:

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

**If you’re upgrading from a previous version** of Eleventy, use the
[Upgrade Help plugin](https://v3.11ty.dev/docs/plugins/upgrade-help/)
for automated checks and help with your upgrade!

**[Why should you use
Eleventy?](https://v3.11ty.dev/#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](https://v3.11ty.dev/docs/performance/), and [full control over
the output](https://www.youtube.com/watch?v=b4frtsT4Cgo).

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/

```js
// ESM
export default function(eleventyConfig) {}

// We’ll keep supporting CommonJS:
module.exports = function(eleventyConfig) {}
```

2. Supporting more package managers and runtimes: pnpm, yarn, Deno. More
examples on the docs! https://v3.11ty.dev/docs/
3. Asynchronous configuration
[#&#8203;614](https://redirect.github.com/11ty/eleventy/issues/614)
Docs: https://v3.11ty.dev/docs/config/

```js
// ESM
export default async function(eleventyConfig) {}

// CommonJS
module.exports = async function(eleventyConfig) {}
```

4. For-free performance improvement to built-in `slugify`,
`inputPathToUrl` universal filters (via memoization)
[#&#8203;840](https://redirect.github.com/11ty/eleventy/issues/840)
Docs: https://v3.11ty.dev/docs/memoize/
5. Named `config` export improves consistency for plugins
[#&#8203;3246](https://redirect.github.com/11ty/eleventy/issues/3246)
and `set*Directory` configuration API methods
[#&#8203;1503](https://redirect.github.com/11ty/eleventy/issues/1503)
Docs:
https://v3.11ty.dev/docs/config-shapes/#optional-export-config-object
and https://v3.11ty.dev/docs/config/#configuration-options

```js
export default function(eleventyConfig) {
  eleventyConfig.setInputDirectory(".");
  eleventyConfig.setOutputDirectory("_site");
};

export const config = {
  dir: {
    input: ".",
    output: "_site"
  },
};
```

6. Virtual Templates, configuration API to add content (great for
plugins, used by the new RSS plugin!)
[#&#8203;1612](https://redirect.github.com/11ty/eleventy/issues/1612)
Docs: https://v3.11ty.dev/docs/virtual-templates/

```js
export default function(eleventyConfig) {
  eleventyConfig.addTemplate("robots.njk", "User-agent: *\nAllow: /", {
    permalink: "/robots.txt",
  });
};
```

7. IdAttribute plugin adds `id` attributes to headings for on-page
anchor links (supports all template-languages)
[#&#8203;3363](https://redirect.github.com/11ty/eleventy/issues/3363)
Docs: https://v3.11ty.dev/docs/plugins/id-attribute/

```html
<h1>Welcome to my web site</h1> becomes <h1 id="welcome-to-my-web-site">Welcome to my web site</h1>
```

8. Plain-text Bundler included: https://v3.11ty.dev/docs/plugins/bundle/

```js
export default function(eleventyConfig) {
  eleventyConfig.addBundle("css"); // Adds {% css %} paired shortcode to create per-page CSS bundles
};
```

9. 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/

```html
<a href="my-template.md">Home</a> becomes <a href="/my-template/">Home</a>
```

10. Use arbitrary JavaScript with the `js` Front Matter
[#&#8203;2819](https://redirect.github.com/11ty/eleventy/issues/2819)
Docs: https://v3.11ty.dev/docs/data-frontmatter/#javascript-front-matter

```js
---js
const hello = "hi";
---
{{ hello }}
```

11. `page.rawInput` unlocks access to raw template content
[#&#8203;1206](https://redirect.github.com/11ty/eleventy/issues/1206)
https://v3.11ty.dev/docs/data-eleventy-supplied/#page-variable
12. `addPreprocessor` configuration API to modify raw content before
rendering works for file ignores and drafts
[#&#8203;188](https://redirect.github.com/11ty/eleventy/issues/188)
Docs: https://v3.11ty.dev/docs/config-preprocessors/
13. `addDateParsing` configuration API to add your own custom date
parsing logic
[#&#8203;867](https://redirect.github.com/11ty/eleventy/issues/867)
Docs:
https://v3.11ty.dev/docs/dates/#configuration-api-for-custom-date-parsing
14. `eleventyDataSchema` data option to validate data cascade values
[#&#8203;879](https://redirect.github.com/11ty/eleventy/issues/879)
Docs: https://v3.11ty.dev/docs/data-validate/
15. Reserved Eleventy properties in data cascade are now frozen
[#&#8203;1173](https://redirect.github.com/11ty/eleventy/issues/1173)
Docs: https://v3.11ty.dev/docs/data-eleventy-supplied/#frozen-data
16. Support for asynchronous plugins and async-friendly `addPlugin`
configuration API
[#&#8203;2675](https://redirect.github.com/11ty/eleventy/issues/2675)
Docs: https://v3.11ty.dev/docs/plugins/#plugins-are-configuration
17. `useLayouts` option for Custom Template Languages allows opt-out of
Eleventy Layouts
[#&#8203;2830](https://redirect.github.com/11ty/eleventy/issues/2830)
Docs: https://v3.11ty.dev/docs/languages/custom/#uselayouts
18. `renderTransforms` Universal Filter will run project transforms on
an arbitrary block of content (useful for RSS and other feeds)
[#&#8203;3294](https://redirect.github.com/11ty/eleventy/issues/3294)
19. `--incremental=filename.md` on the command line
[#&#8203;3324](https://redirect.github.com/11ty/eleventy/issues/3324)
Docs:
https://v3.11ty.dev/docs/usage/#incremental-for-partial-incremental-builds
20. `renderContent` Universal Filter now included with Render Plugin
[#&#8203;3370](https://redirect.github.com/11ty/eleventy/issues/3370)
Docs: https://v3.11ty.dev/docs/plugins/render/#rendercontent-filter
21. Dev Server updates including [`onRequest` API for handling requests
dynamically during
development](https://redirect.github.com/11ty/eleventy-dev-server/releases/tag/v2.0.0)
(used with the new [Image Transform
plugin](https://v3.11ty.dev/docs/plugins/image/#eleventy-transform))

#### Breaking Changes and Upgrade Path

**Rather than navigating this list manually, use the [Upgrade Help
plugin](https://v3.11ty.dev/docs/plugins/upgrade-help/) 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("@&#8203;11ty/eleventy")` to `await
import("@&#8203;11ty/eleventy")` for ESM reasons. We provide [helpful
error messaging for
this](https://www.zachleat.com/web/future-friendly-esm/).
- `pug`, `ejs`, `haml`, `mustache`, and `handlebars` template 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
[#&#8203;3373](https://redirect.github.com/11ty/eleventy/issues/3373)
- The `htmlOutputSuffix` feature was removed
[#&#8203;3327](https://redirect.github.com/11ty/eleventy/issues/3327)
- Aliased custom templates must be declared in active formats
[#&#8203;3302](https://redirect.github.com/11ty/eleventy/issues/3302)
- `--formats=` and `--formats=""` on command line means no formats
(previously aliased to `*`)
[#&#8203;3255](https://redirect.github.com/11ty/eleventy/issues/3255)
- Custom Template Language `compileOptions.permalink` option changed
from `true` to `"raw"`
[#&#8203;2780](https://redirect.github.com/11ty/eleventy/issues/2780)
-   Major semver updates of dependencies:
- `js-yaml` [v3 to v4
Changelog](https://redirect.github.com/nodeca/js-yaml/blob/master/CHANGELOG.md#400---2021-01-03)
        -   Better error messaging when using tabs in YAML
        -   Numbers are now parsed according to YAML 1.2 spec (from 1.1)
- `@sindresorhus/slugify` [v2 to v3
Changelog](https://redirect.github.com/sindresorhus/slugify/releases/tag/v2.0.0):
Node 12+, Pure ESM
- `bcp-47-normalize` [v1 to v2
Changelog](https://redirect.github.com/wooorm/bcp-47-normalize/releases/tag/2.0.0):
Pure ESM
- `dependency-graph` [v0.x to v1
Changelog](https://redirect.github.com/jriecken/dependency-graph/blob/master/CHANGELOG.md#100-dec-5-2023)
- `iso-639-1` [v2 to v3
Changelog](https://redirect.github.com/meikidd/iso-639-1/blob/master/CHANGELOG.md#v300):
Pure ESM
- `markdown-it` [v13 to v14
Changelog](https://redirect.github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md#1400---2023-12-08):
Pure ESM, removed `dist` folder
- [Full list of breaking
changes](https://redirect.github.com/11ty/eleventy/issues?q=milestone%3A%22Eleventy+3.0.0%22+is%3Aclosed+label%3Abreaking-change)

#### Minutiae

- Packages are now published using [npm package
provenance](https://github.blog/security/supply-chain-security/introducing-npm-package-provenance/).
- The code base is using tabs 😱😈
[#&#8203;3098](https://redirect.github.com/11ty/eleventy/issues/3098)

**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](https://conf.11ty.dev/) 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
[@&#8203;bobmonsour](https://redirect.github.com/bobmonsour),
[@&#8203;pdehaan](https://redirect.github.com/pdehaan),
[@&#8203;Snapstromegon](https://redirect.github.com/Snapstromegon),
[@&#8203;cdransf](https://redirect.github.com/cdransf),
[@&#8203;5t3ph](https://redirect.github.com/5t3ph),
[@&#8203;BenDMyers](https://redirect.github.com/BenDMyers),
[@&#8203;siakaramalegos](https://redirect.github.com/siakaramalegos),
[@&#8203;shivjm](https://redirect.github.com/shivjm),
[@&#8203;dleatherman](https://redirect.github.com/dleatherman),
[@&#8203;darthmall](https://redirect.github.com/darthmall),
[@&#8203;clottman](https://redirect.github.com/clottman),
[@&#8203;nachtfunke](https://redirect.github.com/nachtfunke),
[@&#8203;David-Large](https://redirect.github.com/David-Large), Olivia
Nicholson, and
[@&#8203;mneumegen](https://redirect.github.com/mneumegen) for their
community contributions!

Thank you for the code contributions from
[@&#8203;VividVisions](https://redirect.github.com/VividVisions),
[@&#8203;mayank99](https://redirect.github.com/mayank99),
[@&#8203;Zearin](https://redirect.github.com/Zearin),
[@&#8203;chriskirknielsen](https://redirect.github.com/chriskirknielsen),
[@&#8203;mendhak](https://redirect.github.com/mendhak),
[@&#8203;fqueze](https://redirect.github.com/fqueze),
[@&#8203;shivjm](https://redirect.github.com/shivjm),
[@&#8203;rdela](https://redirect.github.com/rdela),
[@&#8203;w0whitaker](https://redirect.github.com/w0whitaker),
[@&#8203;vrugtehagel](https://redirect.github.com/vrugtehagel),
[@&#8203;sachac](https://redirect.github.com/sachac),
[@&#8203;Snapstromegon](https://redirect.github.com/Snapstromegon),
[@&#8203;alifeee](https://redirect.github.com/alifeee),
[@&#8203;uncenter](https://redirect.github.com/uncenter),
[@&#8203;Zwyx](https://redirect.github.com/Zwyx),
[@&#8203;mayankkamboj47](https://redirect.github.com/mayankkamboj47),
[@&#8203;aschrab](https://redirect.github.com/aschrab),
[@&#8203;jgarber623](https://redirect.github.com/jgarber623),
[@&#8203;korverdev](https://redirect.github.com/korverdev),
[@&#8203;mathertel](https://redirect.github.com/mathertel),
[@&#8203;mathieuprog](https://redirect.github.com/mathieuprog),
[@&#8203;epelc](https://redirect.github.com/epelc),
[@&#8203;Ryuno-Ki](https://redirect.github.com/Ryuno-Ki),
[@&#8203;lexoyo](https://redirect.github.com/lexoyo),
[@&#8203;satgo1546](https://redirect.github.com/satgo1546),
[@&#8203;KiwiKilian](https://redirect.github.com/KiwiKilian)

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/keithamus/hdx).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] authored Nov 4, 2024
1 parent 135bfc1 commit 1ebbb4b
Show file tree
Hide file tree
Showing 2 changed files with 657 additions and 866 deletions.
Loading

0 comments on commit 1ebbb4b

Please sign in to comment.