From 27e4ddd81b9ec0e66684e8e707fdd127a7e3358f Mon Sep 17 00:00:00 2001 From: Grant Forsythe Date: Tue, 4 Feb 2025 20:06:00 -0500 Subject: [PATCH] feat(prettier-config): add index.js entrypoint This was done so that the base config is extensible which will allow other projects to install any prettier plugins that might be relevant for their project, e.g. prettier-plugin-tailwind. --- README.md | 2 +- package-lock.json | 5 ++++- package.json | 2 +- prettier-config/index.js | 39 ++++++++++++++++++++++++++++++++++++ prettier-config/package.json | 12 +++++++---- 5 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 prettier-config/index.js diff --git a/README.md b/README.md index 8ded2cc..bad9cfe 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ Include the commitlint preset in your `package.json`: Include the shared Prettier config in your `package.json`: ```json -"prettier": "@siemens/prettier-config/.prettierrc.json", +"prettier": "@siemens/prettier-config", ``` ### ESLint Plugin diff --git a/package-lock.json b/package-lock.json index ecebab3..3e95a3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10191,7 +10191,7 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "license": "MIT", + "dev": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -12193,6 +12193,9 @@ "name": "@siemens/prettier-config", "version": "0.0.0-development", "license": "MIT", + "devDependencies": { + "prettier": "3.4.2" + }, "peerDependencies": { "prettier": "^3.0.0" } diff --git a/package.json b/package.json index 2df1dda..d07e6c4 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "./commitlint-config/.commitlintrc.js" ] }, - "prettier": "./prettier-config/.prettierrc.json", + "prettier": "./prettier-config/index.js", "workspaces": [ "commitlint-config", "eslint-config-angular", diff --git a/prettier-config/index.js b/prettier-config/index.js new file mode 100644 index 0000000..6a8b5e6 --- /dev/null +++ b/prettier-config/index.js @@ -0,0 +1,39 @@ +/** + * Copyright Siemens 2024. + * SPDX-License-Identifier: MIT + * + / + + /** + * @type { import("prettier").Config } + */ +const config = { + printWidth: 100, + trailingComma: 'none', + arrowParens: 'avoid', + htmlWhitespaceSensitivity: 'strict', + quoteProps: 'preserve', + singleQuote: true, + overrides: [ + { + files: '*.html', + options: { + parser: 'angular' + } + }, + { + files: 'index.html', + options: { + parser: 'html' + } + }, + { + files: '*.json5', + options: { + singleQuote: false + } + } + ] +}; + +export default config; diff --git a/prettier-config/package.json b/prettier-config/package.json index f0c4ead..9ba3426 100644 --- a/prettier-config/package.json +++ b/prettier-config/package.json @@ -2,14 +2,14 @@ "name": "@siemens/prettier-config", "version": "0.0.0-development", "description": "Configuration for Prettier.", - "files": [ - "*.json", - "*.md" - ], "repository": { "type": "git", "url": "git+ssh://git@github.com/siemens/lint.git" }, + "exports": { + ".": "./index.js", + "./prettierrc.json": "./.prettierrc.json" + }, "author": { "name": "Siemens", "email": "opensource@siemens.com" @@ -24,7 +24,11 @@ "access": "public" }, "license": "MIT", + "type": "module", "peerDependencies": { "prettier": "^3.0.0" + }, + "devDependencies": { + "prettier": "3.4.2" } }