mirror of
https://github.com/ProtonMail/WebClients.git
synced 2026-01-11 20:06:40 +00:00
Extract prettier config to dedicated package for proper extensions
This commit is contained in:
parent
35d0fcb11b
commit
ff4acfa61f
8 changed files with 84 additions and 48 deletions
|
|
@ -37,6 +37,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@proton/eslint-config-proton": "workspace:^",
|
||||
"@proton/prettier-config-proton": "workspace:^",
|
||||
"@proton/stylelint-config-proton": "workspace:^",
|
||||
"is-ci": "^4.1.0",
|
||||
"stylelint-config-standard-scss": "^10.0.0",
|
||||
|
|
|
|||
4
packages/prettier-config/config.d.ts
vendored
Normal file
4
packages/prettier-config/config.d.ts
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import type { Config } from 'prettier';
|
||||
|
||||
declare const config: Config;
|
||||
export = config;
|
||||
48
packages/prettier-config/config.mjs
Normal file
48
packages/prettier-config/config.mjs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
export default {
|
||||
printWidth: 120,
|
||||
arrowParens: 'always',
|
||||
singleQuote: true,
|
||||
// Default in prettier 3 is 'all', but since that'd require a large migration keeping it es5 for now
|
||||
trailingComma: 'es5',
|
||||
tabWidth: 4,
|
||||
proseWrap: 'never',
|
||||
overrides: [
|
||||
{
|
||||
files: '*.scss',
|
||||
options: {
|
||||
tabWidth: 2,
|
||||
useTabs: true,
|
||||
singleQuote: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: '*.ts',
|
||||
options: {
|
||||
importOrderParserPlugins: ['typescript'],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: '*.svg',
|
||||
options: {
|
||||
parser: 'html',
|
||||
},
|
||||
},
|
||||
],
|
||||
importOrder: [
|
||||
'^react(.*)$',
|
||||
'^react-dom(.*)$',
|
||||
'^react-router-dom(.*)$',
|
||||
'<THIRD_PARTY_MODULES>',
|
||||
'^codemirror(?!.*\\.(?:css|scss)$).*$',
|
||||
'^@proton/(?!.*\\.(?:css|scss)$).*$',
|
||||
'^proton-mail(?!.*\\.(?:css|scss)$).*$',
|
||||
'^[./].*(?<!\\.(css|scss))$',
|
||||
'^@proton/.*\\.(css|scss)$',
|
||||
'^proton-mail/.*\\.(css|scss)$',
|
||||
'^codemirror/.*\\.(css|scss)$',
|
||||
'^[./].*\\.(css|scss)$',
|
||||
],
|
||||
importOrderSeparation: true,
|
||||
importOrderSortSpecifiers: true,
|
||||
plugins: ['@trivago/prettier-plugin-sort-imports'],
|
||||
};
|
||||
5
packages/prettier-config/eslint.config.mjs
Normal file
5
packages/prettier-config/eslint.config.mjs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import { defineConfig, globalIgnores } from 'eslint/config';
|
||||
|
||||
import defaultConfig from '@proton/eslint-config-proton/all';
|
||||
|
||||
export default defineConfig([defaultConfig, globalIgnores(['dist'])]);
|
||||
9
packages/prettier-config/package.json
Normal file
9
packages/prettier-config/package.json
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "@proton/prettier-config-proton",
|
||||
"main": "config.mjs",
|
||||
"types": "config.d.ts",
|
||||
"devDependencies": {
|
||||
"eslint": "^9.34.0",
|
||||
"prettier": "^3.6.2"
|
||||
}
|
||||
}
|
||||
3
packages/prettier-config/tsconfig.json
Normal file
3
packages/prettier-config/tsconfig.json
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "../../tsconfig.base.json"
|
||||
}
|
||||
|
|
@ -1,48 +1,3 @@
|
|||
export default {
|
||||
printWidth: 120,
|
||||
arrowParens: 'always',
|
||||
singleQuote: true,
|
||||
// Default in prettier 3 is 'all', but since that'd require a large migration keeping it es5 for now
|
||||
trailingComma: 'es5',
|
||||
tabWidth: 4,
|
||||
proseWrap: 'never',
|
||||
overrides: [
|
||||
{
|
||||
files: '*.scss',
|
||||
options: {
|
||||
tabWidth: 2,
|
||||
useTabs: true,
|
||||
singleQuote: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
files: '*.ts',
|
||||
options: {
|
||||
importOrderParserPlugins: ['typescript'],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: '*.svg',
|
||||
options: {
|
||||
parser: 'html',
|
||||
},
|
||||
},
|
||||
],
|
||||
importOrder: [
|
||||
'^react(.*)$',
|
||||
'^react-dom(.*)$',
|
||||
'^react-router-dom(.*)$',
|
||||
'<THIRD_PARTY_MODULES>',
|
||||
'^codemirror(?!.*\\.(?:css|scss)$).*$',
|
||||
'^@proton/(?!.*\\.(?:css|scss)$).*$',
|
||||
'^proton-mail(?!.*\\.(?:css|scss)$).*$',
|
||||
'^[./].*(?<!\\.(css|scss))$',
|
||||
'^@proton/.*\\.(css|scss)$',
|
||||
'^proton-mail/.*\\.(css|scss)$',
|
||||
'^codemirror/.*\\.(css|scss)$',
|
||||
'^[./].*\\.(css|scss)$',
|
||||
],
|
||||
importOrderSeparation: true,
|
||||
importOrderSortSpecifiers: true,
|
||||
plugins: ['@trivago/prettier-plugin-sort-imports'],
|
||||
};
|
||||
import config from '@proton/prettier-config-proton';
|
||||
|
||||
export default config;
|
||||
|
|
|
|||
11
yarn.lock
11
yarn.lock
|
|
@ -9084,6 +9084,15 @@ __metadata:
|
|||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@proton/prettier-config-proton@workspace:^, @proton/prettier-config-proton@workspace:packages/prettier-config":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@proton/prettier-config-proton@workspace:packages/prettier-config"
|
||||
dependencies:
|
||||
eslint: "npm:^9.34.0"
|
||||
prettier: "npm:^3.6.2"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@proton/raw-images@workspace:^, @proton/raw-images@workspace:packages/raw-images":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@proton/raw-images@workspace:packages/raw-images"
|
||||
|
|
@ -36885,6 +36894,7 @@ __metadata:
|
|||
"@proton/crypto": "workspace:^"
|
||||
"@proton/eslint-config-proton": "workspace:^"
|
||||
"@proton/payments": "workspace:^"
|
||||
"@proton/prettier-config-proton": "workspace:^"
|
||||
"@proton/shared": "workspace:^"
|
||||
"@proton/srp": "workspace:^"
|
||||
"@proton/utils": "workspace:^"
|
||||
|
|
@ -40166,6 +40176,7 @@ __metadata:
|
|||
resolution: "root@workspace:."
|
||||
dependencies:
|
||||
"@proton/eslint-config-proton": "workspace:^"
|
||||
"@proton/prettier-config-proton": "workspace:^"
|
||||
"@proton/stylelint-config-proton": "workspace:^"
|
||||
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
|
||||
"@types/jest-when": "npm:^3.5.5"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue