-
Notifications
You must be signed in to change notification settings - Fork 12.6k
How the User Tests Work
There are two types of user tests: npm install and submodule.
npm install tests have two purposes.
- Test the user experience of a Typescript package.
- Test compilation of a Javascript package without having to use submodules.
These tests have at least a package.json and a tsconfig.json.
In the Typescript-user case, there is also an index.ts that matches how the user is expected to use the library. However, today, most of these files are just import x = require('x')
. This just makes sure that the typings exported by the project continue to work with new versions of Typescript, even if the authors aren't paying attention to new versions.
In the Javascript-source case, the tsconfig.json points into the node_modules directory: include: ['node_modules/x/src']
or something similar. Many Javascript projects ship their source or something close to it, and an npm install is much easier than a git submodule.
Submodule tests let us test project source without needing to check in a copy to a repo that we own. This is better than our internal real-world code tests, because reproing errors is much easier: just clone the repo and run tsc. However, it requires an open source project that can build with a single call to tsc. That excludes modern Angular and many Microsoft-internal projects.
Also you have to use submodules.
- They are submodules!
- The submodule repo name needs to be the same as the containing directory name.
News
Debugging TypeScript
- Performance
- Performance-Tracing
- Debugging-Language-Service-in-VS-Code
- Getting-logs-from-TS-Server-in-VS-Code
- JavaScript-Language-Service-in-Visual-Studio
- Providing-Visual-Studio-Repro-Steps
Contributing to TypeScript
- Contributing to TypeScript
- TypeScript Design Goals
- Coding Guidelines
- Useful Links for TypeScript Issue Management
- Writing Good Design Proposals
- Compiler Repo Notes
- Deployment
Building Tools for TypeScript
- Architectural Overview
- Using the Compiler API
- Using the Language Service API
- Standalone Server (tsserver)
- TypeScript MSBuild In Depth
- Debugging Language Service in VS Code
- Writing a Language Service Plugin
- Docker Quickstart
FAQs
The Main Repo