diff --git a/.all-contributorsrc b/.all-contributorsrc index a848776299..f7c38afd67 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -483,7 +483,8 @@ "avatar_url": "https://avatars.githubusercontent.com/u/1557563?v=4", "profile": "http://santialbo.com", "contributions": [ - "doc" + "doc", + "code" ] }, { @@ -702,6 +703,51 @@ "contributions": [ "code" ] + }, + { + "login": "Neamar", + "name": "Matthieu Bacconnier", + "avatar_url": "https://avatars.githubusercontent.com/u/536844?v=4", + "profile": "https://neamar.fr", + "contributions": [ + "doc" + ] + }, + { + "login": "timvandam", + "name": "Tim van Dam", + "avatar_url": "https://avatars.githubusercontent.com/u/35376389?v=4", + "profile": "https://tovd.dev", + "contributions": [ + "code" + ] + }, + { + "login": "edh649", + "name": "Ed Hanton", + "avatar_url": "https://avatars.githubusercontent.com/u/527604?v=4", + "profile": "https://github.com/edh649", + "contributions": [ + "doc" + ] + }, + { + "login": "gurdiga", + "name": "Vlad GURDIGA", + "avatar_url": "https://avatars.githubusercontent.com/u/53922?v=4", + "profile": "https://gurdiga.com", + "contributions": [ + "doc" + ] + }, + { + "login": "StreakingMan", + "name": "裸奔狂甩丁丁", + "avatar_url": "https://avatars.githubusercontent.com/u/30397306?v=4", + "profile": "https://www.streakingman.com", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca456ee5e6..0e23c1cbf3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,13 +28,13 @@ jobs: - name: Build run: npm run build - name: Archive artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dist-${{ inputs.os }} path: dist - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: - name: npm-logs + name: npm-logs-${{ inputs.os }} path: ~/.npm/_logs diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 1aa321924e..af777f01ca 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: '20' + node-version: '22' - name: Install dependencies run: npm ci - name: Test @@ -22,7 +22,7 @@ jobs: with: github-token: ${{ secrets.GITHUB_TOKEN }} - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: npm-logs diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d967d2f5f7..b1d09df01d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -24,7 +24,7 @@ jobs: branch: gh-pages folder: docs/public - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: npm-logs diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5efd5a9969..23b031950a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,7 +18,7 @@ jobs: - name: Lint run: npm run lint - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: npm-logs diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 601738a274..aeee66c7e5 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -19,14 +19,14 @@ jobs: with: node-version: '20' - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: dist-${{ inputs.os }} path: dist - name: Check Performance run: npm run perf:diff - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: npm-logs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ffaa871a2a..7b13b8fdf8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: npx semantic-release --dry-run fi - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: name: npm-logs diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d4583987e8..ca4939661a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,15 +34,40 @@ jobs: - name: Install dependencies run: npm ci - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: dist-${{ matrix.os }} path: dist - name: Run Test run: TZ=${{ matrix.timezone }} npm test - name: Archive npm failure logs - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: failure() with: - name: npm-logs + name: test-npm-logs-${{ matrix.os }}-${{ matrix.timezone }}-${{ matrix.node-version }} + path: ~/.npm/_logs + demo: + name: Demo Check + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 22 + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + name: dist-ubuntu-latest + path: dist + - name: Run Demo Test + run: npm run test:demo + - name: Archive npm failure logs + uses: actions/upload-artifact@v4 + if: failure() + with: + name: demo-npm-logs path: ~/.npm/_logs diff --git a/CHANGELOG.md b/CHANGELOG.md index a2a0c02356..068378e2f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,110 @@ +## [10.21.1](https://github.com/harttle/liquidjs/compare/v10.21.0...v10.21.1) (2025-05-14) + + +### Bug Fixes + +* block.super with strictVariables, [#806](https://github.com/harttle/liquidjs/issues/806) ([#807](https://github.com/harttle/liquidjs/issues/807)) ([025c40f](https://github.com/harttle/liquidjs/commit/025c40f0f2f13efa62193c61d2fa56943917ac3c)) + +# [10.21.0](https://github.com/harttle/liquidjs/compare/v10.20.3...v10.21.0) (2025-02-23) + + +### Features + +* add find_index, has, and reject filters ([#799](https://github.com/harttle/liquidjs/issues/799)) ([0deb93e](https://github.com/harttle/liquidjs/commit/0deb93eeae4f530901e9a7d099bcc47207ad7385)) + +## [10.20.3](https://github.com/harttle/liquidjs/compare/v10.20.2...v10.20.3) (2025-02-09) + + +### Bug Fixes + +* empty tagToken.args since 10.20.0, fixes [#796](https://github.com/harttle/liquidjs/issues/796) ([38a0f51](https://github.com/harttle/liquidjs/commit/38a0f510b0a14baf35a368e9f07b536253394d06)) + +## [10.20.2](https://github.com/harttle/liquidjs/compare/v10.20.1...v10.20.2) (2025-01-19) + + +### Bug Fixes + +* consistent range syntax parsing, [#791](https://github.com/harttle/liquidjs/issues/791) ([a490a70](https://github.com/harttle/liquidjs/commit/a490a70da1ca2b479065c6618207bf4789db6b4f)) +* context for group_by_exp/where_exp/find_exp, [#790](https://github.com/harttle/liquidjs/issues/790) ([a5070af](https://github.com/harttle/liquidjs/commit/a5070af3e4b4d1ae3b6398c6638b130e50e1cf6e)) + +## [10.20.1](https://github.com/harttle/liquidjs/compare/v10.20.0...v10.20.1) (2025-01-04) + + +### Bug Fixes + +* break/continue stops whole template, [#783](https://github.com/harttle/liquidjs/issues/783) ([5f1a4cf](https://github.com/harttle/liquidjs/commit/5f1a4cfdc9d6bde31ce86ddc88b8f4bdf52f7893)) +* enumerate plain objects in where/where_exp, [#785](https://github.com/harttle/liquidjs/issues/785) ([#788](https://github.com/harttle/liquidjs/issues/788)) ([25ef104](https://github.com/harttle/liquidjs/commit/25ef104446731f4b6cb3a2e78f4d3b99efb635f4)) +* preserveTimezones support for RFC2822 date, [#784](https://github.com/harttle/liquidjs/issues/784) ([59cf3c0](https://github.com/harttle/liquidjs/commit/59cf3c08dbc5f2e5b109ffcb5375ae738b5ac386)) + +# [10.20.0](https://github.com/harttle/liquidjs/compare/v10.19.1...v10.20.0) (2024-12-28) + + +### Features + +* `size`, `first`, `last` support arraylike objects, [#781](https://github.com/harttle/liquidjs/issues/781) ([35a8442](https://github.com/harttle/liquidjs/commit/35a84421a622b3a6657946b9395839da2b8e154a)) +* static variable analysis ([#770](https://github.com/harttle/liquidjs/issues/770)) ([3492ff6](https://github.com/harttle/liquidjs/commit/3492ff63f40abb8ff8adb8b6b0ce29408f99e19b)) + +## [10.19.1](https://github.com/harttle/liquidjs/compare/v10.19.0...v10.19.1) (2024-12-22) + + +### Bug Fixes + +* add sideEffects=false to package.json ([734eb52](https://github.com/harttle/liquidjs/commit/734eb52b987d46d33cf8f03281a3773a0f1f0e4a)) +* inconsistent continue behaviour, fixes [#779](https://github.com/harttle/liquidjs/issues/779) ([e3ef574](https://github.com/harttle/liquidjs/commit/e3ef574674c5a21a37b3ffc929f514c8a3d0b866)) +* memoryLimit doesn't work in for tag, [#776](https://github.com/harttle/liquidjs/issues/776) ([2af297f](https://github.com/harttle/liquidjs/commit/2af297f81ac465feb3277ba7b92f7236409370b0)) + +# [10.19.0](https://github.com/harttle/liquidjs/compare/v10.18.0...v10.19.0) (2024-11-17) + + +### Features + +* allow drops in property access ([#769](https://github.com/harttle/liquidjs/issues/769)) ([11f013b](https://github.com/harttle/liquidjs/commit/11f013bf249f1366306c1f0d728d45a95eb2df1a)) +* support Jekyll style `where`, [#768](https://github.com/harttle/liquidjs/issues/768) ([9107eb1](https://github.com/harttle/liquidjs/commit/9107eb1b93f5c11dca0ee0f0d2c1c8243849c3ab)) + +# [10.18.0](https://github.com/harttle/liquidjs/compare/v10.17.0...v10.18.0) (2024-10-16) + + +### Features + +* expose FilterToken to filter `this`, [#762](https://github.com/harttle/liquidjs/issues/762) ([d705888](https://github.com/harttle/liquidjs/commit/d705888c8d46d9dd95fcb41c0fb7bfbaf647eddd)) + +# [10.17.0](https://github.com/harttle/liquidjs/compare/v10.16.7...v10.17.0) (2024-09-22) + + +### Features + +* support custom key-value separator, [#752](https://github.com/harttle/liquidjs/issues/752) ([6aeed25](https://github.com/harttle/liquidjs/commit/6aeed2586a70a5bd4f878d2cb32547e35677458d)) + +## [10.16.7](https://github.com/harttle/liquidjs/compare/v10.16.6...v10.16.7) (2024-08-29) + + +### Bug Fixes + +* use CommonJS bundle to support default export ([2543461](https://github.com/harttle/liquidjs/commit/25434618808d8ab437ce4606d59114b4ad849f7f)) +* use cwd to resolve npm partials for Node.JS ([e5fbdfe](https://github.com/harttle/liquidjs/commit/e5fbdfe43415c9f78408f1349873c0011f639d82)) + +## [10.16.6](https://github.com/harttle/liquidjs/compare/v10.16.5...v10.16.6) (2024-08-29) + + +### Bug Fixes + +* expose originalError from LiquidError, [#742](https://github.com/harttle/liquidjs/issues/742) ([86f6bf0](https://github.com/harttle/liquidjs/commit/86f6bf0d3198354af23bcdb298c6625a6c5a4dde)) + +## [10.16.5](https://github.com/harttle/liquidjs/compare/v10.16.4...v10.16.5) (2024-08-27) + + +### Bug Fixes + +* ESM bundle for Node.js, [#739](https://github.com/harttle/liquidjs/issues/739) ([ce84cd6](https://github.com/harttle/liquidjs/commit/ce84cd6f43c8e076ce9d2507b2b7f3395fcd1328)) + +## [10.16.4](https://github.com/harttle/liquidjs/compare/v10.16.3...v10.16.4) (2024-08-23) + + +### Bug Fixes + +* "filter is not a function" for uniq ([68387c3](https://github.com/harttle/liquidjs/commit/68387c31ead77862a634f857a64932ef07b85188)) +* memory limit issue for join filter, fix [#737](https://github.com/harttle/liquidjs/issues/737) ([2d59cff](https://github.com/harttle/liquidjs/commit/2d59cff0a6162b462b4d97ebea4e0dbaf6146b65)) + ## [10.16.3](https://github.com/harttle/liquidjs/compare/v10.16.2...v10.16.3) (2024-08-16) diff --git a/README.md b/README.md index 003a51a6d6..74da1d30bf 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ For more details, refer to the [Setup Guide][setup]. ## Who's Using LiquidJS? - [Eleventy](https://www.11ty.dev/): Eleventy, a simpler static site generator. +- [Github Docs](https://github.com/github/docs): The open-source repo for docs.github.com. - [Opensense](https://www.opensense.com/): The smarter way to send email. - [Directus](https://docs.directus.io/): an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database. - [Semgrep](https://github.com/returntocorp/semgrep): Lightweight static analysis for many languages. @@ -75,20 +76,28 @@ If you personally love LiquidJS or it's benefiting your business, please conside