2017-12-26 04:23:50 +03:00
|
|
|
"use strict";
|
|
|
|
|
2018-05-14 04:12:25 +03:00
|
|
|
const estreePrinter = require("./printer-estree");
|
|
|
|
const estreeJsonPrinter = require("./printer-estree-json");
|
2018-02-08 19:06:38 +03:00
|
|
|
const options = require("./options");
|
2018-08-22 05:12:57 +03:00
|
|
|
const createLanguage = require("../utils/create-language");
|
2017-12-26 04:23:50 +03:00
|
|
|
|
|
|
|
const languages = [
|
2019-10-29 21:49:44 +03:00
|
|
|
createLanguage(require("linguist-languages/data/JavaScript"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "0.0.0",
|
2018-12-27 16:05:19 +03:00
|
|
|
parsers: ["babel", "flow"],
|
2019-10-29 21:49:44 +03:00
|
|
|
vscodeLanguageIds: ["javascript"],
|
|
|
|
interpreters: data.interpreters.concat(["nodejs"])
|
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JavaScript"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-08 18:47:49 +03:00
|
|
|
name: "Flow",
|
|
|
|
since: "0.0.0",
|
2018-12-27 16:05:19 +03:00
|
|
|
parsers: ["babel", "flow"],
|
2018-08-22 05:12:57 +03:00
|
|
|
vscodeLanguageIds: ["javascript"],
|
2018-08-08 18:47:49 +03:00
|
|
|
aliases: [],
|
|
|
|
filenames: [],
|
|
|
|
extensions: [".js.flow"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JSX"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "0.0.0",
|
2018-12-27 16:05:19 +03:00
|
|
|
parsers: ["babel", "flow"],
|
2018-08-22 05:12:57 +03:00
|
|
|
vscodeLanguageIds: ["javascriptreact"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/TypeScript"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "1.4.0",
|
2018-09-25 22:44:21 +03:00
|
|
|
parsers: ["typescript"],
|
2019-09-14 00:57:16 +03:00
|
|
|
vscodeLanguageIds: ["typescript"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/TSX"), data =>
|
|
|
|
Object.assign(data, {
|
2019-09-14 00:57:16 +03:00
|
|
|
since: "1.4.0",
|
|
|
|
parsers: ["typescript"],
|
|
|
|
vscodeLanguageIds: ["typescriptreact"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JSON"), data =>
|
|
|
|
Object.assign(data, {
|
2018-06-28 03:24:02 +03:00
|
|
|
name: "JSON.stringify",
|
|
|
|
since: "1.13.0",
|
|
|
|
parsers: ["json-stringify"],
|
2018-08-22 05:12:57 +03:00
|
|
|
vscodeLanguageIds: ["json"],
|
2018-06-28 03:24:02 +03:00
|
|
|
extensions: [], // .json file defaults to json instead of json-stringify
|
|
|
|
filenames: ["package.json", "package-lock.json", "composer.json"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JSON"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "1.5.0",
|
|
|
|
parsers: ["json"],
|
2019-10-29 21:49:44 +03:00
|
|
|
vscodeLanguageIds: ["json"],
|
|
|
|
filenames: data.filenames.concat([".prettierrc"])
|
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JSON with Comments"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "1.5.0",
|
|
|
|
parsers: ["json"],
|
2019-10-29 21:49:44 +03:00
|
|
|
vscodeLanguageIds: ["jsonc"],
|
|
|
|
filenames: data.filenames.concat([".eslintrc"])
|
|
|
|
})
|
|
|
|
),
|
|
|
|
createLanguage(require("linguist-languages/data/JSON5"), data =>
|
|
|
|
Object.assign(data, {
|
2018-08-22 05:12:57 +03:00
|
|
|
since: "1.13.0",
|
|
|
|
parsers: ["json5"],
|
|
|
|
vscodeLanguageIds: ["json5"]
|
2019-10-29 21:49:44 +03:00
|
|
|
})
|
|
|
|
)
|
2017-12-26 04:23:50 +03:00
|
|
|
];
|
|
|
|
|
|
|
|
const printers = {
|
2018-05-14 04:12:25 +03:00
|
|
|
estree: estreePrinter,
|
|
|
|
"estree-json": estreeJsonPrinter
|
2017-12-26 04:23:50 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
languages,
|
2018-02-08 19:06:38 +03:00
|
|
|
options,
|
2018-05-09 21:23:40 +03:00
|
|
|
printers
|
2017-12-26 04:23:50 +03:00
|
|
|
};
|