babel-plugin-transform-assets-import-to-string
Version:
Babel plugin that transforms image assets import and requires to urls / cdn
41 lines (25 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _filePath = require('./steps/filePath');
var _filePath2 = _interopRequireDefault(_filePath);
var _fileHash = require('./steps/fileHash');
var _fileHash2 = _interopRequireDefault(_fileHash);
var _replaceNode = require('./steps/replaceNode');
var _replaceNode2 = _interopRequireDefault(_replaceNode);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function transform(scope, options) {
const ext = _path2.default.extname(scope.value);
if (!options.extensions || options.extensions.indexOf(ext) < 0) {
return;
}
const dir = _path2.default.dirname(_path2.default.resolve(scope.filename));
const absPath = _path2.default.resolve(dir, scope.value);
let fp = (0, _filePath2.default)(absPath, options);
fp = (0, _fileHash2.default)(fp, absPath, options);
(0, _replaceNode2.default)(scope, `${options.baseUri}${fp}`);
}
exports.default = transform;