From 01f06a7e5b630530ce598f1b176084a055b065df Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 27 Feb 2022 10:04:30 +0100 Subject: [PATCH] Meta files related to new layout. --- frontend/.editorconfig | 9 +++++ frontend/.eslintignore | 9 +++++ frontend/.eslintrc.js | 88 ++++++++++++++++++++++++++++++++++++++++++ frontend/.gitignore | 33 ++++++++++++++++ frontend/.postcssrc.js | 8 ++++ frontend/.prettierrc | 4 ++ 6 files changed, 151 insertions(+) create mode 100644 frontend/.editorconfig create mode 100644 frontend/.eslintignore create mode 100644 frontend/.eslintrc.js create mode 100644 frontend/.gitignore create mode 100644 frontend/.postcssrc.js create mode 100644 frontend/.prettierrc diff --git a/frontend/.editorconfig b/frontend/.editorconfig new file mode 100644 index 0000000000..9d08a1a828 --- /dev/null +++ b/frontend/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000000..0cc1d660ad --- /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 0000000000..3f5b7e048a --- /dev/null +++ b/frontend/.eslintrc.js @@ -0,0 +1,88 @@ +const { 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, + + // https://eslint.vuejs.org/user-guide/#how-to-use-custom-parser + // Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working + // `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted + 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 + extraFileExtensions: ['.vue'], + 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', + + // Uncomment any of the lines below to choose desired strictness, + // but leave only one uncommented! + // See https://eslint.vuejs.org/rules/#available-rules + 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) + // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) + // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) + + // 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://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-file + // required to lint *.vue files + 'vue', + + // 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', + __QUASAR_SSR__: 'readonly', + __QUASAR_SSR_SERVER__: 'readonly', + __QUASAR_SSR_CLIENT__: 'readonly', + __QUASAR_SSR_PWA__: 'readonly', + process: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly' + }, + + // add your custom rules here + rules: { + 'prefer-promise-reject-errors': 'off', + + // TypeScript + quotes: ['warn', 'single', { avoidEscape: true }], + '@typescript-eslint/explicit-function-return-type': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + } +} diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000000..553e1345ce --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,33 @@ +.DS_Store +.thumbs.db +node_modules + +# Quasar core related directories +.quasar +/dist + +# Cordova related directories and files +/src-cordova/node_modules +/src-cordova/platforms +/src-cordova/plugins +/src-cordova/www + +# Capacitor related directories and files +/src-capacitor/www +/src-capacitor/node_modules + +# BEX related directories and files +/src-bex/www +/src-bex/js/core + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln diff --git a/frontend/.postcssrc.js b/frontend/.postcssrc.js new file mode 100644 index 0000000000..1174fe52b7 --- /dev/null +++ b/frontend/.postcssrc.js @@ -0,0 +1,8 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + plugins: [ + // to edit target browsers: use "browserslist" field in package.json + require('autoprefixer') + ] +} diff --git a/frontend/.prettierrc b/frontend/.prettierrc new file mode 100644 index 0000000000..650cb880f6 --- /dev/null +++ b/frontend/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "semi": true +}