diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000..0cc1d66 --- /dev/null +++ b/frontend/.eslintignore @@ -0,0 +1,9 @@ +/dist +/src-bex/www +/src-capacitor +/src-cordova +/.quasar +/node_modules +.eslintrc.js +babel.config.js +/src-ssr \ No newline at end of file diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js new file mode 100644 index 0000000..aafd7f1 --- /dev/null +++ b/frontend/.eslintrc.js @@ -0,0 +1,69 @@ +var { resolve } = require('path'); +module.exports = { + // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy + // This option interrupts the configuration hierarchy at this file + // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) + root: true, + parserOptions: { + // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser#configuration + // https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#eslint + // Needed to make the parser take into account 'vue' files + parser: '@typescript-eslint/parser', + project: resolve(__dirname, './tsconfig.json'), + tsconfigRootDir: __dirname, + ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features + sourceType: 'module', // Allows for the use of imports + }, + + env: { + browser: true, + }, + + // Rules order is important, please avoid shuffling them + extends: [ + // Base ESLint recommended rules + 'eslint:recommended', + + // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage + // ESLint typescript rules + 'plugin:@typescript-eslint/recommended', + // consider disabling this class of rules if linting takes too long + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + + // https://github.com/prettier/eslint-config-prettier#installation + // usage with Prettier, provided by 'eslint-config-prettier'. + 'prettier', + ], + + plugins: [ + // required to apply rules which need type information + '@typescript-eslint', + + // https://github.com/typescript-eslint/typescript-eslint/issues/389#issuecomment-509292674 + // Prettier has not been included as plugin to avoid performance impact + // add it as an extension for your IDE + ], + + globals: { + ga: 'readonly', // Google Analytics + cordova: 'readonly', + __statics: 'readonly', + process: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly', + }, + + // add your custom rules here + rules: { + 'prefer-promise-reject-errors': 'off', + + // TypeScript + quotes: ['error', 'single', { avoidEscape: true }], + '@typescript-eslint/explicit-function-return-type': 'off', + 'semi': ['error', 'always'], + 'no-multi-spaces': ['error'], + + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + }, +}; diff --git a/frontend/.prettierrc b/frontend/.prettierrc new file mode 100644 index 0000000..be94617 --- /dev/null +++ b/frontend/.prettierrc @@ -0,0 +1,10 @@ +{ + "arrowParens": "always", + "bracketSameLine": true, + "endOfLine": "auto", + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "vueIndentScriptAndStyle": true, + "printWidth": 88 +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..85f3190 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "jsx": "preserve" + } +} \ No newline at end of file