aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--subprojects/frontend/index.html262
-rw-r--r--subprojects/frontend/package.json4
-rw-r--r--subprojects/frontend/src/index.tsx10
-rw-r--r--subprojects/frontend/src/theme/ThemeProvider.tsx3
-rw-r--r--subprojects/frontend/vite.config.ts23
-rw-r--r--yarn.lock131
6 files changed, 412 insertions, 21 deletions
diff --git a/subprojects/frontend/index.html b/subprojects/frontend/index.html
index 92cc94c7..e14e8d30 100644
--- a/subprojects/frontend/index.html
+++ b/subprojects/frontend/index.html
@@ -12,6 +12,268 @@
12 <link rel="mask-icon" href="/mask-icon.svg" type="image/svg+xml" color="#038a99"> 12 <link rel="mask-icon" href="/mask-icon.svg" type="image/svg+xml" color="#038a99">
13 <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#21252b"> 13 <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#21252b">
14 <meta name="theme-color" media="(prefers-color-scheme: light)" content="#fafafa"> 14 <meta name="theme-color" media="(prefers-color-scheme: light)" content="#fafafa">
15 <style>
16 @import '@fontsource/jetbrains-mono/variable.css';
17 @import '@fontsource/jetbrains-mono/variable-italic.css';
18
19 /* roboto-cyrillic-ext-300-normal*/
20 @font-face {
21 font-family: 'Roboto';
22 font-style: normal;
23 font-display: swap;
24 font-weight: 300;
25 src: url('@fontsource/roboto/files/roboto-cyrillic-ext-300-normal.woff2') format('woff2');
26 unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
27 }
28 /* roboto-cyrillic-300-normal*/
29 @font-face {
30 font-family: 'Roboto';
31 font-style: normal;
32 font-display: swap;
33 font-weight: 300;
34 src: url('@fontsource/roboto/files/roboto-cyrillic-300-normal.woff2') format('woff2');
35 unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
36 }
37 /* roboto-greek-ext-300-normal*/
38 @font-face {
39 font-family: 'Roboto';
40 font-style: normal;
41 font-display: swap;
42 font-weight: 300;
43 src: url('@fontsource/roboto/files/roboto-greek-ext-300-normal.woff2') format('woff2');
44 unicode-range: U+1F00-1FFF;
45 }
46 /* roboto-greek-300-normal*/
47 @font-face {
48 font-family: 'Roboto';
49 font-style: normal;
50 font-display: swap;
51 font-weight: 300;
52 src: url('@fontsource/roboto/files/roboto-greek-300-normal.woff2') format('woff2');
53 unicode-range: U+0370-03FF;
54 }
55 /* roboto-vietnamese-300-normal*/
56 @font-face {
57 font-family: 'Roboto';
58 font-style: normal;
59 font-display: swap;
60 font-weight: 300;
61 src: url('@fontsource/roboto/files/roboto-vietnamese-300-normal.woff2') format('woff2');
62 unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;
63 }
64 /* roboto-latin-ext-300-normal*/
65 @font-face {
66 font-family: 'Roboto';
67 font-style: normal;
68 font-display: swap;
69 font-weight: 300;
70 src: url('@fontsource/roboto/files/roboto-latin-ext-300-normal.woff2') format('woff2');
71 unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
72 }
73 /* roboto-latin-300-normal*/
74 @font-face {
75 font-family: 'Roboto';
76 font-style: normal;
77 font-display: swap;
78 font-weight: 300;
79 src: url('@fontsource/roboto/files/roboto-latin-300-normal.woff2') format('woff2');
80 unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
81 }
82 /* roboto-cyrillic-ext-400-normal*/
83 @font-face {
84 font-family: 'Roboto';
85 font-style: normal;
86 font-display: swap;
87 font-weight: 400;
88 src: url('@fontsource/roboto/files/roboto-cyrillic-ext-400-normal.woff2') format('woff2');
89 unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
90 }
91 /* roboto-cyrillic-400-normal*/
92 @font-face {
93 font-family: 'Roboto';
94 font-style: normal;
95 font-display: swap;
96 font-weight: 400;
97 src: url('@fontsource/roboto/files/roboto-cyrillic-400-normal.woff2') format('woff2');
98 unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
99 }
100 /* roboto-greek-ext-400-normal*/
101 @font-face {
102 font-family: 'Roboto';
103 font-style: normal;
104 font-display: swap;
105 font-weight: 400;
106 src: url('@fontsource/roboto/files/roboto-greek-ext-400-normal.woff2') format('woff2');
107 unicode-range: U+1F00-1FFF;
108 }
109 /* roboto-greek-400-normal*/
110 @font-face {
111 font-family: 'Roboto';
112 font-style: normal;
113 font-display: swap;
114 font-weight: 400;
115 src: url('@fontsource/roboto/files/roboto-greek-400-normal.woff2') format('woff2');
116 unicode-range: U+0370-03FF;
117 }
118 /* roboto-vietnamese-400-normal*/
119 @font-face {
120 font-family: 'Roboto';
121 font-style: normal;
122 font-display: swap;
123 font-weight: 400;
124 src: url('@fontsource/roboto/files/roboto-vietnamese-400-normal.woff2') format('woff2');
125 unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;
126 }
127 /* roboto-latin-ext-400-normal*/
128 @font-face {
129 font-family: 'Roboto';
130 font-style: normal;
131 font-display: swap;
132 font-weight: 400;
133 src: url('@fontsource/roboto/files/roboto-latin-ext-400-normal.woff2') format('woff2');
134 unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
135 }
136 /* roboto-latin-400-normal*/
137 @font-face {
138 font-family: 'Roboto';
139 font-style: normal;
140 font-display: swap;
141 font-weight: 400;
142 src: url('@fontsource/roboto/files/roboto-latin-400-normal.woff2') format('woff2');
143 unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
144 }
145 /* roboto-cyrillic-ext-500-normal*/
146 @font-face {
147 font-family: 'Roboto';
148 font-style: normal;
149 font-display: swap;
150 font-weight: 500;
151 src: url('@fontsource/roboto/files/roboto-cyrillic-ext-500-normal.woff2') format('woff2');
152 unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
153 }
154 /* roboto-cyrillic-500-normal*/
155 @font-face {
156 font-family: 'Roboto';
157 font-style: normal;
158 font-display: swap;
159 font-weight: 500;
160 src: url('@fontsource/roboto/files/roboto-cyrillic-500-normal.woff2') format('woff2');
161 unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
162 }
163 /* roboto-greek-ext-500-normal*/
164 @font-face {
165 font-family: 'Roboto';
166 font-style: normal;
167 font-display: swap;
168 font-weight: 500;
169 src: url('@fontsource/roboto/files/roboto-greek-ext-500-normal.woff2') format('woff2');
170 unicode-range: U+1F00-1FFF;
171 }
172 /* roboto-greek-500-normal*/
173 @font-face {
174 font-family: 'Roboto';
175 font-style: normal;
176 font-display: swap;
177 font-weight: 500;
178 src: url('@fontsource/roboto/files/roboto-greek-500-normal.woff2') format('woff2');
179 unicode-range: U+0370-03FF;
180 }
181 /* roboto-vietnamese-500-normal*/
182 @font-face {
183 font-family: 'Roboto';
184 font-style: normal;
185 font-display: swap;
186 font-weight: 500;
187 src: url('@fontsource/roboto/files/roboto-vietnamese-500-normal.woff2') format('woff2');
188 unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;
189 }
190 /* roboto-latin-ext-500-normal*/
191 @font-face {
192 font-family: 'Roboto';
193 font-style: normal;
194 font-display: swap;
195 font-weight: 500;
196 src: url('@fontsource/roboto/files/roboto-latin-ext-500-normal.woff2') format('woff2');
197 unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
198 }
199 /* roboto-latin-500-normal*/
200 @font-face {
201 font-family: 'Roboto';
202 font-style: normal;
203 font-display: swap;
204 font-weight: 500;
205 src: url('@fontsource/roboto/files/roboto-latin-500-normal.woff2') format('woff2');
206 unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
207 }
208 /* roboto-cyrillic-ext-700-normal*/
209 @font-face {
210 font-family: 'Roboto';
211 font-style: normal;
212 font-display: swap;
213 font-weight: 700;
214 src: url('@fontsource/roboto/files/roboto-cyrillic-ext-700-normal.woff2') format('woff2');
215 unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
216 }
217 /* roboto-cyrillic-700-normal*/
218 @font-face {
219 font-family: 'Roboto';
220 font-style: normal;
221 font-display: swap;
222 font-weight: 700;
223 src: url('@fontsource/roboto/files/roboto-cyrillic-700-normal.woff2') format('woff2');
224 unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
225 }
226 /* roboto-greek-ext-700-normal*/
227 @font-face {
228 font-family: 'Roboto';
229 font-style: normal;
230 font-display: swap;
231 font-weight: 700;
232 src: url('@fontsource/roboto/files/roboto-greek-ext-700-normal.woff2') format('woff2');
233 unicode-range: U+1F00-1FFF;
234 }
235 /* roboto-greek-700-normal*/
236 @font-face {
237 font-family: 'Roboto';
238 font-style: normal;
239 font-display: swap;
240 font-weight: 700;
241 src: url('@fontsource/roboto/files/roboto-greek-700-normal.woff2') format('woff2');
242 unicode-range: U+0370-03FF;
243 }
244 /* roboto-vietnamese-700-normal*/
245 @font-face {
246 font-family: 'Roboto';
247 font-style: normal;
248 font-display: swap;
249 font-weight: 700;
250 src: url('@fontsource/roboto/files/roboto-vietnamese-700-normal.woff2') format('woff2');
251 unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB;
252 }
253 /* roboto-latin-ext-700-normal*/
254 @font-face {
255 font-family: 'Roboto';
256 font-style: normal;
257 font-display: swap;
258 font-weight: 700;
259 src: url('@fontsource/roboto/files/roboto-latin-ext-700-normal.woff2') format('woff2');
260 unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
261 }
262 /* roboto-latin-700-normal*/
263 @font-face {
264 font-family: 'Roboto';
265 font-style: normal;
266 font-display: swap;
267 font-weight: 700;
268 src: url('@fontsource/roboto/files/roboto-latin-700-normal.woff2') format('woff2');
269 unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
270 }
271
272 body {
273 color: #ebebff;
274 background: #282c34;
275 }
276 </style>
15 </head> 277 </head>
16 <body> 278 <body>
17 <noscript> 279 <noscript>
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json
index 693f3d06..aa453cd0 100644
--- a/subprojects/frontend/package.json
+++ b/subprojects/frontend/package.json
@@ -55,7 +55,8 @@
55 "devDependencies": { 55 "devDependencies": {
56 "@lezer/generator": "^1.1.1", 56 "@lezer/generator": "^1.1.1",
57 "@types/eslint": "^8.4.6", 57 "@types/eslint": "^8.4.6",
58 "@types/node": "^18.7.7", 58 "@types/html-minifier-terser": "^7.0.0",
59 "@types/node": "^18.7.8",
59 "@types/prettier": "^2.7.0", 60 "@types/prettier": "^2.7.0",
60 "@types/react": "^18.0.17", 61 "@types/react": "^18.0.17",
61 "@types/react-dom": "^18.0.6", 62 "@types/react-dom": "^18.0.6",
@@ -73,6 +74,7 @@
73 "eslint-plugin-prettier": "^4.2.1", 74 "eslint-plugin-prettier": "^4.2.1",
74 "eslint-plugin-react": "^7.30.1", 75 "eslint-plugin-react": "^7.30.1",
75 "eslint-plugin-react-hooks": "^4.6.0", 76 "eslint-plugin-react-hooks": "^4.6.0",
77 "html-minifier-terser": "^7.0.0",
76 "prettier": "^2.7.1", 78 "prettier": "^2.7.1",
77 "typescript": "~4.7.4", 79 "typescript": "~4.7.4",
78 "vite": "^3.0.9", 80 "vite": "^3.0.9",
diff --git a/subprojects/frontend/src/index.tsx b/subprojects/frontend/src/index.tsx
index b108df6d..a65821ef 100644
--- a/subprojects/frontend/src/index.tsx
+++ b/subprojects/frontend/src/index.tsx
@@ -1,14 +1,4 @@
1import CssBaseline from '@mui/material/CssBaseline'; 1import CssBaseline from '@mui/material/CssBaseline';
2import '@fontsource/jetbrains-mono/400.css';
3import '@fontsource/jetbrains-mono/400-italic.css';
4import '@fontsource/jetbrains-mono/700.css';
5import '@fontsource/jetbrains-mono/700-italic.css';
6import '@fontsource/jetbrains-mono/variable.css';
7import '@fontsource/jetbrains-mono/variable-italic.css';
8import '@fontsource/roboto/300.css';
9import '@fontsource/roboto/400.css';
10import '@fontsource/roboto/500.css';
11import '@fontsource/roboto/700.css';
12import { SnackbarProvider } from 'notistack'; 2import { SnackbarProvider } from 'notistack';
13import React, { Suspense, lazy } from 'react'; 3import React, { Suspense, lazy } from 'react';
14import { createRoot } from 'react-dom/client'; 4import { createRoot } from 'react-dom/client';
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx
index 5bc14704..3a0703fe 100644
--- a/subprojects/frontend/src/theme/ThemeProvider.tsx
+++ b/subprojects/frontend/src/theme/ThemeProvider.tsx
@@ -64,7 +64,8 @@ declare module '@mui/material/styles' {
64 64
65const typography: TypographyVariantsOptions = { 65const typography: TypographyVariantsOptions = {
66 editor: { 66 editor: {
67 fontFamily: '"JetBrains MonoVariable", "JetBrains Mono", monospace', 67 fontFamily:
68 '"JetBrains MonoVariable", "JetBrains Mono", "Cascadia Code", "Fira Code", monospace',
68 fontFeatureSettings: '"liga", "calt"', 69 fontFeatureSettings: '"liga", "calt"',
69 fontSize: '1rem', 70 fontSize: '1rem',
70 fontWeight: 400, 71 fontWeight: 400,
diff --git a/subprojects/frontend/vite.config.ts b/subprojects/frontend/vite.config.ts
index bb421788..6ec2d513 100644
--- a/subprojects/frontend/vite.config.ts
+++ b/subprojects/frontend/vite.config.ts
@@ -4,7 +4,8 @@ import { fileURLToPath } from 'node:url';
4 4
5import { lezer } from '@lezer/generator/rollup'; 5import { lezer } from '@lezer/generator/rollup';
6import react from '@vitejs/plugin-react'; 6import react from '@vitejs/plugin-react';
7import { defineConfig } from 'vite'; 7import { minify } from 'html-minifier-terser';
8import { defineConfig, PluginOption } from 'vite';
8import injectPreload from 'vite-plugin-inject-preload'; 9import injectPreload from 'vite-plugin-inject-preload';
9import { VitePWA } from 'vite-plugin-pwa'; 10import { VitePWA } from 'vite-plugin-pwa';
10 11
@@ -33,12 +34,32 @@ const { name: packageName, version: packageVersion } = JSON.parse(
33process.env.VITE_PACKAGE_NAME ??= packageName; 34process.env.VITE_PACKAGE_NAME ??= packageName;
34process.env.VITE_PACKAGE_VERSION ??= packageVersion; 35process.env.VITE_PACKAGE_VERSION ??= packageVersion;
35 36
37const minifyPlugin: PluginOption = {
38 name: 'minify-html',
39 enforce: 'post',
40 async transformIndexHtml(html) {
41 if (isDevelopment) {
42 return html;
43 }
44 return minify(html, {
45 collapseWhitespace: true,
46 collapseBooleanAttributes: true,
47 minifyCSS: true,
48 removeComments: true,
49 removeAttributeQuotes: true,
50 removeRedundantAttributes: true,
51 sortAttributes: true,
52 });
53 },
54};
55
36export default defineConfig({ 56export default defineConfig({
37 logLevel: 'info', 57 logLevel: 'info',
38 mode, 58 mode,
39 root: thisDir, 59 root: thisDir,
40 cacheDir: path.join(thisDir, 'build/vite/cache'), 60 cacheDir: path.join(thisDir, 'build/vite/cache'),
41 plugins: [ 61 plugins: [
62 minifyPlugin,
42 react({ 63 react({
43 babel: { 64 babel: {
44 // Gets rid of deoptimization warnings for large chunks. 65 // Gets rid of deoptimization warnings for large chunks.
diff --git a/yarn.lock b/yarn.lock
index 3dd118e8..472025aa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2009,7 +2009,8 @@ __metadata:
2009 "@mui/icons-material": 5.8.4 2009 "@mui/icons-material": 5.8.4
2010 "@mui/material": 5.10.1 2010 "@mui/material": 5.10.1
2011 "@types/eslint": ^8.4.6 2011 "@types/eslint": ^8.4.6
2012 "@types/node": ^18.7.7 2012 "@types/html-minifier-terser": ^7.0.0
2013 "@types/node": ^18.7.8
2013 "@types/prettier": ^2.7.0 2014 "@types/prettier": ^2.7.0
2014 "@types/react": ^18.0.17 2015 "@types/react": ^18.0.17
2015 "@types/react-dom": ^18.0.6 2016 "@types/react-dom": ^18.0.6
@@ -2029,6 +2030,7 @@ __metadata:
2029 eslint-plugin-prettier: ^4.2.1 2030 eslint-plugin-prettier: ^4.2.1
2030 eslint-plugin-react: ^7.30.1 2031 eslint-plugin-react: ^7.30.1
2031 eslint-plugin-react-hooks: ^4.6.0 2032 eslint-plugin-react-hooks: ^4.6.0
2033 html-minifier-terser: ^7.0.0
2032 loglevel: ^1.8.0 2034 loglevel: ^1.8.0
2033 loglevel-plugin-prefix: ^0.8.4 2035 loglevel-plugin-prefix: ^0.8.4
2034 mobx: ^6.6.1 2036 mobx: ^6.6.1
@@ -2157,6 +2159,13 @@ __metadata:
2157 languageName: node 2159 languageName: node
2158 linkType: hard 2160 linkType: hard
2159 2161
2162"@types/html-minifier-terser@npm:^7.0.0":
2163 version: 7.0.0
2164 resolution: "@types/html-minifier-terser@npm:7.0.0"
2165 checksum: a7a42816bdacf507c9df764c0de6b55b00bfc341e69b8a2adb936aa68da8c7eb73c3d58957d9fd74610198893bce1c73f40fdbb47f468b2621eb4ccdbc3c9ba1
2166 languageName: node
2167 linkType: hard
2168
2160"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.9": 2169"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.9":
2161 version: 7.0.11 2170 version: 7.0.11
2162 resolution: "@types/json-schema@npm:7.0.11" 2171 resolution: "@types/json-schema@npm:7.0.11"
@@ -2171,10 +2180,10 @@ __metadata:
2171 languageName: node 2180 languageName: node
2172 linkType: hard 2181 linkType: hard
2173 2182
2174"@types/node@npm:*, @types/node@npm:^18.7.7": 2183"@types/node@npm:*, @types/node@npm:^18.7.8":
2175 version: 18.7.7 2184 version: 18.7.8
2176 resolution: "@types/node@npm:18.7.7" 2185 resolution: "@types/node@npm:18.7.8"
2177 checksum: 5681ab6ed2a82f4b84d4f92901d5ed270e33234f500fa594153426dd5a2a865775a68875a12d9a5dded9d8619a8c3c876fd9fd16ebc7eb7488f51352164b367a 2186 checksum: e0125efefa896083c05f549d93166109959ffdd68cb626aad0d660c0ce9de888fe405b4763b4a3c3e0968560409c272413e0ad07204522543c688e162a617ecb
2178 languageName: node 2187 languageName: node
2179 linkType: hard 2188 linkType: hard
2180 2189
@@ -2779,6 +2788,16 @@ __metadata:
2779 languageName: node 2788 languageName: node
2780 linkType: hard 2789 linkType: hard
2781 2790
2791"camel-case@npm:^4.1.2":
2792 version: 4.1.2
2793 resolution: "camel-case@npm:4.1.2"
2794 dependencies:
2795 pascal-case: ^3.1.2
2796 tslib: ^2.0.3
2797 checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6
2798 languageName: node
2799 linkType: hard
2800
2782"caniuse-lite@npm:^1.0.30001370": 2801"caniuse-lite@npm:^1.0.30001370":
2783 version: 1.0.30001370 2802 version: 1.0.30001370
2784 resolution: "caniuse-lite@npm:1.0.30001370" 2803 resolution: "caniuse-lite@npm:1.0.30001370"
@@ -2814,6 +2833,15 @@ __metadata:
2814 languageName: node 2833 languageName: node
2815 linkType: hard 2834 linkType: hard
2816 2835
2836"clean-css@npm:5.2.0":
2837 version: 5.2.0
2838 resolution: "clean-css@npm:5.2.0"
2839 dependencies:
2840 source-map: ~0.6.0
2841 checksum: ccb63b244b200abf53a005429b50132845a49b994fb6a2889a7eb775d53fbde7cb0d0b13655e435b0c3a6788d5d0fbcd2f56ccf32da852ef21ae933198dcad24
2842 languageName: node
2843 linkType: hard
2844
2817"clean-stack@npm:^2.0.0": 2845"clean-stack@npm:^2.0.0":
2818 version: 2.2.0 2846 version: 2.2.0
2819 resolution: "clean-stack@npm:2.2.0" 2847 resolution: "clean-stack@npm:2.2.0"
@@ -2876,6 +2904,13 @@ __metadata:
2876 languageName: node 2904 languageName: node
2877 linkType: hard 2905 linkType: hard
2878 2906
2907"commander@npm:^9.4.0":
2908 version: 9.4.0
2909 resolution: "commander@npm:9.4.0"
2910 checksum: a322de584a6ccd1ea83c24f6a660e52d16ffbe2613fcfbb8d2cc68bc9dec637492456d754fe8bb5b039ad843ed8e04fb0b107e581a75f62cde9e1a0ab1546e09
2911 languageName: node
2912 linkType: hard
2913
2879"common-tags@npm:^1.8.0": 2914"common-tags@npm:^1.8.0":
2880 version: 1.8.2 2915 version: 1.8.2
2881 resolution: "common-tags@npm:1.8.2" 2916 resolution: "common-tags@npm:1.8.2"
@@ -3106,6 +3141,16 @@ __metadata:
3106 languageName: node 3141 languageName: node
3107 linkType: hard 3142 linkType: hard
3108 3143
3144"dot-case@npm:^3.0.4":
3145 version: 3.0.4
3146 resolution: "dot-case@npm:3.0.4"
3147 dependencies:
3148 no-case: ^3.0.4
3149 tslib: ^2.0.3
3150 checksum: a65e3519414856df0228b9f645332f974f2bf5433370f544a681122eab59e66038fc3349b4be1cdc47152779dac71a5864f1ccda2f745e767c46e9c6543b1169
3151 languageName: node
3152 linkType: hard
3153
3109"ejs@npm:^3.1.6": 3154"ejs@npm:^3.1.6":
3110 version: 3.1.8 3155 version: 3.1.8
3111 resolution: "ejs@npm:3.1.8" 3156 resolution: "ejs@npm:3.1.8"
@@ -3157,6 +3202,13 @@ __metadata:
3157 languageName: node 3202 languageName: node
3158 linkType: hard 3203 linkType: hard
3159 3204
3205"entities@npm:^4.3.1":
3206 version: 4.3.1
3207 resolution: "entities@npm:4.3.1"
3208 checksum: e8f6d2bac238494b2355e90551893882d2675142be7e7bdfcb15248ed0652a630678ba0e3a8dc750693e736cb6011f504c27dabeb4cd3330560092e88b105090
3209 languageName: node
3210 linkType: hard
3211
3160"env-paths@npm:^2.2.0": 3212"env-paths@npm:^2.2.0":
3161 version: 2.2.1 3213 version: 2.2.1
3162 resolution: "env-paths@npm:2.2.1" 3214 resolution: "env-paths@npm:2.2.1"
@@ -4246,6 +4298,23 @@ __metadata:
4246 languageName: node 4298 languageName: node
4247 linkType: hard 4299 linkType: hard
4248 4300
4301"html-minifier-terser@npm:^7.0.0":
4302 version: 7.0.0
4303 resolution: "html-minifier-terser@npm:7.0.0"
4304 dependencies:
4305 camel-case: ^4.1.2
4306 clean-css: 5.2.0
4307 commander: ^9.4.0
4308 entities: ^4.3.1
4309 param-case: ^3.0.4
4310 relateurl: ^0.2.7
4311 terser: ^5.14.2
4312 bin:
4313 html-minifier-terser: cli.js
4314 checksum: eabd3b4835d9663bf7c30ea0f1c57870b0d8f7dc27b9fa17852ea57bfdd5fdc0ed9b7b83a7f13edd8626ccf98d3082e347764754278a661cab291469fd37dced
4315 languageName: node
4316 linkType: hard
4317
4249"http-cache-semantics@npm:^4.1.0": 4318"http-cache-semantics@npm:^4.1.0":
4250 version: 4.1.0 4319 version: 4.1.0
4251 resolution: "http-cache-semantics@npm:4.1.0" 4320 resolution: "http-cache-semantics@npm:4.1.0"
@@ -4833,6 +4902,15 @@ __metadata:
4833 languageName: node 4902 languageName: node
4834 linkType: hard 4903 linkType: hard
4835 4904
4905"lower-case@npm:^2.0.2":
4906 version: 2.0.2
4907 resolution: "lower-case@npm:2.0.2"
4908 dependencies:
4909 tslib: ^2.0.3
4910 checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010
4911 languageName: node
4912 linkType: hard
4913
4836"lru-cache@npm:^6.0.0": 4914"lru-cache@npm:^6.0.0":
4837 version: 6.0.0 4915 version: 6.0.0
4838 resolution: "lru-cache@npm:6.0.0" 4916 resolution: "lru-cache@npm:6.0.0"
@@ -5103,6 +5181,16 @@ __metadata:
5103 languageName: node 5181 languageName: node
5104 linkType: hard 5182 linkType: hard
5105 5183
5184"no-case@npm:^3.0.4":
5185 version: 3.0.4
5186 resolution: "no-case@npm:3.0.4"
5187 dependencies:
5188 lower-case: ^2.0.2
5189 tslib: ^2.0.3
5190 checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c
5191 languageName: node
5192 linkType: hard
5193
5106"node-gyp@npm:latest": 5194"node-gyp@npm:latest":
5107 version: 8.4.1 5195 version: 8.4.1
5108 resolution: "node-gyp@npm:8.4.1" 5196 resolution: "node-gyp@npm:8.4.1"
@@ -5336,6 +5424,16 @@ __metadata:
5336 languageName: node 5424 languageName: node
5337 linkType: hard 5425 linkType: hard
5338 5426
5427"param-case@npm:^3.0.4":
5428 version: 3.0.4
5429 resolution: "param-case@npm:3.0.4"
5430 dependencies:
5431 dot-case: ^3.0.4
5432 tslib: ^2.0.3
5433 checksum: b34227fd0f794e078776eb3aa6247442056cb47761e9cd2c4c881c86d84c64205f6a56ef0d70b41ee7d77da02c3f4ed2f88e3896a8fefe08bdfb4deca037c687
5434 languageName: node
5435 linkType: hard
5436
5339"parent-module@npm:^1.0.0": 5437"parent-module@npm:^1.0.0":
5340 version: 1.0.1 5438 version: 1.0.1
5341 resolution: "parent-module@npm:1.0.1" 5439 resolution: "parent-module@npm:1.0.1"
@@ -5357,6 +5455,16 @@ __metadata:
5357 languageName: node 5455 languageName: node
5358 linkType: hard 5456 linkType: hard
5359 5457
5458"pascal-case@npm:^3.1.2":
5459 version: 3.1.2
5460 resolution: "pascal-case@npm:3.1.2"
5461 dependencies:
5462 no-case: ^3.0.4
5463 tslib: ^2.0.3
5464 checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e
5465 languageName: node
5466 linkType: hard
5467
5360"path-exists@npm:^3.0.0": 5468"path-exists@npm:^3.0.0":
5361 version: 3.0.0 5469 version: 3.0.0
5362 resolution: "path-exists@npm:3.0.0" 5470 resolution: "path-exists@npm:3.0.0"
@@ -5664,6 +5772,13 @@ __metadata:
5664 languageName: node 5772 languageName: node
5665 linkType: hard 5773 linkType: hard
5666 5774
5775"relateurl@npm:^0.2.7":
5776 version: 0.2.7
5777 resolution: "relateurl@npm:0.2.7"
5778 checksum: 5891e792eae1dfc3da91c6fda76d6c3de0333a60aa5ad848982ebb6dccaa06e86385fb1235a1582c680a3d445d31be01c6bfc0804ebbcab5aaf53fa856fde6b6
5779 languageName: node
5780 linkType: hard
5781
5667"require-from-string@npm:^2.0.2": 5782"require-from-string@npm:^2.0.2":
5668 version: 2.0.2 5783 version: 2.0.2
5669 resolution: "require-from-string@npm:2.0.2" 5784 resolution: "require-from-string@npm:2.0.2"
@@ -5975,7 +6090,7 @@ __metadata:
5975 languageName: node 6090 languageName: node
5976 linkType: hard 6091 linkType: hard
5977 6092
5978"source-map@npm:^0.6.0": 6093"source-map@npm:^0.6.0, source-map@npm:~0.6.0":
5979 version: 0.6.1 6094 version: 0.6.1
5980 resolution: "source-map@npm:0.6.1" 6095 resolution: "source-map@npm:0.6.1"
5981 checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 6096 checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2
@@ -6195,7 +6310,7 @@ __metadata:
6195 languageName: node 6310 languageName: node
6196 linkType: hard 6311 linkType: hard
6197 6312
6198"terser@npm:^5.0.0": 6313"terser@npm:^5.0.0, terser@npm:^5.14.2":
6199 version: 5.14.2 6314 version: 5.14.2
6200 resolution: "terser@npm:5.14.2" 6315 resolution: "terser@npm:5.14.2"
6201 dependencies: 6316 dependencies:
@@ -6270,7 +6385,7 @@ __metadata:
6270 languageName: node 6385 languageName: node
6271 linkType: hard 6386 linkType: hard
6272 6387
6273"tslib@npm:^2.4.0": 6388"tslib@npm:^2.0.3, tslib@npm:^2.4.0":
6274 version: 2.4.0 6389 version: 2.4.0
6275 resolution: "tslib@npm:2.4.0" 6390 resolution: "tslib@npm:2.4.0"
6276 checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113 6391 checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113