
Security News
Software Engineering Daily Podcast: Feross on AI, Open Source, and Supply Chain Risk
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.
grunt-bemaker
Advanced tools
Grunt-плагин для сборки БЭМ-проекта с помощью bemaker
Если вы не использовали Grunt раньше, то можете ознакомиться с вступительной инструкцией, в которой объясняется, как добавить Gruntfile в проект.
Установить этот плагин можно следующей командой:
npm install grunt-bemaker
После установки, можно будет подключить плагин в вашем Gruntfile:
grunt.loadNpmTasks('grunt-bemaker');
Для запуска сборки проекта, достаточно выполнить команду: grunt bemaker.
Сборка осуществляется с помощью bemaker.
directoriesТип: string[]
Обязательный
Опция указывает расположение директорий с блоками.
Сборщик ничего не соберёт без указания расположения блоков.
Следующий пример задаёт сборку блоков из директорий common и phone:
{
directories: ['common', 'phone']
}
outnameТип: string
Опция указывает имя сохраняемых файлов.
По умолчанию файлы сохраняются без имени, только с расширением.
Следующий пример задаёт сохраняемым файлам имя all:
{
outname: 'all'
}
outdirТип: string
Опция указывает директорию для сохраняемых файлов.
По умолчанию файлы сохраняются в текущую директорию.
Следующий пример задаёт директорию bundle для сохраняемых файлов:
{
outdir: 'bundle'
}
extensionsТип: string[]
Опция указывает расширения для сохраняемых файлов.
По умолчанию сохраняются все найденные расширения.
Следующий пример задаёт к сохранению расширения .js и .css:
{
extensions: ['.js', '.css']
}
blocksТип: string[]
Опция указывает имена блоков, которые необходимо собрать.
По умолчанию в сборку включаются все найденные блоки.
Следующий пример задаёт к сборке только блоки button и input:
{
blocks: ['button', 'input']
}
dependextТип: string
Опция указывает расширение файлов, в которых сборщику следует искать зависимости блоков.
По умолчанию поиск зависимостей осуществляется в файлах с расширением .js.
Следующий пример задаёт поиск зависимостей в файлах .deps.js:
{
dependext: '.deps.js'
}
jsdoctagТип: string
Опция указывает имя JSDoc-тега, в котором сборщику следует читать зависимости блоков.
По умолчанию чтение зависимостей осуществляется в теге @bemaker.
Следующий пример задаёт чтение зависимостей в теге @deps:
{
jsdoctag: 'deps'
}
before и afterТип: boolean|Function
Опции отменяют или изменяют комментарий перед и после содержимого каждого файла.
По умолчанию в собранном файле перед содержимым каждого файла устанавливается такого вида комментарий:
/* before: blocks/button/button.css */
Следующий пример отменяет установку этого комментария:
{
before: false
}
Для изменения комментария можно указать функцию, которая должна возвращать строку и принимает следующие параметры:
absPath Абсолютный путь до файлаrelPath Относительный путь до файлаextname Полное расширение файла (например для file.ie.css будет .ie.css)index Индекс файлаlength Количество файловПример изменения комментария:
{
before: function(absPath, relPath, extname, index, length) {
return '/* custom before: ' + absPath + ' */\n';
}
}
FAQs
Plugin to build BEM project
We found that grunt-bemaker demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.

Security News
GitHub has revoked npm classic tokens for publishing; maintainers must migrate, but OpenJS warns OIDC trusted publishing still has risky gaps for critical projects.

Security News
Rust’s crates.io team is advancing an RFC to add a Security tab that surfaces RustSec vulnerability and unsoundness advisories directly on crate pages.