Centralize transform API functions.

This commit is contained in:
Logan Smyth 2017-03-14 11:16:12 -07:00
parent c1be6a36c4
commit 83356abd92
2 changed files with 64 additions and 52 deletions

View File

@ -1,64 +1,29 @@
import fs from "fs";
export { default as File } from "./transformation/file";
export { default as buildExternalHelpers } from "./tools/build-external-helpers";
export { default as template } from "babel-template";
export { default as resolvePlugin } from "./helpers/resolve-plugin";
export { default as resolvePreset } from "./helpers/resolve-preset";
export File from "./transformation/file";
export buildExternalHelpers from "./tools/build-external-helpers";
export resolvePlugin from "./helpers/resolve-plugin";
export resolvePreset from "./helpers/resolve-preset";
export { version } from "../package";
export { getEnv } from "./helpers/environment";
import * as util from "./util";
export { util };
export * as util from "./util";
import * as messages from "babel-messages";
export { messages };
export * as messages from "babel-messages";
export * as types from "babel-types";
export traverse from "babel-traverse";
export template from "babel-template";
import * as t from "babel-types";
export { t as types };
import traverse from "babel-traverse";
export { traverse };
import OptionManager from "./transformation/file/options/option-manager";
export { OptionManager };
export OptionManager from "./transformation/file/options/option-manager";
export function Plugin(alias) {
throw new Error(`The (${alias}) Babel 5 plugin is being run with Babel 6.`);
}
import { transform, analyse, transformFromAst } from "./transformation/pipeline";
export { transform, analyse, transformFromAst };
export {
transform,
analyse,
transformFromAst,
transformFile,
transformFileSync,
} from "./transformation/pipeline";
export function transformFile(filename: string, opts?: Object, callback: Function) {
if (typeof opts === "function") {
callback = opts;
opts = {};
}
opts.filename = filename;
fs.readFile(filename, function (err, code) {
let result;
if (!err) {
try {
result = transform(code, opts);
} catch (_err) {
err = _err;
}
}
if (err) {
callback(err);
} else {
callback(null, result);
}
});
}
export function transformFileSync(filename: string, opts?: Object = {}): string {
opts.filename = filename;
return transform(fs.readFileSync(filename, "utf8"), opts);
}

View File

@ -1,4 +1,6 @@
/* global BabelFileResult, BabelFileMetadata */
import fs from "fs";
import normalizeAst from "../helpers/normalize-ast";
import Plugin from "./plugin";
import File from "./file";
@ -31,3 +33,48 @@ export function transformFromAst(ast: Object, code: string, opts: Object): Babel
return file.transform();
});
}
export function transformFile(filename: string, opts?: Object, callback: Function) {
if (typeof opts === "function") {
callback = opts;
opts = {};
}
opts.filename = filename;
fs.readFile(filename, function (err, code) {
let result;
if (!err) {
try {
const file = new File(opts);
result = file.wrap(code, function () {
file.addCode(code);
file.parseCode(code);
return file.transform();
});
} catch (_err) {
err = _err;
}
}
if (err) {
callback(err);
} else {
callback(null, result);
}
});
}
export function transformFileSync(filename: string, opts?: Object = {}): string {
opts.filename = filename;
const code = fs.readFileSync(filename, "utf8");
const file = new File(opts);
return file.wrap(code, function () {
file.addCode(code);
file.parseCode(code);
return file.transform();
});
}