From 3289e1065c580a59b93dd08dbbb2daccff5c2043 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Mon, 8 Jul 2019 22:47:58 +0800 Subject: [PATCH] workflow: move eslint-config-* packages to standalone repos for easier maintenance Their upstream packages update much more frequently than most other packages in this repo, so they are more likely to be subject to breaking changes, thus requiring a different version strategy. --- lerna.json | 2 +- package.json | 4 +++ packages/@vue/eslint-config-airbnb/.npmignore | 2 -- packages/@vue/eslint-config-airbnb/README.md | 11 ------ packages/@vue/eslint-config-airbnb/index.js | 36 ------------------- .../@vue/eslint-config-airbnb/package.json | 29 --------------- .../@vue/eslint-config-prettier/.npmignore | 2 -- .../@vue/eslint-config-prettier/README.md | 11 ------ packages/@vue/eslint-config-prettier/index.js | 11 ------ .../@vue/eslint-config-prettier/package.json | 29 --------------- .../@vue/eslint-config-standard/.npmignore | 2 -- .../@vue/eslint-config-standard/README.md | 11 ------ packages/@vue/eslint-config-standard/index.js | 5 --- .../@vue/eslint-config-standard/package.json | 31 ---------------- .../@vue/eslint-config-typescript/.npmignore | 2 -- .../@vue/eslint-config-typescript/README.md | 13 ------- .../@vue/eslint-config-typescript/index.js | 22 ------------ .../eslint-config-typescript/package.json | 28 --------------- 18 files changed, 5 insertions(+), 246 deletions(-) delete mode 100644 packages/@vue/eslint-config-airbnb/.npmignore delete mode 100644 packages/@vue/eslint-config-airbnb/README.md delete mode 100644 packages/@vue/eslint-config-airbnb/index.js delete mode 100644 packages/@vue/eslint-config-airbnb/package.json delete mode 100644 packages/@vue/eslint-config-prettier/.npmignore delete mode 100644 packages/@vue/eslint-config-prettier/README.md delete mode 100644 packages/@vue/eslint-config-prettier/index.js delete mode 100644 packages/@vue/eslint-config-prettier/package.json delete mode 100644 packages/@vue/eslint-config-standard/.npmignore delete mode 100644 packages/@vue/eslint-config-standard/README.md delete mode 100644 packages/@vue/eslint-config-standard/index.js delete mode 100644 packages/@vue/eslint-config-standard/package.json delete mode 100644 packages/@vue/eslint-config-typescript/.npmignore delete mode 100644 packages/@vue/eslint-config-typescript/README.md delete mode 100644 packages/@vue/eslint-config-typescript/index.js delete mode 100644 packages/@vue/eslint-config-typescript/package.json diff --git a/lerna.json b/lerna.json index bcfaa6c53..584666c05 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "npmClient": "yarn", - "useWorkspaces": false, + "useWorkspaces": true, "version": "4.0.0-alpha.4", "packages": [ "packages/@vue/babel-preset-app", diff --git a/package.json b/package.json index fe1b5e13d..5a3185458 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,10 @@ }, "devDependencies": { "@babel/core": "^7.4.5", + "@vue/eslint-config-airbnb": "^4.0.0", + "@vue/eslint-config-prettier": "^4.0.1", + "@vue/eslint-config-standard": "^4.0.0", + "@vue/eslint-config-typescript": "^4.0.0", "@vuepress/plugin-pwa": "^1.0.1", "@vuepress/theme-vue": "^1.0.1", "babel-core": "7.0.0-bridge.0", diff --git a/packages/@vue/eslint-config-airbnb/.npmignore b/packages/@vue/eslint-config-airbnb/.npmignore deleted file mode 100644 index e0b178a18..000000000 --- a/packages/@vue/eslint-config-airbnb/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -__tests__ -__mocks__ diff --git a/packages/@vue/eslint-config-airbnb/README.md b/packages/@vue/eslint-config-airbnb/README.md deleted file mode 100644 index e22287a86..000000000 --- a/packages/@vue/eslint-config-airbnb/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# @vue/eslint-config-airbnb - -> eslint-config-airbnb for vue-cli - -This config is specifically designed to be used by `vue-cli` setups -and is not meant for outside use (it can be used but some adaptations -on the user side might be needed - for details see the config file). - -A part of its design is that this config may implicitly depend on -other parts of `vue-cli` setups, such as `eslint-plugin-vue` being -extended in the same resulting config. diff --git a/packages/@vue/eslint-config-airbnb/index.js b/packages/@vue/eslint-config-airbnb/index.js deleted file mode 100644 index 80d8d9052..000000000 --- a/packages/@vue/eslint-config-airbnb/index.js +++ /dev/null @@ -1,36 +0,0 @@ -module.exports = { - extends: [ - require.resolve('eslint-config-airbnb-base') - ], - settings: { - 'import/resolver': { - webpack: { - config: require.resolve('@vue/cli-service/webpack.config.js') - } - }, - 'import/extensions': [ - '.js', - '.jsx', - '.mjs', - '.ts', - '.tsx' - ] - }, - rules: { - 'import/extensions': ['error', 'always', { - js: 'never', - mjs: 'never', - jsx: 'never', - ts: 'never', - tsx: 'never' - }], - 'no-param-reassign': ['error', { - props: true, - ignorePropertyModificationsFor: [ - 'state', // for vuex state - 'acc', // for reduce accumulators - 'e' // for e.returnvalue - ] - }] - } -} diff --git a/packages/@vue/eslint-config-airbnb/package.json b/packages/@vue/eslint-config-airbnb/package.json deleted file mode 100644 index a69345f48..000000000 --- a/packages/@vue/eslint-config-airbnb/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "@vue/eslint-config-airbnb", - "version": "4.0.0", - "description": "eslint-config-airbnb for vue-cli", - "main": "index.js", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/vue-cli.git", - "directory": "packages/@vue/eslint-config-airbnb" - }, - "keywords": [ - "vue", - "cli" - ], - "author": "Evan You", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/vue-cli/issues" - }, - "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/eslint-config-airbnb#readme", - "dependencies": { - "eslint-config-airbnb-base": "^13.1.0", - "eslint-import-resolver-webpack": "^0.11.1", - "eslint-plugin-import": "^2.17.3" - } -} diff --git a/packages/@vue/eslint-config-prettier/.npmignore b/packages/@vue/eslint-config-prettier/.npmignore deleted file mode 100644 index e0b178a18..000000000 --- a/packages/@vue/eslint-config-prettier/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -__tests__ -__mocks__ diff --git a/packages/@vue/eslint-config-prettier/README.md b/packages/@vue/eslint-config-prettier/README.md deleted file mode 100644 index e2d532eb7..000000000 --- a/packages/@vue/eslint-config-prettier/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# @vue/eslint-config-prettier - -> eslint-config-prettier for vue-cli - -This config is specifically designed to be used by `vue-cli` setups -and is not meant for outside use (it can be used but some adaptations -on the user side might be needed - for details see the config file). - -A part of its design is that this config may implicitly depend on -other parts of `vue-cli` setups, such as `eslint-plugin-vue` being -extended in the same resulting config. diff --git a/packages/@vue/eslint-config-prettier/index.js b/packages/@vue/eslint-config-prettier/index.js deleted file mode 100644 index 5c7acff09..000000000 --- a/packages/@vue/eslint-config-prettier/index.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - plugins: ['prettier'], - extends: [ - 'eslint:recommended', - require.resolve('eslint-config-prettier'), - require.resolve('eslint-config-prettier/vue') - ], - rules: { - 'prettier/prettier': 'warn' - } -} diff --git a/packages/@vue/eslint-config-prettier/package.json b/packages/@vue/eslint-config-prettier/package.json deleted file mode 100644 index 8a19f56a0..000000000 --- a/packages/@vue/eslint-config-prettier/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "@vue/eslint-config-prettier", - "version": "4.0.1", - "description": "eslint-config-prettier for vue-cli", - "main": "index.js", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/vue-cli.git", - "directory": "packages/@vue/eslint-config-prettier" - }, - "keywords": [ - "vue", - "cli" - ], - "author": "Evan You", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/vue-cli/issues" - }, - "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/eslint-config-prettier#readme", - "dependencies": { - "eslint-config-prettier": "^4.3.0", - "eslint-plugin-prettier": "^3.1.0", - "prettier": "^1.17.1" - } -} diff --git a/packages/@vue/eslint-config-standard/.npmignore b/packages/@vue/eslint-config-standard/.npmignore deleted file mode 100644 index e0b178a18..000000000 --- a/packages/@vue/eslint-config-standard/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -__tests__ -__mocks__ diff --git a/packages/@vue/eslint-config-standard/README.md b/packages/@vue/eslint-config-standard/README.md deleted file mode 100644 index 99c2e6e7d..000000000 --- a/packages/@vue/eslint-config-standard/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# @vue/eslint-config-standard - -> eslint-config-standard for vue-cli - -This config is specifically designed to be used by `vue-cli` setups -and is not meant for outside use (it can be used but some adaptations -on the user side might be needed - for details see the config file). - -A part of its design is that this config may implicitly depend on -other parts of `vue-cli` setups, such as `eslint-plugin-vue` being -extended in the same resulting config. diff --git a/packages/@vue/eslint-config-standard/index.js b/packages/@vue/eslint-config-standard/index.js deleted file mode 100644 index e8dada4b0..000000000 --- a/packages/@vue/eslint-config-standard/index.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - extends: [ - require.resolve('eslint-config-standard') - ] -} diff --git a/packages/@vue/eslint-config-standard/package.json b/packages/@vue/eslint-config-standard/package.json deleted file mode 100644 index 9ba313bcc..000000000 --- a/packages/@vue/eslint-config-standard/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@vue/eslint-config-standard", - "version": "4.0.0", - "description": "eslint-config-standard for vue-cli", - "main": "index.js", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/vue-cli.git", - "directory": "packages/@vue/eslint-config-standard" - }, - "keywords": [ - "vue", - "cli" - ], - "author": "Evan You", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/vue-cli/issues" - }, - "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/eslint-config-standard#readme", - "dependencies": { - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.17.3", - "eslint-plugin-node": "^9.1.0", - "eslint-plugin-promise": "^4.1.1", - "eslint-plugin-standard": "^4.0.0" - } -} diff --git a/packages/@vue/eslint-config-typescript/.npmignore b/packages/@vue/eslint-config-typescript/.npmignore deleted file mode 100644 index e0b178a18..000000000 --- a/packages/@vue/eslint-config-typescript/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -__tests__ -__mocks__ diff --git a/packages/@vue/eslint-config-typescript/README.md b/packages/@vue/eslint-config-typescript/README.md deleted file mode 100644 index aac9e239a..000000000 --- a/packages/@vue/eslint-config-typescript/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# @vue/eslint-config-typescript - -> eslint-config-typescript for vue-cli - -See [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/eslint-plugin) for available rules. - -This config is specifically designed to be used by `vue-cli` setups -and is not meant for outside use (it can be used but some adaptations -on the user side might be needed - for details see the config file). - -A part of its design is that this config may implicitly depend on -other parts of `vue-cli` setups, such as `eslint-plugin-vue` being -extended in the same resulting config. diff --git a/packages/@vue/eslint-config-typescript/index.js b/packages/@vue/eslint-config-typescript/index.js deleted file mode 100644 index e39f85ad1..000000000 --- a/packages/@vue/eslint-config-typescript/index.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - plugins: ['@typescript-eslint'], - // Prerequisite `eslint-plugin-vue`, being extended, sets - // root property `parser` to `'vue-eslint-parser'`, which, for code parsing, - // in turn delegates to the parser, specified in `parserOptions.parser`: - // https://github.com/vuejs/eslint-plugin-vue#what-is-the-use-the-latest-vue-eslint-parser-error - parserOptions: { - parser: require.resolve('@typescript-eslint/parser') - }, - rules: { - // https://typescript-eslint.io/parser - 'no-undef': 'off', - 'no-unused-vars': 'off', - // https://github.com/typescript-eslint/typescript-eslint/issues/46 - // '@typescript-eslint/no-unused-vars': 'error', - - // temporary fix for https://github.com/vuejs/vue-cli/issues/1922 - // very strange as somehow this rule gets different behaviors depending - // on the presence of @typescript-eslint/parser... - 'strict': 'off' - } -} diff --git a/packages/@vue/eslint-config-typescript/package.json b/packages/@vue/eslint-config-typescript/package.json deleted file mode 100644 index 49cb7324e..000000000 --- a/packages/@vue/eslint-config-typescript/package.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "@vue/eslint-config-typescript", - "version": "4.0.0", - "description": "eslint-config-typescript for vue-cli", - "main": "index.js", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vuejs/vue-cli.git", - "directory": "packages/@vue/eslint-config-typescript" - }, - "keywords": [ - "vue", - "cli" - ], - "author": "Evan You", - "license": "MIT", - "bugs": { - "url": "https://github.com/vuejs/vue-cli/issues" - }, - "homepage": "https://github.com/vuejs/vue-cli/tree/dev/packages/@vue/eslint-config-typescript#readme", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^1.7.0", - "@typescript-eslint/parser": "^1.7.0" - } -}