UNPKG

lasso

Version:

Lasso.js is a build tool and runtime library for building and bundling all of the resources needed by a web application

47 lines (38 loc) 1.42 kB
const lassoResolveFrom = require('lasso-resolve-from'); const extend = require('raptor-util/extend'); function resolveBuiltin(target) { const resolved = lassoResolveFrom(__dirname, target); if (!resolved) { throw new Error('Missing builtin: ' + target); } return resolved.path; } const defaultBuiltins = { assert: resolveBuiltin('assert'), buffer: resolveBuiltin('buffer'), events: resolveBuiltin('events'), 'lasso-loader': resolveBuiltin('lasso-loader'), path: resolveBuiltin('path-browserify'), process: resolveBuiltin('process'), 'raptor-loader': resolveBuiltin('lasso-loader'), stream: resolveBuiltin('stream-browserify'), string_decoder: resolveBuiltin('string_decoder'), url: resolveBuiltin('url'), util: resolveBuiltin('util') }; exports.getBuiltins = function(additionalBuiltins) { const allBuiltins = extend({}, defaultBuiltins); function addBuiltins(builtins) { Object.keys(builtins).forEach(function(packageName) { const builtinTarget = builtins[packageName]; if (typeof builtinTarget !== 'string') { throw new Error('Invalid builtin: ' + packageName + ' (target: ' + builtinTarget + ')'); } allBuiltins[packageName] = builtinTarget; }); } if (additionalBuiltins) { addBuiltins(additionalBuiltins); } return allBuiltins; };