Untitled diff
62 lines
'use strict';
'use strict';
var ref = require('rollup');
var ref = require('rollup');
var rollup = ref.rollup;
var rollup = ref.rollup;
var SOURCEMAPPING_URL = 'sourceMappingURL';
var SOURCEMAPPING_URL = 'sourceMappingURL';
function createPattern(id) {
function createRollupPreprocessor (args, options, logger) {
return {
pattern: id,
included: true,
served: true,
watched: true
};
}
createRollupPreprocessor.$inject = ['args', 'config.rollupPreprocessor', 'logger', 'config.files'];
function createRollupPreprocessor (args, options, logger, files) {
if ( options === void 0 ) options = {};
if ( options === void 0 ) options = {};
var log = logger.create('preprocessor.rollup');
var log = logger.create('preprocessor.rollup');
return function (content, file, done) {
return function (content, file, done) {
log.debug('Processing "%s".', file.originalPath);
log.debug('Processing "%s".', file.originalPath);
try {
try {
options.entry = file.originalPath;
options.entry = file.originalPath;
rollup(options).then(function (bundle) {
rollup(options).then(function (bundle) {
var ref = bundle.generate(options);
var ref = bundle.generate(options);
var code = ref.code;
var code = ref.code;
var map = ref.map;
var map = ref.map;
if (options.sourceMap === 'inline') {
if (options.sourceMap === 'inline') {
code += '\n//# ' + SOURCEMAPPING_URL + '=' + map.toUrl();
code += '\n//# ' + SOURCEMAPPING_URL + '=' + map.toUrl();
}
}
if (options.sourceMap) {
if (options.sourceMap) {
file.sourceMap = map;
file.sourceMap = map;
}
}
bundle.modules.forEach(function (module) {
files.unshift(createPattern(module.id));
});
console.log(files);
done(null, code);
done(null, code);
}).catch(function (error) {
}).catch(function (error) {
log.error('%s\n at %s\n%s', error.message, file.originalPath, error.stack);
log.error('%s\n at %s\n%s', error.message, file.originalPath, error.stack);
done(error);
done(error);
});
});
}
}
catch (error) {
catch (error) {
log.error('%s\n at %s', error.message, file.originalPath);
log.error('%s\n at %s', error.message, file.originalPath);
done(error);
done(error);
}
}
};
};
}
}
createRollupPreprocessor.$inject = ['args', 'config.rollupPreprocessor', 'logger'];
module.exports = { 'preprocessor:rollup': ['factory', createRollupPreprocessor] };
module.exports = { 'preprocessor:rollup': ['factory', createRollupPreprocessor] };