Allow plugin override builtin parsers when inferring parser (#17549)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
fisker Cheungandautofix-ci[bot] authored and GitHub committed 2025-06-05 17:23:49 +08:00
1 parent d49444352a
commit 7fb9875413
16 files changed
+197 -42

No files matched your search

+15 -12
View File
@@ -12,16 +12,19 @@ yarn add --dev prettier @prettier/plugin-hermes
Create or modify your [prettier configuration file](https://prettier.io/docs/en/configuration) to use the plugin:
```json
{
"overrides": [
{
"files": ["**/*.{js.flow,js,mjs,cjs}"],
"options": {
"plugins": ["@prettier/plugin-hermes"],
"parser": "hermes"
}
}
]
}
```yaml
plugins:
- "@prettier/plugin-hermes"
```
Or config explicitly
```yaml
overrides:
- files:
- "**/*.{js.flow,js,mjs,cjs}"
options:
plugins:
- "@prettier/plugin-hermes"
parser: hermes
```
+1
View File
@@ -1 +1,2 @@
export * as parsers from "../../src/language-js/parse/hermes.js";
export { default as languages } from "./languages.evaluate.js";
@@ -0,0 +1,15 @@
import builtinJsLanguages from "../../src/language-js/languages.evaluate.js";
const replacements = new Map([["flow", "hermes"]]);
const languages = builtinJsLanguages
.map((language) => {
const parsers = language.parsers
.map((parser) => replacements.get(parser))
.filter(Boolean);
return parsers.length > 0 ? { ...language, parsers } : undefined;
})
.filter(Boolean);
export default languages;