Removed preprocessor, added statoscope plugin

This commit is contained in:
Kawanaao 2023-12-07 11:51:06 +02:00
parent 5acaded613
commit 62adb609f2
No known key found for this signature in database
GPG key ID: 5B7A8DDCE861E7DC
8 changed files with 560 additions and 93 deletions

View file

@ -6,7 +6,6 @@ import * as _market from './market';
import * as _constellation from './constellation';
import * as _metrics from './metrics';
/// #if ENV == "demo"
import * as authDemo from './authentication.demo';
import * as usersDemo from './users.demo';
import * as configDemo from './config.demo';
@ -15,7 +14,6 @@ import * as indexDemo from './index.demo';
import * as marketDemo from './market.demo';
import * as constellationDemo from './constellation.demo';
import * as metricsDemo from './metrics.demo';
/// #endif
import wrap from './wrap';
import { redirectToLocal } from '../utils/indexs';
@ -218,21 +216,21 @@ let market = _market;
let constellation = _constellation;
let metrics = _metrics;
/// #if ENV == "demo"
auth = authDemo;
users = usersDemo;
config = configDemo;
docker = dockerDemo;
market = marketDemo;
getStatus = indexDemo.getStatus;
newInstall = indexDemo.newInstall;
isOnline = indexDemo.isOnline;
checkHost = indexDemo.checkHost;
getDNS = indexDemo.getDNS;
uploadImage = indexDemo.uploadImage;
constellation = constellationDemo;
metrics = metricsDemo;
/// #endif
if(process.env.MODE === 'demo') {
auth = authDemo;
users = usersDemo;
config = configDemo;
docker = dockerDemo;
market = marketDemo;
getStatus = indexDemo.getStatus;
newInstall = indexDemo.newInstall;
isOnline = indexDemo.isOnline;
checkHost = indexDemo.checkHost;
getDNS = indexDemo.getDNS;
uploadImage = indexDemo.uploadImage;
constellation = constellationDemo;
metrics = metricsDemo;
}
export {

View file

@ -1,18 +1,15 @@
import { useCookies } from 'react-cookie';
import { logout } from '../api/authentication';
const isDemo = process.env.MODE === 'demo';
function useClientInfos() {
const [cookies] = useCookies(['client-infos']);
/// #if ENV == "demo"
const demoReturn = {
if(isDemo) return {
nickname: "Demo",
role: "2"
}
if (demoReturn)
return demoReturn
/// #endif
};
let clientInfos = null;

View file

@ -8,9 +8,7 @@ import { debounce, isDomain } from './indexs';
import * as API from '../api';
import { useEffect, useState } from 'react';
/// #if ENV == "demo"
import demoicons from './icons.demo.json';
/// #endif
export const sanitizeRoute = (_route) => {
let route = { ..._route };
@ -56,12 +54,8 @@ export const getFullOrigin = (route) => {
}
export const getFaviconURL = (route) => {
/// #if ENV == "demo"
const demoReturn = route.Mode == "STATIC" ? Folder : demoicons[route.Name] || logogray;
if (demoReturn)
return demoReturn;
/// #endif
if (process.env.MODE === 'demo')
return route.Mode == "STATIC" ? Folder : demoicons[route.Name] || logogray;
if (!route) {
return logogray;

View file

@ -30,7 +30,7 @@ COPY package-lock.json ./
RUN npm install
COPY . .
RUN npm run client-build && \
RUN npm run webpack:build && \
chmod +x build.sh && \
./build.sh && \
rm -rf /usr/local/go \

558
package-lock.json generated
View file

@ -64,6 +64,7 @@
"@babel/preset-flow": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"@babel/preset-typescript": "^7.23.3",
"@statoscope/webpack-plugin": "^5.28.2",
"@swc/core": "^1.3.100",
"@testing-library/jest-dom": "^6.1.5",
"@testing-library/react": "^14.1.2",
@ -79,6 +80,7 @@
"babel-plugin-import": "^1.13.8",
"babel-plugin-transform-runtime": "^6.23.0",
"buffer": "^6.0.3",
"concurrently": "^8.2.2",
"cross-env": "^7.0.3",
"cross-var": "^1.1.0",
"crypto-browserify": "^3.12.0",
@ -87,7 +89,6 @@
"file-loader": "^6.2.0",
"html-loader": "^4.2.0",
"html-webpack-plugin": "^5.5.3",
"ifdef-loader": "^2.3.2",
"image-minimizer-webpack-plugin": "^3.8.3",
"imagemin": "^8.0.1",
"imagemin-gifsicle": "^7.0.0",
@ -105,6 +106,7 @@
"stream-browserify": "^3.0.0",
"style-loader": "^3.3.3",
"svgo": "^3.0.5",
"uglify-js": "^3.17.4",
"util": "^0.12.5",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.10.1",
@ -2127,6 +2129,15 @@
"node": ">=10.0.0"
}
},
"node_modules/@discoveryjs/natural-compare": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@discoveryjs/natural-compare/-/natural-compare-1.1.0.tgz",
"integrity": "sha512-yuctPJs5lRXoI8LkpVZGAV6n+DKOuEsfpfcIDQ8ZjWHwazqk1QjBc4jMlof0UlZHyUqv4dwsOTooMiAmtzvwXA==",
"dev": true,
"engines": {
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
"node_modules/@emotion/babel-plugin": {
"version": "11.11.0",
"resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
@ -2947,6 +2958,233 @@
"node": ">=4"
}
},
"node_modules/@statoscope/extensions": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/extensions/-/extensions-5.28.1.tgz",
"integrity": "sha512-jxkHSNfr7KJOfxlueCtahv1LqscTALLkcGSrYCU71C4tR9GVYoVCUMOrhAFJr6ia+GlPhSaxOSk/j+Ay+ZN9vg==",
"dev": true
},
"node_modules/@statoscope/helpers": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/helpers/-/helpers-5.28.1.tgz",
"integrity": "sha512-G+o+wCYsuc8+0OdY+kyrTOzm5A6X3yp8ArGTWjr9TCllqDk4LzBlHBmWo7z4SPigjNeY/i38sqi1PeWztW+rWA==",
"dev": true,
"dependencies": {
"@types/archy": "^0.0.32",
"@types/semver": "^7.5.1",
"archy": "~1.0.0",
"jora": "1.0.0-beta.8",
"semver": "^7.5.4"
}
},
"node_modules/@statoscope/helpers/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@statoscope/helpers/node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@statoscope/helpers/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@statoscope/report-writer": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/report-writer/-/report-writer-5.28.1.tgz",
"integrity": "sha512-BjZVdZa7XWkK+zUnFLFWp8yNgmis0DTaPiy/QyU56iWuW+DcF/un1wkvt8ha0jxlXRDbBOfezAztdLNx4U5mxw==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.7",
"@types/node": "^18.0.0",
"@types/pako": "^2.0.0",
"pako": "^2.1.0"
}
},
"node_modules/@statoscope/report-writer/node_modules/@types/node": {
"version": "18.19.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.3.tgz",
"integrity": "sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@statoscope/stats": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/stats/-/stats-5.28.1.tgz",
"integrity": "sha512-BB9IZQcBo9I0FFL5sHttF5ubhfE3HkbDMPw5MqEBCee7m6NrlrRe8dxLpPsCUkeFytTWjRLKrY1JOgQq/iE4Fg==",
"dev": true
},
"node_modules/@statoscope/stats-extension-compressed": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/stats-extension-compressed/-/stats-extension-compressed-5.28.1.tgz",
"integrity": "sha512-tmmKbQwibSaRpWv+p8Tb7BxhMNuSGS28NJeN1t2byzakz/FLCzvkT9tj/aBxfQqEIOGusmN+8znz6XSmJ0cbew==",
"dev": true,
"dependencies": {
"@statoscope/extensions": "5.28.1",
"@statoscope/helpers": "5.28.1",
"@statoscope/stats": "5.28.1",
"gzip-size": "^6.0.0"
}
},
"node_modules/@statoscope/stats-extension-custom-reports": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/stats-extension-custom-reports/-/stats-extension-custom-reports-5.28.1.tgz",
"integrity": "sha512-f527f6bjl+6iJow+zQFw+hZxGR2hY/FIuFTxhrcbrDXqXu7ApK0e0azJJxAQs0eO1WPMSduXt2k/5kSFecC/kA==",
"dev": true,
"dependencies": {
"@statoscope/extensions": "5.28.1",
"@statoscope/helpers": "5.28.1",
"@statoscope/stats": "5.28.1",
"@statoscope/types": "5.28.1"
}
},
"node_modules/@statoscope/stats-extension-package-info": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/stats-extension-package-info/-/stats-extension-package-info-5.28.1.tgz",
"integrity": "sha512-HvwlMfFVSx91KmwUmeIcJZS/0rVbNTRvMEBHzPsZ1Y5BIqZlH/bk/HK8nWYjptUaNkpmcxewp5xO9FtpMaSNVA==",
"dev": true,
"dependencies": {
"@statoscope/extensions": "5.28.1",
"@statoscope/helpers": "5.28.1",
"@statoscope/stats": "5.28.1"
}
},
"node_modules/@statoscope/stats-extension-stats-validation-result": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/stats-extension-stats-validation-result/-/stats-extension-stats-validation-result-5.28.1.tgz",
"integrity": "sha512-vekMnWXVikWo2c4IzmjqKkHGxBTE9RNpTxnD5t5qGz2wx3IHuosV8kp4yaUlD/Atv8C+aLoF0Jg0Q4eB7IYWEA==",
"dev": true,
"dependencies": {
"@statoscope/extensions": "5.28.1",
"@statoscope/helpers": "5.28.1",
"@statoscope/stats": "5.28.1",
"@statoscope/types": "5.28.1"
}
},
"node_modules/@statoscope/types": {
"version": "5.28.1",
"resolved": "https://registry.npmjs.org/@statoscope/types/-/types-5.28.1.tgz",
"integrity": "sha512-PLcSaRQvGkKhjVLU3YbjFDfZN6H2WF0vp0QqQOOh6qvxRhlOc14ckyou04bnvEqsSWXpvkMPJhOLue+YdIFI9A==",
"dev": true,
"dependencies": {
"@statoscope/stats": "5.28.1"
}
},
"node_modules/@statoscope/webpack-model": {
"version": "5.28.2",
"resolved": "https://registry.npmjs.org/@statoscope/webpack-model/-/webpack-model-5.28.2.tgz",
"integrity": "sha512-q+AVtXBNyRRDh4prEfVVsZKdrgn0GFb5P3xIwFFvf832I/Tk9rn/fMk9v0+PqwXRYl6vxfrKHqrA8lJiRLh/6Q==",
"dev": true,
"dependencies": {
"@statoscope/extensions": "5.28.1",
"@statoscope/helpers": "5.28.1",
"@statoscope/stats": "5.28.1",
"@statoscope/stats-extension-compressed": "5.28.1",
"@statoscope/stats-extension-custom-reports": "5.28.1",
"@statoscope/stats-extension-package-info": "5.28.1",
"@statoscope/stats-extension-stats-validation-result": "5.28.1",
"@statoscope/types": "5.28.1",
"@types/md5": "^2.3.2",
"@types/webpack": "^5.0.0",
"md5": "^2.3.0"
}
},
"node_modules/@statoscope/webpack-plugin": {
"version": "5.28.2",
"resolved": "https://registry.npmjs.org/@statoscope/webpack-plugin/-/webpack-plugin-5.28.2.tgz",
"integrity": "sha512-vFzZw/THVtLeat7+LYbhJhbNYBmHODXiPa1fiqsNQtmNexOTxa9SujrvMkqiVYCKX1elUHVm/UE1JGDmQIcuAA==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.7",
"@statoscope/report-writer": "5.28.1",
"@statoscope/stats": "5.28.1",
"@statoscope/stats-extension-compressed": "5.28.1",
"@statoscope/stats-extension-custom-reports": "5.28.1",
"@statoscope/types": "5.28.1",
"@statoscope/webpack-model": "5.28.2",
"@statoscope/webpack-stats-extension-compressed": "5.28.2",
"@statoscope/webpack-stats-extension-package-info": "5.28.2",
"@statoscope/webpack-ui": "5.28.2",
"@types/node": "^18.0.0",
"@types/webpack": "^5.0.0",
"open": "~8.4.0"
},
"peerDependencies": {
"webpack": "^4.0.0 || ^5.0.0"
}
},
"node_modules/@statoscope/webpack-plugin/node_modules/@types/node": {
"version": "18.19.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.3.tgz",
"integrity": "sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@statoscope/webpack-stats-extension-compressed": {
"version": "5.28.2",
"resolved": "https://registry.npmjs.org/@statoscope/webpack-stats-extension-compressed/-/webpack-stats-extension-compressed-5.28.2.tgz",
"integrity": "sha512-8rdt6AHx3H28NIdhEXuQLAz5MAKibZA7+h3/YRJYKjvYAfFi6QlJB1hvoulAPmQlV3bIUKVrk5peHxpKQATQFw==",
"dev": true,
"dependencies": {
"@statoscope/stats": "5.28.1",
"@statoscope/stats-extension-compressed": "5.28.1",
"@statoscope/webpack-model": "5.28.2",
"@types/webpack": "^5.0.0"
},
"peerDependencies": {
"webpack": "^4.0.0 || ^5.0.0"
}
},
"node_modules/@statoscope/webpack-stats-extension-package-info": {
"version": "5.28.2",
"resolved": "https://registry.npmjs.org/@statoscope/webpack-stats-extension-package-info/-/webpack-stats-extension-package-info-5.28.2.tgz",
"integrity": "sha512-+pKCnkNp0vGqCTtILHTD5/hBM0wdx8uZBGjFREGNcIMGpeoJM3FbsLMOiS0gFfeJrmL6ZpdhdVzSa58gN6db8A==",
"dev": true,
"dependencies": {
"@statoscope/stats": "5.28.1",
"@statoscope/stats-extension-package-info": "5.28.1",
"@statoscope/webpack-model": "5.28.2",
"@types/webpack": "^5.0.0"
},
"peerDependencies": {
"webpack": "^4.0.0 || ^5.0.0"
}
},
"node_modules/@statoscope/webpack-ui": {
"version": "5.28.2",
"resolved": "https://registry.npmjs.org/@statoscope/webpack-ui/-/webpack-ui-5.28.2.tgz",
"integrity": "sha512-jQ9/CXsSD2FPFQHt7ZJgil8JsukFLTRfIclONyC9R2vomdb2FwHzak6/fEqKYjT2bsDWoWJPL0ieM4Kog6I0Nw==",
"dev": true,
"dependencies": {
"@statoscope/types": "5.28.1",
"@types/md5": "^2.3.2"
}
},
"node_modules/@swc/core": {
"version": "1.3.100",
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.100.tgz",
@ -3370,6 +3608,12 @@
"node": ">=10.13.0"
}
},
"node_modules/@types/archy": {
"version": "0.0.32",
"resolved": "https://registry.npmjs.org/@types/archy/-/archy-0.0.32.tgz",
"integrity": "sha512-5ZZ5+YGmUE01yejiXsKnTcvhakMZ2UllZlMsQni53Doc1JWhe21ia8VntRoRD6fAEWw08JBh/z9qQHJ+//MrIg==",
"dev": true
},
"node_modules/@types/aria-query": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
@ -3577,6 +3821,12 @@
"@types/lodash": "*"
}
},
"node_modules/@types/md5": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.5.tgz",
"integrity": "sha512-/i42wjYNgE6wf0j2bcTX6kuowmdL/6PE4IVitMpm2eYKBUuYCprdcWVK+xEF0gcV6ufMCRhtxmReGfc6hIK7Jw==",
"dev": true
},
"node_modules/@types/mime": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
@ -3601,6 +3851,12 @@
"@types/node": "*"
}
},
"node_modules/@types/pako": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.3.tgz",
"integrity": "sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==",
"dev": true
},
"node_modules/@types/parse-json": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
@ -3680,6 +3936,12 @@
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A=="
},
"node_modules/@types/semver": {
"version": "7.5.6",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
"integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
"dev": true
},
"node_modules/@types/send": {
"version": "0.17.4",
"resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
@ -3735,6 +3997,17 @@
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"node_modules/@types/webpack": {
"version": "5.28.5",
"resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.5.tgz",
"integrity": "sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==",
"dev": true,
"dependencies": {
"@types/node": "*",
"tapable": "^2.2.0",
"webpack": "^5"
}
},
"node_modules/@types/webpack-bundle-analyzer": {
"version": "4.6.3",
"resolved": "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.3.tgz",
@ -4182,6 +4455,12 @@
"node": ">=4"
}
},
"node_modules/archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
"dev": true
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@ -6402,6 +6681,15 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/charenc": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@ -6667,6 +6955,159 @@
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
"node_modules/concurrently": {
"version": "8.2.2",
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz",
"integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==",
"dev": true,
"dependencies": {
"chalk": "^4.1.2",
"date-fns": "^2.30.0",
"lodash": "^4.17.21",
"rxjs": "^7.8.1",
"shell-quote": "^1.8.1",
"spawn-command": "0.0.2",
"supports-color": "^8.1.1",
"tree-kill": "^1.2.2",
"yargs": "^17.7.2"
},
"bin": {
"conc": "dist/bin/concurrently.js",
"concurrently": "dist/bin/concurrently.js"
},
"engines": {
"node": "^14.13.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
}
},
"node_modules/concurrently/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/concurrently/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/concurrently/node_modules/chalk/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/concurrently/node_modules/cliui": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
"integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.1",
"wrap-ansi": "^7.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/concurrently/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/concurrently/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"node_modules/concurrently/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/concurrently/node_modules/supports-color": {
"version": "8.1.1",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
"node_modules/concurrently/node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
"integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dev": true,
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
"yargs-parser": "^21.1.1"
},
"engines": {
"node": ">=12"
}
},
"node_modules/concurrently/node_modules/yargs-parser": {
"version": "21.1.1",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
"dev": true,
"engines": {
"node": ">=12"
}
},
"node_modules/config-chain": {
"version": "1.1.13",
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
@ -6971,6 +7412,15 @@
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
"dev": true
},
"node_modules/crypt": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
"dev": true,
"engines": {
"node": "*"
}
},
"node_modules/crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
@ -9885,41 +10335,6 @@
}
]
},
"node_modules/ifdef-loader": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/ifdef-loader/-/ifdef-loader-2.3.2.tgz",
"integrity": "sha512-kH9bHPrfIFxLpq3XEruJqSlHXch2nOljKIDRS/6MU5LDZTyHeaSWVf04wNYX+8RT+NDmeS8Vm5HwZ7akkXo8ig==",
"dev": true,
"dependencies": {
"loader-utils": "^1.1.0"
}
},
"node_modules/ifdef-loader/node_modules/json5": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0"
},
"bin": {
"json5": "lib/cli.js"
}
},
"node_modules/ifdef-loader/node_modules/loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
},
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/ignore": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
@ -10494,6 +10909,12 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"node_modules/is-callable": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@ -11051,6 +11472,18 @@
"integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==",
"dev": true
},
"node_modules/jora": {
"version": "1.0.0-beta.8",
"resolved": "https://registry.npmjs.org/jora/-/jora-1.0.0-beta.8.tgz",
"integrity": "sha512-f3WpYwfDTlhfSdyCkAlAXSKRpwZYBgCDnyWmA9D0yyItCTFnFefKtvFpaczrj/FItkgDkHiewgFuHsgh4TmokA==",
"dev": true,
"dependencies": {
"@discoveryjs/natural-compare": "^1.0.0"
},
"engines": {
"node": "^10.12.0 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
},
"node_modules/jpegtran-bin": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-5.0.2.tgz",
@ -11650,6 +12083,17 @@
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
"integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
},
"node_modules/md5": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"dev": true,
"dependencies": {
"charenc": "0.0.2",
"crypt": "0.0.2",
"is-buffer": "~1.1.6"
}
},
"node_modules/md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@ -12556,6 +13000,12 @@
"node": ">=6"
}
},
"node_modules/pako": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
"dev": true
},
"node_modules/param-case": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
@ -14567,6 +15017,15 @@
"queue-microtask": "^1.2.2"
}
},
"node_modules/rxjs": {
"version": "7.8.1",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
"dev": true,
"dependencies": {
"tslib": "^2.1.0"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@ -15171,6 +15630,12 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/spawn-command": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz",
"integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==",
"dev": true
},
"node_modules/spdx-correct": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
@ -16073,6 +16538,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/tree-kill": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
"integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true,
"bin": {
"tree-kill": "cli.js"
}
},
"node_modules/trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@ -16171,6 +16645,18 @@
"node": "*"
}
},
"node_modules/uglify-js": {
"version": "3.17.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz",
"integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==",
"dev": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/unbzip2-stream": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",

View file

@ -78,15 +78,15 @@
"terser": "npm:@swc/core"
},
"scripts": {
"webpack:setup-env": "cross-env NODE_ENV=$NODE_ENV production=$npm_config_use_production withReport=$npm_config_with_report analyzeDeps=$npm_config_analyze_deps",
"webpack:setup-env": "cross-env NODE_ENV=$NODE_ENV demo=$npm_config_demo production=$npm_config_use_production withReport=$npm_config_with_report analyzeDeps=$npm_config_analyze_deps",
"webpack:build": "npm run webpack:setup-env -- webpack --config webpack.prod.js --progress",
"webpack:serve": "npm run webpack:setup-env -- webpack serve --config webpack.dev.js --progress",
"backend:build": "sh build.sh",
"backend:start": "env COSMOS_CONFIG_FOLDER=/mnt/e/work/Cosmos-Server/zz_test_config/ CONFIG_FILE=./config_dev.json EZ=UTC ACME_STAGING=true build/cosmos",
"backend:dev": "npm run build && npm run start",
"dockerdevbuild": "docker build -f dockerfile.local --tag cosmos-dev .",
"dockerdevrun": "docker stop cosmos-dev; docker rm cosmos-dev; docker run --cap-add NET_ADMIN -d -p 7200:443 -p 80:80 -p 53:53 -p 443:443 -p 4242:4242/udp -e DOCKER_HOST=tcp://host.docker.internal:2375 -e COSMOS_MONGODB=$MONGODB -e COSMOS_LOG_LEVEL=DEBUG -v /:/mnt/host --restart=unless-stopped -h cosmos-dev --name cosmos-dev cosmos-dev",
"dockerdev": "npm run client-build && npm run dockerdevbuild && npm run dockerdevrun"
"docker:build": "docker build -f dockerfile.local --tag cosmos-dev .",
"docker:start": "docker stop cosmos-dev; docker rm cosmos-dev; docker run --cap-add NET_ADMIN -d -p 7200:443 -p 80:80 -p 53:53 -p 443:443 -p 4242:4242/udp -e DOCKER_HOST=tcp://host.docker.internal:2375 -e COSMOS_MONGODB=$MONGODB -e COSMOS_LOG_LEVEL=DEBUG -v /:/mnt/host --restart=unless-stopped -h cosmos-dev --name cosmos-dev cosmos-dev",
"docker:dev": "concurrently 'npm run webpack:build' 'npm run docker:build' && npm run docker:start"
},
"browserslist": {
"production": [
@ -109,6 +109,7 @@
"@babel/preset-flow": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"@babel/preset-typescript": "^7.23.3",
"@statoscope/webpack-plugin": "^5.28.2",
"@swc/core": "^1.3.100",
"@testing-library/jest-dom": "^6.1.5",
"@testing-library/react": "^14.1.2",
@ -124,6 +125,7 @@
"babel-plugin-import": "^1.13.8",
"babel-plugin-transform-runtime": "^6.23.0",
"buffer": "^6.0.3",
"concurrently": "^8.2.2",
"cross-env": "^7.0.3",
"cross-var": "^1.1.0",
"crypto-browserify": "^3.12.0",
@ -132,7 +134,6 @@
"file-loader": "^6.2.0",
"html-loader": "^4.2.0",
"html-webpack-plugin": "^5.5.3",
"ifdef-loader": "^2.3.2",
"image-minimizer-webpack-plugin": "^3.8.3",
"imagemin": "^8.0.1",
"imagemin-gifsicle": "^7.0.0",
@ -150,6 +151,7 @@
"stream-browserify": "^3.0.0",
"style-loader": "^3.3.3",
"svgo": "^3.0.5",
"uglify-js": "^3.17.4",
"util": "^0.12.5",
"webpack": "^5.89.0",
"webpack-bundle-analyzer": "^4.10.1",

View file

@ -1,9 +1,11 @@
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer")
const { DuplicatesPlugin } = require("inspectpack/plugin")
const { DefinePlugin } = require("webpack")
const { join } = require("path")
const StatoscopeWebpackPlugin = require('@statoscope/webpack-plugin').default
const MiniCssExtractPlugin = require("mini-css-extract-plugin")
const HtmlWebpackPlugin = require("html-webpack-plugin")
const demo = !!process.env.demo
const withReport = !!process.env.withReport
const analyzeDeps = !!process.env.analyzeDeps
@ -20,23 +22,17 @@ module.exports = {
template: "client/index.html",
inject: true,
minify: true
}),
new DefinePlugin({
"process.env.MODE": JSON.stringify(demo ? "demo" : "production")
})
].concat(withReport ? [new BundleAnalyzerPlugin()] : [])
].concat(withReport ? [new StatoscopeWebpackPlugin()] : [])
.concat(analyzeDeps ? [new DuplicatesPlugin({ emitErrors: true, verbose: true })] : []),
module: {
rules: [
{
test: /\.(ts|js|mjs|cjs)x?$/i,
use: [
"babel-loader",
{
loader: "ifdef-loader",
options: {
ENV: process.env.NODE_ENV,
"ifdef-uncomment-prefix": "// #code "
}
},
],
use: ["babel-loader"],
exclude: /node_modules/,
},
{

View file

@ -1,4 +1,3 @@
const { DefinePlugin } = require("webpack")
const { merge } = require("webpack-merge")
const { resolve } = require("path")
const webpackCommon = require("./webpack.common.js")
@ -28,10 +27,5 @@ module.exports = merge(process.env.production ? webpackProd : webpackCommon, {
warnings: true
}
}
},
plugins: [
new DefinePlugin({
"import.meta.env.MODE": JSON.stringify("demo")
})
]
}
})