diff --git a/docs/.gitignore b/docs/.gitignore
index 7df88fdf9e8..072eb4cac60 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -3,6 +3,7 @@ api
.vitepress/cache
.vitepress/dist
public/api.json
+public/reference-sidebar.json
# Yarn
.pnp.*
@@ -13,4 +14,3 @@ public/api.json
!.yarn/cache
!.yarn/sdks
!.yarn/versions
-
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index 867340ca81a..86efede72dc 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -1,14 +1,15 @@
import {apiAnchor} from "@tsed/vitepress-theme/markdown/api-anchor/api-anchor.js";
import {defineConfig} from "vitepress";
import pkg from "../../package.json";
-import {getSidebar} from "./api.js";
+import referenceSidebar from "../public/reference-sidebar.json"
+import team from "../team.json"
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "Ts.ED",
lastUpdated: true,
-
+ description: "Ts.ED is a modern Node.js framework built with TypeScript. It offers a flexible structure with a fast learning curve, specifically designed to improve the developer experience. Ts.ED provides numerous decorators and guidelines to make your code more readable and less error-prone. It supports various platforms and tools, including Node.js/Bun.js, Express.js/Koa.js, CLI, and serverless architectures (e.g., AWS).",
sitemap: {
hostname: "https://tsed.io"
},
@@ -33,6 +34,7 @@ export default defineConfig({
logo: "/tsed.svg",
siteTitle: false,
apiUrl: "/api.json",
+ team,
apiRedirectUrl: "",
repo: "tsedio/tsed",
githubProxyUrl: "https://api.tsed.io/rest/github/tsedio/tsed",
@@ -560,8 +562,7 @@ export default defineConfig({
].sort((a, b) => a.text.localeCompare(b.text))
}
],
-
- "/api/": getSidebar()
+ "/api/": referenceSidebar
},
socialLinks: [
{icon: "github", link: "https://github.com/tsedio/tsed"},
diff --git a/docs/.vitepress/api.ts b/docs/.vitepress/scripts/api-summary.js
similarity index 85%
rename from docs/.vitepress/api.ts
rename to docs/.vitepress/scripts/api-summary.js
index 23699c5b236..0a198bbe116 100644
--- a/docs/.vitepress/api.ts
+++ b/docs/.vitepress/scripts/api-summary.js
@@ -1,5 +1,6 @@
import {mapApiReferences} from "@tsed/vitepress-theme/composables/api/mappers/mapApiReferences.js";
-import api from "../public/api.json";
+import api from "../../public/api.json" with { type: "json" };
+import {writeFile} from "node:fs/promises";
const IS_CORES = /core|@tsed\/di|hooks|schema$|\/exceptions$|engines|json-mapper|open-spec/;
const IS_PLATFORM = /platform/;
@@ -31,7 +32,7 @@ export function getSidebar() {
platformModules.push(item);
} else if (IS_ORM.test(module)) {
ormModules.push(item);
- }else {
+ } else {
thirdParties.push(item);
}
});
@@ -56,3 +57,5 @@ export function getSidebar() {
];
}
+
+await writeFile(import.meta.dirname + "/../../public/reference-sidebar.json", JSON.stringify(getSidebar(), null, 2));
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
index c7f17922b83..ec02c623bb2 100644
--- a/docs/.vitepress/theme/index.ts
+++ b/docs/.vitepress/theme/index.ts
@@ -1,15 +1,15 @@
// https://vitepress.dev/guide/custom-theme
import {DefaultTheme} from "@tsed/vitepress-theme";
-import type {Theme} from "vitepress";
-import {h} from "vue";
import HomeBanner from "@tsed/vitepress-theme/organisms/home/HomeBanner.vue";
-import HomePartners from "@tsed/vitepress-theme/organisms/home/HomePartners.vue";
import HomeBody from "@tsed/vitepress-theme/organisms/home/HomeBody.vue";
import HomeTabsTerminal from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabsTerminal.vue";
+import HomeTabTerminalBun from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalBun.vue";
import HomeTabTerminalNpm from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalNpm.vue";
-import HomeTabTerminalYarn from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalYarn.vue";
import HomeTabTerminalPnpm from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalPnpm.vue";
-import HomeTabTerminalBun from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalBun.vue";
+import HomeTabTerminalYarn from "@tsed/vitepress-theme/organisms/home/terminal/HomeTabTerminalYarn.vue";
+import HomeBeforeFeatures from "@tsed/vitepress-theme/organisms/home/HomeBeforeFeatures.vue";
+import type {Theme} from "vitepress";
+import {h} from "vue";
import "./style.css";
export default {
@@ -26,7 +26,7 @@ export default {
bun: () => h(HomeTabTerminalBun)
})
}),
- "home-features-before": () => h(HomePartners),
+ "home-features-before": () => h(HomeBeforeFeatures),
"home-features-after": () => h(HomeBody)
});
}
diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css
index f00ef8b1960..fd8b9049a5f 100644
--- a/docs/.vitepress/theme/style.css
+++ b/docs/.vitepress/theme/style.css
@@ -3,3 +3,7 @@
padding-right: 0;
}
+
+.box a {
+ color: var(--vp-c-brand-1);
+}
diff --git a/docs/api.md b/docs/api.md
index 6acd11e620b..aad5a15c0c9 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -1,11 +1,13 @@
---
layout: page
sidebar: false
-meta:
- - name: description
- content: Api Reference of Ts.ED. Use decorator to build your model and map data.
- - name: keywords
- content: api reference model decorators ts.ed express typescript node.js javascript jsonschema json mapper serialization deserialization
+head:
+ - - meta
+ - name: description
+ content: Api Reference of Ts.ED. Use decorator to build your model and map data.
+ - - meta
+ - name: keywords
+ content: api reference model decorators ts.ed express typescript node.js javascript jsonschema json mapper serialization deserialization
---
-
-
- Team members
-
-
-
diff --git a/docs/introduction/create-your-first-controller.md b/docs/introduction/create-your-first-controller.md
index 242f0c4d13e..f1d79859ab4 100644
--- a/docs/introduction/create-your-first-controller.md
+++ b/docs/introduction/create-your-first-controller.md
@@ -2,11 +2,13 @@
next:
text: Controllers
link: /docs/controllers
-meta:
- - name: description
- content: Create your first controller. Ts.ED is built on top of Express and uses TypeScript language.
- - name: keywords
- content: controller getting started ts.ed express typescript node.js javascript decorators mvc class models
+head:
+ - - meta
+ - name: description
+ content: Create your first controller. Ts.ED is built on top of Express and uses TypeScript language.
+ - - meta
+ - name: keywords
+ content: controller getting started ts.ed express typescript node.js javascript decorators mvc class models
---
# Create your first controller
diff --git a/docs/introduction/getting-started.md b/docs/introduction/getting-started.md
index bb8e7f116d2..9db526937dc 100644
--- a/docs/introduction/getting-started.md
+++ b/docs/introduction/getting-started.md
@@ -141,7 +141,7 @@ If none of previous solutions are satisfying maybe you are in these cases:
Now you can follow one of these links to develop your new application:
-[//]: # "- [Create your first controller](/getting-started/create-your-first-controller.md)"
-[//]: # "- [Change server configuration](/docs/configuration.md)"
-[//]: # "- [Load configuration from files](/docs/configuration.md)"
-[//]: # "- [What is the Platform API](/docs/platform-api.md)"
+- [Create your first controller](/introduction/create-your-first-controller.md)
+- [Change server configuration](/docs/configuration/index.md)
+- [Load configuration from files](/docs/configuration/index.md)
+- [What is the Platform API](/docs/platform-api.md)
diff --git a/docs/introduction/migrate-from-v7.md b/docs/introduction/migrate-from-v7.md
index e23c1ccdf92..c5b5bd594cc 100644
--- a/docs/introduction/migrate-from-v7.md
+++ b/docs/introduction/migrate-from-v7.md
@@ -1,9 +1,11 @@
---
-meta:
- - name: description
- content: Migrate Ts.ED application from v7 to v8. Ts.ED is built on top of Express and uses TypeScript language.
- - name: keywords
- content: migration getting started ts.ed express typescript node.js javascript decorators mvc class models
+head:
+ - - meta
+ - name: description
+ content: Migrate Ts.ED application from v7 to v8. Ts.ED is built on top of Express and uses TypeScript language.
+ - - meta
+ - name: keywords
+ content: migration getting started ts.ed express typescript node.js javascript decorators mvc class models
---
# Migrate from v7 to v8
diff --git a/docs/package.json b/docs/package.json
index 30c2f733dc8..bf1f6337b5a 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -3,12 +3,13 @@
"version": "8.0.4",
"type": "module",
"scripts": {
- "docs:dev": "vitepress dev .",
- "docs:build": "vitepress build .",
- "docs:preview": "vitepress preview ."
+ "docs:dev": "yarn build:api:summary && vitepress dev .",
+ "docs:build": "yarn build:api:summary && vitepress build .",
+ "docs:preview": "vitepress preview .",
+ "build:api:summary": "node ./.vitepress/scripts/api-summary.js"
},
"dependencies": {
- "@tsed/vitepress-theme": "1.4.0",
+ "@tsed/vitepress-theme": "1.5.1",
"@vueuse/core": "10.11.0",
"axios": "1.7.7",
"lodash": "4.17.21",
diff --git a/docs/plugins/index.md b/docs/plugins/index.md
index 836ef6669d7..216b9332eb9 100644
--- a/docs/plugins/index.md
+++ b/docs/plugins/index.md
@@ -1,10 +1,12 @@
---
layout: page
-meta:
- - name: description
- content: Discover our list of plugins to extends your Ts.ED project. Created by the Ts.ED team and community.
- - name: keywords
- content: Ts.ED nodejs express typescript javascript es6 decorators mvc model ioc service model middleware socket.io swagger typeorm mongoose ajv
+head:
+ - - meta
+ - name: description
+ content: Discover our list of plugins to extends your Ts.ED project. Created by the Ts.ED team and community.
+ - - meta
+ - name: keywords
+ content: Ts.ED nodejs express typescript javascript es6 decorators mvc model ioc service model middleware socket.io swagger typeorm mongoose ajv
---
diff --git a/docs/yarn.lock b/docs/yarn.lock
index eee3f50e73b..0214a24281a 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -734,7 +734,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@tsed/docs-new@workspace:."
dependencies:
- "@tsed/vitepress-theme": "npm:1.4.0"
+ "@tsed/vitepress-theme": "npm:1.5.1"
"@vueuse/core": "npm:10.11.0"
autoprefixer: "npm:^10.4.19"
axios: "npm:1.7.7"
@@ -746,14 +746,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@tsed/vitepress-theme@npm:1.4.0":
- version: 1.4.0
- resolution: "@tsed/vitepress-theme@npm:1.4.0"
+"@tsed/vitepress-theme@npm:1.5.1":
+ version: 1.5.1
+ resolution: "@tsed/vitepress-theme@npm:1.5.1"
dependencies:
"@vueuse/core": "npm:10.11.0"
axios: "npm:1.7.7"
lucide-vue-next: "npm:^0.436.0"
- checksum: 10/4b42f36e7513ae6c85ef6433d269f0d48510a4d3c0d1a1a51bfdfd254716039cd9a405140b479f1025b95335003c1f75ad5ec819648627e9294599102cdf93ac
+ checksum: 10/9ab612c81c3d4d1999bbdf21043808837c035c99749e6741bef80f8656e689494cc15272e64b834d99eef2c5580b95f598eec7a8a19636683db8c40482d8818d
languageName: node
linkType: hard
diff --git a/readme.md b/readme.md
index f49eb6a53b7..a475423abd3 100644
--- a/readme.md
+++ b/readme.md
@@ -28,12 +28,15 @@
-> A Node.js and TypeScript Framework on top of Express. It provides a lot of decorators and guidelines to write your code.
-
## What it is
-Ts.ED is a Node.js and TypeScript Framework on top of Express/Koa.js. Ts.ED is a framework on top of Express/Koa to write your application with TypeScript (or ES6).
-It provides a lot of decorators and guideline to make your code more readable and less error-prone.
+Ts.ED is a modern Node.js framework built with TypeScript. It offers a flexible structure with a fast learning curve, specifically designed to improve the developer experience. Ts.ED provides numerous decorators and guidelines to make your code more readable and less error-prone. It supports various platforms and tools, including Node.js/Bun.js, Express.js/Koa.js, CLI, and serverless architectures (e.g., AWS).
+
+- Multi-platform: Easily build your server-side application using Express.js, Koa.js, CLI, or serverless platforms (e.g., AWS). It supports both Node.js and Bun.js runtimes. Learn more here.
+- Configuration: Stop wasting time on configuration—your application comes preconfigured for a fast start! Try our CLI.
+- Decorators: Use a wide range of decorators to structure your code, define routes, and implement methods with ease. Learn more here.
+- Class-based: Define classes as Controllers, Models, Providers (DI), Pipes, and more, with JSON Schema and OpenAPI at the core of the framework.
+- Testing: Testing is not optional—it's essential! Ts.ED includes built-in features to make testing your code simple and efficient. Learn more here.
## Features
diff --git a/team.json b/team.json
index 93ccf6ad412..73321a9440f 100644
--- a/team.json
+++ b/team.json
@@ -91,8 +91,8 @@
"country": "Germany",
"city": "Cologne",
"role": "Contributor"
- }
- {
+ },
+ {
"title": "Xavier Jamito",
"job": "Developer",
"src": "https://avatars.githubusercontent.com/u/17645632?v=4",