bfg-common 1.3.153 → 1.3.155

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/assets/localization/local_be.json +6 -2
  2. package/assets/localization/local_en.json +6 -2
  3. package/assets/localization/local_hy.json +6 -2
  4. package/assets/localization/local_kk.json +6 -2
  5. package/assets/localization/local_ru.json +6 -2
  6. package/assets/localization/local_zh.json +6 -2
  7. package/assets/scss/common/icons/icons-2.scss +222 -222
  8. package/components/atoms/switch/Switch.vue +107 -107
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1576 -1576
  10. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +1 -1
  11. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +12 -2
  12. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +1 -1
  13. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +16 -1
  14. package/components/common/pages/Tasks.vue +120 -120
  15. package/components/common/recursionTree/RecursionTree.vue +203 -203
  16. package/components/common/vm/actions/add/Add.vue +575 -575
  17. package/components/common/vm/actions/clone/Clone.vue +518 -518
  18. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  19. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +682 -682
  20. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  21. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +164 -164
  22. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +166 -166
  23. package/components/common/vm/actions/editSettings/EditSettings.vue +313 -313
  24. package/composables/useAppVersion.ts +21 -21
  25. package/composables/useEnvLanguage.ts +20 -20
  26. package/composables/useLocal.ts +38 -38
  27. package/lib/utils/sendTask.ts +72 -72
  28. package/minify.js +146 -146
  29. package/package.json +1 -1
  30. package/public/spice-console/application/codec.js +257 -257
  31. package/public/spice-console/lib/rasterEngine.js +907 -907
  32. package/public/spice-console/network/spicechannel.js +369 -369
  33. package/store/main/lib/interfaces.ts +9 -9
  34. package/store/tasks/actions.ts +133 -133
  35. package/store/tasks/getters.ts +25 -25
  36. package/store/tasks/lib/models/interfaces.ts +18 -18
  37. package/store/tasks/mutations.ts +58 -58
  38. package/store/tasks/state.ts +16 -16
@@ -1,20 +1,20 @@
1
- export function useEnvLanguage(): string {
2
- const { $store }: any = useNuxtApp()
3
-
4
- let localizationCode = 'en_US'
5
- const langFromLocalStorage =
6
- useLocalStorage('lang') || $store.getters['main/getInterfaceLang'] // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
- if (langFromLocalStorage) {
8
- if (
9
- langFromLocalStorage === 'en_US' ||
10
- langFromLocalStorage === 'ru_RU' ||
11
- langFromLocalStorage === 'hy_AM'
12
- ) {
13
- localizationCode = langFromLocalStorage
14
- }
15
- }
16
-
17
- localizationCode = localizationCode.slice(0, 2).toUpperCase()
18
-
19
- return localizationCode
20
- }
1
+ export function useEnvLanguage(): string {
2
+ const { $store }: any = useNuxtApp()
3
+
4
+ let localizationCode = 'en_US'
5
+ const langFromLocalStorage =
6
+ useLocalStorage('lang') || $store.getters['main/getInterfaceLang'] // Из $store для Сферы, но думаю нужно сделать одинаково из localStorage
7
+ if (langFromLocalStorage) {
8
+ if (
9
+ langFromLocalStorage === 'en_US' ||
10
+ langFromLocalStorage === 'ru_RU' ||
11
+ langFromLocalStorage === 'hy_AM'
12
+ ) {
13
+ localizationCode = langFromLocalStorage
14
+ }
15
+ }
16
+
17
+ localizationCode = localizationCode.slice(0, 2).toUpperCase()
18
+
19
+ return localizationCode
20
+ }
@@ -1,38 +1,38 @@
1
- import localRu from '~/assets/localization/local_ru.json'
2
- import localEn from '~/assets/localization/local_en.json'
3
- import localHy from '~/assets/localization/local_hy.json'
4
- import localZh from '~/assets/localization/local_zh.json'
5
- import localKk from '~/assets/localization/local_kk.json'
6
- import localBe from '~/assets/localization/local_be.json'
7
- const locals = {
8
- localRu,
9
- localEn,
10
- localHy,
11
- localZh,
12
- localKk,
13
- localBe,
14
- }
15
- export const useLocal = () => {
16
- const config = useRuntimeConfig()
17
-
18
- const code: string = config?.public?.LOCALIZATION_CODE?.toLowerCase() || 'ru'
19
-
20
- document.getElementsByTagName('html')[0].setAttribute('lang', code)
21
-
22
- switch (code) {
23
- case 'ru':
24
- return locals.localRu
25
- case 'en':
26
- return locals.localEn
27
- case 'hy':
28
- return locals.localHy
29
- case 'zh':
30
- return locals.localZh
31
- case 'kk':
32
- return locals.localKk
33
- case 'be':
34
- return locals.localBe
35
- default:
36
- return locals.localRu
37
- }
38
- }
1
+ import localRu from '~/assets/localization/local_ru.json'
2
+ import localEn from '~/assets/localization/local_en.json'
3
+ import localHy from '~/assets/localization/local_hy.json'
4
+ import localZh from '~/assets/localization/local_zh.json'
5
+ import localKk from '~/assets/localization/local_kk.json'
6
+ import localBe from '~/assets/localization/local_be.json'
7
+ const locals = {
8
+ localRu,
9
+ localEn,
10
+ localHy,
11
+ localZh,
12
+ localKk,
13
+ localBe,
14
+ }
15
+ export const useLocal = () => {
16
+ const config = useRuntimeConfig()
17
+
18
+ const code: string = config?.public?.LOCALIZATION_CODE?.toLowerCase() || 'ru'
19
+
20
+ document.getElementsByTagName('html')[0].setAttribute('lang', code)
21
+
22
+ switch (code) {
23
+ case 'ru':
24
+ return locals.localRu
25
+ case 'en':
26
+ return locals.localEn
27
+ case 'hy':
28
+ return locals.localHy
29
+ case 'zh':
30
+ return locals.localZh
31
+ case 'kk':
32
+ return locals.localKk
33
+ case 'be':
34
+ return locals.localBe
35
+ default:
36
+ return locals.localRu
37
+ }
38
+ }
@@ -1,72 +1,72 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type {
3
- API_UI_I_Error,
4
- UI_I_RequestBody,
5
- } from '~/lib/models/store/interfaces'
6
- import type {
7
- UI_I_NotifyBodyMessage,
8
- UI_I_SendTaskParams,
9
- } from '~/lib/models/interfaces'
10
- import { base64 } from './base64'
11
-
12
- const localization = computed<UI_I_Localization>(() => useLocal())
13
-
14
- const showNotification = (message: UI_I_NotifyBodyMessage): void => {
15
- const { title, desc, status } = message
16
- const { $store } = useNuxtApp()
17
-
18
- // @ts-ignore
19
- $store.dispatch('main/A_SHOW_NOTIFICATION', {
20
- status,
21
- messages: [
22
- {
23
- title,
24
- descriptions: [desc],
25
- },
26
- ],
27
- headline: '',
28
- timeout: status === 'success' ? 3000 : '',
29
- })
30
- }
31
- const msgError: UI_I_NotifyBodyMessage = {
32
- status: 'error',
33
- title: localization.value.error,
34
- desc: '',
35
- }
36
- const handleErrors = (error: Ref<API_UI_I_Error>): void => {
37
- if (error.value.data?.error_message) {
38
- msgError.desc = error.value.data?.error_message
39
- showNotification(msgError)
40
- }
41
- }
42
-
43
- export const handleRequest = async (
44
- url: string,
45
- body: UI_I_RequestBody
46
- ): Promise<void> => {
47
- // @ts-ignore
48
- const { error } = await useMyFetch<never, API_UI_I_Error>(url, {
49
- body,
50
- method: 'POST',
51
- key: Date.now().toString(),
52
- })
53
-
54
- if (error.value && error.value.data.error_code !== 0) {
55
- handleErrors(error)
56
- }
57
- }
58
-
59
- export async function sendTask({
60
- method,
61
- target,
62
- args,
63
- }: UI_I_SendTaskParams): Promise<void> {
64
- const argsToBase64 = args ? base64.encode(args) : ''
65
- await handleRequest('/ui/tasks', {
66
- method,
67
- params: {
68
- target,
69
- args: argsToBase64,
70
- },
71
- })
72
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type {
3
+ API_UI_I_Error,
4
+ UI_I_RequestBody,
5
+ } from '~/lib/models/store/interfaces'
6
+ import type {
7
+ UI_I_NotifyBodyMessage,
8
+ UI_I_SendTaskParams,
9
+ } from '~/lib/models/interfaces'
10
+ import { base64 } from './base64'
11
+
12
+ const localization = computed<UI_I_Localization>(() => useLocal())
13
+
14
+ const showNotification = (message: UI_I_NotifyBodyMessage): void => {
15
+ const { title, desc, status } = message
16
+ const { $store } = useNuxtApp()
17
+
18
+ // @ts-ignore
19
+ $store.dispatch('main/A_SHOW_NOTIFICATION', {
20
+ status,
21
+ messages: [
22
+ {
23
+ title,
24
+ descriptions: [desc],
25
+ },
26
+ ],
27
+ headline: '',
28
+ timeout: status === 'success' ? 3000 : '',
29
+ })
30
+ }
31
+ const msgError: UI_I_NotifyBodyMessage = {
32
+ status: 'error',
33
+ title: localization.value.error,
34
+ desc: '',
35
+ }
36
+ const handleErrors = (error: Ref<API_UI_I_Error>): void => {
37
+ if (error.value.data?.error_message) {
38
+ msgError.desc = error.value.data?.error_message
39
+ showNotification(msgError)
40
+ }
41
+ }
42
+
43
+ export const handleRequest = async (
44
+ url: string,
45
+ body: UI_I_RequestBody
46
+ ): Promise<void> => {
47
+ // @ts-ignore
48
+ const { error } = await useMyFetch<never, API_UI_I_Error>(url, {
49
+ body,
50
+ method: 'POST',
51
+ key: Date.now().toString(),
52
+ })
53
+
54
+ if (error.value && error.value.data.error_code !== 0) {
55
+ handleErrors(error)
56
+ }
57
+ }
58
+
59
+ export async function sendTask({
60
+ method,
61
+ target,
62
+ args,
63
+ }: UI_I_SendTaskParams): Promise<void> {
64
+ const argsToBase64 = args ? base64.encode(args) : ''
65
+ await handleRequest('/ui/tasks', {
66
+ method,
67
+ params: {
68
+ target,
69
+ args: argsToBase64,
70
+ },
71
+ })
72
+ }
package/minify.js CHANGED
@@ -1,146 +1,146 @@
1
- const fs = require('fs')
2
- const terser = require('terser')
3
-
4
- // Файлы которые нужно минимизировать
5
- const filesByOrder = [
6
- 'public/spice-console/lib/decoder/jmuxer.js',
7
- 'public/spice-console/lib/decoder/dixie.js',
8
- 'public/spice-console/lib/jquery-2.0.3.js',
9
- 'public/spice-console/lib/utils.js',
10
- 'public/spice-console/lib/modernizr.js',
11
- 'public/spice-console/lib/jquery-mousewheel.js',
12
- 'public/spice-console/lib/jquery-visibility.min.js',
13
- 'public/spice-console/lib/lodash.4.0.0.min.js',
14
- 'public/spice-console/lib/jgestures.min.js',
15
- 'public/spice-console/lib/pixastic.js',
16
- 'public/spice-console/lib/base64.js',
17
- 'public/spice-console/lib/biginteger.js',
18
- 'public/spice-console/lib/virtualjoystick.js',
19
- 'public/spice-console/lib/prettyprint.js',
20
- 'public/spice-console/lib/jsbn.js',
21
- 'public/spice-console/lib/jsbn2.js',
22
- 'public/spice-console/lib/prng4.js',
23
- 'public/spice-console/lib/rng.js',
24
- 'public/spice-console/lib/sha1.js',
25
- 'public/spice-console/lib/encrypt.js',
26
- 'public/spice-console/swcanvas/swcanvas.js',
27
- 'public/spice-console/lib/bowser.js',
28
- 'public/spice-console/lib/flipper.js',
29
- 'public/spice-console/lib/CollisionDetector.js',
30
- 'public/spice-console/lib/GlobalPool.js',
31
- 'public/spice-console/lib/GenericObjectPool.js',
32
- 'public/spice-console/lib/AsyncConsumer.js',
33
- 'public/spice-console/lib/AsyncWorker.js',
34
- 'public/spice-console/lib/PacketWorkerIdentifier.js',
35
- 'public/spice-console/spiceobjects/spiceobjects.js',
36
- 'public/spice-console/spiceobjects/generated/protocol.js',
37
- 'public/spice-console/lib/graphicdebug.js',
38
- 'public/spice-console/lib/images/lz.js',
39
- 'public/spice-console/lib/images/bitmap.js',
40
- 'public/spice-console/lib/images/png.js',
41
- 'public/spice-console/lib/runqueue.js',
42
- 'public/spice-console/lib/graphic.js',
43
- 'public/spice-console/lib/queue.js',
44
- 'public/spice-console/lib/ImageUncompressor.js',
45
- 'public/spice-console/lib/SyncAsyncHandler.js',
46
- 'public/spice-console/lib/IntegrationBenchmark.js',
47
- 'public/spice-console/lib/stuckkeyshandler.js',
48
- 'public/spice-console/lib/timelapsedetector.js',
49
- 'public/spice-console/lib/displayRouter.js',
50
- 'public/spice-console/lib/rasterEngine.js',
51
- 'public/spice-console/lib/DataLogger.js',
52
- 'public/spice-console/network/socket.js',
53
- 'public/spice-console/network/clusternodechooser.js',
54
- 'public/spice-console/network/socketqueue.js',
55
- 'public/spice-console/network/packetcontroller.js',
56
- 'public/spice-console/network/packetextractor.js',
57
- 'public/spice-console/network/packetreassembler.js',
58
- 'public/spice-console/network/reassemblerfactory.js',
59
- 'public/spice-console/network/sizedefiner.js',
60
- 'public/spice-console/network/packetlinkfactory.js',
61
- 'public/spice-console/network/spicechannel.js',
62
- 'public/spice-console/network/busconnection.js',
63
- 'public/spice-console/network/websocketwrapper.js',
64
- 'public/spice-console/network/connectioncontrol.js',
65
- 'public/spice-console/application/checkActivity.js',
66
- 'public/spice-console/application/agent.js',
67
- 'public/spice-console/application/codec.js',
68
- 'public/spice-console/application/clipboard.js',
69
- 'public/spice-console/application/clipboard/clipboarddataparser.js',
70
- 'public/spice-console/application/clipboard/local/localClipboard.js',
71
- 'public/spice-console/application/spiceconnection.js',
72
- 'public/spice-console/application/clientgui.js',
73
- 'public/spice-console/application/packetprocess.js',
74
- 'public/spice-console/application/packetfilter.js',
75
- 'public/spice-console/application/packetfactory.js',
76
- 'public/spice-console/application/application.js',
77
- 'public/spice-console/application/virtualmouse.js',
78
- 'public/spice-console/application/imagecache.js',
79
- 'public/spice-console/application/rasteroperation.js',
80
- 'public/spice-console/application/stream.js',
81
- 'public/spice-console/application/inputmanager.js',
82
- 'public/spice-console/process/busprocess.js',
83
- 'public/spice-console/process/displayprocess.js',
84
- 'public/spice-console/process/displaypreprocess.js',
85
- 'public/spice-console/process/inputprocess.js',
86
- 'public/spice-console/process/cursorprocess.js',
87
- 'public/spice-console/process/playbackprocess.js',
88
- 'public/spice-console/process/mainprocess.js',
89
- 'public/spice-console/keymaps/keyevent.js',
90
- 'public/spice-console/keymaps/keymapes.js',
91
- 'public/spice-console/keymaps/scanCodeObjProvider.js',
92
- 'public/spice-console/keymaps/scanCodeObjModifier.js',
93
- 'public/spice-console/keymaps/keymapesObj.js',
94
- 'public/spice-console/keymaps/keymapus.js',
95
- 'public/spice-console/keymaps/keymap.js',
96
- 'public/spice-console/run.js',
97
- ]
98
-
99
- // Папка и файл в которую вы хотите сохранить минифицированные файлы
100
- const outputFolder = 'public/spice-console-minify'
101
- const outputFile = `${outputFolder}/run.min.js`
102
-
103
- // Создайте папку назначения, если она не существует
104
- if (!fs.existsSync(outputFolder)) {
105
- fs.mkdirSync(outputFolder, { recursive: true })
106
- }
107
-
108
- let index = 0
109
- let runMinJsContent = ''
110
- filesByOrder.forEach((filePath) => {
111
- // Минифицируем
112
- const fileContent = fs.readFileSync(filePath, 'utf8')
113
- terser.minify(fileContent).then((minified) => {
114
- if (minified.error) {
115
- console.error(
116
- `Ошибка при минификации файла ${filePath}: ${minified.error.message}`
117
- )
118
- } else {
119
- runMinJsContent += minified.code.replaceAll(
120
- 'spice-console/application/WorkerProcess.js',
121
- 'spice-console-minify/WorkerProcess.min.js'
122
- )
123
- index++
124
-
125
- // Если последний файл то все помещаем в run.min.js
126
- if (filesByOrder.length === index)
127
- fs.writeFileSync(outputFile, runMinJsContent)
128
- }
129
- })
130
- })
131
-
132
- // Обрабатываем Worker
133
- const workerJs = 'public/spice-console/application/WorkerProcess.js'
134
- const outputWorkerFile = `${outputFolder}/WorkerProcess.min.js`
135
-
136
- // Минифицируем
137
- const fileContent = fs.readFileSync(workerJs, 'utf8')
138
- terser.minify(fileContent).then((minified) => {
139
- if (minified.error) {
140
- console.error(
141
- `Ошибка при минификации файла ${workerJs}: ${minified.error.message}`
142
- )
143
- } else {
144
- fs.writeFileSync(outputWorkerFile, minified.code)
145
- }
146
- })
1
+ const fs = require('fs')
2
+ const terser = require('terser')
3
+
4
+ // Файлы которые нужно минимизировать
5
+ const filesByOrder = [
6
+ 'public/spice-console/lib/decoder/jmuxer.js',
7
+ 'public/spice-console/lib/decoder/dixie.js',
8
+ 'public/spice-console/lib/jquery-2.0.3.js',
9
+ 'public/spice-console/lib/utils.js',
10
+ 'public/spice-console/lib/modernizr.js',
11
+ 'public/spice-console/lib/jquery-mousewheel.js',
12
+ 'public/spice-console/lib/jquery-visibility.min.js',
13
+ 'public/spice-console/lib/lodash.4.0.0.min.js',
14
+ 'public/spice-console/lib/jgestures.min.js',
15
+ 'public/spice-console/lib/pixastic.js',
16
+ 'public/spice-console/lib/base64.js',
17
+ 'public/spice-console/lib/biginteger.js',
18
+ 'public/spice-console/lib/virtualjoystick.js',
19
+ 'public/spice-console/lib/prettyprint.js',
20
+ 'public/spice-console/lib/jsbn.js',
21
+ 'public/spice-console/lib/jsbn2.js',
22
+ 'public/spice-console/lib/prng4.js',
23
+ 'public/spice-console/lib/rng.js',
24
+ 'public/spice-console/lib/sha1.js',
25
+ 'public/spice-console/lib/encrypt.js',
26
+ 'public/spice-console/swcanvas/swcanvas.js',
27
+ 'public/spice-console/lib/bowser.js',
28
+ 'public/spice-console/lib/flipper.js',
29
+ 'public/spice-console/lib/CollisionDetector.js',
30
+ 'public/spice-console/lib/GlobalPool.js',
31
+ 'public/spice-console/lib/GenericObjectPool.js',
32
+ 'public/spice-console/lib/AsyncConsumer.js',
33
+ 'public/spice-console/lib/AsyncWorker.js',
34
+ 'public/spice-console/lib/PacketWorkerIdentifier.js',
35
+ 'public/spice-console/spiceobjects/spiceobjects.js',
36
+ 'public/spice-console/spiceobjects/generated/protocol.js',
37
+ 'public/spice-console/lib/graphicdebug.js',
38
+ 'public/spice-console/lib/images/lz.js',
39
+ 'public/spice-console/lib/images/bitmap.js',
40
+ 'public/spice-console/lib/images/png.js',
41
+ 'public/spice-console/lib/runqueue.js',
42
+ 'public/spice-console/lib/graphic.js',
43
+ 'public/spice-console/lib/queue.js',
44
+ 'public/spice-console/lib/ImageUncompressor.js',
45
+ 'public/spice-console/lib/SyncAsyncHandler.js',
46
+ 'public/spice-console/lib/IntegrationBenchmark.js',
47
+ 'public/spice-console/lib/stuckkeyshandler.js',
48
+ 'public/spice-console/lib/timelapsedetector.js',
49
+ 'public/spice-console/lib/displayRouter.js',
50
+ 'public/spice-console/lib/rasterEngine.js',
51
+ 'public/spice-console/lib/DataLogger.js',
52
+ 'public/spice-console/network/socket.js',
53
+ 'public/spice-console/network/clusternodechooser.js',
54
+ 'public/spice-console/network/socketqueue.js',
55
+ 'public/spice-console/network/packetcontroller.js',
56
+ 'public/spice-console/network/packetextractor.js',
57
+ 'public/spice-console/network/packetreassembler.js',
58
+ 'public/spice-console/network/reassemblerfactory.js',
59
+ 'public/spice-console/network/sizedefiner.js',
60
+ 'public/spice-console/network/packetlinkfactory.js',
61
+ 'public/spice-console/network/spicechannel.js',
62
+ 'public/spice-console/network/busconnection.js',
63
+ 'public/spice-console/network/websocketwrapper.js',
64
+ 'public/spice-console/network/connectioncontrol.js',
65
+ 'public/spice-console/application/checkActivity.js',
66
+ 'public/spice-console/application/agent.js',
67
+ 'public/spice-console/application/codec.js',
68
+ 'public/spice-console/application/clipboard.js',
69
+ 'public/spice-console/application/clipboard/clipboarddataparser.js',
70
+ 'public/spice-console/application/clipboard/local/localClipboard.js',
71
+ 'public/spice-console/application/spiceconnection.js',
72
+ 'public/spice-console/application/clientgui.js',
73
+ 'public/spice-console/application/packetprocess.js',
74
+ 'public/spice-console/application/packetfilter.js',
75
+ 'public/spice-console/application/packetfactory.js',
76
+ 'public/spice-console/application/application.js',
77
+ 'public/spice-console/application/virtualmouse.js',
78
+ 'public/spice-console/application/imagecache.js',
79
+ 'public/spice-console/application/rasteroperation.js',
80
+ 'public/spice-console/application/stream.js',
81
+ 'public/spice-console/application/inputmanager.js',
82
+ 'public/spice-console/process/busprocess.js',
83
+ 'public/spice-console/process/displayprocess.js',
84
+ 'public/spice-console/process/displaypreprocess.js',
85
+ 'public/spice-console/process/inputprocess.js',
86
+ 'public/spice-console/process/cursorprocess.js',
87
+ 'public/spice-console/process/playbackprocess.js',
88
+ 'public/spice-console/process/mainprocess.js',
89
+ 'public/spice-console/keymaps/keyevent.js',
90
+ 'public/spice-console/keymaps/keymapes.js',
91
+ 'public/spice-console/keymaps/scanCodeObjProvider.js',
92
+ 'public/spice-console/keymaps/scanCodeObjModifier.js',
93
+ 'public/spice-console/keymaps/keymapesObj.js',
94
+ 'public/spice-console/keymaps/keymapus.js',
95
+ 'public/spice-console/keymaps/keymap.js',
96
+ 'public/spice-console/run.js',
97
+ ]
98
+
99
+ // Папка и файл в которую вы хотите сохранить минифицированные файлы
100
+ const outputFolder = 'public/spice-console-minify'
101
+ const outputFile = `${outputFolder}/run.min.js`
102
+
103
+ // Создайте папку назначения, если она не существует
104
+ if (!fs.existsSync(outputFolder)) {
105
+ fs.mkdirSync(outputFolder, { recursive: true })
106
+ }
107
+
108
+ let index = 0
109
+ let runMinJsContent = ''
110
+ filesByOrder.forEach((filePath) => {
111
+ // Минифицируем
112
+ const fileContent = fs.readFileSync(filePath, 'utf8')
113
+ terser.minify(fileContent).then((minified) => {
114
+ if (minified.error) {
115
+ console.error(
116
+ `Ошибка при минификации файла ${filePath}: ${minified.error.message}`
117
+ )
118
+ } else {
119
+ runMinJsContent += minified.code.replaceAll(
120
+ 'spice-console/application/WorkerProcess.js',
121
+ 'spice-console-minify/WorkerProcess.min.js'
122
+ )
123
+ index++
124
+
125
+ // Если последний файл то все помещаем в run.min.js
126
+ if (filesByOrder.length === index)
127
+ fs.writeFileSync(outputFile, runMinJsContent)
128
+ }
129
+ })
130
+ })
131
+
132
+ // Обрабатываем Worker
133
+ const workerJs = 'public/spice-console/application/WorkerProcess.js'
134
+ const outputWorkerFile = `${outputFolder}/WorkerProcess.min.js`
135
+
136
+ // Минифицируем
137
+ const fileContent = fs.readFileSync(workerJs, 'utf8')
138
+ terser.minify(fileContent).then((minified) => {
139
+ if (minified.error) {
140
+ console.error(
141
+ `Ошибка при минификации файла ${workerJs}: ${minified.error.message}`
142
+ )
143
+ } else {
144
+ fs.writeFileSync(outputWorkerFile, minified.code)
145
+ }
146
+ })
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.3.153",
4
+ "version": "1.3.155",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",