Project Organization
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)