@lambertkeith/spec-go 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +163 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +850 -0
- package/dist/index.js.map +1 -0
- package/package.json +46 -0
- package/templates/django/README.md +27 -0
- package/templates/django/_gitignore +20 -0
- package/templates/django/_template.json +14 -0
- package/templates/django/manage.py +22 -0
- package/templates/django/project_name/__init__.py +1 -0
- package/templates/django/project_name/asgi.py +11 -0
- package/templates/django/project_name/settings.py +75 -0
- package/templates/django/project_name/urls.py +16 -0
- package/templates/django/project_name/wsgi.py +11 -0
- package/templates/django/pyproject.toml +20 -0
- package/templates/empty/README.md +3 -0
- package/templates/empty/_gitignore +6 -0
- package/templates/empty/_template.json +6 -0
- package/templates/express-ts/README.md +27 -0
- package/templates/express-ts/_gitignore +7 -0
- package/templates/express-ts/_template.json +13 -0
- package/templates/express-ts/package.json +23 -0
- package/templates/express-ts/src/index.ts +17 -0
- package/templates/express-ts/src/middleware/error-handler.ts +14 -0
- package/templates/express-ts/src/routes/index.ts +11 -0
- package/templates/express-ts/tsconfig.json +17 -0
- package/templates/express-ts/tsup.config.ts +9 -0
- package/templates/fastapi/README.md +21 -0
- package/templates/fastapi/_gitignore +16 -0
- package/templates/fastapi/_template.json +14 -0
- package/templates/fastapi/pyproject.toml +21 -0
- package/templates/fastapi/src/project_name/__init__.py +1 -0
- package/templates/fastapi/src/project_name/main.py +20 -0
- package/templates/fastapi/src/project_name/routes/__init__.py +8 -0
- package/templates/flask/README.md +15 -0
- package/templates/flask/_gitignore +17 -0
- package/templates/flask/_template.json +14 -0
- package/templates/flask/pyproject.toml +19 -0
- package/templates/flask/src/project_name/__init__.py +1 -0
- package/templates/flask/src/project_name/app.py +15 -0
- package/templates/flask/src/project_name/routes/__init__.py +8 -0
- package/templates/fullstack-react-node/README.md +35 -0
- package/templates/fullstack-react-node/_gitignore +7 -0
- package/templates/fullstack-react-node/_template.json +14 -0
- package/templates/fullstack-react-node/backend/package.json +22 -0
- package/templates/fullstack-react-node/backend/src/index.ts +20 -0
- package/templates/fullstack-react-node/backend/tsconfig.json +17 -0
- package/templates/fullstack-react-node/backend/tsup.config.ts +9 -0
- package/templates/fullstack-react-node/frontend/index.html +12 -0
- package/templates/fullstack-react-node/frontend/package.json +22 -0
- package/templates/fullstack-react-node/frontend/src/App.css +16 -0
- package/templates/fullstack-react-node/frontend/src/App.tsx +22 -0
- package/templates/fullstack-react-node/frontend/src/main.tsx +9 -0
- package/templates/fullstack-react-node/frontend/tsconfig.json +20 -0
- package/templates/fullstack-react-node/frontend/vite.config.ts +14 -0
- package/templates/fullstack-react-node/package.json +10 -0
- package/templates/fullstack-react-node/pnpm-workspace.yaml +3 -0
- package/templates/fullstack-react-python/Makefile +35 -0
- package/templates/fullstack-react-python/README.md +43 -0
- package/templates/fullstack-react-python/_gitignore +18 -0
- package/templates/fullstack-react-python/_template.json +25 -0
- package/templates/fullstack-react-python/backend/pyproject.toml +21 -0
- package/templates/fullstack-react-python/backend/src/project_name/__init__.py +1 -0
- package/templates/fullstack-react-python/backend/src/project_name/main.py +29 -0
- package/templates/fullstack-react-python/backend/src/project_name/routes/__init__.py +8 -0
- package/templates/fullstack-react-python/frontend/index.html +12 -0
- package/templates/fullstack-react-python/frontend/package.json +22 -0
- package/templates/fullstack-react-python/frontend/src/App.css +16 -0
- package/templates/fullstack-react-python/frontend/src/App.tsx +22 -0
- package/templates/fullstack-react-python/frontend/src/main.tsx +9 -0
- package/templates/fullstack-react-python/frontend/tsconfig.json +20 -0
- package/templates/fullstack-react-python/frontend/vite.config.ts +14 -0
- package/templates/fullstack-vue-node/README.md +35 -0
- package/templates/fullstack-vue-node/_gitignore +7 -0
- package/templates/fullstack-vue-node/_template.json +14 -0
- package/templates/fullstack-vue-node/backend/package.json +22 -0
- package/templates/fullstack-vue-node/backend/src/index.ts +20 -0
- package/templates/fullstack-vue-node/backend/tsconfig.json +17 -0
- package/templates/fullstack-vue-node/backend/tsup.config.ts +9 -0
- package/templates/fullstack-vue-node/frontend/index.html +12 -0
- package/templates/fullstack-vue-node/frontend/package.json +20 -0
- package/templates/fullstack-vue-node/frontend/src/App.vue +41 -0
- package/templates/fullstack-vue-node/frontend/src/main.ts +4 -0
- package/templates/fullstack-vue-node/frontend/src/vite-env.d.ts +1 -0
- package/templates/fullstack-vue-node/frontend/tsconfig.json +20 -0
- package/templates/fullstack-vue-node/frontend/vite.config.ts +14 -0
- package/templates/fullstack-vue-node/package.json +10 -0
- package/templates/fullstack-vue-node/pnpm-workspace.yaml +3 -0
- package/templates/next-ts/README.md +26 -0
- package/templates/next-ts/_gitignore +34 -0
- package/templates/next-ts/_template.json +13 -0
- package/templates/next-ts/next.config.ts +7 -0
- package/templates/next-ts/package.json +22 -0
- package/templates/next-ts/src/app/globals.css +21 -0
- package/templates/next-ts/src/app/layout.tsx +19 -0
- package/templates/next-ts/src/app/page.tsx +10 -0
- package/templates/next-ts/tsconfig.json +27 -0
- package/templates/node-ts/README.md +21 -0
- package/templates/node-ts/_gitignore +7 -0
- package/templates/node-ts/_template.json +16 -0
- package/templates/node-ts/package.json +19 -0
- package/templates/node-ts/src/index.ts +1 -0
- package/templates/node-ts/tsconfig.json +17 -0
- package/templates/node-ts/tsup.config.ts +9 -0
- package/templates/python-uv/README.md +22 -0
- package/templates/python-uv/_gitignore +30 -0
- package/templates/python-uv/_template.json +14 -0
- package/templates/python-uv/pyproject.toml +20 -0
- package/templates/python-uv/src/project_name/__init__.py +10 -0
- package/templates/python-uv/src/project_name/__main__.py +4 -0
- package/templates/react-ts/_gitignore +6 -0
- package/templates/react-ts/_template.json +13 -0
- package/templates/react-ts/index.html +13 -0
- package/templates/react-ts/package.json +23 -0
- package/templates/react-ts/src/App.css +14 -0
- package/templates/react-ts/src/App.tsx +12 -0
- package/templates/react-ts/src/index.css +11 -0
- package/templates/react-ts/src/main.tsx +10 -0
- package/templates/react-ts/tsconfig.json +20 -0
- package/templates/react-ts/vite.config.ts +6 -0
- package/templates/springboot/.mvn/wrapper/maven-wrapper.properties +2 -0
- package/templates/springboot/README.md +27 -0
- package/templates/springboot/_gitignore +36 -0
- package/templates/springboot/_template.json +14 -0
- package/templates/springboot/mvnw +19 -0
- package/templates/springboot/mvnw.cmd +13 -0
- package/templates/springboot/pom.xml +46 -0
- package/templates/springboot/src/main/java/com/example/project_name/Application.java +12 -0
- package/templates/springboot/src/main/java/com/example/project_name/controller/HelloController.java +25 -0
- package/templates/springboot/src/main/resources/application.yml +6 -0
- package/templates/springboot/src/test/java/com/example/project_name/ApplicationTests.java +12 -0
- package/templates/template.config.json +102 -0
- package/templates/vue-ts/_gitignore +6 -0
- package/templates/vue-ts/_template.json +13 -0
- package/templates/vue-ts/index.html +13 -0
- package/templates/vue-ts/package.json +20 -0
- package/templates/vue-ts/src/App.vue +37 -0
- package/templates/vue-ts/src/main.ts +5 -0
- package/templates/vue-ts/src/style.css +11 -0
- package/templates/vue-ts/src/vite-env.d.ts +7 -0
- package/templates/vue-ts/tsconfig.json +20 -0
- package/templates/vue-ts/vite.config.ts +6 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# {{projectName}}
|
|
2
|
+
|
|
3
|
+
Python 项目,使用 uv 包管理器
|
|
4
|
+
|
|
5
|
+
## 开发
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
uv run python -m {{projectName}}
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 测试
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
uv run pytest
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 格式化
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uv run ruff check --fix
|
|
21
|
+
uv run ruff format
|
|
22
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Byte-compiled
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Distribution
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.egg-info/
|
|
10
|
+
|
|
11
|
+
# Virtual environments
|
|
12
|
+
.venv/
|
|
13
|
+
venv/
|
|
14
|
+
ENV/
|
|
15
|
+
|
|
16
|
+
# IDE
|
|
17
|
+
.idea/
|
|
18
|
+
.vscode/
|
|
19
|
+
*.swp
|
|
20
|
+
|
|
21
|
+
# Testing
|
|
22
|
+
.pytest_cache/
|
|
23
|
+
.coverage
|
|
24
|
+
htmlcov/
|
|
25
|
+
|
|
26
|
+
# Misc
|
|
27
|
+
.DS_Store
|
|
28
|
+
*.log
|
|
29
|
+
.env
|
|
30
|
+
.env.local
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "{{projectName}}"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = ""
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
|
+
dependencies = []
|
|
8
|
+
|
|
9
|
+
[project.scripts]
|
|
10
|
+
{{projectName}} = "{{projectName}}:main"
|
|
11
|
+
|
|
12
|
+
[build-system]
|
|
13
|
+
requires = ["hatchling"]
|
|
14
|
+
build-backend = "hatchling.build"
|
|
15
|
+
|
|
16
|
+
[tool.uv]
|
|
17
|
+
dev-dependencies = [
|
|
18
|
+
"pytest>=8.0.0",
|
|
19
|
+
"ruff>=0.8.0",
|
|
20
|
+
]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>{{projectName}}</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="root"></div>
|
|
11
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{projectName}}",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "tsc -b && vite build",
|
|
9
|
+
"lint": "eslint .",
|
|
10
|
+
"preview": "vite preview"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"react": "^18.3.1",
|
|
14
|
+
"react-dom": "^18.3.1"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@types/react": "^18.3.18",
|
|
18
|
+
"@types/react-dom": "^18.3.5",
|
|
19
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
20
|
+
"typescript": "^5.7.3",
|
|
21
|
+
"vite": "^6.0.7"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
* {
|
|
2
|
+
margin: 0;
|
|
3
|
+
padding: 0;
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
body {
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
9
|
+
-webkit-font-smoothing: antialiased;
|
|
10
|
+
-moz-osx-font-smoothing: grayscale;
|
|
11
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
6
|
+
"module": "ESNext",
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
"moduleResolution": "bundler",
|
|
9
|
+
"allowImportingTsExtensions": true,
|
|
10
|
+
"isolatedModules": true,
|
|
11
|
+
"moduleDetection": "force",
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"jsx": "react-jsx",
|
|
14
|
+
"strict": true,
|
|
15
|
+
"noUnusedLocals": true,
|
|
16
|
+
"noUnusedParameters": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true
|
|
18
|
+
},
|
|
19
|
+
"include": ["src"]
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# {{projectName}}
|
|
2
|
+
|
|
3
|
+
Spring Boot 项目
|
|
4
|
+
|
|
5
|
+
## 开发
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
./mvnw spring-boot:run
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 构建
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
./mvnw clean package
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 测试
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
./mvnw test
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 运行 JAR
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
java -jar target/{{projectName}}-0.1.0.jar
|
|
27
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
HELP.md
|
|
2
|
+
target/
|
|
3
|
+
!.mvn/wrapper/maven-wrapper.jar
|
|
4
|
+
!**/src/main/**/target/
|
|
5
|
+
!**/src/test/**/target/
|
|
6
|
+
|
|
7
|
+
### STS ###
|
|
8
|
+
.apt_generated
|
|
9
|
+
.classpath
|
|
10
|
+
.factorypath
|
|
11
|
+
.project
|
|
12
|
+
.settings
|
|
13
|
+
.springBeans
|
|
14
|
+
.sts4-cache
|
|
15
|
+
|
|
16
|
+
### IntelliJ IDEA ###
|
|
17
|
+
.idea
|
|
18
|
+
*.iws
|
|
19
|
+
*.iml
|
|
20
|
+
*.ipr
|
|
21
|
+
|
|
22
|
+
### NetBeans ###
|
|
23
|
+
/nbproject/private/
|
|
24
|
+
/nbbuild/
|
|
25
|
+
/dist/
|
|
26
|
+
/nbdist/
|
|
27
|
+
/.nb-gradle/
|
|
28
|
+
build/
|
|
29
|
+
!**/src/main/**/build/
|
|
30
|
+
!**/src/test/**/build/
|
|
31
|
+
|
|
32
|
+
### VS Code ###
|
|
33
|
+
.vscode/
|
|
34
|
+
|
|
35
|
+
### Mac ###
|
|
36
|
+
.DS_Store
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Spring Boot 项目模板",
|
|
3
|
+
"packageManager": "maven",
|
|
4
|
+
"postInit": [
|
|
5
|
+
{
|
|
6
|
+
"command": "./mvnw dependency:resolve",
|
|
7
|
+
"description": "下载依赖"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"fileRenames": {
|
|
11
|
+
"_gitignore": ".gitignore",
|
|
12
|
+
"project_name": "{{projectName}}"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# Maven Wrapper script
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-$(cd "$(dirname "$0")" && pwd)}"
|
|
7
|
+
MAVEN_OPTS="${MAVEN_OPTS:-"-Xmx64m"}"
|
|
8
|
+
|
|
9
|
+
# Download maven-wrapper.jar if not present
|
|
10
|
+
WRAPPER_JAR="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
|
|
11
|
+
if [ ! -f "$WRAPPER_JAR" ]; then
|
|
12
|
+
echo "Downloading Maven Wrapper..."
|
|
13
|
+
mkdir -p "$MAVEN_PROJECTBASEDIR/.mvn/wrapper"
|
|
14
|
+
curl -sL https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar -o "$WRAPPER_JAR"
|
|
15
|
+
fi
|
|
16
|
+
|
|
17
|
+
exec java $MAVEN_OPTS \
|
|
18
|
+
-classpath "$WRAPPER_JAR" \
|
|
19
|
+
org.apache.maven.wrapper.MavenWrapperMain "$@"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
@REM Maven Wrapper script for Windows
|
|
3
|
+
|
|
4
|
+
set MAVEN_PROJECTBASEDIR=%~dp0
|
|
5
|
+
set WRAPPER_JAR=%MAVEN_PROJECTBASEDIR%.mvn\wrapper\maven-wrapper.jar
|
|
6
|
+
|
|
7
|
+
if not exist "%WRAPPER_JAR%" (
|
|
8
|
+
echo Downloading Maven Wrapper...
|
|
9
|
+
mkdir "%MAVEN_PROJECTBASEDIR%.mvn\wrapper" 2>NUL
|
|
10
|
+
powershell -Command "Invoke-WebRequest -Uri 'https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar' -OutFile '%WRAPPER_JAR%'"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
java %MAVEN_OPTS% -classpath "%WRAPPER_JAR%" org.apache.maven.wrapper.MavenWrapperMain %*
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
|
5
|
+
https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
6
|
+
<modelVersion>4.0.0</modelVersion>
|
|
7
|
+
|
|
8
|
+
<parent>
|
|
9
|
+
<groupId>org.springframework.boot</groupId>
|
|
10
|
+
<artifactId>spring-boot-starter-parent</artifactId>
|
|
11
|
+
<version>3.4.2</version>
|
|
12
|
+
<relativePath/>
|
|
13
|
+
</parent>
|
|
14
|
+
|
|
15
|
+
<groupId>com.example</groupId>
|
|
16
|
+
<artifactId>{{projectName}}</artifactId>
|
|
17
|
+
<version>0.1.0</version>
|
|
18
|
+
<name>{{projectName}}</name>
|
|
19
|
+
<description>Spring Boot project</description>
|
|
20
|
+
|
|
21
|
+
<properties>
|
|
22
|
+
<java.version>21</java.version>
|
|
23
|
+
</properties>
|
|
24
|
+
|
|
25
|
+
<dependencies>
|
|
26
|
+
<dependency>
|
|
27
|
+
<groupId>org.springframework.boot</groupId>
|
|
28
|
+
<artifactId>spring-boot-starter-web</artifactId>
|
|
29
|
+
</dependency>
|
|
30
|
+
|
|
31
|
+
<dependency>
|
|
32
|
+
<groupId>org.springframework.boot</groupId>
|
|
33
|
+
<artifactId>spring-boot-starter-test</artifactId>
|
|
34
|
+
<scope>test</scope>
|
|
35
|
+
</dependency>
|
|
36
|
+
</dependencies>
|
|
37
|
+
|
|
38
|
+
<build>
|
|
39
|
+
<plugins>
|
|
40
|
+
<plugin>
|
|
41
|
+
<groupId>org.springframework.boot</groupId>
|
|
42
|
+
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
43
|
+
</plugin>
|
|
44
|
+
</plugins>
|
|
45
|
+
</build>
|
|
46
|
+
</project>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
package com.example.{{projectName}};
|
|
2
|
+
|
|
3
|
+
import org.springframework.boot.SpringApplication;
|
|
4
|
+
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
5
|
+
|
|
6
|
+
@SpringBootApplication
|
|
7
|
+
public class Application {
|
|
8
|
+
|
|
9
|
+
public static void main(String[] args) {
|
|
10
|
+
SpringApplication.run(Application.class, args);
|
|
11
|
+
}
|
|
12
|
+
}
|
package/templates/springboot/src/main/java/com/example/project_name/controller/HelloController.java
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
package com.example.{{projectName}}.controller;
|
|
2
|
+
|
|
3
|
+
import org.springframework.web.bind.annotation.GetMapping;
|
|
4
|
+
import org.springframework.web.bind.annotation.RestController;
|
|
5
|
+
|
|
6
|
+
import java.util.Map;
|
|
7
|
+
|
|
8
|
+
@RestController
|
|
9
|
+
public class HelloController {
|
|
10
|
+
|
|
11
|
+
@GetMapping("/")
|
|
12
|
+
public Map<String, String> index() {
|
|
13
|
+
return Map.of("message", "Welcome to {{projectName}}");
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@GetMapping("/health")
|
|
17
|
+
public Map<String, String> health() {
|
|
18
|
+
return Map.of("status", "ok");
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@GetMapping("/api/hello")
|
|
22
|
+
public Map<String, String> hello() {
|
|
23
|
+
return Map.of("message", "Hello, World!");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"templates": [
|
|
3
|
+
{
|
|
4
|
+
"name": "node-ts",
|
|
5
|
+
"displayName": "Node.js + TypeScript",
|
|
6
|
+
"description": "Node.js 项目,使用 TypeScript 和 pnpm",
|
|
7
|
+
"dir": "node-ts",
|
|
8
|
+
"category": "single"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "express-ts",
|
|
12
|
+
"displayName": "Express + TypeScript API",
|
|
13
|
+
"description": "Express.js API 项目,使用 TypeScript",
|
|
14
|
+
"dir": "express-ts",
|
|
15
|
+
"category": "single"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "react-ts",
|
|
19
|
+
"displayName": "React + TypeScript",
|
|
20
|
+
"description": "React 18 项目,使用 Vite 和 TypeScript",
|
|
21
|
+
"dir": "react-ts",
|
|
22
|
+
"category": "single"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "vue-ts",
|
|
26
|
+
"displayName": "Vue + TypeScript",
|
|
27
|
+
"description": "Vue 3 项目,使用 Vite 和 TypeScript",
|
|
28
|
+
"dir": "vue-ts",
|
|
29
|
+
"category": "single"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "next-ts",
|
|
33
|
+
"displayName": "Next.js 全栈",
|
|
34
|
+
"description": "Next.js 14 全栈项目,使用 App Router 和 TypeScript",
|
|
35
|
+
"dir": "next-ts",
|
|
36
|
+
"category": "single"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "python-uv",
|
|
40
|
+
"displayName": "Python (uv)",
|
|
41
|
+
"description": "Python 项目,使用 uv 包管理器",
|
|
42
|
+
"dir": "python-uv",
|
|
43
|
+
"category": "single"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "fastapi",
|
|
47
|
+
"displayName": "FastAPI",
|
|
48
|
+
"description": "FastAPI 项目,使用 uv 包管理器",
|
|
49
|
+
"dir": "fastapi",
|
|
50
|
+
"category": "single"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "django",
|
|
54
|
+
"displayName": "Django",
|
|
55
|
+
"description": "Django 项目,使用 uv 包管理器",
|
|
56
|
+
"dir": "django",
|
|
57
|
+
"category": "single"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "flask",
|
|
61
|
+
"displayName": "Flask",
|
|
62
|
+
"description": "Flask 项目,使用 uv 包管理器",
|
|
63
|
+
"dir": "flask",
|
|
64
|
+
"category": "single"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "springboot",
|
|
68
|
+
"displayName": "Spring Boot",
|
|
69
|
+
"description": "Spring Boot 3.x 项目,使用 Maven",
|
|
70
|
+
"dir": "springboot",
|
|
71
|
+
"category": "single"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "empty",
|
|
75
|
+
"displayName": "空项目",
|
|
76
|
+
"description": "仅包含基础配置的空项目",
|
|
77
|
+
"dir": "empty",
|
|
78
|
+
"category": "single"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "fullstack-react-node",
|
|
82
|
+
"displayName": "React + Node.js 全栈",
|
|
83
|
+
"description": "前后端分离项目,pnpm workspace",
|
|
84
|
+
"dir": "fullstack-react-node",
|
|
85
|
+
"category": "fullstack"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "fullstack-vue-node",
|
|
89
|
+
"displayName": "Vue + Node.js 全栈",
|
|
90
|
+
"description": "前后端分离项目,pnpm workspace",
|
|
91
|
+
"dir": "fullstack-vue-node",
|
|
92
|
+
"category": "fullstack"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "fullstack-react-python",
|
|
96
|
+
"displayName": "React + Python 全栈",
|
|
97
|
+
"description": "前后端分离项目,React + FastAPI",
|
|
98
|
+
"dir": "fullstack-react-python",
|
|
99
|
+
"category": "fullstack"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>{{projectName}}</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="app"></div>
|
|
11
|
+
<script type="module" src="/src/main.ts"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{projectName}}",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vite",
|
|
8
|
+
"build": "vue-tsc -b && vite build",
|
|
9
|
+
"preview": "vite preview"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"vue": "^3.5.13"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@vitejs/plugin-vue": "^5.2.1",
|
|
16
|
+
"typescript": "^5.7.3",
|
|
17
|
+
"vite": "^6.0.7",
|
|
18
|
+
"vue-tsc": "^2.2.0"
|
|
19
|
+
}
|
|
20
|
+
}
|