Open
Description
Use libs, levels and recursive walk to achieve ordered array of levels to build
module.exports = {
root: true,
levels: [
// Ordered array of levels if you need a specific order between levels in library or project
{
path: 'common.blocks',
default: true, // что это за настройка?
fs: { scheme: 'flat', naming: 'secondary' },
naming: 'primary'
},
{ path: 'deskpad.blocks' },
{ path: 'touch.blocks' },
{ path: 'desktop.blocks' },
{ path: 'touch-phone.blocks' },
{ path: 'touch-pad.blocks' },
],
libraries: {
core: { path: 'node_modules/bem-core', etc: 'carry-me-cow' },
'bem-components': { /* looks for `node_modules/${id}` and prob. `libs/${id}` by default */ },
},
sets: {
// Will use `common` level set from core, `touch-phone` from bem-components,
// and also few local levels
'touch-phone': [ { library: 'core', set: 'debug' }, { library: 'bem-components' },
'common.blocks', 'touch.blocks', 'touch-phone.blocks' ],
// Will use `touch-pad` level sets from `core` and `bem-components`, and also few local levels
'touch-pad': '@core @bem-components common.blocks deskpad.blocks touch.blocks touch-pad.blocks'
// Will use `desktop` level sets from `core` and `bem-components`, and also few local levels
'desktop': '@core @bem-components common.blocks deskpad.blocks desktop.blocks'
// Will use mix of levels from `desktop` and `touch-pad` level sets from `core`, `bem-components` and locals
'deskpad': 'desktop@core touch-pad@core desktop@bem-components touch-pad@bem-components desktop@ touch-pad@'
},
modules: { /*…*/ }
};