| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 'use strict';
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
- var _createClass2 = require('babel-runtime/helpers/createClass');
- var _createClass3 = _interopRequireDefault(_createClass2);
- var _loaderUtils = require('loader-utils');
- var _loaderUtils2 = _interopRequireDefault(_loaderUtils);
- var _normalizePath = require('normalize-path');
- var _normalizePath2 = _interopRequireDefault(_normalizePath);
- var _createEntry = require('../util/createEntry');
- var _createEntry2 = _interopRequireDefault(_createEntry);
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- var EntryConfig = function () {
- function EntryConfig() {
- (0, _classCallCheck3.default)(this, EntryConfig);
- this.files = [];
- }
- (0, _createClass3.default)(EntryConfig, [{
- key: 'addFile',
- value: function addFile(file) {
- var normalizedFile = (0, _normalizePath2.default)(file);
- this.files.push(normalizedFile);
- }
- }, {
- key: 'removeFile',
- value: function removeFile(file) {
- var normalizedFile = (0, _normalizePath2.default)(file);
- this.files = this.files.filter(function (f) {
- return f !== normalizedFile;
- });
- }
- }, {
- key: 'getFiles',
- value: function getFiles() {
- return this.files;
- }
- }]);
- return EntryConfig;
- }();
- var entryLoader = function entryLoader() {
- var _this = this;
- var loaderOptions = _loaderUtils2.default.getOptions(this);
- var config = loaderOptions.entryConfig;
- // Remove all dependencies of the loader result
- this.clearDependencies();
- var dependencies = config.getFiles().map(function (file) {
- return _loaderUtils2.default.stringifyRequest(_this, file);
- });
- // add all entries as dependencies
- dependencies.forEach(this.addDependency.bind(this));
- // build source code
- var sourceCode = (0, _createEntry2.default)(dependencies);
- this.callback(null, sourceCode, null);
- };
- module.exports = entryLoader;
- module.exports.EntryConfig = EntryConfig;
|