Переписал многие конструкции, расширил комментарии, оформил в виде NPM-пакета. Исходный код доступен на GitHub.
Если подключить в свой проект через NPM, можно автоматически получать обновления по мере выхода новых версий. Рассчитано на совместное использование с пакетом @types/node.
Установить на комп Node.js, пакетный менеджер npm (рекомендую использовать pnpm).
Ниже приведена минимальная настройка VSCode, просто чтобы активировать подсветку синтаксиса в JavaScript (без TS и прочих сложностей). В корне проекта потребуется создать два файла:
Файл package.json - для управления пакетами
Используется для подключения требуемых пакетов. В дальнейшем здесь можно обновлять пакеты - стереть используемый номер версии, поставить двойную кавычку и дождаться, пока откроется выпадающий список с актуальными вариантами.
{
"version": "0.0.0",
"private": true,
"description": "Shines light on your wb-rules syntax.",
"devDependencies": {
"@mirta/globals": "^0.3.2",
"@types/node": "^24.7.2"
}
}
После добавления файла открыть встроенный терминал, для автоматического скачивания пакетов выполнить в нём
pnpm install
Добавить второй файл и перезапустить студию:
Файл tsconfig.json - для активации подсветки
Объясняет VSCode, где искать файлы с кодом и что к ним применять. Данная конфигурация настроена в режим “просто дай мне подсветку в JavaScript” - ничего другого не делает.
{
"compilerOptions": {
"module": "preserve",
"moduleResolution": "bundler",
"rootDir": ".",
"allowJs": true,
"types": [
"@mirta/globals",
"node"
],
"noEmit": true,
},
"include": [
"**/*.js",
"**/*.ts"
]
}
Теперь можно создавать файлы с кодом правил. Моя рекомендация - располагать их в папке src/wb-rules для скриптов и src/wb-rules-modules для модулей соответственно.
Скриншот работающей подсветки
Если хотите задействовать VSCode на максимум, то обратите внимание на опенсорсный фреймворк «Мирта». Он продолжает развитие идеи с интерфейсным файлом и помогает настроить все остальные конфигурации.
Добавил туда консольную утилиту - мастер генерации проектов. Задаёт несколько вопросов и на основе предпочтений создаёт вам проект wb-rules, где всё заранее настроено, проверено и готово к работе - можно сразу размышлять над автоматизациями.