From 33c82fbc9e92746a6977bc7427b9357787a3e6b7 Mon Sep 17 00:00:00 2001 From: Konstantin Konstantinov Date: Mon, 29 Sep 2025 13:04:45 +0300 Subject: [PATCH] prettier and prettier config setup - without prettier run --- .prettierignore | 10 ++++++++++ .prettierrc.json | 20 ++++++++++++++++++++ eslint.config.mjs | 4 +++- package-lock.json | 34 ++++++++++++++++++++++++++++++++++ package.json | 4 +++- 5 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc.json diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..bacf96e9e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,10 @@ +# Ignore artifacts: +build +dist +coverage +*-lock.* +node_modules +**/build +**/dist +.github/CODEOWNERS +pnpm-lock.yaml \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 000000000..f2d3e7b68 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,20 @@ +{ + "printWidth": 140, + "tabWidth": 4, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "none", + "bracketSpacing": true, + "bracketSameLine": false, + "proseWrap": "always", + "arrowParens": "avoid", + "overrides": [ + { + "files": "**/*.md", + "options": { + "printWidth": 280 + } + } + ] +} \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs index d792f015f..aedf4ede8 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -2,6 +2,7 @@ import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; +import eslintConfigPrettier from 'eslint-config-prettier/flat'; export default tseslint.config( eslint.configs.recommended, @@ -22,5 +23,6 @@ export default tseslint.config( rules: { "no-console": "error" } - } + }, + eslintConfigPrettier ); diff --git a/package-lock.json b/package-lock.json index c94ab5c9c..de81922f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,9 @@ "@types/supertest": "^6.0.2", "@types/ws": "^8.5.12", "eslint": "^9.8.0", + "eslint-config-prettier": "^10.1.8", "jest": "^29.7.0", + "prettier": "3.6.2", "supertest": "^7.0.0", "ts-jest": "^29.2.4", "tsx": "^4.16.5", @@ -3213,6 +3215,22 @@ } } }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-scope": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", @@ -5519,6 +5537,22 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", diff --git a/package.json b/package.json index b5b9b8ec9..02784f2e5 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "build:cjs:w": "npm run build:cjs -- -w", "examples:simple-server:w": "tsx --watch src/examples/server/simpleStreamableHttp.ts --oauth", "prepack": "npm run build:esm && npm run build:cjs", - "lint": "eslint src/", + "lint": "eslint src/ && prettier --check .", "test": "npm run fetch:spec-types && jest", "start": "npm run server", "server": "tsx watch --clear-screen=false src/cli.ts server", @@ -89,6 +89,8 @@ "@types/supertest": "^6.0.2", "@types/ws": "^8.5.12", "eslint": "^9.8.0", + "eslint-config-prettier": "^10.1.8", + "prettier": "3.6.2", "jest": "^29.7.0", "supertest": "^7.0.0", "ts-jest": "^29.2.4",