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:
wood chen 2025-02-17 18:38:21 +08:00
parent f7a52a1be5
commit 627a63caad
3 changed files with 144 additions and 145 deletions

View File

@ -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
View File

@ -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": {

View File

@ -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",