[タスク 1176: 開発環境コンテナの構築(Client/Server)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1176) 開発用コンテナを構築しました。以下のコンテナを追加しています。 - ライセンス管理 - server - client - ディクテーション管理 - server - client - DB(MySQL) - Cache(Redis)
150 lines
3.3 KiB
JavaScript
150 lines
3.3 KiB
JavaScript
module.exports = {
|
|
env: {
|
|
browser: true,
|
|
},
|
|
extends: [
|
|
"airbnb",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:react/recommended",
|
|
"prettier",
|
|
],
|
|
parser: "@typescript-eslint/parser",
|
|
parserOptions: {
|
|
project: "./tsconfig.json",
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
ecmaVersion: 12,
|
|
sourceType: "module",
|
|
},
|
|
plugins: [
|
|
"react",
|
|
"@typescript-eslint",
|
|
"prettier",
|
|
"react-hooks",
|
|
"prefer-arrow",
|
|
],
|
|
rules: {
|
|
"react/jsx-uses-react": "off",
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/function-component-definition": [
|
|
"error",
|
|
{
|
|
namedComponents: "arrow-function",
|
|
unnamedComponents: "arrow-function",
|
|
},
|
|
],
|
|
"react/jsx-filename-extension": [
|
|
"error",
|
|
{
|
|
extensions: ["jsx", "tsx"],
|
|
},
|
|
],
|
|
"import/extensions": [
|
|
"error",
|
|
"ignorePackages",
|
|
{
|
|
js: "never",
|
|
jsx: "never",
|
|
ts: "never",
|
|
tsx: "never",
|
|
},
|
|
],
|
|
"import/no-unresolved": "off",
|
|
"import/prefer-default-export": "off",
|
|
"no-use-before-define": 0,
|
|
"prettier/prettier": "error",
|
|
"no-param-reassign": 0,
|
|
"@typescript-eslint/no-use-before-define": "off",
|
|
"@typescript-eslint/prefer-interface": "off",
|
|
"@typescript-eslint/indent": "off",
|
|
"react-hooks/rules-of-hooks": "error",
|
|
// Checks rules of Hooks
|
|
"react-hooks/exhaustive-deps": "warn",
|
|
// Checks effect dependencies
|
|
"import/no-extraneous-dependencies": [
|
|
"error",
|
|
{
|
|
devDependencies: [
|
|
"**/*.test.js",
|
|
"**/*.spec.js",
|
|
"**/*.test.ts",
|
|
"**/*.spec.ts",
|
|
"**/*.test.tsx",
|
|
"**/*.spec.tsx",
|
|
"**/setupTests.ts",
|
|
],
|
|
},
|
|
],
|
|
camelcase: "off",
|
|
"prefer-arrow/prefer-arrow-functions": [
|
|
"error",
|
|
{
|
|
disallowPrototype: true,
|
|
singleReturnOnly: false,
|
|
classPropertiesAllowed: false,
|
|
},
|
|
],
|
|
"func-style": [
|
|
"error",
|
|
"expression",
|
|
{
|
|
allowArrowFunctions: true,
|
|
},
|
|
],
|
|
"react/no-multi-comp": ["error"],
|
|
"react/jsx-pascal-case": ["error"],
|
|
"@typescript-eslint/naming-convention": [
|
|
"error", // default config
|
|
{
|
|
selector: "default",
|
|
format: ["camelCase"],
|
|
leadingUnderscore: "allow",
|
|
trailingUnderscore: "allow",
|
|
},
|
|
{
|
|
selector: "variable",
|
|
format: ["camelCase", "UPPER_CASE"],
|
|
leadingUnderscore: "allow",
|
|
trailingUnderscore: "allow",
|
|
},
|
|
{
|
|
selector: "typeLike",
|
|
format: ["PascalCase"],
|
|
}, // custom config
|
|
{
|
|
selector: ["property"],
|
|
format: ["camelCase", "PascalCase"],
|
|
},
|
|
{
|
|
selector: ["variable"],
|
|
types: ["function"],
|
|
format: ["camelCase", "PascalCase"],
|
|
},
|
|
{
|
|
selector: "interface",
|
|
format: ["PascalCase"],
|
|
custom: {
|
|
regex: "^I[A-Z]",
|
|
match: false,
|
|
},
|
|
},
|
|
],
|
|
"max-lines": ["error", 3000],
|
|
},
|
|
settings: {
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [".ts", ".tsx"],
|
|
},
|
|
"import/resolver": {
|
|
node: {
|
|
extensions: [".js", "jsx", ".ts", ".tsx"],
|
|
paths: ["src"],
|
|
},
|
|
},
|
|
react: {
|
|
version: "detect",
|
|
},
|
|
},
|
|
};
|