拓海 真壁 e686db674f Merged PR 1: タスク 1176: 開発環境コンテナの構築(Client/Server)
[タスク 1176: 開発環境コンテナの構築(Client/Server)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/OMDSDictation/_workitems/edit/1176)
開発用コンテナを構築しました。以下のコンテナを追加しています。
- ライセンス管理
  - server
  - client
- ディクテーション管理
  - server
  - client
- DB(MySQL)
- Cache(Redis)
2023-01-12 08:56:38 +00:00

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",
},
},
};