本文整理汇总了TypeScript中@jest/transform.ScriptTransformer.preloadTransformer方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ScriptTransformer.preloadTransformer方法的具体用法?TypeScript ScriptTransformer.preloadTransformer怎么用?TypeScript ScriptTransformer.preloadTransformer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@jest/transform.ScriptTransformer
的用法示例。
在下文中一共展示了ScriptTransformer.preloadTransformer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: pEachSeries
await pEachSeries(Array.from(globalModulePaths), async modulePath => {
if (!modulePath) {
return;
}
const correctConfig = allTests.find(
t => t.context.config[moduleName] === modulePath,
);
const projectConfig = correctConfig
? correctConfig.context.config
: // Fallback to first config
allTests[0].context.config;
const transformer = new ScriptTransformer(projectConfig);
// Load the transformer to avoid a cycle where we need to load a
// transformer in order to transform it in the require hooks
transformer.preloadTransformer(modulePath);
let transforming = false;
const revertHook = addHook(
(code, filename) => {
try {
transforming = true;
return (
transformer.transformSource(filename, code, false).code || code
);
} finally {
transforming = false;
}
},
{
exts: [extname(modulePath)],
ignoreNodeModules: false,
matcher: (...args) => {
if (transforming) {
// Don't transform any dependency required by the transformer itself
return false;
}
return transformer.shouldTransform(...args);
},
},
);
const globalModule = interopRequireDefault(require(modulePath)).default;
if (typeof globalModule !== 'function') {
throw new TypeError(
`${moduleName} file must export a function at ${modulePath}`,
);
}
await globalModule(globalConfig);
revertHook();
});
示例2: pEachSeries
await pEachSeries(Array.from(globalModulePaths), async modulePath => {
if (!modulePath) {
return;
}
const correctConfig = allTests.find(
t => t.context.config[moduleName] === modulePath,
);
const projectConfig = correctConfig
? correctConfig.context.config
: // Fallback to first config
allTests[0].context.config;
const transformer = new ScriptTransformer(projectConfig);
// Load the transformer to avoid a cycle where we need to load a
// transformer in order to transform it in the require hooks
transformer.preloadTransformer(modulePath);
const revertHook = addHook(
(code, filename) =>
transformer.transformSource(filename, code, false).code || code,
{
exts: [extname(modulePath)],
matcher: transformer.shouldTransform.bind(transformer),
},
);
const globalModule = _interopRequireDefault(require(modulePath)).default;
if (typeof globalModule !== 'function') {
throw new TypeError(
`${moduleName} file must export a function at ${modulePath}`,
);
}
await globalModule(globalConfig);
revertHook();
});