LAB / EXPLORATION
TypeScript Lab: Auto Slug and Unique ID
Planned
LAB 095 — CRUD & Persistence
Generate stable slugs and unique IDs from record titles.
LAB
TypeScript Lab: Auto Slug and Unique ID
Preview coming soon
TypeScript Lab: Auto Slug and Unique ID
Concept
Readable slugs and collision-resistant IDs solve different identity problems.
Concept
Readable slugs and collision-resistant IDs solve different identity problems.
Objective & Explanation
What the project should make visible and why the concept matters.Learning Target
Objective
Generate stable slugs and unique IDs from record titles.
Explanation
Readable slugs and collision-resistant IDs solve different identity problems.
Project Plan
Structure, technologies, data boundary, and source connection.Build Instructions
Build only the focused behavior, then use the visual layer to inspect it.Setup
Create the standalone project folder and listed files.Install TypeScript locally and initialize the compiler configuration.
Implement
Implement the smallest version that demonstrates the concept.- Implement only the concept shown in the code example.
- Compile the TypeScript and load the browser page.
Run & Inspect
Change one input and observe the visible output change.Change one input or action and confirm the visible result changes for the expected reason.
Code & Configuration
Starter configuration plus the focused implementation example.Focused TypeScript
Implement this behavior first, then alter the input.import { randomUUID } from "node:crypto";
function uniqueId(title: string): string {
const slug = slugify(title).slice(0, 42);
const suffix = randomUUID().replace(/-/g, "").slice(0, 10);
return `rec-${slug}-${suffix}`;
}Starter Configuration
Keep the project independently buildable.package.json
{
"type": "module",
"scripts": { "build": "tsc" },
"devDependencies": { "typescript": "^7.0.2" }
}tsconfig.json
{
"compilerOptions": {
"rootDir": "./src",
"outDir": "./dist",
"target": "ES2022",
"module": "ES2022",
"lib": ["ES2022", "DOM"],
"strict": true,
"sourceMap": true
},
"include": ["src/**/*.ts"]
}Expected Visual Result
The output is the proof that the concept is working.Visible Proof
The browser should visibly demonstrate: generate stable slugs and unique IDs from record titles.
Data: None