squirrelly

Semi-embedded JS template engine that supports helpers, filters, partials, and template inheritance. 4KB minzipped, written in TypeScript ⛺

MIT License

Downloads
120.4K
Stars
636
Committers
10

Bot releases are hidden (Show)

squirrelly - Version 9.1.0

Published by nebrelbug 4 months ago

Commits

  • chore: update np package 28c2df5
  • fix: fix typo in isValidJSIdentifier 45475e9
  • Merge pull request #262 from samuzora/master 426f930
  • fix: check that options.varName is a valid JS identifier 8b1aed9

https://github.com/squirrellyjs/squirrelly/compare/v9.0.0...v9.1.0

squirrelly - Version 9.0.0 Latest Release

Published by nebrelbug over 1 year ago

TL;DR

The main news in this commit is that the settings field in the data object is no longer merged with your configuration. This resolves several security issues.

This may cause changes in the way you use Express.js with Squirrelly, since you'll have to configure caching and the views directory for both Express and Squirrelly separately.

Example:

app.engine("sqrl", Sqrl.renderFile)
eta.configure({ views: "./views", cache: true })
app.set("views", "./views")
app.set("view cache", true)
app.set("view engine", "sqrl")

Commits

  • chore: rebuild & format e1a554b
  • Merge pull request #254 from legobeat/fix-data-config af6018f
  • Don't merge data.settings into the config option c12418a
  • don't pass view options dca7a1e
  • Merge pull request #249 from squirrellyjs/dependabot/npm_and_yarn/qs-6.5.3 d460cc1
  • Merge pull request #234 from squirrellyjs/dependabot/npm_and_yarn/tmpl-1.0.5 ba66a3f
  • Merge pull request #235 from squirrellyjs/dependabot/npm_and_yarn/i-0.3.7 5d5b2fe
  • Bump qs from 6.5.2 to 6.5.3 f51c304
  • Bump i from 0.3.6 to 0.3.7 6400940
  • Merge pull request #248 from squirrellyjs/dependabot/npm_and_yarn/decode-uri-component-0.2.2 cbdd42f
  • Merge pull request #247 from squirrellyjs/dependabot/npm_and_yarn/loader-utils-1.4.2 31833df
  • Merge pull request #245 from squirrellyjs/dependabot/npm_and_yarn/terser-4.8.1 9b8afbe
  • Merge pull request #244 from squirrellyjs/dependabot/npm_and_yarn/jsdom-16.7.0 51dd9be
  • Merge pull request #243 from squirrellyjs/dependabot/npm_and_yarn/ajv-6.12.6 151bbd6
  • Merge pull request #242 from squirrellyjs/dependabot/npm_and_yarn/trim-off-newlines-1.0.3 8321eda
  • Merge pull request #239 from squirrellyjs/dependabot/npm_and_yarn/shelljs-0.8.5 75a8687
  • Merge pull request #232 from squirrellyjs/dependabot/npm_and_yarn/path-parse-1.0.7 c7fd5fe
  • Merge pull request #228 from squirrellyjs/dependabot/npm_and_yarn/normalize-url-4.5.1 5b5259f
  • Merge pull request #226 from squirrellyjs/dependabot/npm_and_yarn/browserslist-4.16.6 e148698
  • Merge pull request #225 from squirrellyjs/dependabot/npm_and_yarn/hosted-git-info-2.8.9 a9bdfe7
  • Merge pull request #224 from squirrellyjs/dependabot/npm_and_yarn/handlebars-4.7.7 021c6a5
  • Merge pull request #221 from squirrellyjs/dependabot/npm_and_yarn/ssri-6.0.2 6235b55
  • Merge pull request #219 from squirrellyjs/dependabot/npm_and_yarn/elliptic-6.5.4 d60d325
  • Merge pull request #216 from squirrellyjs/dependabot/npm_and_yarn/node-notifier-8.0.1 23008f0
  • Merge pull request #215 from squirrellyjs/dependabot/npm_and_yarn/ini-1.3.7 8a6f4fa
  • Merge pull request #213 from squirrellyjs/dependabot/npm_and_yarn/highlight.js-10.4.1 96eb062
  • Bump decode-uri-component from 0.2.0 to 0.2.2 76c15ca
  • Bump loader-utils from 1.4.0 to 1.4.2 9967601
  • Bump terser from 4.6.7 to 4.8.1 ec3ebd6
  • Bump jsdom from 16.4.0 to 16.7.0 20664b9
  • Bump ajv from 6.12.0 to 6.12.6 b037db1
  • Bump trim-off-newlines from 1.0.1 to 1.0.3 19e05ae
  • Bump shelljs from 0.8.4 to 0.8.5 50652e6
  • Bump tmpl from 1.0.4 to 1.0.5 3710f94
  • Bump path-parse from 1.0.6 to 1.0.7 bd9106b
  • Bump normalize-url from 4.5.0 to 4.5.1 44424c7
  • Bump browserslist from 4.9.1 to 4.16.6 09b0dfe
  • Bump hosted-git-info from 2.8.8 to 2.8.9 34476cc
  • Bump handlebars from 4.7.6 to 4.7.7 f862efe
  • Bump ssri from 6.0.1 to 6.0.2 1ee720c
  • Bump elliptic from 6.5.3 to 6.5.4 fdae927
  • Bump node-notifier from 8.0.0 to 8.0.1 8038a7d
  • Bump ini from 1.3.5 to 1.3.7 e30a761
  • Bump highlight.js from 10.1.2 to 10.4.1 df63f2e
  • Re-add CodeShelter badge to README 72d6125
  • Remove badge 5744f06
  • Various work 817f325
  • Create codeql-analysis.yml 07c994d
  • Removed unnecessary build step 27fadf2
  • Add np as a dev dependency 59b4a7f
  • Merge pull request #206 from jmclean-cnexus/master 3d333dd
  • remove dist, add release script, and append dist to .gitignore 8318455

https://github.com/squirrellyjs/squirrelly/compare/v8.0.8...v9.0.0

squirrelly - Version 8.0.8

Published by nebrelbug about 4 years ago

TL;DR

  • Merged a PR by @jmclean-cnexus that fixed the types of FilterFunction
  • @jmclean-cnexus also abstracted some utility functions in containers.ts into container-utils.ts, and wrote accompanying tests 🎉

Commits

  • Rebuild 0383045
  • Format, add specific examples of blocks & filters ad6fe3d
  • Format d158e64
  • Merge pull request #205 from jmclean-cnexus/master 81c09e9
  • update README to include tests tag in contributers as well as reference name 93d2997
  • add test contribution since there are some unit tests in this latest push 56e8685
  • add name to .allcontributors d200f89
  • remove package lock from previous commit and add to .gitignore c1c71d5
  • break out container to be more testable 4ba4f2b
  • Merge pull request #204 from squirrellyjs/all-contributors/add-jmclean-cnexus 4fd4a57
  • docs: update .all-contributorsrc [skip ci] 08c72d2
  • docs: update README.md [skip ci] bf3e9bd
  • Rebuild after FilterFunction type fix 009073d
  • Merge pull request #203 from jmclean-cnexus/bugfix/update-filter-function-type-def db7ef0f
  • remove package-lock b97041c
  • change string type to any type 82fa1bf
  • Allow any number of arguments that are strings 6211864

https://github.com/squirrellyjs/squirrelly/compare/v8.0.7...v8.0.8

squirrelly - Version 8.0.7

Published by nebrelbug about 4 years ago

TL;DR

Mainly minor updates. One important fix by @futurelucas4502 preventing renderFile from erroring if the data argument was undefined or null; see #201.

Commits

  • Merge pull request #202 from squirrellyjs/all-contributors/add-futurelucas4502 a5b40f6
  • docs: update .all-contributorsrc [skip ci] b310830
  • docs: update README.md [skip ci] 9744133
  • Fix link to contributor d15e60a
  • Rebuild to remove carriage returns from map a62f36f
  • Merge pull request #201 from futurelucas4502/master 31d0268
  • Update file handler renderFile function to allow for an undefined data parameter without erroring 4b9e964
  • Update FUNDING.yml e9a023d
  • Fix Travis Node version, eslint-plugin doesn't support v11 386c3aa

Contributors

  • @futurelucas4502
  • @nebrelbug

https://github.com/squirrellyjs/squirrelly/compare/v8.0.6...v8.0.7

squirrelly - Version 8.0.6

Published by nebrelbug about 4 years ago

TL;DR

Nothing exciting here, just a little package cleanup! All our dev dependencies are now up-to-date.

Commits

  • Lint with eslint instead of prettier-standard 4c66bdc
  • chore: remove quickbuild script f15847b
  • Rebuild 8a65881
  • chore: update dev-deps. Modify eslintrc with new version 20f9a3e

https://github.com/squirrellyjs/squirrelly/compare/v8.0.5...v8.0.6

squirrelly - Version 8.0.5

Published by nebrelbug about 4 years ago

TL;DR

This release just contains a few quick README updates.

Commits

  • Update README for easier access to quick resources 9a0ee15
  • Add txAdmin to list of projects using Squirrelly 519e4ef

https://github.com/squirrellyjs/squirrelly/compare/v8.0.4...v8.0.5

squirrelly - Version 8.0.4

Published by nebrelbug about 4 years ago

TL;DR

Changes in this release:

  • Updated development dependencies
  • Squirrelly's XML-escape filter (e) is now applied after all other filters by default. See #189 and #198
    • This is potentially a slightly breaking change, but the chance of it affecting anyone is quite low

Commits

  • Rebuild after dev-dependency update b61f2b0
  • Update dependencies 623dc42
  • Fix tests so XML-escape filter is on the outside 264c230
  • Fix changes in making XML-escape the last filter 1e5d747
  • Apply XML-escape filter after all other filters 0e511f0
  • Merge pull request #197 from squirrellyjs/dependabot/npm_and_yarn/elliptic-6.5.3 f6a4920
  • Bump elliptic from 6.5.2 to 6.5.3 5bb49a7
  • Add Cypress to list of projects using Squirrelly 0d647a1

https://github.com/squirrellyjs/squirrelly/compare/v8.0.3...v8.0.4

squirrelly - Version 8.0.3

Published by nebrelbug over 4 years ago

TL;DR

Just updated the README to add a note about the contributors to Version 7 (who unfortunately aren't listed in the README) and removed the badge for David-DM (which has had downtime problems).

Commits

  • Update README - add note about v7 contributors, remove David-DM badge e2f97a7

https://github.com/squirrellyjs/squirrelly/compare/v8.0.2...v8.0.3

squirrelly - Version 8.0.2

Published by nebrelbug over 4 years ago

TL;DR

This commit merged #195 (which fixes a compilation error thrown in newer versions of TypeScript), updated dev dependencies, and updated some unit tests to import functions from index.ts (to improve test coverage)

Commits

  • Rebuilt 4ae327b
  • Update some tests to import from index, to increase coverage 2092ec8
  • Upgrade dev dependencies 57a9a9d
  • Merge pull request #195 from vinothbabu/master ffd9c9e
  • Added // eslint-disable-next-line no-extra-boolean-cast to bypass the warnings. 0c534bc
  • Revert "check if the function exists in the native object." e36ad3a
  • check if the function exists in the native object. 4b9944d
  • check if the native prototype method exists by evaluating it. 139a9d0

https://github.com/squirrellyjs/squirrelly/compare/v8.0.1...v8.0.2

squirrelly - Version 8.0.1

Published by nebrelbug over 4 years ago

Commits

  • Update README 0875563
  • Add 'examples' to npm release 2a0dc7d

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0...v8.0.1

squirrelly - Version 8

Published by nebrelbug over 4 years ago

Version 8 is now stable!

Thank you to all those who helped with development or gave feedback!

Documentation is at https://squirrelly.js.org

squirrelly -

Published by nebrelbug over 4 years ago

TL;DR

This is the last prerelease before a stable release! I fixed a parsing issue (where {{! /* stuff */}}, with the */ directly in front of the }}, would fail. I also added a default RunKit template and "try on runkit" badge, and rearranged the benchmarks to move Squirrelly higher up.

Commits

  • chore: rebuild 44ac75c
  • Update benchmarks page c8335a5
  • Fix issue where */ directly before }} led to parse error 7a3e842
  • Updated examples, added default RunKit page and try on RunKit badge 9bb21dd

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.11...v8.0.0-beta.12

squirrelly - Version 8: Beta 11 (BREAKING CHANGES)

Published by nebrelbug over 4 years ago

TL;DR

The biggest change in this release was changing the helper prefix from ~ to @. Your helpers will break with this beta release, until you either update your templates or the configuration (as of this version, you can customize prefixes).

Additional changes:

  • Special RegExp characters in delimiters are now escaped
  • Additional tests
  • Support for rmWhitespace in the config
  • Removal of the custom prefix tag ? (it was redundant and unnecessary)

Check out the new release of Squirrelly's docs at https://squirrelly.js.org!

Commits

  • Update credit 1e4e168
  • Fix README.md badges d26c3ad
  • Rebuilt 058c6d5
  • Add RegExp test for performance f8398ea
  • Fix support for multi-char prefixes 7884839
  • RegEx-escape tags, prefixes, fix multi-char prefixes 95bb46f
  • XML-escape '>' 17675b0
  • todo note 375cd48
  • Add parse tests for comments, template literals 44bf184
  • autoTrim tests a897a5d
  • Add additional tests for blockless helpers, rmWhitespace, and default filters baed1bd
  • Removed unnecessary custom prefix ('?') functionality d306df4
  • Rebuilt 0f5626d
  • Custom prefix support c1e7477
  • Merge branch 'rmWhitespace' into helper-prefix-@ e1b0b85
  • Add rmWhitespace config option 6e4f9f6
  • BREAKING: change helper prefix to @ from ~ ca0cd95
  • Merge pull request #187 from squirrellyjs/goodbye-greenkeeper 079974a
  • chore(readme): remove Greenkeeper badge d04b45a
  • Clarify that Eta is an alternative to EJS d556202
  • Add Eta links to README feea583
  • Update dev deps e4ed55b
  • Merge pull request #175 from squirrellyjs/greenkeeper/rollup-2.3.5 dd27b27
  • Merge pull request #177 from squirrellyjs/greenkeeper/lint-staged-10.1.3 6658eb4
  • Merge pull request #176 from squirrellyjs/greenkeeper/typedoc-0.17.4 8f87a18
  • Merge pull request #172 from squirrellyjs/greenkeeper/rollup-plugin-prettier-1.0.0 2a2e404
  • chore(package): update rollup to version 2.4.0 be7256d
  • chore(package): update lint-staged to version 10.1.3 da56272
  • chore(package): update lockfile yarn.lock 26b233f
  • chore(package): update rollup-plugin-prettier to version 2.0.0 7fd410a
  • Merge pull request #170 from squirrellyjs/greenkeeper/rollup-plugin-prettier-0.7.0 8418b1c
  • chore(package): update lockfile yarn.lock 53eb49f
  • chore(package): update rollup-plugin-prettier to version 0.7.0 06f3cdc
  • chore(package): update typedoc to version 0.17.4 182937d

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.10...v8.0.0-beta.11

squirrelly - Version 8: Beta 10

Published by nebrelbug over 4 years ago

TL;DR

  • Updated dependencies
  • Fixed bug where whitespace for the first and last strings was incorrectly trimmed
  • Refactor parsing: throw errors with unclosed strings or comments, more accurate parsing of the same
  • Only replace newlines and carriage returns of strings, not everything (so we can have a \n after exec tag
  • Update benchmarks page

Commits

  • Update dependencies 61af67f
  • Merge pull request #168 from squirrellyjs/greenkeeper/eslint-config-prettier-6.10.1 ce7f526
  • Merge pull request #167 from squirrellyjs/greenkeeper/@typescript-eslint/parser-2.26.0 0cced39
  • Merge pull request #165 from squirrellyjs/greenkeeper/@types/node-13.11.0 210109c
  • Merge pull request #166 from squirrellyjs/greenkeeper/lint-staged-10.1.1 057229e
  • Merge pull request #159 from squirrellyjs/greenkeeper/ts-node-8.7.0 15747a4
  • Merge pull request #162 from squirrellyjs/greenkeeper/rollup-plugin-typescript2-0.27.0 c687808
  • Update tests (add errors), benchmark 8619fb0
  • Update benchmarks page 4c51b99
  • Refactor parsing 33b93cb
  • chore(package): update lockfile yarn.lock 9b7cd41
  • chore(package): update @types/node to version 13.11.0 2bc3ea1
  • chore(package): update lint-staged to version 10.1.1 b230cd5
  • chore(package): update @typescript-eslint/parser to version 2.26.0 d802613
  • chore(package): update lockfile yarn.lock ef0611c
  • chore(package): update rollup-plugin-typescript2 to version 0.27.0 7fbe43b
  • Update npm packages dba23eb
  • Fix bug where leading whitespace was incorrectly trimmed 03459a5
  • chore(package): update eslint-config-prettier to version 6.10.1 709418d
  • chore(package): update ts-node to version 8.7.0 643134b

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.9...v8.0.0-beta.10

squirrelly - Version 8: Beta 9

Published by nebrelbug over 4 years ago

TL;DR

This release contains:

  • A complete rewrite of how async works
  • Updated dev dependencies
  • Code cleanup
  • Plugins support

Commits

  • Reinstalled dependencies dc897a2
  • Update TODO items 49acc37
  • Merge pull request #157 from squirrellyjs/greenkeeper/eslint-config-standard-with-typescript-15.0.0 60ffd9b
  • chore(package): update lockfile yarn.lock d319d5c
  • chore(package): update eslint-config-standard-with-typescript to version 15.0.0 540dc37
  • Update dev dependencies c9b95a7
  • Merge pull request #156 from squirrellyjs/greenkeeper/@typescript-eslint/parser-2.24.0 fbddaac
  • Merge pull request #155 from squirrellyjs/greenkeeper/rollup-2.0.6 8bec9c2
  • Merge pull request #152 from squirrellyjs/dependabot/npm_and_yarn/acorn-6.4.1 74ac815
  • Merge pull request #153 from squirrellyjs/greenkeeper/typedoc-0.17.0 bbdcf56
  • Rebuilt 611c1d7
  • Format with Prettier 51d1698
  • Extract async support check to separate function f20d493
  • chore(package): update lockfile yarn.lock 7f28c63
  • chore(package): update @typescript-eslint/parser to version 2.24.0 777b53e
  • chore(package): update lockfile yarn.lock e0f74fc
  • chore(package): update typedoc to version 0.17.0 0af726b
  • Bump acorn from 6.4.0 to 6.4.1 329d3d0
  • chore(package): update lockfile yarn.lock 83c997a
  • chore(package): update rollup to version 2.0.6 8e547ce
  • Explicit async, plugins work. 8b2432b
  • Update benchmarks page, README a93cd9b

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.8...v8.0.0-beta.9

squirrelly - Version 8: Beta 8

Published by nebrelbug over 4 years ago

TL;DR

  • More tests
  • Configuration object stores templates, filters, etc.
  • Repo cleanup

Commits

  • Change TypeDoc theme to default from minimal 5ccf7e9
  • Add additional test for includeFile error 0b1f790
  • Add tests for render err w/ unknown filters, helpers efc5668
  • Update env to include storage, fix copyProps, update browser-tests 49ad8d1
  • Merge branch 'master' of https://github.com/squirrellyjs/squirrelly Pulled from master 36cef76
  • Removed unecessary comments fd1d55c
  • Merge pull request #147 from squirrellyjs/all-contributors/add-ichiriac e1c9aa5
  • docs: update .all-contributorsrc [skip ci] 6df69b6
  • docs: update README.md [skip ci] 33ab446
  • Add 'funding' field to package.json 4441960
  • Create FUNDING.yml c726961

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.7...v8.0.0-beta.8

squirrelly - Version 8: Beta 7

Published by nebrelbug over 4 years ago

TL;DR

Non-vital changes like updating README and adding "sideEffects": false to package.json

Commits

  • Add 'sideEffects': false to package.json 95db6d9
  • Updated link to 'read more' on README de9fe63

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.6...v8.0.0-beta.7

squirrelly - Version 7.9.2

Published by nebrelbug over 4 years ago

Commits

  • Update link to read more about v8 906433f
  • Update .gitignore to include build, docs so switching between v7 and master doesn't err 1b87ba3

https://github.com/squirrellyjs/squirrelly/compare/v7.9.1...v7.9.2

squirrelly - Version 8: Beta 6

Published by nebrelbug over 4 years ago

TL;DR

  • Switched from TSLint to ESLINT
  • Add option to be in global scope, useScope helper
  • Code organization

Commits

  • Update README cd9f22b
  • Add to TODO.md 048f82e
  • Extract object merge into copyProps func in utils 3329c6d
  • Switch from TSLint to ESLint, function reorganization, rename types, hasOwnProp function 5bbeb06
  • Add useWith config opt, bad syntax error, env.l errors, updated getConfig, extract filter & block errs into function 1ad0731
  • Fix script link to Squirrelly dist 2fbff69

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.5...v8.0.0-beta.6

squirrelly - Version 8: Beta 5

Published by nebrelbug over 4 years ago

TL;DR

  • Fix 'typings field in package.json'
  • Add @clitetailor as a contributor
  • Add browser-benchmarks page for testing during development

Commits

  • Merge branch 'master' of https://github.com/squirrellyjs/squirrelly 3203e53
  • Fix incorrect link to types e6da19a
  • Update URL-encoding on benchmarks page c975665
  • Merge pull request #145 from squirrellyjs/all-contributors/add-clitetailor 87664ce
  • docs: update .all-contributorsrc [skip ci] 2957c28
  • docs: update README.md [skip ci] 0da2004
  • Add browser benchmarks page 43d354f

https://github.com/squirrellyjs/squirrelly/compare/v8.0.0-beta.4...v8.0.0-beta.5