Switch TypeScript rules from Deno to Node and Vite+
This commit is contained in:
@@ -9,7 +9,7 @@ Languages are allowed only if they meet **all** of the following criteria:
|
|||||||
- Java is not allowed; use Kotlin instead.
|
- Java is not allowed; use Kotlin instead.
|
||||||
2. **Type safety**
|
2. **Type safety**
|
||||||
- For Python, type hints with a strict type checker are mandatory.
|
- For Python, type hints with a strict type checker are mandatory.
|
||||||
- Use TypeScript instead of JavaScript.
|
- Use TypeScript instead of JavaScript. Only `.ts` files are allowed, including config files; `.js`, `.mjs`, `.cjs`, `.jsx`, and `.tsx` are not allowed.
|
||||||
3. **Concurrency support**
|
3. **Concurrency support**
|
||||||
- Event-driven, async models only.
|
- Event-driven, async models only.
|
||||||
- Thread-based models are not allowed.
|
- Thread-based models are not allowed.
|
||||||
@@ -34,7 +34,7 @@ For Python, always use `uv`, `ruff`, and `ty` for code quality.
|
|||||||
|
|
||||||
## Frontend
|
## Frontend
|
||||||
|
|
||||||
A **no-framework approach is mandatory**. Always focus on web standards. Web components composed of pure HTML, CSS, and JavaScript must be used. Third-party frameworks do not guarantee long-term security, stability, or continued adoption.
|
A **no-framework approach is mandatory**. Always focus on web standards. Web components composed of pure HTML, CSS, and TypeScript must be used. Third-party frameworks do not guarantee long-term security, stability, or continued adoption.
|
||||||
|
|
||||||
By using only web components, we achieve:
|
By using only web components, we achieve:
|
||||||
|
|
||||||
@@ -55,7 +55,10 @@ This means banned options include, but are not limited to:
|
|||||||
|
|
||||||
Currently approved options are:
|
Currently approved options are:
|
||||||
|
|
||||||
- Lit
|
- [Lit](https://lit.dev)
|
||||||
- Raw TypeScript
|
- [Web Awesome](https://webawesome.com)
|
||||||
|
- [Raw TypeScript](https://www.typescriptlang.org)
|
||||||
|
|
||||||
For all TypeScript projects, always prefer Deno over Node. Deno provides built-in support for type-checking, linting, formatting, and bundling.
|
For new and migrated TypeScript projects, use [Node.js](https://nodejs.org) (24 LTS) with [Vite+](https://viteplus.dev) (`vp`). Vite+ provides linting (Oxlint), formatting (Oxfmt), type checking, testing (Vitest), and bundling (tsdown).
|
||||||
|
|
||||||
|
The only config files in each TypeScript project are `package.json`, `tsconfig.json`, and `vite.config.ts`.
|
||||||
|
|||||||
Reference in New Issue
Block a user