enb-bembundle

2.0.1 • Public • Published

enb-bembundle Build Status

Предоставляет технологии для сборки bembundle-модулей.

Требования: зависимость от пакета enb версии 0.16.0 или выше.

css-chunks

Из css-файлов по deps'ам, собирает css-chunks.js-файл, обрабатывая инклуды, ссылки. css-chunks.js-файлы нужны для создания bembundle-файлов или bembundle-страниц.

Технология bembundle активно используется в bem-tools для выделения из проекта догружаемых кусков функционала и стилей (js/css).

Опции

  • String target — Результирующий таргет. По умолчанию ?.css-chunks.js.
  • String filesTarget — files-таргет, на основе которого получается список исходных файлов (его предоставляет технология files). По умолчанию — ?.files.
  • String sourceSuffixes — суффиксы файлов, по которым строится files-таргет. По умолчанию — 'css'.

Пример

nodeConfig.addTech(require('enb-bembundle/techs/css-chunks'));

css-borschik-chunks

Из css-файлов по deps'ам, собирает css-chunks.js-файл, обрабатывая инклуды, ссылки. Умеет минифицировать и фризить.

css-chunks.js-файлы нужны для создания bembundle-файлов или bembundle-страниц.

Технология bembundle активно используется в bem-tools для выделения из проекта догружаемых кусков функционала и стилей (js/css).

Опции

  • String target — Результирующий таргет. По умолчанию ?.css-chunks.js.
  • String filesTarget — files-таргет, на основе которого получается список исходных файлов (его предоставляет технология files). По умолчанию — ?.files.
  • Boolean minify — Минифицировать ли в процессе обработки. По умолчанию — true.
  • Boolean freeze — Использовать ли фризинг в процессе обработки. По умолчанию — false.
  • String tech — Технология сборки. По умолчанию — соответствует расширению исходного таргета.

Пример

nodeConfig.addTech([ require('enb-bembundle/techs/css-borschik-chunks'), {
  minify: true,
  freeze: true
} ]);

i18n-lang-js-chunks

Собирает ?.js-chunks.lang.<язык>.js-файлы на основе ?.keysets.<язык>.js-файлов.

Используется для локализации в JS с помощью BEM.I18N при сборке bembundle.

Исходные и конечные таргеты в данный момент не настраиваются (нет запроса).

Опции

  • String target — Результирующий таргет. По умолчанию — ?.js-chunks.lang.{lang}.js.
  • String lang — Язык, для которого небходимо собрать файл.

Пример

nodeConfig.addTechs([
  [ require('i18n-lang-js-chunks'), { lang: 'all' } ],
  [ require('i18n-lang-js-chunks'), { lang: '{lang}' } ],
]);

js-chunks

Из js-файлов по deps'ам, собирает js-chunks.js-файл. js-chunks.js-файлы нужны для создания bembundle-файлов или bembundle-страниц.

Технология bembundle активно используется в bem-tools для выделения из проекта догружаемых кусков функционала и стилей (js/css).

Опции

  • String filesTarget — files-таргет, на основе которого получается список исходных файлов (его предоставляет технология files). По умолчанию — ?.files.
  • String sourceSuffixes — суффиксы файлов, по которым строится files-таргет. По умолчанию — 'js'.
  • String target — Результирующий таргет. По умолчанию — ?.js-chunks.js.

Пример

nodeConfig.addTech(require('enb-bembundle/techs/js-chunks'));

js-bembundle-component

Собирает ?.bembundle.js-файл из ?.css-chunks.js и ?.js-chunks.js.

Используется вместе с deps-subtract, deps-provider, js-chunks, css-chunks для построения догружаемой части функционала сайта.

Опции

  • String cssChunksTargets — Имена css-chunks.js-таргетов, которые предоставляют CSS-чанки. По умолчанию — [ '?.css-chunks.js' ].
  • String jsChunksTargets — Имена js-chunks.js-таргетов, которые предоставляют JS-чанки. По умолчанию — [ '?.js-chunks.js' ].
  • String target — Результирующий таргет. По умолчанию — ?.bembundle.js.

Пример

nodeConfig.addTechs([
  [ require('enb-bembundle/techs/levels'), { levels: /* ... */ } ],
  require('enb-bembundle/techs/files'),
  [ require('enb-bembundle/techs/deps'), { depsTarget: 'router.tmp.deps.js' } ],
  [ require('enb-bembundle/techs/deps-provider'), { sourceNodePath: 'pages/index', depsTarget: 'index.deps.js' } ],
  [ require('enb-bembundle/techs/deps-subtract'), {
    subtractWhatTarget: 'index.deps.js',
    subtractFromTarget: 'router.tmp.deps.js',
    depsTarget: 'router.deps.js'
  } ],
  require('enb-bembundle/techs/css-chunks'),
  require('enb-bembundle/techs/js-chunks'),
  require('enb-bembundle/techs/js-bembundle-component')
]);

js-bembundle-component-i18n

Собирает ?.bembundle.<язык>.js-файл из ?.css-chunks.js, ?.js-chunks.lang.<язык>.js и ?.js-chunks.js.

Используется вместе с deps-subtract, deps-provider, js-chunks, i18n-lang-js-chunks, css-chunks для построения догружаемой части функционала сайта.

Имена результирующих файлов в данный момент не настраиваются (нет запросов на эту функцию).

Опции

  • String cssChunksTargets — Имена css-chunks.js-таргетов, которые предоставляют CSS-чанки. По умолчанию — [ '?.css-chunks.js' ].
  • String jsChunksTargets — Имена js-chunks.js-таргетов, которые предоставляют JS-чанки. По умолчанию — [ '?.js-chunks.js' ].
  • String target — Результирующий таргет. По умолчанию — ?.bembundle.{lang}.js.
  • String lang — Язык, для которого небходимо собрать файл.

Пример

nodeConfig.addTechs([
  [ require('enb-bembundle/techs/levels'), { levels: /* ... */ } ],
  require('enb-bembundle/techs/files'),
  [ require('enb-bembundle/techs/deps'), { depsTarget: 'router.tmp.deps.js' } ],
  [ require('enb-bembundle/techs/deps-provider'), { sourceNodePath: 'pages/index', depsTarget: 'index.deps.js' } ],
  [ require('enb-bembundle/techs/deps-subtract'), {
    subtractWhatTarget: 'index.deps.js',
    subtractFromTarget: 'router.tmp.deps.js',
    depsTarget: 'router.deps.js'
  } ],
  require('enb-bembundle/techs/css-chunks'),
  require('enb-bembundle/techs/js-chunks'),
  [ require('enb-bembundle/techs/i18n-merge-keysets'), { lang: 'all' } ],
  [ require('enb-bembundle/techs/i18n-merge-keysets'), { lang: '{lang}' } ],
  [ require('enb-bembundle/techs/i18n-lang-js-chunks'), { lang: 'all' } ],
  [ require('enb-bembundle/techs/i18n-lang-js-chunks'), { lang: '{lang}' } ],
  [ require('enb-bembundle/techs/js-bembundle-component-i18n'), { lang: '{lang}' } ]
]);

js-bembundle-page

Собирает страничный ?.js-файл из ?.css-chunks.js и ?.js-chunks.js.

Результирующий файл готов к догрузке кода из бандлов (JS и CSS, приходящий из бандлов, повторно не выполняется на странице).

Опции

  • String cssChunksTargets — Имена css-chunks.js-таргетов, которые предоставляют CSS-чанки. По умолчанию — [ '?.css-chunks.js' ].
  • String jsChunksTargets — Имена js-chunks.js-таргетов, которые предоставляют JS-чанки. По умолчанию — [ '?.js-chunks.js' ].
  • String target — Результирующий таргет. По умолчанию — ?.js.

Пример

nodeConfig.addTechs([
  /* ... */
  require('enb-bembundle/techs/css-chunks'),
  require('enb-bembundle/techs/js-chunks'),
  require('enb-bembundle/techs/js-bembundle-page')
]);

js-bembundle-page-i18n

Собирает страничный ?.<язык>.js-файл из ?.css-chunks.js, ?.js-chunks.lang.<язык>.js и ?.js-chunks.js.

Используется вместе с deps-subtract, deps-provider, js-chunks, i18n-lang-js-chunks, css-chunks для построения догружаемой части функционала сайта.

Опции

  • String cssChunksTargets — Имена css-chunks.js-таргетов, которые предоставляют CSS-чанки. По умолчанию — [ '?.css-chunks.js' ].
  • String jsChunksTargets — Имена js-chunks.js-таргетов, которые предоставляют JS-чанки. По умолчанию — [ '?.js-chunks.js' ].
  • String target — Результирующий таргет. По умолчанию — ?.bembundle.{lang}.js.
  • String lang — Язык, для которого небходимо собрать файл.

Пример

nodeConfig.addTechs([
  /* ... */
  require('enb-bembundle/techs/css-chunks'),
  require('enb-bembundle/techs/js-chunks'),
  [ require('enb-bembundle/techs/i18n-merge-keysets'), { lang: 'all' } ],
  [ require('enb-bembundle/techs/i18n-merge-keysets'), { lang: '{lang}' } ],
  [ require('enb-bembundle/techs/i18n-lang-js-chunks'), { lang: 'all' } ],
  [ require('enb-bembundle/techs/i18n-lang-js-chunks'), { lang: '{lang}' } ],
  [ require('enb-bembundle/techs/js-bembundle-page-i18n'), { lang: '{lang}' } ]
]);

Readme

Keywords

none

Package Sidebar

Install

npm i enb-bembundle

Weekly Downloads

1

Version

2.0.1

License

MIT

Last publish

Collaborators

  • egavr
  • mdevils
  • blond