Harttle and Jun Yang
a490a70da1
fix: consistent range syntax parsing, #791
2025-01-19 17:58:00 +08:00
Harttle and Jun Yang
a5070af3e4
fix: context for group_by_exp/where_exp/find_exp, #790
2025-01-19 17:53:25 +08:00
Jun Yang and GitHub
25ef104446
fix: enumerate plain objects in where/where_exp, #785 ( #788 )
2025-01-04 23:41:25 +08:00
Harttle and Jun Yang
59cf3c08db
fix: preserveTimezones support for RFC2822 date, #784
2025-01-04 22:46:07 +08:00
Harttle and Jun Yang
5f1a4cfdc9
fix: break/continue stops whole template, #783
2025-01-04 22:15:39 +08:00
James and GitHub
3492ff63f4
feat: static variable analysis ( #770 )
...
* feat: static variable analysis
* Accept any iterable from `children`, `arguments`, etc.
* Test analysis of standard tags
* Use `TagToken.tokenizer` instead of creating a new one
* Test analysis of netsted tags
* Group variables by their root value
* Test analysis of nested globals and locals
* Analyze included and rendered templates WIP
* Use existing tokenizer when constructing `Hash`
* Improve test coverage
* Analyze variables from `layout` and `block` tags
* Test analysis of Jekyll style includes
* Handle variables that start with a nested variable
* Async analysis
* Test non-standard tag end to end
* Implement convenience analysis methods on the `Liquid` class
* More analysis convenience methods
* Accept string or template array
* Draft static analysis docs
* Deduplicate variables names
* Fix isolated scope global variable map
* Coerce variables to strings instead of extending String
* Private map instead of extending Map
* Fix e2e test
* Tentatively implement analysis of aliased variables
* Fix nested variable segments array
* Update docs sidebar
2024-12-28 21:35:28 +08:00
Harttle and Jun Yang
35a84421a6
feat: size, first, last support arraylike objects, #781
2024-12-28 16:10:06 +08:00
Harttle and Jun Yang
e3ef574674
fix: inconsistent continue behaviour, fixes #779
2024-12-22 16:32:08 +08:00
Harttle
2af297f81a
fix: memoryLimit doesn't work in for tag, #776
2024-12-22 15:46:56 +08:00
Harttle and Jun Yang
9107eb1b93
feat: support Jekyll style where, #768
2024-11-17 21:33:38 +08:00
Yang Jun
0b195b21eb
test: case for "." path handling
2024-11-12 23:59:40 +08:00
Yang Jun
d705888c8d
feat: expose FilterToken to filter this, #762
2024-10-16 22:07:25 +08:00
Yang Jun
86f6bf0d31
fix: expose originalError from LiquidError, #742
2024-08-29 11:37:56 +08:00
Yang Jun
62bb20e433
test: refactor test:demo script into demo/*/test.sh
2024-08-29 01:30:25 +08:00
Yang Jun
3eb307ad86
test: CI test for demos
2024-08-28 00:31:59 +08:00
Yang Jun
ce84cd6f43
fix: ESM bundle for Node.js, #739
2024-08-28 00:31:59 +08:00
Yang Jun
68387c31ea
fix: "filter is not a function" for uniq
2024-08-23 21:27:53 +08:00
Yang Jun
2d59cff0a6
fix: memory limit issue for join filter, fix #737
2024-08-23 21:27:53 +08:00
Jun Yang and GitHub
e941378535
docs: add internal types in apidoc ( #734 )
...
* docs: add internal types in apidoc
* chore: downgrade package-lock version for NodeJS 14
* test: test case when performance uses Date.now
2024-08-17 00:55:24 +08:00
Jun Yang and GitHub
c6a6ef1a1f
chore: check node@14 on pipeline, #728 ( #731 )
2024-08-16 00:55:14 +08:00
Yang Jun
21a822348f
fix: parser throws on non-string input, #726
2024-07-25 20:06:12 +08:00
Jun Yang and GitHub
e4aeb023fd
feat: locale support for date filter, #567 ( #723 )
2024-07-22 00:39:44 +08:00
Yang Jun
e443068cb9
feat: DoS prevention, #250
2024-07-09 22:51:11 +08:00
Harttle
df27ac6947
feat: support in-memory template mapping, inspired by @jg-rp #714
2024-07-08 02:25:25 +08:00
Harttle
22b5a12333
fix: report error for malformed else/elsif/endif/endfor, #713
2024-07-05 01:23:33 +08:00
Jun Yang and GitHub
3b5627b040
feat: support catching all errors, #220 ( #710 )
2024-06-17 22:48:57 +08:00
a0ea372764
docs: fix some spelling ( #708 )
...
* spelling: according
Signed-off-by: Josh Soref <[email protected] >
* spelling: asynchronously
Signed-off-by: Josh Soref <[email protected] >
* spelling: background
Signed-off-by: Josh Soref <[email protected] >
* spelling: camel
Signed-off-by: Josh Soref <[email protected] >
* spelling: cannot
Signed-off-by: Josh Soref <[email protected] >
* spelling: case-sensitive
Signed-off-by: Josh Soref <[email protected] >
* spelling: comparison
Signed-off-by: Josh Soref <[email protected] >
* spelling: demos
Signed-off-by: Josh Soref <[email protected] >
* spelling: forloop
Signed-off-by: Josh Soref <[email protected] >
* spelling: formatters
Signed-off-by: Josh Soref <[email protected] >
* spelling: github
Signed-off-by: Josh Soref <[email protected] >
* spelling: guidelines
Signed-off-by: Josh Soref <[email protected] >
* spelling: hashes
Signed-off-by: Josh Soref <[email protected] >
* spelling: https
Signed-off-by: Josh Soref <[email protected] >
* spelling: javascript
Signed-off-by: Josh Soref <[email protected] >
* spelling: keep
Signed-off-by: Josh Soref <[email protected] >
* spelling: natural
Signed-off-by: Josh Soref <[email protected] >
* spelling: neither
Signed-off-by: Josh Soref <[email protected] >
* spelling: no longer
Signed-off-by: Josh Soref <[email protected] >
* spelling: nonexistent
Signed-off-by: Josh Soref <[email protected] >
* spelling: output
Signed-off-by: Josh Soref <[email protected] >
* spelling: polymorphism
Signed-off-by: Josh Soref <[email protected] >
* spelling: precache
Signed-off-by: Josh Soref <[email protected] >
* spelling: programmatically
Signed-off-by: Josh Soref <[email protected] >
* spelling: punctuation
Signed-off-by: Josh Soref <[email protected] >
* spelling: registration
Signed-off-by: Josh Soref <[email protected] >
* spelling: rendered
Signed-off-by: Josh Soref <[email protected] >
* spelling: synchronously
Signed-off-by: Josh Soref <[email protected] >
* spelling: thrown
Signed-off-by: Josh Soref <[email protected] >
* spelling: trimmed
Signed-off-by: Josh Soref <[email protected] >
* spelling: unbalanced
Signed-off-by: Josh Soref <[email protected] >
* chore: use example.com
* chore: fix reference for sidebar.registration
---------
Signed-off-by: Josh Soref <[email protected] >
Co-authored-by: Harttle <[email protected] >
2024-06-17 17:19:46 +08:00
Adam Tanner and GitHub
a7da93ff0f
fix: use drop valueOf when evaluated as condition ( #705 )
2024-06-05 08:28:21 +08:00
55e144a029
fix: isComparable full interface check ( #701 )
...
* Improve isComparable function to ensure full Comparable interface implementation
* Deleted trailing commas
---------
Co-authored-by: Guillermo Casal Caro <[email protected] >
2024-05-24 10:35:49 +08:00
0983f2c420
fix: allow liquidMethodMissing to return any supported value type ( #698 )
...
* fix: allow liquidMethodMissing to return any supported value type
* Update src/drop/drop.ts
Co-authored-by: Jun Yang <[email protected] >
---------
Co-authored-by: Jun Yang <[email protected] >
2024-05-22 12:35:46 +08:00
Yang Jun
47ddc1193b
feat: slugify filter from Jekyll, #443
2024-05-13 23:54:07 +08:00
Yang Jun
50253a98ca
feat: array_to_sentence_string and number_of_words filters from Jekyll, #443
2024-05-13 00:38:52 +08:00
Yang Jun
b12eb8ab4b
feat: escape filters from Jekyll, #443
2024-05-12 15:05:36 +08:00
Yang Jun
4955e75be7
feat: date filters from Jekyll
2024-05-09 23:37:27 +08:00
Yang Jun
842b45c96a
feat: jsonify, inspect, to_integer, normalize_whitespace filters
2024-05-06 21:10:27 +08:00
Yang Jun and Jun Yang
2b630353c4
fix: case/when array equality, #673
2024-04-28 23:17:01 +08:00
Yang Jun and Jun Yang
8c7cef9f95
feat: introduce where_exp filter from Jekyll
2024-04-28 23:17:01 +08:00
Max Medve and GitHub
490ff4309c
fix: Allow lenientIf for multiple operands (issue #682 ) ( #683 )
...
* allow `lenientIf` for multiple operands
* update tests
2024-04-21 16:04:38 +08:00
Yang Jun and Jun Yang
e09657c52b
fix: allow %Z for TimezoneDate, update docs accordingly #684
2024-04-21 15:57:43 +08:00
Jun Yang
2b713b721d
feat: group_by/group_by_exp/find/find_exp from Jekyll, #443
2024-04-14 19:34:07 +08:00
Jun Yang
258780e9a8
feat: pop/shift/unshift filters from Jekyll
2024-04-14 19:34:07 +08:00
Jun Yang and GitHub
05223c4378
fix: contains regression ( #677 )
...
* fix: `contains` regression on string-like objects, #675
* chore: fix build docs on macos
2024-03-21 23:56:10 +08:00
f816955704
fix: in conditionals, don't render anything after an else branch ( #671 )
...
* fix: only render the first 'else' template in the case of multiples
* fix: empty else block and cases with when conditions
* fix: don't render elsif after else
* chore: Update src/tags/unless.ts
* chore: Update src/tags/if.ts
* chore: Update src/tags/case.ts
---------
Co-authored-by: Jun Yang <[email protected] >
2024-02-18 13:30:16 +08:00
629d958b86
feat: Array sum filter ( #661 )
...
* feat(filters): add array sum filter
* docs(filters): array sum filter
* docs: update versoin number in source/filters/sum.md
---------
Co-authored-by: Jun Yang <[email protected] >
2023-12-19 20:05:15 +08:00
Harttle
dd7616acb9
fix: allow unicode to be identifiers, fixes #655
2023-11-04 21:33:29 +08:00
Francisco Soto and Jun Yang
88aa63fd58
fix: handle windows newlines on newline_to_br and strip_newlines
2023-08-28 21:08:05 +08:00
Harttle
45adbd7008
fix: map filter allow nil results in strict mode, fixes #647
2023-08-24 00:20:57 +08:00
Jun Yang and GitHub
660d9be55f
feat: more flexible squared property read expression, fixes #643 ( #646 )
...
* fix: more flexible squared property read expression, fixes #643
* fix: unecessary error wrapping in browser bundles
* style: update code style and types
* perf: use token.value when evalToken
2023-08-23 00:45:49 +08:00
Francisco Soto and Jun Yang
dc6a301387
fix: for throws undefined var with a null value with strictVariables
2023-08-19 23:54:32 +08:00
Francisco Soto and Jun Yang
b8e7e2d946
fix: case should allow multiple values separated by or
...
This is supported by Shopify liquid.
2023-08-19 23:52:24 +08:00