本文整理匯總了TypeScript中@babel/core.transformSync函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript transformSync函數的具體用法?TypeScript transformSync怎麽用?TypeScript transformSync使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了transformSync函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: run
function run(text: string) {
return babel.transformSync(text, {
presets: [
"@babel/preset-typescript"
],
plugins: [
babelPluginMacros
],
filename: path.join(__dirname, "test.ts"),
ast: false,
generatorOpts: {
retainLines: true
}
})!.code!;
}
示例2: run
function run(text: string) {
return babel.transformSync(text, {
presets: [
"@babel/preset-typescript"
],
plugins: [
plugin
],
filename: "test.ts",
ast: false,
generatorOpts: {
retainLines: true
}
})!.code!;
}
示例3:
import * as babel from "@babel/core";
const options: babel.TransformOptions = {
ast: true,
sourceMaps: true
};
babel.transform("code();", options, (err, result) => {
const { code, map, ast } = result!;
});
const transformSyncResult = babel.transformSync("code();", options);
if (transformSyncResult) {
const { code, map, ast } = transformSyncResult;
}
babel.transformFile("filename.js", options, (err, result) => {
const { code, map, ast } = result!;
});
babel.transformFileSync("filename.js", options)!.code;
const sourceCode = "if (true) return;";
const parsedAst = babel.parse(sourceCode, options);
babel.transformFromAst(parsedAst!, sourceCode, options, (err, result) => {
const { code, map, ast } = result!;
});
const transformFromAstSyncResult = babel.transformFromAstSync(parsedAst!, sourceCode, options);
const { code, map, ast } = transformFromAstSyncResult!;
示例4: _instrumentFile
private _instrumentFile(filename: Config.Path, content: string): string {
const result = babelTransform(content, {
auxiliaryCommentBefore: ' istanbul ignore next ',
babelrc: false,
caller: {
name: '@jest/transform',
supportsStaticESM: false,
},
configFile: false,
filename,
plugins: [
[
babelPluginIstanbul,
{
compact: false,
// files outside `cwd` will not be instrumented
cwd: this._config.rootDir,
exclude: [],
useInlineSourceMaps: false,
},
],
],
});
if (result) {
const {code} = result;
if (code) {
return code;
}
}
return content;
}
示例5: loadBabelConfig
const createTransformer = (
options: TransformOptions = {},
): Transform.Transformer => {
options = {
...options,
// @ts-ignore: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32955
caller: {
name: 'babel-jest',
supportsStaticESM: false,
},
compact: false,
plugins: (options && options.plugins) || [],
presets: ((options && options.presets) || []).concat(jestPresetPath),
sourceMaps: 'both',
};
function loadBabelConfig(
cwd: Config.Path,
filename: Config.Path,
): PartialConfig {
// `cwd` first to allow incoming options to override it
const babelConfig = loadPartialConfig({cwd, ...options, filename});
if (!babelConfig) {
throw new Error(
`babel-jest: Babel ignores ${chalk.bold(
slash(path.relative(cwd, filename)),
)} - make sure to include the file in Jest's ${chalk.bold(
'transformIgnorePatterns',
)} as well.`,
);
}
return babelConfig;
}
return {
canInstrument: true,
getCacheKey(
fileData: string,
filename: Config.Path,
configString: string,
{
config,
instrument,
rootDir,
}: {config: Config.ProjectConfig} & Transform.CacheKeyOptions,
): string {
const babelOptions = loadBabelConfig(config.cwd, filename);
const configPath = [
babelOptions.config || '',
babelOptions.babelrc || '',
];
return crypto
.createHash('md5')
.update(THIS_FILE)
.update('\0', 'utf8')
.update(JSON.stringify(babelOptions.options))
.update('\0', 'utf8')
.update(fileData)
.update('\0', 'utf8')
.update(path.relative(rootDir, filename))
.update('\0', 'utf8')
.update(configString)
.update('\0', 'utf8')
.update(configPath.join(''))
.update('\0', 'utf8')
.update(instrument ? 'instrument' : '')
.update('\0', 'utf8')
.update(process.env.NODE_ENV || '')
.update('\0', 'utf8')
.update(process.env.BABEL_ENV || '')
.digest('hex');
},
process(
src: string,
filename: Config.Path,
config: Config.ProjectConfig,
transformOptions?: Transform.TransformOptions,
): string | Transform.TransformedSource {
const babelOptions = {...loadBabelConfig(config.cwd, filename).options};
if (transformOptions && transformOptions.instrument) {
babelOptions.auxiliaryCommentBefore = ' istanbul ignore next ';
// Copied from jest-runtime transform.js
babelOptions.plugins = (babelOptions.plugins || []).concat([
[
babelIstanbulPlugin,
{
// files outside `cwd` will not be instrumented
cwd: config.rootDir,
exclude: [],
},
],
]);
}
const transformResult = babelTransform(src, babelOptions);
//.........這裏部分代碼省略.........