Remove prettier from babel-plugin as dependency

We can now fully remove prettier from babel-plugin-react-forget. I moved it to 
devDependencies instead, to make the rollup build simpler and so we can continue 
to prettify our internal source code.
This commit is contained in:
Lauren Tan
2023-10-27 14:07:56 -04:00
parent c72673bd8f
commit 473237ba1f
5 changed files with 26 additions and 29 deletions
@@ -31,7 +31,6 @@
"@babel/types": "^7.19.0",
"chalk": "4",
"invariant": "^2.2.4",
"prettier": "2.8.8",
"pretty-format": "^24"
},
"devDependencies": {
@@ -60,6 +59,7 @@
"hermes-parser": "^0.15.1",
"jest": "^29.0.3",
"jest-environment-jsdom": "^29.0.3",
"prettier": "2.8.8",
"react": "^0.0.0-experimental-493f72b0a-20230727",
"react-dom": "^0.0.0-experimental-493f72b0a-20230727",
"rimraf": "^3.0.2",
@@ -10,23 +10,16 @@ import { transformFromAstSync } from "@babel/core";
import * as BabelParser from "@babel/parser";
import * as HermesParser from "hermes-parser";
import invariant from "invariant";
import prettier from "prettier";
import type { PluginOptions } from "../Entrypoint";
import ReactForgetBabelPlugin from "./BabelPlugin";
type ReactForgetBabelPluginResult = {
ast: BabelCore.BabelFileResult["ast"];
code: string;
map: BabelCore.BabelFileResult["map"];
};
export function runReactForgetBabelPlugin(
text: string,
file: string,
language: "flow" | "typescript",
options: PluginOptions | null,
includeAst: boolean = false
): ReactForgetBabelPluginResult {
): BabelCore.BabelFileResult {
let ast;
if (language === "flow") {
ast = HermesParser.parse(text, {
@@ -59,12 +52,5 @@ export function runReactForgetBabelPlugin(
result?.code != null,
`Expected BabelPluginReactForget to codegen successfully, got: ${result}`
);
return {
ast: result.ast,
code: prettier.format(result.code, {
semi: true,
parser: language === "typescript" ? "babel-ts" : "flow",
}),
map: result.map,
};
return result;
}
@@ -110,9 +110,12 @@ export function transformFixtureInput(
return {
...result,
code: prettier.format(result.code, {
semi: true,
parser: language === "typescript" ? "babel-ts" : "flow",
}),
code:
result.code != null
? prettier.format(result.code, {
semi: true,
parser: language === "typescript" ? "babel-ts" : "flow",
})
: result.code,
};
}
@@ -88,12 +88,13 @@ export async function compile(
// since console log order is non-deterministic
const shouldLogPragma = input.split("\n")[0].includes("@debug");
toggleLogging(isOnlyFixture && (shouldLogPragma || implicitDebugMode));
code = transformFixtureInput(
input,
basename,
runReactForgetBabelPlugin,
parseConfigPragma
).code;
code =
transformFixtureInput(
input,
basename,
runReactForgetBabelPlugin,
parseConfigPragma
).code ?? null;
} catch (e) {
e.message = e.message.replace(/\u001b[^m]*m/g, "");
error = e;
@@ -13,13 +13,13 @@ import type { parseConfigPragma as ParseConfigPragma } from "babel-plugin-react-
import {
COMPILER_PATH,
PARSE_CONFIG_PRAGMA_PATH,
parseLanguage,
TestFixture,
parseLanguage,
transformFixtureInput,
} from "fixture-test-utils";
import fs from "fs/promises";
import path from "path";
import { doEval, EvaluatorResult } from "./runner-evaluator";
import { EvaluatorResult, doEval } from "./runner-evaluator";
const { runReactForgetBabelPlugin } = require(COMPILER_PATH) as {
runReactForgetBabelPlugin: typeof RunReactForgetBabelPlugin;
@@ -135,6 +135,13 @@ function transformFixtureForget(
};
}
if (forgetResult.code == null) {
return {
type: "UnexpectedError",
value: "Unexpected - no code emitted",
};
}
const code = transformAST(
forgetResult.ast,
forgetResult.code,