@luban-cli/cli-lib-service
Version:
A development runtime environment dependency for lib
42 lines • 1.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.processor = void 0;
const crypto_1 = __importDefault(require("crypto"));
const babel_jest_1 = require("babel-jest");
const getBabelConfig_1 = require("./lib/getBabelConfig");
const share_1 = require("./lib/share");
const pkg = share_1.getProjectPackageJson();
exports.processor = {
canInstrument: true,
process(src, path, config, transformOptions) {
const babelConfig = getBabelConfig_1.getBabelConfig(true, true);
babelConfig.plugins = babelConfig.plugins || [];
babelConfig.plugins.push([
require.resolve("babel-plugin-import"),
{
libraryName: pkg.name,
libraryDirectory: "../src",
},
]);
const babelSupport = path.endsWith(".ts") ||
path.endsWith(".tsx") ||
path.endsWith(".js") ||
path.endsWith(".jsx");
const babelJest = babel_jest_1.createTransformer(babelConfig);
const fileName = babelSupport ? path : "file.js";
return babelJest.process(src, fileName, config, transformOptions);
},
getCacheKey() {
return crypto_1.default
.createHash("md5")
.update("\0", "utf8")
.update("components")
.update("\0", "utf8")
.update(pkg.version)
.digest("hex");
},
};
//# sourceMappingURL=preprocessor.js.map