mikser-io-render-liquid 5.0.2 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,73 @@
1
+ # Publish to npm without a stored token.
2
+ #
3
+ # npm is retiring tokens that skip the second factor — its own token page says
4
+ # "Publish new versions directly (deprecated — ends January 2027)". This is the
5
+ # replacement: the job proves who it is at publish time with a short-lived
6
+ # credential GitHub issues and npm verifies, so npm trusts "the publish.yml
7
+ # workflow in this repository" rather than a string.
8
+ #
9
+ # There is no NODE_AUTH_TOKEN and no secret to configure. Nothing to leak,
10
+ # expire or rotate — the two ways publishing broke in September 2026.
11
+ #
12
+ # Link it once on npm: the package → Settings → Trusted Publisher → GitHub
13
+ # Actions, naming this repository and this filename. Until that exists the
14
+ # publish step fails rather than falling back to something weaker.
15
+
16
+ name: Publish
17
+
18
+ on:
19
+ push:
20
+ tags: ['v*']
21
+ workflow_dispatch:
22
+
23
+ jobs:
24
+ publish:
25
+ runs-on: ubuntu-latest
26
+ permissions:
27
+ contents: read
28
+ # The whole mechanism. Without it npm has nothing to verify.
29
+ id-token: write
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+
33
+ - uses: actions/setup-node@v4
34
+ with:
35
+ node-version: '24'
36
+ registry-url: 'https://registry.npmjs.org'
37
+
38
+ # Trusted publishing landed in npm 11.5.1.
39
+ - name: Use an npm that can do trusted publishing
40
+ run: npm install -g npm@latest
41
+
42
+ # `npm install`, not `npm ci`: these packages are developed in a
43
+ # workspace, so dependencies hoist to its root and each package's own
44
+ # lockfile is never read locally. They drift silently, and CI is the only
45
+ # thing that would ever read them.
46
+ - run: npm install --no-audit --no-fund
47
+ env:
48
+ # puppeteer downloads a browser on install; nothing in the release
49
+ # path renders a page.
50
+ PUPPETEER_SKIP_DOWNLOAD: '1'
51
+
52
+ # The tag is the release. A tag that disagrees with package.json would
53
+ # publish a version nobody asked for.
54
+ - name: Tag must match package.json
55
+ if: startsWith(github.ref, 'refs/tags/v')
56
+ run: |
57
+ TAG="${GITHUB_REF_NAME#v}"
58
+ PKG="$(node -p 'require("./package.json").version')"
59
+ if [ "$TAG" != "$PKG" ]; then
60
+ echo "tag v$TAG does not match package.json $PKG"
61
+ exit 1
62
+ fi
63
+ echo "publishing $PKG"
64
+
65
+ # The suite runs here now. It did not before: these packages declared
66
+ # mikser-io only as a peerDependency (npm does not install a package's
67
+ # own peers) or as file:../mikser-io (a path that exists on a laptop and
68
+ # nowhere else), so a standalone clone could not resolve the engine it
69
+ # tests against. Both are now real devDependencies with version ranges,
70
+ # which npm still satisfies from the workspace locally.
71
+ - run: npm test
72
+
73
+ - run: npm publish --access public
package/index.js CHANGED
@@ -449,5 +449,5 @@ export function parseReferences(source) {
449
449
 
450
450
  // v9 factory — ADR-0010.
451
451
  export function renderLiquid(options = {}) {
452
- return { name: options.name ?? 'liquid', options, load, render, parseReferences }
452
+ return { name: options.name ?? 'liquid', options, load, render, parseReferences, module: import.meta.url }
453
453
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mikser-io-render-liquid",
3
- "version": "5.0.2",
3
+ "version": "11.0.1",
4
4
  "description": "LiquidJS renderer for Mikser. Renders entities whose layout uses the `.liquid` template engine.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -18,9 +18,12 @@
18
18
  },
19
19
  "homepage": "https://github.com/almero-digital-marketing/mikser-io-render-liquid#readme",
20
20
  "peerDependencies": {
21
- "mikser-io": "^9.0.0"
21
+ "mikser-io": "^11.0.1"
22
22
  },
23
23
  "dependencies": {
24
24
  "liquidjs": "^10.27.0"
25
+ },
26
+ "devDependencies": {
27
+ "mikser-io": "^11.0.1"
25
28
  }
26
29
  }