Skip to content
This repository was archived by the owner on Jan 18, 2022. It is now read-only.

Commit 3b0b4de

Browse files
committed
fix: use local runtime helpers for externalising vue-runtime-helpers
1 parent 0bc9d30 commit 3b0b4de

File tree

8 files changed

+459
-243
lines changed

8 files changed

+459
-243
lines changed

package.json

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
"test": "jest"
4343
},
4444
"files": [
45-
"dist/"
45+
"dist/",
46+
"runtime/"
4647
],
4748
"dependencies": {
4849
"@vue/component-compiler": "^4.1.0",
@@ -53,19 +54,19 @@
5354
"querystring": "^0.2.0",
5455
"rollup-pluginutils": "^2.4.1",
5556
"source-map": "0.7.3",
56-
"vue-runtime-helpers": "^1.1.1"
57+
"vue-runtime-helpers": "^1.1.2"
5758
},
5859
"devDependencies": {
59-
"@babel/core": "^7.0.0-beta.46",
60-
"@babel/plugin-proposal-object-rest-spread": "^7.0.0-beta.46",
61-
"@babel/plugin-transform-runtime": "^7.0.0-beta.46",
62-
"@babel/preset-env": "^7.0.0-beta.46",
63-
"@babel/runtime": "^7.0.0-beta.46",
60+
"@babel/core": "^7.6.4",
61+
"@babel/plugin-proposal-object-rest-spread": "^7.6.2",
62+
"@babel/plugin-transform-runtime": "^7.6.2",
63+
"@babel/preset-env": "^7.6.2",
64+
"@babel/runtime": "^7.6.2",
6465
"@types/debug": "^0.0.31",
6566
"@types/jest": "^23.3.12",
6667
"@types/node": "^10.12.18",
6768
"@types/puppeteer": "^1.3.1",
68-
"@znck/promised": "^1.0.0",
69+
"@znck/promised": "^1.0.4",
6970
"babel-core": "7.0.0-bridge.0",
7071
"babel-jest": "^23.6.0",
7172
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
@@ -77,7 +78,7 @@
7778
"pug": "^2.0.3",
7879
"puppeteer": "^1.4.0",
7980
"rollup": "^1.1.0",
80-
"rollup-plugin-babel": "^4.0.0-beta.4",
81+
"rollup-plugin-babel": "^4.3.3",
8182
"rollup-plugin-commonjs": "^9.1.3",
8283
"rollup-plugin-css-only": "^0.4.0",
8384
"rollup-plugin-md": "^0.0.7",

runtime/browser.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { createInjector } from 'vue-runtime-helpers'
2+
3+
export default createInjector

runtime/normalize.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { normalizeComponent } from 'vue-runtime-helpers'
2+
3+
export default normalizeComponent

runtime/server.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { createInjectorSSR } from 'vue-runtime-helpers'
2+
3+
export default createInjectorSSR

runtime/shadow.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { createInjectorShadow } from 'vue-runtime-helpers'
2+
3+
export default createInjectorShadow

src/index.ts

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
DescriptorCompileResult
1717
} from '@vue/component-compiler'
1818
import MagicString from 'magic-string'
19-
import { Plugin, RawSourceMap } from 'rollup'
19+
import { Plugin } from 'rollup'
2020
import * as path from 'path'
2121
import { parse, SFCDescriptor, SFCBlock } from '@vue/component-compiler-utils'
2222
import debug from 'debug'
@@ -175,16 +175,13 @@ export default function vue(opts: Partial<VuePluginOptions> = {}): Plugin {
175175
d(`Build target: ${process.env.VUE_ENV || 'browser'}`)
176176

177177
if (!opts.normalizer)
178-
opts.normalizer = '~' + 'vue-runtime-helpers/dist/normalize-component.mjs'
178+
opts.normalizer = '~' + require.resolve('../runtime/normalize')
179179
if (!opts.styleInjector)
180-
opts.styleInjector =
181-
'~' + 'vue-runtime-helpers/dist/inject-style/browser.mjs'
180+
opts.styleInjector = '~' + require.resolve('../runtime/browser')
182181
if (!opts.styleInjectorSSR)
183-
opts.styleInjectorSSR =
184-
'~' + 'vue-runtime-helpers/dist/inject-style/server.mjs'
182+
opts.styleInjectorSSR = '~' + require.resolve('../runtime/server')
185183
if (!opts.styleInjectorShadow)
186-
opts.styleInjectorShadow =
187-
'~' + 'vue-runtime-helpers/dist/inject-style/shadow.mjs'
184+
opts.styleInjectorShadow = '~' + require.resolve('../runtime/shadow')
188185

189186
createVuePartRequest.defaultLang = {
190187
...createVuePartRequest.defaultLang,
@@ -272,12 +269,10 @@ export default function vue(opts: Partial<VuePluginOptions> = {}): Plugin {
272269

273270
resolveId(id, importer) {
274271
const request = id
275-
if (id.startsWith('vue-runtime-helpers/')) {
276-
id = require.resolve(id)
277-
dR(`form: ${request} \nto: ${id}\n`)
278-
return id
279-
}
272+
273+
if (!importer) return
280274
if (!isVuePartRequest(id)) return
275+
281276
id = path.resolve(path.dirname(importer), id)
282277
const ref = parseVuePartRequest(id)
283278

@@ -309,7 +304,7 @@ export default function vue(opts: Partial<VuePluginOptions> = {}): Plugin {
309304
'code' in element
310305
? ((element as any).code as string) // .code is set when extract styles is used. { css: false }
311306
: element.content
312-
let map = element.map as RawSourceMap
307+
let map = element.map as any
313308

314309
if (request.meta.type === 'styles') {
315310
code = prependStyle(id, request.meta.lang, code, map).code

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@
1010
"declaration": true,
1111
"allowJs": false,
1212
"allowSyntheticDefaultImports": true,
13+
"esModuleInterop": true,
1314
"noUnusedLocals": true,
1415
"strictNullChecks": true,
1516
"noImplicitAny": true,
1617
"removeComments": false,
1718
"lib": ["es2015", "es6", "es7", "dom"]
1819
},
19-
"include": ["src", "typings"],
20+
"include": ["src", "typings", "runtime.js"],
2021
"exclude": ["node_modules"]
2122
}

0 commit comments

Comments
 (0)