0.0.11
This commit is contained in:
parent
d686c5fa43
commit
d83744ed6e
10 changed files with 523 additions and 613 deletions
|
|
@ -2,13 +2,6 @@
|
|||
|
||||
Configurations _Prettier_ partageables.
|
||||
|
||||
## TODO
|
||||
|
||||
- [prettier-plugin-sort-json](https://github.com/Gudahtt/prettier-plugin-sort-json).
|
||||
- [prettier-plugin-ini](https://github.com/kddnewton/prettier-plugin-ini).
|
||||
- [prettier-plugin-sql](https://github.com/un-ts/prettier/blob/master/packages/sql/README.md).
|
||||
- prettier-plugin-nginx.
|
||||
|
||||
## Inspirations
|
||||
|
||||
- [u3u/prettier-config](https://github.com/u3u/prettier-config).
|
||||
|
|
|
|||
4
dist/index.d.mts
vendored
4
dist/index.d.mts
vendored
|
|
@ -6,6 +6,8 @@ type Overrides = Readonly<{
|
|||
files: Array<string> | string;
|
||||
options?: Options;
|
||||
}>;
|
||||
declare const configIni: Overrides;
|
||||
declare const configJson: ReadonlyArray<Overrides>;
|
||||
/** Pour les fichiers PHP. */
|
||||
declare const configPhp: Overrides;
|
||||
/** Pour les fichiers XML. */
|
||||
|
|
@ -13,4 +15,4 @@ declare const configXml: Overrides;
|
|||
declare const configClassique: Readonly<Config>;
|
||||
declare const configWordPress: Readonly<Config>;
|
||||
//#endregion
|
||||
export { configClassique, configPhp, configWordPress, configXml };
|
||||
export { configClassique, configIni, configJson, configPhp, configWordPress, configXml };
|
||||
|
|
|
|||
122
dist/index.mjs
vendored
122
dist/index.mjs
vendored
|
|
@ -1,70 +1,78 @@
|
|||
//#region index.ts
|
||||
const configIni = {
|
||||
files: [".npmrc", ".env", ".env.*"],
|
||||
options: { parser: "ini" },
|
||||
};
|
||||
const configJson = [
|
||||
{
|
||||
files: ["*.json"],
|
||||
excludeFiles: ["package.json"],
|
||||
options: {
|
||||
plugins: ["prettier-plugin-sort-json"],
|
||||
jsonRecursiveSort: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["package.json"],
|
||||
options: { plugins: ["prettier-plugin-pkg"] },
|
||||
},
|
||||
];
|
||||
/** Pour les fichiers PHP. */
|
||||
const configPhp = {
|
||||
files: ["*.php"],
|
||||
options: {
|
||||
braceStyle: "1tbs",
|
||||
parser: "php",
|
||||
phpVersion: "auto",
|
||||
plugins: ["@prettier/plugin-php"],
|
||||
trailingCommaPHP: true
|
||||
}
|
||||
files: ["*.php"],
|
||||
options: {
|
||||
braceStyle: "1tbs",
|
||||
parser: "php",
|
||||
phpVersion: "auto",
|
||||
plugins: ["@prettier/plugin-php"],
|
||||
trailingCommaPHP: true,
|
||||
},
|
||||
};
|
||||
/** Pour les fichiers XML. */
|
||||
const configXml = {
|
||||
files: ["*.xml"],
|
||||
options: {
|
||||
bracketSameLine: false,
|
||||
parser: "xml",
|
||||
plugins: ["@prettier/plugin-xml"],
|
||||
printWidth: 120,
|
||||
singleAttributePerLine: true,
|
||||
tabWidth: 2,
|
||||
xmlQuoteAttributes: "double",
|
||||
xmlSelfClosingSpace: true,
|
||||
xmlSortAttributesByKey: true,
|
||||
xmlWhitespaceSensitivity: "strict"
|
||||
}
|
||||
files: ["*.xml"],
|
||||
options: {
|
||||
bracketSameLine: false,
|
||||
parser: "xml",
|
||||
plugins: ["@prettier/plugin-xml"],
|
||||
printWidth: 120,
|
||||
singleAttributePerLine: true,
|
||||
tabWidth: 2,
|
||||
xmlQuoteAttributes: "double",
|
||||
xmlSelfClosingSpace: true,
|
||||
xmlSortAttributesByKey: true,
|
||||
xmlWhitespaceSensitivity: "strict",
|
||||
},
|
||||
};
|
||||
const configClassique = {
|
||||
arrowParens: "avoid",
|
||||
bracketSameLine: false,
|
||||
bracketSpacing: true,
|
||||
embeddedLanguageFormatting: "auto",
|
||||
endOfLine: "lf",
|
||||
experimentalOperatorPosition: "start",
|
||||
experimentalTernaries: true,
|
||||
htmlWhitespaceSensitivity: "ignore",
|
||||
jsdocPreferCodeFences: true,
|
||||
jsdocVerticalAlignment: true,
|
||||
overrides: [{
|
||||
files: ["package.json"],
|
||||
options: { plugins: ["prettier-plugin-pkg"] }
|
||||
}],
|
||||
plugins: [
|
||||
"prettier-plugin-curly",
|
||||
"prettier-plugin-jsdoc",
|
||||
"prettier-plugin-sh"
|
||||
],
|
||||
printWidth: 120,
|
||||
proseWrap: "never",
|
||||
quoteProps: "as-needed",
|
||||
semi: true,
|
||||
singleAttributePerLine: true,
|
||||
singleQuote: false,
|
||||
tabWidth: 2,
|
||||
trailingComma: "all",
|
||||
tsdoc: true,
|
||||
useTabs: false
|
||||
arrowParens: "avoid",
|
||||
bracketSameLine: false,
|
||||
bracketSpacing: true,
|
||||
embeddedLanguageFormatting: "auto",
|
||||
endOfLine: "lf",
|
||||
experimentalOperatorPosition: "start",
|
||||
experimentalTernaries: true,
|
||||
htmlWhitespaceSensitivity: "ignore",
|
||||
iniSpaceAroundEquals: false,
|
||||
jsdocPreferCodeFences: true,
|
||||
jsdocVerticalAlignment: true,
|
||||
overrides: [configIni, ...configJson],
|
||||
plugins: ["prettier-plugin-curly", "prettier-plugin-ini", "prettier-plugin-jsdoc", "prettier-plugin-sh"],
|
||||
printWidth: 120,
|
||||
proseWrap: "never",
|
||||
quoteProps: "as-needed",
|
||||
semi: true,
|
||||
singleAttributePerLine: true,
|
||||
singleQuote: false,
|
||||
tabWidth: 2,
|
||||
trailingComma: "all",
|
||||
tsdoc: true,
|
||||
useTabs: false,
|
||||
};
|
||||
const configWordPress = {
|
||||
...configClassique,
|
||||
overrides: [
|
||||
...configClassique.overrides ?? [],
|
||||
configPhp,
|
||||
configXml
|
||||
]
|
||||
...configClassique,
|
||||
overrides: [...(configClassique.overrides ?? []), configIni, ...configJson, configPhp, configXml],
|
||||
};
|
||||
|
||||
//#endregion
|
||||
export { configClassique, configPhp, configWordPress, configXml };
|
||||
export { configClassique, configIni, configJson, configPhp, configWordPress, configXml };
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"extends": "node_modules/@gcch/configuration-dprint/dprint.json"
|
||||
}
|
||||
43
index.ts
43
index.ts
|
|
@ -6,6 +6,30 @@ type Overrides = Readonly<{
|
|||
options?: Options;
|
||||
}>;
|
||||
|
||||
export const configIni: Overrides = {
|
||||
files: [".npmrc", ".env", ".env.*"],
|
||||
options: { parser: "ini" },
|
||||
};
|
||||
|
||||
export const configJson: ReadonlyArray<Overrides> = [
|
||||
// Pour le tri des clés des fichiers JSON.
|
||||
{
|
||||
files: ["*.json"],
|
||||
excludeFiles: ["package.json"],
|
||||
options: {
|
||||
plugins: ["prettier-plugin-sort-json"],
|
||||
jsonRecursiveSort: true,
|
||||
},
|
||||
},
|
||||
// Pour package.json.
|
||||
{
|
||||
files: ["package.json"],
|
||||
options: {
|
||||
plugins: ["prettier-plugin-pkg"],
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
/** Pour les fichiers PHP. */
|
||||
export const configPhp: Overrides = {
|
||||
files: ["*.php"],
|
||||
|
|
@ -44,22 +68,11 @@ export const configClassique: Readonly<Config> = {
|
|||
experimentalOperatorPosition: "start",
|
||||
experimentalTernaries: true,
|
||||
htmlWhitespaceSensitivity: "ignore",
|
||||
iniSpaceAroundEquals: false,
|
||||
jsdocPreferCodeFences: true,
|
||||
jsdocVerticalAlignment: true,
|
||||
overrides: [
|
||||
// Pour package.json.
|
||||
{
|
||||
files: ["package.json"],
|
||||
options: {
|
||||
plugins: ["prettier-plugin-pkg"],
|
||||
},
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
"prettier-plugin-curly",
|
||||
"prettier-plugin-jsdoc",
|
||||
"prettier-plugin-sh",
|
||||
],
|
||||
overrides: [configIni, ...configJson],
|
||||
plugins: ["prettier-plugin-curly", "prettier-plugin-ini", "prettier-plugin-jsdoc", "prettier-plugin-sh"],
|
||||
printWidth: 120,
|
||||
proseWrap: "never",
|
||||
quoteProps: "as-needed",
|
||||
|
|
@ -74,5 +87,5 @@ export const configClassique: Readonly<Config> = {
|
|||
|
||||
export const configWordPress: Readonly<Config> = {
|
||||
...configClassique,
|
||||
overrides: [...(configClassique.overrides ?? []), configPhp, configXml],
|
||||
overrides: [...(configClassique.overrides ?? []), configIni, ...configJson, configPhp, configXml],
|
||||
};
|
||||
|
|
|
|||
27
justfile
27
justfile
|
|
@ -1,31 +1,38 @@
|
|||
set shell := ["/usr/bin/fish", "-c"]
|
||||
|
||||
# Formate le code.
|
||||
formate:
|
||||
format:
|
||||
bun prettier --cache --cache-location ".cache/prettiercache" --ignore-unknown --parallel-workers 8 --write .
|
||||
dprint fmt
|
||||
dprint fmt --config ~/.config/dprint/dprint.jsonc
|
||||
|
||||
# Met à jour les dépendances NPM.
|
||||
maj-dependances:
|
||||
update:
|
||||
bun update
|
||||
|
||||
# Analyse le code TypeScript avec ESLint.
|
||||
analyse-code:
|
||||
lint-js:
|
||||
bun eslint
|
||||
|
||||
# Analyse le code mort et les dépendances inutilisées du projet.
|
||||
analyse-code-mort:
|
||||
find-dead-code:
|
||||
bun knip
|
||||
bun knip --production
|
||||
|
||||
# Compile le projet.
|
||||
compile:
|
||||
build:
|
||||
bun tsdown --attw --publint
|
||||
|
||||
# Nettoie le dosiser de compilation.
|
||||
nettoie:
|
||||
rm -rfv dist
|
||||
# Nettoie le projet.
|
||||
clean:
|
||||
rm -rf .cache/
|
||||
rm -rf bun.lock
|
||||
rm -rf node_modules/
|
||||
rm -rfv dist/
|
||||
|
||||
# Nettoie le dossier de cache.
|
||||
clean-cache:
|
||||
rm -rf .cache/
|
||||
|
||||
# Publie le paquet sur le registre local.
|
||||
publie:
|
||||
publish:
|
||||
npm publish --registry http://localhost:4873
|
||||
|
|
|
|||
35
package.json
35
package.json
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@gcch/configuration-prettier",
|
||||
"version": "0.0.10",
|
||||
"version": "0.0.11",
|
||||
"type": "module",
|
||||
"description": "Configuration Prettier partageable pour gcch.",
|
||||
"main": "./dist/index.mjs",
|
||||
|
|
@ -10,32 +10,29 @@
|
|||
".": "./dist/index.mjs",
|
||||
"./package.json": "./package.json"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"files": ["dist"],
|
||||
"peerDependencies": {
|
||||
"prettier": "^4.0.0-alpha.12"
|
||||
"prettier": "^4.0.0-alpha.13"
|
||||
},
|
||||
"dependencies": {
|
||||
"@prettier/plugin-php": "^0.24.0",
|
||||
"@prettier/plugin-xml": "^3.4.2",
|
||||
"prettier": "^4.0.0-alpha.12",
|
||||
"prettier-plugin-curly": "^0.4.0",
|
||||
"prettier-plugin-jsdoc": "^1.5.0",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-curly": "^0.4.1",
|
||||
"prettier-plugin-ini": "^1.3.0",
|
||||
"prettier-plugin-jsdoc": "^1.8.0",
|
||||
"prettier-plugin-pkg": "^0.21.2",
|
||||
"prettier-plugin-sh": "^0.18.0"
|
||||
"prettier-plugin-sh": "^0.18.0",
|
||||
"prettier-plugin-sort-json": "^4.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@arethetypeswrong/core": "^0.18.2",
|
||||
"@gcch/configuration-dprint": "latest",
|
||||
"@gcch/configuration-eslint": "^0.0.9",
|
||||
"eslint": "^9.39.1",
|
||||
"knip": "^5.67.1",
|
||||
"publint": "^0.3.15",
|
||||
"tsdown": "^0.16.0",
|
||||
"typescript": "^6.0.0-dev.20251104"
|
||||
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint",
|
||||
"eslint": "^10.0.3",
|
||||
"knip": "^5.86.0",
|
||||
"publint": "^0.3.18",
|
||||
"tsdown": "^0.21.2",
|
||||
"typescript": "^6.0.0-dev.20260312"
|
||||
},
|
||||
"trustedDependencies": [
|
||||
"oxc-resolver"
|
||||
]
|
||||
"trustedDependencies": ["oxc-resolver"]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { configClassique } from "./index.js";
|
||||
import { configWordPress } from "./dist/index.mjs";
|
||||
|
||||
export default {
|
||||
...configClassique,
|
||||
...configWordPress,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ export default defineConfig({
|
|||
dts: { oxc: true, parallel: true },
|
||||
entry: ["./index.ts"],
|
||||
minify: false,
|
||||
nodeProtocol: true,
|
||||
platform: "node",
|
||||
sourcemap: false,
|
||||
target: "esnext",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue