From 9f2d0d72601891f101aac8751101f50c1b4fa81f Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Thu, 11 Feb 2021 17:43:07 +0100 Subject: [PATCH] chore: refactor eslint config --- .circleci/config.yml | 4 +- .eslintrc.js | 89 ++ package.json | 15 +- .../.vuepress/components/sponsor-button.vue | 13 +- packages/docs/src/.vuepress/config.js | 6 +- .../test-e2e-composable-vue3/.eslintignore | 1 - .../test-e2e-composable-vue3/.eslintrc.js | 20 - packages/test-e2e-composable-vue3/README.md | 5 - .../test-e2e-composable-vue3/package.json | 17 +- .../src/components/App.vue | 2 +- .../src/components/ChannelList.vue | 16 +- .../src/components/ChannelView.vue | 16 +- .../src/components/LazyQuery.vue | 11 +- .../tests/e2e/.eslintrc.js | 8 +- packages/test-e2e-composition/.eslintignore | 2 - packages/test-e2e-composition/.eslintrc.js | 31 - .../apollo-server/connectors/messages.js | 4 +- .../apollo-server/connectors/users.js | 8 +- .../apollo-server/resolvers.js | 4 +- packages/test-e2e-composition/package.json | 9 +- .../src/components/ChannelView.vue | 2 +- .../src/components/UserLogin.vue | 18 +- packages/test-e2e/.eslintignore | 2 - packages/test-e2e/.eslintrc.js | 31 - .../apollo-server/connectors/messages.js | 4 +- .../apollo-server/connectors/users.js | 8 +- packages/test-e2e/apollo-server/resolvers.js | 2 +- packages/test-e2e/package.json | 9 +- .../test-e2e/src/components/ChannelView.vue | 2 +- packages/test-ssr-composition/.eslintignore | 2 - packages/test-ssr-composition/.eslintrc.js | 33 - packages/test-ssr-composition/README.md | 5 - .../apollo-server/context.js | 2 +- .../apollo-server/resolvers.js | 22 +- .../apollo-server/utils/db.js | 2 +- .../apollo-server/utils/upload.js | 2 +- .../test-ssr-composition/apollo.config.js | 10 +- packages/test-ssr-composition/babel.config.js | 4 +- packages/test-ssr-composition/package.json | 9 +- .../test-ssr-composition/postcss.config.js | 4 +- packages/test-ssr-composition/src/App.vue | 25 +- .../src/components/ApolloExample.vue | 10 +- .../src/components/ApolloLoading.vue | 13 +- .../src/components/HelloWorld.vue | 15 +- .../test-ssr-composition/src/entry-client.js | 6 +- .../test-ssr-composition/src/entry-server.js | 4 +- packages/test-ssr-composition/src/main.js | 10 +- .../test-ssr-composition/src/router/index.js | 14 +- .../test-ssr-composition/src/views/Home.vue | 15 +- .../test-ssr-composition/src/vue-apollo.js | 4 +- .../tests/e2e/.eslintrc.js | 8 +- .../tests/e2e/plugins/index.js | 2 +- packages/test-ssr-composition/vue.config.js | 10 +- packages/test-ssr/.eslintignore | 2 - packages/test-ssr/.eslintrc.js | 33 - packages/test-ssr/README.md | 5 - packages/test-ssr/apollo-server/context.js | 2 +- packages/test-ssr/apollo-server/resolvers.js | 22 +- packages/test-ssr/apollo-server/utils/db.js | 2 +- .../test-ssr/apollo-server/utils/upload.js | 2 +- packages/test-ssr/apollo.config.js | 10 +- packages/test-ssr/babel.config.js | 4 +- packages/test-ssr/package.json | 8 +- packages/test-ssr/postcss.config.js | 4 +- packages/test-ssr/src/App.vue | 25 +- .../test-ssr/src/components/ApolloExample.vue | 8 +- .../test-ssr/src/components/ApolloLoading.vue | 13 +- .../test-ssr/src/components/HelloWorld.vue | 19 +- packages/test-ssr/src/entry-client.js | 6 +- packages/test-ssr/src/entry-server.js | 2 +- packages/test-ssr/src/main.js | 10 +- packages/test-ssr/src/router/index.js | 14 +- packages/test-ssr/src/views/Home.vue | 7 +- packages/test-ssr/src/vue-apollo.js | 8 +- packages/test-ssr/tests/e2e/.eslintrc.js | 8 +- packages/test-ssr/tests/e2e/plugins/index.js | 2 +- packages/test-ssr/vue.config.js | 10 +- packages/vue-apollo-components/.eslintignore | 3 - packages/vue-apollo-components/.eslintrc.js | 30 - .../vue-apollo-components/babel.config.js | 6 +- packages/vue-apollo-components/package.json | 14 +- packages/vue-apollo-components/src/index.js | 6 +- packages/vue-apollo-composable/.eslintignore | 2 - packages/vue-apollo-composable/.eslintrc.js | 17 - packages/vue-apollo-composable/package.json | 14 +- .../vue-apollo-composable/src/useMutation.ts | 2 +- .../vue-apollo-composable/src/useQuery.ts | 20 +- .../src/useSubscription.ts | 2 +- .../src/util/paramToReactive.ts | 2 +- packages/vue-apollo-option/.eslintignore | 3 - packages/vue-apollo-option/.eslintrc.js | 30 - packages/vue-apollo-option/babel.config.js | 6 +- packages/vue-apollo-option/package.json | 11 +- .../vue-apollo-option/src/dollar-apollo.js | 12 +- packages/vue-apollo-option/src/mixin.js | 20 +- .../vue-apollo-option/src/smart-apollo.js | 4 +- packages/vue-apollo-option/src/smart-query.js | 2 +- .../vue-apollo-option/tests/unit/.eslintrc.js | 6 +- .../vue-apollo-option/tests/unit/ssr.test.js | 4 +- .../types/apollo-provider.d.ts | 13 +- packages/vue-apollo-option/types/gql.d.ts | 3 +- packages/vue-apollo-option/types/options.d.ts | 4 +- packages/vue-apollo-option/types/test/App.ts | 93 ++- packages/vue-apollo-option/types/test/App.vue | 8 +- .../vue-apollo-option/types/test/Decorator.ts | 4 +- .../vue-apollo-option/types/test/index.ts | 16 +- .../vue-apollo-option/types/vue-apollo.d.ts | 27 +- packages/vue-apollo-option/types/vue.d.ts | 8 +- packages/vue-apollo-util/src/errorLog.ts | 8 +- yarn.lock | 774 ++---------------- 110 files changed, 611 insertions(+), 1379 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 packages/test-e2e-composable-vue3/.eslintignore delete mode 100644 packages/test-e2e-composable-vue3/.eslintrc.js delete mode 100644 packages/test-e2e-composition/.eslintignore delete mode 100644 packages/test-e2e-composition/.eslintrc.js delete mode 100644 packages/test-e2e/.eslintignore delete mode 100644 packages/test-e2e/.eslintrc.js delete mode 100644 packages/test-ssr-composition/.eslintignore delete mode 100644 packages/test-ssr-composition/.eslintrc.js delete mode 100644 packages/test-ssr/.eslintignore delete mode 100644 packages/test-ssr/.eslintrc.js delete mode 100644 packages/vue-apollo-components/.eslintignore delete mode 100644 packages/vue-apollo-components/.eslintrc.js delete mode 100644 packages/vue-apollo-composable/.eslintignore delete mode 100644 packages/vue-apollo-composable/.eslintrc.js delete mode 100644 packages/vue-apollo-option/.eslintignore delete mode 100644 packages/vue-apollo-option/.eslintrc.js diff --git a/.circleci/config.yml b/.circleci/config.yml index a326ec9..9864435 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,12 +44,10 @@ jobs: key: v10-dependencies-{{ checksum "yarn.lock" }} # run tests! + - run: yarn lint - run: yarn build - - run: cd packages/vue-apollo-option && yarn lint - run: cd packages/vue-apollo-option && yarn test:types - run: cd packages/vue-apollo-option && yarn test:unit - - run: cd packages/vue-apollo-components && yarn lint - - run: cd packages/vue-apollo-composable && yarn lint - run: cd packages/vue-apollo-composable && yarn test:types - run: cd packages/test-e2e && yarn test:e2e - run: cd packages/test-e2e-composition && yarn test:e2e diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..8d886a1 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,89 @@ +module.exports = { + root: true, + env: { + browser: true, + }, + extends: [ + 'plugin:vue/recommended', + '@vue/standard', + '@vue/typescript/recommended', + ], + parserOptions: { + ecmaVersion: 2020, + }, + globals: { + name: 'off', + }, + rules: { + 'vue/html-closing-bracket-newline': [ + 'error', + { + singleline: 'never', + multiline: 'always', + }, + ], + 'no-var': ['error'], + '@typescript-eslint/member-delimiter-style': [ + 'error', + { + multiline: { + delimiter: 'none', + }, + singleline: { + delimiter: 'comma', + }, + }, + ], + '@typescript-eslint/no-use-before-define': 'off', + 'comma-dangle': ['error', 'always-multiline'], + 'vue/no-multiple-template-root': 'off', + indent: 'off', + '@typescript-eslint/indent': ['error', 2], + quotes: ['error', 'single', { allowTemplateLiterals: true }], + 'no-use-before-define': 'warn', + 'accessor-pairs': 'off', + 'no-async-promise-executor': 'off', + '@typescript-eslint/no-empty-function': 'warn', + 'no-return-assign': 'off', + 'multiline-ternary': 'off', + }, + overrides: [ + { + files: ['*.vue'], + rules: { + '@typescript-eslint/no-unused-vars': 'off', + }, + }, + { + files: [ + 'packages/*/server.js', + 'packages/*/apollo.config.js', + 'packages/*/apollo-server/**/*', + 'packages/*/tests/**/*.js', + 'packages/*/build/**/*.js', + 'packages/*/lib/**/*.js', + ], + rules: { + '@typescript-eslint/no-var-requires': 'off', + }, + }, + { + files: [ + '**/*.test.ts', + 'packages/*/types/test/**/*.ts', + ], + rules: { + camelcase: 'off', + 'no-unused-expressions': 'off', + 'array-callback-return': 'warn', + }, + }, + ], + ignorePatterns: [ + 'node_modules/', + 'dist/', + 'generated/', + '!.*', + 'schema.graphql', + ], +} diff --git a/package.json b/package.json index 05ea839..3cd68a5 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,25 @@ "scripts": { "build": "lerna run build --concurrency 1 --scope \"{vue-apollo,@vue/apollo}*\"", "test": "lerna run test --concurrency 1", - "lint": "lerna run lint", + "lint": "eslint . --ext js,vue,ts", "release": "lerna publish" }, "devDependencies": { + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", + "@vue/eslint-config-standard": "^6.0.0", + "@vue/eslint-config-typescript": "^7.0.0", "core-js": "^3.4.1", "esbuild": "^0.8.44", "esbuild-node-externals": "^1.0.2", - "lerna": "^3.18.4" + "eslint": "^7.19.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^5.0.0", + "eslint-plugin-vue": "^7.5.0", + "lerna": "^3.18.4", + "typescript": "^4.1.5" }, "resolutions": { "eslint-scope": "^5.0.0", diff --git a/packages/docs/src/.vuepress/components/sponsor-button.vue b/packages/docs/src/.vuepress/components/sponsor-button.vue index 7eec310..ec25b92 100644 --- a/packages/docs/src/.vuepress/components/sponsor-button.vue +++ b/packages/docs/src/.vuepress/components/sponsor-button.vue @@ -1,6 +1,11 @@