@dogsbay/minja 0.2.0-beta.93 → 0.2.0-beta.99

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/dist/parser.js CHANGED
@@ -3,11 +3,55 @@
3
3
  * Converts template strings into AST (Abstract Syntax Tree)
4
4
  */
5
5
  import { parseExpression } from './evaluator.js';
6
+ /**
7
+ * Statement keywords the parser understands. Openers dispatch below; the
8
+ * end/branch keywords are consumed by their opening tags (stray ones are
9
+ * ignored, matching historical behavior). Anything OUTSIDE this set is an
10
+ * unknown statement and is preserved verbatim in the output — silently
11
+ * deleting author content is never acceptable.
12
+ */
13
+ const KNOWN_TAG_KEYWORDS = new Set([
14
+ 'set',
15
+ 'if',
16
+ 'include',
17
+ 'switch',
18
+ 'leveloffset',
19
+ 'raw',
20
+ 'endif',
21
+ 'elif',
22
+ 'else',
23
+ 'endswitch',
24
+ 'case',
25
+ 'endleveloffset',
26
+ 'endraw',
27
+ ]);
6
28
  /**
7
29
  * Parse a template string into an AST
8
30
  * @param template - Template string to parse
9
31
  * @returns Parse result with AST and errors
10
32
  */
33
+ /**
34
+ * Apply a closing tag's LEFT whitespace-control marker to the body it closes.
35
+ *
36
+ * `{%- endif %}` must strip the whitespace before it — including the newline —
37
+ * exactly as `{%-` does on an opening tag. Block bodies are extracted by
38
+ * matching the end tag textually (`/{%-?\s*endif\s*-?%}/`), and the `-?` was
39
+ * matched but never acted on, so the body kept its trailing newline. Combined
40
+ * with the newline that follows the tag, an AsciiDoc conditional written
41
+ * inline in a paragraph —
42
+ *
43
+ * Welcome to the official {{ product_title }}
44
+ * {%- if not openshift_rosa %}
45
+ * {{ product_version }}
46
+ * {%- endif %}
47
+ * documentation, where you can learn…
48
+ *
49
+ * — rendered a BLANK line after the version, splitting one sentence into two
50
+ * paragraphs mid-clause. Jinja2 produces no blank line here.
51
+ */
52
+ function stripBodyForEndTag(body, endTag) {
53
+ return endTag.startsWith('{%-') ? body.replace(/[ \t]*\n[ \t\n]*$/, '') : body;
54
+ }
11
55
  export function parse(template) {
12
56
  const errors = [];
13
57
  const ast = [];
@@ -119,12 +163,66 @@ export function parse(template) {
119
163
  }
120
164
  else if (nearest.type === 'tag') {
121
165
  // Statement tag: {% ... %}
166
+ const tagStart = position;
122
167
  advance(2); // Skip {%
123
168
  const endPos = findNext('%}', position);
124
169
  if (endPos === -1) {
125
170
  errors.push(createError('Unclosed statement tag'));
126
171
  break;
127
172
  }
173
+ // Peek the keyword BEFORE whitespace-control processing, so raw
174
+ // blocks and unknown tags are handled without side effects.
175
+ const peeked = template.substring(position, endPos).trim();
176
+ const peekKeyword = peeked.replace(/^-\s*/, '').replace(/\s*-$/, '').split(/\s+/)[0] ?? '';
177
+ if (peekKeyword === 'raw') {
178
+ // {% raw %} ... {% endraw %} — Jinja semantics: everything between
179
+ // the markers passes through COMPLETELY unevaluated; the markers
180
+ // themselves produce no output. Whitespace-control markers are
181
+ // honored on both tags.
182
+ const openerLeftStrip = peeked.startsWith('-');
183
+ const openerRightStrip = peeked.endsWith('-');
184
+ if (openerLeftStrip && ast.length > 0 && ast[ast.length - 1].type === 'text') {
185
+ const lastNode = ast[ast.length - 1];
186
+ lastNode.value = lastNode.value.replace(/[ \t]*\n[ \t\n]*$/, '');
187
+ }
188
+ extractTo(endPos);
189
+ advance(2); // Skip %}
190
+ if (openerRightStrip) {
191
+ while (position < template.length && /[ \t\n]/.test(template[position])) {
192
+ advance(1);
193
+ }
194
+ }
195
+ const endrawMatch = /\{%-?\s*endraw\s*-?%\}/.exec(template.substring(position));
196
+ if (!endrawMatch) {
197
+ errors.push(createError('Unclosed raw block'));
198
+ break;
199
+ }
200
+ const endrawAbs = position + endrawMatch.index;
201
+ let content = extractTo(endrawAbs);
202
+ const endrawTag = endrawMatch[0];
203
+ if (endrawTag.startsWith('{%-')) {
204
+ content = content.replace(/[ \t]*\n[ \t\n]*$/, '');
205
+ }
206
+ advance(endrawTag.length);
207
+ if (endrawTag.endsWith('-%}')) {
208
+ while (position < template.length && /[ \t\n]/.test(template[position])) {
209
+ advance(1);
210
+ }
211
+ }
212
+ if (content) {
213
+ ast.push({ type: 'text', value: content });
214
+ }
215
+ continue;
216
+ }
217
+ if (!KNOWN_TAG_KEYWORDS.has(peekKeyword)) {
218
+ // Unknown statement: preserve the tag verbatim (it was previously
219
+ // silently dropped). No whitespace control is applied — the bytes
220
+ // pass through exactly as authored.
221
+ extractTo(endPos);
222
+ advance(2); // Skip %}
223
+ ast.push({ type: 'text', value: template.substring(tagStart, endPos + 2) });
224
+ continue;
225
+ }
128
226
  let statement = extractTo(endPos).trim();
129
227
  // Check for whitespace control characters
130
228
  const hasLeftStrip = statement.startsWith('-');
@@ -294,12 +392,18 @@ export function parse(template) {
294
392
  * Find an end tag like {% endif %}
295
393
  */
296
394
  function findEndTag(tagName) {
297
- const pattern = new RegExp(`{%\\s*${tagName}\\s*%}`);
395
+ // `-?` on BOTH sides: without it this could not match `{%- endif %}`, so an
396
+ // `{% else %}` branch closed with a whitespace-controlled endif failed to
397
+ // parse at all — the page threw "Missing endif after else" and the build
398
+ // preprocessor copied it through UNRENDERED, variables and directives and
399
+ // all. Three OpenShift pages were shipping that way.
400
+ const pattern = new RegExp(`{%-?\\s*${tagName}\\s*-?%}`);
298
401
  const match = pattern.exec(template.substring(position));
299
402
  if (match) {
300
403
  return {
301
404
  start: position + match.index,
302
405
  length: match[0].length,
406
+ tag: match[0],
303
407
  };
304
408
  }
305
409
  return null;
@@ -338,8 +442,12 @@ export function parse(template) {
338
442
  else if (nearest.type === 'endif') {
339
443
  if (depth === 0) {
340
444
  // This is our endif
341
- const bodyTemplate = extractTo(nearest.pos);
445
+ const bodyTemplate = stripBodyForEndTag(extractTo(nearest.pos), nearest.match[0]);
342
446
  advance(nearest.match[0].length);
447
+ if (nearest.match[0].endsWith('-%}')) {
448
+ while (position < template.length && /[ \t\n]/.test(template[position]))
449
+ advance(1);
450
+ }
343
451
  const bodyResult = parse(bodyTemplate);
344
452
  parseErrors.push(...bodyResult.errors);
345
453
  return {
@@ -356,7 +464,7 @@ export function parse(template) {
356
464
  }
357
465
  else if (depth === 0 && (nearest.type === 'elif' || nearest.type === 'else')) {
358
466
  // Parse the body before elif/else
359
- const bodyTemplate = extractTo(nearest.pos);
467
+ const bodyTemplate = stripBodyForEndTag(extractTo(nearest.pos), nearest.match[0]);
360
468
  const bodyResult = parse(bodyTemplate);
361
469
  if (elifBranches.length === 0 && elseBranch.length === 0) {
362
470
  // This is the trueBranch (before first elif/else)
@@ -401,7 +509,7 @@ export function parse(template) {
401
509
  parseErrors.push(createError('Missing endif after else'));
402
510
  }
403
511
  else {
404
- const elseBodyTemplate = extractTo(endifMatch.start);
512
+ const elseBodyTemplate = stripBodyForEndTag(extractTo(endifMatch.start), endifMatch.tag);
405
513
  advance(endifMatch.length);
406
514
  const elseBodyResult = parse(elseBodyTemplate);
407
515
  parseErrors.push(...elseBodyResult.errors);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAuB,aAAa,EAAU,MAAM,YAAY,CAAA;AAwF5E;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC3F"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAuB,aAAa,EAAU,MAAM,YAAY,CAAA;AAoG5E;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsC3F"}
package/dist/renderer.js CHANGED
@@ -13,8 +13,10 @@ import { FetchLoader } from './loader-fetch.js';
13
13
  * @param offset - Level offset to apply
14
14
  * @returns Transformed text with adjusted heading levels
15
15
  */
16
- function transformHeadings(text, offset) {
16
+ function transformHeadings(text, offset, initialFence = null, fenceOut) {
17
17
  if (offset === 0) {
18
+ if (fenceOut)
19
+ fenceOut.fence = initialFence;
18
20
  return text;
19
21
  }
20
22
  // Fence-aware: only shift ATX headings that are NOT inside a fenced code
@@ -23,7 +25,12 @@ function transformHeadings(text, offset) {
23
25
  // mutating code-block content — which the no-code-block-mutation rule
24
26
  // forbids. Issue #020 / task #404.
25
27
  const lines = text.split('\n');
26
- let fence = null; // active opening fence run (e.g. "```") while inside a code block
28
+ // Fence state CARRIES ACROSS text nodes: a directive inside a listing
29
+ // splits the template into several text nodes, and restarting the state
30
+ // per node lost the open fence — `#` comments at column 0 inside the
31
+ // second half were shifted to `###` (issue #043, managing-ce's
32
+ // ClusterRole manifest; the same class as issue #020).
33
+ let fence = initialFence; // active opening fence run (e.g. "```") while inside a code block
27
34
  for (let i = 0; i < lines.length; i++) {
28
35
  const line = lines[i];
29
36
  const fenceMatch = line.match(/^\s*(`{3,}|~{3,})/);
@@ -48,6 +55,8 @@ function transformHeadings(text, offset) {
48
55
  lines[i] = '#'.repeat(newLevel) + line.slice(m[1].length);
49
56
  }
50
57
  }
58
+ if (fenceOut)
59
+ fenceOut.fence = fence;
51
60
  return lines.join('\n');
52
61
  }
53
62
  /**
@@ -137,7 +146,21 @@ async function renderInternal(template, options) {
137
146
  async function renderNodes(nodes, options) {
138
147
  const parts = [];
139
148
  for (const node of nodes) {
140
- parts.push(await renderNode(node, options));
149
+ let rendered = await renderNode(node, options);
150
+ // An {% include %} that sits alone on an INDENTED line splices content
151
+ // into that indentation context (a list item, an open block in a step):
152
+ // re-indent every non-empty spliced line to the directive's own column.
153
+ // Verbatim splicing put included bullets/fences at column 0 inside a
154
+ // level-2 step, shattering the list and orphaning everything after
155
+ // (the ":::important in a code block" class, cnf-image-based-upgrade).
156
+ // Top-level includes have no leading indent and are untouched.
157
+ if (node.type === 'include' && rendered && parts.length > 0) {
158
+ const tail = /(?:^|\n)([ \t]+)$/.exec(parts[parts.length - 1]);
159
+ if (tail) {
160
+ rendered = rendered.replace(/\n(?=[^\n])/g, '\n' + tail[1]);
161
+ }
162
+ }
163
+ parts.push(rendered);
141
164
  }
142
165
  return parts.join('');
143
166
  }
@@ -153,7 +176,10 @@ async function renderNode(node, options) {
153
176
  if (currentOffset === 0) {
154
177
  return node.value;
155
178
  }
156
- return transformHeadings(node.value, currentOffset);
179
+ const fenceOut = { fence: null };
180
+ const out = transformHeadings(node.value, currentOffset, context.get('_levelOffsetFence') ?? null, fenceOut);
181
+ context.set('_levelOffsetFence', fenceOut.fence);
182
+ return out;
157
183
  }
158
184
  case 'variable': {
159
185
  const value = context.get(node.name);
@@ -167,6 +193,12 @@ async function renderNode(node, options) {
167
193
  // second-pass minja run with the value supplied) can pick
168
194
  // up where we left off.
169
195
  return `{{ ${node.name} }}`;
196
+ case 'asciidoc-literal':
197
+ // Terminal build of an AsciiDoc-migrated corpus: every ref
198
+ // came from an `{name}` attribute reference, so an
199
+ // unresolvable one is a literal placeholder — render what
200
+ // asciidoctor renders for an undefined attribute.
201
+ return `{${node.name}}`;
170
202
  case 'empty':
171
203
  default:
172
204
  return '';
@@ -197,7 +229,7 @@ async function renderNode(node, options) {
197
229
  // terminal build with no later pass, so treat the undefined
198
230
  // reference as falsy (AsciiDoc `ifdef::attr[]` semantics) and
199
231
  // evaluate now rather than leak the directive to readers.
200
- if (options.undefinedBehavior === 'preserve' && options.undefinedConditions !== 'falsy') {
232
+ if ((options.undefinedBehavior === 'preserve' || options.undefinedBehavior === 'asciidoc-literal') && options.undefinedConditions !== 'falsy') {
201
233
  const undefinedRefs = findUndefinedRefs(node.condition, context);
202
234
  if (undefinedRefs.length > 0) {
203
235
  return ifNodeToSource(node);
@@ -270,6 +302,12 @@ async function renderNode(node, options) {
270
302
  });
271
303
  }
272
304
  catch (error) {
305
+ // A containment refusal is a SECURITY event, not a missing file:
306
+ // neither preserved for a later pass (no later pass may resolve
307
+ // it) nor degraded to a comment — the render fails hard (#027).
308
+ if (error instanceof Error && error.name === 'IncludeContainmentError') {
309
+ throw error;
310
+ }
273
311
  // In `preserve` mode, an unresolvable include is preserved
274
312
  // as the original directive so a later renderer pass (with
275
313
  // the file in place) can resolve it. Matches the semantic
@@ -278,7 +316,7 @@ async function renderNode(node, options) {
278
316
  // preprocessor for AsciiDoc imports) lose the directive at
279
317
  // stage 1 because targets only exist after stage 2 has
280
318
  // converted sibling files.
281
- if (options.undefinedBehavior === 'preserve') {
319
+ if (options.undefinedBehavior === 'preserve' || options.undefinedBehavior === 'asciidoc-literal') {
282
320
  return `{% include "${node.path}" %}`;
283
321
  }
284
322
  const message = error instanceof Error ? error.message : String(error);
@@ -307,14 +345,22 @@ async function renderNode(node, options) {
307
345
  const previousOffset = parentOffset;
308
346
  // Set new offset in context
309
347
  context.set('_levelOffset', newOffset);
348
+ // Fresh scope: a fence left open by unrelated earlier content must
349
+ // not suppress heading shifts here. Save the outer state so a NESTED
350
+ // leveloffset sitting inside an open fence doesn't wipe it — without
351
+ // the restore, the outer fence's real closer was later mis-read as an
352
+ // opener, flipping fence state for the rest of the render.
353
+ const previousFence = context.get('_levelOffsetFence') ?? null;
354
+ context.set('_levelOffsetFence', null);
310
355
  try {
311
356
  // Render body with offset active
312
357
  const result = await renderNodes(node.body, options);
313
358
  return result;
314
359
  }
315
360
  finally {
316
- // Always restore previous offset
361
+ // Always restore previous offset + the outer fence state
317
362
  context.set('_levelOffset', previousOffset);
363
+ context.set('_levelOffsetFence', previousFence);
318
364
  }
319
365
  }
320
366
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
package/dist/scan.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Scanning-grammar mirrors of parser statements, for tools that need to
3
+ * FIND directives in raw text without running the full parser (workspace
4
+ * indexers, linters). Kept next to the parser so grammar changes update
5
+ * both; tests/scan.test.ts asserts parser agreement for every form the
6
+ * scan regex matches.
7
+ */
8
+ /**
9
+ * Fresh regex matching a complete `{% include "path" %}` statement,
10
+ * capturing the path. Factory (not a shared const) because the global
11
+ * flag makes RegExp objects stateful.
12
+ *
13
+ * Grammar notes, matching parser.ts:
14
+ * - `{%-` / `-%}` whitespace-trim markers are accepted.
15
+ * - At least one whitespace character is required after `include`.
16
+ * - The path is quoted with `"` or `'` and contains no quote chars.
17
+ */
18
+ export declare const includeDirectiveRe: () => RegExp;
19
+ /** All `{% include %}` paths in a text, in order. */
20
+ export declare const scanIncludes: (text: string) => string[];
21
+ /**
22
+ * Fresh regex matching a complete `{{ … }}` variable/expression output,
23
+ * capturing the raw inner source (whitespace-trim markers accepted, not
24
+ * captured). Grammar mirror of parser.ts's `{{`→`}}` scan.
25
+ */
26
+ export declare const variableRe: () => RegExp;
27
+ /**
28
+ * Fresh regex matching a complete `{% … %}` statement tag, capturing the
29
+ * keyword and the raw remainder (up to the closing marker). Grammar mirror
30
+ * of parser.ts's `{%`→`%}` scan — the keyword set is NOT validated here;
31
+ * consumers classify (if/elif/else/endif/include/set/…) themselves.
32
+ */
33
+ export declare const directiveTagRe: () => RegExp;
34
+ /**
35
+ * Fresh regex matching a complete `{# … #}` comment. Grammar mirror of
36
+ * parser.ts's `{#`→`#}` scan.
37
+ */
38
+ export declare const commentRe: () => RegExp;
39
+ /**
40
+ * Fresh regex matching a complete `{% raw %}…{% endraw %}` block, capturing
41
+ * the verbatim inner content. Grammar mirror of parser.ts's raw handling.
42
+ * Consumers that classify individual tags (directiveTagRe) should match
43
+ * raw blocks FIRST — the inner content is not directive syntax.
44
+ */
45
+ export declare const rawBlockRe: () => RegExp;
46
+ //# sourceMappingURL=scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,QAAO,MACS,CAAC;AAEhD,qDAAqD;AACrD,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAM,EACiB,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,MAAmC,CAAC;AAElE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,QAAO,MACkB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAO,MAA2B,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,QAAO,MAC0B,CAAC"}
package/dist/scan.js ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Scanning-grammar mirrors of parser statements, for tools that need to
3
+ * FIND directives in raw text without running the full parser (workspace
4
+ * indexers, linters). Kept next to the parser so grammar changes update
5
+ * both; tests/scan.test.ts asserts parser agreement for every form the
6
+ * scan regex matches.
7
+ */
8
+ /**
9
+ * Fresh regex matching a complete `{% include "path" %}` statement,
10
+ * capturing the path. Factory (not a shared const) because the global
11
+ * flag makes RegExp objects stateful.
12
+ *
13
+ * Grammar notes, matching parser.ts:
14
+ * - `{%-` / `-%}` whitespace-trim markers are accepted.
15
+ * - At least one whitespace character is required after `include`.
16
+ * - The path is quoted with `"` or `'` and contains no quote chars.
17
+ */
18
+ export const includeDirectiveRe = () => /\{%-?\s*include\s+["']([^"']+)["']\s*-?%\}/g;
19
+ /** All `{% include %}` paths in a text, in order. */
20
+ export const scanIncludes = (text) => [...text.matchAll(includeDirectiveRe())].map((match) => match[1]);
21
+ /**
22
+ * Fresh regex matching a complete `{{ … }}` variable/expression output,
23
+ * capturing the raw inner source (whitespace-trim markers accepted, not
24
+ * captured). Grammar mirror of parser.ts's `{{`→`}}` scan.
25
+ */
26
+ export const variableRe = () => /\{\{-?([\s\S]*?)-?\}\}/g;
27
+ /**
28
+ * Fresh regex matching a complete `{% … %}` statement tag, capturing the
29
+ * keyword and the raw remainder (up to the closing marker). Grammar mirror
30
+ * of parser.ts's `{%`→`%}` scan — the keyword set is NOT validated here;
31
+ * consumers classify (if/elif/else/endif/include/set/…) themselves.
32
+ */
33
+ export const directiveTagRe = () => /\{%-?\s*([A-Za-z_][A-Za-z0-9_]*)([\s\S]*?)-?%\}/g;
34
+ /**
35
+ * Fresh regex matching a complete `{# … #}` comment. Grammar mirror of
36
+ * parser.ts's `{#`→`#}` scan.
37
+ */
38
+ export const commentRe = () => /\{#[\s\S]*?#\}/g;
39
+ /**
40
+ * Fresh regex matching a complete `{% raw %}…{% endraw %}` block, capturing
41
+ * the verbatim inner content. Grammar mirror of parser.ts's raw handling.
42
+ * Consumers that classify individual tags (directiveTagRe) should match
43
+ * raw blocks FIRST — the inner content is not directive syntax.
44
+ */
45
+ export const rawBlockRe = () => /\{%-?\s*raw\s*-?%\}([\s\S]*?)\{%-?\s*endraw\s*-?%\}/g;
46
+ //# sourceMappingURL=scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAC7C,6CAA6C,CAAC;AAEhD,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAY,EAAE,CACrD,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,yBAAyB,CAAC;AAElE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE,CACzC,kDAAkD,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,iBAAiB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE,CACrC,sDAAsD,CAAC"}
package/dist/types.d.ts CHANGED
@@ -116,11 +116,21 @@ export interface RenderOptions {
116
116
  * Used by the AsciiDoc convert pipeline so unresolved attributes
117
117
  * survive into the post-render artifact for downstream resolution.
118
118
  * See plans/format-asciidoc-import.md.
119
+ * - `'asciidoc-literal'` — emit the single-brace `{<name>}` form:
120
+ * what asciidoctor renders for an undefined attribute reference.
121
+ * For terminal builds of AsciiDoc-migrated corpora, where every
122
+ * `{{ name }}` the renderer sees was converted from an `{name}`
123
+ * attribute ref — an unresolvable one is a literal placeholder
124
+ * (`{namespace}`, `${url}`), not a variable to carry forward.
125
+ * Behaves like `'preserve'` for conditionals and includes.
126
+ * NOTE: the emitted name keeps Minja's underscore normalization
127
+ * (`{policy_gen_cr}` for source `{policy-gen-cr}`).
119
128
  */
120
- undefinedBehavior?: 'empty' | 'throw' | 'preserve';
129
+ undefinedBehavior?: 'empty' | 'throw' | 'preserve' | 'asciidoc-literal';
121
130
  /**
122
131
  * How `{% if %}` conditions that reference an undefined variable
123
- * behave. Only consulted when `undefinedBehavior` is `'preserve'`.
132
+ * behave. Only consulted when `undefinedBehavior` is `'preserve'`
133
+ * or `'asciidoc-literal'`.
124
134
  *
125
135
  * - `'preserve'` (default) — round-trip the whole
126
136
  * `{% if … %}…{% endif %}` verbatim so a later pass (with the value
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}