From a11bc9fbe09f4af63aa276d11e5604199a2dc29b Mon Sep 17 00:00:00 2001 From: overlookmotel <557937+overlookmotel@users.noreply.github.com> Date: Sat, 4 Oct 2025 17:03:34 +0000 Subject: [PATCH] fix(napi/parser, linter/plugins): add `range` field to `TemplateElement` (#14339) Fix missing `range` field in `TemplateElement` in raw transfer deserializers. --- crates/oxc_ast/src/serialize/literal.rs | 2 +- napi/parser/generated/deserialize/js_range.js | 1 + napi/parser/generated/deserialize/ts_range.js | 1 + napi/parser/generated/deserialize/ts_range_no_parens.js | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/oxc_ast/src/serialize/literal.rs b/crates/oxc_ast/src/serialize/literal.rs index a38d656dd246a..7a51030ee98e2 100644 --- a/crates/oxc_ast/src/serialize/literal.rs +++ b/crates/oxc_ast/src/serialize/literal.rs @@ -202,7 +202,7 @@ impl ESTree for RegExpFlagsConverter<'_> { value.cooked = value.cooked .replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))); } - { type: 'TemplateElement', value, tail, start, end } + { type: 'TemplateElement', value, tail, start, end, ...(RANGE && { range: [start, end] }) } "#)] pub struct TemplateElementConverter<'a, 'b>(pub &'b TemplateElement<'a>); diff --git a/napi/parser/generated/deserialize/js_range.js b/napi/parser/generated/deserialize/js_range.js index 2954eefb120a3..e6be5f879f949 100644 --- a/napi/parser/generated/deserialize/js_range.js +++ b/napi/parser/generated/deserialize/js_range.js @@ -490,6 +490,7 @@ function deserializeTemplateElement(pos) { tail, start, end, + range: [start, end], }; } diff --git a/napi/parser/generated/deserialize/ts_range.js b/napi/parser/generated/deserialize/ts_range.js index 562e19ad1c727..a32e97a2b21a0 100644 --- a/napi/parser/generated/deserialize/ts_range.js +++ b/napi/parser/generated/deserialize/ts_range.js @@ -514,6 +514,7 @@ function deserializeTemplateElement(pos) { tail, start, end, + range: [start, end], }; } diff --git a/napi/parser/generated/deserialize/ts_range_no_parens.js b/napi/parser/generated/deserialize/ts_range_no_parens.js index 9a611af08bbf9..a709cf7b4b144 100644 --- a/napi/parser/generated/deserialize/ts_range_no_parens.js +++ b/napi/parser/generated/deserialize/ts_range_no_parens.js @@ -514,6 +514,7 @@ function deserializeTemplateElement(pos) { tail, start, end, + range: [start, end], }; }