@knapsack/renderer-twig 5.0.0--canary.6593.4738696.0 β†’ 5.0.0

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.
package/.lintstagedrc.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { dirname } from 'path';
2
- import { fileURLToPath } from 'url';
1
+ import { dirname } from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
3
 
4
4
  import defaultConfig from '../../../../.lintstagedrc.mjs';
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,3 +1,152 @@
1
+ # v4.89.8 (Fri Feb 20 2026)
2
+
3
+ ### Release Notes
4
+
5
+ #### KSP-7685: Synthetic Data for Conflict Enrichment/Resolution testing ([#7154](https://github.com/knapsack-labs/app-monorepo/pull/7154))
6
+
7
+ * **Documentation**
8
+ * Added synthetic multi-source test fixtures including component documentation, design tokens, and brand guidelines for comprehensive testing coverage.
9
+
10
+ <!-- end of auto-generated comment: release notes by coderabbit.ai -->
11
+
12
+ ---
13
+
14
+ #### πŸ› Bug Fix
15
+
16
+ - merge latest in ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
17
+ - Merge branch 'latest' into sxa/KSP-7037-tests-v2 ([@sxalexander](https://github.com/sxalexander))
18
+ - Use node: protocol prefix in all .lintstagedrc.mjs files ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
19
+ - Migrated ESLint config to flat config format (ESLint 9) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
20
+
21
+ #### 🏠 Internal
22
+
23
+ - KSP-7685: Synthetic Data for Conflict Enrichment/Resolution testing [#7154](https://github.com/knapsack-labs/app-monorepo/pull/7154) ([@sxalexander](https://github.com/sxalexander))
24
+ - KSP-5524 Migrated ESLint config to flat config format (ESLint 9) [#7162](https://github.com/knapsack-labs/app-monorepo/pull/7162) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
25
+
26
+ #### Authors: 2
27
+
28
+ - [@EmmanuelVelez](https://github.com/EmmanuelVelez)
29
+ - Sam Alexander ([@sxalexander](https://github.com/sxalexander))
30
+
31
+ ---
32
+
33
+ # v4.89.7 (Fri Feb 06 2026)
34
+
35
+ #### πŸ› Bug Fix
36
+
37
+ - Merge branch 'latest' into feature/ksp-6555-remove-app-client-watchers-for-files-in-data-directory ([@EvanLovely](https://github.com/EvanLovely))
38
+ - Merge branch 'latest' into feature/ksp-6555-remove-app-client-watchers-for-files-in-data-directory ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
39
+
40
+ #### 🏠 Internal
41
+
42
+ - KSP-6106 Added consistent-type-imports rule with inline type syntax [#7128](https://github.com/knapsack-labs/app-monorepo/pull/7128) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
43
+ - KSP-7692: expand server actions body size limit [#7097](https://github.com/knapsack-labs/app-monorepo/pull/7097) ([@illepic](https://github.com/illepic))
44
+ - KSP-7623 resolved some of react-hooks/set-state-in-effect lint errors and enab… [#7077](https://github.com/knapsack-labs/app-monorepo/pull/7077) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
45
+
46
+ #### Authors: 3
47
+
48
+ - [@EmmanuelVelez](https://github.com/EmmanuelVelez)
49
+ - Christopher Bloom ([@illepic](https://github.com/illepic))
50
+ - Evan Lovely ([@EvanLovely](https://github.com/EvanLovely))
51
+
52
+ ---
53
+
54
+ # v4.89.4 (Mon Jan 05 2026)
55
+
56
+ #### 🏠 Internal
57
+
58
+ - KSP-6086 normalize error and log metadata for api domains [#6997](https://github.com/knapsack-labs/app-monorepo/pull/6997) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
59
+
60
+ #### Authors: 1
61
+
62
+ - [@EmmanuelVelez](https://github.com/EmmanuelVelez)
63
+
64
+ ---
65
+
66
+ # v4.89.3 (Thu Dec 11 2025)
67
+
68
+ #### πŸ› Bug Fix
69
+
70
+ - KSP-6536 Fixed align token metrics counting with UI logic for variables and collections [#6778](https://github.com/knapsack-labs/app-monorepo/pull/6778) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
71
+ - Merge remote-tracking branch 'origin/feature/ksp-6536-metrics-not-computing-tokens-and-variables-correctly' into feature/ksp-6536-metrics-not-computing-tokens-and-variables-correctly ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
72
+ - Merge branch 'latest' into feature/ksp-6536-metrics-not-computing-tokens-and-variables-correctly ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
73
+
74
+ #### Authors: 1
75
+
76
+ - [@EmmanuelVelez](https://github.com/EmmanuelVelez)
77
+
78
+ ---
79
+
80
+ # v4.89.1 (Wed Dec 10 2025)
81
+
82
+ ### Release Notes
83
+
84
+ #### Update twig renderer package version ([#6975](https://github.com/knapsack-labs/app-monorepo/pull/6975))
85
+
86
+ No user-facing changes in this release. This update includes internal dependency maintenance.
87
+
88
+ <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub>
89
+
90
+ <!-- end of auto-generated comment: release notes by coderabbit.ai -->
91
+
92
+ ---
93
+
94
+ #### πŸ› Bug Fix
95
+
96
+ - Merge remote-tracking branch 'origin/latest' into KSP-6900_mcp_onboarding_pages ([@brittanysmart](https://github.com/brittanysmart))
97
+ - Merge branch 'latest' into sxa-KSP-7485-context-fixture ([@sxalexander](https://github.com/sxalexander))
98
+ - Merge branch 'latest' into sxa-KSP-7488 ([@sxalexander](https://github.com/sxalexander))
99
+
100
+ #### 🏠 Internal
101
+
102
+ - KSP-6029 Removed deprecated hideTableOfContents page setting [#6973](https://github.com/knapsack-labs/app-monorepo/pull/6973) ([@EmmanuelVelez](https://github.com/EmmanuelVelez))
103
+ - Update twig renderer package version [#6975](https://github.com/knapsack-labs/app-monorepo/pull/6975) ([@rizchelwood](https://github.com/rizchelwood))
104
+
105
+ #### Authors: 4
106
+
107
+ - [@EmmanuelVelez](https://github.com/EmmanuelVelez)
108
+ - Brittany Smart ([@brittanysmart](https://github.com/brittanysmart))
109
+ - Rizchel Wood ([@rizchelwood](https://github.com/rizchelwood))
110
+ - Sam Alexander ([@sxalexander](https://github.com/sxalexander))
111
+
112
+ ---
113
+
114
+ # v4.87.9 (Thu Nov 20 2025)
115
+
116
+ #### 🏠 Internal
117
+
118
+ - fix(deps): update dependency zod to ^4.1.12 [#6861](https://github.com/knapsack-labs/app-monorepo/pull/6861) ([@renovate[bot]](https://github.com/renovate[bot]))
119
+
120
+ #### Authors: 1
121
+
122
+ - [@renovate[bot]](https://github.com/renovate[bot])
123
+
124
+ ---
125
+
126
+ # v4.87.7 (Mon Nov 10 2025)
127
+
128
+ #### 🏠 Internal
129
+
130
+ - fix(deps): update typescript [#6863](https://github.com/knapsack-labs/app-monorepo/pull/6863) ([@renovate[bot]](https://github.com/renovate[bot]))
131
+
132
+ #### Authors: 1
133
+
134
+ - [@renovate[bot]](https://github.com/renovate[bot])
135
+
136
+ ---
137
+
138
+ # v4.87.6 (Wed Nov 05 2025)
139
+
140
+ #### 🏠 Internal
141
+
142
+ - Add comprehensive testing for remaining frameworks and MUI lib [#6876](https://github.com/knapsack-labs/app-monorepo/pull/6876) ([@mabry1985](https://github.com/mabry1985))
143
+
144
+ #### Authors: 1
145
+
146
+ - Josh Mabry ([@mabry1985](https://github.com/mabry1985))
147
+
148
+ ---
149
+
1
150
  # v4.87.4 (Fri Oct 31 2025)
2
151
 
3
152
  #### 🏠 Internal
@@ -1,4 +1,4 @@
1
- import { Renderable, Renderer as RendererType, RendererBase } from '@knapsack/app/renderers';
1
+ import { type Renderable, type Renderer as RendererType, RendererBase } from '@knapsack/app/renderers';
2
2
  import TwigRenderer from '@basalt/twig-renderer';
3
3
  import { z } from 'zod';
4
4
  type Renderer = RendererType<'twig'>;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-twig.d.ts","sourceRoot":"","sources":["../src/renderer-twig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,QAAQ,IAAI,YAAY,EACxB,YAAY,EAEb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,YAAyC,MAAM,uBAAuB,CAAC;AAQ9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,KAAK,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAUrC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;kBA4BhB,CAAC;AAKH,qBAAa,oBACX,SAAQ,YAAY,CAAC,MAAM,CAC3B,YAAW,UAAU,CAAC,MAAM,CAAC;;IAE7B,YAAY,EAAE,YAAY,CAAC;gBAGf,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC;IAiChD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAKxB;IAEF,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAqG5B;IAEF,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CA4CpC;IAEF,sBAAsB,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAiDxD;IAEF,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CA4BzB;CACJ"}
1
+ {"version":3,"file":"renderer-twig.d.ts","sourceRoot":"","sources":["../src/renderer-twig.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,IAAI,YAAY,EAC7B,YAAY,EAEb,MAAM,yBAAyB,CAAC;AAOjC,OAAO,YAAyC,MAAM,uBAAuB,CAAC;AAQ9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,KAAK,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAUrC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;kBA4BhB,CAAC;AAKH,qBAAa,oBACX,SAAQ,YAAY,CAAC,MAAM,CAC3B,YAAW,UAAU,CAAC,MAAM,CAAC;;IAE7B,YAAY,EAAE,YAAY,CAAC;gBAGf,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC;IAiChD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAKxB;IAEF,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAqG5B;IAEF,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CA4CpC;IAEF,sBAAsB,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAiDxD;IAEF,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CA4BzB;CACJ"}
@@ -1,19 +1,7 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
- var _KnapsackTwigRenderer_src;
17
5
  Object.defineProperty(exports, "__esModule", { value: true });
18
6
  exports.KnapsackTwigRenderer = void 0;
19
7
  const renderers_1 = require("@knapsack/app/renderers");
@@ -56,197 +44,14 @@ const OptionSchema = zod_1.z.strictObject({
56
44
  (0, utils_1.expectType)(true);
57
45
  (0, utils_1.expectType)(true);
58
46
  class KnapsackTwigRenderer extends renderers_1.RendererBase {
47
+ twigRenderer;
48
+ #src;
59
49
  constructor(config) {
60
50
  super({
61
51
  id: types_1.rendererIds.twig,
62
52
  language: 'twig',
63
53
  codeSrcsUserConfig: [],
64
54
  });
65
- _KnapsackTwigRenderer_src.set(this, void 0);
66
- this.render = async (opt) => {
67
- const usage = await this.getUsage(opt);
68
- const results = await this.twigRenderer.renderString(usage);
69
- return { ...results, usage, templateLanguage: this.language };
70
- // return this.twigRenderer.render(template.alias, data);
71
- };
72
- this.getUsage = async ({ demo, state }) => {
73
- if (!demo) {
74
- throw new Error(`No demo received`);
75
- }
76
- switch (demo.type) {
77
- case 'template': {
78
- const { absolutePath: templateDemoPath, exists } = await this.resolvePath(demo.templateInfo.path);
79
- if (!exists) {
80
- throw new Error(`Could not find template demo file at ${templateDemoPath}`);
81
- }
82
- return (0, file_utils_1.readFile)(templateDemoPath);
83
- }
84
- case 'data-w-template-info':
85
- case 'data': {
86
- const { namespacePath } = this.normalizeDemo({ demo, state });
87
- const { data: { props, slots, slotsOptionsComputed }, } = demo;
88
- if (!slots) {
89
- return (0, utils_2.getTwigUsage)({
90
- templateName: namespacePath,
91
- props,
92
- });
93
- }
94
- {
95
- const slotProps = {};
96
- await Promise.all(Object.keys(slots).map(async (slotName) => {
97
- const slottedTemplates = slots[slotName];
98
- slotProps[slotName] = await Promise.all(slottedTemplates.map(async (slottedTemplate) => {
99
- if (slottedTemplate.type === 'text') {
100
- return ` ${slottedTemplate.text}`;
101
- }
102
- if (slottedTemplate.type === 'template-reference') {
103
- throw new Error(`Cannot handle slotted template references in ${JSON.stringify({
104
- demoId: demo.id,
105
- slottedTemplate,
106
- })}`);
107
- }
108
- const usage = await this.getUsage({
109
- demo: slottedTemplate.demo,
110
- state,
111
- });
112
- // indenting 2 spaces since it will be in a `{% set slotName %}` block
113
- return usage
114
- .split('\n')
115
- .map((line) => ` ${line}`)
116
- .join('\n');
117
- }));
118
- }));
119
- const extraProps = [];
120
- const slotIncludes = Object.keys(slotProps).map((slotName) => {
121
- extraProps.push({
122
- key: slotName,
123
- value: slotName,
124
- });
125
- const slotCodes = slotProps[slotName];
126
- const slotOptionsComputed = slotsOptionsComputed === null || slotsOptionsComputed === void 0 ? void 0 : slotsOptionsComputed[slotName];
127
- const { openTag, closeTag } = (0, renderers_1.createSlotOptionsHtmlTags)({
128
- slotOptionsComputed,
129
- classAttributeName: 'class',
130
- stylesValueType: 'string',
131
- });
132
- return `
133
- {% set ${slotName} %}
134
- ${[openTag, ...slotCodes, closeTag].filter(Boolean).join('\n')}
135
- {% endset %}
136
- `.trim();
137
- });
138
- const usage = await (0, utils_2.getTwigUsage)({
139
- templateName: namespacePath,
140
- props,
141
- before: slotIncludes.join('\n\n'),
142
- extraProps,
143
- });
144
- return usage;
145
- }
146
- }
147
- default: {
148
- const _exhaustiveCheck = demo;
149
- throw new Error(`Unknown demo type: ${JSON.stringify(demo)}`);
150
- }
151
- }
152
- };
153
- this.getDiscovery = async () => {
154
- var _a, _b, _c, _d;
155
- const [rootDir] = (_b = (_a = __classPrivateFieldGet(this, _KnapsackTwigRenderer_src, "f")) === null || _a === void 0 ? void 0 : _a.roots) !== null && _b !== void 0 ? _b : [];
156
- if (!rootDir) {
157
- return {
158
- rendererId: this.id,
159
- meta: this.getMeta(),
160
- codeSrcsByPath: Object.fromEntries(this.codeSrcs.entries()),
161
- templates: [],
162
- };
163
- }
164
- // `@namespace/path/to/file.twig`
165
- const twigPaths = await Promise.all((_c = __classPrivateFieldGet(this, _KnapsackTwigRenderer_src, "f").namespaces) === null || _c === void 0 ? void 0 : _c.map(async ({ id, paths }) => {
166
- const twigFiles = await (0, file_utils_1.globby)(paths
167
- .map((path) => (0, path_1.isAbsolute)(path) ? path : (0, path_1.join)(this.userConfigDir, path))
168
- .map((p) => (0, path_1.join)(p, '*.twig')), {
169
- cwd: this.userConfigDir,
170
- absolute: true,
171
- });
172
- return twigFiles.map((path) => {
173
- const relativePath = (0, path_1.relative)(rootDir, path);
174
- return (0, path_1.join)(`@${id}`, relativePath);
175
- });
176
- })).then((paths) => paths.flat());
177
- return {
178
- rendererId: this.id,
179
- meta: this.getMeta(),
180
- codeSrcsByPath: Object.fromEntries(this.codeSrcs.entries()),
181
- templates: (_d = twigPaths === null || twigPaths === void 0 ? void 0 : twigPaths.map((twigPath) => (0, types_1.addIdToTemplateInfo)({
182
- namespacePath: twigPath,
183
- rendererId: this.id,
184
- }))) !== null && _d !== void 0 ? _d : [],
185
- };
186
- };
187
- this.getTemplateSuggestions = async ({ state, }) => {
188
- var _a, _b;
189
- const { unusedPaths, usedPaths } = await this.getUnusedTemplatePaths({
190
- globPaths: __classPrivateFieldGet(this, _KnapsackTwigRenderer_src, "f").roots.map((root) => (0, path_1.join)(root, '**/*.twig')),
191
- cwd: this.userConfigDir,
192
- state,
193
- });
194
- const namespaces = (_b = (_a = __classPrivateFieldGet(this, _KnapsackTwigRenderer_src, "f").namespaces) === null || _a === void 0 ? void 0 : _a.map(({ id, paths }) => {
195
- const absPaths = paths.map((path) => (0, path_1.isAbsolute)(path) ? path : (0, path_1.join)(this.userConfigDir, path));
196
- return {
197
- id,
198
- paths: absPaths,
199
- };
200
- })) !== null && _b !== void 0 ? _b : [];
201
- const createSuggestion = (twigPath, connected) => {
202
- const namespace = namespaces.find(({ paths }) => paths.some((path) => twigPath.startsWith(path)));
203
- let alias;
204
- if (namespace) {
205
- namespace.paths.forEach((path) => {
206
- if (twigPath.startsWith(path)) {
207
- const subPath = (0, path_1.relative)(path, twigPath);
208
- alias = `@${namespace.id}/${subPath}`;
209
- }
210
- });
211
- }
212
- return {
213
- path: twigPath,
214
- alias,
215
- connected,
216
- };
217
- };
218
- const unusedSuggestions = unusedPaths.map((path) => createSuggestion(path, false));
219
- const usedSuggestions = usedPaths.map((path) => createSuggestion(path, true));
220
- return { suggestions: [...unusedSuggestions, ...usedSuggestions] };
221
- };
222
- this.getMeta = () => ({
223
- id: this.id,
224
- title: 'Twig',
225
- aliasUse: 'optional',
226
- aliasTitle: 'Namespaced Path',
227
- aliasDescription: "If using Twig Namespaces (i.e. `@components`) then provide the value you'd provide to a Twig `include`, such as `@components/card.twig`.",
228
- enableDataDemos: true,
229
- enableTemplateDemos: true,
230
- hasSlotsSupport: true,
231
- hasSlotOptionsSupport: true,
232
- version: pkg.version,
233
- hasInferSpecSupport: false,
234
- hasTemplateSuggestionsSupport: true,
235
- prototypingTemplate: {
236
- path: '',
237
- alias: `@${protoTwigNamespace}/${(0, path_1.basename)(protoTemplatePath)}`,
238
- spec: {
239
- isInferred: false,
240
- props: {
241
- type: 'object',
242
- properties: {},
243
- },
244
- slots: {
245
- children: { title: 'Children' },
246
- },
247
- },
248
- },
249
- });
250
55
  const { error } = OptionSchema.safeParse(config);
251
56
  if (error) {
252
57
  this.log.error(`"KnapsackTwigRenderer" constructor has invalid options, please fix in "knapsack.config.cjs":`, zod_1.z.prettifyError(error));
@@ -254,7 +59,7 @@ ${[openTag, ...slotCodes, closeTag].filter(Boolean).join('\n')}
254
59
  return;
255
60
  }
256
61
  // copying b/c `TwigRenderer` mutates config!
257
- __classPrivateFieldSet(this, _KnapsackTwigRenderer_src, JSON.parse(JSON.stringify(config.src)), "f");
62
+ this.#src = JSON.parse(JSON.stringify(config.src));
258
63
  this.twigRenderer = new twig_renderer_1.default({
259
64
  keepAlive: process.env.NODE_ENV === 'production',
260
65
  ...config,
@@ -270,7 +75,188 @@ ${[openTag, ...slotCodes, closeTag].filter(Boolean).join('\n')}
270
75
  },
271
76
  });
272
77
  }
78
+ render = async (opt) => {
79
+ const usage = await this.getUsage(opt);
80
+ const results = await this.twigRenderer.renderString(usage);
81
+ return { ...results, usage, templateLanguage: this.language };
82
+ // return this.twigRenderer.render(template.alias, data);
83
+ };
84
+ getUsage = async ({ demo, state }) => {
85
+ if (!demo) {
86
+ throw new Error(`No demo received`);
87
+ }
88
+ switch (demo.type) {
89
+ case 'template': {
90
+ const { absolutePath: templateDemoPath, exists } = await this.resolvePath(demo.templateInfo.path);
91
+ if (!exists) {
92
+ throw new Error(`Could not find template demo file at ${templateDemoPath}`);
93
+ }
94
+ return (0, file_utils_1.readFile)(templateDemoPath);
95
+ }
96
+ case 'data-w-template-info':
97
+ case 'data': {
98
+ const { namespacePath } = this.normalizeDemo({ demo, state });
99
+ const { data: { props, slots, slotsOptionsComputed }, } = demo;
100
+ if (!slots) {
101
+ return (0, utils_2.getTwigUsage)({
102
+ templateName: namespacePath,
103
+ props,
104
+ });
105
+ }
106
+ {
107
+ const slotProps = {};
108
+ await Promise.all(Object.keys(slots).map(async (slotName) => {
109
+ const slottedTemplates = slots[slotName];
110
+ slotProps[slotName] = await Promise.all(slottedTemplates.map(async (slottedTemplate) => {
111
+ if (slottedTemplate.type === 'text') {
112
+ return ` ${slottedTemplate.text}`;
113
+ }
114
+ if (slottedTemplate.type === 'template-reference') {
115
+ throw new Error(`Cannot handle slotted template references in ${JSON.stringify({
116
+ demoId: demo.id,
117
+ slottedTemplate,
118
+ })}`);
119
+ }
120
+ const usage = await this.getUsage({
121
+ demo: slottedTemplate.demo,
122
+ state,
123
+ });
124
+ // indenting 2 spaces since it will be in a `{% set slotName %}` block
125
+ return usage
126
+ .split('\n')
127
+ .map((line) => ` ${line}`)
128
+ .join('\n');
129
+ }));
130
+ }));
131
+ const extraProps = [];
132
+ const slotIncludes = Object.keys(slotProps).map((slotName) => {
133
+ extraProps.push({
134
+ key: slotName,
135
+ value: slotName,
136
+ });
137
+ const slotCodes = slotProps[slotName];
138
+ const slotOptionsComputed = slotsOptionsComputed?.[slotName];
139
+ const { openTag, closeTag } = (0, renderers_1.createSlotOptionsHtmlTags)({
140
+ slotOptionsComputed,
141
+ classAttributeName: 'class',
142
+ stylesValueType: 'string',
143
+ });
144
+ return `
145
+ {% set ${slotName} %}
146
+ ${[openTag, ...slotCodes, closeTag].filter(Boolean).join('\n')}
147
+ {% endset %}
148
+ `.trim();
149
+ });
150
+ const usage = await (0, utils_2.getTwigUsage)({
151
+ templateName: namespacePath,
152
+ props,
153
+ before: slotIncludes.join('\n\n'),
154
+ extraProps,
155
+ });
156
+ return usage;
157
+ }
158
+ }
159
+ default: {
160
+ const _exhaustiveCheck = demo;
161
+ throw new Error(`Unknown demo type: ${JSON.stringify(demo)}`);
162
+ }
163
+ }
164
+ };
165
+ getDiscovery = async () => {
166
+ const [rootDir] = this.#src?.roots ?? [];
167
+ if (!rootDir) {
168
+ return {
169
+ rendererId: this.id,
170
+ meta: this.getMeta(),
171
+ codeSrcsByPath: Object.fromEntries(this.codeSrcs.entries()),
172
+ templates: [],
173
+ };
174
+ }
175
+ // `@namespace/path/to/file.twig`
176
+ const twigPaths = await Promise.all(this.#src.namespaces?.map(async ({ id, paths }) => {
177
+ const twigFiles = await (0, file_utils_1.globby)(paths
178
+ .map((path) => (0, path_1.isAbsolute)(path) ? path : (0, path_1.join)(this.userConfigDir, path))
179
+ .map((p) => (0, path_1.join)(p, '*.twig')), {
180
+ cwd: this.userConfigDir,
181
+ absolute: true,
182
+ });
183
+ return twigFiles.map((path) => {
184
+ const relativePath = (0, path_1.relative)(rootDir, path);
185
+ return (0, path_1.join)(`@${id}`, relativePath);
186
+ });
187
+ })).then((paths) => paths.flat());
188
+ return {
189
+ rendererId: this.id,
190
+ meta: this.getMeta(),
191
+ codeSrcsByPath: Object.fromEntries(this.codeSrcs.entries()),
192
+ templates: twigPaths?.map((twigPath) => (0, types_1.addIdToTemplateInfo)({
193
+ namespacePath: twigPath,
194
+ rendererId: this.id,
195
+ })) ?? [],
196
+ };
197
+ };
198
+ getTemplateSuggestions = async ({ state, }) => {
199
+ const { unusedPaths, usedPaths } = await this.getUnusedTemplatePaths({
200
+ globPaths: this.#src.roots.map((root) => (0, path_1.join)(root, '**/*.twig')),
201
+ cwd: this.userConfigDir,
202
+ state,
203
+ });
204
+ const namespaces = this.#src.namespaces?.map(({ id, paths }) => {
205
+ const absPaths = paths.map((path) => (0, path_1.isAbsolute)(path) ? path : (0, path_1.join)(this.userConfigDir, path));
206
+ return {
207
+ id,
208
+ paths: absPaths,
209
+ };
210
+ }) ?? [];
211
+ const createSuggestion = (twigPath, connected) => {
212
+ const namespace = namespaces.find(({ paths }) => paths.some((path) => twigPath.startsWith(path)));
213
+ let alias;
214
+ if (namespace) {
215
+ namespace.paths.forEach((path) => {
216
+ if (twigPath.startsWith(path)) {
217
+ const subPath = (0, path_1.relative)(path, twigPath);
218
+ alias = `@${namespace.id}/${subPath}`;
219
+ }
220
+ });
221
+ }
222
+ return {
223
+ path: twigPath,
224
+ alias,
225
+ connected,
226
+ };
227
+ };
228
+ const unusedSuggestions = unusedPaths.map((path) => createSuggestion(path, false));
229
+ const usedSuggestions = usedPaths.map((path) => createSuggestion(path, true));
230
+ return { suggestions: [...unusedSuggestions, ...usedSuggestions] };
231
+ };
232
+ getMeta = () => ({
233
+ id: this.id,
234
+ title: 'Twig',
235
+ aliasUse: 'optional',
236
+ aliasTitle: 'Namespaced Path',
237
+ aliasDescription: "If using Twig Namespaces (i.e. `@components`) then provide the value you'd provide to a Twig `include`, such as `@components/card.twig`.",
238
+ enableDataDemos: true,
239
+ enableTemplateDemos: true,
240
+ hasSlotsSupport: true,
241
+ hasSlotOptionsSupport: true,
242
+ version: pkg.version,
243
+ hasInferSpecSupport: false,
244
+ hasTemplateSuggestionsSupport: true,
245
+ prototypingTemplate: {
246
+ path: '',
247
+ alias: `@${protoTwigNamespace}/${(0, path_1.basename)(protoTemplatePath)}`,
248
+ spec: {
249
+ isInferred: false,
250
+ props: {
251
+ type: 'object',
252
+ properties: {},
253
+ },
254
+ slots: {
255
+ children: { title: 'Children' },
256
+ },
257
+ },
258
+ },
259
+ });
273
260
  }
274
261
  exports.KnapsackTwigRenderer = KnapsackTwigRenderer;
275
- _KnapsackTwigRenderer_src = new WeakMap();
276
262
  //# sourceMappingURL=renderer-twig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer-twig.js","sourceRoot":"","sources":["../src/renderer-twig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer-twig.js","sourceRoot":"","sources":["../src/renderer-twig.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@knapsack/renderer-twig",
3
3
  "description": "Render Twig",
4
- "version": "5.0.0--canary.6593.4738696.0",
4
+ "version": "5.0.0",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "exports": {
@@ -24,20 +24,20 @@
24
24
  },
25
25
  "author": "Knapsack (https://www.knapsack.cloud)",
26
26
  "dependencies": {
27
- "@basalt/twig-renderer": "^3.2.7",
28
- "@knapsack/app": "5.0.0--canary.6593.4738696.0",
29
- "@knapsack/file-utils": "5.0.0--canary.6593.4738696.0",
30
- "@knapsack/types": "5.0.0--canary.6593.4738696.0",
31
- "@knapsack/utils": "5.0.0--canary.6593.4738696.0",
27
+ "@basalt/twig-renderer": "^3.2.8",
28
+ "@knapsack/app": "5.0.0",
29
+ "@knapsack/file-utils": "5.0.0",
30
+ "@knapsack/types": "5.0.0",
31
+ "@knapsack/utils": "5.0.0",
32
32
  "ejs": "^3.1.10",
33
- "zod": "^4.0.14"
33
+ "zod": "^4.3.6"
34
34
  },
35
35
  "devDependencies": {
36
- "@knapsack/eslint-config-starter": "5.0.0--canary.6593.4738696.0",
37
- "@knapsack/typescript-config-starter": "5.0.0--canary.6593.4738696.0",
38
- "eslint": "^8.57.0",
39
- "typescript": "^5.9.2",
40
- "vitest": "^3.2.4"
36
+ "@knapsack/eslint-config-starter": "5.0.0",
37
+ "@knapsack/typescript-config-starter": "5.0.0",
38
+ "eslint": "^9.20.0",
39
+ "typescript": "^5.9.3",
40
+ "vitest": "^4.1.9"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public"
@@ -47,5 +47,5 @@
47
47
  "directory": "apps/client/renderers/renderer-twig",
48
48
  "type": "git"
49
49
  },
50
- "gitHead": "4738696cd5d75f977543e5484622c251b26db3a4"
50
+ "gitHead": "31e09ba72245b95bef52e73ce5076de51936286c"
51
51
  }
package/.eslintrc.js DELETED
@@ -1,4 +0,0 @@
1
- module.exports = {
2
- extends: ['@knapsack/eslint-config-starter'],
3
- parserOptions: { tsconfigRootDir: __dirname },
4
- };