mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-22 19:21:57 +00:00
xo: Move configuration to xo.config.cjs.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
@@ -6,6 +6,6 @@ charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[{*.css,*.html,*.js,*.json,*.ts}]
|
||||
[{*.cjs,*.css,*.html,*.js,*.json,*.ts}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
139
package.json
139
package.json
@@ -28,7 +28,7 @@
|
||||
"lint-css": "stylelint \"app/**/*.css\"",
|
||||
"lint-html": "htmlhint \"app/**/*.html\"",
|
||||
"lint-js": "xo",
|
||||
"prettier-non-js": "prettier --check --log-level=warn . \"!**/*.{js,ts}\"",
|
||||
"prettier-non-js": "prettier --check --log-level=warn . \"!**/*.{cjs,js,ts}\"",
|
||||
"test": "tsc && npm run lint-html && npm run lint-css && npm run lint-js && npm run prettier-non-js",
|
||||
"test-e2e": "vite build && tape \"tests/**/*.js\"",
|
||||
"pack": "vite build && electron-builder --dir",
|
||||
@@ -196,142 +196,5 @@
|
||||
"bracketSpacing": false,
|
||||
"singleQuote": false,
|
||||
"trailingComma": "all"
|
||||
},
|
||||
"xo": {
|
||||
"prettier": true,
|
||||
"rules": {
|
||||
"@typescript-eslint/no-dynamic-delete": "off",
|
||||
"arrow-body-style": "error",
|
||||
"import/no-restricted-paths": [
|
||||
"error",
|
||||
{
|
||||
"zones": [
|
||||
{
|
||||
"target": "./app/common",
|
||||
"from": "./app",
|
||||
"except": [
|
||||
"./common"
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "./app/main",
|
||||
"from": "./app",
|
||||
"except": [
|
||||
"./common",
|
||||
"./main"
|
||||
]
|
||||
},
|
||||
{
|
||||
"target": "./app/renderer",
|
||||
"from": "./app",
|
||||
"except": [
|
||||
"./common",
|
||||
"./renderer",
|
||||
"./resources"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"alphabetize": {
|
||||
"order": "asc"
|
||||
},
|
||||
"newlines-between": "always"
|
||||
}
|
||||
],
|
||||
"import/unambiguous": "error",
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@sentry/electron",
|
||||
"message": "Use @sentry/electron/main, @sentry/electron/renderer, or @sentry/core."
|
||||
},
|
||||
{
|
||||
"name": "electron",
|
||||
"message": "Use electron/main, electron/renderer, or electron/common."
|
||||
},
|
||||
{
|
||||
"name": "electron/main",
|
||||
"importNames": [
|
||||
"ipcMain"
|
||||
],
|
||||
"message": "Use typed-ipc-main."
|
||||
},
|
||||
{
|
||||
"name": "electron/renderer",
|
||||
"importNames": [
|
||||
"ipcRenderer"
|
||||
],
|
||||
"message": "Use typed-ipc-renderer."
|
||||
},
|
||||
{
|
||||
"name": "electron-log",
|
||||
"message": "Use electron-log/main or electron-log/renderer."
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"no-warning-comments": "off",
|
||||
"sort-imports": [
|
||||
"error",
|
||||
{
|
||||
"ignoreDeclarationSort": true
|
||||
}
|
||||
],
|
||||
"strict": "error",
|
||||
"unicorn/prefer-module": "off",
|
||||
"unicorn/prefer-top-level-await": "off"
|
||||
},
|
||||
"envs": [
|
||||
"node",
|
||||
"browser"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": [
|
||||
"**/*.ts"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/ban-types": "off",
|
||||
"@typescript-eslint/consistent-type-imports": [
|
||||
"error",
|
||||
{
|
||||
"disallowTypeAnnotations": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"error",
|
||||
{
|
||||
"argsIgnorePattern": "^_",
|
||||
"caughtErrors": "all"
|
||||
}
|
||||
],
|
||||
"unicorn/no-await-expression-member": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"i18next-scanner.config.js",
|
||||
"scripts/win-sign.js",
|
||||
"tests/**/*.js"
|
||||
],
|
||||
"parserOptions": {
|
||||
"sourceType": "script"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"**/*.d.ts"
|
||||
],
|
||||
"rules": {
|
||||
"import/unambiguous": "off"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
107
xo.config.cjs
Normal file
107
xo.config.cjs
Normal file
@@ -0,0 +1,107 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
prettier: true,
|
||||
rules: {
|
||||
"@typescript-eslint/no-dynamic-delete": "off",
|
||||
"arrow-body-style": "error",
|
||||
"import/no-restricted-paths": [
|
||||
"error",
|
||||
{
|
||||
zones: [
|
||||
{
|
||||
target: "./app/common",
|
||||
from: "./app",
|
||||
except: ["./common"],
|
||||
},
|
||||
{
|
||||
target: "./app/main",
|
||||
from: "./app",
|
||||
except: ["./common", "./main"],
|
||||
},
|
||||
{
|
||||
target: "./app/renderer",
|
||||
from: "./app",
|
||||
except: ["./common", "./renderer", "./resources"],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
"import/order": [
|
||||
"error",
|
||||
{alphabetize: {order: "asc"}, "newlines-between": "always"},
|
||||
],
|
||||
"import/unambiguous": "error",
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
paths: [
|
||||
{
|
||||
name: "@sentry/electron",
|
||||
message:
|
||||
"Use @sentry/electron/main, @sentry/electron/renderer, or @sentry/core.",
|
||||
},
|
||||
{
|
||||
name: "electron",
|
||||
message:
|
||||
"Use electron/main, electron/renderer, or electron/common.",
|
||||
},
|
||||
{
|
||||
name: "electron/main",
|
||||
importNames: ["ipcMain"],
|
||||
message: "Use typed-ipc-main.",
|
||||
},
|
||||
{
|
||||
name: "electron/renderer",
|
||||
importNames: ["ipcRenderer"],
|
||||
message: "Use typed-ipc-renderer.",
|
||||
},
|
||||
{
|
||||
name: "electron-log",
|
||||
message: "Use electron-log/main or electron-log/renderer.",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
"no-warning-comments": "off",
|
||||
"sort-imports": ["error", {ignoreDeclarationSort: true}],
|
||||
strict: "error",
|
||||
"unicorn/prefer-module": "off",
|
||||
"unicorn/prefer-top-level-await": "off",
|
||||
},
|
||||
envs: ["node", "browser"],
|
||||
overrides: [
|
||||
{
|
||||
files: ["**/*.ts"],
|
||||
rules: {
|
||||
"@typescript-eslint/ban-types": "off",
|
||||
"@typescript-eslint/consistent-type-imports": [
|
||||
"error",
|
||||
{disallowTypeAnnotations: false},
|
||||
],
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"error",
|
||||
{argsIgnorePattern: "^_", caughtErrors: "all"},
|
||||
],
|
||||
"unicorn/no-await-expression-member": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: [
|
||||
"**.cjs",
|
||||
"i18next-scanner.config.js",
|
||||
"scripts/win-sign.js",
|
||||
"tests/**/*.js",
|
||||
],
|
||||
parserOptions: {
|
||||
sourceType: "script",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["**/*.d.ts"],
|
||||
rules: {
|
||||
"import/unambiguous": "off",
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
Reference in New Issue
Block a user