build (perf): add million compiler

This commit is contained in:
fero
2024-03-13 15:25:55 -07:00
parent 7abd7298af
commit d6f691454a
4 changed files with 99 additions and 12 deletions

85
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "pyrodactyl",
"version": "0.49.0-alpha",
"version": "0.50.0-alpha",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pyrodactyl",
"version": "0.49.0-alpha",
"version": "0.50.0-alpha",
"dependencies": {
"@headlessui/react": "^1.7.18",
"@preact/signals-react": "^2.0.0",
@@ -35,6 +35,7 @@
"formik": "^2.4.5",
"framer-motion": "^11.0.8",
"laravel-vite-plugin": "^1.0.2",
"million": "^3.0.6",
"pathe": "^1.1.2",
"qrcode.react": "^3.1.0",
"react": "^18.2.0",
@@ -3016,6 +3017,27 @@
"node": ">=14.0.0"
}
},
"node_modules/@rollup/pluginutils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
"integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
"dependencies": {
"@types/estree": "^1.0.0",
"estree-walker": "^2.0.2",
"picomatch": "^2.3.1"
},
"engines": {
"node": ">=14.0.0"
},
"peerDependencies": {
"rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
},
"peerDependenciesMeta": {
"rollup": {
"optional": true
}
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz",
@@ -5736,6 +5758,11 @@
"node": ">=4.0"
}
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -6860,6 +6887,14 @@
"json-buffer": "3.0.1"
}
},
"node_modules/kleur": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
"integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/laravel-vite-plugin": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-1.0.2.tgz",
@@ -6984,6 +7019,44 @@
"node": ">=8.6"
}
},
"node_modules/million": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/million/-/million-3.0.6.tgz",
"integrity": "sha512-OLjRVASGOZdyZw2ctBSSOu5kb9PaxafqkueqVvw0iQtUUnTLVRk1EmtqcNAtJWCIm8wn+WGRpDbnp+5Hi8//Kg==",
"dependencies": {
"@babel/core": "^7.23.7",
"@babel/types": "^7.23.6",
"@rollup/pluginutils": "^5.1.0",
"kleur": "^4.1.5",
"undici": "^6.3.0",
"unplugin": "^1.6.0"
},
"bin": {
"million": "packages/cli/dist/index.js"
},
"funding": {
"url": "https://github.com/sponsors/aidenybai"
}
},
"node_modules/million/node_modules/unplugin": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.0.tgz",
"integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==",
"dependencies": {
"acorn": "^8.11.3",
"chokidar": "^3.6.0",
"webpack-sources": "^3.2.3",
"webpack-virtual-modules": "^0.6.1"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/million/node_modules/webpack-virtual-modules": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz",
"integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg=="
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -9484,6 +9557,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/undici": {
"version": "6.8.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-6.8.0.tgz",
"integrity": "sha512-22FP0QRSJDQO2PC+bMBVqvsZ3cNQwQnxCNq910N3eIIU4xgMVVpLbEEX7fCg7AalvijPwjlyk5ezenw9FqZfHQ==",
"engines": {
"node": ">=18.0"
}
},
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",

View File

@@ -33,6 +33,7 @@
"formik": "^2.4.5",
"framer-motion": "^11.0.8",
"laravel-vite-plugin": "^1.0.2",
"million": "^3.0.6",
"pathe": "^1.1.2",
"qrcode.react": "^3.1.0",
"react": "^18.2.0",

View File

@@ -1,3 +1,4 @@
// million-ignore
const Logo = () => {
return (
<svg

View File

@@ -8,6 +8,7 @@ import { splitVendorChunkPlugin } from 'vite';
import { defineConfig } from 'vite';
import packageJson from './package.json';
import * as child from 'child_process';
import million from 'million/compiler';
let branchName;
let commitHash;
@@ -63,17 +64,20 @@ export default defineConfig({
laravel('resources/scripts/index.tsx'),
manifestSRI(),
splitVendorChunkPlugin(),
react({
plugins: [
[
'@swc/plugin-styled-components',
{
pure: true,
namespace: 'pyrodactyl',
},
[
million.vite({ auto: true }),
react({
plugins: [
[
'@swc/plugin-styled-components',
{
pure: true,
namespace: 'pyrodactyl',
},
],
],
],
}),
}),
],
sentryVitePlugin({
org: 'pyrohost',
project: 'pyrodactyl-panel',