forked from microsoft/TypeScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Project Organization
Jake Chitel edited this page Feb 9, 2018
·
3 revisions
The repo is split into the following directories, with some files to highlight:
-
/
: The root directory, containing high-level configuration files, fairly standard.-
.editorconfig
: Editor configuration, consumed by supporting editors (I believe VS Code supports this?) -
.git*
: Git configuration files. I should be able to ignore these -
.mailmap
: Seems to be a sort of address book for contributors -
.npmignore
: I've never dealt with publishing to NPM before, but I believe this specifies files to be ignored from an NPM package distribution, effectively controlling exactly what gets installed when a user installs the package. Seems like everything but bin/, lib/, and some top-level files are ignored. -
.travis.yml
: Travis build configuration file. Not used explicitly anywhere else so it can be assumed that this is just used by Travis. Should be able to ignore this. -
AUTHORS.md
: List of contributors -
CONTRIBUTING.md
: Instructions for contributors -
CopyrightNotice.txt
: Pretty self-explanatory -
Gulpfile.ts
: See "Gulp" section. -
issue_template.md
: Issue template for GitHub. Not sure why this isn't under .github/, but whatever -
Jakefile.js
: See "Jake" section. -
jenkins.sh
: Jenkins build script, not sure what calls it aside from netci.groovy. -
LICENSE.txt
: The TypeScript license file. -
netci.groovy
: Calls jenkins.sh, not referenced anywhere in the codebase. -
package-lock.json
: NPM package lock file. This file should never be marked modified unless dependencies are added. -
package.json
: See "package.json" section. -
pull_request_template.md
: Pull request template for GitHub. Not sure why this isn't under .github/, but whatever -
README.md
: TypeScript's main README. I shouldn't modify this. -
ThirdPartyNoticeText.txt
: Legal garbage -
tslint.json
: TSLint configuration
-
-
/.vscode/
: Contains VS Code task configurations -
/bin/
: TypeScript's entry-point files-
tsc
: TypeScript compiler (calls lib/tsc.js) -
tsserver
: TypeScript language server (calls lib/tsserver.js)
-
-
/doc/
: Miscellaneous documentation (links to external documentation, and the spec, which is extremely outdated) -
/lib/
: Contains the latest built typescript library files, for use for compiling fresh copies of the source. Also the destination directory for compiled results.-
{locale}/
: A subdirectory for each locale supported by typescript. Each contains only a diagnosticMessages.generated.json file containing localized messages. -
lib.*.d.ts
: All library type definition files available to programs written in typescript -
*.d.ts
: Internal typescript type definitions (?) -
*.js
: Compiled typescript libraries (all?)
-
-
/scripts/
: Local build/utility scripts, can probably ignore these -
/src/
: The typescript source code-
compiler/
: Source code for compilation (?) -
harness/
: Test harness (?) -
lib/
: Source type definition files -
loc/
: Source data for localized messages -
server/
: Source code for language server -
services/
: No clue what this directory is for, generally (?) -
tsconfig-base.json
: Base config, extended by a tsconfig in each subdirectory
-
-
/tests/
: All sorts of tests (TODO)