microsoft / microsoft/TypeScript-Website

Investigate Reducing Website Build Time

Open
#2,730 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Infrastructure
Dominant language
TypeScript
Stars
2.6k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
7

Description

One of the rough parts around onboarding (#2500) is that the site takes so long to produce an initial build. Even an incremental build feels surprisingly fast.

We need to get to the point where our website takes no longer than a minute to build, and no longer than 10 seconds for an incremental change. Ideally we could get better results, but I'm setting a reasonable bar when comparing what we have today.

Achieving this may require some compromises in what the site guarantees today, but we would like to keep around most of the features we have (e.g. sample code validation, error messages, Shiki, etc.). So we should benchmark and see where much of the work here is going, see if there's an easy way to keep these around.

We're not wedded to any specific static site generator, nor any specific approach for operating over data, so that's on the table too.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by benchmarking full and incremental website builds, then profile where the work is spent, including sample code validation, error messages, and Shiki. Compare possible build approaches or static site generators while preserving most existing features. Done means full builds take no longer than one minute and incremental builds no longer than 10 seconds.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, performance, web-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.