build: add vue 2.x compat package
This commit is contained in:
parent
bc8b1678f4
commit
360ab65117
3
packages/vue/.npmignore
Normal file
3
packages/vue/.npmignore
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
__tests__/
|
||||||
|
__mocks__/
|
||||||
|
dist/packages
|
3
packages/vue/README.md
Normal file
3
packages/vue/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# vue
|
||||||
|
|
||||||
|
The 2.x compatibility build.
|
7
packages/vue/index.js
Normal file
7
packages/vue/index.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
module.exports = require('./dist/vue.cjs.prod.js')
|
||||||
|
} else {
|
||||||
|
module.exports = require('./dist/vue.cjs.js')
|
||||||
|
}
|
30
packages/vue/package.json
Normal file
30
packages/vue/package.json
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"name": "vue",
|
||||||
|
"version": "3.0.0-alpha.1",
|
||||||
|
"description": "vue",
|
||||||
|
"main": "index.js",
|
||||||
|
"module": "dist/vue.esm-bundler.js",
|
||||||
|
"typings": "dist/index.d.ts",
|
||||||
|
"unpkg": "dist/vue.global.js",
|
||||||
|
"buildOptions": {
|
||||||
|
"name": "Vue",
|
||||||
|
"compat": true,
|
||||||
|
"formats": ["esm", "cjs", "global", "esm-browser"]
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/vuejs/vue.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"vue"
|
||||||
|
],
|
||||||
|
"author": "Evan You",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/vuejs/vue/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/vuejs/vue/tree/dev/packages/vue#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"@vue/renderer-dom": "3.0.0-alpha.1"
|
||||||
|
}
|
||||||
|
}
|
27
packages/vue/src/index.ts
Normal file
27
packages/vue/src/index.ts
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
import { h, render, ComponentOptions } from '@vue/renderer-dom'
|
||||||
|
|
||||||
|
function Vue(options: ComponentOptions & { el: any }) {
|
||||||
|
const { el, render: r } = options
|
||||||
|
|
||||||
|
if (r) {
|
||||||
|
options.render = function(props, slots) {
|
||||||
|
return r.call(this, h, props, slots)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mount(el: any) {
|
||||||
|
const dom = document.querySelector(el)
|
||||||
|
render(h(options), dom)
|
||||||
|
return (dom as any).vnode.children.$proxy
|
||||||
|
}
|
||||||
|
|
||||||
|
if (el) {
|
||||||
|
return mount(el)
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
$mount: mount
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Vue
|
Loading…
Reference in New Issue
Block a user