From: Evan You Date: Thu, 20 Sep 2018 01:52:24 +0000 (-0400) Subject: build: add vue 2.x compat package X-Git-Tag: v3.0.0-alpha.0~1230 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=360ab65117c0b8c0ba3b1038ae2e18b56ddf651a;p=thirdparty%2Fvuejs%2Fcore.git build: add vue 2.x compat package --- diff --git a/packages/vue/.npmignore b/packages/vue/.npmignore new file mode 100644 index 0000000000..bb5c8a541b --- /dev/null +++ b/packages/vue/.npmignore @@ -0,0 +1,3 @@ +__tests__/ +__mocks__/ +dist/packages \ No newline at end of file diff --git a/packages/vue/README.md b/packages/vue/README.md new file mode 100644 index 0000000000..90a7fe2a9b --- /dev/null +++ b/packages/vue/README.md @@ -0,0 +1,3 @@ +# vue + +The 2.x compatibility build. diff --git a/packages/vue/index.js b/packages/vue/index.js new file mode 100644 index 0000000000..7a3dc2d825 --- /dev/null +++ b/packages/vue/index.js @@ -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') +} diff --git a/packages/vue/package.json b/packages/vue/package.json new file mode 100644 index 0000000000..10cce24514 --- /dev/null +++ b/packages/vue/package.json @@ -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" + } +} diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts new file mode 100644 index 0000000000..d98bad2115 --- /dev/null +++ b/packages/vue/src/index.ts @@ -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