node package manager


ymodules-loader Build Status

Webpack loader for ymodules module definitions

Getting started

npm install ymodules-loader --save-dev

Add the following into your loader list:

module: {
    loaders: [{
        test: /\.js$/,
        loader: 'ymodules-loader'

ProTip: add exclude: /node_modules/ if you don't need to look for that modules among vendor components

Then loader will pass through your js-files and detect all imports in ymodules format. All found dependencies would be added with require() call.

Source file

modules.define('example', ['dep1', 'dep2'], (provide, d1, d2) => {

Processed file

var modules = require('ym');
modules.define('example', ['dep1', 'dep2'], (provide, d1, d2) => {

After that webpack will find all your modules and put them together as well as usual CommonJS modules.


See the test folder for real usage example.

Technical details

The code processing is performed by babel.

Now we are assuming that your modules placed by default bem-project structure like:

├── button
│   └── button.js
├── input
│   └── input.js
└── select
    └── select.js

In future versions module path resolving will be configurable.