mirror of
https://github.com/woodchen-ink/proxy-go.git
synced 2025-07-18 16:41:54 +08:00
chore(deps): Update Next.js and related dependencies to version 15.1.7
- Upgrade Next.js from 15.1.0 to 15.1.7 - Update package.json and package-lock.json with new dependency versions - Modify dev script to specify localhost and port 13001 - Rename project from "proxy-go-web" to "web"
This commit is contained in:
parent
f7a52a1be5
commit
627a63caad
@ -82,7 +82,8 @@ export default function ConfigPage() {
|
|||||||
extensionMap: {} as Record<string, string>,
|
extensionMap: {} as Record<string, string>,
|
||||||
sizeThreshold: 0,
|
sizeThreshold: 0,
|
||||||
maxSize: 0,
|
maxSize: 0,
|
||||||
sizeUnit: 'MB' as 'B' | 'KB' | 'MB' | 'GB',
|
sizeThresholdUnit: 'MB' as 'B' | 'KB' | 'MB' | 'GB',
|
||||||
|
maxSizeUnit: 'MB' as 'B' | 'KB' | 'MB' | 'GB',
|
||||||
})
|
})
|
||||||
const [fixedPathDialogOpen, setFixedPathDialogOpen] = useState(false)
|
const [fixedPathDialogOpen, setFixedPathDialogOpen] = useState(false)
|
||||||
const [editingFixedPath, setEditingFixedPath] = useState<FixedPath | null>(null)
|
const [editingFixedPath, setEditingFixedPath] = useState<FixedPath | null>(null)
|
||||||
@ -101,7 +102,8 @@ export default function ConfigPage() {
|
|||||||
defaultTarget: string;
|
defaultTarget: string;
|
||||||
sizeThreshold: number;
|
sizeThreshold: number;
|
||||||
maxSize: number;
|
maxSize: number;
|
||||||
sizeUnit: 'B' | 'KB' | 'MB' | 'GB';
|
sizeThresholdUnit: 'B' | 'KB' | 'MB' | 'GB';
|
||||||
|
maxSizeUnit: 'B' | 'KB' | 'MB' | 'GB';
|
||||||
} | null>(null);
|
} | null>(null);
|
||||||
|
|
||||||
const [deletingPath, setDeletingPath] = useState<string | null>(null)
|
const [deletingPath, setDeletingPath] = useState<string | null>(null)
|
||||||
@ -222,7 +224,8 @@ export default function ConfigPage() {
|
|||||||
extensionMap: {},
|
extensionMap: {},
|
||||||
sizeThreshold: 0,
|
sizeThreshold: 0,
|
||||||
maxSize: 0,
|
maxSize: 0,
|
||||||
sizeUnit: 'MB',
|
sizeThresholdUnit: 'MB',
|
||||||
|
maxSizeUnit: 'MB',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -257,7 +260,7 @@ export default function ConfigPage() {
|
|||||||
if (!config) return
|
if (!config) return
|
||||||
|
|
||||||
const data = editingPathData || newPathData
|
const data = editingPathData || newPathData
|
||||||
const { path, defaultTarget, sizeThreshold, maxSize, sizeUnit } = data
|
const { path, defaultTarget, sizeThreshold, maxSize, sizeThresholdUnit, maxSizeUnit } = data
|
||||||
|
|
||||||
if (!path || !defaultTarget) {
|
if (!path || !defaultTarget) {
|
||||||
toast({
|
toast({
|
||||||
@ -269,8 +272,8 @@ export default function ConfigPage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 转换大小为字节
|
// 转换大小为字节
|
||||||
const sizeThresholdBytes = convertToBytes(sizeThreshold, sizeUnit)
|
const sizeThresholdBytes = convertToBytes(sizeThreshold, sizeThresholdUnit)
|
||||||
const maxSizeBytes = convertToBytes(maxSize, sizeUnit)
|
const maxSizeBytes = convertToBytes(maxSize, maxSizeUnit)
|
||||||
|
|
||||||
// 验证阈值
|
// 验证阈值
|
||||||
if (maxSizeBytes > 0 && sizeThresholdBytes >= maxSizeBytes) {
|
if (maxSizeBytes > 0 && sizeThresholdBytes >= maxSizeBytes) {
|
||||||
@ -308,7 +311,8 @@ export default function ConfigPage() {
|
|||||||
extensionMap: {},
|
extensionMap: {},
|
||||||
sizeThreshold: 0,
|
sizeThreshold: 0,
|
||||||
maxSize: 0,
|
maxSize: 0,
|
||||||
sizeUnit: 'MB',
|
sizeThresholdUnit: 'MB',
|
||||||
|
maxSizeUnit: 'MB',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -547,7 +551,8 @@ export default function ConfigPage() {
|
|||||||
extensionMap: {},
|
extensionMap: {},
|
||||||
sizeThreshold: 0,
|
sizeThreshold: 0,
|
||||||
maxSize: 0,
|
maxSize: 0,
|
||||||
sizeUnit: 'MB',
|
sizeThresholdUnit: 'MB',
|
||||||
|
maxSizeUnit: 'MB',
|
||||||
})
|
})
|
||||||
setPathDialogOpen(true)
|
setPathDialogOpen(true)
|
||||||
}
|
}
|
||||||
@ -667,18 +672,19 @@ export default function ConfigPage() {
|
|||||||
defaultTarget: target,
|
defaultTarget: target,
|
||||||
sizeThreshold: 0,
|
sizeThreshold: 0,
|
||||||
maxSize: 0,
|
maxSize: 0,
|
||||||
sizeUnit: 'MB'
|
sizeThresholdUnit: 'MB',
|
||||||
|
maxSizeUnit: 'MB'
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const sizeThreshold = target.SizeThreshold || 0
|
const { value: thresholdValue, unit: thresholdUnit } = convertBytesToUnit(target.SizeThreshold || 0)
|
||||||
const maxSize = target.MaxSize || 0
|
const { value: maxValue, unit: maxUnit } = convertBytesToUnit(target.MaxSize || 0)
|
||||||
const { value, unit } = convertBytesToUnit(sizeThreshold)
|
|
||||||
setEditingPathData({
|
setEditingPathData({
|
||||||
path,
|
path,
|
||||||
defaultTarget: target.DefaultTarget,
|
defaultTarget: target.DefaultTarget,
|
||||||
sizeThreshold: value,
|
sizeThreshold: thresholdValue,
|
||||||
maxSize: maxSize,
|
maxSize: maxValue,
|
||||||
sizeUnit: unit
|
sizeThresholdUnit: thresholdUnit,
|
||||||
|
maxSizeUnit: maxUnit
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
setPathDialogOpen(true)
|
setPathDialogOpen(true)
|
||||||
@ -809,18 +815,18 @@ export default function ConfigPage() {
|
|||||||
/>
|
/>
|
||||||
<select
|
<select
|
||||||
className="w-24 rounded-md border border-input bg-background px-3"
|
className="w-24 rounded-md border border-input bg-background px-3"
|
||||||
value={editingPathData?.sizeUnit ?? newPathData.sizeUnit}
|
value={editingPathData?.sizeThresholdUnit ?? newPathData.sizeThresholdUnit}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
const unit = e.target.value as 'B' | 'KB' | 'MB' | 'GB'
|
const unit = e.target.value as 'B' | 'KB' | 'MB' | 'GB'
|
||||||
if (editingPathData) {
|
if (editingPathData) {
|
||||||
setEditingPathData({
|
setEditingPathData({
|
||||||
...editingPathData,
|
...editingPathData,
|
||||||
sizeUnit: unit,
|
sizeThresholdUnit: unit,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
setNewPathData({
|
setNewPathData({
|
||||||
...newPathData,
|
...newPathData,
|
||||||
sizeUnit: unit,
|
sizeThresholdUnit: unit,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@ -855,18 +861,18 @@ export default function ConfigPage() {
|
|||||||
/>
|
/>
|
||||||
<select
|
<select
|
||||||
className="w-24 rounded-md border border-input bg-background px-3"
|
className="w-24 rounded-md border border-input bg-background px-3"
|
||||||
value={editingPathData?.sizeUnit ?? newPathData.sizeUnit}
|
value={editingPathData?.maxSizeUnit ?? newPathData.maxSizeUnit}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
const unit = e.target.value as 'B' | 'KB' | 'MB' | 'GB'
|
const unit = e.target.value as 'B' | 'KB' | 'MB' | 'GB'
|
||||||
if (editingPathData) {
|
if (editingPathData) {
|
||||||
setEditingPathData({
|
setEditingPathData({
|
||||||
...editingPathData,
|
...editingPathData,
|
||||||
sizeUnit: unit,
|
maxSizeUnit: unit,
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
setNewPathData({
|
setNewPathData({
|
||||||
...newPathData,
|
...newPathData,
|
||||||
sizeUnit: unit,
|
maxSizeUnit: unit,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@ -892,7 +898,8 @@ export default function ConfigPage() {
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TableHead>路径</TableHead>
|
<TableHead>路径</TableHead>
|
||||||
<TableHead>默认目标</TableHead>
|
<TableHead>默认目标</TableHead>
|
||||||
<TableHead>大小阈值</TableHead>
|
<TableHead>最小阈值</TableHead>
|
||||||
|
<TableHead>最大阈值</TableHead>
|
||||||
<TableHead>扩展名映射</TableHead>
|
<TableHead>扩展名映射</TableHead>
|
||||||
<TableHead>操作</TableHead>
|
<TableHead>操作</TableHead>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@ -905,78 +912,70 @@ export default function ConfigPage() {
|
|||||||
{typeof target === 'string' ? target : target.DefaultTarget}
|
{typeof target === 'string' ? target : target.DefaultTarget}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
{typeof target === 'object' && target.SizeThreshold ? (
|
{typeof target === 'object' && (
|
||||||
<span title={`${target.SizeThreshold} 字节`}>
|
<div>
|
||||||
{formatBytes(target.SizeThreshold)}
|
<div>最小: {target.SizeThreshold ? formatBytes(target.SizeThreshold) : '-'}</div>
|
||||||
</span>
|
<div>最大: {target.MaxSize ? formatBytes(target.MaxSize) : '-'}</div>
|
||||||
) : '-'}
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
{typeof target === 'object' && target.ExtensionMap ? (
|
|
||||||
<div className="space-y-4">
|
|
||||||
<Table>
|
|
||||||
<TableHeader>
|
|
||||||
<TableRow>
|
|
||||||
<TableHead className="w-1/3">扩展名</TableHead>
|
|
||||||
<TableHead className="w-1/2">目标地址</TableHead>
|
|
||||||
<TableHead className="w-1/6">操作</TableHead>
|
|
||||||
</TableRow>
|
|
||||||
</TableHeader>
|
|
||||||
<TableBody>
|
|
||||||
{Object.entries(target.ExtensionMap).map(([ext, url]) => (
|
|
||||||
<TableRow key={ext}>
|
|
||||||
<TableCell>{ext}</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
<span title={url}>{truncateUrl(url)}</span>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
<div className="flex space-x-2">
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
size="icon"
|
|
||||||
className="h-6 w-6"
|
|
||||||
onClick={() => handleExtensionMapEdit(path, ext, url)}
|
|
||||||
>
|
|
||||||
<Edit className="h-3 w-3" />
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
variant="ghost"
|
|
||||||
size="icon"
|
|
||||||
className="h-6 w-6"
|
|
||||||
onClick={() => deleteExtensionMap(path, ext)}
|
|
||||||
>
|
|
||||||
<Trash2 className="h-3 w-3" />
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</TableCell>
|
|
||||||
</TableRow>
|
|
||||||
))}
|
|
||||||
</TableBody>
|
|
||||||
</Table>
|
|
||||||
<div className="flex justify-end">
|
|
||||||
<Button
|
|
||||||
variant="outline"
|
|
||||||
size="sm"
|
|
||||||
onClick={() => handleExtensionMapEdit(path)}
|
|
||||||
>
|
|
||||||
<Plus className="w-3 h-3 mr-2" />
|
|
||||||
添加扩展名映射
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
) : (
|
|
||||||
<div className="flex justify-end">
|
|
||||||
<Button
|
|
||||||
variant="outline"
|
|
||||||
size="sm"
|
|
||||||
onClick={() => handleExtensionMapEdit(path)}
|
|
||||||
>
|
|
||||||
<Plus className="w-3 h-3 mr-2" />
|
|
||||||
添加扩展名映射
|
|
||||||
</Button>
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
|
<TableCell>
|
||||||
|
{typeof target === 'object' && target.ExtensionMap && Object.keys(target.ExtensionMap).length > 0 ? (
|
||||||
|
<Table>
|
||||||
|
<TableHeader>
|
||||||
|
<TableRow>
|
||||||
|
<TableHead className="w-1/3">扩展名</TableHead>
|
||||||
|
<TableHead className="w-1/2">目标地址</TableHead>
|
||||||
|
<TableHead className="w-1/6">操作</TableHead>
|
||||||
|
</TableRow>
|
||||||
|
</TableHeader>
|
||||||
|
<TableBody>
|
||||||
|
{Object.entries(target.ExtensionMap).map(([ext, url]) => (
|
||||||
|
<TableRow key={ext}>
|
||||||
|
<TableCell className="py-2">{ext}</TableCell>
|
||||||
|
<TableCell className="py-2">
|
||||||
|
<span title={url}>{truncateUrl(url)}</span>
|
||||||
|
</TableCell>
|
||||||
|
<TableCell className="py-2">
|
||||||
|
<div className="flex space-x-2">
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
className="h-6 w-6"
|
||||||
|
onClick={() => handleExtensionMapEdit(path, ext, url)}
|
||||||
|
>
|
||||||
|
<Edit className="h-3 w-3" />
|
||||||
|
</Button>
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
className="h-6 w-6"
|
||||||
|
onClick={() => deleteExtensionMap(path, ext)}
|
||||||
|
>
|
||||||
|
<Trash2 className="h-3 w-3" />
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
))}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
) : (
|
||||||
|
<div className="text-center text-sm text-muted-foreground">
|
||||||
|
暂无扩展名映射
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<div className="mt-2 flex justify-end">
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => handleExtensionMapEdit(path)}
|
||||||
|
>
|
||||||
|
<Plus className="w-3 h-3 mr-2" />
|
||||||
|
添加扩展名映射
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<div className="flex space-x-2">
|
<div className="flex space-x-2">
|
||||||
<Button
|
<Button
|
||||||
|
102
web/package-lock.json
generated
102
web/package-lock.json
generated
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "proxy-go-web",
|
"name": "web",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "proxy-go-web",
|
"name": "web",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@radix-ui/react-alert-dialog": "^1.1.6",
|
"@radix-ui/react-alert-dialog": "^1.1.6",
|
||||||
@ -20,7 +20,7 @@
|
|||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"lucide-react": "^0.475.0",
|
"lucide-react": "^0.475.0",
|
||||||
"next": "15.1.0",
|
"next": "^15.1.7",
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"recharts": "^2.15.1",
|
"recharts": "^2.15.1",
|
||||||
@ -745,9 +745,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/env": {
|
"node_modules/@next/env": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.7.tgz",
|
||||||
"integrity": "sha512-UcCO481cROsqJuszPPXJnb7GGuLq617ve4xuAyyNG4VSSocJNtMU5Fsx+Lp6mlN8c7W58aZLc5y6D/2xNmaK+w==",
|
"integrity": "sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@next/eslint-plugin-next": {
|
"node_modules/@next/eslint-plugin-next": {
|
||||||
@ -761,9 +761,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-darwin-arm64": {
|
"node_modules/@next/swc-darwin-arm64": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.7.tgz",
|
||||||
"integrity": "sha512-ZU8d7xxpX14uIaFC3nsr4L++5ZS/AkWDm1PzPO6gD9xWhFkOj2hzSbSIxoncsnlJXB1CbLOfGVN4Zk9tg83PUw==",
|
"integrity": "sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -777,9 +777,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-darwin-x64": {
|
"node_modules/@next/swc-darwin-x64": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.7.tgz",
|
||||||
"integrity": "sha512-DQ3RiUoW2XC9FcSM4ffpfndq1EsLV0fj0/UY33i7eklW5akPUCo6OX2qkcLXZ3jyPdo4sf2flwAED3AAq3Om2Q==",
|
"integrity": "sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -793,9 +793,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.7.tgz",
|
||||||
"integrity": "sha512-M+vhTovRS2F//LMx9KtxbkWk627l5Q7AqXWWWrfIzNIaUFiz2/NkOFkxCFyNyGACi5YbA8aekzCLtbDyfF/v5Q==",
|
"integrity": "sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -809,9 +809,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-linux-arm64-musl": {
|
"node_modules/@next/swc-linux-arm64-musl": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.7.tgz",
|
||||||
"integrity": "sha512-Qn6vOuwaTCx3pNwygpSGtdIu0TfS1KiaYLYXLH5zq1scoTXdwYfdZtwvJTpB1WrLgiQE2Ne2kt8MZok3HlFqmg==",
|
"integrity": "sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -825,9 +825,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-linux-x64-gnu": {
|
"node_modules/@next/swc-linux-x64-gnu": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.7.tgz",
|
||||||
"integrity": "sha512-yeNh9ofMqzOZ5yTOk+2rwncBzucc6a1lyqtg8xZv0rH5znyjxHOWsoUtSq4cUTeeBIiXXX51QOOe+VoCjdXJRw==",
|
"integrity": "sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -841,9 +841,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-linux-x64-musl": {
|
"node_modules/@next/swc-linux-x64-musl": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.7.tgz",
|
||||||
"integrity": "sha512-t9IfNkHQs/uKgPoyEtU912MG6a1j7Had37cSUyLTKx9MnUpjj+ZDKw9OyqTI9OwIIv0wmkr1pkZy+3T5pxhJPg==",
|
"integrity": "sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -857,9 +857,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.7.tgz",
|
||||||
"integrity": "sha512-WEAoHyG14t5sTavZa1c6BnOIEukll9iqFRTavqRVPfYmfegOAd5MaZfXgOGG6kGo1RduyGdTHD4+YZQSdsNZXg==",
|
"integrity": "sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"arm64"
|
"arm64"
|
||||||
],
|
],
|
||||||
@ -873,9 +873,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@next/swc-win32-x64-msvc": {
|
"node_modules/@next/swc-win32-x64-msvc": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.7.tgz",
|
||||||
"integrity": "sha512-J1YdKuJv9xcixzXR24Dv+4SaDKc2jj31IVUEMdO5xJivMTXuE6MAdIi4qPjSymHuFG8O5wbfWKnhJUcHHpj5CA==",
|
"integrity": "sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==",
|
||||||
"cpu": [
|
"cpu": [
|
||||||
"x64"
|
"x64"
|
||||||
],
|
],
|
||||||
@ -1812,9 +1812,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/react": {
|
"node_modules/@types/react": {
|
||||||
"version": "19.0.8",
|
"version": "19.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
|
||||||
"integrity": "sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==",
|
"integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -1822,9 +1822,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/react-dom": {
|
"node_modules/@types/react-dom": {
|
||||||
"version": "19.0.3",
|
"version": "19.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
|
||||||
"integrity": "sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==",
|
"integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
@ -2520,9 +2520,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001699",
|
"version": "1.0.30001700",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz",
|
||||||
"integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==",
|
"integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -4995,12 +4995,12 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/next": {
|
"node_modules/next": {
|
||||||
"version": "15.1.0",
|
"version": "15.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/next/-/next-15.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/next/-/next-15.1.7.tgz",
|
||||||
"integrity": "sha512-QKhzt6Y8rgLNlj30izdMbxAwjHMFANnLwDwZ+WQh5sMhyt4lEBqDK9QpvWHtIM4rINKPoJ8aiRZKg5ULSybVHw==",
|
"integrity": "sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@next/env": "15.1.0",
|
"@next/env": "15.1.7",
|
||||||
"@swc/counter": "0.1.3",
|
"@swc/counter": "0.1.3",
|
||||||
"@swc/helpers": "0.5.15",
|
"@swc/helpers": "0.5.15",
|
||||||
"busboy": "1.6.0",
|
"busboy": "1.6.0",
|
||||||
@ -5015,14 +5015,14 @@
|
|||||||
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
|
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@next/swc-darwin-arm64": "15.1.0",
|
"@next/swc-darwin-arm64": "15.1.7",
|
||||||
"@next/swc-darwin-x64": "15.1.0",
|
"@next/swc-darwin-x64": "15.1.7",
|
||||||
"@next/swc-linux-arm64-gnu": "15.1.0",
|
"@next/swc-linux-arm64-gnu": "15.1.7",
|
||||||
"@next/swc-linux-arm64-musl": "15.1.0",
|
"@next/swc-linux-arm64-musl": "15.1.7",
|
||||||
"@next/swc-linux-x64-gnu": "15.1.0",
|
"@next/swc-linux-x64-gnu": "15.1.7",
|
||||||
"@next/swc-linux-x64-musl": "15.1.0",
|
"@next/swc-linux-x64-musl": "15.1.7",
|
||||||
"@next/swc-win32-arm64-msvc": "15.1.0",
|
"@next/swc-win32-arm64-msvc": "15.1.7",
|
||||||
"@next/swc-win32-x64-msvc": "15.1.0",
|
"@next/swc-win32-x64-msvc": "15.1.7",
|
||||||
"sharp": "^0.33.5"
|
"sharp": "^0.33.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "proxy-go-web",
|
"name": "web",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev --hostname localhost --port 13001",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
@ -21,7 +21,7 @@
|
|||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"lucide-react": "^0.475.0",
|
"lucide-react": "^0.475.0",
|
||||||
"next": "15.1.0",
|
"next": "^15.1.7",
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^19.0.0",
|
"react-dom": "^19.0.0",
|
||||||
"recharts": "^2.15.1",
|
"recharts": "^2.15.1",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user