-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathquasar.config.js
114 lines (99 loc) · 2.61 KB
/
quasar.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import { configure } from "quasar/wrappers";
export default configure(function () {
return {
boot: ["qcalendar", "store", "vuex-orm-axios"],
css: ["app.scss"],
extras: ["roboto-font", "material-icons"],
build: {
target: {
browser: ["es2019", "edge88", "firefox78", "chrome87", "safari13.1"],
node: "node20",
},
vueRouterMode: "hash",
publicPath: "",
minify: "esbuild",
esbuild: {
target: "esnext",
},
vitePlugins: [
[
"vite-plugin-checker",
{
eslint: {
lintCommand: 'eslint "./**/*.{js,mjs,cjs,vue}"',
},
},
{ server: false },
],
],
extendViteConf(viteConf) {
viteConf.optimizeDeps = viteConf.optimizeDeps || {};
viteConf.optimizeDeps.include = viteConf.optimizeDeps.include || [];
viteConf.optimizeDeps.include.push("dayjs"); // Add dayjs for pre-bundling
viteConf.resolve = viteConf.resolve || {};
viteConf.resolve.alias = viteConf.resolve.alias || {};
viteConf.resolve.alias["dayjs"] = "dayjs"; // Ensure it resolves to the correct package
viteConf.build = viteConf.build || {};
viteConf.build.rollupOptions = viteConf.build.rollupOptions || {};
viteConf.build.rollupOptions.output = {
entryFileNames: "js/[name].js",
chunkFileNames: "js/[name].js",
assetFileNames: (assetInfo) => {
if (assetInfo.name.endsWith(".css")) {
return "css/[name].css";
}
return "assets/[name].[ext]";
},
manualChunks(id) {
if (id.includes("node_modules")) {
return "vendor";
}
},
};
viteConf.server = {
...viteConf.server,
fs: {
strict: false,
},
};
},
},
devServer: {
open: true,
},
framework: {
config: {
brand: {},
},
plugins: [],
},
animations: [],
ssr: {
pwa: false,
prodPort: 3000,
middlewares: ["render"],
},
pwa: {
workboxMode: "generateSW",
injectPwaMetaTags: true,
swFilename: "sw.js",
manifestFilename: "manifest.json",
useCredentialsForManifestTag: false,
},
cordova: {},
capacitor: {
hideSplashscreen: true,
},
electron: {
inspectPort: 5858,
bundler: "packager",
packager: {},
builder: {
appId: "quasar-project",
},
},
bex: {
contentScripts: ["my-content-script"],
},
};
});