2016-07-11 21:41:12 +02:00
|
|
|
/// <reference path="..\..\..\src\harness\external\mocha.d.ts" />
|
|
|
|
/// <reference path="..\..\..\src\harness\harness.ts" />
|
|
|
|
/// <reference path="..\..\..\src\harness\virtualFileSystem.ts" />
|
|
|
|
|
|
|
|
namespace ts {
|
|
|
|
const caseInsensitiveBasePath = "c:/dev/";
|
|
|
|
const caseInsensitiveHost = new Utils.MockParseConfigHost(caseInsensitiveBasePath, /*useCaseSensitiveFileNames*/ false, [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/a.d.ts",
|
|
|
|
"c:/dev/a.js",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/b.js",
|
|
|
|
"c:/dev/c.d.ts",
|
|
|
|
"c:/dev/z/a.ts",
|
|
|
|
"c:/dev/z/abz.ts",
|
|
|
|
"c:/dev/z/aba.ts",
|
|
|
|
"c:/dev/z/b.ts",
|
|
|
|
"c:/dev/z/bbz.ts",
|
|
|
|
"c:/dev/z/bba.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/aa.ts",
|
|
|
|
"c:/dev/x/b.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/x/y/b.ts",
|
|
|
|
"c:/dev/js/a.js",
|
|
|
|
"c:/dev/js/b.js",
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
"c:/ext/ext.ts",
|
|
|
|
"c:/ext/b/a..b.ts"
|
2016-07-11 21:41:12 +02:00
|
|
|
]);
|
|
|
|
|
|
|
|
const caseSensitiveBasePath = "/dev/";
|
|
|
|
const caseSensitiveHost = new Utils.MockParseConfigHost(caseSensitiveBasePath, /*useCaseSensitiveFileNames*/ true, [
|
|
|
|
"/dev/a.ts",
|
|
|
|
"/dev/a.d.ts",
|
|
|
|
"/dev/a.js",
|
|
|
|
"/dev/b.ts",
|
|
|
|
"/dev/b.js",
|
|
|
|
"/dev/A.ts",
|
|
|
|
"/dev/B.ts",
|
|
|
|
"/dev/c.d.ts",
|
|
|
|
"/dev/z/a.ts",
|
|
|
|
"/dev/z/abz.ts",
|
|
|
|
"/dev/z/aba.ts",
|
|
|
|
"/dev/z/b.ts",
|
|
|
|
"/dev/z/bbz.ts",
|
|
|
|
"/dev/z/bba.ts",
|
|
|
|
"/dev/x/a.ts",
|
|
|
|
"/dev/x/b.ts",
|
|
|
|
"/dev/x/y/a.ts",
|
|
|
|
"/dev/x/y/b.ts",
|
|
|
|
"/dev/js/a.js",
|
|
|
|
"/dev/js/b.js",
|
|
|
|
]);
|
|
|
|
|
|
|
|
const caseInsensitiveMixedExtensionHost = new Utils.MockParseConfigHost(caseInsensitiveBasePath, /*useCaseSensitiveFileNames*/ false, [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/a.d.ts",
|
|
|
|
"c:/dev/a.js",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/b.d.ts",
|
|
|
|
"c:/dev/b.jsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
"c:/dev/c.js",
|
|
|
|
"c:/dev/d.js",
|
|
|
|
"c:/dev/e.jsx",
|
|
|
|
"c:/dev/f.other"
|
|
|
|
]);
|
|
|
|
|
|
|
|
const caseInsensitiveCommonFoldersHost = new Utils.MockParseConfigHost(caseInsensitiveBasePath, /*useCaseSensitiveFileNames*/ false, [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/a.d.ts",
|
|
|
|
"c:/dev/a.js",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/node_modules/a.ts",
|
|
|
|
"c:/dev/bower_components/a.ts",
|
|
|
|
"c:/dev/jspm_packages/a.ts"
|
|
|
|
]);
|
|
|
|
|
2016-12-15 20:45:40 +01:00
|
|
|
function assertParsed(actual: ts.ParsedCommandLine, expected: ts.ParsedCommandLine): void {
|
|
|
|
assert.deepEqual(actual.fileNames, expected.fileNames);
|
|
|
|
assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories);
|
|
|
|
assert.deepEqual(actual.errors, expected.errors);
|
|
|
|
}
|
|
|
|
|
|
|
|
function validateMatches(expected: ts.ParsedCommandLine, json: any, host: ParseConfigHost, basePath: string, existingOptions?: CompilerOptions, configFileName?: string, resolutionStack?: Path[]) {
|
|
|
|
{
|
|
|
|
const jsonText = JSON.stringify(json);
|
|
|
|
const result = parseJsonText("c:/dev/tsconfig.json", jsonText);
|
|
|
|
const actual = ts.parseJsonSourceFileConfigFileContent(result, host, basePath, existingOptions, configFileName, resolutionStack);
|
|
|
|
for (const error of expected.errors) {
|
|
|
|
if (error.file) {
|
|
|
|
error.file = result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
assertParsed(actual, expected);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
const actual = ts.parseJsonConfigFileContent(json, host, basePath, existingOptions, configFileName, resolutionStack);
|
|
|
|
expected.errors = map(expected.errors, error => {
|
|
|
|
return <Diagnostic>{
|
|
|
|
category: error.category,
|
|
|
|
code: error.code,
|
|
|
|
file: undefined,
|
|
|
|
length: undefined,
|
|
|
|
messageText: error.messageText,
|
|
|
|
start: undefined,
|
|
|
|
};
|
|
|
|
});
|
|
|
|
assertParsed(actual, expected);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-07-11 21:41:12 +02:00
|
|
|
describe("matchFiles", () => {
|
|
|
|
describe("with literal file list", () => {
|
|
|
|
it("without exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
files: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("missing files are still present", () => {
|
|
|
|
const json = {
|
|
|
|
files: [
|
|
|
|
"z.ts",
|
|
|
|
"x.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/z.ts",
|
|
|
|
"c:/dev/x.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("are not removed due to excludes", () => {
|
|
|
|
const json = {
|
|
|
|
files: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("with literal include list", () => {
|
|
|
|
it("without exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with non .ts file extensions are excluded", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.js",
|
|
|
|
"b.js"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with missing files are excluded", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"z.ts",
|
|
|
|
"x.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with literal excludes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with wildcard excludes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts",
|
|
|
|
"z/a.ts",
|
|
|
|
"z/abz.ts",
|
|
|
|
"z/aba.ts",
|
|
|
|
"x/b.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"*.ts",
|
|
|
|
"z/??z.ts",
|
|
|
|
"*/b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/z/a.ts",
|
|
|
|
"c:/dev/z/aba.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with recursive excludes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts",
|
|
|
|
"x/a.ts",
|
|
|
|
"x/b.ts",
|
|
|
|
"x/y/a.ts",
|
|
|
|
"x/y/b.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with case sensitive exclude", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"B.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"/dev/B.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseSensitiveHost, caseSensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and no exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts",
|
|
|
|
"node_modules/a.ts",
|
|
|
|
"bower_components/a.ts",
|
|
|
|
"jspm_packages/a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts",
|
|
|
|
"node_modules/a.ts",
|
|
|
|
"bower_components/a.ts",
|
|
|
|
"jspm_packages/a.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/bower_components/a.ts",
|
|
|
|
"c:/dev/jspm_packages/a.ts",
|
|
|
|
"c:/dev/node_modules/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and empty exclude", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"a.ts",
|
|
|
|
"b.ts",
|
|
|
|
"node_modules/a.ts",
|
|
|
|
"bower_components/a.ts",
|
|
|
|
"jspm_packages/a.ts"
|
|
|
|
],
|
|
|
|
exclude: <string[]>[]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/bower_components/a.ts",
|
|
|
|
"c:/dev/jspm_packages/a.ts",
|
|
|
|
"c:/dev/node_modules/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("with wildcard include list", () => {
|
|
|
|
it("same named declarations are excluded", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"*.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/c.d.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.None
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("`*` matches only ts files", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/c.d.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.None
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("`?` matches only a single character", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"x/?.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev/x": ts.WatchDirectoryFlags.None
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with recursive directory", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/z/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with multiple recursive directories", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"x/y/**/a.ts",
|
|
|
|
"x/**/a.ts",
|
|
|
|
"z/**/a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/z/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev/x": ts.WatchDirectoryFlags.Recursive,
|
|
|
|
"c:/dev/z": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("case sensitive", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/A.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"/dev/A.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseSensitiveHost, caseSensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with missing files are excluded", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"*/z.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("always include literal files", () => {
|
|
|
|
const json = {
|
|
|
|
files: [
|
|
|
|
"a.ts"
|
|
|
|
],
|
|
|
|
include: [
|
|
|
|
"*/z.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("exclude folders", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/*"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"z",
|
|
|
|
"x"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/c.d.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and no exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and exclusions", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"a.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/bower_components/a.ts",
|
|
|
|
"c:/dev/jspm_packages/a.ts",
|
|
|
|
"c:/dev/node_modules/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with common package folders and empty exclude", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
],
|
|
|
|
exclude: <string[]>[]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/bower_components/a.ts",
|
|
|
|
"c:/dev/jspm_packages/a.ts",
|
|
|
|
"c:/dev/node_modules/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
},
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveCommonFoldersHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("exclude .js files when allowJs=false", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
allowJs: false
|
|
|
|
},
|
|
|
|
include: [
|
|
|
|
"js/*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
allowJs: false
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev/js": ts.WatchDirectoryFlags.None
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("include .js files when allowJs=true", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
allowJs: true
|
|
|
|
},
|
|
|
|
include: [
|
|
|
|
"js/*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
allowJs: true
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/js/a.js",
|
|
|
|
"c:/dev/js/b.js"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev/js": ts.WatchDirectoryFlags.None
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("include paths outside of the project", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"*",
|
|
|
|
"c:/ext/*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.ts",
|
|
|
|
"c:/dev/c.d.ts",
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
"c:/ext/ext.ts"
|
2016-07-11 21:41:12 +02:00
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.None,
|
|
|
|
"c:/ext": ts.WatchDirectoryFlags.None
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
|
|
|
|
it("include paths outside of the project using relative paths", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"*",
|
|
|
|
"../ext/*"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/ext/ext.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/ext": ts.WatchDirectoryFlags.None
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
it("exclude paths outside of the project using relative paths", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"c:/**/*"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"../**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
it("include files with .. in their name", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"c:/ext/b/a..b.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/ext/b/a..b.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
it("exclude files with .. in their name", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"c:/ext/**/*"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"c:/ext/b/a..b.ts"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/ext/ext.ts",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/ext": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
|
2016-07-11 21:41:12 +02:00
|
|
|
it("with jsx=none, allowJs=false", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
allowJs: false
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
allowJs: false
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with jsx=preserve, allowJs=false", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
jsx: "preserve",
|
|
|
|
allowJs: false
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
jsx: ts.JsxEmit.Preserve,
|
|
|
|
allowJs: false
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
2017-01-23 21:42:39 +01:00
|
|
|
it("with jsx=react-native, allowJs=false", () => {
|
2017-01-23 17:40:20 +01:00
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
2017-01-23 21:42:39 +01:00
|
|
|
jsx: "react-native",
|
2017-01-23 17:40:20 +01:00
|
|
|
allowJs: false
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
2017-01-23 21:42:39 +01:00
|
|
|
jsx: ts.JsxEmit.ReactNative,
|
2017-01-23 17:40:20 +01:00
|
|
|
allowJs: false
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
|
|
|
assert.deepEqual(actual.fileNames, expected.fileNames);
|
|
|
|
assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories);
|
|
|
|
assert.deepEqual(actual.errors, expected.errors);
|
|
|
|
});
|
2016-07-11 21:41:12 +02:00
|
|
|
it("with jsx=none, allowJs=true", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
allowJs: true
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
allowJs: true
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
"c:/dev/d.js",
|
|
|
|
"c:/dev/e.jsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("with jsx=preserve, allowJs=true", () => {
|
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
|
|
|
jsx: "preserve",
|
|
|
|
allowJs: true
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
|
|
|
jsx: ts.JsxEmit.Preserve,
|
|
|
|
allowJs: true
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
"c:/dev/d.js",
|
|
|
|
"c:/dev/e.jsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
2017-01-23 21:42:39 +01:00
|
|
|
it("with jsx=react-native, allowJs=true", () => {
|
2017-01-23 17:40:20 +01:00
|
|
|
const json = {
|
|
|
|
compilerOptions: {
|
2017-01-23 21:42:39 +01:00
|
|
|
jsx: "react-native",
|
2017-01-23 17:40:20 +01:00
|
|
|
allowJs: true
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {
|
2017-01-23 21:42:39 +01:00
|
|
|
jsx: ts.JsxEmit.ReactNative,
|
2017-01-23 17:40:20 +01:00
|
|
|
allowJs: true
|
|
|
|
},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/b.tsx",
|
|
|
|
"c:/dev/c.tsx",
|
|
|
|
"c:/dev/d.js",
|
|
|
|
"c:/dev/e.jsx",
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
|
|
|
const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveMixedExtensionHost, caseInsensitiveBasePath);
|
|
|
|
assert.deepEqual(actual.fileNames, expected.fileNames);
|
|
|
|
assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories);
|
|
|
|
assert.deepEqual(actual.errors, expected.errors);
|
|
|
|
});
|
2016-07-11 21:41:12 +02:00
|
|
|
describe("with trailing recursive directory", () => {
|
|
|
|
it("in includes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, "**")
|
|
|
|
],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("in excludes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/*"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
describe("with multiple recursive directory patterns", () => {
|
|
|
|
it("in includes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/x/**/*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0, "**/x/**/*")
|
|
|
|
],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
it("in excludes", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/x/**"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0, "**/x/**")
|
|
|
|
],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/z/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
});
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
|
|
|
|
describe("with parent directory symbols after a recursive directory pattern", () => {
|
|
|
|
it("in includes immediately after", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/../*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, "**/../*")
|
|
|
|
],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
it("in includes after a subdirectory", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/y/../*"
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, "**/y/../*")
|
|
|
|
],
|
|
|
|
fileNames: [],
|
|
|
|
wildcardDirectories: {}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
it("in excludes immediately after", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/.."
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, "**/..")
|
|
|
|
],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/z/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
it("in excludes after a subdirectory", () => {
|
|
|
|
const json = {
|
|
|
|
include: [
|
|
|
|
"**/a.ts"
|
|
|
|
],
|
|
|
|
exclude: [
|
|
|
|
"**/y/.."
|
|
|
|
]
|
|
|
|
};
|
|
|
|
const expected: ts.ParsedCommandLine = {
|
|
|
|
options: {},
|
|
|
|
errors: [
|
|
|
|
ts.createCompilerDiagnostic(ts.Diagnostics.File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0, "**/y/..")
|
|
|
|
],
|
|
|
|
fileNames: [
|
|
|
|
"c:/dev/a.ts",
|
|
|
|
"c:/dev/x/a.ts",
|
|
|
|
"c:/dev/x/y/a.ts",
|
|
|
|
"c:/dev/z/a.ts"
|
|
|
|
],
|
|
|
|
wildcardDirectories: {
|
|
|
|
"c:/dev": ts.WatchDirectoryFlags.Recursive
|
|
|
|
}
|
|
|
|
};
|
2016-12-15 20:45:40 +01:00
|
|
|
validateMatches(expected, json, caseInsensitiveHost, caseInsensitiveBasePath);
|
[Transforms] Merge master 07/11 into transform (#9697)
* Use merge2, gulp-if, gulp-newer, and more projects
* Add watch task
* Working non-inline sourcemaps for runtests
* browser tests now also loads sourcemaps from disk
* Lazypipes and better services stream management
* export interface used by other exported functions
* Make goto-definition work for `this` parameter
* Add new error for rest parameters
* Add error message for rest parameter properties
* Fix case when a document contains multiple script blocks with different base indentations.
Use the base indent size if it is greater that the indentation of the inherited predecessor
* Fix rwc-runner from breaking change in compiler (#9284)
* Signatures use JSDoc to determine optionality
* Changed implementation to use closure
* Updated tests
* Fixed linting error
* Adding Code of Conduct notice
* Don't crash when JS class property is self-referential.
Fixes #9293
* Remove stale baselines
* For optionality, check question token before JSDoc
* Accept rest parameter properties error baselines
* Change binding pattern parameter property error
* Accept binding pattern properties error baselines
* Lint
* Port the sync version diagnostics API from tsserverVS-WIP branch to 2.0
* Do copyright without gulp-if and lazypipe
* Change test comment and accept baseline
* Remove tsd scripts task from gulpfile
* Make use of module compiler option explicit, add strip internal to tsconfigs
* Remove Signature#thisType and use Signature#thisParameter everywhere
* Add Gulpfile lint to jake, fix lints
* Change reference tests to verify actual ranges referenced and not just their count
* Respond to PR comments
* Add new lint rule
* Fix object whitespace lints
* Fix case of gulpfile dependencies
* 1. pass subshell args 2. fix build order in services
1. /bin/sh requires its arguments joined into a single string unlike
cmd.
2. services/ depends on a couple of files from server/ but the order was
implicit, and changed from jakefile. Now the order is explicit in the
tsconfig.
* Fix single-quote lint
* Check for exactly one space
* Fix excess whitespace issues
* Add matchFiles test to Gulpfile
This was merged while the gulpfile was still in-progress
* Fix LKG useDebug task and newLine flag
* Update LKG
* Clean before LKG in Gulpfile
* Fix lint
* Correct the api string name
* Allow space in exec cmds
* Fix typo
* Add new APIs to protocol
* Fix bug where `exports.` was prepended to namespace export accesses
* Remove unnecessary parameter
* extract expression into function
* Add fourslash tests & address CR comments
* Fix 8549: Using variable as Jsx tagname (#9337)
* Parse JSXElement's name as property access instead of just entity name. So when one accesses property of the class through this, checker will check correctly
* wip - just resolve to any type for now
* Resolve string type to anytype and look up property in intrinsicElementsType of Jsx
* Add tests and update baselines
* Remove unneccessary comment
* wip-address PR
* Address PR
* Add tets and update baselines
* Fix linting error
* Unused identifiers compiler code (#9200)
* Code changes to update references of the Identifiers
* Added code for handling function, method and coonstructor level local variables and parameters
* Rebased with origin master
* Code changes to handle unused private variables, private methods and typed parameters
* Code changes to handle namespace level elements
* Code changes to handle unimplemented interfaces
* Code to optimize the d.ts check
* Correct Code change to handle the parameters for methods inside interfaces
* Fix for lint error
* Remove Trailing whitespace
* Code changes to handle interface implementations
* Changes to display the error position correctly
* Compiler Test Cases
* Adding condition to ignore constructor parameters
* Removing unnecessary tests
* Additional changes for compiler code
* Additional changes to handle constructor scenario
* Fixing the consolidated case
* Changed logic to search for private instead of public
* Response to PR Comments
* Changed the error code in test cases as result of merge with master
* Adding the missing file
* Adding the missing file II
* Response to PR comments
* Code changes for checking unused imports
* Test Cases for Unused Imports
* Response to PR comments
* Code change specific to position of Import Declaration
* Code change for handling the position for unused import
* New scenarios for handling parameters in lambda function, type parameters in methods, etc.
* Additional scenarios based on PR comments
* Removing a redundant check
* Added ambient check to imports and typeparatmeter reporting
* Added one more scenario to handle type parameters
* Added new scenario for TypeParameter on Interface
* Refactoring the code
* Added scenario to handle private class elements declared in constructor.
* Minor change to erro reporting
* Fix 8355: Fix emit metadata different between transpile and tsc --isolatedModule (#9232)
* Instead of returning undefined for unknownSymbol return itself
* Add Transpile unittest
* Wip - Add project tests
* Add project tests and baselines
* Update existed tests
* Add tests for emitting metadata with module targetting system
* Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration (#8551)
* Fix incorrect emit for accessing static property in static propertyDeclaration
* Update tests and baselines
* Update function name
* Fix when accessing static property inside arrow function
* Add tests and baselines
* do not format comma/closeparen in jsxelement
* format jsx expression
* Remove extra baselines
* Fixed bugs and linting
* Added project tests for node_modules JavaScript searches
* Removed old TODO comment
* make rules optional
* Fixed the regexp for removing full paths
* Fix type of the disableSizeLimit option
* Update version to 2.0.0
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Remove unused compiler option (#9381)
* Update LKG
* Added emitHost method to return source from node modules
* Marked new method internal
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Port 9396 to release 2.0
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* Merge master into release-2.0 (#9400)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix #9402: Do not report unused identifier errors for catch variables
* getVarDate should be on the Date interface
* Defere checking unsed identifier checks
* Do not scan nodes preceding formatted region, just skip over them
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Use a deferred list to check for unused identifiers
* push checks to checkUnusedIdentifiersDeferred
* use isParameterPropertyDeclaration to test for paramter propoerties
* runtests-parallel skips empty buckets
Previously, it would enter them as buckets with no tests, which would
make our test runners run *every* test.
This was very obvious on machines with lots of cores.
* Report unused identifiers in for statements
* Do not check ambients, and overloads
* Add tests
* Consolidate type reference marking in getTypeFromTypeReference
* Handel type aliases
* Add tests
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Do not report unused errors for module augmentations
* Consolidate refernce marking in resolveName to allow marking aliases correctelly
* add tests
* Code review comments
* Only mark symbols found in a local symbol table
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Respond to PR comments
* Better name for test
* handel private properties correctelly
* Port 9426 to release 2.0
* Handel Swtich statements
check for locals on for statments
only mark private properties
* Removed one error to avoid full path issues
* Don't emit source files found under node_modules
(cherry picked from commit 5f8cf1af3e4be61037cbafd698535d32d292941f)
* Dont load JavaScript if types packages are present
(cherry picked from commit 5a45c44eb789f52ceb1aa0e23a230ecb599bfb08)
* Renamed API
(cherry picked from commit d8047b607f11cdf319284bb344282582c7c0aea0)
* Removed one error to avoid full path issues
(cherry picked from commit 5e4f13f342a75ec8f7cf65cb669bec9d6e6c5581)
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Fix #9458: exclude parameters starting with underscore from unusedParamter checks
* change variable name for strict mode
* Increase timeout from running RWC. As UWDWeb takes slightly longer now (#9454)
* Handle relative paths in tsconfig exclude and include globs
* Merge master into release branch 06/30 (#9447)
* do not format comma/closeparen in jsxelement
* format jsx expression
* make rules optional
* Remove upper boilerplate from issue template
Our issue stats did not improve appreciably when we added the issue template. Reduce upper boilerplate text and try to make it more action-oriented
* Update issue_template.md
* new options should be optional for compatibility
* Add getCurrentDirectory to ServerHost
* Add nullchecks for typeRoots, remove getCurrentDirectory from ServerHost as it is always the installation location
* VarDate interface and relevant Date.prototype members
* Fix 9363: Object destructuring broken-variables are bound to the wrong object (#9383)
* Fix emit incorrect destructuring mapping in var declaration
* Add tests and baselines
* Add additional tests and baselines
* Fix crash in async functions when targetting ES5.
When targetting ES5 and with --noImplicitReturns,
an async function whose return type could not be determined would cause
a compiler crash.
* Add This type to lib
* getVarDate should be on the Date interface
* Don't emit source files found under node_modules
* Destructuring assignment removes undefined from type when default value is given
* Add nullcheck when calculating indentations for implort clause
* Add test
* Dont load JavaScript if types packages are present
* Renamed API
* Use checkExpression, not checkExpressionCached
* Show "<unknown>" if the name of a declaration is unavailable
* Parse `export default async function` as a declaration
* Removed one error to avoid full path issues
* Fix incorrectly-saved quote symbols in ThirdPartyNoticeText.txt
* Improve names of whitespace functions
* Handle relative paths in tsconfig exclude and include globs
Port 9475 to release 2.0
* add new method getEmitOutputObject to return result of the emit as object with properties instead of json string
* fix linter
* Fix PromiseLike to be compatible with es6-promise (#9484)
* Fix reading files from IOLog because previous our API captures (#9483)
* Fix reading files from IOLog because previous our API captures
* Refactoring the ioLog
* Exclude FlowSwitchClause from flow graph for case expressions
* Add regression test
* Update LKG
* Update language in comment
* Add .mailmap file
* Add authors script to generate authors from repo
* Update AUTHORS.md for release-2.0
* Update script to pass more than one argument
* Remove the unused text buffer from ScriptInfo
* Fix #9531: account for async as an contextual keyword when parsing export assignments
* Update LKG
* Swap q from a reference to an import
* Fix #9550: exclude 'this' type parameters from unusedParameters checks.
* Update comment to reflect new dependency
* Avoid putting children tags in jsdoccomment
* Parse the result of getDirectories call
* Update harness getDirectories implementation for shims
* Fix multiple Salsa assignment-declarations
Previously, all assignment-declarations needed to be of the same kind:
either all `this.p = ...` assignments or `C.prototype.p = ...`
assignments.
* Test for multiple salsa assignment-declarations
* Add test for parsed @typedef tag node shape
* Provide a symbol for salsa-inferred class types
* Update .mailmap
* Fix module tracking
* Updated test with relative import
* Fixed the node tracking and a harness bug
* fixed lint error
* Fixed implicit any
* Added missing test files
* Removed duplicate logic
* Update conflicting baseline.
PR #9574 added a baseline that #9578 caused to be changed. The two PRs
went in so close to each other that the CI build didn't catch the change
to the new test's baseline.
* Fix type of JSXTagName
* Update baselines to use double-quote
* Update baselines when emitting metadata decorator
* Update baselines for async-await function
* Update baselines for comment in capturing down-level for...of and for...in
* Add missing Transpile tests
* Remove old JS transpile baselines
* Passing program as argument in emitWorker
* Port PR#9607 transforms
* Port new JSDOC tests to use baseline
* substitute alias for class expression in statics
* Address new lint warnings
* Change name for substitution function.
2016-07-19 00:38:30 +02:00
|
|
|
});
|
|
|
|
});
|
2016-07-11 21:41:12 +02:00
|
|
|
});
|
|
|
|
});
|
2017-01-23 17:40:20 +01:00
|
|
|
}
|