Pure Ts [ Instant ]
Start simple, keep strict on, and let the types guide your code. Want a downloadable starter template or a deep dive into any specific concept? Let me know.
pure-ts-demo/ ├── src/ │ ├── index.ts │ ├── types.ts │ └── utils.ts ├── dist/ (generated) ├── package.json ├── tsconfig.json └── .gitignore 5. Add scripts to package.json "scripts": "build": "tsc", "start": "node dist/index.js", "dev": "tsc --watch & nodemon dist/index.js" pure ts
What is "Pure TypeScript"? "Pure TypeScript" refers to using TypeScript in its most straightforward form — without frameworks, libraries, or complex build toolchains. The code is written in .ts files, compiled with the TypeScript compiler ( tsc ), and run as plain JavaScript. Start simple, keep strict on, and let the
manager.addTask( title: "Learn Pure TypeScript", status: "in-progress" ); manager.addTask( title: "Write documentation", status: "pending" ); manager.addTask( title: "Deploy to production", status: "pending" ); pure-ts-demo/ ├── src/ │ ├── index
Let's build a simple CLI task manager in pure TypeScript. src/types.ts export type TaskStatus = "pending" | "in-progress" | "done"; export interface Task id: number; title: string; status: TaskStatus; createdAt: Date;
import Task, TaskInput, TaskStatus from "./types.js"; import validateTaskTitle, formatTask from "./utils.js"; class TaskManager private tasks: Task[] = []; private nextId = 1;
export type TaskInput = Omit<Task, "id" | "createdAt">; import Task from "./types.js"; export function validateTaskTitle(title: string): boolean return title.trim().length > 0 && title.length <= 100;