1. Add a script to generate a sorted list of most costly tests. A tests' cost is roughly `runtime% / number of edits`. A slow test that's only been updated once is much less valuable than a slow test that has been updated 20 times: the latter test is catching more changes in the type system. 2. Check in the results of running this script. I want to make the skipping behaviour deterministic and the same for everybody, even though you may get slightly better performance by examining only *your* test changes. 3. Add code to skip tests until it reaches a 5% chance of missing an edit. Right now this provides a 38% speedup. Still not done: 4. Make this value configurable. 5. Make the CI configuration specify a 0% chance of missing an edit.
115 lines
3.5 KiB
JSON
115 lines
3.5 KiB
JSON
{
|
|
"name": "typescript",
|
|
"author": "Microsoft Corp.",
|
|
"homepage": "https://www.typescriptlang.org/",
|
|
"version": "3.6.0",
|
|
"license": "Apache-2.0",
|
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
"keywords": [
|
|
"TypeScript",
|
|
"Microsoft",
|
|
"compiler",
|
|
"language",
|
|
"javascript"
|
|
],
|
|
"bugs": {
|
|
"url": "https://github.com/Microsoft/TypeScript/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/Microsoft/TypeScript.git"
|
|
},
|
|
"main": "./lib/typescript.js",
|
|
"typings": "./lib/typescript.d.ts",
|
|
"bin": {
|
|
"tsc": "./bin/tsc",
|
|
"tsserver": "./bin/tsserver"
|
|
},
|
|
"engines": {
|
|
"node": ">=4.2.0"
|
|
},
|
|
"devDependencies": {
|
|
"@octokit/rest": "latest",
|
|
"@types/browserify": "latest",
|
|
"@types/chai": "latest",
|
|
"@types/convert-source-map": "latest",
|
|
"@types/del": "latest",
|
|
"@types/glob": "latest",
|
|
"@types/gulp": "^4.0.5",
|
|
"@types/gulp-concat": "latest",
|
|
"@types/gulp-newer": "latest",
|
|
"@types/gulp-rename": "0.0.33",
|
|
"@types/gulp-sourcemaps": "0.0.32",
|
|
"@types/jake": "latest",
|
|
"@types/merge2": "latest",
|
|
"@types/minimatch": "latest",
|
|
"@types/minimist": "latest",
|
|
"@types/mkdirp": "latest",
|
|
"@types/mocha": "latest",
|
|
"@types/ms": "latest",
|
|
"@types/node": "8.5.5",
|
|
"@types/node-fetch": "^2.3.4",
|
|
"@types/q": "latest",
|
|
"@types/source-map-support": "latest",
|
|
"@types/through2": "latest",
|
|
"@types/travis-fold": "latest",
|
|
"@types/xml2js": "^0.4.0",
|
|
"azure-devops-node-api": "^8.0.0",
|
|
"browser-resolve": "^1.11.2",
|
|
"browserify": "latest",
|
|
"chai": "latest",
|
|
"chalk": "latest",
|
|
"convert-source-map": "latest",
|
|
"del": "latest",
|
|
"fancy-log": "latest",
|
|
"fs-extra": "^6.0.1",
|
|
"gulp": "^4.0.0",
|
|
"gulp-concat": "latest",
|
|
"gulp-insert": "latest",
|
|
"gulp-newer": "latest",
|
|
"gulp-rename": "latest",
|
|
"gulp-sourcemaps": "latest",
|
|
"istanbul": "latest",
|
|
"merge2": "latest",
|
|
"minimist": "latest",
|
|
"mkdirp": "latest",
|
|
"mocha": "latest",
|
|
"mocha-fivemat-progress-reporter": "latest",
|
|
"ms": "latest",
|
|
"node-fetch": "^2.6.0",
|
|
"plugin-error": "latest",
|
|
"pretty-hrtime": "^1.0.3",
|
|
"prex": "^0.4.3",
|
|
"q": "latest",
|
|
"remove-internal": "^2.9.2",
|
|
"simple-git": "^1.113.0",
|
|
"source-map-support": "latest",
|
|
"through2": "latest",
|
|
"travis-fold": "latest",
|
|
"tslint": "latest",
|
|
"typescript": "next",
|
|
"vinyl": "latest",
|
|
"vinyl-sourcemaps-apply": "latest",
|
|
"xml2js": "^0.4.19"
|
|
},
|
|
"scripts": {
|
|
"pretest": "gulp tests",
|
|
"test": "gulp runtests-parallel --light=false",
|
|
"build": "npm run build:compiler && npm run build:tests",
|
|
"build:compiler": "gulp local",
|
|
"build:tests": "gulp tests",
|
|
"start": "node lib/tsc",
|
|
"clean": "gulp clean",
|
|
"gulp": "gulp",
|
|
"jake": "gulp",
|
|
"lint": "gulp lint",
|
|
"setup-hooks": "node scripts/link-hooks.js",
|
|
"update-costly-tests": "node scripts/costly-tests.js"
|
|
},
|
|
"browser": {
|
|
"fs": false,
|
|
"os": false,
|
|
"path": false
|
|
},
|
|
"dependencies": {}
|
|
}
|