- Conversione Codice... Errore Service Worker regostration.

- Sistemare quasar.config.ts di piuchebuono!
-Le categorie non si vedono piu !!
This commit is contained in:
Surya Paolo
2025-03-06 01:23:45 +01:00
parent 5c38bbd52e
commit 5a32e057b2
159 changed files with 3540 additions and 1240 deletions

View File

@@ -0,0 +1,29 @@
{
"name": "Gruppo Macro",
"short_name": "GruppoMacro",
"description": "",
"display": "standalone",
"orientation": "portrait",
"background_color": "#fff",
"theme_color": "#027be3",
"scope": "/",
"id": "/?homescreen=1",
"start_url": "/?homescreen=1",
"icons": [
{
"src": "images/gm-android-icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
},
{
"src": "images/gm-android-icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
},
{
"src": "images/gm-apple-touch-icon.png",
"sizes": "180x180",
"type": "image/png",
}
]
}

View File

@@ -7,54 +7,52 @@
"private": true,
"keywords": [],
"license": "MIT",
"type": "module",
"scripts": {
"dev": "quasar dev",
"build": "NODE_ENV=production quasar build",
"buildpwa": "NODE_ENV=production quasar build -m pwa",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "quasar build -m pwa",
"buildpwatest": "NODE_ENV=test quasar build -m pwa",
"buildspa": "NODE_ENV=production quasar build -m spa",
"lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=6096 DEBUG=v8:* quasar dev -m pwa",
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --debug",
"debug": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --mode debug",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "quasar dev -m pwa",
"spa": "quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"
"generate-sw": "workbox generateSW workbox-config.js",
"postinstall": "quasar prepare"
},
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
"@babel/plugin-proposal-json-strings": "^7.18.6",
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
"@babel/runtime": "^7.26.7",
"@cubejs-client/core": "^1.2.1",
"@quasar/extras": "^1.16.16",
"@quasar/quasar-ui-qcalendar": "^4.1.1",
"@cubejs-client/core": "^1.2.13",
"@quasar/extras": "^1.16.17",
"@quasar/quasar-ui-qcalendar": "^4.1.2",
"@types/leaflet": "^1.9.16",
"@vue/compat": "^3.5.13",
"@vue/compiler-sfc": "^3.5.13",
"@vue/eslint-config-standard": "^9.0.0",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"acorn": "^8.14.0",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.20",
"axios": "^1.7.9",
"bcryptjs": "^2.4.3",
"chart.js": "^4.4.7",
"core-js": "^3.40.0",
"axios": "^1.8.1",
"bcryptjs": "^3.0.2",
"chart.js": "^4.4.8",
"core-js": "^3.41.0",
"crypto-browserify": "^3.12.1",
"date-fns": "^4.1.0",
"dotenv": "^16.4.7",
"echarts": "5.6.0",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-quasar": "^1.1.0",
"graphql": "^16.10.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.12.7",
"html2pdf.js": "^0.10.2",
"html2pdf.js": "^0.10.3",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"leaflet": "^1.9.4",
@@ -63,24 +61,22 @@
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^10.8.0",
"nprogress": "^0.2.0",
"pinia": "^2.3.1",
"pinia": "^3.0.1",
"qrcode-vue3": "^1.7.1",
"quasar": "^2.17.7",
"quasar": "^2.18.0",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"rxjs": "^7.8.1",
"typescript-eslint": "^8.23.0",
"scrollreveal": "^4.0.9",
"typescript-eslint": "^8.25.0",
"vee-validate": "^4.15.0",
"vue": "^3.5.13",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^7.0.3",
"vue-i18n": "^11.1.0",
"vue-i18n": "^11.1.1",
"vue-idb": "^0.2.0",
"vue-image-zoomer": "^2.4.4",
"vue-loader": "^17.4.2",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.5.0",
"vue-scroll-reveal": "^2.1.0",
@@ -91,79 +87,55 @@
"vue3-pdf-app": "^1.0.3",
"vue3-qr-reader": "^1.0.0",
"vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1"
"vuex-router-sync": "^6.0.0-rc.1",
"workbox-core": "^7.3.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0",
"workbox-window": "^7.3.0"
},
"devDependencies": {
"@babel/core": "^7.26.7",
"@babel/plugin-transform-class-properties": "^7.25.9",
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
"@babel/plugin-transform-json-strings": "^7.25.9",
"@babel/plugin-transform-numeric-separator": "^7.25.9",
"@babel/plugin-transform-runtime": "^7.25.9",
"@quasar/app-webpack": "3.15.1",
"@eslint/js": "^9.21.0",
"@intlify/unplugin-vue-i18n": "^6.0.3",
"@quasar/app-vite": "^2.1.1",
"@types/bcryptjs": "^2.4.6",
"@types/dotenv": "^8.2.0",
"@types/google.maps": "^3.58.1",
"@types/jest": "^29.5.14",
"@types/js-cookie": "^3.0.6",
"@types/node": "22.13.1",
"@types/node": "^22.13.8",
"@types/nprogress": "^0.2.3",
"@types/vue-tel-input": "^2.1.7",
"@types/vuelidate": "^0.7.22",
"@typescript-eslint/eslint-plugin": "^8.23.0",
"@typescript-eslint/parser": "^8.23.0",
"babel-loader": "^9.2.1",
"copy-webpack-plugin": "^12.0.2",
"eslint": "^9.19.0",
"eslint-config-prettier": "10.0.1",
"@vue/devtools": "^7.7.2",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.4.0",
"autoprefixer": "^10.4.20",
"eslint": "9",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-vue": "^9.32.0",
"file-loader": "^6.2.0",
"fork-ts-checker-webpack-plugin": "^9.0.2",
"friendly-errors-webpack-plugin": "^1.7.0",
"html-webpack-plugin": "^5.6.3",
"globals": "^16.0.0",
"http-proxy-middleware": "^3.0.3",
"jest": "^29.7.0",
"json-loader": "^0.5.7",
"node-sass": "^9.0.0",
"nodemon": "^3.1.9",
"npm-check-updates": "^17.1.14",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"npm-check-updates": "^17.1.15",
"parcel": "^2.13.3",
"postcss": "^8.5.1",
"postcss": "^8.5.3",
"postcss-loader": "^8.1.1",
"sass-loader": "^16.0.4",
"prettier": "3",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-jest": "^29.2.6",
"typescript": "5.7.3",
"vite-plugin-checker": "^0.9.0",
"vue-cli-plugin-element-ui": "^1.1.4",
"vue-tsc": "^2.2.6",
"vueify": "^9.4.1",
"webpack": "^5.97.1",
"webpack-dashboard": "^3.3.8",
"workbox-webpack-plugin": "^7.1.0"
"workbox-build": "^7.3.0"
},
"browser": {
"crypto": false
},
"browserslist": [
"last 100 Chrome versions",
"last 40 Firefox versions",
"last 20 Edge versions",
"last 55 Safari versions",
"last 90 Android versions",
"last 250 ChromeAndroid versions",
"last 60 FirefoxAndroid versions",
"last 35 iOS versions",
"last 10 Opera versions",
"> 0.03%",
"not dead"
],
"engines": {
"node": ">= 22.13.1",
"npm": ">= 6.14.8",
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
"npm": ">= 6.13.4",
"yarn": ">= 1.21.1"
}
}

View File

@@ -1,395 +0,0 @@
/*
* This file runs in a Node context (it's NOT transpiled by Babel), so use only
* the ES6 features that are supported by your Node version. https://node.green/
*/
// Configuration for your app
// https://v2.quasar.dev/quasar-cli/quasar-conf-js
/* eslint-env node */
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint func-names: 0 */
/* eslint global-require: 0 */
const { configure } = require('quasar/wrappers');
const path = require('path')
const webpack = require('webpack')
const helpers = require('./helpers')
const envparser = require('./config/envparser')
const package = require('./package.json');
// const ESLintPlugin = require('eslint-webpack-plugin')
module.exports = configure((ctx) => ({
// https://v2.quasar.dev/quasar-cli/supporting-ts
supportTS: {
tsCheckerConfig: {
eslint: {
enabled: true,
files: './src/**/*.{ts,tsx,jsx,vue}',
},
},
},
// https://v2.quasar.dev/quasar-cli/prefetch-feature
// preFetch: true,
// app boot file (/src/boot)
// --> boot files are part of "main.js"
// https://v2.quasar.dev/quasar-cli/boot-files
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago', 'guard'],
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
css: [
'app.scss' // '~quasar-ui-qcalendar/src/css/calendar-day.sass'
],
// https://github.com/quasarframework/quasar/tree/dev/extras
extras: [
// 'ionicons-v4',
// 'mdi-v5',
// 'eva-icons',
// 'themify',
// 'line-awesome',
'ionicons-v4',
// 'mdi-v3',
'fontawesome-v5',
'roboto-font', // optional, you are not bound to it
'material-icons', // optional, you are not bound to it
'material-icons-outlined',
],
aliases: {
quasar: path.resolve(__dirname, 'node_modules/@quasar/'),
src: path.resolve(__dirname, 'src'),
statics: path.resolve(__dirname, 'src/statics'),
components: path.resolve(__dirname, 'src/components'),
views: path.resolve(__dirname, 'src/views/index.ts'),
icons: path.resolve(__dirname, 'src/assets/icons'),
images: path.resolve(__dirname, 'src/assets/images'),
maps: path.resolve(__dirname, 'src/public/maps'),
classes: path.resolve(__dirname, 'src/classes/index.ts'),
fonts: path.resolve(__dirname, 'src/assets/fonts'),
utils: path.resolve(__dirname, 'src/utils/index.ts'),
css: path.resolve(__dirname, 'src/styles/variables.scss'),
router: path.resolve(__dirname, 'src/router/index.ts'),
validators: path.resolve(__dirname, 'src/utils/validators.ts'),
methods: path.resolve(__dirname, 'src/utils/methods.ts'),
filters: path.resolve(__dirname, 'src/utils/filters.ts'),
api: path.resolve(__dirname, 'src/store/Api/index.ts'),
paths: path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'),
store: path.resolve(__dirname, 'src/store/index.ts'),
modules: path.resolve(__dirname, 'src/store/Modules/index.ts'),
model: path.resolve(__dirname, 'src/model/index.ts'),
},
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
build: {
env: envparser(),
versionCode: package.version,
vueRouterMode: 'history',
vueCompiler: true,
gzip: false, // gzip true
analyze: false, // true
transpile: true,
transpileDependencies: [
/quasar-ui-qcalendar[\\/]src/
],
chainWebpack(chain, { isServer, isClient }) {
chain.resolve.alias
// .set('myalias', path.resolve(__dirname, './src/somefolder'))
.set('@', helpers.root('src'))
.set('@components', helpers.root('src/components/index.ts'))
.set('@boot', helpers.root('src/boot/*'))
.set('@costanti', helpers.root('src/store/Modules/costanti.ts'))
.set('@views', path.resolve(__dirname, 'src/views/index.ts'))
.set('@src', path.resolve(__dirname, 'src'))
.set('@css', path.resolve(__dirname, 'src/public/css/variables.scss'))
.set('@icons', path.resolve(__dirname, 'src/public/icons/*'))
.set('@images', path.resolve(__dirname, 'src/public/images/*'))
.set('@maps', path.resolve(__dirname, 'src/public/maps/*'))
.set('@classes', path.resolve(__dirname, 'src/classes/index.ts'))
.set('@utils', path.resolve(__dirname, 'src/utils/index.ts'))
.set('@utils', path.resolve(__dirname, 'src/utils/*'))
.set('@router', path.resolve(__dirname, 'src/router/index.ts'))
.set('@validators', path.resolve(__dirname, 'src/utils/validators.ts'))
.set('@methods', path.resolve(__dirname, 'src/utils/methods.ts'))
.set('@api', path.resolve(__dirname, 'src/store/Api/index.ts'))
.set('@paths', path.resolve(__dirname, 'src/store/Api/ApiRoutes.ts'))
.set('@storemod', path.resolve(__dirname, 'src/store/Modules/*'))
.set('@store', path.resolve(__dirname, 'src/store'))
.set('@modules', path.resolve(__dirname, 'src/store/Modules/index.ts'))
.set('@model', path.resolve(__dirname, 'src/model/index.ts'))
},
// extractCSS: false,
// transpile: false,
// Add dependencies for transpiling with Babel (Array of string/regex)
// (from node_modules, which are by default not transpiled).
// Applies only if "transpile" is set to true.
// transpileDependencies: [],
// rtl: true, // https://v2.quasar.dev/options/rtl-support
// preloadChunks: true,
// showProgress: false,
// gzip: true,
// analyze: true,
// Options below are automatically set depending on the env, set them if you want to override
// extractCSS: false,
// https://v2.quasar.dev/quasar-cli/handling-webpack
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
},
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
dev: {
env: require('./.env.development'),
},
devServer: {
https: false,
port: 8089,
open: false, // opens browser window automatically
hot: true, // Disable hot module replacement
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': '*',
},
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
framework: {
config: {},
// iconSet: 'material-icons', // Quasar icon set
// lang: 'en-US', // Quasar language pack
// For special cases outside of where the auto-import strategy can have an impact
// (like functional components as one of the examples),
// you can manually specify Quasar components/directives to be available everywhere:
//
components: [
'QLayout',
'QDrawer',
'QItemSection',
'QHeader',
'QFooter',
'QPageContainer',
'QPage',
'QPopupProxy',
'QToolbar',
'QToolbarTitle',
'QBtn',
'QBtnDropdown',
'QColor',
'QIcon',
'QList',
'QKnob',
'QItemLabel',
'QItem',
'QCard',
'QMarkupTable',
'QSpace',
'QDialog',
'QBadge',
'QForm',
'QCardSection',
'QCardActions',
'QField',
'QInput',
'QSelect',
'QMenu',
'QToggle',
'QFab',
'QInfiniteScroll',
'QAjaxBar',
'QChip',
'QExpansionItem',
'QCheckbox',
'QBanner',
'QInnerLoading',
'QSpinnerGears',
'QSpinnerDots',
'QDate',
'QTime',
'QSlideTransition',
'QTable',
'QTh',
'QTr',
'QTd',
'QLinearProgress',
'QSlider',
'QPopupEdit',
'QCarousel',
'QCarouselControl',
'QCarouselSlide',
'QPageScroller',
'QAvatar',
'QImg',
'QSplitter',
'QRating',
'QParallax',
'QTab',
'QTabs',
'QTabPanels',
'QTabPanel',
'QTree',
'QSeparator',
],
directives: [
'Ripple',
'ClosePopup',
],
_plugins: [
'Meta',
'Dialog',
'Notify',
'Cookies',
'Loading',
'AppVisibility',
'LocalStorage',
'SessionStorage',
],
get plugins_1() {
return this._plugins;
},
set plugins_1(value) {
this._plugins = value;
},
get plugins() {
return this._plugins;
},
set plugins(value) {
this._plugins = value;
},
iconSet: 'fontawesome-v5',
lang: 'it', // Quasar language
},
animations: 'all', // --- includes all animations
// https://v2.quasar.dev/options/animations
// animations: [],
// https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
ssr: {
pwa: false,
// manualStoreHydration: true,
// manualPostHydrationTrigger: true,
prodPort: 3000, // The default port that the production server should use
// (gets superseded if process.env.PORT is specified at runtime)
maxAge: 1000 * 60 * 60 * 24 * 30,
// Tell browser when a file from the server should expire from cache (in ms)
chainWebpackWebserver(/* chain */) {
//
},
middlewares: [
ctx.prod ? 'compression' : '',
'render', // keep this as last one
],
},
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxOptions: {}, // only for GenerateSW
extendGenerateSWOptions(cfg) {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
chainWebpackCustomSW(chain) {
// chain.plugin('eslint-webpack-plugin')
// .use(ESLintPlugin, [{ extensions: ['js'] }])
},
manifest: {
name: 'Gruppo Macro',
short_name: 'GruppoMacro',
description: '',
display: 'standalone',
orientation: 'portrait',
background_color: '#fff',
theme_color: '#027be3',
scope: "/",
id: "/?homescreen=1",
start_url: "/?homescreen=1",
icons: [
{
src: 'images/gm-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/gm-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/gm-apple-touch-icon.png',
sizes: '180x180',
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://www.gruppomacro.app/manifest.json"
}]
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
cordova: {
// noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
capacitor: {
hideSplashscreen: true,
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
electron: {
bundler: 'packager', // 'packager' or 'builder'
packager: {
// https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
// OS X / Mac App Store
// appBundleId: '',
// appCategoryType: '',
// osxSign: '',
// protocol: 'myapp://path',
// Windows only
// win32metadata: { ... }
},
builder: {
// https://www.electron.build/configuration/configuration
appId: 'GruppoMacro',
},
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
chainWebpack(/* chain */) {
// do something with the Electron main process Webpack cfg
// extendWebpackMain also available besides this chainWebpackMain
},
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
chainWebpackPreload(/* chain */) {
// do something with the Electron main process Webpack cfg
// extendWebpackPreload also available besides this chainWebpackPreload
},
},
}))

View File

@@ -367,7 +367,8 @@ export default defineConfig((ctx) => {
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
swFilename: process.env.VITE_SERVICE_WORKER_FILE,
workboxOptions: {
swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista
},
@@ -375,41 +376,6 @@ export default defineConfig((ctx) => {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
manifest: {
name: 'Gruppo Macro',
short_name: 'GruppoMacro',
description: '',
display: 'standalone',
orientation: 'portrait',
background_color: '#fff',
theme_color: '#027be3',
scope: "/",
id: "/?homescreen=1",
start_url: "/?homescreen=1",
icons: [
{
src: 'images/gm-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/gm-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/gm-apple-touch-icon.png',
sizes: '180x180',
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://www.gruppomacro.app/manifest.json"
}]
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova

View File

@@ -0,0 +1,59 @@
{
"name": "PiuCheBuono",
"short_name": "PiuCheBuono",
"description": "PiuCheBuono è un GAS e Bottega",
"display": "standalone",
"orientation": "portrait",
"background_color": "#fff",
"theme_color": "#027be3",
"scope": "/",
"id": "/?homescreen=1",
"start_url": "/?homescreen=1",
"icons": [
{
"src:": "images/pcb-android-icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src:": "images/pcb-android-icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src:": "images/pcb-android-icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src:": "images/pcb-android-icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src:": "images/pcb-android-icon-96x96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src:": "images/pcb-apple-icon-120x120.png",
"sizes": "120x120",
"type": "image/png"
},
{
"src:": "images/pcb-apple-icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src:": "images/pcb-apple-icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src:": "images/pcb-apple-icon-180x180.png",
"sizes": "180x180",
"type": "image/png"
}
]
}

View File

@@ -7,54 +7,52 @@
"private": true,
"keywords": [],
"license": "MIT",
"type": "module",
"scripts": {
"dev": "quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production quasar build -m pwa",
"buildpwa": "quasar build -m pwa",
"buildpwatest": "NODE_ENV=test quasar build -m pwa",
"buildspa": "NODE_ENV=production quasar build -m spa",
"lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=6096 DEBUG=v8:* quasar dev -m pwa",
"spa": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --debug",
"debug": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev --mode debug",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "quasar dev -m pwa",
"spa": "quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"
"generate-sw": "workbox generateSW workbox-config.js",
"postinstall": "quasar prepare"
},
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
"@babel/plugin-proposal-json-strings": "^7.18.6",
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
"@babel/runtime": "^7.25.7",
"@cubejs-client/core": "^0.36.4",
"@quasar/extras": "^1.16.12",
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.19",
"@types/leaflet": "^1.9.12",
"@vue/compat": "^3.5.10",
"@vue/compiler-sfc": "^3.5.10",
"@vue/eslint-config-standard": "^8.0.1",
"@cubejs-client/core": "^1.2.13",
"@quasar/extras": "^1.16.17",
"@quasar/quasar-ui-qcalendar": "^4.1.2",
"@types/leaflet": "^1.9.16",
"@vue/compat": "^3.5.13",
"@vue/compiler-sfc": "^3.5.13",
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
"acorn": "^8.12.1",
"acorn": "^8.14.0",
"animate.css": "^4.1.1",
"autoprefixer": "^10.4.20",
"axios": "^1.7.7",
"bcryptjs": "^2.4.3",
"chart.js": "^4.4.4",
"core-js": "^3.38.1",
"crypto-browserify": "^3.12.0",
"axios": "^1.8.1",
"bcryptjs": "^3.0.2",
"chart.js": "^4.4.8",
"core-js": "^3.41.0",
"crypto-browserify": "^3.12.1",
"date-fns": "^4.1.0",
"dotenv": "^16.4.5",
"echarts": "5.5.1",
"eslint-plugin-n": "^17.10.3",
"echarts": "5.6.0",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-quasar": "^1.1.0",
"graphql": "^16.9.0",
"graphql": "^16.10.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.12.5",
"html2pdf.js": "^0.10.2",
"gsap": "^3.12.7",
"html2pdf.js": "^0.10.3",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"leaflet": "^1.9.4",
@@ -63,25 +61,24 @@
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"npm": "^10.8.3",
"nprogress": "^0.2.0",
"pinia": "^2.2.4",
"pinia": "^3.0.1",
"qrcode-vue3": "^1.7.1",
"quasar": "^2.17.0",
"quasar": "^2.18.0",
"quasar-extras": "^2.0.9",
"register-service-worker": "^1.7.2",
"typescript-eslint": "^8.8.0",
"vee-validate": "^4.13.2",
"vue": "^3.5.10",
"scrollreveal": "^4.0.9",
"typescript-eslint": "^8.25.0",
"vee-validate": "^4.15.0",
"vue": "^3.5.13",
"vue-class-component": "^8.0.0-rc.1",
"vue-country-code": "^1.1.3",
"vue-echarts": "^7.0.3",
"vue-i18n": "^9.14.1",
"vue-i18n": "^11.1.1",
"vue-idb": "^0.2.0",
"vue-image-zoomer": "^2.4.1",
"vue-loader": "^17.4.2",
"vue-image-zoomer": "^2.4.4",
"vue-property-decorator": "^10.0.0-rc.3",
"vue-router": "^4.4.5",
"vue-router": "^4.5.0",
"vue-scroll-reveal": "^2.1.0",
"vue-social-sharing": "^4.0.0-alpha4",
"vue-svgicon": "^4.0.0-alpha.3",
@@ -90,78 +87,55 @@
"vue3-pdf-app": "^1.0.3",
"vue3-qr-reader": "^1.0.0",
"vuex": "^4.1.0",
"vuex-router-sync": "^6.0.0-rc.1"
"vuex-router-sync": "^6.0.0-rc.1",
"workbox-core": "^7.3.0",
"workbox-precaching": "^7.3.0",
"workbox-routing": "^7.3.0",
"workbox-strategies": "^7.3.0",
"workbox-window": "^7.3.0"
},
"devDependencies": {
"@babel/core": "^7.25.7",
"@babel/plugin-transform-class-properties": "^7.25.7",
"@babel/plugin-transform-export-namespace-from": "^7.25.7",
"@babel/plugin-transform-json-strings": "^7.25.7",
"@babel/plugin-transform-numeric-separator": "^7.25.7",
"@babel/plugin-transform-runtime": "^7.25.7",
"@quasar/app-webpack": "^3.14.0",
"@eslint/js": "^9.21.0",
"@intlify/unplugin-vue-i18n": "^6.0.3",
"@quasar/app-vite": "^2.1.1",
"@types/bcryptjs": "^2.4.6",
"@types/dotenv": "^8.2.0",
"@types/google.maps": "^3.58.1",
"@types/jest": "^29.5.13",
"@types/jest": "^29.5.14",
"@types/js-cookie": "^3.0.6",
"@types/node": "22.7.4",
"@types/node": "^22.13.8",
"@types/nprogress": "^0.2.3",
"@types/vue-tel-input": "^2.1.7",
"@types/vuelidate": "^0.7.21",
"@typescript-eslint/eslint-plugin": "^8.8.0",
"@typescript-eslint/parser": "^8.8.0",
"babel-loader": "^9.2.1",
"copy-webpack-plugin": "^12.0.2",
"eslint": "^9.11.1",
"eslint-config-prettier": "^9.1.0",
"@types/vuelidate": "^0.7.22",
"@vue/devtools": "^7.7.2",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.4.0",
"autoprefixer": "^10.4.20",
"eslint": "9",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^7.1.0",
"eslint-plugin-vue": "^9.28.0",
"eslint-plugin-vue": "^9.32.0",
"file-loader": "^6.2.0",
"fork-ts-checker-webpack-plugin": "^9.0.2",
"friendly-errors-webpack-plugin": "^1.7.0",
"html-webpack-plugin": "^5.6.0",
"http-proxy-middleware": "^3.0.2",
"globals": "^16.0.0",
"http-proxy-middleware": "^3.0.3",
"jest": "^29.7.0",
"json-loader": "^0.5.7",
"node-sass": "^9.0.0",
"npm-check-updates": "^17.1.3",
"optimize-css-assets-webpack-plugin": "^6.0.1",
"parcel": "^2.12.0",
"postcss": "^8.4.47",
"nodemon": "^3.1.9",
"npm-check-updates": "^17.1.15",
"parcel": "^2.13.3",
"postcss": "^8.5.3",
"postcss-loader": "^8.1.1",
"sass-loader": "^16.0.2",
"prettier": "3",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.1",
"typescript": "5.6.2",
"ts-jest": "^29.2.6",
"typescript": "5.7.3",
"vite-plugin-checker": "^0.9.0",
"vue-cli-plugin-element-ui": "^1.1.4",
"vue-tsc": "^2.2.6",
"vueify": "^9.4.1",
"webpack": "^5.95.0",
"webpack-dashboard": "^3.3.8",
"workbox-webpack-plugin": "^7.1.0"
"workbox-build": "^7.3.0"
},
"browser": {
"crypto": false
},
"browserslist": [
"last 100 Chrome versions",
"last 40 Firefox versions",
"last 20 Edge versions",
"last 55 Safari versions",
"last 90 Android versions",
"last 250 ChromeAndroid versions",
"last 60 FirefoxAndroid versions",
"last 35 iOS versions",
"last 10 Opera versions",
"> 0.03%",
"not dead"
],
"engines": {
"node": ">= 18.18.0",
"npm": ">= 6.14.8",
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
"npm": ">= 6.13.4",
"yarn": ">= 1.21.1"
}
}

View File

@@ -367,7 +367,8 @@ export default defineConfig((ctx) => {
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
swFilename: process.env.VITE_SERVICE_WORKER_FILE,
workboxOptions: {
swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista
},
@@ -375,71 +376,6 @@ export default defineConfig((ctx) => {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
manifest: {
name: 'Più che Buono',
short_name: 'PiuCheBuono',
description: 'PiuCheBuono è un GAS e Bottega',
display: 'standalone',
orientation: 'portrait',
background_color: '#fff',
theme_color: '#027be3',
scope: "/",
id: "/?homescreen=1",
start_url: "/?homescreen=1",
icons: [
{
src: 'images/pcb-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-384x384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/pcb-android-icon-96x96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-120x120.png',
sizes: '120x120',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-152x152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: 'images/pcb-apple-icon-180x180.png',
sizes: '180x180',
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://www.piuchebuono.app/manifest.json"
}]
},
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -126,16 +126,13 @@
"prettier": "3",
"strip-ansi": "=7.1.0",
"ts-jest": "^29.2.6",
"typescript": "~5.8.2",
"typescript": "5.7.3",
"vite-plugin-checker": "^0.9.0",
"vue-cli-plugin-element-ui": "^1.1.4",
"vue-tsc": "^2.2.6",
"vueify": "^9.4.1",
"workbox-build": "^7.3.0"
},
"browser": {
"crypto": false
},
"engines": {
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
"npm": ">= 6.13.4",

View File

@@ -358,16 +358,11 @@ export default defineConfig((ctx) => {
],
},
sourceFiles: {
pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
pwaServiceWorker: 'src-pwa/custom-service-worker',
// pwaManifestFile: 'src-pwa/manifest.json',
// ...
},
// https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
workboxMode: 'InjectManifest', // 'GenerateSW' or 'InjectManifest'
swFilename: process.env.VITE_SERVICE_WORKER_FILE,
workboxOptions: {
swSrc: 'src-pwa/custom-service-worker.js', // Assicurati che il file esista
},
@@ -375,71 +370,13 @@ export default defineConfig((ctx) => {
cfg.skipWaiting = false
cfg.clientsClaim = false
},
// for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
// if using workbox in InjectManifest mode
manifest: {
name: 'Riso',
short_name: 'Riso',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
display: 'standalone',
orientation: 'portrait',
background_color: '#fff',
theme_color: '#027be3',
scope: "/",
id: "/?homescreen=1",
start_url: "/?homescreen=1",
icons: [
{
src: 'images/riso-android-icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: 'images/riso-android-icon-384x384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: 'images/riso-android-icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: 'images/riso-android-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/riso-android-icon-96x96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-120x120.png',
sizes: '120x120',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-144x144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-152x152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: 'images/riso-apple-icon-180x180.png',
sizes: '180x180',
type: 'image/png',
},
],
related_applications: [{
"platform": "webapp",
"url": "https://www.riso.app/manifest.json"
}]
},
},
sourceFiles: {
// DEFAULT: pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
// DEFAULT: pwaServiceWorker: 'src-pwa/custom-service-worker',
// DEFAULT: pwaManifestFile: 'src-pwa/manifest.json',
// ...
},
// Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
@@ -472,7 +409,7 @@ export default defineConfig((ctx) => {
builder: {
// https://www.electron.build/configuration/configuration
appId: 'Riso',
appId: 'PiuCheBuono',
},