Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
direct-dev
Advanced tools
Запустить сборку тестового проекта:
npm run enb
При обходе блоков порядок не гарантируется!
Генерирует декларацию бандла (bemdecl.js), содержащю заданный список БЭМ-сущностей.
String
[target] — Результирующий таргет. По умолчанию ?.bemdecl.js
.String[]
[entities] — Список имен сущностей (в соответствии с правилами именования БЭМ).const dev = require('direct-dev');
nodeConfig.addTech([
dev.techs.devDeclaration,
{
target: '?.bemdecl.js',
entities: ['block1', 'block1__elem2']
}]);
Генерирует bemjson для отладочной страницы. В результате получается файл bemjson.js, содержащий блок dev-page
с заданными параметрами.
Используя полученный bemjson, можно сгенерировать HTML-разметку отладочной страницы с помощью технологии bemjson-to-html из пакета enb-bemxjst.
String
[target] — Результирующий таргет. По умолчанию ?.bemjson.js
.String
[block] — Название корневого блока. По умолчанию dev-page
.String
[type] — Значение модификатора type
.String
[js] — js-таргет для подключения к странице.String
[devJs] — js-таргет для подключения к странице вспомогательного кода (например, тестов).String
[css] — css-таргет для подключения к странице.Если указаны значения параметров css, js, devJs, то перед сборкой bemjson отлалочной страницы будут собраны указанные таргеты.
const dev = require('direct-dev');
nodeConfig.addTech([
dev.techs.devPageBemjson,
{
target: '?.bemjson.js',
type: 'test',
js: '?.js',
devJs: '?.test.js',
css: '?.css'
}]);
Собирает бандл с кодом тестов. Включает туда содержимое файлов .test.js
, соответствующих заданному фильтру.
String
[target] — Результирующий таргет. По умолчанию ?.test.js
.BlockFilter
[filter] — Фильтр по названию блока и уровням переопределения. По умолчанию - не указан.const dev = require('direct-dev');
const filter = new dev.BlockFilter(
{ targetBlock: 'block-name', targetLevels: ['source.blocks'] },
{ rootPath: config.getRootPath() }
);
nodeConfig.addTech([
dev.techs.jsTest,
{
target: '?.test.js',
filter: filter
}]);
Собирает бандл для песочницы. Включает туда содержимое файлов .sandbox.js, обернутое в служебный код песочницы.
String
[target] — Результирующий таргет. По умолчанию ?.sandbox.js
.BlockFilter
[filter] — Фильтр по названию блока и уровням переопределения. По умолчанию - не указан.const dev = require('direct-dev');
const filter = new dev.BlockFilter(
{ targetBlock: 'block-name', targetLevels: ['source.blocks'] },
{ rootPath: config.getRootPath() }
);
nodeConfig.addTech([
dev.techs.sandbox,
{
target: '?.sandbox.js',
filter: filter
}]);
Технология принимает на вход html-файл с тестами и передает его программе mocha-phantomjs. Результат в формате JSON записываеся в файл.
String
[target] — Результирующий таргет. По умолчанию ?.test-result.json
.String
[html] — Таргет страницы с тестами, которая будет передана в phantomjs. По умолчанию ?.html
. Указанный таргет будет собран автоматически перед запуском тестов.const dev = require('direct-dev');
nodeConfig.addTech([
dev.techs.phantomTesting,
{
target: '?.test-result.json',
html: '?.html'
}]);
Технология склеивает исходные файлы в один, предварительно выполняя обработку каждого отдельного файла цепочкой обработчиков.
String
[target] — Результирующий таргет. По умолчанию ?.merged.js
.Object|Array
[apply] — Обработчик или массив обработчиков, которые будут применяться к каждому файлу.В качестве обработчиков используются плагины для gulp. Также в пакете доступны два дополнительных плагина:
${relative}
(относительный путь к текущему файлу) и ${path}
(абсолютный путь).Инструментирование выбранных файлов:
const dev = require('direct-dev');
const filter = vinyl => true; // TODO: add business logic
nodeConfig.addTech([
dev.techs.transporter('js'),
{
target: '?.js',
apply: [
dev.transporterPlugins.coverage({ filter }), // инструментируем только нужные файлы
dev.transporterPlugins.wrap({ // добавляем комментарии в начало и конец
before: '/* begin: ${relative} */',
after: '/* end: ${relative} */' })
]
}]);
...
...
FAQs
Yandex Direct dev tools
The npm package direct-dev receives a total of 2 weekly downloads. As such, direct-dev popularity was classified as not popular.
We found that direct-dev 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.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.