Skip to content

Commit 29b9d30

Browse files
authored
Merge branch 'main' into newpage/static-homepage
2 parents 730eee9 + 659395f commit 29b9d30

File tree

15 files changed

+4242
-1598
lines changed

15 files changed

+4242
-1598
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
"next/core-web-vitals",
44
"next/typescript"
55
]
6-
}
6+
}
7+

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"

.github/workflows/base.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
on: [push, pull_request]
2+
3+
name: Base GitHub Action for Check, Test and Lints
4+
5+
jobs:
6+
lint-and-build:
7+
name: Lint & Build
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- name: Checkout repository
12+
uses: actions/checkout@v3
13+
14+
- name: Set up Node.js
15+
uses: actions/setup-node@v3
16+
with:
17+
node-version: "22"
18+
cache: "npm"
19+
cache-dependency-path: ./package.json
20+
21+
- name: Install dependencies
22+
working-directory: ./
23+
run: npm install --force
24+
25+
- name: Run ESLint
26+
working-directory: ./
27+
run: npm run lint
28+
29+
- name: Build Next.js application
30+
working-directory: ./
31+
run: npm run build

app/api/crates/[name]/[version]/route.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ interface Dependency {
1515
version: string;
1616
}
1717

18+
type Params = Promise<{ name: string, version: string }>
19+
1820
function generateRandomVulnerabilities(): Vulnerability[] {
1921
const severities: Vulnerability['severity'][] = ['low', 'medium', 'high'];
2022
const randomVulnerabilities: Vulnerability[] = [];
@@ -34,7 +36,8 @@ function generateRandomVulnerabilities(): Vulnerability[] {
3436
return randomVulnerabilities;
3537
}
3638

37-
export async function GET(req: NextRequest, { params }: { params: { name: string, version: string } }) {
39+
export async function GET(req: NextRequest, props: { params: Params }) {
40+
const params = await props.params
3841
const { name, version } = params;
3942
const nameAndVersion = `${name}/${version}`;
4043

app/api/crates/[name]/route.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ import { NextRequest, NextResponse } from 'next/server';
22
import pool from '../../../lib/db';
33
import { CrateInfo } from '@/app/lib/crate_info';
44

5-
export async function GET(req: NextRequest, { params }: { params: { name: string } }) {
5+
type Params = Promise<{ name: string }>
6+
7+
export async function GET(req: NextRequest, props: { params: Params }) {
8+
const params = await props.params
9+
610
const { name } = params;
711

812
try {

app/api/crates/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { NextRequest, NextResponse } from 'next/server';
1+
import { NextResponse } from 'next/server';
22

33
export async function GET() {
44
try {

app/api/cves/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export async function GET() {
3434
try {
3535
const randomCVEs = Array.from({ length: 7 }, generateRandomCVE);
3636
return NextResponse.json(randomCVEs);
37-
} catch (error) {
37+
} catch {
3838
return NextResponse.json({ error: 'Internal Server Error' }, { status: 500 });
3939
}
4040
}

app/api/submit/route.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
1-
import { NextResponse } from 'next/server';
1+
import { NextRequest, NextResponse } from 'next/server';
2+
23

34
export async function POST(request: Request) {
45
const apiUrl = process.env.API_URL; // 读取环境变量
56
const formData = await request.formData(); // 解析请求体
67

78
console.log("Request FormData:", formData);
89

10+
911
try {
1012
const response = await fetch(`${apiUrl}`, {
1113
method: 'POST',
1214
body: formData, // 保持 FormData
1315
});
1416
const result = await response.json(); // 确认返回的是 JSON 格式
1517
return NextResponse.json({ message: 'Submission successful', data: result });
16-
} catch (error) {
18+
} catch {
1719
return NextResponse.json({ error: 'An error occurred while submitting data.' }, { status: 500 });
1820
}
1921
}

app/programs/[name]/[version]/page.tsx

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
import { useRouter } from 'next/navigation';
33
import React, { useEffect, useState } from 'react';
44
import { useParams } from 'next/navigation';
5-
import Header from '../../../../components/Header';
6-
import Footer from '../../../../components/Footer';
7-
import CrateInfoCard from '../../../../components/CrateInfoCard';
8-
import DependenciesList, { Dependency } from '../../../../components/DependenciesList';
9-
import DependencyGraph, { GraphDependency } from '../../../../components/DependencyGraph';
10-
import VulnerabilitiesList, { Vulnerability } from '../../../../components/VulnerabilitiesList';
11-
import SecurityAdvisories from '../../../../components/SecurityAdvisories';
12-
import BenchmarkResults from '../../../../components/BenchmarkResults';
13-
import VersionsSelector from '../../../../components/VersionsSelector';
5+
import Header from '@/components/Header';
6+
import Footer from '@/components/Footer';
7+
import CrateInfoCard from '@/components/CrateInfoCard';
8+
import DependenciesList, { Dependency } from '@/components/DependenciesList';
9+
import DependencyGraph from '@/components/DependencyGraph';
10+
import VulnerabilitiesList, { Vulnerability } from '@/components/VulnerabilitiesList';
11+
import SecurityAdvisories from '@/components/SecurityAdvisories';
12+
import BenchmarkResults from '@/components/BenchmarkResults';
13+
import VersionsSelector from '@/components/VersionsSelector';
1414
import { CrateInfo } from '@/app/lib/crate_info';
1515
//异步获取依赖树
1616
async function fetchDependencyTree(name: string, version: string) {
@@ -36,7 +36,7 @@ const CratePage = () => {
3636
const [crateInfo, setCrateInfo] = useState<CrateInfo | null>(null);
3737
const [versions, setVersions] = useState<string[]>([]);
3838
const [dependencies, setDependencies] = useState<Dependency[]>([]);
39-
const [graphDependencies, setGraphDependencies] = useState<GraphDependency>();
39+
// const [graphDependencies, setGraphDependencies] = useState<GraphDependency>();
4040
const [vulnerabilities, setVulnerabilities] = useState<Vulnerability[]>([]);
4141
const [benchmarks, setBenchmarks] = useState<{ name: string; value: string }[]>([]);
4242
const { name, version } = useParams<{ name: string; version: string }>();
@@ -74,15 +74,15 @@ const CratePage = () => {
7474
});
7575

7676

77-
}, [crateName, currentVersion]);
77+
}, [crateName, currentVersion, name, version]);
7878

7979

8080
useEffect(() => {
8181
async function loadDependencies() {
8282
try {
8383
const graphDep = await fetchDependencyTree(crateName, currentVersion);
8484
console.log(graphDep);
85-
setGraphDependencies(graphDep);
85+
// setGraphDependencies(graphDep);
8686
} catch (error) {
8787
console.error('Error fetching dependency tree:', error);
8888
}
@@ -121,12 +121,14 @@ const CratePage = () => {
121121
<VersionsSelector
122122
versions={versions}
123123
currentVersion={version}
124-
crateName={crateInfo.name}
124+
// crateName={crateInfo.name}
125125
onVersionChange={handleVersionChange}
126126
/>
127127

128128
<DependenciesList dependencies={dependencies} onDependencyClick={handleDependencyClick} />
129-
<DependencyGraph crateName={name} currentVersion={version} dependencies={graphDependencies} />
129+
<DependencyGraph crateName={name} currentVersion={version}
130+
// dependencies={graphDependencies}
131+
/>
130132
</div>
131133
</div>
132134
</main>

app/programs/cves/[id]/page.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,20 @@ async function fetchCVE(id: string): Promise<CVE> {
2929
};
3030
}
3131

32-
export default function CVEDetail({ params }: { params: { id: string } }) {
32+
type Params = Promise<{ id: string }>
33+
34+
export default function CVEDetail({ params }: { params: Params }) {
35+
const { id } = React.use(params);
36+
3337
const [cve, setCve] = useState<CVE | null>(null);
3438

3539
useEffect(() => {
3640
const getCVE = async () => {
37-
const data = await fetchCVE(params.id);
41+
const data = await fetchCVE(id);
3842
setCve(data);
3943
};
4044
getCVE();
41-
}, [params.id]);
45+
}, [id]);
4246

4347
if (!cve) {
4448
return <div>Loading...</div>;

0 commit comments

Comments
 (0)