Remove babylon parser (#7533)
* Remove `babylon` * Add changelog * Fix website files
This commit is contained in:
1 parent
e976ab0b35
commit
b3f0102a87
12 files changed
+33
-63
No files matched your search
@@ -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.
|
||||
@@ -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",
|
||||
|
||||
@@ -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() {
|
||||
@@ -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" },
|
||||
|
||||
@@ -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,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,}) {',
|
||||
"",
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
@@ -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() {
|
||||
|
||||
Reference in new issue
Block a user