Yang Jun and GitHub
05c47da46d
refactor: replace shell scripts with JS for cross-platform support ( #875 )
...
Convert bin/ shell scripts to Node.js and npm scripts using shx and npm-run-all2. Remove unused build-icons.sh. Inlined simple scripts (build-docs-liquid, build-apidoc) as npm scripts.
Made-with: Cursor
2026-04-08 01:16:49 +08:00
Yang Jun and GitHub
f41c1fc02f
fix: enforce root containment for renderFile/parseFile lookups ( #870 )
...
Made-with: Cursor
2026-04-07 23:18:53 +08:00
Yang Jun and GitHub
e743da0020
fix: sort and sort_natural filters bypass ownPropertyOnly ( #869 )
...
Use _getFromScope for property access in sort/sort_natural filters to respect the ownPropertyOnly security option, preventing prototype chain traversal that could leak sensitive inherited properties.
Also extract shared sortBy helper, add orderedCompare with nil handling consistent with caseInsensitiveCompare and Ruby Liquid.
Made-with: Cursor
2026-04-07 21:01:20 +08:00
Yang Jun and GitHub
529dd67eeb
fix: use realpath for fs.contains ( #867 )
...
* fix: use realpath for fs.contains
* chore: reset file mode changes
Made-with: Cursor
* fix: Windows compat for contains/containsSync and toLiquidAsync arg order
Made-with: Cursor
2026-04-06 14:40:35 +08:00
Yang Jun and Harttle
95ddefc056
fix: mem limiter for invalid ranges
2026-03-22 10:24:03 +08:00
Yang Jun and GitHub
1b85fdaa9c
docs: update contact in security.md ( #862 )
2026-03-08 15:41:45 +08:00
Yang Jun and GitHub
c7a291b46b
chore: update semantic-release dependencies ( #861 )
2026-03-08 04:00:26 +08:00
Yang Jun and GitHub
eb4683ee3f
chore: update to NPM Trusted Release ( #860 )
2026-03-08 03:35:49 +08:00
Yang Jun and GitHub
f1fc573a65
docs: state differences regarding inspect array/hash, #852 , #853 ( #858 )
2026-03-08 03:14:13 +08:00
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
Yang Jun and GitHub
85233e0568
docs: update testmu sponsor link ( #850 )
2026-02-14 13:54:03 +08:00
Yang Jun and GitHub
02403a1879
docs: Change LambdaTest to TestMu AI ( #848 )
2026-01-19 23:26:49 +08:00
Yang Jun and GitHub
1c6316111d
docs: update docs for operators ( #847 )
2026-01-10 22:09:10 +08:00
Yang Jun and GitHub
71aa1b1998
feat: export error types, resolving #837 ( #840 )
2025-11-22 00:27:44 +08:00
Yang Jun and GitHub
5d953132e8
docs: add lambdatest to sponsors ( #826 )
2025-10-26 15:00:27 +08:00
Yang Jun
d7fa8ba5f1
chore: update node version for release workflow
2025-10-06 22:44:24 +08:00
Yang Jun and GitHub
1b356d350d
chore: fix Github artifact name ( #821 )
2025-10-06 22:32:34 +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
Jun Yang and GitHub
25ef104446
fix: enumerate plain objects in where/where_exp, #785 ( #788 )
2025-01-04 23:41:25 +08:00
Yang Jun
ad039abea0
docs: add Syntax Podcast & Cartelli Emmanuel as contributor
2024-11-12 23:59:40 +08:00
Yang Jun
0b195b21eb
test: case for "." path handling
2024-11-12 23:59:40 +08:00
Yang Jun
28b14901d3
docs: add context json for playground default demo, #764
2024-10-25 21:30:00 +08:00
Yang Jun
d705888c8d
feat: expose FilterToken to filter this, #762
2024-10-16 22:07:25 +08:00
Yang Jun
e5fbdfe434
fix: use cwd to resolve npm partials for Node.JS
2024-08-30 01:08:39 +08:00
Yang Jun
2543461880
fix: use CommonJS bundle to support default export
2024-08-30 01:08:39 +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
Yang Jun
292a93b738
docs: fix liquid snippet lighlight
2024-08-20 09:23:52 +08:00
Yang Jun
5b1658c823
docs: fix styles and escape
2024-08-20 03:35:37 +08:00
Yang Jun
b1f0260dcb
docs: Add WISMOlabs use case into README
2024-08-18 13:44:20 +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
Yang Jun
4548c11406
fix: support for NodeJS 15, fixes #732
2024-08-16 23:40:48 +08:00
Yang Jun
85bd0d35a6
fix: support for NodeJS 14
2024-08-16 01:36:42 +08:00
Yang Jun
f8bb63a1bb
chore: check node 14 on pipeline
2024-08-16 01:36:33 +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
Yang Jun
fad00aa14e
test: edge cases for map fs
2024-07-09 22:51:11 +08:00
Jun Yang and GitHub
3b5627b040
feat: support catching all errors, #220 ( #710 )
2024-06-17 22:48:57 +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
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
18d55929e5
docs: add docs for push filter
2024-04-14 19:34:07 +08:00
Jun Yang
ccd83bc6bd
docs: fix build status badge
2024-03-30 21:23:56 +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
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
Jun Yang and GitHub
bf425c3adb
fix: allow quotes in inline comment tag, fixes #628
2023-07-07 22:48:55 +08:00
Jun Yang
b9f8d85c65
chore: add PR title checker
2023-03-20 23:09:19 +08:00
Jun Yang
2def145cf6
docs: update docs for ownPropertyOnly, #588
2023-03-04 00:21:41 +08:00
Jun Yang
d4e519c4a6
chore: update build badge, coverage to 100%, mv DEFAULT_FMT to defaultOptions
2023-02-23 01:05:54 +08:00
Jun Yang
7f76e1311f
docs: list sponsors & backers separately on liquidjs.com
2023-01-22 21:37:47 +08:00
Jun Yang
fb6a9f8717
fix: type compatible with v9 tag definition, support Context as scope in various render APIs, #570
2022-12-18 12:48:06 +08:00
Jun Yang
5ac3765612
chore: update liquid options to match raw filters
2022-12-12 02:32:50 +08:00
Jun Yang
e6db371519
feat: support disable outputEscape for specific filters, #565
2022-12-12 02:17:18 +08:00
Jun Yang
a2d949209d
docs: doc for timezone parameter of date filter, #553
2022-12-12 01:35:40 +08:00
Jun Yang
d17813ef52
fix: case should render multiple when statements
2022-12-03 00:14:47 +08:00
Jun Yang
46ffe036a8
docs: zh-cn translation for replace_last, remove_last
2022-12-02 23:54:58 +08:00
Jun Yang
b7ab357964
docs: update CHANGELOG
2022-11-27 18:02:07 +08:00
Jun Yang
1380ac931a
refactor: more consistent tags to make it easier to iterate over, #524
2022-11-27 17:29:44 +08:00
Jun Yang
4e1a30a20c
refactor: _evalToken renamed to evalToken
...
BREAKING CHANGE: `evalToken` now returns a generator (LiquidJS async), which is different from `evalToken` in previous LiquidJS versions.
2022-11-27 14:04:02 +08:00
Jun Yang
92992689cd
refactor: Tag class support in registerTag()
2022-11-27 14:04:01 +08:00
Jun Yang
1f6ce7c822
perf: target Node.js 14 for cjs bundle (main entry)
...
BREAKING CHANGE: main entry need Node.js>=14 to run, you can build LiquidJS by your own by using ESM entry.
2022-11-27 14:04:01 +08:00
Jun Yang
7eb621601c
refactor: change ownPropertyOnly default value to true
...
BREAKING CHANGE: `ownPropertyOnly` default value changed to `true`
2022-11-27 14:04:01 +08:00
Jun Yang
ffefd91fbc
refactor: remove toThenable export
...
BREAKING CHANGE: `<liquidjs>.toThenable` is removed, use `<liquidjs>.toPromise` instead
2022-11-27 14:04:01 +08:00
Jun Yang
b115077e12
refactor: remove use of internal Context class in evalValue argument
...
BREAKING CHANGE: `evalValue` won't support `Context` as second argument anymore.
2022-11-27 14:04:01 +08:00
Jun Yang
bb58d3e549
refactor: delay creation of operatorsTrie and hide this implementation
...
BREAKING CHANGE: use `operators` instead of `operatorsTrie` as Tokenizer constructor argument, #500
2022-11-27 14:04:01 +08:00
Jun Yang
ff112a4750
chore: rename filters to snake style, #487
...
BREAKING CHANGE: keys in `<liquidjs>.filters` are now in snake case (instead of camel case), identical to that in Liquid template.
2022-11-27 14:04:00 +08:00
Jun Yang
7a714855df
feat: support timezone offset argument for date filter, #553
2022-11-27 13:46:51 +08:00
Jun Yang and GitHub
71a1dc6e72
docs: update README
2022-10-18 03:06:14 +08:00
Jun Yang and GitHub
375a19b0fd
chore: update funding.yml
2022-10-18 03:01:12 +08:00
Jun Yang and GitHub
4e17fdc3b1
docs: update README.md
2022-10-18 02:41:14 +08:00