cloudflare-expression-lint 0.7.2 → 0.8.2

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/fixer.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { parse } from './parser.js';
8
8
  import { substitutePlaceholders, restorePlaceholders } from './placeholders.js';
9
+ import { printNode, normalizeOp, collectChain, stripGroup } from './ast-utils.js';
9
10
  const CLIKE_TO_ENGLISH = {
10
11
  '==': 'eq', '!=': 'ne', '<': 'lt', '<=': 'le', '>': 'gt', '>=': 'ge',
11
12
  '~': 'matches', '&&': 'and', '||': 'or', '!': 'not', '^^': 'xor',
@@ -376,27 +377,6 @@ function isAllOp(node, op) {
376
377
  return false;
377
378
  return isAllOp(node.left, op) && isAllOp(node.right, op);
378
379
  }
379
- function normalizeOp(op) {
380
- if (op === '&&')
381
- return 'and';
382
- if (op === '||')
383
- return 'or';
384
- return op;
385
- }
386
- function collectChain(node, op, branches) {
387
- if (node.kind === 'Logical' && normalizeOp(node.operator) === op) {
388
- collectChain(node.left, op, branches);
389
- collectChain(node.right, op, branches);
390
- }
391
- else {
392
- branches.push(node);
393
- }
394
- }
395
- function stripGroup(node) {
396
- while (node.kind === 'Group')
397
- node = node.expression;
398
- return node;
399
- }
400
380
  function wrapNot(node) {
401
381
  // Don't double-negate
402
382
  if (node.kind === 'Not')
@@ -420,50 +400,4 @@ function buildOrChain(nodes) {
420
400
  }
421
401
  return result;
422
402
  }
423
- // ── AST Printer ──────────────────────────────────────────────────────
424
- function printNode(node) {
425
- switch (node.kind) {
426
- case 'BooleanLiteral':
427
- return String(node.value);
428
- case 'StringLiteral':
429
- if (node.raw)
430
- return `r"${node.value}"`;
431
- return `"${node.value.replace(/"/g, '\\"')}"`;
432
- case 'IntegerLiteral':
433
- case 'FloatLiteral':
434
- return String(node.value);
435
- case 'IPLiteral':
436
- return node.cidr !== undefined ? `${node.value}/${node.cidr}` : node.value;
437
- case 'FieldAccess': {
438
- let s = node.field;
439
- if (node.mapKey !== undefined)
440
- s += `["${node.mapKey.replace(/"/g, '\\"')}"]`;
441
- if (node.arrayIndex !== undefined)
442
- s += `[${node.arrayIndex}]`;
443
- return s;
444
- }
445
- case 'NamedList':
446
- return node.name.startsWith('$') ? node.name : `$${node.name}`;
447
- case 'FunctionCall':
448
- return `${node.name}(${node.args.map(a => printNode(a)).join(', ')})`;
449
- case 'Comparison':
450
- return `${printNode(node.left)} ${node.operator} ${printNode(node.right)}`;
451
- case 'Logical':
452
- return `${printNode(node.left)} ${node.operator} ${printNode(node.right)}`;
453
- case 'Not':
454
- return `not ${printNode(node.operand)}`;
455
- case 'InExpression': {
456
- const field = printNode(node.field);
457
- const neg = node.negated ? 'not ' : '';
458
- if (node.values.length === 1 && node.values[0].kind === 'NamedList') {
459
- return `${neg}${field} in ${printNode(node.values[0])}`;
460
- }
461
- return `${neg}${field} in {${node.values.map(v => printNode(v)).join(' ')}}`;
462
- }
463
- case 'Group':
464
- return `(${printNode(node.expression)})`;
465
- case 'ArrayUnpack':
466
- return `${printNode(node.field)}[*]`;
467
- }
468
- }
469
403
  //# sourceMappingURL=fixer.js.map
package/dist/fixer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fixer.js","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixer.js","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":"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"}
package/dist/formatter.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { parse } from './parser.js';
8
8
  import { substitutePlaceholders, restorePlaceholders } from './placeholders.js';
9
+ import { printNode, normalizeOp, collectChain } from './ast-utils.js';
9
10
  const DEFAULT_OPTIONS = {
10
11
  maxWidth: 100,
11
12
  indent: ' ',
@@ -35,59 +36,6 @@ export function formatExpression(expression, options) {
35
36
  // Format with line breaks
36
37
  return restorePlaceholders(printNodeMultiline(ast, 0, opts), map);
37
38
  }
38
- // ── Single-line printer ──────────────────────────────────────────────
39
- /** Print an AST node as a single-line string (canonical form). */
40
- function printNode(node) {
41
- switch (node.kind) {
42
- case 'BooleanLiteral':
43
- return String(node.value);
44
- case 'StringLiteral':
45
- if (node.raw)
46
- return `r"${node.value}"`;
47
- return `"${escapeString(node.value)}"`;
48
- case 'IntegerLiteral':
49
- return String(node.value);
50
- case 'FloatLiteral':
51
- return String(node.value);
52
- case 'IPLiteral':
53
- return node.cidr !== undefined ? `${node.value}/${node.cidr}` : node.value;
54
- case 'FieldAccess': {
55
- let s = node.field;
56
- if (node.mapKey !== undefined)
57
- s += `["${escapeString(node.mapKey)}"]`;
58
- if (node.arrayIndex !== undefined)
59
- s += `[${node.arrayIndex}]`;
60
- return s;
61
- }
62
- case 'NamedList':
63
- return node.name.startsWith('$') ? node.name : `$${node.name}`;
64
- case 'FunctionCall': {
65
- const args = node.args.map(a => printNode(a)).join(', ');
66
- return `${node.name}(${args})`;
67
- }
68
- case 'Comparison':
69
- return `${printNode(node.left)} ${node.operator} ${printNode(node.right)}`;
70
- case 'Logical':
71
- return `${printNode(node.left)} ${node.operator} ${printNode(node.right)}`;
72
- case 'Not':
73
- return `not ${printNode(node.operand)}`;
74
- case 'InExpression': {
75
- const field = printNode(node.field);
76
- const neg = node.negated ? 'not ' : '';
77
- // Named list: ip.src in $list (no braces)
78
- if (node.values.length === 1 && node.values[0].kind === 'NamedList') {
79
- return `${neg}${field} in ${printNode(node.values[0])}`;
80
- }
81
- // Value list: ip.src in {1.2.3.4 5.6.7.8}
82
- const values = node.values.map(v => printNode(v)).join(' ');
83
- return `${neg}${field} in {${values}}`;
84
- }
85
- case 'Group':
86
- return `(${printNode(node.expression)})`;
87
- case 'ArrayUnpack':
88
- return `${printNode(node.field)}[*]`;
89
- }
90
- }
91
39
  // ── Multi-line printer ───────────────────────────────────────────────
92
40
  /** Print an AST node with line breaks for readability. */
93
41
  function printNodeMultiline(node, depth, opts) {
@@ -167,24 +115,6 @@ function printLogicalChain(node, depth, opts) {
167
115
  }
168
116
  return lines.join('\n');
169
117
  }
170
- /** Collect branches of the same operator into a flat list. */
171
- function collectChain(node, op, branches) {
172
- if (node.kind === 'Logical' && normalizeOp(node.operator) === op) {
173
- collectChain(node.left, op, branches);
174
- collectChain(node.right, op, branches);
175
- }
176
- else {
177
- branches.push(node);
178
- }
179
- }
180
- /** Normalize operator to English form for consistency. */
181
- function normalizeOp(op) {
182
- switch (op) {
183
- case '&&': return 'and';
184
- case '||': return 'or';
185
- default: return op;
186
- }
187
- }
188
118
  /** Print an in-expression with values broken across lines if needed. */
189
119
  function printInExpressionMultiline(node, depth, opts) {
190
120
  const ind = opts.indent.repeat(depth);
@@ -201,11 +131,4 @@ function printInExpressionMultiline(node, depth, opts) {
201
131
  const valueLines = values.map(v => `${indValues}${v}`).join('\n');
202
132
  return `${ind}${neg}${field} in {\n${valueLines}\n${ind}}`;
203
133
  }
204
- /** Escape special characters in a string literal. */
205
- /** Escape for Cloudflare expression string literals.
206
- * Only `"` needs escaping (to `\"`). Backslashes pass through as-is
207
- * because they're regex escapes in Cloudflare expressions, not string escapes. */
208
- function escapeString(s) {
209
- return s.replace(/"/g, '\\"');
210
- }
211
134
  //# sourceMappingURL=formatter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export { tokenize } from './lexer.js';
8
8
  export { parse } from './parser.js';
9
+ export { printNode, normalizeOp, collectChain, stripGroup } from './ast-utils.js';
9
10
  export { validate } from './validator.js';
10
11
  export { formatExpression } from './formatter.js';
11
12
  export type { FormatOptions } from './formatter.js';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@
6
6
  */
7
7
  export { tokenize } from './lexer.js';
8
8
  export { parse } from './parser.js';
9
+ export { printNode, normalizeOp, collectChain, stripGroup } from './ast-utils.js';
9
10
  export { validate } from './validator.js';
10
11
  export { formatExpression } from './formatter.js';
11
12
  export { fixExpression } from './fixer.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAc3C,0DAA0D;AAC1D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EAAE,iBAAiB,EACvC,sBAAsB,EAAE,mBAAmB,GAC5C,MAAM,wBAAwB,CAAC;AAGhC,yBAAyB;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAS3B,wBAAwB;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,MAAM,IAAI,8BAA8B,EACxC,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAc3C,0DAA0D;AAC1D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EAAE,iBAAiB,EACvC,sBAAsB,EAAE,mBAAmB,GAC5C,MAAM,wBAAwB,CAAC;AAGhC,yBAAyB;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAS3B,wBAAwB;AACxB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,MAAM,IAAI,8BAA8B,EACxC,sBAAsB,EACtB,4BAA4B,EAC5B,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -5,6 +5,7 @@
5
5
  * formatted multi-line versions using >- block scalar syntax.
6
6
  */
7
7
  import { type FormatOptions } from './formatter.js';
8
+ export { findExpressionLocation } from './yaml-locator.js';
8
9
  export interface RewriteOptions extends FormatOptions {
9
10
  /** Convert existing | and |- block scalars to >- */
10
11
  convertBlockScalars?: boolean;
@@ -25,15 +26,3 @@ export interface RewriteResult {
25
26
  export declare function rewriteExpressions(content: string, expressions: {
26
27
  expression: string;
27
28
  }[], options?: RewriteOptions): RewriteResult;
28
- /**
29
- * Find the location of an expression value in YAML content,
30
- * searching backwards from `beforeOffset`.
31
- */
32
- export declare function findExpressionLocation(content: string, expression: string, beforeOffset?: number): {
33
- lineStart: number;
34
- lineEnd: number;
35
- indent: string;
36
- key: string;
37
- /** The block scalar type if the expression uses one, or null for inline */
38
- isBlockScalar?: string;
39
- } | null;
package/dist/rewriter.js CHANGED
@@ -5,12 +5,10 @@
5
5
  * formatted multi-line versions using >- block scalar syntax.
6
6
  */
7
7
  import { formatExpression } from './formatter.js';
8
+ import { findExpressionLocation } from './yaml-locator.js';
8
9
  import { parse } from './parser.js';
9
- /** Known YAML keys that contain Cloudflare expressions */
10
- const EXPRESSION_KEYS = new Set([
11
- 'expression', 'source_url_expression', 'counting_expression',
12
- 'rewrite_expression', 'condition',
13
- ]);
10
+ // Re-export for backwards compatibility
11
+ export { findExpressionLocation } from './yaml-locator.js';
14
12
  /**
15
13
  * Rewrite expressions in YAML content for readability.
16
14
  * Returns the modified content and count of changes.
@@ -114,121 +112,4 @@ function deduplicateExpressions(expressions) {
114
112
  return true;
115
113
  });
116
114
  }
117
- /**
118
- * Find the location of an expression value in YAML content,
119
- * searching backwards from `beforeOffset`.
120
- */
121
- export function findExpressionLocation(content, expression, beforeOffset) {
122
- // Normalize the search expression: collapse whitespace so multi-line
123
- // scanner output matches against joined block scalar content
124
- const trimmed = expression.split('\n').map(l => l.trim()).filter(l => l !== '').join(' ').trim();
125
- // Strip \r from lines for regex matching (CRLF files), but keep offsets based on original content
126
- const rawLines = content.split('\n');
127
- const lines = rawLines.map(l => l.replace(/\r$/, ''));
128
- let offset = 0;
129
- const offsets = [];
130
- // Build line offset index using raw line lengths to preserve correct byte offsets
131
- for (const line of rawLines) {
132
- offsets.push(offset);
133
- offset += line.length + 1;
134
- }
135
- // Search backwards from beforeOffset (or end of file)
136
- const maxOffset = beforeOffset ?? content.length;
137
- for (let i = lines.length - 1; i >= 0; i--) {
138
- if (offsets[i] >= maxOffset)
139
- continue;
140
- const line = lines[i];
141
- const keyMatch = line.match(/^(\s*(?:-\s+)?)([\w_]+):\s*(.*)$/);
142
- if (!keyMatch)
143
- continue;
144
- const [, fullIndent, key, value] = keyMatch;
145
- if (!EXPRESSION_KEYS.has(key))
146
- continue;
147
- // Use the whitespace portion for indentation (without list marker)
148
- const indent = fullIndent;
149
- // Inline value
150
- if (value && !['|', '>-', '>', '|+', '|-', '>+'].includes(value.trim())) {
151
- let unquoted = value.replace(/^['"]|['"]$/g, '').trim();
152
- // Unescape YAML double-quoted string escapes
153
- if (value.trim().startsWith('"')) {
154
- unquoted = unquoted.replace(/\\"/g, '"').replace(/\\\\/g, '\\');
155
- }
156
- if (unquoted === trimmed || value.trim() === trimmed) {
157
- const lineEnd = offsets[i] + line.length + 1;
158
- return { lineStart: offsets[i], lineEnd, indent, key: `${key}:` };
159
- }
160
- // Plain multi-line value (wraps across lines without block scalar indicator)
161
- if (unquoted && !value.trim().startsWith('"') && !value.trim().startsWith("'")) {
162
- const keyIndent = indent.length;
163
- let j = i + 1;
164
- while (j < lines.length) {
165
- const nextLine = lines[j];
166
- if (nextLine.trim() === '' || countIndent(nextLine) > keyIndent) {
167
- j++;
168
- }
169
- else {
170
- break;
171
- }
172
- }
173
- if (j > i + 1) {
174
- const allLines = [value, ...lines.slice(i + 1, j)].map(l => l.trim()).filter(l => l !== '').join(' ').trim();
175
- if (allLines === trimmed) {
176
- const blockEnd = j < lines.length ? offsets[j] : content.length;
177
- return { lineStart: offsets[i], lineEnd: blockEnd, indent, key: `${key}:`, isBlockScalar: 'plain-multiline' };
178
- }
179
- }
180
- }
181
- }
182
- // Block scalar (| or >-)
183
- if (['|', '>-', '>', '|+', '|-', '>+'].includes(value.trim())) {
184
- const blockIndent = indent.length + 2;
185
- let j = i + 1;
186
- while (j < lines.length) {
187
- const nextLine = lines[j];
188
- if (nextLine.trim() === '' || countIndent(nextLine) >= blockIndent) {
189
- j++;
190
- }
191
- else {
192
- break;
193
- }
194
- }
195
- // Trim trailing blank lines — they're YAML structure, not block content
196
- while (j > i + 1 && lines[j - 1].trim() === '')
197
- j--;
198
- const blockContent = lines.slice(i + 1, j).map(l => l.trim()).filter(l => l !== '').join(' ').trim();
199
- if (blockContent === trimmed) {
200
- const blockEnd = j < lines.length ? offsets[j] : content.length;
201
- return { lineStart: offsets[i], lineEnd: blockEnd, indent, key: `${key}:`, isBlockScalar: value.trim() };
202
- }
203
- }
204
- // Value starts on the next line (key: \n value...)
205
- if (!value || !value.trim()) {
206
- const keyIndent = indent.length;
207
- let j = i + 1;
208
- while (j < lines.length) {
209
- const nextLine = lines[j];
210
- if (nextLine.trim() === '' || countIndent(nextLine) > keyIndent) {
211
- j++;
212
- }
213
- else {
214
- break;
215
- }
216
- }
217
- while (j > i + 1 && lines[j - 1].trim() === '')
218
- j--;
219
- if (j > i + 1) {
220
- const allLines = lines.slice(i + 1, j).map(l => l.trim()).filter(l => l !== '').join(' ').trim();
221
- if (allLines === trimmed) {
222
- const blockEnd = j < lines.length ? offsets[j] : content.length;
223
- return { lineStart: offsets[i], lineEnd: blockEnd, indent, key: `${key}:`, isBlockScalar: 'plain-multiline' };
224
- }
225
- }
226
- }
227
- }
228
- return null;
229
- }
230
- function countIndent(line) {
231
- const m = line.match(/^(\s*)/);
232
- return m ? m[1].length : 0;
233
- }
234
115
  //# sourceMappingURL=rewriter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../src/rewriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewriter.js","sourceRoot":"","sources":["../src/rewriter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Template placeholder detection.
3
+ *
4
+ * Detects template variables in expression strings that will be
5
+ * substituted before deployment (e.g., by Terraform templatefile()).
6
+ */
7
+ /**
8
+ * Detect if an expression contains template placeholders.
9
+ *
10
+ * Common patterns:
11
+ * - UPPER_CASE_IDENTIFIERS inside expressions (not quoted)
12
+ * - ${variable} Terraform interpolation
13
+ * - __NAME__ double-underscore convention
14
+ */
15
+ export declare function containsTemplatePlaceholders(expression: string): boolean;
16
+ /**
17
+ * Detect if an expression contains legacy-format placeholders (UPPER_CASE_VAR
18
+ * without __double_underscore__ delimiters). Returns false if all placeholders
19
+ * use the preferred __NAME__ format.
20
+ */
21
+ export declare function containsLegacyPlaceholders(expression: string): boolean;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Template placeholder detection.
3
+ *
4
+ * Detects template variables in expression strings that will be
5
+ * substituted before deployment (e.g., by Terraform templatefile()).
6
+ */
7
+ /**
8
+ * Detect if an expression contains template placeholders.
9
+ *
10
+ * Common patterns:
11
+ * - UPPER_CASE_IDENTIFIERS inside expressions (not quoted)
12
+ * - ${variable} Terraform interpolation
13
+ * - __NAME__ double-underscore convention
14
+ */
15
+ export function containsTemplatePlaceholders(expression) {
16
+ let inQuote = false;
17
+ let escaped = false;
18
+ for (let i = 0; i < expression.length; i++) {
19
+ const ch = expression[i];
20
+ if (escaped) {
21
+ escaped = false;
22
+ continue;
23
+ }
24
+ if (ch === '\\') {
25
+ escaped = true;
26
+ continue;
27
+ }
28
+ if (ch === '"') {
29
+ inQuote = !inQuote;
30
+ continue;
31
+ }
32
+ if (inQuote)
33
+ continue;
34
+ // Check for ${...} interpolation
35
+ if (ch === '$' && expression[i + 1] === '{')
36
+ return true;
37
+ // Check for UPPER_CASE_IDENTIFIER (at least 4 chars with underscore)
38
+ if (/[A-Z]/.test(ch)) {
39
+ let j = i;
40
+ while (j < expression.length && /[A-Z0-9_]/.test(expression[j]))
41
+ j++;
42
+ const word = expression.slice(i, j);
43
+ if (word.length >= 4 && word.includes('_') && /^[A-Z][A-Z0-9_]+$/.test(word)) {
44
+ return true;
45
+ }
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ /**
51
+ * Detect if an expression contains legacy-format placeholders (UPPER_CASE_VAR
52
+ * without __double_underscore__ delimiters). Returns false if all placeholders
53
+ * use the preferred __NAME__ format.
54
+ */
55
+ export function containsLegacyPlaceholders(expression) {
56
+ let inQuote = false;
57
+ let escaped = false;
58
+ for (let i = 0; i < expression.length; i++) {
59
+ const ch = expression[i];
60
+ if (escaped) {
61
+ escaped = false;
62
+ continue;
63
+ }
64
+ if (ch === '\\') {
65
+ escaped = true;
66
+ continue;
67
+ }
68
+ if (ch === '"') {
69
+ inQuote = !inQuote;
70
+ continue;
71
+ }
72
+ if (inQuote)
73
+ continue;
74
+ // Skip __NAME__ patterns (preferred format)
75
+ if (ch === '_' && expression[i + 1] === '_') {
76
+ let j = i + 2;
77
+ while (j < expression.length && /[A-Z0-9_]/.test(expression[j]))
78
+ j++;
79
+ const word = expression.slice(i, j);
80
+ if (word.length >= 6 && word.endsWith('__')) {
81
+ i = j - 1;
82
+ continue;
83
+ }
84
+ }
85
+ // Check for bare UPPER_CASE_IDENTIFIER (legacy)
86
+ if (/[A-Z]/.test(ch)) {
87
+ if (i > 0 && expression[i - 1] === '.')
88
+ continue;
89
+ if (i > 0 && /[a-zA-Z]/.test(expression[i - 1]))
90
+ continue;
91
+ let j = i;
92
+ while (j < expression.length && /[A-Z0-9_]/.test(expression[j]))
93
+ j++;
94
+ const word = expression.slice(i, j);
95
+ if (word.length >= 4 && word.includes('_') && /^[A-Z][A-Z0-9_]+$/.test(word)) {
96
+ return true;
97
+ }
98
+ }
99
+ }
100
+ return false;
101
+ }
102
+ //# sourceMappingURL=template-detection.js.map