Skip to content

Vue 3 Support #555

Open
Open
@marshallswain

Description

@marshallswain

This issue is for tracking progress towards Vue 3.

  • Switch to use vue-demi and make sure all tests pass.
  • Check components for breaking changes for Vue 3 (v-model, attr.sync, full list)
    • FeathersVuexCount
    • FeathersVuexFind
    • FeathersVuexFormWrapper
      • Added emits array at top level for Vue 3 events.
    • FeathersVuexGet
    • FeathersVuexInputWrapper
    • FeathersVuexPagination
      • Changed value prop to modelValue.
      • Added model configuration for Vue 2. Changed the default prop to modelValue.
      • Now emits both the input event (for backward compatibility with Vue 2) and the update:modelValue event for Vue 3.
  • Create Vue3-style plugin that uses app.use instead of Vue.use
    • Docs for new Vue plugin
  • Make sure it works with Vuex 4
    • Docs for usage with Vuex 4
  • How do we handle utils.js and other places where we import Vue from 'vue'?
    • Answer: Lerna monorepo.
  • Implement branching logic so that the cloneWithAccessors utility is only used for Vue 2. @marshallswain
  • Create Lerna monorepo
    • feathers-vuex package for Vue 2
    • @feathersjs/vuex package for Vue 3
    • @feathersjs/vuex-commons package for sharing code between the two versions.
  • Update root README.md to include instructions for using Lerna
  • For Vue 2 version
    • Move current mutations into feathers-vuex-vue2
    • Pass mutations into the call to prepareMakeServicePlugin
    • Move cloneWithAccessors to utils-vue2.ts
    • Pass updateOriginal utility into wherever it should be used.
    • Get existing tests to pass
  • For Vue 3 version
    • Implement new mutations
    • Pass mutations into the call to prepareMakeServicePlugin
    • Implement updateOriginal utility for Vue 3
    • Create replacement for cloneWithAccessors.
    • Write tests for Vue 3. (make sure merge and deletes work well)
  • Example Vue 3 app with Vite
  • Example Vue 2 app with Vue CLI
  • Example Nuxt app with SSG

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions