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

Big v3.0.0 Project Slipstream Changes #3074

Merged
merged 42 commits into from
Oct 27, 2023
Merged

Big v3.0.0 Project Slipstream Changes #3074

merged 42 commits into from
Oct 27, 2023

Conversation

zachleat
Copy link
Member

Per feedback from the survey https://www.11ty.dev/blog/community-survey-results/ we’re making a few big changes in Eleventy v3.0.

  • Requires Node 18+
  • Working support for ESM Modify Eleventy to work with ECMAScript Modules (ESM) by default #836. To be clear, this adds ESM support to all JavaScript files:
    • Configuration Files
    • JavaScript Data Files (Global, Directory, or Template)
    • .11ty.js (and .11ty.mjs) Template Files
    • and importantly we will not require you to upgrade your projects to ESM either. Eleventy 3.0 will continue to support CommonJS Eleventy projects.
  • Adds support for Async config (in both CommonJS and ESM) Allow configuration to return a promise (async-friendly) #614
  • Removes Netlify-specific Serverless and Edge plugins as we rededicate to the Jamstack. You will still be able to run Eleventy in serverless environments, but Eleventy core will not manage this code. We’ll have some docs around this for the stable release.
  • Removes pug, hbs, mustache, ejs, and haml from core. We are open to moving this code into plugins for the stable release, but please let us know! The survey indicated that these were the lowest priority template languages for most folks.

@mahnunchik
Copy link

6oa

ESM!!!!

@Zearin
Copy link
Contributor

Zearin commented Nov 11, 2023

🎶 I’m so excited,
I just can’t hide it! 🎵

@mahnunchik
Copy link

When is the release?

@noelforte
Copy link
Contributor

When is the release?

@mahnunchik Haven't heard much lately but it's probably going to be somewhat soon. The core team is small and does this pro-bono in their off-hours so it'll be ready when it's ready.

That said, 3.0.0-alpha.5 has been out for a while and although it's not tagged as a "stable" release, I (and I can only assume many others) have been running it in production for a few months now with very few issues. If you'd like to get up and running with the canary builds you can check out https://www.11ty.dev/blog/canary-eleventy-v3/ for instructions and a high-level overview of breaking changes. Hope this helps!

@mahnunchik
Copy link

@noelforte thank you for the clarification.

I will try to use 3.0.0 alpha in one of new project 😉

@zachleat
Copy link
Member Author

zachleat commented Jul 9, 2024

ejs is now available as an alpha release and installable via npm @11ty/eleventy-plugin-ejs

source code here: https://github.com/11ty/eleventy-plugin-template-languages

@zachleat
Copy link
Member Author

zachleat commented Jul 9, 2024

Follow along for the other official template language plugins updates on #3124.

Thanks y’all!

@zachleat zachleat removed the needs-documentation Documentation for this issue/feature is pending! label Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: 🛠 configuration Related to Eleventy’s Configuration file feature: 🧀 edge The Eleventy Edge plugin feature: esm Related to supporting ES Modules (in parallel to CommonJS) feature: 🏙 serverless Eleventy Serverless template-language: ejs template-language: pug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants