lasso-js / lasso

Advanced JavaScript module bundler, asset pipeline and optimizer
581 stars 75 forks source link

Allow custom require handler to implement getDependencies #186

Closed patrick-steele-idem closed 7 years ago

patrick-steele-idem commented 7 years ago

For example:

function myPlugin(lasso, pluginConfig) {
    lasso.dependencies.registerRequireExtension(
        'foo',
        {
            getDependencies: function(lassoContext, callback) {
                // You can return a Promise/value or invoke the callback
                return Promise.resolve([
                    require.resolve('./extra.js') // Any extra dependencies can be added to this array
                ]);
            },

            read: function(path, lassoContext, callback) {
                // Read the code for the require dependency
            }
        });
}