All Versions
Latest Version
Avg Release Cycle
11 days
Latest Release
413 days ago

Changelog History
Page 2

  • v1.6.0 Changes

    September 11, 2020


    🍱 The main change in this commit is the ability to write partials like <%~ include(...) %> or <%~ includeFile(...) %> in their templates in addition to <%~ E.include(...) %> or <%~ E.includeFile(...) %> 🎉 🎉 🎉

    🚀 This new change should increase template readability and make transitioning to Eta seem less overwhelming. This release also includes some dev-dependency updates and the removal of some unneeded dev-dependencies.


    • Merge pull request #18 from eta-dev/dependabot/npm_and_yarn/node-fetch-2.6.1 b46aab7
    • ⚡️ Update package.json, remove unneeded dev dependencies c4aad16
    • ⬆️ Bump node-fetch from 2.6.0 to 2.6.1 7ab1ef0
    • 🔀 Merge pull request #17 from eta-dev/simple-include e381db1
    • ⚡️ Update tests to include case with include,includeFile undefined a3fa9c0
    • 📚 Update tests, documentation to use simplified version of include & includeFile c72a067
    • Alias E.include, E.includeFile as include, includeFile bfbcd14


  • v1.5.0 Changes

    September 09, 2020


    🍱 The main enhancement this feature brings is the ability to include partials with an absolute path! This is a feature that EJS users have been requesting for a while, but we got it first 😉 🎉.

    0️⃣ When Eta is looking for a template with an absolute path, it will first look in config.views, then fall back to config.root (which is, by default, "/"). The main advantage of this approach is that it means most users will not have to manually set config.root (which can cause confusing problems).

    Summary of other changes:

    • If Eta can't find a template file, the error it throws now includes a list of filepaths it checked
    • ✂ Removed unnecessary includeHelper.bind(config) and includeFileHelper.bind(config) statements
    • ✅ More tests
    • ⚡️ README formatting updates
    • Wrap the readFile function in a try {} catch {} block, so if you pass an incorrect path to renderFile the error will look nicer


    • ✅ Test that getConfig returns a clone of config when called w/ no arguments 5c4f20c
    • 🔀 Merge pull request #16 from eta-dev/fix-helper-bind 3860018
    • ✂ Remove .bind() calls that didn't do anything d2d179f
    • 🛠 Fix README alignment issues 8568932
    • 🔀 Merge branch 'master' of into master 733b150
    • 🔀 Merge pull request #15 from eta-dev/fix-abs-root 0d3501d
    • Rebuild after file-handling changes 85ea879
    • ✅ Edit error message tests to reflect current errors bb417a5
    • First search options.views for absolute paths, then fallback to root. Create a list of searched paths 243a998
    • Wrap readFile in a try-catch cabd4b3
    • 🏗 Move buildRegEx function to test/err.spec.ts f7b84cf
    • 🔄 Change div around badges to p so it centers correctly on NPM 0a41b7c
    • ✂ Remove deno doc badge; deno doc doesn't support bracketed exports, so it's basically useless for Eta 37bb224


  • v1.4.0 Changes

    September 06, 2020


    🚀 The most significant feature of this release is a new configure() function that modifies Eta's base ("global") configuration. It's called like Eta.configure({tags: ["{{", "}}"]}).

    ⚡️ Another significant change was the decision to rename defaultConfig to config. The name defaultConfig was originally chosen when I had plans to make Eta support multiple "environments", like Nunjucks. Eventually I decided this would cause unneeded complexity, but I didn't change the name. This change should not be breaking; we re-export config as defaultConfig for backwards compatibility. In the future, use of defaultConfig will be discouraged and we'll update the docs to reflect that.

    Finally, we included a fix to renderFile.

    Notable changes (recap)

    • 🔧 Create new configure() function
    • 0️⃣ Rename defaultConfig to config
    • 👀 Prevent renderFile from erroring if the data argument is undefined or null; issue originally filed in Squirrelly by @futurelucas4502, see squirrellyjs/squirrelly#201.


    • 🔀 Merge pull request #13 from eta-dev/simple-config dce660b
    • Format 60d5805
    • 0️⃣ Make defaultConfig an alias of config instead of the opposite daa8b76
    • 📦 Sort package.json scripts 18deacb
    • ➕ Add new config utilities to browser.ts 01241a4
    • 🔀 Merge branch 'master' into simple-config 88749fd
    • Replace params named env w/ params named config 0f24916
    • ➕ Add eta.configure() command, alias defaultConfig to config e51e02e
    • ⚡️ Update README to have centered title 3754716
    • Avoid error if data is undefined or null f9417df
    • ➕ Add style to h1 so it centers 62afaa0


  • v1.3.0 Changes

    September 04, 2020


    🚀 This release brings quite a few exciting updates; most notably, Deno support! 🎉 🎉
    ✅ It also brings a partial rewrite of Eta's file handling, many more JSDoc comments (hurrah for Intellisense!), increased testing and test coverage, and size analysis.

    Notable Changes

    • 👍 Deno support
    • eta.renderFile can now accept a relative file path, as long as the views option is set
    • Eta correctly handles when the views option is a string
    • 👌 Improved JSDoc annotation
    • Size analysis and control with size-limit
    • ⚡️ Updated dependencies
    • ✅ More tests, higher test coverage
    • 🛠 🐛 [BUGFIX]: included partials can now correctly reference files relative to them


    • ⚡️ Update README badges 2002c17
    • 👍 Deno support! 2f7fc48
    • Rebuild c41ca47
    • ✂ Remove emoji 2f9226d
    • Note about size-limit restriction a45be5b
    • 🔀 Merge branch 'master' into deno-support c96d8f5
    • ⚡️ Update GitHub Actions to install Deno ac4910b
    • ⚡️ Update GitHub Action to install Deno 25be6d6
    • 🔀 Merge branch 'master' into deno-support ecab3d0
    • Restrict size with size-limit 0da5e10
    • Restrict size with ai/size-limit c5b9948
    • ✂ Remove obsolete comment f47c0bc
    • ➕ Add Deno and Yarn to Travis cache aa6d257
    • ⚡️ Update funding links ab87ff6
    • ⚡️ README updates e2ddb5f
    • ✂ Delete old file 2ed6f86
    • ⚡️ Update contributor profile link f991b01
    • ✅ Node throws different SyntaxError messages based on the version; I turned the error message tests into RegEx's a898234
    • ♻️ Rebuild after file handling refactoring, better annotations 4f532b4
    • 👍 Allow renderFile path to be relative, allow views option to be string, move loadFile to file-handlers.ts, refactor file handling, better JSDoc 30101c5
    • 👍 Better JSDoc annotations, rearrange conditional 98c60dc
    • 🚚 Move loadFile from file-utils.ts to file-handlers.ts cd71f9a
    • 👍 Better JSDoc annotations 3dcec02
    • ✅ Write multiple tests checking for errors, correct callback behavior, file location 4818251
    • ➕ Add Eta file with invalid syntax 45052b9
    • Up coverage threshold 6e30eb8
    • ⚡️ Update renderFile so it can take explicit config argument 36bd4c8
    • 🛠 Fix: udpate includeFile so it correctly passes through filename 462f2c8
    • ✂ Remove render.deno.ts -- it was unnecessary 367b5f5
    • ⚡️ Update .travis.yml to work with Deno 8d6ebfb
    • Deno must run w/ filesystem access 0b354f0
    • ✅ File helper tests 4c55fce
    • ✅ A few more tests 3219e0a
    • 🚚 Move deno tests into subfolder 59877a7
    • 🛠 Fix tests to run with --unstable 798c8c9
    • ⚡️ Update rules 492d2a3
    • 👉 Use exported methods from ./file-methods 920bf65
    • ➕ Add missing .ts extensions 0c312d6
    • Rebuild 2fb89dc
    • Rebuild 279c9cb
    • ✂ Remove unnecessary separate file-utils.deno.ts 3fec950
    • 👉 Use prettier instead of prettier-standard a77d261
    • ➕ Add deno_dist to .prettierignore 9553b77
    • Format with prettier 84545d1
    • ➕ Add .ts extension bd4e655
    • ✅ Use deno test to test *.deno.spec.ts files 56f3fdd
    • ➕ Add release script to package.json db94016
    • ✂ Remove @denoify-ignore comment from mod.ts 9d8508c
    • ⚡️ Update dev dependencies 6222283
    • ➕ Add denoify-ignore comment 8d2f79f
    • ⚡️ Update formatting 3da842f
    • ➕ Add typedoc.json file db7babb
    • ✂ Remove unnecessary notConfig param from copyProps 441371c
    • Separate Deno, other logic b38f7fa
    • ⚡️ Update to use separate polyfills file 6a9b723
    • ⚡️ Update to use polyfills a942388
    • Rebuild 291f345
    • Reformat using deno fmt bb4e1a7
    • Rebuild 7cf9df0
    • ➕ Add underscore in front of unused variables cff9cfd
    • ➕ Add comment, format f532bcf
    • ✂ Remove irrelevant comment 9924db9
    • ➕ Add deno build 926283c
    • ➕ Add missing space 35ddd0b
    • 🛠 Fixed outDir field in tsconfig.json 8e00a7f
    • 👉 Use newlines instead of semicolons for improved readability. Adds ~3 bytes to bundle size... I think it's worth it ;) fecdabc
    • ✂ Remove unnecessary semicolon b03d079
    • 👉 Use built-in Partial type f2cebee
    • 👕 Rebuild after ESLint cleanup 7bd855a
    • 🛠 Fix ESLint errors, remove unused imports, remove dead code, add TODOs cbcce72
    • ✂ Removed outdated TODO comments 059dec2
    • ✂ Removed unnecessary call to tsc compiler c466801


  • v1.2.2 Changes

    July 04, 2020


    I added Docusaurus v2 to the list of projects using Eta. Since this gives Eta a certain amount of credibility, I decided it deserved to be published quickly.


    • ➕ Add Docusaurus v2 to list of projects that use Eta 1a538f0