本文整理匯總了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();
});