Расширение VSCode выдает ошибку индексов регулярных выражений только тогда, когда включено другое расширение
Фон
Я работаю над расширением (vscode-color-blocks), которое использует индексы соответствия RegExp (новое в ES2022). Это означает, что я использую строку регулярного выражения с
d
флаг, чтобы получить индексы (реляционные позиции) каждой группы захвата в моем регулярном выражении (источник ):
export const colorBlockRegex = new RegExp(regexString, 'd');
Это означает, что объект успешного регулярного выражения будет иметь
.indices
атрибут, который я затем могу использовать (источник ):
const match = colorBlockRegex.exec(comment.content);
if (!match) continue;
console.log(match.indices);
Проблема
Все это прекрасно работает, когда я использую расширение отдельно и даже вместе с некоторыми другими расширениями. Но VSCode ведет себя так, как будто эта новая функция регулярных выражений недоступна после установки расширения Todo Tree. В этот момент мое расширение падает, и я получаю следующую ошибку:
stack trace: SyntaxError: Invalid flags: d
at _ (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:114:74341)
at Array.<anonymous> (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:114:3580)
at Object.parse (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:114:71938)
at Object.parse (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:1:12529)
at Object.parse (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:114:415)
at i (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:52:165)
at Array.get [as indices] (...\.vscode\extensions\gruntfuggly.todo-tree-0.0.215\dist\extension.js:52:2895)
at DecorationRangeHandler.addNewDecorationRanges (...\vscode-color-blocks\dist\extension.js:1735:95)
Трассировка стека немного сбивает с толку, так как она переходит от
gruntfuggly.todo-tree-0.0.215
в мое расширение
vscode-color-blocks
.
В противном случае должно быть что-то не так с тем, как эти два расширения работают в разных версиях Javascript?