Skip to content

Implement Sets functionality #30

Open
@qfox

Description

@qfox

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: { /*…*/ }
};

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions