UNPKG

babel-plugin-base-path

Version:

Add first-class support for transforming relative asset paths to absolute one's.

28 lines (19 loc) 1.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _babelTypes = require('babel-types'); var t = _interopRequireWildcard(_babelTypes); var _utils = require('../utils'); var _regex = require('../regex'); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } exports.default = (path, state) => { const urlPrefix = (0, _utils.getOption)(state, 'base'); const objectValue = path.node.value; if (t.isStringLiteral(objectValue) && !objectValue.value.includes('http')) { const { value } = objectValue; const relativeURLsMatches = value.match(_regex.RELATIVE_URL_REGEX) || []; const stringWithAbsoluteURLs = (0, _utils.replaceMatchesInString)(value, relativeURLsMatches, match => urlPrefix + match); path.node.value = t.stringLiteral(stringWithAbsoluteURLs); } };