From 3e94bb37cb8f9ef124d5c102b7208eab2445b34e Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Thu, 1 Aug 2019 20:48:30 +0800 Subject: [PATCH] chore!: remove the already-deprecated `baseUrl` option --- .../cli-service/__tests__/Service.spec.js | 25 ------------------- packages/@vue/cli-service/lib/Service.js | 17 ------------- packages/@vue/cli-service/lib/options.js | 3 --- packages/@vue/cli-ui/locales/en.json | 4 --- packages/@vue/cli-ui/ui-defaults/config.js | 2 +- 5 files changed, 1 insertion(+), 50 deletions(-) diff --git a/packages/@vue/cli-service/__tests__/Service.spec.js b/packages/@vue/cli-service/__tests__/Service.spec.js index 477662bc57..c1f37f8f6e 100644 --- a/packages/@vue/cli-service/__tests__/Service.spec.js +++ b/packages/@vue/cli-service/__tests__/Service.spec.js @@ -6,8 +6,6 @@ const fs = require('fs') const path = require('path') const Service = require('../lib/Service') -const { logs } = require('@vue/cli-shared-utils') - const mockPkg = json => { fs.writeFileSync('/package.json', JSON.stringify(json, null, 2)) } @@ -84,29 +82,6 @@ test('load project options from package.json', () => { expect(service.projectOptions.lintOnSave).toBe('default') }) -test('deprecate baseUrl', () => { - mockPkg({ - vue: { - baseUrl: './foo/bar' - } - }) - createMockService() - expect(logs.warn.some(([msg]) => msg.match('is deprecated now, please use "publicPath" instead.'))) -}) - -test('discard baseUrl if publicPath also exists', () => { - mockPkg({ - vue: { - baseUrl: '/foo/barbase/', - publicPath: '/foo/barpublic/' - } - }) - - const service = createMockService() - expect(logs.warn.some(([msg]) => msg.match('"baseUrl" will be ignored in favor of "publicPath"'))) - expect(service.projectOptions.publicPath).toBe('/foo/barpublic/') -}) - test('handle option publicPath and outputDir correctly', () => { mockPkg({ vue: { diff --git a/packages/@vue/cli-service/lib/Service.js b/packages/@vue/cli-service/lib/Service.js index b1f5442a3b..55484370d5 100644 --- a/packages/@vue/cli-service/lib/Service.js +++ b/packages/@vue/cli-service/lib/Service.js @@ -346,28 +346,11 @@ module.exports = class Service { resolvedFrom = 'inline options' } - if (typeof resolved.baseUrl !== 'undefined') { - if (typeof resolved.publicPath !== 'undefined') { - warn( - `You have set both "baseUrl" and "publicPath" in ${chalk.bold('vue.config.js')}, ` + - `in this case, "baseUrl" will be ignored in favor of "publicPath".` - ) - } else { - warn( - `"baseUrl" option in ${chalk.bold('vue.config.js')} ` + - `is deprecated now, please use "publicPath" instead.` - ) - resolved.publicPath = resolved.baseUrl - } - } - // normalize some options ensureSlash(resolved, 'publicPath') if (typeof resolved.publicPath === 'string') { resolved.publicPath = resolved.publicPath.replace(/^\.\//, '') } - // for compatibility concern, in case some plugins still rely on `baseUrl` option - resolved.baseUrl = resolved.publicPath removeSlash(resolved, 'outputDir') // validate options diff --git a/packages/@vue/cli-service/lib/options.js b/packages/@vue/cli-service/lib/options.js index 9719a239f7..fff1034acc 100644 --- a/packages/@vue/cli-service/lib/options.js +++ b/packages/@vue/cli-service/lib/options.js @@ -1,7 +1,6 @@ const { createSchema, validate } = require('@vue/cli-shared-utils') const schema = createSchema(joi => joi.object({ - baseUrl: joi.string().allow(''), publicPath: joi.string().allow(''), outputDir: joi.string(), assetsDir: joi.string().allow(''), @@ -79,8 +78,6 @@ function hasMultipleCores () { exports.defaults = () => ({ // project deployment base publicPath: '/', - // for compatibility concern. TODO: remove in v4. - baseUrl: '/', // where to output built files outputDir: 'dist', diff --git a/packages/@vue/cli-ui/locales/en.json b/packages/@vue/cli-ui/locales/en.json index 456524eddd..99f2e31e87 100644 --- a/packages/@vue/cli-ui/locales/en.json +++ b/packages/@vue/cli-ui/locales/en.json @@ -601,10 +601,6 @@ "general": "General settings", "css": "CSS settings" }, - "baseUrl": { - "label": "Base URL", - "description": "The base URL your application will be deployed at, for example '/my-app/'. Use an empty string ('') so that all assets are linked using relative paths." - }, "publicPath": { "label": "Public Path", "description": "The base URL your application will be deployed at, for example '/my-app/'. Use an empty string ('') so that all assets are linked using relative paths." diff --git a/packages/@vue/cli-ui/ui-defaults/config.js b/packages/@vue/cli-ui/ui-defaults/config.js index fc597ff86c..bdf78da014 100644 --- a/packages/@vue/cli-ui/ui-defaults/config.js +++ b/packages/@vue/cli-ui/ui-defaults/config.js @@ -16,7 +16,7 @@ module.exports = api => { name: 'publicPath', type: 'input', default: '/', - value: data.vue && (data.vue.publicPath || data.vue.baseUrl), // fallback to baseUrl for compatibility + value: data.vue && data.vue.publicPath, message: 'org.vue.vue-webpack.config.vue-cli.publicPath.label', description: 'org.vue.vue-webpack.config.vue-cli.publicPath.description', group: 'org.vue.vue-webpack.config.vue-cli.groups.general',