diff --git a/README.md b/README.md index fba31ff..7dfcb02 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,8 @@ const nunjucksTemplate = ` ## Опции -- `templatesFolder` - обязательный параметр, путь до папки с файлами шаблонов. -- `varNames` - Массив, обязательный параметр. Имена переменных для преобразования кода шаблонизатора. +- `templatesFolder` - обязательный параметр, путь до папки с файлами шаблонов +- `globals` - массив, необязательный параметр. Глобальные переменные для Nunjucks (например, `[{name: "message", value: "Hello, world!"}]`) +- `varNames` - массив, обязательный параметр. Имена переменных для преобразования кода шаблонизатора **Важно:** Параметр `cacheDirectory` в опциях babel-loader должен быть отключён. diff --git a/index.js b/index.js index 72872d6..e22fd9d 100644 --- a/index.js +++ b/index.js @@ -12,6 +12,11 @@ export default ({types: t}) => { const templatesFolder = state.opts.templatesFolder; const value = path.parentPath.get('init').node.quasis[0].value.raw; const env = new nunjucks.Environment(new nunjucks.FileSystemLoader(templatesFolder)); + if (state.opts.globals) { + state.opts.globals.forEach(({name, value}) => { + env.addGlobal(name, value); + }); + } const render = env.renderString(value); path.parentPath.get('init').node.quasis = [t.templateElement({cooked: render, raw: render})]; break; diff --git a/package.json b/package.json index 6ec776b..3b6e223 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@advdominion/babel-plugin-nunjucks", - "version": "2.0.1", + "version": "2.1.0", "type": "module", "engines": { "node": "^16.0.0"