forked from im-aeo/MendcoreV2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.ts
134 lines (131 loc) · 4.02 KB
/
vite.config.ts
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/** @type {import('vite').UserConfig} */
import { defineConfig } from "vite";
import laravel from "laravel-vite-plugin";
import vue from "@vitejs/plugin-vue";
import path from "path";
import { watch } from "vite-plugin-watch";
import { splitVendorChunkPlugin } from "vite";
import { obfuscator } from "rollup-obfuscator";
//import basicSsl from '@vitejs/plugin-basic-ssl'
import { viteObfuscateFile } from "vite-plugin-obfuscator";
import vueJsx from "@vitejs/plugin-vue-jsx";
import { VitePWA } from "vite-plugin-pwa";
export default defineConfig({
root: "", // Specify the root directory for development
base: "/",
css: {
modules: {
generateScopedName: "[hash:base64:5]",
},
},
build:{
sourcemap: true,
},
plugins: [
VitePWA({
registerType: "autoUpdate",
devOptions: {
enabled: true,
},
}),
splitVendorChunkPlugin(),
obfuscator({
compact: true,
controlFlowFlattening: false,
controlFlowFlatteningThreshold: 0.75,
deadCodeInjection: true,
deadCodeInjectionThreshold: 0.4,
debugProtection: false,
debugProtectionInterval: 0,
disableConsoleOutput: false,
domainLock: ["localhost:8000", "netisu.com", "admin.netisu.com"],
domainLockRedirectUrl: "about:blank",
forceTransformStrings: [],
identifierNamesCache: null,
identifierNamesGenerator: "hexadecimal",
identifiersDictionary: [],
identifiersPrefix: "",
ignoreImports: false,
inputFileName: "",
log: false,
numbersToExpressions: false,
optionsPreset: "default",
renameGlobals: false,
renameProperties: false,
renamePropertiesMode: "safe",
reservedNames: [],
reservedStrings: [],
seed: 0,
selfDefending: false,
simplify: true,
sourceMap: false,
sourceMapBaseUrl: "",
sourceMapFileName: "",
sourceMapMode: "separate",
sourceMapSourcesMode: "sources-content",
splitStrings: false,
splitStringsChunkLength: 10,
stringArray: true,
stringArrayCallsTransform: true,
stringArrayCallsTransformThreshold: 0.5,
stringArrayEncoding: [],
stringArrayIndexesType: ["hexadecimal-number"],
stringArrayIndexShift: true,
stringArrayRotate: true,
stringArrayShuffle: true,
stringArrayWrappersCount: 1,
stringArrayWrappersChainedCalls: true,
stringArrayWrappersParametersMaxCount: 2,
stringArrayWrappersType: "variable",
stringArrayThreshold: 0.75,
target: "browser",
transformObjectKeys: false,
unicodeEscapeSequence: false,
}),
watch({
pattern: "routes/*.php",
command: "php artisan trail:generate",
}),
laravel({
input: ["resources/js/app.ts"],
ssr: "resources/js/ssr.ts",
/*refresh: [
"resources/routes/**",
"app/Http/**",
"public/assets/js/**",
"public/assets/img/**",
"routes/**",
"resources/js/**",
"resources/views/**",
], */
}),
vueJsx({}),
vue({
template: {
transformAssetUrls: {
// The Vue plugin will re-write asset URLs, when referenced
// in Single File Components, to point to the Laravel web
// server. Setting this to `null` allows the Laravel plugin
// to instead re-write asset URLs to point to the Vite
// server instead.
base: null,
// The Vue plugin will parse absolute URLs and treat them
// as absolute paths to files on disk. Setting this to
// `false` will leave absolute URLs un-touched so they can
// reference assets in the public directory as expected.
includeAbsolute: false,
},
},
}),
viteObfuscateFile({}),
//basicSsl(),
],
resolve: {
extensions: [".ts", ".tsx", ".js"],
alias: {
"@": path.resolve(__dirname, "resources/js"),
ziggy: path.resolve("vendor/tightenco/ziggy/dist/vue.m.js"),
zrouting: path.resolve("vendor/tightenco/ziggy/dist/vue.es.js"),
},
},
});