Nuxt PWA with themes based on api informations - vue.js

As part of an agency project, we are working on a PWA that needs to be able to change its theme if an api tells it to.
The pwa already builds its manifest.json from the information returned by our api (via a nuxt plugin executed before rendering).
For theming we have several tracks but this deposit seems to be a good example of what is feasible : https://github.com/adrianjost/nuxtjs-theming
Is it possible via a nuxt plugin (or a module via hooks) to modify the currently selected theme? (i.e. to tell our PWA to get its views first in the selected theme folder) ?

As of right now, it looks like this is not doable with #nuxtjs/pwa module, but you can maybe get some inspiration to make your own solution.
Give a read to this answer and the thread overall: https://github.com/nuxt-community/pwa-module/issues/225#issuecomment-769880254
Having to manually handle workbox may be a solution: https://github.com/nuxt-community/pwa-module/issues/459 or use a totally hand-made solution of course.

Related

Share storybook project accross several Vuejs project

I want to start to use Storybook on my vueJS application. Since the stories seem to be "attached" to the project, I was wondering if I could use them for other app without duplicating them.
Like, can I have a repository with just stories ? How could it work to import them ?
Thanks.

NetSuite Suitelet/RESTlet to display VueJS app

I am attempting to build a popup Suitlete that displays a Vue app. It needs to have the ability to pass data back and forth into the transaction that opened it.
Has anyone done this in the past and if so what did the setup for the Vue files and the Suitelet/RESTlet look like? Can't seem to find examples.
You can find projects on GitHub that have great Vue/NetSuite project file setups, ones where you can use Vue CLI to work locally that still work with RESTlets. Here's one https://github.com/michoelchaikin/netsuite-mapreduce-util

Best way to send source maps to Sentry but keep them off production website and app

I have a Ionic Vue web-based PWA and web-based mobile app. Recently I added Sentry into the mix and used the Sentry webpack plugin to upload source maps to Sentry. Everything works great when the Vue/JavaScript crashes I get the proper line/column info on the error but I noticed on the web-based version of the app that webpack shows the source code for the entire Vue app. I'd like to prevent that.
Here is my workflow: I commit to github main and it kicks off a github action which builds the project and finally deploys to Firebase hosting. I'm thinking I need to have two actions, one for building and sending to Firebase, and another for building and uploading source maps. I also use Ionic AppFlow for deploying to mobile apps (iOS/Android) so I'm thinking I need to prevent AppFlow from building/sending sourcemaps too.
So... how do I do this? Both Github actions and AppFlow see things as "production" mode. And AppFlow doesn't support environment variables at the pay level I'm at. Is there a way to have multiple vue.config.js files I can have?

material-components-web for vue js

I have a website based on Vue framework and webpack.
I came across this css framework developed by Google (Material Components Web) where you can directly get started using a cdn or an npm package. It worked extremely well for a simple html/javascript based website. But, I am having issues setting it up for the Vue project.
There are other wrappers available for Vue framework like Veutify and Vue Material. But, it comes with lot of additional stuff like the grid layout which I don't want the developers to follow as we are already using a flex layout. I only want the component library.
So, is there a way use the Material Components Web with the Vue framework?
I didn't get the Material Components Web working with the Vue framework. But I did found another light-weight material design framework i.e. Material Design Lite.
Note: It is not specific to any framework. It lets you add Material Design look to your website developed in any framework
You can easily get started with a wide variety of options like cdn, bower, npm or even by downloading the files.
Material Components Web has modular architecture. Each component or API is distributed as a separate package. It means that you can use them separately, although there are some dependencies.
Also there is "root" package - material-components-web, which just references all other packages.
By default, when you add a package, it will not be included in your app. You'll need to import component's SCSS and optionally JavaScript. Basically like you would use any other component.
Reference this Vue app template as an example. As you can see here, it references only subset of MDC's components/APIs.

Trying to create an embed able Vue Component bundled with Laravel Mix

I have created a SPA dashboard using Vue.JS and Laravel, and now would like to create a script that I can use in other sites I manage to just display the event data I am creating in the dashboard via the APIs I have made. I am using Laravel's webpack.mix to do my bundling. Thus far, I haven't really found anything for this situation that explains what I need to do. Any pointers would be helpful, and I can post my code, if I knew what code would be helpful. :)
I didn't entirely understand what you want to do but maybe this project will help. It's a Vue Component bundled using Laravel Mix and deployed to npm: https://github.com/niiknow/vue-datatables-net