reflexy
Version:
Flexbox layout react components
22 lines (21 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const path_1 = tslib_1.__importDefault(require("path"));
const webpack_1 = require("webpack");
/** Replaces regular imports of `Flex` with `styled/Flex` */
class StyledReflexyWebpackPlugin extends webpack_1.NormalModuleReplacementPlugin {
constructor(resourceRegex = /reflexy\/Flex\/Flex\.js/) {
// Works until webpack v5.49.0
// super(/reflexy\/Flex\/Flex\.js/, '../styled/Flex/Flex.js');
// Workaround for webpack v5.49.0+: https://github.com/webpack/webpack/issues/13957
super(resourceRegex, (resource) => {
if (resource.createData && resource.createData.userRequest) {
const resolvedRequest = resource.createData.userRequest;
resource.createData.resource = resolvedRequest.replace(resourceRegex, 'reflexy/styled/Flex/Flex.js');
resource.createData.context = path_1.default.dirname(resource.createData.resource);
}
});
}
}
exports.default = StyledReflexyWebpackPlugin;