Skip to content

Commit

Permalink
Revert "Add __babel_estree parser (#10910)"
Browse files Browse the repository at this point in the history
This reverts commit 4d37ac4.
  • Loading branch information
sosukesuzuki committed Jun 5, 2021
1 parent ab926bd commit 8ff0715
Show file tree
Hide file tree
Showing 17 changed files with 46 additions and 85 deletions.
3 changes: 0 additions & 3 deletions src/language-js/clean.js
Expand Up @@ -46,9 +46,6 @@ function clean(ast, newObj, parent) {
if (ast.type === "DecimalLiteral") {
newObj.value = Number(newObj.value);
}
if (ast.type === "Literal" && newObj.decimal) {
newObj.decimal = Number(newObj.decimal);
}

// We remove extra `;` and add them when needed
if (ast.type === "EmptyStatement") {
Expand Down
6 changes: 3 additions & 3 deletions src/language-js/comments.js
Expand Up @@ -716,7 +716,8 @@ function handleOnlyComments({
enclosingNode &&
enclosingNode.type === "Program" &&
enclosingNode.body.length === 0 &&
!isNonEmptyArray(enclosingNode.directives)
enclosingNode.directives &&
enclosingNode.directives.length === 0
) {
if (isLastComment) {
addDanglingComment(enclosingNode, comment);
Expand Down Expand Up @@ -912,8 +913,7 @@ function getCommentChildNodes(node, options) {
(options.parser === "typescript" ||
options.parser === "flow" ||
options.parser === "espree" ||
options.parser === "meriyah" ||
options.parser === "__babel_estree") &&
options.parser === "meriyah") &&
node.type === "MethodDefinition" &&
node.value &&
node.value.type === "FunctionExpression" &&
Expand Down
4 changes: 0 additions & 4 deletions src/language-js/index.js
Expand Up @@ -167,10 +167,6 @@ const parsers = {
get meriyah() {
return require("./parser-meriyah").parsers.meriyah;
},
// JS - Babel Estree
get __babel_estree() {
return require("./parser-babel").parsers.__babel_estree;
},
};

module.exports = {
Expand Down
11 changes: 1 addition & 10 deletions src/language-js/parser-babel.js
Expand Up @@ -91,10 +91,7 @@ function parseWithOptions(parseMethod, text, options) {

function createParse(parseMethod, ...optionsCombinations) {
return (text, parsers, opts = {}) => {
if (
(opts.parser === "babel" || opts.parser === "__babel_estree") &&
isFlowFile(text, opts)
) {
if (opts.parser === "babel" && isFlowFile(text, opts)) {
opts.parser = "babel-flow";
return parseFlow(text, parsers, opts);
}
Expand Down Expand Up @@ -140,10 +137,6 @@ const parseTypeScript = createParse(
appendPlugins(["jsx", "typescript"]),
appendPlugins(["typescript"])
);
const parseEstree = createParse(
"parse",
appendPlugins(["jsx", "flow", "estree"])
);
const parseExpression = createParse("parseExpression", appendPlugins(["jsx"]));

// Error codes are defined in
Expand Down Expand Up @@ -215,7 +208,5 @@ module.exports = {
__vue_expression: babelExpression,
/** for vue event binding to handle semicolon */
__vue_event_binding: babel,
/** verify that we can print this AST */
__babel_estree: createParser(parseEstree),
},
};
3 changes: 1 addition & 2 deletions src/language-js/print/call-arguments.js
Expand Up @@ -14,7 +14,6 @@ const {
iterateCallArgumentsPath,
isNextLineEmpty,
isCallExpression,
isStringLiteral,
isObjectProperty,
} = require("../utils");

Expand Down Expand Up @@ -298,7 +297,7 @@ function isTypeModuleObjectExpression(node) {
isObjectProperty(node.properties[0]) &&
node.properties[0].key.type === "Identifier" &&
node.properties[0].key.name === "type" &&
isStringLiteral(node.properties[0].value) &&
node.properties[0].value.type === "StringLiteral" &&
node.properties[0].value.value === "module"
);
}
Expand Down
4 changes: 0 additions & 4 deletions src/language-js/print/literal.js
Expand Up @@ -29,10 +29,6 @@ function printLiteral(path, options /*, print*/) {
return printBigInt(node.raw);
}

if (node.decimal) {
return printNumber(node.decimal) + "m";
}

const { value } = node;

if (typeof value === "number") {
Expand Down
33 changes: 15 additions & 18 deletions src/language-js/utils.js
Expand Up @@ -710,8 +710,7 @@ function isStringPropSafeToUnquote(node, options) {
String(Number(node.key.value)) === node.key.value &&
(options.parser === "babel" ||
options.parser === "espree" ||
options.parser === "meriyah" ||
options.parser === "__babel_estree")))
options.parser === "meriyah")))
);
}

Expand Down Expand Up @@ -894,11 +893,14 @@ function isSimpleCallArgument(node, depth) {
return node.elements.every((x) => x === null || isChildSimple(x));
}

if (node.type === "ImportExpression") {
return isChildSimple(node.source);
}

if (isCallLikeExpression(node)) {
return (
(node.type === "ImportExpression" ||
isSimpleCallArgument(node.callee, depth)) &&
getCallArguments(node).every(isChildSimple)
isSimpleCallArgument(node.callee, depth) &&
node.arguments.every(isChildSimple)
);
}

Expand Down Expand Up @@ -1170,28 +1172,23 @@ function getCallArguments(node) {
if (callArgumentsCache.has(node)) {
return callArgumentsCache.get(node);
}

let args = node.arguments;
if (node.type === "ImportExpression") {
args = [node.source];

if (node.attributes) {
args.push(node.attributes);
}
}
const args =
node.type === "ImportExpression"
? // No parser except `babel` supports `import("./foo.json", { assert: { type: "json" } })` yet,
// And `babel` parser it as `CallExpression`
// We need add the second argument here
[node.source]
: node.arguments;

callArgumentsCache.set(node, args);
return args;
}

function iterateCallArgumentsPath(path, iteratee) {
const node = path.getValue();
// See comment in `getCallArguments`
if (node.type === "ImportExpression") {
path.call((sourcePath) => iteratee(sourcePath, 0), "source");

if (node.attributes) {
path.call((sourcePath) => iteratee(sourcePath, 1), "attributes");
}
} else {
path.each(iteratee, "arguments");
}
Expand Down
1 change: 0 additions & 1 deletion src/main/range-util.js
Expand Up @@ -171,7 +171,6 @@ function isSourceElement(opts, node, parentNode) {
case "typescript":
case "espree":
case "meriyah":
case "__babel_estree":
return isJsSourceElement(node.type, parentNode && parentNode.type);
case "json":
case "json5":
Expand Down
4 changes: 0 additions & 4 deletions tests/config/format-test.js
Expand Up @@ -186,10 +186,6 @@ function runSpec(fixtures, parsers, options) {
allParsers.push("meriyah");
}
}

if (parsers.includes("babel") && !parsers.includes("__babel_estree")) {
allParsers.push("__babel_estree");
}
}

const stringifiedOptions = stringifyOptionsForTitle(options);
Expand Down
22 changes: 11 additions & 11 deletions tests/format/flow/comments/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -2,7 +2,7 @@

exports[`arrow.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -32,7 +32,7 @@ const run = (cmd /*: string */) /*: Promise<void> */ => {};
exports[`class.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -54,7 +54,7 @@ class A {
exports[`functions.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -68,7 +68,7 @@ function foo<T>(bar /*: T[] */, baz /*: T */) /*: S */ {}
exports[`generics.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -102,7 +102,7 @@ foo/*:: <bar> */();
exports[`interface.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -126,7 +126,7 @@ interface Foo {
exports[`issues.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -204,7 +204,7 @@ export type AsyncExecuteOptions = child_process$execFileOpts & {
exports[`let.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -220,7 +220,7 @@ let bar /*: string */ = "a";
exports[`object_type_annotation.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -259,7 +259,7 @@ type Props3 = {
exports[`type_annotations.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -295,7 +295,7 @@ const x = (input /*: string */) /*: string */ => {};
exports[`type_annotations-2.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -314,7 +314,7 @@ class Foo {
exports[`union.js format 1`] = `
====================================options=====================================
parsers: ["flow", "babel-flow"]
parsers: ["flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down
2 changes: 1 addition & 1 deletion tests/format/flow/comments/jsfmt.spec.js
@@ -1 +1 @@
run_spec(__dirname, ["flow", "babel-flow"]);
run_spec(__dirname, ["flow", "babel"]);
9 changes: 0 additions & 9 deletions tests/format/js/call/invalid/__snapshots__/jsfmt.spec.js.snap
@@ -1,14 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`null-arguments-item.js [__babel_estree] format 1`] = `
"Unexpected token ','. (1:12)
> 1 | foor('a', , 'b');
| ^
2 | foo('looooooooooooooooooooooooooooooooooooooooooooooong', , 'looooooooooooooooooooooooooooooooooooooooooooooong');
3 | foo(\\"a\\",
4 | //1"
`;

exports[`null-arguments-item.js [babel] format 1`] = `
"Unexpected token ','. (1:12)
> 1 | foor('a', , 'b');
Expand Down
1 change: 0 additions & 1 deletion tests/format/js/call/invalid/jsfmt.spec.js
@@ -1,7 +1,6 @@
run_spec(__dirname, ["babel"], {
errors: {
babel: true,
__babel_estree: true,
espree: true,
meriyah: true,
},
Expand Down
7 changes: 0 additions & 7 deletions tests/format/js/tuple/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -48,13 +48,6 @@ assert(rest[1] === 3);
================================================================================
`;

exports[`invalid-tuple-holes.js [__babel_estree] format 1`] = `
"Unexpected token ','. (1:4)
> 1 | #[,]
| ^
2 |"
`;

exports[`invalid-tuple-holes.js [babel] format 1`] = `
"Unexpected token ','. (1:4)
> 1 | #[,]
Expand Down
1 change: 0 additions & 1 deletion tests/format/js/tuple/jsfmt.spec.js
@@ -1,7 +1,6 @@
run_spec(__dirname, ["babel"], {
errors: {
babel: ["invalid-tuple-holes.js"],
__babel_estree: ["invalid-tuple-holes.js"],
espree: true,
meriyah: true,
},
Expand Down
Expand Up @@ -2,7 +2,7 @@

exports[`flow-only.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow", "babel-flow"]
parsers: ["typescript", "flow", "babel-flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -21,7 +21,7 @@ const foo7: Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
exports[`issue-9501.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow", "babel-flow"]
parsers: ["typescript", "flow", "babel-flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -38,7 +38,7 @@ const name: SomeGeneric<Pick<Config, "ONE_LONG_PROP" | "ANOTHER_LONG_PROP">> =
exports[`simple-types.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow", "babel-flow"]
parsers: ["typescript", "flow", "babel-flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down Expand Up @@ -84,6 +84,13 @@ const foo12: Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
================================================================================
`;
exports[`template-literal-types.ts [babel] format 1`] = `
"Unexpected token (1:84)
> 1 | const foo1: Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo<\`Hello, \${keyof World}\`> = a;
| ^
2 |"
`;
exports[`template-literal-types.ts [babel-flow] format 1`] = `
"Unexpected token (1:84)
> 1 | const foo1: Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo<\`Hello, \${keyof World}\`> = a;
Expand All @@ -100,7 +107,7 @@ exports[`template-literal-types.ts [flow] format 1`] = `
exports[`template-literal-types.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow", "babel-flow"]
parsers: ["typescript", "flow", "babel-flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand All @@ -115,7 +122,7 @@ const foo1: Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
exports[`typescript-only.ts format 1`] = `
====================================options=====================================
parsers: ["typescript", "flow", "babel-flow"]
parsers: ["typescript", "flow", "babel-flow", "babel"]
printWidth: 80
| printWidth
=====================================input======================================
Expand Down
3 changes: 2 additions & 1 deletion tests/format/typescript/typeparams/consistent/jsfmt.spec.js
@@ -1,6 +1,7 @@
run_spec(__dirname, ["typescript", "flow", "babel-flow"], {
run_spec(__dirname, ["typescript", "flow", "babel-flow", "babel"], {
errors: {
flow: ["template-literal-types.ts"],
"babel-flow": ["template-literal-types.ts"],
babel: ["template-literal-types.ts"],
},
});

0 comments on commit 8ff0715

Please sign in to comment.