UNPKG

modify-source-webpack-plugin

Version:

Webpack plugin for modifying modules source

53 lines 1.92 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; exports.__esModule = true; var path_1 = __importDefault(require("path")); var operations_1 = require("./operations"); var validate = require('schema-utils').validate; var schema = { type: 'object', properties: { operations: { type: 'array', items: { type: 'object' } }, moduleRequest: { type: 'string' }, constants: { type: 'object' } }, additionalProperties: false }; function modifyModuleSourceLoader(source) { var options = this.getOptions ? this.getOptions() : require('loader-utils-webpack-v4').getOptions(this); validate(schema, options, { name: 'ModifySourcePlugin webpack loader' }); var cleanPath = options.moduleRequest.split('?')[0]; var fileName = path_1["default"].basename(cleanPath); return options.operations.reduce(function (sourceText, serializableOp) { var operation = operations_1.Operation.fillConstants(operations_1.Operation.fromSerializable(serializableOp), __assign(__assign({}, options.constants), { FILE_PATH: cleanPath, FILE_NAME: fileName })); return operations_1.Operation.apply(sourceText, operation); }, source); } exports["default"] = modifyModuleSourceLoader; //# sourceMappingURL=loader.js.map