Share .env file with the NodeJS build script.

This commit is contained in:
flash 2025-04-11 18:02:38 +00:00
parent 35dce01323
commit 99e3e3111a
Signed by: flash
GPG key ID: 2C9C2C574D47FE3E
7 changed files with 88 additions and 84 deletions

View file

@ -1,3 +1,7 @@
# Enable debug mode
# Useful for debugging
MSZ_DEBUG=1
# Database connection setting
# This uses the Index library's DSN syntax
# Currently Misuzu only supports MariaDB, or Null of course since that does nothing

View file

@ -3,21 +3,13 @@ const { join: pathJoin } = require('path');
const fs = require('fs');
(async () => {
const isDebug = fs.existsSync(pathJoin(__dirname, '.debug'));
const env = {
root: __dirname,
source: pathJoin(__dirname, 'assets'),
public: pathJoin(__dirname, 'public'),
debug: isDebug,
swc: {
es: 'es2021',
jsx: '$element',
jsxf: '$fragment',
},
housekeep: [
pathJoin(__dirname, 'public', 'assets'),
],
debug: !!process.env.MSZ_DEBUG,
swc: { es: 'es2021' },
housekeep: [ pathJoin(__dirname, 'public', 'assets') ],
};
const tasks = {
@ -51,5 +43,8 @@ const fs = require('fs');
const files = await assproc.process(env, tasks);
fs.writeFileSync(pathJoin(__dirname, 'assets/current.json'), JSON.stringify(files));
fs.writeFileSync(
pathJoin(__dirname, 'assets/current.json'),
JSON.stringify(files),
);
})();

6
composer.lock generated
View file

@ -501,11 +501,11 @@
},
{
"name": "flashwave/index",
"version": "v0.2504.31541",
"version": "v0.2504.51944",
"source": {
"type": "git",
"url": "https://patchii.net/flash/index.git",
"reference": "c2bcb0611bee08a9a21930b92c96cc85304562b6"
"reference": "5c3d4c90724ed45df09c8665571a84eb44c9288c"
},
"require": {
"ext-mbstring": "*",
@ -554,7 +554,7 @@
],
"description": "Composer package for the common library for my projects.",
"homepage": "https://railgun.sh/index",
"time": "2025-04-03T15:42:01+00:00"
"time": "2025-04-05T19:44:44+00:00"
},
{
"name": "graham-campbell/result-type",

View file

@ -14,8 +14,9 @@ $msz = (function() {
try {
\Dotenv\Dotenv::createImmutable(Misuzu::PATH_ROOT)->load();
if(!empty($_ENV['SENTRY_DSN']))
\Sentry\init(['dsn' => $_ENV['SENTRY_DSN']]);
$sentry = Misuzu::env('SENTRY_DSN');
if(!empty($sentry))
\Sentry\init(['dsn' => $sentry]);
$whoops = new \Whoops\Run;
if(Misuzu::cli())
@ -29,11 +30,11 @@ $msz = (function() {
return new MisuzuContext(
$timings,
$_ENV['DATABASE_DSN'] ?? 'null:',
$_ENV['DOMAIN_ROLES'] ?? 'localhost=main,redirect,storage',
$_ENV['STORAGE_PATH_LOCAL'] ?? Misuzu::PATH_STORAGE,
$_ENV['STORAGE_PATH_REMOTE'] ?? '/_storage',
$_ENV['TEMPLATE_CACHE'] ?? '',
Misuzu::env('DATABASE_DSN', 'null:'),
Misuzu::env('DOMAIN_ROLES', 'localhost=main,redirect,storage'),
Misuzu::env('STORAGE_PATH_LOCAL', Misuzu::PATH_STORAGE),
Misuzu::env('STORAGE_PATH_REMOTE', '/_storage'),
Misuzu::env('TEMPLATE_CACHE', ''),
);
} finally {
$timings->lap('startup');

114
package-lock.json generated
View file

@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"@railcomm/assproc": "^1.1.0"
"@railcomm/assproc": "^1.2.1"
}
},
"node_modules/@jridgewell/gen-mapping": {
@ -67,22 +67,22 @@
}
},
"node_modules/@railcomm/assproc": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@railcomm/assproc/-/assproc-1.1.0.tgz",
"integrity": "sha512-i5dcFv4XtUsJTAT7PB/rqzN3sPnMYOOFvyRyTt6xlfM/+AFhYXHxbhtcq80UsIBpuWDADXctjZ1Qk9x3AYI96A==",
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@railcomm/assproc/-/assproc-1.2.1.tgz",
"integrity": "sha512-eUYOsgfnOqY5O5J9qmkgjS07CMFodM7s/h5EFZUWuZZkH2voqtaJG0DYVi0ThsNiPBDnthGfMuX9pSB84uqP/w==",
"license": "BSD-3-Clause",
"dependencies": {
"@swc/core": "^1.10.17",
"autoprefixer": "^10.4.20",
"@swc/core": "^1.11.20",
"autoprefixer": "^10.4.21",
"cssnano": "^7.0.6",
"html-minifier-terser": "^7.2.0",
"postcss": "^8.5.2"
"postcss": "^8.5.3"
}
},
"node_modules/@swc/core": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.16.tgz",
"integrity": "sha512-wgjrJqVUss8Lxqilg0vkiE0tkEKU3mZkoybQM1Ehy+PKWwwB6lFAwKi20cAEFlSSWo8jFR8hRo19ZELAoLDowg==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.20.tgz",
"integrity": "sha512-2F0+bQs7+pwbudsxRffLdfpGCQX4Ih5k88f7LqTfj2oC7aTrv7FssduOvcAvfVY/InZmyYEblKl1rqg8bvzrZQ==",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
@ -97,19 +97,19 @@
"url": "https://opencollective.com/swc"
},
"optionalDependencies": {
"@swc/core-darwin-arm64": "1.11.16",
"@swc/core-darwin-x64": "1.11.16",
"@swc/core-linux-arm-gnueabihf": "1.11.16",
"@swc/core-linux-arm64-gnu": "1.11.16",
"@swc/core-linux-arm64-musl": "1.11.16",
"@swc/core-linux-x64-gnu": "1.11.16",
"@swc/core-linux-x64-musl": "1.11.16",
"@swc/core-win32-arm64-msvc": "1.11.16",
"@swc/core-win32-ia32-msvc": "1.11.16",
"@swc/core-win32-x64-msvc": "1.11.16"
"@swc/core-darwin-arm64": "1.11.20",
"@swc/core-darwin-x64": "1.11.20",
"@swc/core-linux-arm-gnueabihf": "1.11.20",
"@swc/core-linux-arm64-gnu": "1.11.20",
"@swc/core-linux-arm64-musl": "1.11.20",
"@swc/core-linux-x64-gnu": "1.11.20",
"@swc/core-linux-x64-musl": "1.11.20",
"@swc/core-win32-arm64-msvc": "1.11.20",
"@swc/core-win32-ia32-msvc": "1.11.20",
"@swc/core-win32-x64-msvc": "1.11.20"
},
"peerDependencies": {
"@swc/helpers": "*"
"@swc/helpers": ">=0.5.17"
},
"peerDependenciesMeta": {
"@swc/helpers": {
@ -118,9 +118,9 @@
}
},
"node_modules/@swc/core-darwin-arm64": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.16.tgz",
"integrity": "sha512-l6uWMU+MUdfLHCl3dJgtVEdsUHPskoA4BSu0L1hh9SGBwPZ8xeOz8iLIqZM27lTuXxL4KsYH6GQR/OdQ/vhLtg==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.20.tgz",
"integrity": "sha512-Sc06h6pwMhQagU7vz92b7wwQTIibTiqRE4y/XjkvurSbjSarrtSZR4OKkrdNwUkSy1HlQE4NhKQf7tmLeQ7PhQ==",
"cpu": [
"arm64"
],
@ -134,9 +134,9 @@
}
},
"node_modules/@swc/core-darwin-x64": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.16.tgz",
"integrity": "sha512-TH0IW8Ao1WZ4ARFHIh29dAQHYBEl4YnP74n++rjppmlCjY+8v3s5nXMA7IqxO3b5LVHyggWtU4+46DXTyMJM7g==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.20.tgz",
"integrity": "sha512-kHANJrgbqaGzUyTectNfLyhnHAeDGGVSRXYyPVAx6x0nuLOnRhKbuSyZY42UEN1IgHauaADCzcd+HiiMv/rgRw==",
"cpu": [
"x64"
],
@ -150,9 +150,9 @@
}
},
"node_modules/@swc/core-linux-arm-gnueabihf": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.16.tgz",
"integrity": "sha512-2IxD9t09oNZrbv37p4cJ9cTHMUAK6qNiShi9s2FJ9LcqSnZSN4iS4hvaaX6KZuG54d58vWnMU7yycjkdOTQcMg==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.20.tgz",
"integrity": "sha512-FXllEBeAwU6FNIZzo+u1LmHGaHzwAKzz7tWRkUOqBKjKr20Ot4KGS3xlz2qgV2NESFHAisdHja2P2rcQWqtZRg==",
"cpu": [
"arm"
],
@ -166,9 +166,9 @@
}
},
"node_modules/@swc/core-linux-arm64-gnu": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.16.tgz",
"integrity": "sha512-AYkN23DOiPh1bf3XBf/xzZQDKSsgZTxlbyTyUIhprLJpAAAT0ZCGAUcS5mHqydk0nWQ13ABUymodvHoroutNzw==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.20.tgz",
"integrity": "sha512-OsYMFyJzUM0K8a97tu6KxZaCob3vr+UknVqHO09QwechX+rdX4euWm7Lte4d1B+7SBfokhw7ghLZsNTQfRw9pA==",
"cpu": [
"arm64"
],
@ -182,9 +182,9 @@
}
},
"node_modules/@swc/core-linux-arm64-musl": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.16.tgz",
"integrity": "sha512-n/nWXDRCIhM51dDGELfBcTMNnCiFatE7LDvsbYxb7DJt1HGjaCNvHHCKURb/apJTh/YNtWfgFap9dbsTgw8yPA==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.20.tgz",
"integrity": "sha512-fbSWOQ5ZZ7sWodoC6GnzV9RhbImdxoH8b14K1tnHCWJXolzTH40/4JKf/koJ3r24nm1PtsqX9OUxRsOXYAy5dg==",
"cpu": [
"arm64"
],
@ -198,9 +198,9 @@
}
},
"node_modules/@swc/core-linux-x64-gnu": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.16.tgz",
"integrity": "sha512-xr182YQrF47n7Awxj+/ruI21bYw+xO/B26KFVnb+i3ezF9NOhqoqTX+33RL1ZLA/uFTq8ksPZO/y+ZVS/odtQA==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.20.tgz",
"integrity": "sha512-OFU53idbY8KA1RkNzZBi0FpoRPSn/anv4N7ZzGZGk664UoFwMbSL+XHGocJzhV9G/VNGH7bMBmgoVWk72nn5hw==",
"cpu": [
"x64"
],
@ -214,9 +214,9 @@
}
},
"node_modules/@swc/core-linux-x64-musl": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.16.tgz",
"integrity": "sha512-k2JBfiwWfXCIKrBRjFO9/vEdLSYq0QLJ+iNSLdfrejZ/aENNkbEg8O7O2GKUSb30RBacn6k8HMfJrcPLFiEyCQ==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.20.tgz",
"integrity": "sha512-GZbqXEc09nIarkGMXc2P4Hf2ONb1vre22X7Se9CCeU/QtWYRU/H1a2TFnYgBKzNVOH65Dd/XYXcuy+tM1aw1iw==",
"cpu": [
"x64"
],
@ -230,9 +230,9 @@
}
},
"node_modules/@swc/core-win32-arm64-msvc": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.16.tgz",
"integrity": "sha512-taOb5U+abyEhQgex+hr6cI48BoqSvSdfmdirWcxprIEUBHCxa1dSriVwnJRAJOFI9T+5BEz88by6rgbB9MjbHA==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.20.tgz",
"integrity": "sha512-i0H2MeK8krEd/YeiGz0GHtNL9wSGfAPXiouh8aRNV/u+w4vPaaRqnXwv/yzAW+D2vPpKJBhOwmNFFzdgTJ5mWw==",
"cpu": [
"arm64"
],
@ -246,9 +246,9 @@
}
},
"node_modules/@swc/core-win32-ia32-msvc": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.16.tgz",
"integrity": "sha512-b7yYggM9LBDiMY+XUt5kYWvs5sn0U3PXSOGvF3CbLufD/N/YQiDcYON2N3lrWHYL8aYnwbuZl45ojmQHSQPcdA==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.20.tgz",
"integrity": "sha512-/7e3X7EGO8uOvAUP+YKJTdoR2JR5vdiewDOnDS9FFXj8yr9x6/oDFLd92Sp9NglF+aXuqAo33IfH2OTz1MR+Ww==",
"cpu": [
"ia32"
],
@ -262,9 +262,9 @@
}
},
"node_modules/@swc/core-win32-x64-msvc": {
"version": "1.11.16",
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.16.tgz",
"integrity": "sha512-/ibq/YDc3B5AROkpOKPGxVkSyCKOg+ml8k11RxrW7FAPy6a9y5y9KPcWIqV74Ahq4RuaMNslTQqHWAGSm0xJsQ==",
"version": "1.11.20",
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.20.tgz",
"integrity": "sha512-rcZpt5uiVNTs/Se+CYBoaDphafFJcsqXo3DNmfkJZoDZUb4PZqxu61p4Qa+lvFDQlRragrlLRpGQM9qnLNd4iQ==",
"cpu": [
"x64"
],
@ -417,9 +417,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001709",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001709.tgz",
"integrity": "sha512-NgL3vUTnDrPCZ3zTahp4fsugQ4dc7EKTSzwQDPEel6DMoMnfH2jhry9n2Zm8onbSR+f/QtKHFOA+iAQu4kbtWA==",
"version": "1.0.30001713",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz",
"integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==",
"funding": [
{
"type": "opencollective",
@ -703,9 +703,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.130",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.130.tgz",
"integrity": "sha512-Ou2u7L9j2XLZbhqzyX0jWDj6gA8D3jIfVzt4rikLf3cGBa0VdReuFimBKS9tQJA4+XpeCxj1NoWlfBXzbMa9IA==",
"version": "1.5.136",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.136.tgz",
"integrity": "sha512-kL4+wUTD7RSA5FHx5YwWtjDnEEkIIikFgWHR4P6fqjw1PPLlqYkxeOb++wAauAssat0YClCy8Y3C5SxgSkjibQ==",
"license": "ISC"
},
"node_modules/entities": {

View file

@ -1,5 +1,5 @@
{
"dependencies": {
"@railcomm/assproc": "^1.1.0"
"@railcomm/assproc": "^1.2.1"
}
}

View file

@ -41,11 +41,15 @@ final class Misuzu {
return sprintf('%s/%s', __NAMESPACE__, self::version());
}
public static function debug(): bool {
return !empty(ini_get('display_errors'));
}
public static function cli(): bool {
return php_sapi_name() === 'cli';
}
public static function env(string $name, ?string $default = null): ?string {
return $_ENV[$name] ?? $_SERVER[$name] ?? $default;
}
public static function debug(): bool {
return !empty(self::env('MSZ_DEBUG'));
}
}