{"id":25771,"library":"isomor-vue-app","title":"Isomor Vue App","description":"isomor-vue-app is a library for isomor v2.x, an isomorphic framework that abstracts frontend-backend layers in a single TypeScript/JavaScript project. It generates communication layers automatically, replacing REST or GraphQL with direct function calls from frontend to server. This package provides Vue-specific integration (likely Vue 2) for isomor. The framework uses Babel transpilation to separate code. Released as part of isomor ecosystem, maintained by apiel.","status":"maintenance","version":"2.7.1","language":"javascript","source_language":"en","source_url":"https://github.com/apiel/isomor","tags":["javascript","isomorphic","typescript","vue","server"],"install":[{"cmd":"npm install isomor-vue-app","lang":"bash","label":"npm"},{"cmd":"yarn add isomor-vue-app","lang":"bash","label":"yarn"},{"cmd":"pnpm add isomor-vue-app","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core framework required for isomor-vue-app to work","package":"isomor","optional":false},{"reason":"Peer dependency for Vue integration","package":"vue","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require will not work.","wrong":"const isomorVueApp = require('isomor-vue-app');","symbol":"isomorVueApp","correct":"import isomorVueApp from 'isomor-vue-app'"},{"note":"VueClient is a named export. Default export is the plugin function.","wrong":"import VueClient from 'isomor-vue-app';","symbol":"VueClient","correct":"import { VueClient } from 'isomor-vue-app'"},{"note":"VueServer is a named export from a separate entry point for server-side code.","wrong":"import VueServer from 'isomor-vue-app';","symbol":"VueServer","correct":"import { VueServer } from 'isomor-vue-app/server'"}],"quickstart":{"code":"// Install: npm install isomor @isomor/vue-app vue\nimport Vue from 'vue';\nimport isomorVueApp from 'isomor-vue-app';\nimport { VueClient } from 'isomor-vue-app';\n\n// Create a Vue plugin instance\nconst vuePlugin = isomorVueApp({\n  api: 'http://localhost:3000/api' // Your API endpoint\n});\n\nVue.use(vuePlugin);\n\nnew Vue({\n  render: h => h(App),\n  created() {\n    // Now you can call server functions directly\n    // e.g., import { getUsers } from './server/users';\n    // getUsers().then(users => this.users = users);\n  }\n}).$mount('#app');","lang":"typescript","description":"Initialize isomor-vue-app with a Vue 2 frontend, showing plugin setup and direct server function invocation."},"warnings":[{"fix":"Upgrade isomor to v2.x.","message":"isomor-vue-app requires isomor v2.x. isomor v1.x is not compatible.","severity":"breaking","affected_versions":"<2.0.0"},{"fix":"Use a different library for Vue 3, or stay on Vue 2.","message":"Vue 2 support only. Vue 3 is not supported.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Keep client and server code in separate files with appropriate imports.","message":"Direct use of client and server modules in the same file is not allowed; isomor separates them at build time.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Add isomor to your dependencies.","message":"This package only provides Vue integration; you must install isomor separately.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install isomor-vue-app isomor","cause":"Missing isomor-vue-app dependency or missing isomor peer dependency","error":"Module not found: Can't resolve 'isomor-vue-app'"},{"fix":"Run npm install isomor","cause":"Missing peer dependency isomor","error":"Error: Cannot find module 'isomor'"},{"fix":"Ensure Vue is properly imported: import Vue from 'vue'","cause":"Vue is not imported or not installed correctly","error":"TypeError: Vue.use is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}