{
    "files.associations": {
        ".eslintrc": "jsonc",
        ".prettierrc": "jsonc",
        ".eslintignore": "ignore"
    },
    "eslint.validate": ["typescript"],
    "eslint.workingDirectories": [
        { "directory": "./", "changeProcessCWD": true },
        { "directory": "./server", "changeProcessCWD": true }
    ],
    "typescript.tsserver.experimental.enableProjectDiagnostics": true,
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true,
        "source.fixAll.stylelint": true,
        "source.organizeImports": false,
        "source.formatDocument": true
    },
    "css.validate": true,
    "less.validate": false,
    "scss.validate": true,
    "scss.lint.unknownAtRules": "warning",
    "scss.lint.unknownProperties": "warning",
    "javascript.validate.enable": false,
    "javascript.format.enable": false,
    "typescript.format.enable": false,
    "search.exclude": {
        ".git": true,
        ".eslintcache": true,
        ".erb/dll": true,
        "release/{build,app/dist}": true,
        "node_modules": true,
        "npm-debug.log.*": true,
        "test/**/__snapshots__": true,
        "package-lock.json": true,
        "*.{css,sass,scss}.d.ts": true
    },
    "i18n-ally.localesPaths": ["src/i18n", "src/i18n/locales"],
    "typescript.tsdk": "node_modules\\typescript\\lib",
    "typescript.preferences.importModuleSpecifier": "non-relative",
    "stylelint.validate": ["css", "scss", "typescript", "typescriptreact"],
    "typescript.updateImportsOnFileMove.enabled": "always",
    "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
    "[typescriptreact]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
    "typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
    "folderTemplates.structures": [
        {
            "name": "TypeScript Feature Component With CSS Modules",
            "omitParentDirectory": true,
            "structure": [
                {
                    "fileName": "<FTName | kebabcase>.tsx",
                    "template": "Functional Component with CSS Modules"
                },
                {
                    "fileName": "<FTName | kebabcase>.module.scss"
                }
            ]
        }
    ],
    "folderTemplates.fileTemplates": {
        "Functional Component with CSS Modules": [
            "import styles from './<FTName | kebabcase>.module.scss';",
            "",
            "interface <FTName | pascalcase>Props {}",
            "",
            "export const <FTName | pascalcase> = ({}: <FTName | pascalcase>Props) => {",
            "  return <div></div>;",
            "};"
        ]
    }
}
