aboutsummaryrefslogtreecommitdiffstats
path: root/resources/src/vue/composition-api.js
diff options
context:
space:
mode:
authorRoan Kattouw <roan.kattouw@gmail.com>2021-09-24 18:52:11 -0700
committerJforrester <jforrester@wikimedia.org>2021-11-03 23:15:57 +0000
commit10fae048df037b5ceb15d63c395a6e1b283c55ce (patch)
tree8dd50d87b78016dd87e5fbe633d99cd38116ebdf /resources/src/vue/composition-api.js
parentf300c1c51d66094250021d1b129b6a6f1885540f (diff)
downloadmediawikicore-10fae048df037b5ceb15d63c395a6e1b283c55ce.tar.gz
mediawikicore-10fae048df037b5ceb15d63c395a6e1b283c55ce.zip
Add Vue composition API plugin
Feature code that needs the composition API will need this as long as we're still on Vue 2. This will also help migrate to Vue 3 more seamlessly, as working around some breaking changes in Vue 3 requires using the composition API. Bug: T251974 Change-Id: I8e334ae5f447a8f9b64a7c910b2c1776cef118db
Diffstat (limited to 'resources/src/vue/composition-api.js')
-rw-r--r--resources/src/vue/composition-api.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/resources/src/vue/composition-api.js b/resources/src/vue/composition-api.js
new file mode 100644
index 000000000000..801d8450e4f0
--- /dev/null
+++ b/resources/src/vue/composition-api.js
@@ -0,0 +1,12 @@
+/* global VueCompositionAPI */
+// eslint-disable-next-line no-implicit-globals
+var Vue = require( 'vue' );
+
+// vue-composition-api.js requires the window.Vue global
+window.Vue = Vue;
+
+// Unfortunately, vue-composition-api.js creates a VueCompositionAPI global rather than exporting it
+require( '../../lib/vue-composition-api/vue-composition-api.js' );
+Vue.use( VueCompositionAPI );
+
+module.exports = VueCompositionAPI;