Harttle and harttle
8894cbfe6e
fix: cache ongoing parseFile() calls, fixes #416
2021-10-16 21:07:48 +08:00
Harttle and harttle
9cfa43b8ae
fix: hardcoded '/' in normalized options.fs, fixes #412 , #408
...
Changes including:
- will not call fs.resolve when normalizing `fs`
- removed hardcoded `/`
- mandatory `fs.dirname` for relative reference
- mandatory `fs.sep`, defaults to '/'
2021-10-16 12:10:55 +08:00
Harttle
1de6adf308
test: cases for parse(<tpl>, <relative filepath>), #395
2021-10-10 20:37:26 +08:00
Harttle
822ba0be0f
fix: skip root check for renderFile()
2021-10-06 18:38:58 +08:00
Harttle
a3455ebd0b
feat: relativeReference for render/include/layout, #395
...
- `relativeReference` is enabled by default, set to `false` to disable
- Referenced files are still constrained within root/partias/layouts
- fix: relative filenames are not constrained (which allows arbitrary filesystem read)
Example Usage:
{% render "../foo/bar.html" %}
Note:
../foo/bar.html' should also be within `partials` (or `root` if `partials` not set)
2021-10-06 17:36:37 +08:00
harttle
afeef1d745
fix: renderToNodeStream() now emit 'error' event instead of throw
2021-10-03 22:32:00 +08:00
harttle
68c4cfcfb6
feat: renderFileToNodeStream(filepath, scope)
2021-10-03 21:21:25 +08:00
Harttle and harttle
4358c9630f
test: coverage to 100%
2021-10-01 15:55:31 +08:00
harttle
24f5346084
perf: improve performance by 4x by simplified parseFile
...
- previously deprecated `getTemplate()` and `getTemplateSync()` not no longer supported
- `opts` no longer support dynamic set in `parseFile()`, `renderFile()` arguments
2021-09-27 23:04:41 +08:00
harttle
2f059f6a25
feat: support filters in if/unless/case, see #287
2021-02-12 22:22:41 +08:00
Jason Etcovitch and Jun Yang
20f559e545
fix: default to precedence 1 for custom operators
2021-02-05 23:57:36 +08:00
Jason Etcovitch and Jun Yang
befc33c4eb
feat: create trie programmatically in options
2021-02-04 09:11:28 +08:00
Jason Etcovitch and Jun Yang
8734e2e6ce
feat: rename to defaultOperators and Operators
2021-02-04 09:11:28 +08:00
Jason Etcovitch and Jun Yang
18055c8855
test: add LiquidOptions#operators test
2021-02-04 09:11:28 +08:00
Alex de Wergifosse and Jun Yang
b8e4b3337b
test: add tests for keepOutputType option
2020-12-16 10:20:10 +08:00
harttle
117673a725
style: make eslint check .ts files
2020-12-08 00:24:07 +08:00
sschuldenzucker and Jun Yang
6f2b24f7ca
implement lenientIf for the unless tag, too
2020-12-06 22:58:08 +08:00
sschuldenzucker and Jun Yang
768fb79e32
Implement lenientIf option ( resolve #265 ; default off)
...
See description of the option in liquid-options.ts.
2020-12-06 22:58:08 +08:00
sschuldenzucker and Jun Yang
c920ebb282
fix test: don't pass {} for Context
2020-12-06 22:58:08 +08:00
harttle
72ee7b4c1e
feat: support jsTruthy, #255 #257
2020-10-08 13:11:02 +08:00
harttle
e36f3ff291
feat: async filters, closes #232
2020-06-25 12:30:56 +08:00
Martin Schuster and Jun Yang
a93f11d25a
fix: respect cache render options
2020-04-03 10:42:32 +08:00
harttle
d2d6a38235
perf: introduce AST to avoid reparse
2020-03-15 02:51:25 +08:00
harttle
6de933897e
fix: concurrent write on LRU cache ( #200 )
2020-03-10 01:09:41 +08:00
harttle
2c428221cb
test: cases for TagMap
2020-03-07 00:58:39 +08:00
harttle
61dac49b04
feat: async cache.read()/write(), remove .has()
2020-03-05 01:47:53 +08:00
harttle
6ea6881f08
feat: with & for in render tag, closes #195
2020-03-04 07:08:54 +08:00
harttle
df8a919f71
feat: move filters/tags to instances, fixes #188
2020-03-03 00:02:29 +08:00
harttle
5f9abdc8c6
test: integration cases for opts.fs, see #181
2020-01-04 13:53:08 +08:00
harttle
ba5ff3f41c
feat: full syntax for strftime, close #177
...
- strftime syntax: <flags><width><modifier><conversion>
- new conversions: %n, %t
- fixed conversions: %N
- flags: _ ^ - 0 # :
- modifiers: E, O (ignored)
2019-12-15 02:28:33 +00:00
harttle
2dd43559b5
feat: support require.resolve for lookup, see #168
2019-11-07 18:46:37 +08:00
harttle
b82fa9ed2b
pref: remove await/async from internal async calls
2019-10-26 08:57:33 -05:00
harttle
7fb01ad69a
feat: renderSync, parseAndRenderSync and renderFileSync, see #48
2019-08-26 10:15:43 -05:00
harttle
ae45c4622e
fix: break/continue omitting output before them, #123
...
BREAKING CHANGE: remove default export, now should be used like import
{Liquid} from 'liquidjs'
2019-08-26 10:15:43 -05:00
Patrick Malouin and Jun Yang
edb2cc1f37
Expose fs as an option to override the default implementations
2019-06-27 09:25:17 +08:00
Jun Yang
64e0c876e9
refactor: use camelCase for JavaScript APIs
...
BREAKING CHANGE: Options and method names in JavaScript API are now renamed to cammelCase, for a complete list see #109
2019-03-10 19:21:09 +08:00
harttle
ad0930f152
test: cover parseFilters in template/value.ts
2019-03-06 01:46:35 +08:00
harttle
b4acdb463a
fix: math filters now return number, resolves #110
...
* fix linting
* numbers are no longer fixed:
i.e. {{0.3 | minus 0.1}} now renders as 0.19999
Stick to JavaScript number behavior, see: 8.0.0
2019-02-28 13:02:51 +08:00
harttle
7bee9fc92d
feat: exported Drop interface for #107
...
Deprecate snake_cased options and APIs, sed #109
2019-02-28 00:05:08 +08:00
harttle
53a835ab54
fix( #108 ): remove absolute path in emitted d.ts
2019-02-26 00:43:30 +08:00
harttle
407ac6d0a4
refactor: remove /dist from repo
2019-02-24 23:03:12 +08:00