GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Marcinnet/TypeScript-Website: The Website and web infrastructure for learning TypeScript

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

4,966 Commits
4,966 Commits

Folders and files

NameName
Last commit message
Last commit date
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.vscode
.vscode
 
 
.yarn
.yarn
 
 
docs
docs
 
 
packages
packages
 
 
serve
serve
 
 
test
test
 
 
.gitignore
.gitignore
 
 
.huskyrc.js
.huskyrc.js
 
 
.prettierignore
.prettierignore
 
 
.prettierrc
.prettierrc
 
 
.yarnrc.yml
.yarnrc.yml
 
 
LICENSE
LICENSE
 
 
LICENSE-CODE
LICENSE-CODE
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
dangerfile.ts
dangerfile.ts
 
 
package.json
package.json
 
 
spellcheck.json
spellcheck.json
 
 
watcher.js
watcher.js
 
 
yarn.lock
yarn.lock
 
 

Repository files navigation

Meta

  • URLs: production, staging
  • Admin: Prod: Azure Portal, Deploy logs, App Insights
  • Translations: microsoft/TypeScript-Website-Localizations

Getting Started

This repo uses yarn workspaces with node 13+, and watchman. (Windows users can install watchman via chocolatey)

With those set up, clone this repo and run yarn install.

git clone https://github.com/microsoft/TypeScript-website
cd TypeScript-website
yarn install
code .

# Then:
yarn bootstrap
# Optional, grab the translations:
yarn docs-sync pull microsoft/TypeScript-Website-localizations#main 1

# Now you can start up the website
yarn start

Working on this repo is done by running yarn start - this starts up the website on port 8000 and creates a builder worker for every package in the repo, so if you make a change outside of the site it will compile and lint etc.

Some useful knowledge you need to know:

  • All packages have: yarn build and yarn test
  • All packages use debug - which means you can do env DEBUG="*" yarn test to get verbose logs

You can manually via GH Actions for production here and staging here.

Having issues getting set up? Consult the troubleshooting.

Deployment

Deployment is automatic:

  • Pushes to the branch v2 deploy to staging
  • On a Monday the v2 branch is deployed to production

You can find the build logs in GitHub Actions

Docs

If you want to know in-depth how this website works, there is an hour long video covering the codebase, deployment and tooling on YouTube.. Otherwise there are some short guides:

  • Converting Twoslash Code Samples
  • How i18n Works For Site Copy
  • Updating the TypeScript Version
  • Something Went Wrong

Website Packages

TypeScriptLang-Org

The main website for TypeScript, a Gatsby website which is statically deployed. You can run it via:

yarn start

To optimize even more, the env var NO_TRANSLATIONS as truthy will make the website only load pages for English.

Sandbox

The editor aspect of the TypeScript Playground REPL, useable for all sites which want to show a monaco editor with TypeScript or JavaScript code.

Playground

The JS code has an AMD module for the playground which is loaded at runtime in the Playground website.

Doc Packages

TSConfig Reference

A set of tools and scripts for generating a comprehensive API reference for the TSConfig JSON file.

# Generate JSON from the typescript cli
yarn workspace tsconfig-reference run generate-json
# Jams them all into a single file
yarn workspace tsconfig-reference run generate-markdown

Validate the docs:

yarn workspace tsconfig-reference run test

# or to just run the linter without a build
yarn workspace tsconfig-reference run lint

# or to just one one linter for a single doc
yarn workspace tsconfig-reference run lint resolveJson

Documentation

The docs for TypeScript. Originally ported over from microsoft/TypeScript-Handbook then intermingled with microsoft/TypeScript-New-Handbook, and finally updated for Twoslash and with new content.

JSON Schema

It's a little odd, but the tsconfig-reference package creates the JSON schema for a TSConfig files:

yarn workspace tsconfig-reference build

Then you can find it at: packages/tsconfig-reference/scripts/schema/result/schema.json.

Playground Handbook

The user-facing documentation for the Playground.

Playground Examples

The code samples used in the Playground split across many languages.

Infra Packages

Most of these packages use tsdx.

TS Twoslash

A code sample markup extension for TypeScript. Available on npm: @typescript/twoslash

TypeScript VFS

A comprehensive way to run TypeScript projects in-memory in a browser or node environment. Available on npm: @typescript/vfs

Create Playground Plugin

A template for generating a new playground plugin which you can use via npm init playground-plugin [name]

Handbook Epub

Generates an epub file from the handbook files. You can try downloading it at https://www.typescriptlang.org/assets/typescript-handbook.epub

Community Meta

Generates contribution JSON metadata on who edited handbook pages.

Playground Worker

A web worker which sits between the Playground and Monaco-TypeScript

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Legal Notices

Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the LICENSE-CODE file.

Microsoft, Windows, Microsoft Azure and/or other Microsoft products and services referenced in the documentation may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries. The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at http://go.microsoft.com/fwlink/?LinkID=254653.

Privacy information can be found at https://privacy.microsoft.com/en-us/

Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.

About

The Website and web infrastructure for learning TypeScript

www.typescriptlang.org

Resources

Readme
License

Security policy

Security policy
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.