How to organize a family of Quasar-based projects that are using common/internal components & modules
-
I’m in process of developing a “family” of projects for which I’ve considered Quasar being the best options.
Here are the “individual” projects:
1 x Cordova ClientApp: Android/iOS mobile application used by regular users (include BT/BLE support)
2 x Cordova AdminApp: Android/iOS mobile application used by admins
1 x SPA Dashboard: web application used by support
1 x Electron TechnicianApp: Windows desktop app (with off-line support) with BT/bleno integrationAside of specialized functionality in all these apps, there are some common functionality and components that I want to reuse, so some modularization by introducing common “library” kind of modules should be used (ex: using FIrebase + authentication + login component, common store/module for user management …etc).
Maybe the optimal solution is not necessary Quasar specific, but the issue is more generic and may apply to VueJS shared projects as well … The idea is to avoid exposing & publishing internal components as Node modules to be imported in other “consumer” projects …
I had various ideas like using
npm/yarn link
to use internal modules without npm publishing or using a monorepo and yarn workspaces … but having a sample/template that really works it will be a lot betterAny suggestions , hints, links and refs will be highly appreciated … !
-
Well, +1 on this. I will have three “sub” apps and a main one, and for sure will need to share code (mixins, plugins, even pages) among them.
Any hints or best practices about this?
Thanks!
-
with git you could use this:
https://git-scm.com/book/en/v2/Git-Tools-Submodules
or with mercurial this:
https://www.mercurial-scm.org/wiki/Subrepository
IMHO private npm/yarn or other module manager doesn’t work in shared code/developer scenario (it works in distribution/production scenarios however).