Remove babylon parser (#7533)

* Remove `babylon`

* Add changelog

* Fix website files
This commit is contained in:
fisker Cheung authored and GitHub committed 2020-02-24 18:19:03 +02:00
1 parent e976ab0b35
commit b3f0102a87
12 files changed
+33 -63

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
#### Remove deprecated parser `babylon` ([#7533](https://github.com/prettier/prettier/pull/7533) by [@fisker](https://github.com/fisker))
Parser `babylon` has been renamed to `babel` since _v1.16.0_, but aliased to keep backwards compatibility, now it's removed.
+1 -1
View File
@@ -25,7 +25,7 @@ const PROJECT_ROOT = path.resolve(__dirname, "../..");
/** @type {Bundle[]} */
const parsers = [
{
input: "src/language-js/parser-babylon.js"
input: "src/language-js/parser-babel.js"
},
{
input: "src/language-js/parser-flow.js",
+9 -12
View File
@@ -12,42 +12,39 @@ module.exports = [
parsers: {
// JS - Babel
get babel() {
return eval("require")("../language-js/parser-babylon").parsers.babel;
return eval("require")("../language-js/parser-babel").parsers.babel;
},
get "babel-flow"() {
return eval("require")("../language-js/parser-babylon").parsers[
return eval("require")("../language-js/parser-babel").parsers[
"babel-flow"
];
},
get "babel-ts"() {
return eval("require")("../language-js/parser-babylon").parsers[
return eval("require")("../language-js/parser-babel").parsers[
"babel-ts"
];
},
get babylon() {
return eval("require")("../language-js/parser-babylon").parsers.babel;
},
get json() {
return eval("require")("../language-js/parser-babylon").parsers.json;
return eval("require")("../language-js/parser-babel").parsers.json;
},
get json5() {
return eval("require")("../language-js/parser-babylon").parsers.json5;
return eval("require")("../language-js/parser-babel").parsers.json5;
},
get "json-stringify"() {
return eval("require")("../language-js/parser-babylon").parsers[
return eval("require")("../language-js/parser-babel").parsers[
"json-stringify"
];
},
get __js_expression() {
return eval("require")("../language-js/parser-babylon").parsers
return eval("require")("../language-js/parser-babel").parsers
.__js_expression;
},
get __vue_expression() {
return eval("require")("../language-js/parser-babylon").parsers
return eval("require")("../language-js/parser-babel").parsers
.__vue_expression;
},
get __vue_event_binding() {
return eval("require")("../language-js/parser-babylon").parsers
return eval("require")("../language-js/parser-babel").parsers
.__vue_event_binding;
},
// JS - Flow
@@ -1,8 +1,5 @@
"use strict";
// This file is currently named parser-babylon.js to maintain backwards compatibility.
// However, it should be named parser-babel.js in the next major release.
const createError = require("../common/parser-create-error");
const { hasPragma } = require("./pragma");
const locFns = require("./loc");
@@ -179,8 +176,6 @@ module.exports = {
babel,
"babel-flow": babelFlow,
"babel-ts": babelTypeScript,
// aliased to keep backwards compatibility
babylon: babel,
json: {
...babelExpression,
hasPragma() {
-6
View File
@@ -125,12 +125,6 @@ const options = {
typeof value === "string" || typeof value === "function",
choices: [
{ value: "flow", description: "Flow" },
{
value: "babylon",
description: "JavaScript",
deprecated: "1.16.0",
redirect: "babel"
},
{ value: "babel", since: "1.16.0", description: "JavaScript" },
{ value: "babel-flow", since: "1.16.0", description: "Flow" },
{ value: "babel-ts", since: "2.0.0", description: "TypeScript" },
+1 -1
View File
@@ -7,7 +7,7 @@ const vm = require("vm");
const sources = [
"standalone.js",
"parser-angular.js",
"parser-babylon.js",
"parser-babel.js",
"parser-flow.js",
"parser-glimmer.js",
"parser-graphql.js",
@@ -24,14 +24,3 @@ test("API format with deprecated parser (postcss) should work", () => {
).not.toThrowError();
expect(warnings).toMatchSnapshot();
});
test("API format with deprecated parser (babylon) should work and do not report the same deprecation warning more than once", () => {
expect(() => {
prettier.format("hello_world( )", { parser: "babylon" });
prettier.format("hello_world( )", { parser: "babylon" });
}).not.toThrowError();
expect(warnings).toMatchInlineSnapshot(`
"{ parser: \\"babylon\\" } is deprecated; we now treat it as { parser: \\"babel\\" }.
"
`);
});
@@ -21,7 +21,6 @@ test("allows usage of prettier's supported parsers", () => {
const output = prettier.format("foo ( )", {
parser(text, parsers) {
expect(typeof parsers.babel).toEqual("function");
expect(typeof parsers.babylon).toEqual("function");
const ast = parsers.babel(text);
ast.program.body[0].expression.callee.name = "bar";
return ast;
-1
View File
@@ -1,7 +1,6 @@
export default function(parser) {
switch (parser) {
case "babel":
case "babylon": // backward compatibility
return [
'function HelloWorld({greeting = "hello", greeted = \'"World"\', silent = false, onMouseOver,}) {',
"",
-1
View File
@@ -36,7 +36,6 @@ function formatMarkdown(
function getMarkdownSyntax(options) {
switch (options.parser) {
case "babel":
case "babylon": // backward compatibility
case "babel-flow":
case "flow":
return "jsx";
+1 -1
View File
@@ -9,7 +9,7 @@ toolbox.precache([
// Scripts
"lib/standalone.js",
"lib/parser-angular.js",
"lib/parser-babylon.js",
"lib/parser-babel.js",
"lib/parser-flow.js",
"lib/parser-glimmer.js",
"lib/parser-graphql.js",
+18 -23
View File
@@ -14,45 +14,40 @@ function importScriptOnce(url) {
var parsers = {
// JS - Babel
get babel() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.babel;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.babel;
},
get "babel-flow"() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers["babel-flow"];
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers["babel-flow"];
},
get "babel-ts"() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers["babel-ts"];
},
// backward compatibility
get babylon() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.babylon;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers["babel-ts"];
},
get json() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.json;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.json;
},
get json5() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.json5;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.json5;
},
get "json-stringify"() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers["json-stringify"];
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers["json-stringify"];
},
get __js_expression() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.__js_expression;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.__js_expression;
},
get __vue_expression() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.__vue_expression;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.__vue_expression;
},
get __vue_event_binding() {
importScriptOnce("lib/parser-babylon.js");
return prettierPlugins.babylon.parsers.__vue_event_binding;
importScriptOnce("lib/parser-babel.js");
return prettierPlugins.babel.parsers.__vue_event_binding;
},
// JS - Flow
get flow() {