Add a script for building assets

This commit is contained in:
woxtu 2023-08-02 00:27:01 +09:00
parent 8a72a05958
commit 4009ed1a6b
3 changed files with 565 additions and 54 deletions

View File

@ -59,9 +59,12 @@
"@typescript-eslint/eslint-plugin": "6.2.0",
"@typescript-eslint/parser": "6.2.0",
"cross-env": "7.0.3",
"cssnano": "6.0.1",
"cypress": "12.17.2",
"eslint": "8.46.0",
"start-server-and-test": "2.0.0"
"postcss": "^8.4.27",
"start-server-and-test": "2.0.0",
"terser": "5.19.2"
},
"optionalDependencies": {
"@tensorflow/tfjs-core": "4.4.0"

View File

@ -56,15 +56,24 @@ importers:
cross-env:
specifier: 7.0.3
version: 7.0.3
cssnano:
specifier: 6.0.1
version: 6.0.1(postcss@8.4.27)
cypress:
specifier: 12.17.2
version: 12.17.2
eslint:
specifier: 8.46.0
version: 8.46.0
postcss:
specifier: ^8.4.27
version: 8.4.27
start-server-and-test:
specifier: 2.0.0
version: 2.0.0
terser:
specifier: 5.19.2
version: 5.19.2
packages/backend:
dependencies:
@ -813,7 +822,7 @@ importers:
version: 1.8.0
vite:
specifier: 4.4.7
version: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
version: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
vue:
specifier: 3.3.4
version: 3.3.4
@ -1003,7 +1012,7 @@ importers:
version: 1.0.2
vitest:
specifier: 0.33.0
version: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)
version: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)(terser@5.19.2)
vitest-fetch-mock:
specifier: 0.2.2
version: 0.2.2(vitest@0.33.0)
@ -5277,7 +5286,7 @@ packages:
magic-string: 0.27.0
react-docgen-typescript: 2.2.2(typescript@5.1.6)
typescript: 5.1.6
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
dev: true
/@jridgewell/gen-mapping@0.3.2:
@ -5296,12 +5305,11 @@ packages:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
/@jridgewell/source-map@0.3.2:
resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==}
/@jridgewell/source-map@0.3.5:
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
dependencies:
'@jridgewell/gen-mapping': 0.3.2
'@jridgewell/trace-mapping': 0.3.18
dev: false
/@jridgewell/sourcemap-codec@1.4.14:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
@ -5309,13 +5317,6 @@ packages:
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
/@jridgewell/trace-mapping@0.3.17:
resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
dev: true
/@jridgewell/trace-mapping@0.3.18:
resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
dependencies:
@ -5345,7 +5346,7 @@ packages:
hasBin: true
requiresBuild: true
dependencies:
detect-libc: 2.0.1
detect-libc: 2.0.2
https-proxy-agent: 5.0.1
make-dir: 3.1.0
node-fetch: 2.6.11
@ -6639,7 +6640,7 @@ packages:
remark-slug: 6.1.0
rollup: 3.27.0
typescript: 5.1.6
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- encoding
- supports-color
@ -7124,7 +7125,7 @@ packages:
react: 18.2.0
react-docgen: 6.0.0-alpha.3
react-dom: 18.2.0(react@18.2.0)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- '@preact/preset-vite'
- encoding
@ -7296,7 +7297,7 @@ packages:
magic-string: 0.27.0
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
vue-docgen-api: 4.64.1(vue@3.3.4)
transitivePeerDependencies:
- '@preact/preset-vite'
@ -7924,6 +7925,11 @@ packages:
engines: {node: '>= 10'}
dev: false
/@trysound/sax@0.2.0:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
dev: true
/@tsd/typescript@5.0.2:
resolution: {integrity: sha512-UgFiSalbDaWrkMBQv8rHetnlwj3HVZtJo6i2aGLe50I6XdlPZFdGRfM2GOaP+i3Tm6p+YcyEql3yoi3ZPs/6Pw==}
dev: true
@ -8741,7 +8747,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.22.1)
magic-string: 0.27.0
react-refresh: 0.14.0
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- supports-color
dev: true
@ -8753,7 +8759,7 @@ packages:
vite: ^4.0.0
vue: ^3.2.25
dependencies:
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
vue: 3.3.4
/@vitest/coverage-v8@0.33.0(vitest@0.33.0):
@ -8772,7 +8778,7 @@ packages:
std-env: 3.3.3
test-exclude: 6.0.0
v8-to-istanbul: 9.1.0
vitest: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)
vitest: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- supports-color
dev: true
@ -8895,7 +8901,7 @@ packages:
'@vue/shared': 3.3.4
estree-walker: 2.0.2
magic-string: 0.30.0
postcss: 8.4.23
postcss: 8.4.27
source-map-js: 1.0.2
/@vue/compiler-ssr@3.3.4:
@ -10315,6 +10321,15 @@ packages:
lodash.uniq: 4.5.0
dev: false
/caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
dependencies:
browserslist: 4.21.9
caniuse-lite: 1.0.30001516
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
dev: true
/caniuse-db@1.0.30001443:
resolution: {integrity: sha512-4KKthVYyooNIOhO1w0OJ13EhEwOGECMrZdkeyDydhvYXaTDA3WdhR8amoJnAgpSgcCR26aOAWk6N9ANVYlv2oQ==}
dev: false
@ -10771,6 +10786,10 @@ packages:
color-convert: 2.0.1
color-string: 1.9.1
/colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
dev: true
/colorette@2.0.19:
resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==}
dev: true
@ -10814,7 +10833,6 @@ packages:
/commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
dev: false
/commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
@ -11034,6 +11052,15 @@ packages:
resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==}
dev: false
/css-declaration-sorter@6.4.1(postcss@8.4.27):
resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
engines: {node: ^10 || ^12 || >=14}
peerDependencies:
postcss: ^8.0.9
dependencies:
postcss: 8.4.27
dev: true
/css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
dependencies:
@ -11043,6 +11070,22 @@ packages:
domutils: 3.0.1
nth-check: 2.1.1
/css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
mdn-data: 2.0.28
source-map-js: 1.0.2
dev: true
/css-tree@2.3.1:
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
dependencies:
mdn-data: 2.0.30
source-map-js: 1.0.2
dev: true
/css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
@ -11056,6 +11099,53 @@ packages:
hasBin: true
dev: true
/cssnano-preset-default@6.0.1(postcss@8.4.27):
resolution: {integrity: sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
css-declaration-sorter: 6.4.1(postcss@8.4.27)
cssnano-utils: 4.0.0(postcss@8.4.27)
postcss: 8.4.27
postcss-calc: 9.0.1(postcss@8.4.27)
postcss-colormin: 6.0.0(postcss@8.4.27)
postcss-convert-values: 6.0.0(postcss@8.4.27)
postcss-discard-comments: 6.0.0(postcss@8.4.27)
postcss-discard-duplicates: 6.0.0(postcss@8.4.27)
postcss-discard-empty: 6.0.0(postcss@8.4.27)
postcss-discard-overridden: 6.0.0(postcss@8.4.27)
postcss-merge-longhand: 6.0.0(postcss@8.4.27)
postcss-merge-rules: 6.0.1(postcss@8.4.27)
postcss-minify-font-values: 6.0.0(postcss@8.4.27)
postcss-minify-gradients: 6.0.0(postcss@8.4.27)
postcss-minify-params: 6.0.0(postcss@8.4.27)
postcss-minify-selectors: 6.0.0(postcss@8.4.27)
postcss-normalize-charset: 6.0.0(postcss@8.4.27)
postcss-normalize-display-values: 6.0.0(postcss@8.4.27)
postcss-normalize-positions: 6.0.0(postcss@8.4.27)
postcss-normalize-repeat-style: 6.0.0(postcss@8.4.27)
postcss-normalize-string: 6.0.0(postcss@8.4.27)
postcss-normalize-timing-functions: 6.0.0(postcss@8.4.27)
postcss-normalize-unicode: 6.0.0(postcss@8.4.27)
postcss-normalize-url: 6.0.0(postcss@8.4.27)
postcss-normalize-whitespace: 6.0.0(postcss@8.4.27)
postcss-ordered-values: 6.0.0(postcss@8.4.27)
postcss-reduce-initial: 6.0.0(postcss@8.4.27)
postcss-reduce-transforms: 6.0.0(postcss@8.4.27)
postcss-svgo: 6.0.0(postcss@8.4.27)
postcss-unique-selectors: 6.0.0(postcss@8.4.27)
dev: true
/cssnano-utils@4.0.0(postcss@8.4.27):
resolution: {integrity: sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/cssnano@3.10.0:
resolution: {integrity: sha512-0o0IMQE0Ezo4b41Yrm8U6Rp9/Ag81vNXY1gZMnT1XhO4DpjEf2utKERqWJbOoz3g1Wdc1d3QSta/cIuJ1wSTEg==}
dependencies:
@ -11093,14 +11183,33 @@ packages:
postcss-zindex: 2.2.0
dev: false
/cssnano@6.0.1(postcss@8.4.27):
resolution: {integrity: sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
cssnano-preset-default: 6.0.1(postcss@8.4.27)
lilconfig: 2.1.0
postcss: 8.4.27
dev: true
/csso@2.3.2:
resolution: {integrity: sha512-FmCI/hmqDeHHLaIQckMhMZneS84yzUZdrWDAvJVVxOwcKE1P1LF9FGmzr1ktIQSxOw6fl3PaQsmfg+GN+VvR3w==}
engines: {node: '>=0.10.0'}
hasBin: true
dependencies:
clap: 1.2.3
source-map: 0.5.7
dev: false
/csso@5.0.5:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
dependencies:
css-tree: 2.2.1
dev: true
/cssstyle@3.0.0:
resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==}
engines: {node: '>=14'}
@ -11496,13 +11605,6 @@ packages:
engines: {node: '>=8'}
dev: true
/detect-libc@2.0.1:
resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==}
engines: {node: '>=8'}
requiresBuild: true
dev: false
optional: true
/detect-libc@2.0.2:
resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==}
engines: {node: '>=8'}
@ -13621,7 +13723,7 @@ packages:
engines: {node: '>=10'}
dependencies:
plugin-error: 1.0.1
terser: 5.16.1
terser: 5.19.2
through2: 4.0.2
vinyl-sourcemaps-apply: 0.2.1
dev: false
@ -15780,6 +15882,11 @@ packages:
set-cookie-parser: 2.5.1
dev: false
/lilconfig@2.1.0:
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
engines: {node: '>=10'}
dev: true
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
@ -15874,7 +15981,6 @@ packages:
/lodash.memoize@4.1.2:
resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: false
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@ -15889,7 +15995,6 @@ packages:
/lodash.uniq@4.5.0:
resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
dev: false
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
@ -16137,6 +16242,14 @@ packages:
resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==}
dev: true
/mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
dev: true
/mdn-data@2.0.30:
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
dev: true
/media-typer@0.3.0:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
@ -16718,6 +16831,7 @@ packages:
/node-fetch@2.6.7:
resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
engines: {node: 4.x || >=6.0.0}
requiresBuild: true
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
@ -17779,6 +17893,17 @@ packages:
reduce-css-calc: 1.3.0
dev: false
/postcss-calc@9.0.1(postcss@8.4.27):
resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.2
dependencies:
postcss: 8.4.27
postcss-selector-parser: 6.0.13
postcss-value-parser: 4.2.0
dev: true
/postcss-colormin@2.2.2:
resolution: {integrity: sha512-XXitQe+jNNPf+vxvQXIQ1+pvdQKWKgkx8zlJNltcMEmLma1ypDRDQwlLt+6cP26fBreihNhZxohh1rcgCH2W5w==}
dependencies:
@ -17787,6 +17912,19 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-colormin@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
caniuse-api: 3.0.0
colord: 2.9.3
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-convert-values@2.6.1:
resolution: {integrity: sha512-SE7mf25D3ORUEXpu3WUqQqy0nCbMuM5BEny+ULE/FXdS/0UMA58OdzwvzuHJRpIFlk1uojt16JhaEogtP6W2oA==}
dependencies:
@ -17794,30 +17932,77 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-convert-values@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-discard-comments@2.0.4:
resolution: {integrity: sha512-yGbyBDo5FxsImE90LD8C87vgnNlweQkODMkUZlDVM/CBgLr9C5RasLGJxxh9GjVOBeG8NcCMatoqI1pXg8JNXg==}
dependencies:
postcss: 5.2.18
dev: false
/postcss-discard-comments@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/postcss-discard-duplicates@2.1.0:
resolution: {integrity: sha512-+lk5W1uqO8qIUTET+UETgj9GWykLC3LOldr7EehmymV0Wu36kyoHimC4cILrAAYpHQ+fr4ypKcWcVNaGzm0reA==}
dependencies:
postcss: 5.2.18
dev: false
/postcss-discard-duplicates@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/postcss-discard-empty@2.1.0:
resolution: {integrity: sha512-IBFoyrwk52dhF+5z/ZAbzq5Jy7Wq0aLUsOn69JNS+7YeuyHaNzJwBIYE0QlUH/p5d3L+OON72Fsexyb7OK/3og==}
dependencies:
postcss: 5.2.18
dev: false
/postcss-discard-empty@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/postcss-discard-overridden@0.1.1:
resolution: {integrity: sha512-IyKoDL8QNObOiUc6eBw8kMxBHCfxUaERYTUe2QF8k7j/xiirayDzzkmlR6lMQjrAM1p1DDRTvWrS7Aa8lp6/uA==}
dependencies:
postcss: 5.2.18
dev: false
/postcss-discard-overridden@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/postcss-discard-unused@2.2.3:
resolution: {integrity: sha512-nCbFNfqYAbKCw9J6PSJubpN9asnrwVLkRDFc4KCwyUEdOtM5XDE/eTW3OpqHrYY1L4fZxgan7LLRAAYYBzwzrg==}
dependencies:
@ -17845,6 +18030,17 @@ packages:
postcss: 5.2.18
dev: false
/postcss-merge-longhand@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
stylehacks: 6.0.0(postcss@8.4.27)
dev: true
/postcss-merge-rules@2.1.2:
resolution: {integrity: sha512-Wgg2FS6W3AYBl+5L9poL6ZUISi5YzL+sDCJfM7zNw/Q1qsyVQXXZ2cbVui6mu2cYJpt1hOKCGj1xA4mq/obz/Q==}
dependencies:
@ -17855,6 +18051,19 @@ packages:
vendors: 1.0.4
dev: false
/postcss-merge-rules@6.0.1(postcss@8.4.27):
resolution: {integrity: sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
caniuse-api: 3.0.0
cssnano-utils: 4.0.0(postcss@8.4.27)
postcss: 8.4.27
postcss-selector-parser: 6.0.13
dev: true
/postcss-message-helpers@2.0.0:
resolution: {integrity: sha512-tPLZzVAiIJp46TBbpXtrUAKqedXSyW5xDEo1sikrfEfnTs+49SBZR/xDdqCiJvSSbtr615xDsaMF3RrxS2jZlA==}
dev: false
@ -17867,6 +18076,16 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-minify-font-values@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-minify-gradients@1.0.5:
resolution: {integrity: sha512-DZhT0OE+RbVqVyGsTIKx84rU/5cury1jmwPa19bViqYPQu499ZU831yMzzsyC8EhiZVd73+h5Z9xb/DdaBpw7Q==}
dependencies:
@ -17874,6 +18093,18 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-minify-gradients@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
colord: 2.9.3
cssnano-utils: 4.0.0(postcss@8.4.27)
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-minify-params@1.2.2:
resolution: {integrity: sha512-hhJdMVgP8vasrHbkKAk+ab28vEmPYgyuDzRl31V3BEB3QOR3L5TTIVEWLDNnZZ3+fiTi9d6Ker8GM8S1h8p2Ow==}
dependencies:
@ -17883,6 +18114,18 @@ packages:
uniqs: 2.0.0
dev: false
/postcss-minify-params@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
cssnano-utils: 4.0.0(postcss@8.4.27)
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-minify-selectors@2.1.1:
resolution: {integrity: sha512-e13vxPBSo3ZaPne43KVgM+UETkx3Bs4/Qvm6yXI9HQpQp4nyb7HZ0gKpkF+Wn2x+/dbQ+swNpCdZSbMOT7+TIA==}
dependencies:
@ -17892,12 +18135,92 @@ packages:
postcss-selector-parser: 2.2.3
dev: false
/postcss-minify-selectors@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-selector-parser: 6.0.13
dev: true
/postcss-normalize-charset@1.1.1:
resolution: {integrity: sha512-RKgjEks83l8w4yEhztOwNZ+nLSrJ+NvPNhpS+mVDzoaiRHZQVoG7NF2TP5qjwnaN9YswUhj6m1E0S0Z+WDCgEQ==}
dependencies:
postcss: 5.2.18
dev: false
/postcss-normalize-charset@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
dev: true
/postcss-normalize-display-values@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-positions@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-repeat-style@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-string@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-timing-functions@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-unicode@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-url@3.0.8:
resolution: {integrity: sha512-WqtWG6GV2nELsQEFES0RzfL2ebVwmGl/M8VmMbshKto/UClBo+mznX8Zi4/hkThdqx7ijwv+O8HWPdpK7nH/Ig==}
dependencies:
@ -17907,6 +18230,26 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-normalize-url@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-normalize-whitespace@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-ordered-values@2.2.3:
resolution: {integrity: sha512-5RB1IUZhkxDCfa5fx/ogp/A82mtq+r7USqS+7zt0e428HJ7+BHCxyeY39ClmkkUtxdOd3mk8gD6d9bjH2BECMg==}
dependencies:
@ -17914,6 +18257,17 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-ordered-values@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
cssnano-utils: 4.0.0(postcss@8.4.27)
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-reduce-idents@2.4.0:
resolution: {integrity: sha512-0+Ow9e8JLtffjumJJFPqvN4qAvokVbdQPnijUDSOX8tfTwrILLP4ETvrZcXZxAtpFLh/U0c+q8oRMJLr1Kiu4w==}
dependencies:
@ -17927,6 +18281,17 @@ packages:
postcss: 5.2.18
dev: false
/postcss-reduce-initial@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
caniuse-api: 3.0.0
postcss: 8.4.27
dev: true
/postcss-reduce-transforms@1.0.4:
resolution: {integrity: sha512-lGgRqnSuAR5i5uUg1TA33r9UngfTadWxOyL2qx1KuPoCQzfmtaHjp9PuwX7yVyRxG3BWBzeFUaS5uV9eVgnEgQ==}
dependencies:
@ -17935,6 +18300,16 @@ packages:
postcss-value-parser: 3.3.1
dev: false
/postcss-reduce-transforms@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
dev: true
/postcss-selector-parser@2.2.3:
resolution: {integrity: sha512-3pqyakeGhrO0BQ5+/tGTfvi5IAUAhHRayGK8WFSu06aEv2BmHoXw/Mhb+w7VY5HERIuC+QoUI7wgrCcq2hqCVA==}
dependencies:
@ -17960,6 +18335,17 @@ packages:
svgo: 0.7.2
dev: false
/postcss-svgo@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==}
engines: {node: ^14 || ^16 || >= 18}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-value-parser: 4.2.0
svgo: 3.0.2
dev: true
/postcss-unique-selectors@2.0.2:
resolution: {integrity: sha512-WZX8r1M0+IyljoJOJleg3kYm10hxNYF9scqAT7v/xeSX1IdehutOM85SNO0gP9K+bgs86XERr7Ud5u3ch4+D8g==}
dependencies:
@ -17968,10 +18354,24 @@ packages:
uniqs: 2.0.0
dev: false
/postcss-unique-selectors@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
postcss: 8.4.27
postcss-selector-parser: 6.0.13
dev: true
/postcss-value-parser@3.3.1:
resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==}
dev: false
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true
/postcss-zindex@2.2.0:
resolution: {integrity: sha512-uhRZ2hRgj0lorxm9cr62B01YzpUe63h0RXMXQ4gWW3oa2rpJh+FJAiEAytaFCPU/VgaBS+uW2SJ1XKyDNz1h4w==}
dependencies:
@ -17990,14 +18390,6 @@ packages:
supports-color: 3.2.3
dev: false
/postcss@8.4.23:
resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.6
picocolors: 1.0.0
source-map-js: 1.0.2
/postcss@8.4.27:
resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==}
engines: {node: ^10 || ^12 || >=14}
@ -19270,7 +19662,7 @@ packages:
htmlparser2: 8.0.1
is-plain-object: 5.0.0
parse-srcset: 1.0.2
postcss: 8.4.23
postcss: 8.4.27
dev: false
/sass@1.64.1:
@ -19305,6 +19697,7 @@ packages:
/seedrandom@3.0.5:
resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
requiresBuild: true
dev: false
/semver-greatest-satisfied-range@1.1.0:
@ -20237,6 +20630,17 @@ packages:
peek-readable: 5.0.0
dev: false
/stylehacks@6.0.0(postcss@8.4.27):
resolution: {integrity: sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==}
engines: {node: ^14 || ^16 || >=18.0}
peerDependencies:
postcss: ^8.2.15
dependencies:
browserslist: 4.21.9
postcss: 8.4.27
postcss-selector-parser: 6.0.13
dev: true
/supports-color@2.0.0:
resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
engines: {node: '>=0.8.0'}
@ -20289,6 +20693,8 @@ packages:
/svgo@0.7.2:
resolution: {integrity: sha512-jT/g9FFMoe9lu2IT6HtAxTA7RR2XOrmcrmCtGnyB/+GQnV6ZjNn+KOHZbZ35yL81+1F/aB6OeEsJztzBQ2EEwA==}
engines: {node: '>=0.10.0'}
deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x.
hasBin: true
dependencies:
coa: 1.0.4
colors: 1.1.2
@ -20299,6 +20705,19 @@ packages:
whet.extend: 0.9.9
dev: false
/svgo@3.0.2:
resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
'@trysound/sax': 0.2.0
commander: 7.2.0
css-select: 5.1.0
css-tree: 2.3.1
csso: 5.0.5
picocolors: 1.0.0
dev: true
/symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
dev: false
@ -20405,15 +20824,15 @@ packages:
unique-string: 2.0.0
dev: true
/terser@5.16.1:
resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==}
/terser@5.19.2:
resolution: {integrity: sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
'@jridgewell/source-map': 0.3.2
'@jridgewell/source-map': 0.3.5
acorn: 8.10.0
commander: 2.20.3
source-map-support: 0.5.21
dev: false
/test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
@ -21268,7 +21687,7 @@ packages:
resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==}
engines: {node: '>=10.12.0'}
dependencies:
'@jridgewell/trace-mapping': 0.3.17
'@jridgewell/trace-mapping': 0.3.18
'@types/istanbul-lib-coverage': 2.0.4
convert-source-map: 1.9.0
dev: true
@ -21370,7 +21789,7 @@ packages:
replace-ext: 1.0.1
dev: false
/vite-node@0.33.0(@types/node@20.4.5)(sass@1.64.1):
/vite-node@0.33.0(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2):
resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==}
engines: {node: '>=v14.18.0'}
hasBin: true
@ -21380,7 +21799,7 @@ packages:
mlly: 1.4.0
pathe: 1.1.1
picocolors: 1.0.0
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- '@types/node'
- less
@ -21396,7 +21815,7 @@ packages:
resolution: {integrity: sha512-irjKcKXRn7v5bPAg4mAbsS6DgibpP1VUFL9tlgxU6lloK6V9yw9qCZkS+s2PtbkZpWNzr3TN3zVJAc6J7gJZmA==}
dev: true
/vite@4.4.7(@types/node@20.4.5)(sass@1.64.1):
/vite@4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2):
resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@ -21429,6 +21848,7 @@ packages:
postcss: 8.4.27
rollup: 3.27.0
sass: 1.64.1
terser: 5.19.2
optionalDependencies:
fsevents: 2.3.2
@ -21439,12 +21859,12 @@ packages:
vitest: '>=0.16.0'
dependencies:
cross-fetch: 3.1.5
vitest: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)
vitest: 0.33.0(happy-dom@10.0.3)(sass@1.64.1)(terser@5.19.2)
transitivePeerDependencies:
- encoding
dev: true
/vitest@0.33.0(happy-dom@10.0.3)(sass@1.64.1):
/vitest@0.33.0(happy-dom@10.0.3)(sass@1.64.1)(terser@5.19.2):
resolution: {integrity: sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==}
engines: {node: '>=v14.18.0'}
hasBin: true
@ -21497,8 +21917,8 @@ packages:
strip-literal: 1.0.1
tinybench: 2.5.0
tinypool: 0.6.0
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)
vite-node: 0.33.0(@types/node@20.4.5)(sass@1.64.1)
vite: 4.4.7(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
vite-node: 0.33.0(@types/node@20.4.5)(sass@1.64.1)(terser@5.19.2)
why-is-node-running: 2.2.2
transitivePeerDependencies:
- less
@ -21715,6 +22135,7 @@ packages:
/whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
requiresBuild: true
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1

87
scripts/build-assets.mjs Normal file
View File

@ -0,0 +1,87 @@
/*
* SPDX-FileCopyrightText: syuilo and other misskey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as fs from 'node:fs/promises';
import * as path from 'node:path';
import cssnano from 'cssnano';
import postcss from 'postcss';
import * as terser from 'terser';
import locales from '../locales/index.js';
import meta from '../package.json' assert { type: "json" };
async function copyFrontendFonts() {
await fs.cp('./packages/frontend/node_modules/three/examples/fonts', './built/_frontend_dist_/fonts', { dereference: true, recursive: true });
}
async function copyFrontendTablerIcons() {
await fs.cp('./packages/frontend/node_modules/@tabler/icons-webfont', './built/_frontend_dist_/tabler-icons', { dereference: true, recursive: true });
}
async function copyFrontendLocales() {
await fs.mkdir('./built/_frontend_dist_/locales', { recursive: true });
const v = { '_version_': meta.version };
for (const [lang, locale] of Object.entries(locales)) {
await fs.writeFile(`./built/_frontend_dist_/locales/${lang}.${meta.version}.json`, JSON.stringify({ ...locale, ...v }), 'utf-8');
}
}
async function copyBackendViews() {
await fs.cp('./packages/backend/src/server/web/views', './packages/backend/built/server/web/views', { recursive: true });
}
async function buildBackendScript() {
await fs.mkdir('./packages/backend/built/server/web', { recursive: true });
for (const file of [
'./packages/backend/src/server/web/boot.js',
'./packages/backend/src/server/web/bios.js',
'./packages/backend/src/server/web/cli.js'
]) {
let source = await fs.readFile(file, { encoding: 'utf-8' });
source = source.replaceAll('LANGS', JSON.stringify(Object.keys(locales)));
const { code } = await terser.minify(source, { toplevel: true });
await fs.writeFile(`./packages/backend/built/server/web/${path.basename(file)}`, code);
}
}
async function buildBackendStyle() {
await fs.mkdir('./packages/backend/built/server/web', { recursive: true });
for (const file of [
'./packages/backend/src/server/web/style.css',
'./packages/backend/src/server/web/bios.css',
'./packages/backend/src/server/web/cli.css',
'./packages/backend/src/server/web/error.css'
]) {
const source = await fs.readFile(file, { encoding: 'utf-8' });
const { css } = await postcss([cssnano({ zindex: false })]).process(source, { from: undefined });
await fs.writeFile(`./packages/backend/built/server/web/${path.basename(file)}`, css);
}
}
async function build() {
await Promise.all([
copyFrontendFonts(),
copyFrontendTablerIcons(),
copyFrontendLocales(),
copyBackendViews(),
buildBackendScript(),
buildBackendStyle(),
]);
}
await build();
if (process.argv.includes("--watch")) {
const watcher = fs.watch('./packages', { recursive: true });
for await (const event of watcher) {
if (/^[a-z]+\/src/.test(event.filename)) {
await build();
}
}
}