Skip to content

Instantly share code, notes, and snippets.

@danivijay
Created February 12, 2019 07:21
Show Gist options
  • Save danivijay/fce3ae8d44c88fcbfbd313a86f3fa002 to your computer and use it in GitHub Desktop.
Save danivijay/fce3ae8d44c88fcbfbd313a86f3fa002 to your computer and use it in GitHub Desktop.

VSCode

{
      "editor.minimap.enabled": false,
      "prettier.tabWidth": 6,
      "prettier.singleQuote": true,
      "prettier.arrowParens": "always",
      "prettier.trailingComma": "all",
      "prettier.eslintIntegration": true,
      "prettier.printWidth": 150,
      "editor.formatOnSave": true,
      "editor.renderWhitespace": "none",
      // "files.autoSave": "afterDelay",
      // "files.autoSaveDelay": 2500,
      "breadcrumbs.enabled": true,
      "editor.formatOnSaveTimeout": 1000000,
      "window.zoomLevel": 0,
      "workbench.startupEditor": "newUntitledFile",
      "workbench.sideBar.location": "right",
      "todo-tree.defaultHighlight": {},
      "javascript.updateImportsOnFileMove.enabled": "always",
      "javascript.preferences.importModuleSpecifier": "non-relative",
      "typescript.updateImportsOnFileMove.enabled": "always",
      "typescript.preferences.importModuleSpecifier": "non-relative"
}

.prettierrc

{
    "tabWidth": 4,
    "singleQuote": true,
    "arrowParens": "always",
    "trailingComma": "all"
}

jsconfig.json

{
      "compilerOptions": {
            "baseUrl": "./src/",
            "target": "es6",
            "jsx": "react",
            "module": "commonjs"
      },
      "include": ["src/**/*"]
}

tsconfig.json (overrides jsconfig.json)

{
    "compilerOptions": {
        "baseUrl": "./src/",
        "target": "es5",
        "lib": ["dom", "dom.iterable", "esnext"],
        "allowJs": true,
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "strict": false,
        "forceConsistentCasingInFileNames": true,
        "module": "esnext",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "preserve"
    },
    "include": ["src/**/*"]
}

.eslintrc

{
    "env": {
        "browser": true,
        "es6": true,
        "node": true
    },
    "plugins": ["react"],
    "extends": "airbnb",
    "parser": "babel-eslint",
    "rules": {
        "indent": [2, 4],
        "max-len": ["error", { "code": 150 }],
        "no-use-before-define": [2, { "functions": false }],
        "react/prefer-es6-class": 0,
        "react/jsx-indent": [2, 4],
        "react/prop-types": [1],
        "react/jsx-indent-props": [2, 4],
        "react/jsx-one-expression-per-line": 0,
        "jsx-a11y/label-has-for": [
            2,
            {
                "components": ["Label"],
                "required": {
                    "some": ["nesting", "id"]
                },
                "allowChildren": false
            }
        ],
        "jsx-a11y/anchor-is-valid": [
            "error",
            {
                "components": ["Link"],
                "specialLink": ["to"]
            }
        ]
    },
    "settings": {
        "import/resolver": {
            "node": {
                "moduleDirectory": ["node_modules", "src/"]
            }
        }
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment