From 16c86d6c09acc43854ccce94235fd0ed3c7641f7 Mon Sep 17 00:00:00 2001 From: Bart Ledoux Date: Sun, 12 Aug 2018 10:23:13 -0500 Subject: [PATCH 1/4] fix(config): allow relative baseUrl --- packages/@vue/cli-service/__tests__/Service.spec.js | 10 ++++++++++ packages/@vue/cli-service/lib/Service.js | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli-service/__tests__/Service.spec.js b/packages/@vue/cli-service/__tests__/Service.spec.js index a71c8d4e9c..af145bf7e5 100644 --- a/packages/@vue/cli-service/__tests__/Service.spec.js +++ b/packages/@vue/cli-service/__tests__/Service.spec.js @@ -94,6 +94,16 @@ test('handle option baseUrl and outputDir correctly', () => { expect(service.projectOptions.outputDir).toBe('/public') }) +test('normalize baseUrl when relative', () => { + mockPkg({ + vue: { + baseUrl: './foo/bar' + } + }) + const service = createMockService() + expect(service.projectOptions.baseUrl).toBe('foo/bar/') +}) + test('load project options from vue.config.js', () => { process.env.VUE_CLI_SERVICE_CONFIG_PATH = `/vue.config.js` fs.writeFileSync('/vue.config.js', `module.exports = { lintOnSave: false }`) diff --git a/packages/@vue/cli-service/lib/Service.js b/packages/@vue/cli-service/lib/Service.js index 2cdd0f89bc..2d38010b68 100644 --- a/packages/@vue/cli-service/lib/Service.js +++ b/packages/@vue/cli-service/lib/Service.js @@ -298,10 +298,10 @@ module.exports = class Service { } // normalize some options + ensureSlash(resolved, 'baseUrl') if (typeof resolved.baseUrl === 'string') { resolved.baseUrl = resolved.baseUrl.replace(/^\.\//, '') } - ensureSlash(resolved, 'baseUrl') removeSlash(resolved, 'outputDir') // deprecation warning From 6b4e9c1480bc161275c2ed1cdc0816b18b46ab1f Mon Sep 17 00:00:00 2001 From: Bart Ledoux Date: Sun, 12 Aug 2018 10:52:29 -0500 Subject: [PATCH 2/4] docs(config): Add tip for relative baseUrl --- docs/config/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/config/README.md b/docs/config/README.md index 79e25f5f62..da80e54931 100644 --- a/docs/config/README.md +++ b/docs/config/README.md @@ -54,6 +54,10 @@ module.exports = { Always use `baseUrl` instead of modifying webpack `output.publicPath`. ::: + ::: tip + To have a relative `baseUrl` do not forget to prefix it with `./`. If the publicPath would be `foo/bar`, use `bsreUrl:"./foo/bar"`. + ::: + ### outputDir - Type: `string` From 09d59aa819f965f8e274ee106145421ec1a24c16 Mon Sep 17 00:00:00 2001 From: Bart Ledoux Date: Sun, 12 Aug 2018 10:57:21 -0500 Subject: [PATCH 3/4] fix(tests): add test for empty baseUrl --- packages/@vue/cli-service/__tests__/Service.spec.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/@vue/cli-service/__tests__/Service.spec.js b/packages/@vue/cli-service/__tests__/Service.spec.js index af145bf7e5..dfd6cc0052 100644 --- a/packages/@vue/cli-service/__tests__/Service.spec.js +++ b/packages/@vue/cli-service/__tests__/Service.spec.js @@ -104,6 +104,16 @@ test('normalize baseUrl when relative', () => { expect(service.projectOptions.baseUrl).toBe('foo/bar/') }) +test('keep baseUrl when empty', () => { + mockPkg({ + vue: { + baseUrl: '' + } + }) + const service = createMockService() + expect(service.projectOptions.baseUrl).toBe('') +}) + test('load project options from vue.config.js', () => { process.env.VUE_CLI_SERVICE_CONFIG_PATH = `/vue.config.js` fs.writeFileSync('/vue.config.js', `module.exports = { lintOnSave: false }`) From 7561b429bb768a703a6a6d67bee007e06f0b834d Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 13 Aug 2018 12:13:59 -0400 Subject: [PATCH 4/4] Update README.md --- docs/config/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/config/README.md b/docs/config/README.md index da80e54931..79e25f5f62 100644 --- a/docs/config/README.md +++ b/docs/config/README.md @@ -54,10 +54,6 @@ module.exports = { Always use `baseUrl` instead of modifying webpack `output.publicPath`. ::: - ::: tip - To have a relative `baseUrl` do not forget to prefix it with `./`. If the publicPath would be `foo/bar`, use `bsreUrl:"./foo/bar"`. - ::: - ### outputDir - Type: `string`