3cd024d652
fix: path traversal vulnerability, #851 ( #855 )
...
* Fix Path Traversal fallback
* Update loader.ts
Fixed nested
* Update loader.ts
padding fix
* refactor: reuse root enforcing
* docs: update test case and docs
---------
Co-authored-by: MorielHarush <[email protected] >
2026-03-08 02:36:09 +08:00
Loo Rong Jie and GitHub
955b7971c0
Support having new line and other whitespace after include filename ( #834 )
2025-11-11 13:58:12 +08:00
Omri Rosner and GitHub
86fc135d9e
feat(filters): Add base64_encode and base64_decode filters for Shopify compatibility ( #828 )
...
* feat(filters): add base64 encode and decode
* fix: use Object.defineProperty for cross-platform btoa/atob mocking
* docs(filters): update docs
* docs(filters): update version
2025-10-27 22:40:31 +08:00
Yang Jun and GitHub
e55128850e
feat: allow context access in liquidMethodMissing, #808 ( #820 )
2025-10-06 18:34:08 +08:00
Yang Jun and GitHub
e8e502c585
fix: math filters coerce invalid string to 0, #813 ( #819 )
2025-10-06 18:31:43 +08:00
Yang Jun and GitHub
025c40f0f2
fix: block.super with strictVariables, #806 ( #807 )
2025-05-15 01:47:57 +08:00
Bruno Carvalho and GitHub
0deb93eeae
feat: add find_index, has, and reject filters ( #799 )
...
* feat: add find_index, has, and reject filters
* Minor tweaks
* Change semantics of jekyllStyle, add more tests
* Some docs improvements
2025-02-23 22:57:17 +08:00
Harttle and Yang Jun
38a0f510b0
fix: empty tagToken.args since 10.20.0, fixes #796
2025-02-09 22:49:40 +08:00
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