test
This commit is contained in:
95
.github/workflows/deploy.yml
vendored
Normal file
95
.github/workflows/deploy.yml
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
# 1. 准备工作:配置 GitHub Secrets
|
||||
# 在你的 GitHub 仓库中,进入 Settings -> Secrets and variables -> Actions,添加以下 Repository secrets:
|
||||
# SERVER_HOST: 你的服务器 IP。
|
||||
# SERVER_USER: 服务器用户名(如 root)。
|
||||
# SERVER_SSH_KEY: 你的 SSH 私钥(id_rsa 的内容)。
|
||||
# GLITCHTIP_URL: 你的 GlitchTip 域名(如 https://glitchtip.example.com/)。
|
||||
# GLITCHTIP_ORG: GlitchTip 里的组织 Slug。
|
||||
# GLITCHTIP_PROJECT: GlitchTip 里的项目 Slug。
|
||||
# GLITCHTIP_TOKEN: GlitchTip 的 API Auth Token。
|
||||
# REMOTE_PATH: 服务器部署根路径(如 /www/wwwroot/alert)。
|
||||
|
||||
# 2. 配置 GitHub Actions
|
||||
# 在你的 GitHub 仓库中,进入 Actions -> Workflows,创建一个新的 Workflow 文件,例如 deploy.yml。
|
||||
name: Pro-CI-CD-Pipeline
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*" # 仅当推送 v 开头的 tag 时触发 (例如 v1.1.0)
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# 1. 检出代码
|
||||
- name: Checkout Code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# 2. 安装 pnpm (Node >= 20)
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8 # 或者使用 latest
|
||||
|
||||
- name: Set Up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: "pnpm"
|
||||
|
||||
# 3. 安装依赖并执行打包
|
||||
- name: Install Dependencies and Build
|
||||
run: |
|
||||
pnpm install
|
||||
pnpm run build
|
||||
env:
|
||||
# 注入版本号给 UmiJS (Ant Design Pro)
|
||||
UMI_APP_SENTRY_RELEASE: ${{ github.ref_name }}
|
||||
|
||||
# 4. 上传 SourceMap 到 GlitchTip
|
||||
- name: Upload SourceMaps to GlitchTip
|
||||
uses: getsentry/action-release@v1
|
||||
env:
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.GLITCHTIP_TOKEN }}
|
||||
SENTRY_URL: ${{ secrets.GLITCHTIP_URL }}
|
||||
SENTRY_ORG: ${{ secrets.GLITCHTIP_ORG }}
|
||||
SENTRY_PROJECT: ${{ secrets.GLITCHTIP_PROJECT }}
|
||||
with:
|
||||
version: ${{ github.ref_name }}
|
||||
sourcemaps: "./dist"
|
||||
url_prefix: "~/" # 匹配线上 JS 路径
|
||||
|
||||
# 5. 安全清理:删除本地打包后的 .map 文件
|
||||
- name: Clean SourceMaps
|
||||
run: find dist -name "*.map" -type f -delete
|
||||
|
||||
# 6. 配置 SSH 密钥
|
||||
- name: Install SSH Key
|
||||
uses: shimataro/ssh-key-action@v2
|
||||
with:
|
||||
key: ${{ secrets.SERVER_SSH_KEY }}
|
||||
known_hosts: unnecessary # 第一次连接自动确认
|
||||
if_key_exists: replace
|
||||
|
||||
# 7. 远程原子化部署 (Atomic Deployment)
|
||||
- name: Deploy to Server
|
||||
run: |
|
||||
VERSION=${{ github.ref_name }}
|
||||
REMOTE_BASE=${{ secrets.REMOTE_PATH }}
|
||||
RELEASES_PATH="$REMOTE_BASE/releases/$VERSION"
|
||||
CURRENT_PATH="$REMOTE_BASE/current"
|
||||
|
||||
echo ">>> 正在创建远程目录: $RELEASES_PATH"
|
||||
ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} "mkdir -p $RELEASES_PATH"
|
||||
|
||||
echo ">>> 正在上传打包产物 (rsync)..."
|
||||
# 使用 rsync 同传 dist 目录内容到 releases 下的版本目录
|
||||
rsync -avz --delete ./dist/ ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:$RELEASES_PATH
|
||||
|
||||
echo ">>> 正在更新服务器软链接 (ln -snf)..."
|
||||
# 原子化切换软链接
|
||||
ssh ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} "ln -snf $RELEASES_PATH $CURRENT_PATH"
|
||||
|
||||
- name: Success Notification
|
||||
run: echo "🎉 Version ${{ github.ref_name }} successfully deployed to ${{ secrets.SERVER_HOST }}"
|
||||
@@ -1 +0,0 @@
|
||||
pnpm exec commitlint --edit $1
|
||||
@@ -1 +0,0 @@
|
||||
pnpm exec lint-staged
|
||||
@@ -58,8 +58,7 @@ const config: ConfigType = defineConfig({
|
||||
*/
|
||||
ignoreMomentLocale: true,
|
||||
|
||||
// Only enable sourcemap during the dev stage
|
||||
devtool: isDev ? 'source-map' : false,
|
||||
devtool: process.env.UMI_APP_SENTRY_DSN ? 'source-map' : false,
|
||||
/**
|
||||
* @name Proxy configuration
|
||||
* @description Allows your local server to proxy requests to your backend so you can access server data locally
|
||||
|
||||
167
deploy.js
167
deploy.js
@@ -6,10 +6,11 @@ const path = require('node:path');
|
||||
const CONFIG = {
|
||||
// 1. 开发源码所在的根目录
|
||||
devProjectRoot: path.join(__dirname, './'),
|
||||
// 2. phpStudy 实际运行网站的目录 (目标位置)
|
||||
phpStudyPath: 'D:/phpstudy_pro/WWW/alert',
|
||||
// 2. 实际运行网站的目录 (目标位置)
|
||||
prodProjectPath: 'D:\\phpstudy_pro\\WWW\\alert',
|
||||
|
||||
deployRemote: false,
|
||||
// 需要配置ssh密钥对,否则会提示输入密码
|
||||
remote: {
|
||||
host: '1.2.3.4', // 服务器IP
|
||||
user: 'root', // 用户名
|
||||
@@ -19,8 +20,8 @@ const CONFIG = {
|
||||
|
||||
// 预定义几个常用路径
|
||||
const DEV_DIST = path.join(CONFIG.devProjectRoot, 'dist');
|
||||
const PHPSTUDY_RELEASES = path.join(CONFIG.phpStudyPath, 'releases');
|
||||
const PHPSTUDY_CURRENT = path.join(CONFIG.phpStudyPath, 'current');
|
||||
const PROD_RELEASES = path.join(CONFIG.prodProjectPath, 'releases');
|
||||
const PROD_CURRENT = path.join(CONFIG.prodProjectPath, 'current');
|
||||
|
||||
// 颜色工具
|
||||
const log = {
|
||||
@@ -30,9 +31,68 @@ const log = {
|
||||
error: (msg) => console.log(`\x1b[31m✘ ${msg}\x1b[0m`),
|
||||
};
|
||||
|
||||
async function start() {
|
||||
let version = '';
|
||||
async function main() {
|
||||
// 解析参数: node scripts/deploy.js --rollback v1.0.0
|
||||
const args = process.argv.slice(2);
|
||||
const isStatus = args[0] === '--status' || args[0] === '-s';
|
||||
const isRollback = args[0] === '--rollback' || args[0] === '-r';
|
||||
const targetVersion = isRollback ? args[1] : '';
|
||||
|
||||
if (isStatus) {
|
||||
showStatus();
|
||||
return; // 结束执行
|
||||
}
|
||||
|
||||
if (isRollback) {
|
||||
if (!targetVersion) {
|
||||
log.error(
|
||||
'请指定要切换的版本号,例如: node scripts/deploy.js --rollback v1.0.0',
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
await performRollback(targetVersion);
|
||||
} else {
|
||||
await performFullDeploy();
|
||||
}
|
||||
}
|
||||
|
||||
// --- 【逻辑函数:秒级回退/切换】 ---
|
||||
async function performRollback(version) {
|
||||
log.info(`开始秒级切换至版本: ${version}...`);
|
||||
|
||||
// 1. 检查本地是否存在该版本
|
||||
const localTarget = path.join(PROD_RELEASES, version);
|
||||
if (!fs.existsSync(localTarget)) {
|
||||
log.error(
|
||||
`本地 releases 目录中未找到版本 ${version},请检查路径: ${localTarget}`,
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// 2. 切换本地软链接
|
||||
try {
|
||||
updateLocalLink(localTarget);
|
||||
log.success(`本地 Prod项目 已成功切换至 ${version}`);
|
||||
} catch (e) {
|
||||
log.error(`本地切换失败: ${e.message}`);
|
||||
}
|
||||
|
||||
// 3. 切换远程软链接
|
||||
if (CONFIG.deployRemote) {
|
||||
try {
|
||||
updateRemoteLink(version);
|
||||
log.success(`远程服务器已成功切换至 ${version}`);
|
||||
} catch (e) {
|
||||
log.error(`远程切换失败: ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
log.info('切换任务结束。');
|
||||
}
|
||||
|
||||
// --- 【逻辑函数:全流程发布】 ---
|
||||
async function performFullDeploy() {
|
||||
let version = '';
|
||||
// 1. 获取 Git Tag
|
||||
try {
|
||||
version = execSync('git describe --tags --abbrev=0').toString().trim();
|
||||
@@ -42,6 +102,8 @@ async function start() {
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
log.info(`开始全流程发布版本: ${version}`);
|
||||
|
||||
// 2. 执行编译
|
||||
try {
|
||||
log.info('开始执行构建 (npm run build)...');
|
||||
@@ -71,14 +133,27 @@ async function start() {
|
||||
log.warn('您可以稍后手动补传,部署将继续进行...');
|
||||
}
|
||||
|
||||
// 4. 清理并本地归档
|
||||
// 4. 清理 Map
|
||||
try {
|
||||
log.info('正在清理.map 文件并执行本地归档...');
|
||||
log.info('正在尝试清理 SourceMap...');
|
||||
cleanSourceMaps(DEV_DIST);
|
||||
deployToLocal(version);
|
||||
log.success('本地归档与软链接更新完成');
|
||||
log.success('SourceMap 清理成功');
|
||||
} catch (_e) {
|
||||
log.error(`本地归档失败: ${_e.message}`);
|
||||
log.error(`SourceMap 清理失败: ${_e.message}`);
|
||||
}
|
||||
|
||||
// D. 归档到本地 Prod项目
|
||||
try {
|
||||
const targetDir = path.join(PROD_RELEASES, version);
|
||||
if (fs.existsSync(targetDir))
|
||||
fs.rmSync(targetDir, { recursive: true, force: true });
|
||||
if (!fs.existsSync(PROD_RELEASES))
|
||||
fs.mkdirSync(PROD_RELEASES, { recursive: true });
|
||||
fs.cpSync(DEV_DIST, targetDir, { recursive: true });
|
||||
updateLocalLink(targetDir);
|
||||
log.success('本地部署成功');
|
||||
} catch (e) {
|
||||
log.error(`本地归档失败: ${e.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
@@ -100,43 +175,55 @@ async function start() {
|
||||
log.info(`\n🎉 所有任务执行完毕 [Version: ${version}]`);
|
||||
}
|
||||
|
||||
// --- 逻辑封装函数 ---
|
||||
// --- 新增状态查看函数 ---
|
||||
function showStatus() {
|
||||
log.info('正在查询当前版本状态...');
|
||||
|
||||
function deployToLocal(version) {
|
||||
const targetDir = path.join(PHPSTUDY_RELEASES, version);
|
||||
|
||||
// A. 确保 phpStudy 下的 releases 文件夹存在
|
||||
if (!fs.existsSync(PHPSTUDY_RELEASES)) {
|
||||
fs.mkdirSync(PHPSTUDY_RELEASES, { recursive: true });
|
||||
// 1. 查看本地版本 (Node.js 获取软链接指向的真实路径)
|
||||
if (fs.existsSync(PROD_CURRENT)) {
|
||||
// realpathSync 可以获取软链接指向的真实绝对路径
|
||||
const realPath = fs.realpathSync(PROD_CURRENT);
|
||||
const version = path.basename(realPath);
|
||||
log.success(`本地 Prod 当前版本: ${version}`);
|
||||
log.info(` 路径: ${realPath}`);
|
||||
} else {
|
||||
log.warn('本地尚未创建 current 软链接。');
|
||||
}
|
||||
|
||||
// B. 如果该版本已存在,先删除旧的
|
||||
if (fs.existsSync(targetDir)) {
|
||||
fs.rmSync(targetDir, { recursive: true, force: true });
|
||||
}
|
||||
|
||||
// C. 【关键】将开发目录下的 dist 复制到 phpStudy 对应的版本目录
|
||||
// fs.cpSync 需要 Node.js v16.7.0+
|
||||
try {
|
||||
fs.cpSync(DEV_DIST, targetDir, { recursive: true });
|
||||
log.success(`已将产物复制到: ${targetDir}`);
|
||||
} catch (_e) {
|
||||
throw new Error(`复制产物到 phpStudy 目录失败: ${_e.message}`);
|
||||
}
|
||||
|
||||
// D. 更新 phpStudy 目录下的软链接 (Junction)
|
||||
if (fs.existsSync(PHPSTUDY_CURRENT)) {
|
||||
// 2. 查看远程版本 (通过 SSH 执行 readlink)
|
||||
if (CONFIG.deployRemote) {
|
||||
try {
|
||||
// Windows 下删除目录链接
|
||||
fs.rmSync(PHPSTUDY_CURRENT, { recursive: true, force: true });
|
||||
const { host, user, path: remotePath } = CONFIG.remote;
|
||||
const remoteCurrentLink = `${remotePath}/current`;
|
||||
// readlink -f 可以获取链接指向的完整路径
|
||||
const cmd = `ssh ${user}@${host} "readlink -f ${remoteCurrentLink}"`;
|
||||
const remoteRealPath = execSync(cmd).toString().trim();
|
||||
const remoteVersion = path.basename(remoteRealPath);
|
||||
log.success(`远程服务器当前版本: ${remoteVersion}`);
|
||||
} catch (_e) {
|
||||
throw new Error(`无法删除 phpStudy 旧的软链接: ${_e.message}`);
|
||||
log.error('无法获取远程版本状态,请检查 SSH 连接。');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 在 phpStudy 目录下创建链接,指向刚复制过去的版本
|
||||
// --- 【通用工具函数】 ---
|
||||
|
||||
function updateLocalLink(targetDir) {
|
||||
if (fs.existsSync(PROD_CURRENT)) {
|
||||
fs.rmSync(PROD_CURRENT, { recursive: true, force: true });
|
||||
}
|
||||
const linkType = process.platform === 'win32' ? 'junction' : 'dir';
|
||||
fs.symlinkSync(targetDir, PHPSTUDY_CURRENT, linkType);
|
||||
fs.symlinkSync(targetDir, PROD_CURRENT, linkType);
|
||||
}
|
||||
|
||||
function updateRemoteLink(version) {
|
||||
const { host, user, path: remotePath } = CONFIG.remote;
|
||||
const remoteVersionDir = `${remotePath}/releases/${version}`;
|
||||
const remoteCurrentLink = `${remotePath}/current`;
|
||||
// 直接发送 ln 命令,前提是该目录已经在服务器 releases 里了
|
||||
execSync(
|
||||
`ssh ${user}@${host} "ln -snf ${remoteVersionDir} ${remoteCurrentLink}"`,
|
||||
);
|
||||
}
|
||||
|
||||
function deployToRemote(version) {
|
||||
@@ -188,4 +275,4 @@ function cleanSourceMaps(dir) {
|
||||
}
|
||||
|
||||
// 启动执行
|
||||
start();
|
||||
main();
|
||||
|
||||
@@ -11,14 +11,13 @@
|
||||
"dev:mock": "npm run start:mock",
|
||||
"postinstall": "max setup",
|
||||
"lint": "npm run biome:lint && npm run tsc",
|
||||
"lint-staged": "lint-staged",
|
||||
"biome:lint": "npx @biomejs/biome lint",
|
||||
"prepare": "husky",
|
||||
"preview": "max preview --port 8000",
|
||||
"start": "cross-env UMI_ENV=dev MOCK=none max dev",
|
||||
"start:mock": "cross-env UMI_ENV=dev max dev",
|
||||
"tsc": "tsc --noEmit",
|
||||
"dpl": "node deploy.js"
|
||||
"dpl": "node deploy.js",
|
||||
"rollback": "node deploy.js --rollback"
|
||||
},
|
||||
"browserslist": [
|
||||
"defaults"
|
||||
@@ -54,8 +53,6 @@
|
||||
"@umijs/max": "^4.3.24",
|
||||
"cross-env": "^7.0.3",
|
||||
"express": "^4.21.1",
|
||||
"husky": "^9.1.7",
|
||||
"lint-staged": "^16.1.2",
|
||||
"mockjs": "^1.1.0",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.6.3",
|
||||
|
||||
200
pnpm-lock.yaml
generated
200
pnpm-lock.yaml
generated
@@ -93,12 +93,6 @@ importers:
|
||||
express:
|
||||
specifier: ^4.21.1
|
||||
version: 4.22.1
|
||||
husky:
|
||||
specifier: ^9.1.7
|
||||
version: 9.1.7
|
||||
lint-staged:
|
||||
specifier: ^16.1.2
|
||||
version: 16.2.7
|
||||
mockjs:
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
@@ -3659,10 +3653,6 @@ packages:
|
||||
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
ansi-escapes@7.2.0:
|
||||
resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
ansi-html-community@0.0.8:
|
||||
resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
|
||||
engines: {'0': node >= 0.8.0}
|
||||
@@ -4336,10 +4326,6 @@ packages:
|
||||
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
cli-cursor@5.0.0:
|
||||
resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
cli-spinners@2.9.2:
|
||||
resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -4348,10 +4334,6 @@ packages:
|
||||
resolution: {integrity: sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==}
|
||||
engines: {node: '>= 0.2.0'}
|
||||
|
||||
cli-truncate@5.1.1:
|
||||
resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
cli-width@3.0.0:
|
||||
resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -4428,9 +4410,6 @@ packages:
|
||||
colord@2.9.3:
|
||||
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
|
||||
|
||||
colorette@2.0.20:
|
||||
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
|
||||
|
||||
colors@1.0.3:
|
||||
resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
@@ -5198,9 +5177,6 @@ packages:
|
||||
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
emoji-regex@10.6.0:
|
||||
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
|
||||
|
||||
emoji-regex@7.0.3:
|
||||
resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==}
|
||||
|
||||
@@ -5258,10 +5234,6 @@ packages:
|
||||
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
environment@1.1.0:
|
||||
resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
err-code@2.0.3:
|
||||
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
|
||||
|
||||
@@ -5882,10 +5854,6 @@ packages:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
|
||||
get-east-asian-width@1.4.0:
|
||||
resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
get-intrinsic@1.3.0:
|
||||
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -6250,11 +6218,6 @@ packages:
|
||||
humanize-ms@1.2.1:
|
||||
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
|
||||
|
||||
husky@9.1.7:
|
||||
resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
iconv-lite@0.4.24:
|
||||
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -6528,10 +6491,6 @@ packages:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-fullwidth-code-point@5.1.0:
|
||||
resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
is-generator-fn@2.1.0:
|
||||
resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -7172,15 +7131,6 @@ packages:
|
||||
lines-and-columns@1.2.4:
|
||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||
|
||||
lint-staged@16.2.7:
|
||||
resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==}
|
||||
engines: {node: '>=20.17'}
|
||||
hasBin: true
|
||||
|
||||
listr2@9.0.5:
|
||||
resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
load-json-file@4.0.0:
|
||||
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -7287,10 +7237,6 @@ packages:
|
||||
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
log-update@6.1.0:
|
||||
resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
log4js@1.1.1:
|
||||
resolution: {integrity: sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg==}
|
||||
engines: {node: '>=0.12'}
|
||||
@@ -7503,10 +7449,6 @@ packages:
|
||||
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
mimic-function@5.0.1:
|
||||
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
mimic-response@1.0.1:
|
||||
resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -7655,10 +7597,6 @@ packages:
|
||||
mute-stream@0.0.8:
|
||||
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
|
||||
|
||||
nano-spawn@2.0.0:
|
||||
resolution: {integrity: sha512-tacvGzUY5o2D8CBh2rrwxyNojUsZNU2zjNTzKQrkgGJQTbGAfArVWXSKMBokBeeg6C7OLRGUEyoFlYbfeWQIqw==}
|
||||
engines: {node: '>=20.17'}
|
||||
|
||||
nanoid@3.3.11:
|
||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
@@ -7984,10 +7922,6 @@ packages:
|
||||
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
onetime@7.0.0:
|
||||
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
open@8.4.2:
|
||||
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
|
||||
engines: {node: '>=12'}
|
||||
@@ -8246,11 +8180,6 @@ packages:
|
||||
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
pidtree@0.6.0:
|
||||
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
|
||||
engines: {node: '>=0.10'}
|
||||
hasBin: true
|
||||
|
||||
pify@2.3.0:
|
||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -9693,10 +9622,6 @@ packages:
|
||||
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
restore-cursor@5.1.0:
|
||||
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
retry@0.12.0:
|
||||
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
|
||||
engines: {node: '>= 4'}
|
||||
@@ -9705,9 +9630,6 @@ packages:
|
||||
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
|
||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||
|
||||
rfdc@1.4.1:
|
||||
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
|
||||
|
||||
rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
deprecated: Rimraf versions prior to v4 are no longer supported
|
||||
@@ -10094,10 +10016,6 @@ packages:
|
||||
resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
slice-ansi@7.1.2:
|
||||
resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
smart-buffer@4.2.0:
|
||||
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
|
||||
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
|
||||
@@ -10258,10 +10176,6 @@ packages:
|
||||
resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
string-argv@0.3.2:
|
||||
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
|
||||
engines: {node: '>=0.6.19'}
|
||||
|
||||
string-convert@0.2.1:
|
||||
resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==}
|
||||
|
||||
@@ -10285,14 +10199,6 @@ packages:
|
||||
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
string-width@7.2.0:
|
||||
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
string-width@8.1.0:
|
||||
resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
string.prototype.matchall@4.0.12:
|
||||
resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -11182,10 +11088,6 @@ packages:
|
||||
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
wrap-ansi@9.0.2:
|
||||
resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
@@ -11251,11 +11153,6 @@ packages:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
yaml@2.8.2:
|
||||
resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
|
||||
engines: {node: '>= 14.6'}
|
||||
hasBin: true
|
||||
|
||||
yargs-parser@13.1.1:
|
||||
resolution: {integrity: sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==}
|
||||
|
||||
@@ -16912,10 +16809,6 @@ snapshots:
|
||||
dependencies:
|
||||
type-fest: 0.21.3
|
||||
|
||||
ansi-escapes@7.2.0:
|
||||
dependencies:
|
||||
environment: 1.1.0
|
||||
|
||||
ansi-html-community@0.0.8: {}
|
||||
|
||||
ansi-regex@3.0.1: {}
|
||||
@@ -17959,21 +17852,12 @@ snapshots:
|
||||
dependencies:
|
||||
restore-cursor: 3.1.0
|
||||
|
||||
cli-cursor@5.0.0:
|
||||
dependencies:
|
||||
restore-cursor: 5.1.0
|
||||
|
||||
cli-spinners@2.9.2: {}
|
||||
|
||||
cli-table@0.3.11:
|
||||
dependencies:
|
||||
colors: 1.0.3
|
||||
|
||||
cli-truncate@5.1.1:
|
||||
dependencies:
|
||||
slice-ansi: 7.1.2
|
||||
string-width: 8.1.0
|
||||
|
||||
cli-width@3.0.0: {}
|
||||
|
||||
click-to-react-component@1.1.0(@types/react@19.2.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||
@@ -18050,8 +17934,6 @@ snapshots:
|
||||
|
||||
colord@2.9.3: {}
|
||||
|
||||
colorette@2.0.20: {}
|
||||
|
||||
colors@1.0.3: {}
|
||||
|
||||
combined-stream@1.0.8:
|
||||
@@ -18810,8 +18692,6 @@ snapshots:
|
||||
emittery@0.13.1:
|
||||
optional: true
|
||||
|
||||
emoji-regex@10.6.0: {}
|
||||
|
||||
emoji-regex@7.0.3: {}
|
||||
|
||||
emoji-regex@8.0.0: {}
|
||||
@@ -18860,8 +18740,6 @@ snapshots:
|
||||
|
||||
env-paths@2.2.1: {}
|
||||
|
||||
environment@1.1.0: {}
|
||||
|
||||
err-code@2.0.3: {}
|
||||
|
||||
errno@0.1.8:
|
||||
@@ -19861,8 +19739,6 @@ snapshots:
|
||||
|
||||
get-caller-file@2.0.5: {}
|
||||
|
||||
get-east-asian-width@1.4.0: {}
|
||||
|
||||
get-intrinsic@1.3.0:
|
||||
dependencies:
|
||||
call-bind-apply-helpers: 1.0.2
|
||||
@@ -20314,8 +20190,6 @@ snapshots:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
husky@9.1.7: {}
|
||||
|
||||
iconv-lite@0.4.24:
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
@@ -20585,10 +20459,6 @@ snapshots:
|
||||
|
||||
is-fullwidth-code-point@3.0.0: {}
|
||||
|
||||
is-fullwidth-code-point@5.1.0:
|
||||
dependencies:
|
||||
get-east-asian-width: 1.4.0
|
||||
|
||||
is-generator-fn@2.1.0:
|
||||
optional: true
|
||||
|
||||
@@ -21443,25 +21313,6 @@ snapshots:
|
||||
|
||||
lines-and-columns@1.2.4: {}
|
||||
|
||||
lint-staged@16.2.7:
|
||||
dependencies:
|
||||
commander: 14.0.2
|
||||
listr2: 9.0.5
|
||||
micromatch: 4.0.8
|
||||
nano-spawn: 2.0.0
|
||||
pidtree: 0.6.0
|
||||
string-argv: 0.3.2
|
||||
yaml: 2.8.2
|
||||
|
||||
listr2@9.0.5:
|
||||
dependencies:
|
||||
cli-truncate: 5.1.1
|
||||
colorette: 2.0.20
|
||||
eventemitter3: 5.0.1
|
||||
log-update: 6.1.0
|
||||
rfdc: 1.4.1
|
||||
wrap-ansi: 9.0.2
|
||||
|
||||
load-json-file@4.0.0:
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
@@ -21555,14 +21406,6 @@ snapshots:
|
||||
chalk: 4.1.2
|
||||
is-unicode-supported: 0.1.0
|
||||
|
||||
log-update@6.1.0:
|
||||
dependencies:
|
||||
ansi-escapes: 7.2.0
|
||||
cli-cursor: 5.0.0
|
||||
slice-ansi: 7.1.2
|
||||
strip-ansi: 7.1.2
|
||||
wrap-ansi: 9.0.2
|
||||
|
||||
log4js@1.1.1:
|
||||
dependencies:
|
||||
debug: 2.6.9
|
||||
@@ -21848,8 +21691,6 @@ snapshots:
|
||||
|
||||
mimic-fn@4.0.0: {}
|
||||
|
||||
mimic-function@5.0.1: {}
|
||||
|
||||
mimic-response@1.0.1: {}
|
||||
|
||||
min-document@2.19.2:
|
||||
@@ -22005,8 +21846,6 @@ snapshots:
|
||||
|
||||
mute-stream@0.0.8: {}
|
||||
|
||||
nano-spawn@2.0.0: {}
|
||||
|
||||
nanoid@3.3.11: {}
|
||||
|
||||
napi-postinstall@0.3.4:
|
||||
@@ -22441,10 +22280,6 @@ snapshots:
|
||||
dependencies:
|
||||
mimic-fn: 4.0.0
|
||||
|
||||
onetime@7.0.0:
|
||||
dependencies:
|
||||
mimic-function: 5.0.1
|
||||
|
||||
open@8.4.2:
|
||||
dependencies:
|
||||
define-lazy-prop: 2.0.0
|
||||
@@ -22751,8 +22586,6 @@ snapshots:
|
||||
picomatch@4.0.3:
|
||||
optional: true
|
||||
|
||||
pidtree@0.6.0: {}
|
||||
|
||||
pify@2.3.0: {}
|
||||
|
||||
pify@3.0.0: {}
|
||||
@@ -24559,17 +24392,10 @@ snapshots:
|
||||
onetime: 5.1.2
|
||||
signal-exit: 3.0.7
|
||||
|
||||
restore-cursor@5.1.0:
|
||||
dependencies:
|
||||
onetime: 7.0.0
|
||||
signal-exit: 4.1.0
|
||||
|
||||
retry@0.12.0: {}
|
||||
|
||||
reusify@1.1.0: {}
|
||||
|
||||
rfdc@1.4.1: {}
|
||||
|
||||
rimraf@2.7.1:
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
@@ -25053,11 +24879,6 @@ snapshots:
|
||||
astral-regex: 2.0.0
|
||||
is-fullwidth-code-point: 3.0.0
|
||||
|
||||
slice-ansi@7.1.2:
|
||||
dependencies:
|
||||
ansi-styles: 6.2.3
|
||||
is-fullwidth-code-point: 5.1.0
|
||||
|
||||
smart-buffer@4.2.0: {}
|
||||
|
||||
socks-proxy-agent@6.2.1:
|
||||
@@ -25245,8 +25066,6 @@ snapshots:
|
||||
|
||||
strict-uri-encode@2.0.0: {}
|
||||
|
||||
string-argv@0.3.2: {}
|
||||
|
||||
string-convert@0.2.1: {}
|
||||
|
||||
string-length@4.0.2:
|
||||
@@ -25278,17 +25097,6 @@ snapshots:
|
||||
emoji-regex: 9.2.2
|
||||
strip-ansi: 7.1.2
|
||||
|
||||
string-width@7.2.0:
|
||||
dependencies:
|
||||
emoji-regex: 10.6.0
|
||||
get-east-asian-width: 1.4.0
|
||||
strip-ansi: 7.1.2
|
||||
|
||||
string-width@8.1.0:
|
||||
dependencies:
|
||||
get-east-asian-width: 1.4.0
|
||||
strip-ansi: 7.1.2
|
||||
|
||||
string.prototype.matchall@4.0.12:
|
||||
dependencies:
|
||||
call-bind: 1.0.8
|
||||
@@ -26472,12 +26280,6 @@ snapshots:
|
||||
string-width: 5.1.2
|
||||
strip-ansi: 7.1.2
|
||||
|
||||
wrap-ansi@9.0.2:
|
||||
dependencies:
|
||||
ansi-styles: 6.2.3
|
||||
string-width: 7.2.0
|
||||
strip-ansi: 7.1.2
|
||||
|
||||
wrappy@1.0.2: {}
|
||||
|
||||
write-file-atomic@2.4.3:
|
||||
@@ -26524,8 +26326,6 @@ snapshots:
|
||||
|
||||
yaml@1.10.2: {}
|
||||
|
||||
yaml@2.8.2: {}
|
||||
|
||||
yargs-parser@13.1.1:
|
||||
dependencies:
|
||||
camelcase: 5.3.1
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 114 KiB |
@@ -85,7 +85,7 @@ const Login: React.FC = () => {
|
||||
<Flex align="center" justify="center">
|
||||
<LoginForm
|
||||
logo="/logo.svg"
|
||||
title="RiskGuardxxx"
|
||||
title="RiskGuard"
|
||||
subTitle={$t('pages.layouts.userLayout.title')}
|
||||
initialValues={{
|
||||
autoLogin: true,
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
import * as Sentry from '@sentry/react';
|
||||
import packageJson from '../../package.json';
|
||||
|
||||
Sentry.init({
|
||||
dsn: process.env.UMI_APP_SENTRY_DSN,
|
||||
enabled: process.env.NODE_ENV === 'production',
|
||||
integrations: [Sentry.browserTracingIntegration()],
|
||||
environment: process.env.NODE_ENV,
|
||||
release: `${packageJson.name}@${process.env.UMI_APP_SENTRY_RELEASE}`,
|
||||
tracesSampleRate: 0.02,
|
||||
});
|
||||
if (process.env.UMI_APP_SENTRY_DSN) {
|
||||
Sentry.init({
|
||||
dsn: process.env.UMI_APP_SENTRY_DSN,
|
||||
enabled: process.env.NODE_ENV === 'production',
|
||||
integrations: [Sentry.browserTracingIntegration()],
|
||||
environment: process.env.NODE_ENV,
|
||||
release: process.env.UMI_APP_SENTRY_RELEASE,
|
||||
tracesSampleRate: 0.02,
|
||||
});
|
||||
}
|
||||
|
||||
// Print the version number only in the production environment
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
console.log(
|
||||
`%c Current Version: ${process.env.UMI_APP_SHORT_RELEASE || 'N/A'} `,
|
||||
'background: #1e88e5; color: #fff; padding: 2px 5px; border-radius: 3px;',
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user