diff --git a/Jakefile.js b/Jakefile.js
index 3ac2e8fad13..77d81071e66 100644
--- a/Jakefile.js
+++ b/Jakefile.js
@@ -394,6 +394,7 @@ var servicesFile = path.join(builtLocalDirectory, "typescriptServices.js");
var standaloneDefinitionsFile = path.join(builtLocalDirectory, "typescriptServices.d.ts");
var nodePackageFile = path.join(builtLocalDirectory, "typescript.js");
var nodeDefinitionsFile = path.join(builtLocalDirectory, "typescript.d.ts");
+var nodeStandaloneDefinitionsFile = path.join(builtLocalDirectory, "typescript_standalone.d.ts");
compileFile(servicesFile, servicesSources,[builtLocalDirectory, copyright].concat(servicesSources),
/*prefixes*/ [copyright],
@@ -410,11 +411,19 @@ compileFile(servicesFile, servicesSources,[builtLocalDirectory, copyright].conca
prependFile(copyright, standaloneDefinitionsFile);
- // Create the node definition file by replacing 'ts' module with '"typescript"' as a module.
+ // Stanalone/web definition file using global 'ts' namespace
jake.cpR(standaloneDefinitionsFile, nodeDefinitionsFile, {silent: true});
var definitionFileContents = fs.readFileSync(nodeDefinitionsFile).toString();
- definitionFileContents = definitionFileContents.replace(/declare (namespace|module) ts/g, 'declare module "typescript"');
- fs.writeFileSync(nodeDefinitionsFile, definitionFileContents);
+
+ // Official node package definition file, pointed to by 'typings' in package.json
+ // Created by appending 'export = ts;' at the end of the standalone file to turn it into an external module
+ var nodeDefinitionsFileContents = definitionFileContents + "\r\nexport = ts;";
+ fs.writeFileSync(nodeDefinitionsFile, nodeDefinitionsFileContents);
+
+ // Node package definition file to be distributed without the package. Created by replacing
+ // 'ts' namespace with '"typescript"' as a module.
+ var nodeStandaloneDefinitionsFileContents = definitionFileContents.replace(/declare (namespace|module) ts/g, 'declare module "typescript"');
+ fs.writeFileSync(nodeStandaloneDefinitionsFile, nodeStandaloneDefinitionsFileContents);
});
diff --git a/lib/lib.d.ts b/lib/lib.d.ts
index c55970d9aca..d25e29bddb4 100644
--- a/lib/lib.d.ts
+++ b/lib/lib.d.ts
@@ -3928,6 +3928,7 @@ declare module Intl {
timeZoneName?: string;
formatMatcher?: string;
hour12?: boolean;
+ timeZone?: string;
}
interface ResolvedDateTimeFormatOptions {
@@ -3997,18 +3998,45 @@ interface Number {
interface Date {
/**
- * Converts a date to a string by using the current or specified locale.
+ * Converts a date and time to a string by using the current or specified locale.
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a date to a string by using the current or specified locale.
+ * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleDateString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string[], options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a date and time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
/**
* Converts a date to a string by using the current or specified locale.
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
- toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+ toLocaleDateString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
}
diff --git a/lib/lib.dom.d.ts b/lib/lib.dom.d.ts
index 54461afef40..76e5f1b20a1 100644
--- a/lib/lib.dom.d.ts
+++ b/lib/lib.dom.d.ts
@@ -104,6 +104,7 @@ declare module Intl {
timeZoneName?: string;
formatMatcher?: string;
hour12?: boolean;
+ timeZone?: string;
}
interface ResolvedDateTimeFormatOptions {
@@ -173,18 +174,45 @@ interface Number {
interface Date {
/**
- * Converts a date to a string by using the current or specified locale.
+ * Converts a date and time to a string by using the current or specified locale.
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a date to a string by using the current or specified locale.
+ * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleDateString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string[], options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a date and time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
/**
* Converts a date to a string by using the current or specified locale.
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
- toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+ toLocaleDateString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
}
diff --git a/lib/lib.es6.d.ts b/lib/lib.es6.d.ts
index de051a44edd..507f0da5004 100644
--- a/lib/lib.es6.d.ts
+++ b/lib/lib.es6.d.ts
@@ -5216,6 +5216,7 @@ declare module Intl {
timeZoneName?: string;
formatMatcher?: string;
hour12?: boolean;
+ timeZone?: string;
}
interface ResolvedDateTimeFormatOptions {
@@ -5285,18 +5286,45 @@ interface Number {
interface Date {
/**
- * Converts a date to a string by using the current or specified locale.
+ * Converts a date and time to a string by using the current or specified locale.
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a date to a string by using the current or specified locale.
+ * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleDateString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string[], options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a date and time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
/**
* Converts a date to a string by using the current or specified locale.
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
- toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+ toLocaleDateString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
}
diff --git a/lib/lib.webworker.d.ts b/lib/lib.webworker.d.ts
index 0f3e85da9f1..56e08ff6efc 100644
--- a/lib/lib.webworker.d.ts
+++ b/lib/lib.webworker.d.ts
@@ -104,6 +104,7 @@ declare module Intl {
timeZoneName?: string;
formatMatcher?: string;
hour12?: boolean;
+ timeZone?: string;
}
interface ResolvedDateTimeFormatOptions {
@@ -173,18 +174,45 @@ interface Number {
interface Date {
/**
- * Converts a date to a string by using the current or specified locale.
+ * Converts a date and time to a string by using the current or specified locale.
* @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a date to a string by using the current or specified locale.
+ * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleDateString(locales?: string[], options?: Intl.DateTimeFormatOptions): string;
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string[], options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a date and time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
/**
* Converts a date to a string by using the current or specified locale.
* @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
* @param options An object that contains one or more properties that specify comparison options.
*/
- toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+ toLocaleDateString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
+
+ /**
+ * Converts a time to a string by using the current or specified locale.
+ * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used.
+ * @param options An object that contains one or more properties that specify comparison options.
+ */
+ toLocaleTimeString(locale?: string, options?: Intl.DateTimeFormatOptions): string;
}
diff --git a/lib/tsc.js b/lib/tsc.js
index 591a22bceb9..3983b8c1e1b 100644
--- a/lib/tsc.js
+++ b/lib/tsc.js
@@ -1248,7 +1248,7 @@ var ts;
Property_0_does_not_exist_on_type_1: { code: 2339, category: ts.DiagnosticCategory.Error, key: "Property '{0}' does not exist on type '{1}'." },
Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: ts.DiagnosticCategory.Error, key: "Only public and protected methods of the base class are accessible via the 'super' keyword." },
Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: ts.DiagnosticCategory.Error, key: "Property '{0}' is private and only accessible within class '{1}'." },
- An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol, or 'any'." },
+ An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol', or 'any'." },
Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: ts.DiagnosticCategory.Error, key: "Type '{0}' does not satisfy the constraint '{1}'." },
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: ts.DiagnosticCategory.Error, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." },
Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: ts.DiagnosticCategory.Error, key: "Supplied parameters do not match any signature of call target." },
@@ -1419,6 +1419,7 @@ var ts;
The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression: { code: 2522, category: ts.DiagnosticCategory.Error, key: "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression." },
yield_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2523, category: ts.DiagnosticCategory.Error, key: "'yield' expressions cannot be used in a parameter initializer." },
await_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2524, category: ts.DiagnosticCategory.Error, key: "'await' expressions cannot be used in a parameter initializer." },
+ Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value: { code: 2525, category: ts.DiagnosticCategory.Error, key: "Initializer provides no value for this binding element and the binding element has no default value." },
JSX_element_attributes_type_0_must_be_an_object_type: { code: 2600, category: ts.DiagnosticCategory.Error, key: "JSX element attributes type '{0}' must be an object type." },
The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: { code: 2601, category: ts.DiagnosticCategory.Error, key: "The return type of a JSX element constructor must return an object type." },
JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: { code: 2602, category: ts.DiagnosticCategory.Error, key: "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist." },
@@ -1431,6 +1432,10 @@ var ts;
Cannot_emit_namespaced_JSX_elements_in_React: { code: 2650, category: ts.DiagnosticCategory.Error, key: "Cannot emit namespaced JSX elements in React" },
A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: { code: 2651, category: ts.DiagnosticCategory.Error, key: "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums." },
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
+ Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
+ Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },
@@ -1564,13 +1569,14 @@ var ts;
Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: { code: 6060, category: ts.DiagnosticCategory.Message, key: "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." },
NEWLINE: { code: 6061, category: ts.DiagnosticCategory.Message, key: "NEWLINE" },
Argument_for_newLine_option_must_be_CRLF_or_LF: { code: 6062, category: ts.DiagnosticCategory.Error, key: "Argument for '--newLine' option must be 'CRLF' or 'LF'." },
+ Argument_for_moduleResolution_option_must_be_node_or_classic: { code: 6063, category: ts.DiagnosticCategory.Error, key: "Argument for '--moduleResolution' option must be 'node' or 'classic'." },
Specify_JSX_code_generation_Colon_preserve_or_react: { code: 6080, category: ts.DiagnosticCategory.Message, key: "Specify JSX code generation: 'preserve' or 'react'" },
Argument_for_jsx_must_be_preserve_or_react: { code: 6081, category: ts.DiagnosticCategory.Message, key: "Argument for '--jsx' must be 'preserve' or 'react'." },
Enables_experimental_support_for_ES7_decorators: { code: 6065, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 decorators." },
Enables_experimental_support_for_emitting_type_metadata_for_decorators: { code: 6066, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for emitting type metadata for decorators." },
Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower: { code: 6067, category: ts.DiagnosticCategory.Message, key: "Option 'experimentalAsyncFunctions' cannot be specified when targeting ES5 or lower." },
Enables_experimental_support_for_ES7_async_functions: { code: 6068, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 async functions." },
- Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
+ Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." },
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
@@ -1622,6 +1628,10 @@ var ts;
///
var ts;
(function (ts) {
+ function tokenIsIdentifierOrKeyword(token) {
+ return token >= 67;
+ }
+ ts.tokenIsIdentifierOrKeyword = tokenIsIdentifierOrKeyword;
var textToToken = {
"abstract": 113,
"any": 115,
@@ -2913,7 +2923,7 @@ var ts;
return token = 234;
}
function scanJsxIdentifier() {
- if (token === 67) {
+ if (tokenIsIdentifierOrKeyword(token)) {
var firstCharPosition = pos;
while (pos < end) {
var ch = text.charCodeAt(pos);
@@ -3759,21 +3769,21 @@ var ts;
return true;
}
ts.arrayIsEqualTo = arrayIsEqualTo;
- function hasResolvedModuleName(sourceFile, moduleNameText) {
+ function hasResolvedModule(sourceFile, moduleNameText) {
return sourceFile.resolvedModules && ts.hasProperty(sourceFile.resolvedModules, moduleNameText);
}
- ts.hasResolvedModuleName = hasResolvedModuleName;
- function getResolvedModuleFileName(sourceFile, moduleNameText) {
- return hasResolvedModuleName(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
+ ts.hasResolvedModule = hasResolvedModule;
+ function getResolvedModule(sourceFile, moduleNameText) {
+ return hasResolvedModule(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
}
- ts.getResolvedModuleFileName = getResolvedModuleFileName;
- function setResolvedModuleName(sourceFile, moduleNameText, resolvedFileName) {
+ ts.getResolvedModule = getResolvedModule;
+ function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
if (!sourceFile.resolvedModules) {
sourceFile.resolvedModules = {};
}
- sourceFile.resolvedModules[moduleNameText] = resolvedFileName;
+ sourceFile.resolvedModules[moduleNameText] = resolvedModule;
}
- ts.setResolvedModuleName = setResolvedModuleName;
+ ts.setResolvedModule = setResolvedModule;
function containsParseError(node) {
aggregateChildData(node);
return (node.parserContextFlags & 64) !== 0;
@@ -4029,6 +4039,7 @@ var ts;
}
ts.getJsDocComments = getJsDocComments;
ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/;
+ ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/;
function isTypeNode(node) {
if (149 <= node.kind && node.kind <= 158) {
return true;
@@ -4975,11 +4986,21 @@ var ts;
add: add,
getGlobalDiagnostics: getGlobalDiagnostics,
getDiagnostics: getDiagnostics,
- getModificationCount: getModificationCount
+ getModificationCount: getModificationCount,
+ reattachFileDiagnostics: reattachFileDiagnostics
};
function getModificationCount() {
return modificationCount;
}
+ function reattachFileDiagnostics(newFile) {
+ if (!ts.hasProperty(fileDiagnostics, newFile.fileName)) {
+ return;
+ }
+ for (var _i = 0, _a = fileDiagnostics[newFile.fileName]; _i < _a.length; _i++) {
+ var diagnostic = _a[_i];
+ diagnostic.file = newFile;
+ }
+ }
function add(diagnostic) {
var diagnostics;
if (diagnostic.file) {
@@ -6421,10 +6442,10 @@ var ts;
return createIdentifier(isIdentifier(), diagnosticMessage);
}
function parseIdentifierName() {
- return createIdentifier(isIdentifierOrKeyword());
+ return createIdentifier(ts.tokenIsIdentifierOrKeyword(token));
}
function isLiteralPropertyName() {
- return isIdentifierOrKeyword() ||
+ return ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 ||
token === 8;
}
@@ -6444,7 +6465,7 @@ var ts;
return parsePropertyNameWorker(false);
}
function isSimplePropertyName() {
- return token === 9 || token === 8 || isIdentifierOrKeyword();
+ return token === 9 || token === 8 || ts.tokenIsIdentifierOrKeyword(token);
}
function parseComputedPropertyName() {
var node = createNode(134);
@@ -6535,9 +6556,9 @@ var ts;
case 20:
return isHeritageClause();
case 21:
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
case 13:
- return isIdentifierOrKeyword() || token === 15;
+ return ts.tokenIsIdentifierOrKeyword(token) || token === 15;
case 14:
return true;
case 22:
@@ -6563,7 +6584,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeyword() {
nextToken();
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
function isHeritageClauseExtendsOrImplementsKeyword() {
if (token === 104 ||
@@ -6931,7 +6952,7 @@ var ts;
return entity;
}
function parseRightSideOfDot(allowIdentifierNames) {
- if (scanner.hasPrecedingLineBreak() && isIdentifierOrKeyword()) {
+ if (scanner.hasPrecedingLineBreak() && ts.tokenIsIdentifierOrKeyword(token)) {
var matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);
if (matchesPattern) {
return createMissingNode(67, true, ts.Diagnostics.Identifier_expected);
@@ -7221,7 +7242,7 @@ var ts;
return result;
}
}
- if (isIdentifierOrKeyword()) {
+ if (ts.tokenIsIdentifierOrKeyword(token)) {
return parsePropertyOrMethodSignature();
}
}
@@ -8514,12 +8535,9 @@ var ts;
return finishNode(expressionStatement);
}
}
- function isIdentifierOrKeyword() {
- return token >= 67;
- }
function nextTokenIsIdentifierOrKeywordOnSameLine() {
nextToken();
- return isIdentifierOrKeyword() && !scanner.hasPrecedingLineBreak();
+ return ts.tokenIsIdentifierOrKeyword(token) && !scanner.hasPrecedingLineBreak();
}
function nextTokenIsFunctionKeywordOnSameLine() {
nextToken();
@@ -8527,7 +8545,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine() {
nextToken();
- return (isIdentifierOrKeyword() || token === 8) && !scanner.hasPrecedingLineBreak();
+ return (ts.tokenIsIdentifierOrKeyword(token) || token === 8) && !scanner.hasPrecedingLineBreak();
}
function isDeclaration() {
while (true) {
@@ -8555,7 +8573,7 @@ var ts;
case 87:
nextToken();
return token === 9 || token === 37 ||
- token === 15 || isIdentifierOrKeyword();
+ token === 15 || ts.tokenIsIdentifierOrKeyword(token);
case 80:
nextToken();
if (token === 55 || token === 37 ||
@@ -9042,7 +9060,7 @@ var ts;
if (isIndexSignature()) {
return parseIndexSignatureDeclaration(fullStart, decorators, modifiers);
}
- if (isIdentifierOrKeyword() ||
+ if (ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 ||
token === 8 ||
token === 37 ||
@@ -9170,12 +9188,13 @@ var ts;
}
function parseModuleOrNamespaceDeclaration(fullStart, decorators, modifiers, flags) {
var node = createNode(216, fullStart);
+ var namespaceFlag = flags & 131072;
node.decorators = decorators;
setModifiers(node, modifiers);
node.flags |= flags;
node.name = parseIdentifier();
node.body = parseOptional(21)
- ? parseModuleOrNamespaceDeclaration(getNodePos(), undefined, undefined, 1)
+ ? parseModuleOrNamespaceDeclaration(getNodePos(), undefined, undefined, 1 | namespaceFlag)
: parseModuleBlock();
return finishNode(node);
}
@@ -9435,7 +9454,7 @@ var ts;
case 95:
return true;
}
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
JSDocParser.isJSDocType = isJSDocType;
function parseJSDocTypeExpressionForTests(content, start, length) {
@@ -10955,7 +10974,7 @@ var ts;
var moduleReferenceLiteral = moduleReferenceExpression;
var searchPath = ts.getDirectoryPath(getSourceFile(location).fileName);
var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text);
- if (!moduleName) {
+ if (moduleName === undefined) {
return;
}
var isRelative = isExternalModuleNameRelative(moduleName);
@@ -10965,8 +10984,8 @@ var ts;
return symbol;
}
}
- var fileName = ts.getResolvedModuleFileName(getSourceFile(location), moduleReferenceLiteral.text);
- var sourceFile = fileName && host.getSourceFile(fileName);
+ var resolvedModule = ts.getResolvedModule(getSourceFile(location), moduleReferenceLiteral.text);
+ var sourceFile = resolvedModule && host.getSourceFile(resolvedModule.resolvedFileName);
if (sourceFile) {
if (sourceFile.symbol) {
return sourceFile.symbol;
@@ -12086,52 +12105,52 @@ var ts;
return checkIdentifier(declaration.name);
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, false);
}
return undefined;
}
- function getTypeFromBindingElement(element) {
+ function getTypeFromBindingElement(element, includePatternInType) {
if (element.initializer) {
return getWidenedType(checkExpressionCached(element.initializer));
}
if (ts.isBindingPattern(element.name)) {
- return getTypeFromBindingPattern(element.name);
+ return getTypeFromBindingPattern(element.name, includePatternInType);
}
return anyType;
}
- function getTypeFromObjectBindingPattern(pattern) {
+ function getTypeFromObjectBindingPattern(pattern, includePatternInType) {
var members = {};
ts.forEach(pattern.elements, function (e) {
var flags = 4 | 67108864 | (e.initializer ? 536870912 : 0);
var name = e.propertyName || e.name;
var symbol = createSymbol(flags, name.text);
- symbol.type = getTypeFromBindingElement(e);
+ symbol.type = getTypeFromBindingElement(e, includePatternInType);
+ symbol.bindingElement = e;
members[symbol.name] = symbol;
});
- return createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ var result = createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ if (includePatternInType) {
+ result.pattern = pattern;
+ }
+ return result;
}
- function getTypeFromArrayBindingPattern(pattern) {
- var hasSpreadElement = false;
- var elementTypes = [];
- ts.forEach(pattern.elements, function (e) {
- elementTypes.push(e.kind === 185 || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e));
- if (e.dotDotDotToken) {
- hasSpreadElement = true;
- }
- });
- if (!elementTypes.length) {
+ function getTypeFromArrayBindingPattern(pattern, includePatternInType) {
+ var elements = pattern.elements;
+ if (elements.length === 0 || elements[elements.length - 1].dotDotDotToken) {
return languageVersion >= 2 ? createIterableType(anyType) : anyArrayType;
}
- else if (hasSpreadElement) {
- var unionOfElements = getUnionType(elementTypes);
- return languageVersion >= 2 ? createIterableType(unionOfElements) : createArrayType(unionOfElements);
+ var elementTypes = ts.map(elements, function (e) { return e.kind === 185 ? anyType : getTypeFromBindingElement(e, includePatternInType); });
+ if (includePatternInType) {
+ var result = createNewTupleType(elementTypes);
+ result.pattern = pattern;
+ return result;
}
return createTupleType(elementTypes);
}
- function getTypeFromBindingPattern(pattern) {
+ function getTypeFromBindingPattern(pattern, includePatternInType) {
return pattern.kind === 159
- ? getTypeFromObjectBindingPattern(pattern)
- : getTypeFromArrayBindingPattern(pattern);
+ ? getTypeFromObjectBindingPattern(pattern, includePatternInType)
+ : getTypeFromArrayBindingPattern(pattern, includePatternInType);
}
function getWidenedTypeForVariableLikeDeclaration(declaration, reportErrors) {
var type = getTypeForVariableLikeDeclaration(declaration);
@@ -13453,11 +13472,11 @@ var ts;
}
function createTupleType(elementTypes) {
var id = getTypeListId(elementTypes);
- var type = tupleTypes[id];
- if (!type) {
- type = tupleTypes[id] = createObjectType(8192 | getPropagatingFlagsOfTypes(elementTypes));
- type.elementTypes = elementTypes;
- }
+ return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes));
+ }
+ function createNewTupleType(elementTypes) {
+ var type = createObjectType(8192 | getPropagatingFlagsOfTypes(elementTypes));
+ type.elementTypes = elementTypes;
return type;
}
function getTypeFromTupleTypeNode(node) {
@@ -13945,7 +13964,9 @@ var ts;
}
return 0;
}
- source = getRegularTypeOfObjectLiteral(source);
+ if (target.flags & 49152) {
+ source = getRegularTypeOfObjectLiteral(source);
+ }
}
var saveErrorInfo = errorInfo;
if (source.flags & 16384) {
@@ -14049,6 +14070,7 @@ var ts;
var prop = _a[_i];
if (!isKnownProperty(target, prop.name)) {
if (reportErrors) {
+ errorNode = prop.valueDeclaration;
reportError(ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(prop), typeToString(target));
}
return true;
@@ -14343,8 +14365,8 @@ var ts;
return result;
function abstractSignatureRelatedTo(source, sourceSig, target, targetSig) {
if (sourceSig && targetSig) {
- var sourceDecl = source.symbol && ts.getDeclarationOfKind(source.symbol, 212);
- var targetDecl = target.symbol && ts.getDeclarationOfKind(target.symbol, 212);
+ var sourceDecl = source.symbol && getClassLikeDeclarationOfSymbol(source.symbol);
+ var targetDecl = target.symbol && getClassLikeDeclarationOfSymbol(target.symbol);
if (!sourceDecl) {
return -1;
}
@@ -14352,8 +14374,8 @@ var ts;
var targetErasedSignature = getErasedSignature(targetSig);
var sourceReturnType = sourceErasedSignature && getReturnTypeOfSignature(sourceErasedSignature);
var targetReturnType = targetErasedSignature && getReturnTypeOfSignature(targetErasedSignature);
- var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && ts.getDeclarationOfKind(sourceReturnType.symbol, 212);
- var targetReturnDecl = targetReturnType && targetReturnType.symbol && ts.getDeclarationOfKind(targetReturnType.symbol, 212);
+ var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && getClassLikeDeclarationOfSymbol(sourceReturnType.symbol);
+ var targetReturnDecl = targetReturnType && targetReturnType.symbol && getClassLikeDeclarationOfSymbol(targetReturnType.symbol);
var sourceIsAbstract = sourceReturnDecl && sourceReturnDecl.flags & 256;
var targetIsAbstract = targetReturnDecl && targetReturnDecl.flags & 256;
if (sourceIsAbstract && !(targetIsAbstract && targetDecl)) {
@@ -14676,6 +14698,7 @@ var ts;
regularType.constructSignatures = type.constructSignatures;
regularType.stringIndexType = type.stringIndexType;
regularType.numberIndexType = type.numberIndexType;
+ type.regularType = regularType;
}
return regularType;
}
@@ -15572,7 +15595,7 @@ var ts;
}
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, true);
}
}
return undefined;
@@ -15864,11 +15887,12 @@ var ts;
var arrayOrIterableType = checkExpressionCached(node.expression, contextualMapper);
return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, false);
}
+ function hasDefaultValue(node) {
+ return (node.kind === 161 && !!node.initializer) ||
+ (node.kind === 179 && node.operatorToken.kind === 55);
+ }
function checkArrayLiteral(node, contextualMapper) {
var elements = node.elements;
- if (!elements.length) {
- return createArrayType(undefinedType);
- }
var hasSpreadElement = false;
var elementTypes = [];
var inDestructuringPattern = isAssignmentTarget(node);
@@ -15889,12 +15913,35 @@ var ts;
hasSpreadElement = hasSpreadElement || e.kind === 183;
}
if (!hasSpreadElement) {
+ if (inDestructuringPattern && elementTypes.length) {
+ var type = createNewTupleType(elementTypes);
+ type.pattern = node;
+ return type;
+ }
var contextualType = getContextualType(node);
- if (contextualType && contextualTypeIsTupleLikeType(contextualType) || inDestructuringPattern) {
- return createTupleType(elementTypes);
+ if (contextualType && contextualTypeIsTupleLikeType(contextualType)) {
+ var pattern = contextualType.pattern;
+ if (pattern && (pattern.kind === 160 || pattern.kind === 162)) {
+ var patternElements = pattern.elements;
+ for (var i = elementTypes.length; i < patternElements.length; i++) {
+ var patternElement = patternElements[i];
+ if (hasDefaultValue(patternElement)) {
+ elementTypes.push(contextualType.elementTypes[i]);
+ }
+ else {
+ if (patternElement.kind !== 185) {
+ error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ elementTypes.push(unknownType);
+ }
+ }
+ }
+ if (elementTypes.length) {
+ return createTupleType(elementTypes);
+ }
}
}
- return createArrayType(getUnionType(elementTypes));
+ return createArrayType(elementTypes.length ? getUnionType(elementTypes) : undefinedType);
}
function isNumericName(name) {
return name.kind === 134 ? isNumericComputedName(name) : isNumericLiteralName(name.text);
@@ -15926,6 +15973,9 @@ var ts;
var propertiesTable = {};
var propertiesArray = [];
var contextualType = getContextualType(node);
+ var contextualTypeHasPattern = contextualType && contextualType.pattern &&
+ (contextualType.pattern.kind === 159 || contextualType.pattern.kind === 163);
+ var inDestructuringPattern = isAssignmentTarget(node);
var typeFlags = 0;
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
var memberDecl = _a[_i];
@@ -15946,6 +15996,20 @@ var ts;
}
typeFlags |= type.flags;
var prop = createSymbol(4 | 67108864 | member.flags, member.name);
+ if (inDestructuringPattern) {
+ if (memberDecl.kind === 243 && hasDefaultValue(memberDecl.initializer)) {
+ prop.flags |= 536870912;
+ }
+ }
+ else if (contextualTypeHasPattern) {
+ var impliedProp = getPropertyOfType(contextualType, member.name);
+ if (impliedProp) {
+ prop.flags |= impliedProp.flags & 536870912;
+ }
+ else if (!compilerOptions.suppressExcessPropertyErrors) {
+ error(memberDecl.name, ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType));
+ }
+ }
prop.declarations = member.declarations;
prop.parent = member.parent;
if (member.valueDeclaration) {
@@ -15964,11 +16028,26 @@ var ts;
}
propertiesArray.push(member);
}
+ if (contextualTypeHasPattern) {
+ for (var _b = 0, _c = getPropertiesOfType(contextualType); _b < _c.length; _b++) {
+ var prop = _c[_b];
+ if (!ts.hasProperty(propertiesTable, prop.name)) {
+ if (!(prop.flags & 536870912)) {
+ error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ propertiesTable[prop.name] = prop;
+ propertiesArray.push(prop);
+ }
+ }
+ }
var stringIndexType = getIndexType(0);
var numberIndexType = getIndexType(1);
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
result.flags |= 524288 | 4194304 | freshObjectLiteralFlag | (typeFlags & 14680064);
+ if (inDestructuringPattern) {
+ result.pattern = node;
+ }
return result;
function getIndexType(kind) {
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -17052,7 +17131,7 @@ var ts;
if (expressionType === unknownType) {
return resolveErrorCall(node);
}
- var valueDecl = expressionType.symbol && ts.getDeclarationOfKind(expressionType.symbol, 212);
+ var valueDecl = expressionType.symbol && getClassLikeDeclarationOfSymbol(expressionType.symbol);
if (valueDecl && valueDecl.flags & 256) {
error(node, ts.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0, ts.declarationNameToString(valueDecl.name));
return resolveErrorCall(node);
@@ -19718,6 +19797,9 @@ var ts;
function getTargetSymbol(s) {
return s.flags & 16777216 ? getSymbolLinks(s).target : s;
}
+ function getClassLikeDeclarationOfSymbol(symbol) {
+ return ts.forEach(symbol.declarations, function (d) { return ts.isClassLike(d) ? d : undefined; });
+ }
function checkKindsOfPropertyMemberOverrides(type, baseType) {
// TypeScript 1.0 spec (April 2014): 8.2.3
// A derived class inherits all members from its base class it doesn't override.
@@ -19744,9 +19826,14 @@ var ts;
ts.Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration.");
if (derived) {
if (derived === base) {
- var derivedClassDecl = ts.getDeclarationOfKind(type.symbol, 212);
+ var derivedClassDecl = getClassLikeDeclarationOfSymbol(type.symbol);
if (baseDeclarationFlags & 256 && (!derivedClassDecl || !(derivedClassDecl.flags & 256))) {
- error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ if (derivedClassDecl.kind === 184) {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType));
+ }
+ else {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ }
}
}
else {
@@ -20970,7 +21057,10 @@ var ts;
var symbols = [];
var name_15 = symbol.name;
ts.forEach(getSymbolLinks(symbol).containingType.types, function (t) {
- symbols.push(getPropertyOfType(t, name_15));
+ var symbol = getPropertyOfType(t, name_15);
+ if (symbol) {
+ symbols.push(symbol);
+ }
});
return symbols;
}
@@ -23679,6 +23769,7 @@ var ts;
var scopeEmitStart = function (scopeDeclaration, scopeName) { };
var scopeEmitEnd = function () { };
var sourceMapData;
+ var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { } : emitLeadingCommentsOfPositionWorker;
if (compilerOptions.sourceMap || compilerOptions.inlineSourceMap) {
initializeEmitterWithSourceMaps();
}
@@ -24505,8 +24596,10 @@ var ts;
function jsxEmitPreserve(node) {
function emitJsxAttribute(node) {
emit(node.name);
- write("=");
- emit(node.initializer);
+ if (node.initializer) {
+ write("=");
+ emit(node.initializer);
+ }
}
function emitJsxSpreadAttribute(node) {
write("{...");
@@ -25345,7 +25438,8 @@ var ts;
operand.kind !== 178 &&
operand.kind !== 167 &&
!(operand.kind === 166 && node.parent.kind === 167) &&
- !(operand.kind === 171 && node.parent.kind === 166)) {
+ !(operand.kind === 171 && node.parent.kind === 166) &&
+ !(operand.kind === 8 && node.parent.kind === 164)) {
emit(operand);
return;
}
@@ -25978,6 +26072,9 @@ var ts;
}
function emitExportSpecifierInSystemModule(specifier) {
ts.Debug.assert(compilerOptions.module === 4);
+ if (!resolver.getReferencedValueDeclaration(specifier.propertyName || specifier.name) && !resolver.isValueAliasDeclaration(specifier)) {
+ return;
+ }
writeLine();
emitStart(specifier.name);
write(exportFunctionForFile + "(\"");
@@ -26029,19 +26126,19 @@ var ts;
write(")");
}
}
- function ensureIdentifier(expr) {
- if (expr.kind !== 67) {
- var identifier = createTempVariable(0);
- if (!canDefineTempVariablesInPlace) {
- recordTempDeclaration(identifier);
- }
- emitAssignment(identifier, expr);
- expr = identifier;
+ function ensureIdentifier(expr, reuseIdentifierExpressions) {
+ if (expr.kind === 67 && reuseIdentifierExpressions) {
+ return expr;
}
- return expr;
+ var identifier = createTempVariable(0);
+ if (!canDefineTempVariablesInPlace) {
+ recordTempDeclaration(identifier);
+ }
+ emitAssignment(identifier, expr);
+ return identifier;
}
function createDefaultValueCheck(value, defaultValue) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
var equals = ts.createSynthesizedNode(179);
equals.left = value;
equals.operatorToken = ts.createSynthesizedNode(32);
@@ -26082,7 +26179,7 @@ var ts;
function emitObjectLiteralAssignment(target, value) {
var properties = target.properties;
if (properties.length !== 1) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
}
for (var _a = 0; _a < properties.length; _a++) {
var p = properties[_a];
@@ -26095,7 +26192,7 @@ var ts;
function emitArrayLiteralAssignment(target, value) {
var elements = target.elements;
if (elements.length !== 1) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
}
for (var i = 0; i < elements.length; i++) {
var e = elements[i];
@@ -26137,7 +26234,7 @@ var ts;
if (root.parent.kind !== 170) {
write("(");
}
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
emitDestructuringAssignment(target, value);
write(", ");
emit(value);
@@ -26156,10 +26253,11 @@ var ts;
if (ts.isBindingPattern(target.name)) {
var pattern = target.name;
var elements = pattern.elements;
- if (elements.length !== 1) {
- value = ensureIdentifier(value);
+ var numElements = elements.length;
+ if (numElements !== 1) {
+ value = ensureIdentifier(value, numElements !== 0);
}
- for (var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < numElements; i++) {
var element = elements[i];
if (pattern.kind === 159) {
var propName = element.propertyName || element.name;
@@ -26169,7 +26267,7 @@ var ts;
if (!element.dotDotDotToken) {
emitBindingElement(element, createElementAccessExpression(value, createNumericLiteral(i)));
}
- else if (i === elements.length - 1) {
+ else if (i === numElements - 1) {
emitBindingElement(element, createSliceCall(value, i));
}
}
@@ -26409,7 +26507,7 @@ var ts;
}
function emitFunctionDeclaration(node) {
if (ts.nodeIsMissing(node.body)) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (node.kind !== 141 && node.kind !== 140 &&
node.parent && node.parent.kind !== 243 &&
@@ -26727,7 +26825,7 @@ var ts;
}
else if (member.kind === 141 || node.kind === 140) {
if (!member.body) {
- return emitOnlyPinnedOrTripleSlashComments(member);
+ return emitCommentsOnNotEmittedNode(member);
}
writeLine();
emitLeadingComments(member);
@@ -26793,7 +26891,7 @@ var ts;
for (var _a = 0, _b = node.members; _a < _b.length; _a++) {
var member = _b[_a];
if ((member.kind === 141 || node.kind === 140) && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
else if (member.kind === 141 ||
member.kind === 143 ||
@@ -26840,7 +26938,7 @@ var ts;
var hasInstancePropertyWithInitializer = false;
ts.forEach(node.members, function (member) {
if (member.kind === 142 && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
if (member.kind === 139 && member.initializer && (member.flags & 128) === 0) {
hasInstancePropertyWithInitializer = true;
@@ -27289,50 +27387,49 @@ var ts;
write("void 0");
}
function emitSerializedTypeNode(node) {
- if (!node) {
- return;
- }
- switch (node.kind) {
- case 101:
- write("void 0");
- return;
- case 158:
- emitSerializedTypeNode(node.type);
- return;
- case 150:
- case 151:
- write("Function");
- return;
- case 154:
- case 155:
- write("Array");
- return;
- case 148:
- case 118:
- write("Boolean");
- return;
- case 128:
- case 9:
- write("String");
- return;
- case 126:
- write("Number");
- return;
- case 129:
- write("Symbol");
- return;
- case 149:
- emitSerializedTypeReferenceNode(node);
- return;
- case 152:
- case 153:
- case 156:
- case 157:
- case 115:
- break;
- default:
- ts.Debug.fail("Cannot serialize unexpected type node.");
- break;
+ if (node) {
+ switch (node.kind) {
+ case 101:
+ write("void 0");
+ return;
+ case 158:
+ emitSerializedTypeNode(node.type);
+ return;
+ case 150:
+ case 151:
+ write("Function");
+ return;
+ case 154:
+ case 155:
+ write("Array");
+ return;
+ case 148:
+ case 118:
+ write("Boolean");
+ return;
+ case 128:
+ case 9:
+ write("String");
+ return;
+ case 126:
+ write("Number");
+ return;
+ case 129:
+ write("Symbol");
+ return;
+ case 149:
+ emitSerializedTypeReferenceNode(node);
+ return;
+ case 152:
+ case 153:
+ case 156:
+ case 157:
+ case 115:
+ break;
+ default:
+ ts.Debug.fail("Cannot serialize unexpected type node.");
+ break;
+ }
}
write("Object");
}
@@ -27471,7 +27568,7 @@ var ts;
return argumentsWritten;
}
function emitInterfaceDeclaration(node) {
- emitOnlyPinnedOrTripleSlashComments(node);
+ emitCommentsOnNotEmittedNode(node);
}
function shouldEmitEnumDeclaration(node) {
var isConstEnum = ts.isConst(node);
@@ -27578,7 +27675,7 @@ var ts;
function emitModuleDeclaration(node) {
var shouldEmit = shouldEmitModuleDeclaration(node);
if (!shouldEmit) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
var hoistedInDeclarationScope = shouldHoistDeclarationInSystemJsModule(node);
var emitVarForModule = !hoistedInDeclarationScope && !isModuleMergedWithES6Class(node);
@@ -28246,7 +28343,7 @@ var ts;
}
return;
}
- if (ts.isInternalModuleImportEqualsDeclaration(node)) {
+ if (ts.isInternalModuleImportEqualsDeclaration(node) && resolver.isValueAliasDeclaration(node)) {
if (!hoistedVars) {
hoistedVars = [];
}
@@ -28716,7 +28813,7 @@ var ts;
function emitNodeConsideringCommentsOption(node, emitNodeConsideringSourcemap) {
if (node) {
if (node.flags & 2) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (isSpecializedCommentHandling(node)) {
return emitNodeWithoutSourceMap(node);
@@ -28948,14 +29045,20 @@ var ts;
}
return leadingComments;
}
- function filterComments(ranges, onlyPinnedOrTripleSlashComments) {
- if (ranges && onlyPinnedOrTripleSlashComments) {
- ranges = ts.filter(ranges, isPinnedOrTripleSlashComment);
- if (ranges.length === 0) {
- return undefined;
- }
+ function isPinnedComments(comment) {
+ return currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 33;
+ }
+ function isTripleSlashComment(comment) {
+ if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 &&
+ comment.pos + 2 < comment.end &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 47) {
+ var textSubStr = currentSourceFile.text.substring(comment.pos, comment.end);
+ return textSubStr.match(ts.fullTripleSlashReferencePathRegEx) ||
+ textSubStr.match(ts.fullTripleSlashAMDReferencePathRegEx) ?
+ true : false;
}
- return ranges;
+ return false;
}
function getLeadingCommentsToEmit(node) {
if (node.parent) {
@@ -28976,26 +29079,46 @@ var ts;
}
}
}
- function emitOnlyPinnedOrTripleSlashComments(node) {
- emitLeadingCommentsWorker(node, true);
+ function emitCommentsOnNotEmittedNode(node) {
+ emitLeadingCommentsWorker(node, false);
}
function emitLeadingComments(node) {
- return emitLeadingCommentsWorker(node, compilerOptions.removeComments);
+ return emitLeadingCommentsWorker(node, true);
}
- function emitLeadingCommentsWorker(node, onlyPinnedOrTripleSlashComments) {
- var leadingComments = filterComments(getLeadingCommentsToEmit(node), onlyPinnedOrTripleSlashComments);
+ function emitLeadingCommentsWorker(node, isEmittedNode) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var leadingComments;
+ if (isEmittedNode) {
+ leadingComments = getLeadingCommentsToEmit(node);
+ }
+ else {
+ if (node.pos === 0) {
+ leadingComments = ts.filter(getLeadingCommentsToEmit(node), isTripleSlashComment);
+ }
+ }
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments);
ts.emitComments(currentSourceFile, writer, leadingComments, true, newLine, writeComment);
}
function emitTrailingComments(node) {
- var trailingComments = filterComments(getTrailingCommentsToEmit(node), compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = getTrailingCommentsToEmit(node);
ts.emitComments(currentSourceFile, writer, trailingComments, false, newLine, writeComment);
}
function emitTrailingCommentsOfPosition(pos) {
- var trailingComments = filterComments(ts.getTrailingCommentRanges(currentSourceFile.text, pos), compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = ts.getTrailingCommentRanges(currentSourceFile.text, pos);
ts.emitComments(currentSourceFile, writer, trailingComments, true, newLine, writeComment);
}
- function emitLeadingCommentsOfPosition(pos) {
+ function emitLeadingCommentsOfPositionWorker(pos) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
var leadingComments;
if (hasDetachedComments(pos)) {
leadingComments = getLeadingCommentsWithoutDetachedComments();
@@ -29003,12 +29126,19 @@ var ts;
else {
leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, pos);
}
- leadingComments = filterComments(leadingComments, compilerOptions.removeComments);
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, { pos: pos, end: pos }, leadingComments);
ts.emitComments(currentSourceFile, writer, leadingComments, true, newLine, writeComment);
}
function emitDetachedComments(node) {
- var leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ var leadingComments;
+ if (compilerOptions.removeComments) {
+ if (node.pos === 0) {
+ leadingComments = ts.filter(ts.getLeadingCommentRanges(currentSourceFile.text, node.pos), isPinnedComments);
+ }
+ }
+ else {
+ leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ }
if (leadingComments) {
var detachedComments = [];
var lastComment;
@@ -29046,17 +29176,6 @@ var ts;
write(shebang);
}
}
- function isPinnedOrTripleSlashComment(comment) {
- if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42) {
- return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33;
- }
- else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 &&
- comment.pos + 2 < comment.end &&
- currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 &&
- currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) {
- return true;
- }
- }
}
function emitFile(jsFilePath, sourceFile) {
emitJavaScript(jsFilePath, sourceFile);
@@ -29332,7 +29451,7 @@ var ts;
ts.ioReadTime = 0;
ts.ioWriteTime = 0;
var emptyArray = [];
- ts.version = "1.6.0";
+ ts.version = "1.7.0";
function findConfigFile(searchPath) {
var fileName = "tsconfig.json";
while (true) {
@@ -29372,10 +29491,12 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(containingDirectory, moduleName));
var resolvedFileName = loadNodeModuleFromFile(candidate, false, failedLookupLocations, host);
if (resolvedFileName) {
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations };
}
resolvedFileName = loadNodeModuleFromDirectory(candidate, false, failedLookupLocations, host);
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return resolvedFileName
+ ? { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
else {
return loadModuleFromNodeModules(moduleName, containingDirectory, host);
@@ -29433,11 +29554,11 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(nodeModulesFolder, moduleName));
var result = loadNodeModuleFromFile(candidate, true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
result = loadNodeModuleFromDirectory(candidate, true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
}
var parentPath = ts.getDirectoryPath(directory);
@@ -29446,36 +29567,15 @@ var ts;
}
directory = parentPath;
}
- return { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
- function baseUrlModuleNameResolver(moduleName, containingFile, baseUrl, host) {
- ts.Debug.assert(baseUrl !== undefined);
- var normalizedModuleName = ts.normalizeSlashes(moduleName);
- var basePart = useBaseUrl(moduleName) ? baseUrl : ts.getDirectoryPath(containingFile);
- var candidate = ts.normalizePath(ts.combinePaths(basePart, moduleName));
- var failedLookupLocations = [];
- return ts.forEach(ts.supportedExtensions, function (ext) { return tryLoadFile(candidate + ext); }) || { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
- function tryLoadFile(location) {
- if (host.fileExists(location)) {
- return { resolvedFileName: location, failedLookupLocations: failedLookupLocations };
- }
- else {
- failedLookupLocations.push(location);
- return undefined;
- }
- }
- }
- ts.baseUrlModuleNameResolver = baseUrlModuleNameResolver;
function nameStartsWithDotSlashOrDotDotSlash(name) {
var i = name.lastIndexOf("./", 1);
return i === 0 || (i === 1 && name.charCodeAt(0) === 46);
}
- function useBaseUrl(moduleName) {
- return ts.getRootLength(moduleName) === 0 && !nameStartsWithDotSlashOrDotDotSlash(moduleName);
- }
function classicNameResolver(moduleName, containingFile, compilerOptions, host) {
if (moduleName.indexOf('!') != -1) {
- return { resolvedFileName: undefined, failedLookupLocations: [] };
+ return { resolvedModule: undefined, failedLookupLocations: [] };
}
var searchPath = ts.getDirectoryPath(containingFile);
var searchName;
@@ -29504,7 +29604,9 @@ var ts;
}
searchPath = parentPath;
}
- return { resolvedFileName: referencedSourceFile, failedLookupLocations: failedLookupLocations };
+ return referencedSourceFile
+ ? { resolvedModule: { resolvedFileName: referencedSourceFile }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
ts.classicNameResolver = classicNameResolver;
ts.defaultInitCompilerOptions = {
@@ -29617,7 +29719,8 @@ var ts;
function createProgram(rootNames, options, host, oldProgram) {
var program;
var files = [];
- var diagnostics = ts.createDiagnosticCollection();
+ var fileProcessingDiagnostics = ts.createDiagnosticCollection();
+ var programDiagnostics = ts.createDiagnosticCollection();
var commonSourceDirectory;
var diagnosticsProducingTypeChecker;
var noDiagnosticsTypeChecker;
@@ -29625,8 +29728,9 @@ var ts;
var skipDefaultLib = options.noLib;
var start = new Date().getTime();
host = host || createCompilerHost(options);
- var resolveModuleNamesWorker = host.resolveModuleNames ||
- (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedFileName; }); });
+ var resolveModuleNamesWorker = host.resolveModuleNames
+ ? (function (moduleNames, containingFile) { return host.resolveModuleNames(moduleNames, containingFile); })
+ : (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedModule; }); });
var filesByName = ts.createFileMap(function (fileName) { return host.getCanonicalFileName(fileName); });
if (oldProgram) {
var oldOptions = oldProgram.getCompilerOptions();
@@ -29666,7 +29770,8 @@ var ts;
getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); },
getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); },
getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); },
- getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); }
+ getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); },
+ getFileProcessingDiagnostics: function () { return fileProcessingDiagnostics; }
};
return program;
function getClassifiableNames() {
@@ -29690,6 +29795,7 @@ var ts;
return false;
}
var newSourceFiles = [];
+ var modifiedSourceFiles = [];
for (var _i = 0, _a = oldProgram.getSourceFiles(); _i < _a.length; _i++) {
var oldSourceFile = _a[_i];
var newSourceFile = host.getSourceFile(oldSourceFile.fileName, options.target);
@@ -29711,13 +29817,20 @@ var ts;
var moduleNames = ts.map(newSourceFile.imports, function (name) { return name.text; });
var resolutions = resolveModuleNamesWorker(moduleNames, newSourceFile.fileName);
for (var i = 0; i < moduleNames.length; ++i) {
- var oldResolution = ts.getResolvedModuleFileName(oldSourceFile, moduleNames[i]);
- if (oldResolution !== resolutions[i]) {
+ var newResolution = resolutions[i];
+ var oldResolution = ts.getResolvedModule(oldSourceFile, moduleNames[i]);
+ var resolutionChanged = oldResolution
+ ? !newResolution ||
+ oldResolution.resolvedFileName !== newResolution.resolvedFileName ||
+ !!oldResolution.isExternalLibraryImport !== !!newResolution.isExternalLibraryImport
+ : newResolution;
+ if (resolutionChanged) {
return false;
}
}
}
newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
+ modifiedSourceFiles.push(newSourceFile);
}
else {
newSourceFile = oldSourceFile;
@@ -29729,6 +29842,11 @@ var ts;
filesByName.set(file.fileName, file);
}
files = newSourceFiles;
+ fileProcessingDiagnostics = oldProgram.getFileProcessingDiagnostics();
+ for (var _c = 0; _c < modifiedSourceFiles.length; _c++) {
+ var modifiedFile = modifiedSourceFiles[_c];
+ fileProcessingDiagnostics.reattachFileDiagnostics(modifiedFile);
+ }
oldProgram.structureIsReused = true;
return true;
}
@@ -29810,8 +29928,9 @@ var ts;
ts.Debug.assert(!!sourceFile.bindDiagnostics);
var bindDiagnostics = sourceFile.bindDiagnostics;
var checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken);
- var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName);
- return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics);
+ var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName);
+ var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName);
+ return bindDiagnostics.concat(checkDiagnostics).concat(fileProcessingDiagnosticsInFile).concat(programDiagnosticsInFile);
});
}
function getDeclarationDiagnosticsForFile(sourceFile, cancellationToken) {
@@ -29825,7 +29944,8 @@ var ts;
}
function getOptionsDiagnostics() {
var allDiagnostics = [];
- ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, fileProcessingDiagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, programDiagnostics.getGlobalDiagnostics());
return ts.sortAndDeduplicateDiagnostics(allDiagnostics);
}
function getGlobalDiagnostics() {
@@ -29915,10 +30035,10 @@ var ts;
}
if (diagnostic) {
if (refFile !== undefined && refEnd !== undefined && refPos !== undefined) {
- diagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
}
}
}
@@ -29935,10 +30055,10 @@ var ts;
}
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
filesByName.set(canonicalName, file);
@@ -29966,10 +30086,10 @@ var ts;
var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName;
if (canonicalName !== sourceFileName) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
}
}
@@ -29990,9 +30110,23 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, file.fileName);
for (var i = 0; i < file.imports.length; ++i) {
var resolution = resolutions[i];
- ts.setResolvedModuleName(file, moduleNames[i], resolution);
+ ts.setResolvedModule(file, moduleNames[i], resolution);
if (resolution && !options.noResolve) {
- findModuleSourceFile(resolution, file.imports[i]);
+ var importedFile = findModuleSourceFile(resolution.resolvedFileName, file.imports[i]);
+ if (importedFile && resolution.isExternalLibraryImport) {
+ if (!ts.isExternalModule(importedFile)) {
+ var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
+ }
+ else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
+ var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ else if (importedFile.referencedFiles.length) {
+ var firstRef = importedFile.referencedFiles[0];
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ }
}
}
}
@@ -30001,7 +30135,7 @@ var ts;
}
return;
function findModuleSourceFile(fileName, nameLiteral) {
- return findSourceFile(fileName, false, file, nameLiteral.pos, nameLiteral.end);
+ return findSourceFile(fileName, false, file, ts.skipTrivia(file.text, nameLiteral.pos), nameLiteral.end);
}
}
function computeCommonSourceDirectory(sourceFiles) {
@@ -30020,7 +30154,7 @@ var ts;
for (var i = 0, n = Math.min(commonPathComponents.length, sourcePathComponents.length); i < n; i++) {
if (commonPathComponents[i] !== sourcePathComponents[i]) {
if (i === 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
return;
}
commonPathComponents.length = i;
@@ -30043,7 +30177,7 @@ var ts;
if (!ts.isDeclarationFile(sourceFile)) {
var absoluteSourceFilePath = host.getCanonicalFileName(ts.getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory));
if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
allFilesBelongToPath = false;
}
}
@@ -30054,43 +30188,43 @@ var ts;
function verifyCompilerOptions() {
if (options.isolatedModules) {
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
}
if (options.noEmitOnError) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
}
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
}
}
if (options.inlineSourceMap) {
if (options.sourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
}
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
}
}
if (options.inlineSources) {
if (!options.sourceMap && !options.inlineSourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
}
}
if (options.out && options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
}
if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) {
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
}
return;
}
@@ -30099,20 +30233,20 @@ var ts;
var firstExternalModuleSourceFile = ts.forEach(files, function (f) { return ts.isExternalModule(f) ? f : undefined; });
if (options.isolatedModules) {
if (!options.module && languageVersion < 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
}
var firstNonExternalModuleSourceFile = ts.forEach(files, function (f) { return !ts.isExternalModule(f) && !ts.isDeclarationFile(f) ? f : undefined; });
if (firstNonExternalModuleSourceFile) {
var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
- diagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
}
}
else if (firstExternalModuleSourceFile && languageVersion < 2 && !options.module) {
var span = ts.getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
- diagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
}
if (options.module && languageVersion >= 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
}
if (options.outDir ||
options.sourceRoot ||
@@ -30130,25 +30264,25 @@ var ts;
}
if (options.noEmit) {
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
}
if (options.outDir) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
}
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
}
}
if (options.emitDecoratorMetadata &&
!options.experimentalDecorators) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
}
if (options.experimentalAsyncFunctions &&
options.target !== 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
}
}
}
@@ -30397,8 +30531,8 @@ var ts;
"node": 2,
"classic": 1
},
- experimental: true,
- description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6
+ description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6,
+ error: ts.Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic
}
];
var optionNameMapCache;
@@ -30512,10 +30646,10 @@ var ts;
}
}
ts.parseCommandLine = parseCommandLine;
- function readConfigFile(fileName) {
+ function readConfigFile(fileName, readFile) {
var text = "";
try {
- text = ts.sys.readFile(fileName);
+ text = readFile(fileName);
}
catch (e) {
return { error: ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, e.message) };
@@ -30784,7 +30918,7 @@ var ts;
function performCompilation() {
if (!cachedProgram) {
if (configFileName) {
- var result = ts.readConfigFile(configFileName);
+ var result = ts.readConfigFile(configFileName, ts.sys.readFile);
if (result.error) {
reportDiagnostic(result.error);
return ts.sys.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped);
diff --git a/lib/tsserver.js b/lib/tsserver.js
index 78836160678..875e63028b2 100644
--- a/lib/tsserver.js
+++ b/lib/tsserver.js
@@ -47,7 +47,6 @@ var ts;
})(ts.DiagnosticCategory || (ts.DiagnosticCategory = {}));
var DiagnosticCategory = ts.DiagnosticCategory;
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
function createFileMap(getCanonicalFileName) {
@@ -569,9 +568,6 @@ var ts;
}
ts.getNormalizedPathFromPathComponents = getNormalizedPathFromPathComponents;
function getNormalizedPathComponentsOfUrl(url) {
- // Get root length of http://www.website.com/folder1/foler2/
- // In this example the root is: http://www.website.com/
- // normalized path components should be ["http://www.website.com/", "folder1", "folder2"]
var urlLength = url.length;
var rootLength = url.indexOf("://") + "://".length;
while (rootLength < urlLength) {
@@ -731,7 +727,6 @@ var ts;
Debug.fail = fail;
})(Debug = ts.Debug || (ts.Debug = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
ts.sys = (function () {
@@ -1003,7 +998,6 @@ var ts;
}
})();
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
ts.Diagnostics = {
@@ -1248,7 +1242,7 @@ var ts;
Property_0_does_not_exist_on_type_1: { code: 2339, category: ts.DiagnosticCategory.Error, key: "Property '{0}' does not exist on type '{1}'." },
Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: ts.DiagnosticCategory.Error, key: "Only public and protected methods of the base class are accessible via the 'super' keyword." },
Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: ts.DiagnosticCategory.Error, key: "Property '{0}' is private and only accessible within class '{1}'." },
- An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol, or 'any'." },
+ An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol', or 'any'." },
Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: ts.DiagnosticCategory.Error, key: "Type '{0}' does not satisfy the constraint '{1}'." },
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: ts.DiagnosticCategory.Error, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." },
Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: ts.DiagnosticCategory.Error, key: "Supplied parameters do not match any signature of call target." },
@@ -1419,6 +1413,7 @@ var ts;
The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression: { code: 2522, category: ts.DiagnosticCategory.Error, key: "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression." },
yield_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2523, category: ts.DiagnosticCategory.Error, key: "'yield' expressions cannot be used in a parameter initializer." },
await_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2524, category: ts.DiagnosticCategory.Error, key: "'await' expressions cannot be used in a parameter initializer." },
+ Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value: { code: 2525, category: ts.DiagnosticCategory.Error, key: "Initializer provides no value for this binding element and the binding element has no default value." },
JSX_element_attributes_type_0_must_be_an_object_type: { code: 2600, category: ts.DiagnosticCategory.Error, key: "JSX element attributes type '{0}' must be an object type." },
The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: { code: 2601, category: ts.DiagnosticCategory.Error, key: "The return type of a JSX element constructor must return an object type." },
JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: { code: 2602, category: ts.DiagnosticCategory.Error, key: "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist." },
@@ -1431,6 +1426,10 @@ var ts;
Cannot_emit_namespaced_JSX_elements_in_React: { code: 2650, category: ts.DiagnosticCategory.Error, key: "Cannot emit namespaced JSX elements in React" },
A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: { code: 2651, category: ts.DiagnosticCategory.Error, key: "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums." },
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
+ Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
+ Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },
@@ -1564,13 +1563,14 @@ var ts;
Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: { code: 6060, category: ts.DiagnosticCategory.Message, key: "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." },
NEWLINE: { code: 6061, category: ts.DiagnosticCategory.Message, key: "NEWLINE" },
Argument_for_newLine_option_must_be_CRLF_or_LF: { code: 6062, category: ts.DiagnosticCategory.Error, key: "Argument for '--newLine' option must be 'CRLF' or 'LF'." },
+ Argument_for_moduleResolution_option_must_be_node_or_classic: { code: 6063, category: ts.DiagnosticCategory.Error, key: "Argument for '--moduleResolution' option must be 'node' or 'classic'." },
Specify_JSX_code_generation_Colon_preserve_or_react: { code: 6080, category: ts.DiagnosticCategory.Message, key: "Specify JSX code generation: 'preserve' or 'react'" },
Argument_for_jsx_must_be_preserve_or_react: { code: 6081, category: ts.DiagnosticCategory.Message, key: "Argument for '--jsx' must be 'preserve' or 'react'." },
Enables_experimental_support_for_ES7_decorators: { code: 6065, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 decorators." },
Enables_experimental_support_for_emitting_type_metadata_for_decorators: { code: 6066, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for emitting type metadata for decorators." },
Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower: { code: 6067, category: ts.DiagnosticCategory.Message, key: "Option 'experimentalAsyncFunctions' cannot be specified when targeting ES5 or lower." },
Enables_experimental_support_for_ES7_async_functions: { code: 6068, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 async functions." },
- Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
+ Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." },
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
@@ -1618,10 +1618,12 @@ var ts;
A_constructor_cannot_contain_a_super_call_when_its_class_extends_null: { code: 17005, category: ts.DiagnosticCategory.Error, key: "A constructor cannot contain a 'super' call when its class extends 'null'" }
};
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
+ function tokenIsIdentifierOrKeyword(token) {
+ return token >= 67;
+ }
+ ts.tokenIsIdentifierOrKeyword = tokenIsIdentifierOrKeyword;
var textToToken = {
"abstract": 113,
"any": 115,
@@ -1869,16 +1871,6 @@ var ts;
}
ts.isWhiteSpace = isWhiteSpace;
function isLineBreak(ch) {
- // ES5 7.3:
- // The ECMAScript line terminator characters are listed in Table 3.
- // Table 3: Line Terminator Characters
- // Code Unit Value Name Formal Name
- // \u000A Line Feed
- // \u000D Carriage Return
- // \u2028 Line separator
- // \u2029 Paragraph separator
- // Only the characters in Table 3 are treated as line terminators. Other new line or line
- // breaking characters are treated as white space but not as line terminators.
return ch === 10 ||
ch === 13 ||
ch === 8232 ||
@@ -2913,7 +2905,7 @@ var ts;
return token = 234;
}
function scanJsxIdentifier() {
- if (token === 67) {
+ if (tokenIsIdentifierOrKeyword(token)) {
var firstCharPosition = pos;
while (pos < end) {
var ch = text.charCodeAt(pos);
@@ -2980,10 +2972,6 @@ var ts;
}
ts.createScanner = createScanner;
})(ts || (ts = {}));
-///
-///
-///
-///
var ts;
(function (ts) {
ts.optionDeclarations = [
@@ -3223,8 +3211,8 @@ var ts;
"node": 2,
"classic": 1
},
- experimental: true,
- description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6
+ description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6,
+ error: ts.Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic
}
];
var optionNameMapCache;
@@ -3338,10 +3326,10 @@ var ts;
}
}
ts.parseCommandLine = parseCommandLine;
- function readConfigFile(fileName) {
+ function readConfigFile(fileName, readFile) {
var text = "";
try {
- text = ts.sys.readFile(fileName);
+ text = readFile(fileName);
}
catch (e) {
return { error: ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, e.message) };
@@ -3442,7 +3430,6 @@ var ts;
}
ts.parseConfigFile = parseConfigFile;
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
function getDeclarationOfKind(symbol, kind) {
@@ -3507,21 +3494,21 @@ var ts;
return true;
}
ts.arrayIsEqualTo = arrayIsEqualTo;
- function hasResolvedModuleName(sourceFile, moduleNameText) {
+ function hasResolvedModule(sourceFile, moduleNameText) {
return sourceFile.resolvedModules && ts.hasProperty(sourceFile.resolvedModules, moduleNameText);
}
- ts.hasResolvedModuleName = hasResolvedModuleName;
- function getResolvedModuleFileName(sourceFile, moduleNameText) {
- return hasResolvedModuleName(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
+ ts.hasResolvedModule = hasResolvedModule;
+ function getResolvedModule(sourceFile, moduleNameText) {
+ return hasResolvedModule(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
}
- ts.getResolvedModuleFileName = getResolvedModuleFileName;
- function setResolvedModuleName(sourceFile, moduleNameText, resolvedFileName) {
+ ts.getResolvedModule = getResolvedModule;
+ function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
if (!sourceFile.resolvedModules) {
sourceFile.resolvedModules = {};
}
- sourceFile.resolvedModules[moduleNameText] = resolvedFileName;
+ sourceFile.resolvedModules[moduleNameText] = resolvedModule;
}
- ts.setResolvedModuleName = setResolvedModuleName;
+ ts.setResolvedModule = setResolvedModule;
function containsParseError(node) {
aggregateChildData(node);
return (node.parserContextFlags & 64) !== 0;
@@ -3777,6 +3764,7 @@ var ts;
}
ts.getJsDocComments = getJsDocComments;
ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/;
+ ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/;
function isTypeNode(node) {
if (149 <= node.kind && node.kind <= 158) {
return true;
@@ -4723,11 +4711,21 @@ var ts;
add: add,
getGlobalDiagnostics: getGlobalDiagnostics,
getDiagnostics: getDiagnostics,
- getModificationCount: getModificationCount
+ getModificationCount: getModificationCount,
+ reattachFileDiagnostics: reattachFileDiagnostics
};
function getModificationCount() {
return modificationCount;
}
+ function reattachFileDiagnostics(newFile) {
+ if (!ts.hasProperty(fileDiagnostics, newFile.fileName)) {
+ return;
+ }
+ for (var _i = 0, _a = fileDiagnostics[newFile.fileName]; _i < _a.length; _i++) {
+ var diagnostic = _a[_i];
+ diagnostic.file = newFile;
+ }
+ }
function add(diagnostic) {
var diagnostics;
if (diagnostic.file) {
@@ -5380,8 +5378,6 @@ var ts;
}
ts.getTypeParameterOwner = getTypeParameterOwner;
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var nodeConstructors = new Array(270);
@@ -5872,10 +5868,6 @@ var ts;
}
}
function fixupParentReferences(sourceFile) {
- // normally parent references are set during binding. However, for clients that only need
- // a syntax tree, and no semantic features, then the binding process is an unnecessary
- // overhead. This functions allows us to set all the parents, without all the expense of
- // binding.
var parent = sourceFile;
forEachChild(sourceFile, visitNode);
return;
@@ -6169,10 +6161,10 @@ var ts;
return createIdentifier(isIdentifier(), diagnosticMessage);
}
function parseIdentifierName() {
- return createIdentifier(isIdentifierOrKeyword());
+ return createIdentifier(ts.tokenIsIdentifierOrKeyword(token));
}
function isLiteralPropertyName() {
- return isIdentifierOrKeyword() ||
+ return ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 ||
token === 8;
}
@@ -6192,7 +6184,7 @@ var ts;
return parsePropertyNameWorker(false);
}
function isSimplePropertyName() {
- return token === 9 || token === 8 || isIdentifierOrKeyword();
+ return token === 9 || token === 8 || ts.tokenIsIdentifierOrKeyword(token);
}
function parseComputedPropertyName() {
var node = createNode(134);
@@ -6283,9 +6275,9 @@ var ts;
case 20:
return isHeritageClause();
case 21:
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
case 13:
- return isIdentifierOrKeyword() || token === 15;
+ return ts.tokenIsIdentifierOrKeyword(token) || token === 15;
case 14:
return true;
case 22:
@@ -6311,7 +6303,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeyword() {
nextToken();
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
function isHeritageClauseExtendsOrImplementsKeyword() {
if (token === 104 ||
@@ -6679,7 +6671,7 @@ var ts;
return entity;
}
function parseRightSideOfDot(allowIdentifierNames) {
- if (scanner.hasPrecedingLineBreak() && isIdentifierOrKeyword()) {
+ if (scanner.hasPrecedingLineBreak() && ts.tokenIsIdentifierOrKeyword(token)) {
var matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);
if (matchesPattern) {
return createMissingNode(67, true, ts.Diagnostics.Identifier_expected);
@@ -6969,7 +6961,7 @@ var ts;
return result;
}
}
- if (isIdentifierOrKeyword()) {
+ if (ts.tokenIsIdentifierOrKeyword(token)) {
return parsePropertyOrMethodSignature();
}
}
@@ -7207,9 +7199,6 @@ var ts;
return allowInAnd(parseExpression);
}
function parseExpression() {
- // Expression[in]:
- // AssignmentExpression[in]
- // Expression[in] , AssignmentExpression[in]
var saveDecoratorContext = inDecoratorContext();
if (saveDecoratorContext) {
setDecoratorContext(false);
@@ -7234,15 +7223,6 @@ var ts;
return parseAssignmentExpressionOrHigher();
}
function parseAssignmentExpressionOrHigher() {
- // AssignmentExpression[in,yield]:
- // 1) ConditionalExpression[?in,?yield]
- // 2) LeftHandSideExpression = AssignmentExpression[?in,?yield]
- // 3) LeftHandSideExpression AssignmentOperator AssignmentExpression[?in,?yield]
- // 4) ArrowFunctionExpression[?in,?yield]
- // 5) [+Yield] YieldExpression[?In]
- //
- // Note: for ease of implementation we treat productions '2' and '3' as the same thing.
- // (i.e. they're both BinaryExpressions with an assignment operator in it).
if (isYieldExpression()) {
return parseYieldExpression();
}
@@ -8211,8 +8191,6 @@ var ts;
return finishNode(node);
}
function parseThrowStatement() {
- // ThrowStatement[Yield] :
- // throw [no LineTerminator here]Expression[In, ?Yield];
var node = createNode(206);
parseExpected(96);
node.expression = scanner.hasPrecedingLineBreak() ? undefined : allowInAnd(parseExpression);
@@ -8262,12 +8240,9 @@ var ts;
return finishNode(expressionStatement);
}
}
- function isIdentifierOrKeyword() {
- return token >= 67;
- }
function nextTokenIsIdentifierOrKeywordOnSameLine() {
nextToken();
- return isIdentifierOrKeyword() && !scanner.hasPrecedingLineBreak();
+ return ts.tokenIsIdentifierOrKeyword(token) && !scanner.hasPrecedingLineBreak();
}
function nextTokenIsFunctionKeywordOnSameLine() {
nextToken();
@@ -8275,7 +8250,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine() {
nextToken();
- return (isIdentifierOrKeyword() || token === 8) && !scanner.hasPrecedingLineBreak();
+ return (ts.tokenIsIdentifierOrKeyword(token) || token === 8) && !scanner.hasPrecedingLineBreak();
}
function isDeclaration() {
while (true) {
@@ -8303,7 +8278,7 @@ var ts;
case 87:
nextToken();
return token === 9 || token === 37 ||
- token === 15 || isIdentifierOrKeyword();
+ token === 15 || ts.tokenIsIdentifierOrKeyword(token);
case 80:
nextToken();
if (token === 55 || token === 37 ||
@@ -8790,7 +8765,7 @@ var ts;
if (isIndexSignature()) {
return parseIndexSignatureDeclaration(fullStart, decorators, modifiers);
}
- if (isIdentifierOrKeyword() ||
+ if (ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 ||
token === 8 ||
token === 37 ||
@@ -8827,8 +8802,6 @@ var ts;
return finishNode(node);
}
function parseHeritageClauses(isClassHeritageClause) {
- // ClassTail[Yield,Await] : (Modified) See 14.5
- // ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
if (isHeritageClause()) {
return parseList(20, parseHeritageClause);
}
@@ -8918,12 +8891,13 @@ var ts;
}
function parseModuleOrNamespaceDeclaration(fullStart, decorators, modifiers, flags) {
var node = createNode(216, fullStart);
+ var namespaceFlag = flags & 131072;
node.decorators = decorators;
setModifiers(node, modifiers);
node.flags |= flags;
node.name = parseIdentifier();
node.body = parseOptional(21)
- ? parseModuleOrNamespaceDeclaration(getNodePos(), undefined, undefined, 1)
+ ? parseModuleOrNamespaceDeclaration(getNodePos(), undefined, undefined, 1 | namespaceFlag)
: parseModuleBlock();
return finishNode(node);
}
@@ -8994,12 +8968,6 @@ var ts;
return finishNode(importDeclaration);
}
function parseImportClause(identifier, fullStart) {
- // ImportClause:
- // ImportedDefaultBinding
- // NameSpaceImport
- // NamedImports
- // ImportedDefaultBinding, NameSpaceImport
- // ImportedDefaultBinding, NamedImports
var importClause = createNode(221, fullStart);
if (identifier) {
importClause.name = identifier;
@@ -9183,7 +9151,7 @@ var ts;
case 95:
return true;
}
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
JSDocParser.isJSDocType = isJSDocType;
function parseJSDocTypeExpressionForTests(content, start, length) {
@@ -9956,7 +9924,6 @@ var ts;
}
})(IncrementalParser || (IncrementalParser = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
ts.bindTime = 0;
@@ -10670,7 +10637,6 @@ var ts;
}
}
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var nextSymbolId = 1;
@@ -11417,7 +11383,7 @@ var ts;
var moduleReferenceLiteral = moduleReferenceExpression;
var searchPath = ts.getDirectoryPath(getSourceFile(location).fileName);
var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text);
- if (!moduleName) {
+ if (moduleName === undefined) {
return;
}
var isRelative = isExternalModuleNameRelative(moduleName);
@@ -11427,8 +11393,8 @@ var ts;
return symbol;
}
}
- var fileName = ts.getResolvedModuleFileName(getSourceFile(location), moduleReferenceLiteral.text);
- var sourceFile = fileName && host.getSourceFile(fileName);
+ var resolvedModule = ts.getResolvedModule(getSourceFile(location), moduleReferenceLiteral.text);
+ var sourceFile = resolvedModule && host.getSourceFile(resolvedModule.resolvedFileName);
if (sourceFile) {
if (sourceFile.symbol) {
return sourceFile.symbol;
@@ -12548,52 +12514,52 @@ var ts;
return checkIdentifier(declaration.name);
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, false);
}
return undefined;
}
- function getTypeFromBindingElement(element) {
+ function getTypeFromBindingElement(element, includePatternInType) {
if (element.initializer) {
return getWidenedType(checkExpressionCached(element.initializer));
}
if (ts.isBindingPattern(element.name)) {
- return getTypeFromBindingPattern(element.name);
+ return getTypeFromBindingPattern(element.name, includePatternInType);
}
return anyType;
}
- function getTypeFromObjectBindingPattern(pattern) {
+ function getTypeFromObjectBindingPattern(pattern, includePatternInType) {
var members = {};
ts.forEach(pattern.elements, function (e) {
var flags = 4 | 67108864 | (e.initializer ? 536870912 : 0);
var name = e.propertyName || e.name;
var symbol = createSymbol(flags, name.text);
- symbol.type = getTypeFromBindingElement(e);
+ symbol.type = getTypeFromBindingElement(e, includePatternInType);
+ symbol.bindingElement = e;
members[symbol.name] = symbol;
});
- return createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ var result = createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ if (includePatternInType) {
+ result.pattern = pattern;
+ }
+ return result;
}
- function getTypeFromArrayBindingPattern(pattern) {
- var hasSpreadElement = false;
- var elementTypes = [];
- ts.forEach(pattern.elements, function (e) {
- elementTypes.push(e.kind === 185 || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e));
- if (e.dotDotDotToken) {
- hasSpreadElement = true;
- }
- });
- if (!elementTypes.length) {
+ function getTypeFromArrayBindingPattern(pattern, includePatternInType) {
+ var elements = pattern.elements;
+ if (elements.length === 0 || elements[elements.length - 1].dotDotDotToken) {
return languageVersion >= 2 ? createIterableType(anyType) : anyArrayType;
}
- else if (hasSpreadElement) {
- var unionOfElements = getUnionType(elementTypes);
- return languageVersion >= 2 ? createIterableType(unionOfElements) : createArrayType(unionOfElements);
+ var elementTypes = ts.map(elements, function (e) { return e.kind === 185 ? anyType : getTypeFromBindingElement(e, includePatternInType); });
+ if (includePatternInType) {
+ var result = createNewTupleType(elementTypes);
+ result.pattern = pattern;
+ return result;
}
return createTupleType(elementTypes);
}
- function getTypeFromBindingPattern(pattern) {
+ function getTypeFromBindingPattern(pattern, includePatternInType) {
return pattern.kind === 159
- ? getTypeFromObjectBindingPattern(pattern)
- : getTypeFromArrayBindingPattern(pattern);
+ ? getTypeFromObjectBindingPattern(pattern, includePatternInType)
+ : getTypeFromArrayBindingPattern(pattern, includePatternInType);
}
function getWidenedTypeForVariableLikeDeclaration(declaration, reportErrors) {
var type = getTypeForVariableLikeDeclaration(declaration);
@@ -13915,11 +13881,11 @@ var ts;
}
function createTupleType(elementTypes) {
var id = getTypeListId(elementTypes);
- var type = tupleTypes[id];
- if (!type) {
- type = tupleTypes[id] = createObjectType(8192 | getPropagatingFlagsOfTypes(elementTypes));
- type.elementTypes = elementTypes;
- }
+ return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes));
+ }
+ function createNewTupleType(elementTypes) {
+ var type = createObjectType(8192 | getPropagatingFlagsOfTypes(elementTypes));
+ type.elementTypes = elementTypes;
return type;
}
function getTypeFromTupleTypeNode(node) {
@@ -14407,7 +14373,9 @@ var ts;
}
return 0;
}
- source = getRegularTypeOfObjectLiteral(source);
+ if (target.flags & 49152) {
+ source = getRegularTypeOfObjectLiteral(source);
+ }
}
var saveErrorInfo = errorInfo;
if (source.flags & 16384) {
@@ -14511,6 +14479,7 @@ var ts;
var prop = _a[_i];
if (!isKnownProperty(target, prop.name)) {
if (reportErrors) {
+ errorNode = prop.valueDeclaration;
reportError(ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(prop), typeToString(target));
}
return true;
@@ -14805,8 +14774,8 @@ var ts;
return result;
function abstractSignatureRelatedTo(source, sourceSig, target, targetSig) {
if (sourceSig && targetSig) {
- var sourceDecl = source.symbol && ts.getDeclarationOfKind(source.symbol, 212);
- var targetDecl = target.symbol && ts.getDeclarationOfKind(target.symbol, 212);
+ var sourceDecl = source.symbol && getClassLikeDeclarationOfSymbol(source.symbol);
+ var targetDecl = target.symbol && getClassLikeDeclarationOfSymbol(target.symbol);
if (!sourceDecl) {
return -1;
}
@@ -14814,8 +14783,8 @@ var ts;
var targetErasedSignature = getErasedSignature(targetSig);
var sourceReturnType = sourceErasedSignature && getReturnTypeOfSignature(sourceErasedSignature);
var targetReturnType = targetErasedSignature && getReturnTypeOfSignature(targetErasedSignature);
- var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && ts.getDeclarationOfKind(sourceReturnType.symbol, 212);
- var targetReturnDecl = targetReturnType && targetReturnType.symbol && ts.getDeclarationOfKind(targetReturnType.symbol, 212);
+ var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && getClassLikeDeclarationOfSymbol(sourceReturnType.symbol);
+ var targetReturnDecl = targetReturnType && targetReturnType.symbol && getClassLikeDeclarationOfSymbol(targetReturnType.symbol);
var sourceIsAbstract = sourceReturnDecl && sourceReturnDecl.flags & 256;
var targetIsAbstract = targetReturnDecl && targetReturnDecl.flags & 256;
if (sourceIsAbstract && !(targetIsAbstract && targetDecl)) {
@@ -15138,6 +15107,7 @@ var ts;
regularType.constructSignatures = type.constructSignatures;
regularType.stringIndexType = type.stringIndexType;
regularType.numberIndexType = type.numberIndexType;
+ type.regularType = regularType;
}
return regularType;
}
@@ -16034,7 +16004,7 @@ var ts;
}
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, true);
}
}
return undefined;
@@ -16326,11 +16296,12 @@ var ts;
var arrayOrIterableType = checkExpressionCached(node.expression, contextualMapper);
return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, false);
}
+ function hasDefaultValue(node) {
+ return (node.kind === 161 && !!node.initializer) ||
+ (node.kind === 179 && node.operatorToken.kind === 55);
+ }
function checkArrayLiteral(node, contextualMapper) {
var elements = node.elements;
- if (!elements.length) {
- return createArrayType(undefinedType);
- }
var hasSpreadElement = false;
var elementTypes = [];
var inDestructuringPattern = isAssignmentTarget(node);
@@ -16351,12 +16322,35 @@ var ts;
hasSpreadElement = hasSpreadElement || e.kind === 183;
}
if (!hasSpreadElement) {
+ if (inDestructuringPattern && elementTypes.length) {
+ var type = createNewTupleType(elementTypes);
+ type.pattern = node;
+ return type;
+ }
var contextualType = getContextualType(node);
- if (contextualType && contextualTypeIsTupleLikeType(contextualType) || inDestructuringPattern) {
- return createTupleType(elementTypes);
+ if (contextualType && contextualTypeIsTupleLikeType(contextualType)) {
+ var pattern = contextualType.pattern;
+ if (pattern && (pattern.kind === 160 || pattern.kind === 162)) {
+ var patternElements = pattern.elements;
+ for (var i = elementTypes.length; i < patternElements.length; i++) {
+ var patternElement = patternElements[i];
+ if (hasDefaultValue(patternElement)) {
+ elementTypes.push(contextualType.elementTypes[i]);
+ }
+ else {
+ if (patternElement.kind !== 185) {
+ error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ elementTypes.push(unknownType);
+ }
+ }
+ }
+ if (elementTypes.length) {
+ return createTupleType(elementTypes);
+ }
}
}
- return createArrayType(getUnionType(elementTypes));
+ return createArrayType(elementTypes.length ? getUnionType(elementTypes) : undefinedType);
}
function isNumericName(name) {
return name.kind === 134 ? isNumericComputedName(name) : isNumericLiteralName(name.text);
@@ -16388,6 +16382,9 @@ var ts;
var propertiesTable = {};
var propertiesArray = [];
var contextualType = getContextualType(node);
+ var contextualTypeHasPattern = contextualType && contextualType.pattern &&
+ (contextualType.pattern.kind === 159 || contextualType.pattern.kind === 163);
+ var inDestructuringPattern = isAssignmentTarget(node);
var typeFlags = 0;
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
var memberDecl = _a[_i];
@@ -16408,6 +16405,20 @@ var ts;
}
typeFlags |= type.flags;
var prop = createSymbol(4 | 67108864 | member.flags, member.name);
+ if (inDestructuringPattern) {
+ if (memberDecl.kind === 243 && hasDefaultValue(memberDecl.initializer)) {
+ prop.flags |= 536870912;
+ }
+ }
+ else if (contextualTypeHasPattern) {
+ var impliedProp = getPropertyOfType(contextualType, member.name);
+ if (impliedProp) {
+ prop.flags |= impliedProp.flags & 536870912;
+ }
+ else if (!compilerOptions.suppressExcessPropertyErrors) {
+ error(memberDecl.name, ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType));
+ }
+ }
prop.declarations = member.declarations;
prop.parent = member.parent;
if (member.valueDeclaration) {
@@ -16426,11 +16437,26 @@ var ts;
}
propertiesArray.push(member);
}
+ if (contextualTypeHasPattern) {
+ for (var _b = 0, _c = getPropertiesOfType(contextualType); _b < _c.length; _b++) {
+ var prop = _c[_b];
+ if (!ts.hasProperty(propertiesTable, prop.name)) {
+ if (!(prop.flags & 536870912)) {
+ error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ propertiesTable[prop.name] = prop;
+ propertiesArray.push(prop);
+ }
+ }
+ }
var stringIndexType = getIndexType(0);
var numberIndexType = getIndexType(1);
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576;
result.flags |= 524288 | 4194304 | freshObjectLiteralFlag | (typeFlags & 14680064);
+ if (inDestructuringPattern) {
+ result.pattern = node;
+ }
return result;
function getIndexType(kind) {
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -17514,7 +17540,7 @@ var ts;
if (expressionType === unknownType) {
return resolveErrorCall(node);
}
- var valueDecl = expressionType.symbol && ts.getDeclarationOfKind(expressionType.symbol, 212);
+ var valueDecl = expressionType.symbol && getClassLikeDeclarationOfSymbol(expressionType.symbol);
if (valueDecl && valueDecl.flags & 256) {
error(node, ts.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0, ts.declarationNameToString(valueDecl.name));
return resolveErrorCall(node);
@@ -18509,10 +18535,6 @@ var ts;
}
}
function checkParameter(node) {
- // Grammar checking
- // It is a SyntaxError if the Identifier "eval" or the Identifier "arguments" occurs as the
- // Identifier in a PropertySetParameterList of a PropertyAssignment that is contained in strict code
- // or if its FunctionBody is strict code(11.1.5).
checkGrammarDecorators(node) || checkGrammarModifiers(node);
checkVariableLikeDeclaration(node);
var func = ts.getContainingFunction(node);
@@ -19155,15 +19177,6 @@ var ts;
return type;
}
function getPromisedType(promise) {
- //
- // { // promise
- // then( // thenFunction
- // onfulfilled: ( // onfulfilledParameterType
- // value: T // valueParameterType
- // ) => any
- // ): any;
- // }
- //
if (promise.flags & 1) {
return undefined;
}
@@ -19506,9 +19519,6 @@ var ts;
}
}
function checkVarDeclaredNamesNotShadowed(node) {
- // - ScriptBody : StatementList
- // It is a Syntax Error if any element of the LexicallyDeclaredNames of StatementList
- // also occurs in the VarDeclaredNames of StatementList.
if ((ts.getCombinedNodeFlags(node) & 49152) !== 0 || ts.isParameterDeclaration(node)) {
return;
}
@@ -20180,20 +20190,10 @@ var ts;
function getTargetSymbol(s) {
return s.flags & 16777216 ? getSymbolLinks(s).target : s;
}
+ function getClassLikeDeclarationOfSymbol(symbol) {
+ return ts.forEach(symbol.declarations, function (d) { return ts.isClassLike(d) ? d : undefined; });
+ }
function checkKindsOfPropertyMemberOverrides(type, baseType) {
- // TypeScript 1.0 spec (April 2014): 8.2.3
- // A derived class inherits all members from its base class it doesn't override.
- // Inheritance means that a derived class implicitly contains all non - overridden members of the base class.
- // Both public and private property members are inherited, but only public property members can be overridden.
- // A property member in a derived class is said to override a property member in a base class
- // when the derived class property member has the same name and kind(instance or static)
- // as the base class property member.
- // The type of an overriding property member must be assignable(section 3.8.4)
- // to the type of the overridden property member, or otherwise a compile - time error occurs.
- // Base class instance member functions can be overridden by derived class instance member functions,
- // but not by other kinds of members.
- // Base class instance member variables and accessors can be overridden by
- // derived class instance member variables and accessors, but not by other kinds of members.
var baseProperties = getPropertiesOfObjectType(baseType);
for (var _i = 0; _i < baseProperties.length; _i++) {
var baseProperty = baseProperties[_i];
@@ -20206,9 +20206,14 @@ var ts;
ts.Debug.assert(!!derived, "derived should point to something, even if it is the base class' declaration.");
if (derived) {
if (derived === base) {
- var derivedClassDecl = ts.getDeclarationOfKind(type.symbol, 212);
+ var derivedClassDecl = getClassLikeDeclarationOfSymbol(type.symbol);
if (baseDeclarationFlags & 256 && (!derivedClassDecl || !(derivedClassDecl.flags & 256))) {
- error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ if (derivedClassDecl.kind === 184) {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType));
+ }
+ else {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ }
}
}
else {
@@ -21432,7 +21437,10 @@ var ts;
var symbols = [];
var name_16 = symbol.name;
ts.forEach(getSymbolLinks(symbol).containingType.types, function (t) {
- symbols.push(getPropertyOfType(t, name_16));
+ var symbol = getPropertyOfType(t, name_16);
+ if (symbol) {
+ symbols.push(symbol);
+ }
});
return symbols;
}
@@ -22719,7 +22727,6 @@ var ts;
}
ts.createTypeChecker = createTypeChecker;
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
function getDeclarationDiagnostics(host, resolver, targetSourceFile) {
@@ -24047,8 +24054,6 @@ var ts;
}
ts.writeDeclarationFile = writeDeclarationFile;
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
function isExternalModuleOrDeclarationFile(sourceFile) {
@@ -24141,6 +24146,7 @@ var ts;
var scopeEmitStart = function (scopeDeclaration, scopeName) { };
var scopeEmitEnd = function () { };
var sourceMapData;
+ var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { } : emitLeadingCommentsOfPositionWorker;
if (compilerOptions.sourceMap || compilerOptions.inlineSourceMap) {
initializeEmitterWithSourceMaps();
}
@@ -24787,19 +24793,6 @@ var ts;
write(")");
}
function shouldEmitTemplateHead() {
- // If this expression has an empty head literal and the first template span has a non-empty
- // literal, then emitting the empty head literal is not necessary.
- // `${ foo } and ${ bar }`
- // can be emitted as
- // foo + " and " + bar
- // This is because it is only required that one of the first two operands in the emit
- // output must be a string literal, so that the other operand and all following operands
- // are forced into strings.
- //
- // If the first template span has an empty literal, then the head must still be emitted.
- // `${ foo }${ bar }`
- // must still be emitted as
- // "" + foo + bar
ts.Debug.assert(node.templateSpans.length !== 0);
return node.head.text.length !== 0 || node.templateSpans[0].literal.text.length === 0;
}
@@ -24967,8 +24960,10 @@ var ts;
function jsxEmitPreserve(node) {
function emitJsxAttribute(node) {
emit(node.name);
- write("=");
- emit(node.initializer);
+ if (node.initializer) {
+ write("=");
+ emit(node.initializer);
+ }
}
function emitJsxSpreadAttribute(node) {
write("{...");
@@ -25807,7 +25802,8 @@ var ts;
operand.kind !== 178 &&
operand.kind !== 167 &&
!(operand.kind === 166 && node.parent.kind === 167) &&
- !(operand.kind === 171 && node.parent.kind === 166)) {
+ !(operand.kind === 171 && node.parent.kind === 166) &&
+ !(operand.kind === 8 && node.parent.kind === 164)) {
emit(operand);
return;
}
@@ -26137,26 +26133,6 @@ var ts;
emitEmbeddedStatement(node.statement);
}
function emitDownLevelForOfStatement(node) {
- // The following ES6 code:
- //
- // for (let v of expr) { }
- //
- // should be emitted as
- //
- // for (let _i = 0, _a = expr; _i < _a.length; _i++) {
- // let v = _a[_i];
- // }
- //
- // where _a and _i are temps emitted to capture the RHS and the counter,
- // respectively.
- // When the left hand side is an expression instead of a let declaration,
- // the "let v" is not emitted.
- // When the left hand side is a let/const, the v is renamed if there is
- // another v in scope.
- // Note that all assignments to the LHS are emitted in the body, including
- // all destructuring.
- // Note also that because an extra statement is needed to assign to the LHS,
- // for-of bodies are always emitted as blocks.
var endPos = emitToken(84, node.pos);
write(" ");
endPos = emitToken(17, endPos);
@@ -26440,6 +26416,9 @@ var ts;
}
function emitExportSpecifierInSystemModule(specifier) {
ts.Debug.assert(compilerOptions.module === 4);
+ if (!resolver.getReferencedValueDeclaration(specifier.propertyName || specifier.name) && !resolver.isValueAliasDeclaration(specifier)) {
+ return;
+ }
writeLine();
emitStart(specifier.name);
write(exportFunctionForFile + "(\"");
@@ -26491,19 +26470,19 @@ var ts;
write(")");
}
}
- function ensureIdentifier(expr) {
- if (expr.kind !== 67) {
- var identifier = createTempVariable(0);
- if (!canDefineTempVariablesInPlace) {
- recordTempDeclaration(identifier);
- }
- emitAssignment(identifier, expr);
- expr = identifier;
+ function ensureIdentifier(expr, reuseIdentifierExpressions) {
+ if (expr.kind === 67 && reuseIdentifierExpressions) {
+ return expr;
}
- return expr;
+ var identifier = createTempVariable(0);
+ if (!canDefineTempVariablesInPlace) {
+ recordTempDeclaration(identifier);
+ }
+ emitAssignment(identifier, expr);
+ return identifier;
}
function createDefaultValueCheck(value, defaultValue) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
var equals = ts.createSynthesizedNode(179);
equals.left = value;
equals.operatorToken = ts.createSynthesizedNode(32);
@@ -26544,7 +26523,7 @@ var ts;
function emitObjectLiteralAssignment(target, value) {
var properties = target.properties;
if (properties.length !== 1) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
}
for (var _a = 0; _a < properties.length; _a++) {
var p = properties[_a];
@@ -26557,7 +26536,7 @@ var ts;
function emitArrayLiteralAssignment(target, value) {
var elements = target.elements;
if (elements.length !== 1) {
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
}
for (var i = 0; i < elements.length; i++) {
var e = elements[i];
@@ -26599,7 +26578,7 @@ var ts;
if (root.parent.kind !== 170) {
write("(");
}
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, true);
emitDestructuringAssignment(target, value);
write(", ");
emit(value);
@@ -26618,10 +26597,11 @@ var ts;
if (ts.isBindingPattern(target.name)) {
var pattern = target.name;
var elements = pattern.elements;
- if (elements.length !== 1) {
- value = ensureIdentifier(value);
+ var numElements = elements.length;
+ if (numElements !== 1) {
+ value = ensureIdentifier(value, numElements !== 0);
}
- for (var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < numElements; i++) {
var element = elements[i];
if (pattern.kind === 159) {
var propName = element.propertyName || element.name;
@@ -26631,7 +26611,7 @@ var ts;
if (!element.dotDotDotToken) {
emitBindingElement(element, createElementAccessExpression(value, createNumericLiteral(i)));
}
- else if (i === elements.length - 1) {
+ else if (i === numElements - 1) {
emitBindingElement(element, createSliceCall(value, i));
}
}
@@ -26871,7 +26851,7 @@ var ts;
}
function emitFunctionDeclaration(node) {
if (ts.nodeIsMissing(node.body)) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (node.kind !== 141 && node.kind !== 140 &&
node.parent && node.parent.kind !== 243 &&
@@ -27189,7 +27169,7 @@ var ts;
}
else if (member.kind === 141 || node.kind === 140) {
if (!member.body) {
- return emitOnlyPinnedOrTripleSlashComments(member);
+ return emitCommentsOnNotEmittedNode(member);
}
writeLine();
emitLeadingComments(member);
@@ -27255,7 +27235,7 @@ var ts;
for (var _a = 0, _b = node.members; _a < _b.length; _a++) {
var member = _b[_a];
if ((member.kind === 141 || node.kind === 140) && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
else if (member.kind === 141 ||
member.kind === 143 ||
@@ -27302,7 +27282,7 @@ var ts;
var hasInstancePropertyWithInitializer = false;
ts.forEach(node.members, function (member) {
if (member.kind === 142 && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
if (member.kind === 139 && member.initializer && (member.flags & 128) === 0) {
hasInstancePropertyWithInitializer = true;
@@ -27751,50 +27731,49 @@ var ts;
write("void 0");
}
function emitSerializedTypeNode(node) {
- if (!node) {
- return;
- }
- switch (node.kind) {
- case 101:
- write("void 0");
- return;
- case 158:
- emitSerializedTypeNode(node.type);
- return;
- case 150:
- case 151:
- write("Function");
- return;
- case 154:
- case 155:
- write("Array");
- return;
- case 148:
- case 118:
- write("Boolean");
- return;
- case 128:
- case 9:
- write("String");
- return;
- case 126:
- write("Number");
- return;
- case 129:
- write("Symbol");
- return;
- case 149:
- emitSerializedTypeReferenceNode(node);
- return;
- case 152:
- case 153:
- case 156:
- case 157:
- case 115:
- break;
- default:
- ts.Debug.fail("Cannot serialize unexpected type node.");
- break;
+ if (node) {
+ switch (node.kind) {
+ case 101:
+ write("void 0");
+ return;
+ case 158:
+ emitSerializedTypeNode(node.type);
+ return;
+ case 150:
+ case 151:
+ write("Function");
+ return;
+ case 154:
+ case 155:
+ write("Array");
+ return;
+ case 148:
+ case 118:
+ write("Boolean");
+ return;
+ case 128:
+ case 9:
+ write("String");
+ return;
+ case 126:
+ write("Number");
+ return;
+ case 129:
+ write("Symbol");
+ return;
+ case 149:
+ emitSerializedTypeReferenceNode(node);
+ return;
+ case 152:
+ case 153:
+ case 156:
+ case 157:
+ case 115:
+ break;
+ default:
+ ts.Debug.fail("Cannot serialize unexpected type node.");
+ break;
+ }
}
write("Object");
}
@@ -27933,7 +27912,7 @@ var ts;
return argumentsWritten;
}
function emitInterfaceDeclaration(node) {
- emitOnlyPinnedOrTripleSlashComments(node);
+ emitCommentsOnNotEmittedNode(node);
}
function shouldEmitEnumDeclaration(node) {
var isConstEnum = ts.isConst(node);
@@ -28040,7 +28019,7 @@ var ts;
function emitModuleDeclaration(node) {
var shouldEmit = shouldEmitModuleDeclaration(node);
if (!shouldEmit) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
var hoistedInDeclarationScope = shouldHoistDeclarationInSystemJsModule(node);
var emitVarForModule = !hoistedInDeclarationScope && !isModuleMergedWithES6Class(node);
@@ -28708,7 +28687,7 @@ var ts;
}
return;
}
- if (ts.isInternalModuleImportEqualsDeclaration(node)) {
+ if (ts.isInternalModuleImportEqualsDeclaration(node) && resolver.isValueAliasDeclaration(node)) {
if (!hoistedVars) {
hoistedVars = [];
}
@@ -28884,17 +28863,6 @@ var ts;
write("});");
}
function emitAMDDependencies(node, includeNonAmdDependencies) {
- // An AMD define function has the following shape:
- // define(id?, dependencies?, factory);
- //
- // This has the shape of
- // define(name, ["module1", "module2"], function (module1Alias) {
- // The location of the alias in the parameter list in the factory function needs to
- // match the position of the module name in the dependency list.
- //
- // To ensure this is true in cases of modules with no aliases, e.g.:
- // `import "module"` or ``
- // we need to add modules without alias names to the end of the dependencies list
var aliasedModuleNames = [];
var unaliasedModuleNames = [];
var importAliasNames = [];
@@ -29178,7 +29146,7 @@ var ts;
function emitNodeConsideringCommentsOption(node, emitNodeConsideringSourcemap) {
if (node) {
if (node.flags & 2) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (isSpecializedCommentHandling(node)) {
return emitNodeWithoutSourceMap(node);
@@ -29410,14 +29378,20 @@ var ts;
}
return leadingComments;
}
- function filterComments(ranges, onlyPinnedOrTripleSlashComments) {
- if (ranges && onlyPinnedOrTripleSlashComments) {
- ranges = ts.filter(ranges, isPinnedOrTripleSlashComment);
- if (ranges.length === 0) {
- return undefined;
- }
+ function isPinnedComments(comment) {
+ return currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 33;
+ }
+ function isTripleSlashComment(comment) {
+ if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 &&
+ comment.pos + 2 < comment.end &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 47) {
+ var textSubStr = currentSourceFile.text.substring(comment.pos, comment.end);
+ return textSubStr.match(ts.fullTripleSlashReferencePathRegEx) ||
+ textSubStr.match(ts.fullTripleSlashAMDReferencePathRegEx) ?
+ true : false;
}
- return ranges;
+ return false;
}
function getLeadingCommentsToEmit(node) {
if (node.parent) {
@@ -29438,26 +29412,46 @@ var ts;
}
}
}
- function emitOnlyPinnedOrTripleSlashComments(node) {
- emitLeadingCommentsWorker(node, true);
+ function emitCommentsOnNotEmittedNode(node) {
+ emitLeadingCommentsWorker(node, false);
}
function emitLeadingComments(node) {
- return emitLeadingCommentsWorker(node, compilerOptions.removeComments);
+ return emitLeadingCommentsWorker(node, true);
}
- function emitLeadingCommentsWorker(node, onlyPinnedOrTripleSlashComments) {
- var leadingComments = filterComments(getLeadingCommentsToEmit(node), onlyPinnedOrTripleSlashComments);
+ function emitLeadingCommentsWorker(node, isEmittedNode) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var leadingComments;
+ if (isEmittedNode) {
+ leadingComments = getLeadingCommentsToEmit(node);
+ }
+ else {
+ if (node.pos === 0) {
+ leadingComments = ts.filter(getLeadingCommentsToEmit(node), isTripleSlashComment);
+ }
+ }
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments);
ts.emitComments(currentSourceFile, writer, leadingComments, true, newLine, writeComment);
}
function emitTrailingComments(node) {
- var trailingComments = filterComments(getTrailingCommentsToEmit(node), compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = getTrailingCommentsToEmit(node);
ts.emitComments(currentSourceFile, writer, trailingComments, false, newLine, writeComment);
}
function emitTrailingCommentsOfPosition(pos) {
- var trailingComments = filterComments(ts.getTrailingCommentRanges(currentSourceFile.text, pos), compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = ts.getTrailingCommentRanges(currentSourceFile.text, pos);
ts.emitComments(currentSourceFile, writer, trailingComments, true, newLine, writeComment);
}
- function emitLeadingCommentsOfPosition(pos) {
+ function emitLeadingCommentsOfPositionWorker(pos) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
var leadingComments;
if (hasDetachedComments(pos)) {
leadingComments = getLeadingCommentsWithoutDetachedComments();
@@ -29465,12 +29459,19 @@ var ts;
else {
leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, pos);
}
- leadingComments = filterComments(leadingComments, compilerOptions.removeComments);
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, { pos: pos, end: pos }, leadingComments);
ts.emitComments(currentSourceFile, writer, leadingComments, true, newLine, writeComment);
}
function emitDetachedComments(node) {
- var leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ var leadingComments;
+ if (compilerOptions.removeComments) {
+ if (node.pos === 0) {
+ leadingComments = ts.filter(ts.getLeadingCommentRanges(currentSourceFile.text, node.pos), isPinnedComments);
+ }
+ }
+ else {
+ leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ }
if (leadingComments) {
var detachedComments = [];
var lastComment;
@@ -29508,17 +29509,6 @@ var ts;
write(shebang);
}
}
- function isPinnedOrTripleSlashComment(comment) {
- if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42) {
- return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33;
- }
- else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 &&
- comment.pos + 2 < comment.end &&
- currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 &&
- currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) {
- return true;
- }
- }
}
function emitFile(jsFilePath, sourceFile) {
emitJavaScript(jsFilePath, sourceFile);
@@ -29784,9 +29774,6 @@ var ts;
"diams": 0x2666
};
})(ts || (ts = {}));
-///
-///
-///
var ts;
(function (ts) {
ts.programTime = 0;
@@ -29794,7 +29781,7 @@ var ts;
ts.ioReadTime = 0;
ts.ioWriteTime = 0;
var emptyArray = [];
- ts.version = "1.6.0";
+ ts.version = "1.7.0";
function findConfigFile(searchPath) {
var fileName = "tsconfig.json";
while (true) {
@@ -29834,10 +29821,12 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(containingDirectory, moduleName));
var resolvedFileName = loadNodeModuleFromFile(candidate, false, failedLookupLocations, host);
if (resolvedFileName) {
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations };
}
resolvedFileName = loadNodeModuleFromDirectory(candidate, false, failedLookupLocations, host);
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return resolvedFileName
+ ? { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
else {
return loadModuleFromNodeModules(moduleName, containingDirectory, host);
@@ -29895,11 +29884,11 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(nodeModulesFolder, moduleName));
var result = loadNodeModuleFromFile(candidate, true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
result = loadNodeModuleFromDirectory(candidate, true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
}
var parentPath = ts.getDirectoryPath(directory);
@@ -29908,36 +29897,15 @@ var ts;
}
directory = parentPath;
}
- return { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
- function baseUrlModuleNameResolver(moduleName, containingFile, baseUrl, host) {
- ts.Debug.assert(baseUrl !== undefined);
- var normalizedModuleName = ts.normalizeSlashes(moduleName);
- var basePart = useBaseUrl(moduleName) ? baseUrl : ts.getDirectoryPath(containingFile);
- var candidate = ts.normalizePath(ts.combinePaths(basePart, moduleName));
- var failedLookupLocations = [];
- return ts.forEach(ts.supportedExtensions, function (ext) { return tryLoadFile(candidate + ext); }) || { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
- function tryLoadFile(location) {
- if (host.fileExists(location)) {
- return { resolvedFileName: location, failedLookupLocations: failedLookupLocations };
- }
- else {
- failedLookupLocations.push(location);
- return undefined;
- }
- }
- }
- ts.baseUrlModuleNameResolver = baseUrlModuleNameResolver;
function nameStartsWithDotSlashOrDotDotSlash(name) {
var i = name.lastIndexOf("./", 1);
return i === 0 || (i === 1 && name.charCodeAt(0) === 46);
}
- function useBaseUrl(moduleName) {
- return ts.getRootLength(moduleName) === 0 && !nameStartsWithDotSlashOrDotDotSlash(moduleName);
- }
function classicNameResolver(moduleName, containingFile, compilerOptions, host) {
if (moduleName.indexOf('!') != -1) {
- return { resolvedFileName: undefined, failedLookupLocations: [] };
+ return { resolvedModule: undefined, failedLookupLocations: [] };
}
var searchPath = ts.getDirectoryPath(containingFile);
var searchName;
@@ -29966,7 +29934,9 @@ var ts;
}
searchPath = parentPath;
}
- return { resolvedFileName: referencedSourceFile, failedLookupLocations: failedLookupLocations };
+ return referencedSourceFile
+ ? { resolvedModule: { resolvedFileName: referencedSourceFile }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
ts.classicNameResolver = classicNameResolver;
ts.defaultInitCompilerOptions = {
@@ -30079,7 +30049,8 @@ var ts;
function createProgram(rootNames, options, host, oldProgram) {
var program;
var files = [];
- var diagnostics = ts.createDiagnosticCollection();
+ var fileProcessingDiagnostics = ts.createDiagnosticCollection();
+ var programDiagnostics = ts.createDiagnosticCollection();
var commonSourceDirectory;
var diagnosticsProducingTypeChecker;
var noDiagnosticsTypeChecker;
@@ -30087,8 +30058,9 @@ var ts;
var skipDefaultLib = options.noLib;
var start = new Date().getTime();
host = host || createCompilerHost(options);
- var resolveModuleNamesWorker = host.resolveModuleNames ||
- (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedFileName; }); });
+ var resolveModuleNamesWorker = host.resolveModuleNames
+ ? (function (moduleNames, containingFile) { return host.resolveModuleNames(moduleNames, containingFile); })
+ : (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedModule; }); });
var filesByName = ts.createFileMap(function (fileName) { return host.getCanonicalFileName(fileName); });
if (oldProgram) {
var oldOptions = oldProgram.getCompilerOptions();
@@ -30128,7 +30100,8 @@ var ts;
getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); },
getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); },
getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); },
- getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); }
+ getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); },
+ getFileProcessingDiagnostics: function () { return fileProcessingDiagnostics; }
};
return program;
function getClassifiableNames() {
@@ -30152,6 +30125,7 @@ var ts;
return false;
}
var newSourceFiles = [];
+ var modifiedSourceFiles = [];
for (var _i = 0, _a = oldProgram.getSourceFiles(); _i < _a.length; _i++) {
var oldSourceFile = _a[_i];
var newSourceFile = host.getSourceFile(oldSourceFile.fileName, options.target);
@@ -30173,13 +30147,20 @@ var ts;
var moduleNames = ts.map(newSourceFile.imports, function (name) { return name.text; });
var resolutions = resolveModuleNamesWorker(moduleNames, newSourceFile.fileName);
for (var i = 0; i < moduleNames.length; ++i) {
- var oldResolution = ts.getResolvedModuleFileName(oldSourceFile, moduleNames[i]);
- if (oldResolution !== resolutions[i]) {
+ var newResolution = resolutions[i];
+ var oldResolution = ts.getResolvedModule(oldSourceFile, moduleNames[i]);
+ var resolutionChanged = oldResolution
+ ? !newResolution ||
+ oldResolution.resolvedFileName !== newResolution.resolvedFileName ||
+ !!oldResolution.isExternalLibraryImport !== !!newResolution.isExternalLibraryImport
+ : newResolution;
+ if (resolutionChanged) {
return false;
}
}
}
newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
+ modifiedSourceFiles.push(newSourceFile);
}
else {
newSourceFile = oldSourceFile;
@@ -30191,6 +30172,11 @@ var ts;
filesByName.set(file.fileName, file);
}
files = newSourceFiles;
+ fileProcessingDiagnostics = oldProgram.getFileProcessingDiagnostics();
+ for (var _c = 0; _c < modifiedSourceFiles.length; _c++) {
+ var modifiedFile = modifiedSourceFiles[_c];
+ fileProcessingDiagnostics.reattachFileDiagnostics(modifiedFile);
+ }
oldProgram.structureIsReused = true;
return true;
}
@@ -30272,8 +30258,9 @@ var ts;
ts.Debug.assert(!!sourceFile.bindDiagnostics);
var bindDiagnostics = sourceFile.bindDiagnostics;
var checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken);
- var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName);
- return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics);
+ var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName);
+ var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName);
+ return bindDiagnostics.concat(checkDiagnostics).concat(fileProcessingDiagnosticsInFile).concat(programDiagnosticsInFile);
});
}
function getDeclarationDiagnosticsForFile(sourceFile, cancellationToken) {
@@ -30287,7 +30274,8 @@ var ts;
}
function getOptionsDiagnostics() {
var allDiagnostics = [];
- ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, fileProcessingDiagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, programDiagnostics.getGlobalDiagnostics());
return ts.sortAndDeduplicateDiagnostics(allDiagnostics);
}
function getGlobalDiagnostics() {
@@ -30377,10 +30365,10 @@ var ts;
}
if (diagnostic) {
if (refFile !== undefined && refEnd !== undefined && refPos !== undefined) {
- diagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
}
}
}
@@ -30397,10 +30385,10 @@ var ts;
}
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
filesByName.set(canonicalName, file);
@@ -30428,10 +30416,10 @@ var ts;
var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName;
if (canonicalName !== sourceFileName) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
}
}
@@ -30452,9 +30440,23 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, file.fileName);
for (var i = 0; i < file.imports.length; ++i) {
var resolution = resolutions[i];
- ts.setResolvedModuleName(file, moduleNames[i], resolution);
+ ts.setResolvedModule(file, moduleNames[i], resolution);
if (resolution && !options.noResolve) {
- findModuleSourceFile(resolution, file.imports[i]);
+ var importedFile = findModuleSourceFile(resolution.resolvedFileName, file.imports[i]);
+ if (importedFile && resolution.isExternalLibraryImport) {
+ if (!ts.isExternalModule(importedFile)) {
+ var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
+ }
+ else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
+ var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ else if (importedFile.referencedFiles.length) {
+ var firstRef = importedFile.referencedFiles[0];
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ }
}
}
}
@@ -30463,7 +30465,7 @@ var ts;
}
return;
function findModuleSourceFile(fileName, nameLiteral) {
- return findSourceFile(fileName, false, file, nameLiteral.pos, nameLiteral.end);
+ return findSourceFile(fileName, false, file, ts.skipTrivia(file.text, nameLiteral.pos), nameLiteral.end);
}
}
function computeCommonSourceDirectory(sourceFiles) {
@@ -30482,7 +30484,7 @@ var ts;
for (var i = 0, n = Math.min(commonPathComponents.length, sourcePathComponents.length); i < n; i++) {
if (commonPathComponents[i] !== sourcePathComponents[i]) {
if (i === 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
return;
}
commonPathComponents.length = i;
@@ -30505,7 +30507,7 @@ var ts;
if (!ts.isDeclarationFile(sourceFile)) {
var absoluteSourceFilePath = host.getCanonicalFileName(ts.getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory));
if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
allFilesBelongToPath = false;
}
}
@@ -30516,43 +30518,43 @@ var ts;
function verifyCompilerOptions() {
if (options.isolatedModules) {
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
}
if (options.noEmitOnError) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
}
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
}
}
if (options.inlineSourceMap) {
if (options.sourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
}
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
}
}
if (options.inlineSources) {
if (!options.sourceMap && !options.inlineSourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
}
}
if (options.out && options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
}
if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) {
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
}
return;
}
@@ -30561,20 +30563,20 @@ var ts;
var firstExternalModuleSourceFile = ts.forEach(files, function (f) { return ts.isExternalModule(f) ? f : undefined; });
if (options.isolatedModules) {
if (!options.module && languageVersion < 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
}
var firstNonExternalModuleSourceFile = ts.forEach(files, function (f) { return !ts.isExternalModule(f) && !ts.isDeclarationFile(f) ? f : undefined; });
if (firstNonExternalModuleSourceFile) {
var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
- diagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
}
}
else if (firstExternalModuleSourceFile && languageVersion < 2 && !options.module) {
var span = ts.getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
- diagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
}
if (options.module && languageVersion >= 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
}
if (options.outDir ||
options.sourceRoot ||
@@ -30592,33 +30594,30 @@ var ts;
}
if (options.noEmit) {
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
}
if (options.outDir) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
}
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
}
}
if (options.emitDecoratorMetadata &&
!options.experimentalDecorators) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
}
if (options.experimentalAsyncFunctions &&
options.target !== 2) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
}
}
}
ts.createProgram = createProgram;
})(ts || (ts = {}));
-// Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0.
-// See LICENSE.txt in the project root for complete license information.
-///
var ts;
(function (ts) {
var BreakpointResolver;
@@ -31278,7 +31277,6 @@ var ts;
NavigateTo.getNavigateToItems = getNavigateToItems;
})(NavigateTo = ts.NavigateTo || (ts.NavigateTo = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var NavigationBar;
@@ -32099,7 +32097,6 @@ var ts;
return transition;
}
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var SignatureHelp;
@@ -32681,7 +32678,7 @@ var ts;
function findPrecedingToken(position, sourceFile, startNode) {
return find(startNode || sourceFile);
function findRightmostToken(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234) {
return n;
}
var children = n.getChildren();
@@ -32689,21 +32686,22 @@ var ts;
return candidate && findRightmostToken(candidate);
}
function find(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234) {
return n;
}
var children = n.getChildren();
for (var i = 0, len = children.length; i < len; i++) {
var child = children[i];
- if (nodeHasTokens(child)) {
- if (position <= child.end) {
- if (child.getStart(sourceFile) >= position) {
- var candidate = findRightmostChildNodeWithTokens(children, i);
- return candidate && findRightmostToken(candidate);
- }
- else {
- return find(child);
- }
+ if (position < child.end && (nodeHasTokens(child) || child.kind === 234)) {
+ var start = child.getStart(sourceFile);
+ var lookInPreviousChild = (start >= position) ||
+ (child.kind === 234 && start === child.end);
+ if (lookInPreviousChild) {
+ var candidate = findRightmostChildNodeWithTokens(children, i);
+ return candidate && findRightmostToken(candidate);
+ }
+ else {
+ return find(child);
}
}
}
@@ -33066,8 +33064,6 @@ var ts;
}
ts.stripQuotes = stripQuotes;
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -33143,6 +33139,18 @@ var ts;
}
return false;
}
+ function shouldRescanJsxIdentifier(node) {
+ if (node.parent) {
+ switch (node.parent.kind) {
+ case 236:
+ case 233:
+ case 235:
+ case 232:
+ return node.kind === 67;
+ }
+ }
+ return false;
+ }
function shouldRescanSlashToken(container) {
return container.kind === 10;
}
@@ -33167,7 +33175,9 @@ var ts;
? 2
: shouldRescanTemplateToken(n)
? 3
- : 0;
+ : shouldRescanJsxIdentifier(n)
+ ? 4
+ : 0;
if (lastTokenInfo && expectedScanAction === lastScanAction) {
return fixTokenKind(lastTokenInfo, n);
}
@@ -33191,6 +33201,10 @@ var ts;
currentToken = scanner.reScanTemplateToken();
lastScanAction = 3;
}
+ else if (expectedScanAction === 4 && currentToken === 67) {
+ currentToken = scanner.scanJsxIdentifier();
+ lastScanAction = 4;
+ }
else {
lastScanAction = 0;
}
@@ -33243,7 +33257,6 @@ var ts;
formatting.getFormattingScanner = getFormattingScanner;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
@@ -33322,8 +33335,6 @@ var ts;
formatting.FormattingContext = FormattingContext;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -33345,8 +33356,6 @@ var ts;
formatting.Rule = Rule;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -33377,8 +33386,6 @@ var ts;
formatting.RuleDescriptor = RuleDescriptor;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -33406,7 +33413,6 @@ var ts;
formatting.RuleOperation = RuleOperation;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
@@ -33440,16 +33446,12 @@ var ts;
formatting.RuleOperationContext = RuleOperationContext;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
(function (formatting) {
var Rules = (function () {
function Rules() {
- ///
- /// Common Rules
- ///
this.IgnoreBeforeComment = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.Comments), formatting.RuleOperation.create1(1));
this.IgnoreAfterLineComment = new formatting.Rule(formatting.RuleDescriptor.create3(2, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create1(1));
this.NoSpaceBeforeSemicolon = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 23), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
@@ -33469,7 +33471,7 @@ var ts;
this.NoSpaceAfterCloseBracket = new formatting.Rule(formatting.RuleDescriptor.create3(20, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsNotBeforeBlockInFunctionDeclarationContext), 8));
this.FunctionOpenBraceLeftTokenRange = formatting.Shared.TokenRange.AnyIncludingMultilineComments;
this.SpaceBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsBeforeBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1);
- this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67, 3]);
+ this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67, 3, 71]);
this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1);
this.ControlOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([18, 3, 77, 98, 83, 78]);
this.SpaceBeforeOpenBraceInControl = new formatting.Rule(formatting.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsControlDeclContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2), 1);
@@ -33490,7 +33492,7 @@ var ts;
this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new formatting.Rule(formatting.RuleDescriptor.create1(36, 36), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2));
this.SpaceAfterSubtractWhenFollowedByPredecrement = new formatting.Rule(formatting.RuleDescriptor.create1(36, 41), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2));
this.NoSpaceBeforeComma = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 24), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100, 96, 90, 76, 92, 99]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
+ this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100, 96, 90, 76, 92, 99, 117]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
this.SpaceAfterLetConstInVariableDeclaration = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([106, 72]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsStartOfVariableDeclarationList), 2));
this.NoSpaceBeforeOpenParenInFuncCall = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionCallOrNewContext, Rules.IsPreviousTokenNotComma), 8));
this.SpaceAfterFunctionInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create3(85, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2));
@@ -33504,7 +33506,7 @@ var ts;
this.SpaceAfterBinaryKeywordOperator = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.BinaryKeywordOperators, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2));
this.NoSpaceAfterConstructor = new formatting.Rule(formatting.RuleDescriptor.create1(119, 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
this.NoSpaceAfterModuleImport = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([123, 125]), 17), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113, 71, 120, 75, 79, 80, 81, 121, 104, 87, 105, 123, 124, 108, 110, 109, 127, 111]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
+ this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113, 71, 120, 75, 79, 80, 81, 121, 104, 87, 105, 123, 124, 108, 110, 109, 127, 111, 130]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
this.SpaceBeforeCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.FromTokens([81, 104])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
this.SpaceAfterModuleName = new formatting.Rule(formatting.RuleDescriptor.create1(9, 15), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsModuleDeclContext), 2));
this.SpaceAfterArrow = new formatting.Rule(formatting.RuleDescriptor.create3(34, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
@@ -33525,17 +33527,7 @@ var ts;
this.NoSpaceBetweenYieldKeywordAndStar = new formatting.Rule(formatting.RuleDescriptor.create1(112, 37), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsYieldOrYieldStarWithOperand), 8));
this.SpaceBetweenYieldOrYieldStarAndOperand = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([112, 37]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsYieldOrYieldStarWithOperand), 2));
this.SpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116, 85), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116, 85), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
this.SpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67, formatting.Shared.TokenRange.FromTokens([11, 12])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67, formatting.Shared.TokenRange.FromTokens([11, 12])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
- this.SpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2));
- this.NoSpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8));
this.HighPriorityCommonRules =
[
this.IgnoreBeforeComment, this.IgnoreAfterLineComment,
@@ -33561,11 +33553,8 @@ var ts;
this.NoSpaceBeforeOpenParenInFuncCall,
this.SpaceBeforeBinaryKeywordOperator, this.SpaceAfterBinaryKeywordOperator,
this.SpaceAfterVoidOperator,
- this.SpaceBetweenAsyncAndFunctionKeyword, this.NoSpaceBetweenAsyncAndFunctionKeyword,
- this.SpaceAfterAwaitKeyword, this.NoSpaceAfterAwaitKeyword,
- this.SpaceAfterTypeKeyword, this.NoSpaceAfterTypeKeyword,
- this.SpaceBetweenTagAndTemplateString, this.NoSpaceBetweenTagAndTemplateString,
- this.SpaceBeforeBar, this.NoSpaceBeforeBar, this.SpaceAfterBar, this.NoSpaceAfterBar,
+ this.SpaceBetweenAsyncAndFunctionKeyword,
+ this.SpaceBetweenTagAndTemplateString,
this.NoSpaceAfterConstructor, this.NoSpaceAfterModuleImport,
this.SpaceAfterCertainTypeScriptKeywords, this.SpaceBeforeCertainTypeScriptKeywords,
this.SpaceAfterModuleName,
@@ -33641,6 +33630,8 @@ var ts;
case 180:
case 187:
case 148:
+ case 156:
+ case 157:
return true;
case 161:
case 214:
@@ -33665,22 +33656,6 @@ var ts;
return context.contextNode.kind === 180;
};
Rules.IsSameLineTokenOrBeforeMultilineBlockContext = function (context) {
- //// This check is mainly used inside SpaceBeforeOpenBraceInControl and SpaceBeforeOpenBraceInFunction.
- ////
- //// Ex:
- //// if (1) { ....
- //// * ) and { are on the same line so apply the rule. Here we don't care whether it's same or multi block context
- ////
- //// Ex:
- //// if (1)
- //// { ... }
- //// * ) and { are on differnet lines. We only need to format if the block is multiline context. So in this case we don't format.
- ////
- //// Ex:
- //// if (1)
- //// { ...
- //// }
- //// * ) and { are on differnet lines. We only need to format if the block is multiline context. So in this case we format.
return context.TokensAreOnSameLine() || Rules.IsBeforeMultilineBlockContext(context);
};
Rules.IsBeforeMultilineBlockContext = function (context) {
@@ -33736,6 +33711,7 @@ var ts;
Rules.NodeIsTypeScriptDeclWithBlockContext = function (node) {
switch (node.kind) {
case 212:
+ case 184:
case 213:
case 215:
case 153:
@@ -33863,7 +33839,6 @@ var ts;
formatting.Rules = Rules;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
@@ -34000,7 +33975,6 @@ var ts;
formatting.RulesBucket = RulesBucket;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
@@ -34115,19 +34089,6 @@ var ts;
})(Shared = formatting.Shared || (formatting.Shared = {}));
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
-///
-///
-///
-///
-///
-///
-///
-///
-///
-///
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -34223,10 +34184,6 @@ var ts;
formatting.RulesProvider = RulesProvider;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
-///
-///
-///
var ts;
(function (ts) {
var formatting;
@@ -34483,13 +34440,14 @@ var ts;
}
function getDynamicIndentation(node, nodeStartLine, indentation, delta) {
return {
- getIndentationForComment: function (kind) {
+ getIndentationForComment: function (kind, tokenIndentation) {
switch (kind) {
case 16:
case 20:
+ case 18:
return indentation + delta;
}
- return indentation;
+ return tokenIndentation !== -1 ? tokenIndentation : indentation;
},
getIndentationForToken: function (line, kind) {
if (nodeStartLine !== line && node.decorators) {
@@ -34658,8 +34616,12 @@ var ts;
processTrivia(currentTokenInfo.trailingTrivia, parent, childContextNode, dynamicIndentation);
}
if (indentToken) {
- var indentNextTokenOrTrivia = true;
+ var tokenIndentation = (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) ?
+ dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind) :
+ -1;
if (currentTokenInfo.leadingTrivia) {
+ var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind, tokenIndentation);
+ var indentNextTokenOrTrivia = true;
for (var _i = 0, _a = currentTokenInfo.leadingTrivia; _i < _a.length; _i++) {
var triviaItem = _a[_i];
if (!ts.rangeContainsRange(originalRange, triviaItem)) {
@@ -34667,14 +34629,12 @@ var ts;
}
switch (triviaItem.kind) {
case 3:
- var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
indentMultilineComment(triviaItem, commentIndentation, !indentNextTokenOrTrivia);
indentNextTokenOrTrivia = false;
break;
case 2:
if (indentNextTokenOrTrivia) {
- var commentIndentation_1 = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
- insertIndentation(triviaItem.pos, commentIndentation_1, false);
+ insertIndentation(triviaItem.pos, commentIndentation, false);
indentNextTokenOrTrivia = false;
}
break;
@@ -34684,8 +34644,7 @@ var ts;
}
}
}
- if (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) {
- var tokenIndentation = dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind);
+ if (tokenIndentation !== -1) {
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAdded);
lastIndentedLine = tokenStart.line;
indentationOnLastIndentedLine = tokenIndentation;
@@ -34973,7 +34932,6 @@ var ts;
formatting.getIndentationString = getIndentationString;
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var ts;
(function (ts) {
var formatting;
@@ -35266,6 +35224,7 @@ var ts;
function nodeContentIsAlwaysIndented(kind) {
switch (kind) {
case 212:
+ case 184:
case 213:
case 215:
case 214:
@@ -35290,13 +35249,13 @@ var ts;
case 160:
case 159:
case 231:
+ case 232:
case 140:
case 145:
case 146:
case 136:
case 150:
case 151:
- case 156:
case 158:
case 168:
case 176:
@@ -35331,21 +35290,11 @@ var ts;
})(SmartIndenter = formatting.SmartIndenter || (formatting.SmartIndenter = {}));
})(formatting = ts.formatting || (ts.formatting = {}));
})(ts || (ts = {}));
-///
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-///
-///
-///
-///
-///
-///
-///
-///
-///
var ts;
(function (ts) {
ts.servicesVersion = "0.4";
@@ -36267,7 +36216,7 @@ var ts;
var outputText;
var sourceMapText;
var compilerHost = {
- getSourceFile: function (fileName, target) { return fileName === inputFileName ? sourceFile : undefined; },
+ getSourceFile: function (fileName, target) { return fileName === ts.normalizeSlashes(inputFileName) ? sourceFile : undefined; },
writeFile: function (name, text, writeByteOrderMark) {
if (ts.fileExtensionIs(name, ".map")) {
ts.Debug.assert(sourceMapText === undefined, "Unexpected multiple source map outputs for the file '" + name + "'");
@@ -36581,6 +36530,24 @@ var ts;
}
}
}
+ else if (token === 87) {
+ token = scanner.scan();
+ if (token === 67 || ts.isKeyword(token)) {
+ token = scanner.scan();
+ if (token === 55) {
+ token = scanner.scan();
+ if (token === 125) {
+ token = scanner.scan();
+ if (token === 17) {
+ token = scanner.scan();
+ if (token === 9) {
+ recordModuleName();
+ }
+ }
+ }
+ }
+ }
+ }
}
token = scanner.scan();
}
@@ -37164,9 +37131,9 @@ var ts;
log("getCompletionData: Get previous token 1: " + (new Date().getTime() - start));
var contextToken = previousToken;
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
- var start_2 = new Date().getTime();
+ var start_4 = new Date().getTime();
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
- log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_2));
+ log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
}
var node = currentToken;
var isRightOfDot = false;
@@ -37361,9 +37328,9 @@ var ts;
if (contextToken.kind === 9
|| contextToken.kind === 10
|| ts.isTemplateLiteralKind(contextToken.kind)) {
- var start_3 = contextToken.getStart();
+ var start_5 = contextToken.getStart();
var end = contextToken.getEnd();
- if (start_3 < position && position < end) {
+ if (start_5 < position && position < end) {
return true;
}
if (position === end) {
@@ -39278,6 +39245,7 @@ var ts;
result.push(getReferenceEntryFromNode(node));
}
break;
+ case 184:
case 212:
if (container.parent && searchSpaceNode.symbol === container.parent.symbol && (container.flags & 128) === staticFlag) {
result.push(getReferenceEntryFromNode(node));
@@ -40161,8 +40129,6 @@ var ts;
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
}
function getTodoCommentsRegExp() {
- // NOTE: ?: means 'non-capture group'. It allows us to have groups without having to
- // filter them out later in the final result array.
var singleLineCommentStart = /(?:\/\/+\s*)/.source;
var multiLineCommentStart = /(?:\/\*+\s*)/.source;
var anyNumberOfSpacesAndAsterixesAtStartOfLine = /(?:^(?:\s|\*)*)/.source;
@@ -40665,10 +40631,6 @@ var ts;
}
initializeServices();
})(ts || (ts = {}));
-///
-///
-///
-///
var ts;
(function (ts) {
var server;
@@ -41631,10 +41593,6 @@ var ts;
server.Session = Session;
})(server = ts.server || (ts.server = {}));
})(ts || (ts = {}));
-///
-///
-///
-///
var ts;
(function (ts) {
var server;
@@ -41711,7 +41669,7 @@ var ts;
LSHost.prototype.resolveModuleNames = function (moduleNames, containingFile) {
var currentResolutionsInFile = this.resolvedModuleNames.get(containingFile);
var newResolutions = {};
- var resolvedFileNames = [];
+ var resolvedModules = [];
var compilerOptions = this.getCompilationSettings();
for (var _i = 0; _i < moduleNames.length; _i++) {
var moduleName = moduleNames[_i];
@@ -41728,15 +41686,15 @@ var ts;
}
}
ts.Debug.assert(resolution !== undefined);
- resolvedFileNames.push(resolution.resolvedFileName);
+ resolvedModules.push(resolution.resolvedModule);
}
this.resolvedModuleNames.set(containingFile, newResolutions);
- return resolvedFileNames;
+ return resolvedModules;
function moduleResolutionIsValid(resolution) {
if (!resolution) {
return false;
}
- if (resolution.resolvedFileName) {
+ if (resolution.resolvedModule) {
return true;
}
return resolution.failedLookupLocations.length === 0;
@@ -43417,8 +43375,6 @@ var ts;
server.LineLeaf = LineLeaf;
})(server = ts.server || (ts.server = {}));
})(ts || (ts = {}));
-///
-///
var ts;
(function (ts) {
var server;
@@ -43641,21 +43597,6 @@ var ts;
ioSession.listen();
})(server = ts.server || (ts.server = {}));
})(ts || (ts = {}));
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-///
var debugObjectHost = this;
var ts;
(function (ts) {
@@ -43700,7 +43641,10 @@ var ts;
if ("getModuleResolutionsForFile" in this.shimHost) {
this.resolveModuleNames = function (moduleNames, containingFile) {
var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile));
- return ts.map(moduleNames, function (name) { return ts.lookUp(resolutionsInFile, name); });
+ return ts.map(moduleNames, function (name) {
+ var result = ts.lookUp(resolutionsInFile, name);
+ return result ? { resolvedFileName: result } : undefined;
+ });
};
}
}
@@ -44175,7 +44119,11 @@ var ts;
var _this = this;
return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () {
var compilerOptions = JSON.parse(compilerOptionsJson);
- return ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ return {
+ resolvedFileName: result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined,
+ failedLookupLocations: result.failedLookupLocations
+ };
});
};
CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) {
diff --git a/lib/typescript.d.ts b/lib/typescript.d.ts
index bf0510cf1c8..2cd3a663fce 100644
--- a/lib/typescript.d.ts
+++ b/lib/typescript.d.ts
@@ -13,7 +13,7 @@ See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
-declare module "typescript" {
+declare namespace ts {
interface Map {
[index: string]: T;
}
@@ -1208,9 +1208,11 @@ declare module "typescript" {
UnionOrIntersection = 49152,
StructuredType = 130048,
}
+ type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
interface Type {
flags: TypeFlags;
symbol?: Symbol;
+ pattern?: DestructuringPattern;
}
interface StringLiteralType extends Type {
text: string;
@@ -1237,7 +1239,6 @@ declare module "typescript" {
}
interface TupleType extends ObjectType {
elementTypes: Type[];
- baseArrayType: TypeReference;
}
interface UnionOrIntersectionType extends Type {
types: Type[];
@@ -1382,9 +1383,12 @@ declare module "typescript" {
}
interface ResolvedModule {
resolvedFileName: string;
+ isExternalLibraryImport?: boolean;
+ }
+ interface ResolvedModuleWithFailedLookupLocations {
+ resolvedModule: ResolvedModule;
failedLookupLocations: string[];
}
- type ModuleNameResolver = (moduleName: string, containingFile: string, options: CompilerOptions, host: ModuleResolutionHost) => ResolvedModule;
interface CompilerHost extends ModuleResolutionHost {
getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile;
getCancellationToken?(): CancellationToken;
@@ -1394,7 +1398,7 @@ declare module "typescript" {
getCanonicalFileName(fileName: string): string;
useCaseSensitiveFileNames(): boolean;
getNewLine(): string;
- resolveModuleNames?(moduleNames: string[], containingFile: string): string[];
+ resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[];
}
interface TextSpan {
start: number;
@@ -1405,7 +1409,7 @@ declare module "typescript" {
newLength: number;
}
}
-declare module "typescript" {
+declare namespace ts {
interface System {
args: string[];
newLine: string;
@@ -1429,7 +1433,7 @@ declare module "typescript" {
}
var sys: System;
}
-declare module "typescript" {
+declare namespace ts {
interface ErrorCallback {
(message: DiagnosticMessage, length: number): void;
}
@@ -1474,7 +1478,7 @@ declare module "typescript" {
function isIdentifierPart(ch: number, languageVersion: ScriptTarget): boolean;
function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean, languageVariant?: LanguageVariant, text?: string, onError?: ErrorCallback, start?: number, length?: number): Scanner;
}
-declare module "typescript" {
+declare namespace ts {
function getDefaultLibFileName(options: CompilerOptions): string;
function textSpanEnd(span: TextSpan): number;
function textSpanIsEmpty(span: TextSpan): boolean;
@@ -1504,33 +1508,32 @@ declare module "typescript" {
function collapseTextChangeRangesAcrossMultipleVersions(changes: TextChangeRange[]): TextChangeRange;
function getTypeParameterOwner(d: Declaration): Declaration;
}
-declare module "typescript" {
+declare namespace ts {
function getNodeConstructor(kind: SyntaxKind): new () => Node;
function createNode(kind: SyntaxKind): Node;
function forEachChild(node: Node, cbNode: (node: Node) => T, cbNodeArray?: (nodes: Node[]) => T): T;
function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes?: boolean): SourceFile;
function updateSourceFile(sourceFile: SourceFile, newText: string, textChangeRange: TextChangeRange, aggressiveChecks?: boolean): SourceFile;
}
-declare module "typescript" {
+declare namespace ts {
const version: string;
function findConfigFile(searchPath: string): string;
function resolveTripleslashReference(moduleName: string, containingFile: string): string;
- function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModule;
- function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModule;
- function baseUrlModuleNameResolver(moduleName: string, containingFile: string, baseUrl: string, host: ModuleResolutionHost): ResolvedModule;
- function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModule;
+ function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
+ function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
+ function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost;
function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[];
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program): Program;
}
-declare module "typescript" {
+declare namespace ts {
function parseCommandLine(commandLine: string[], readFile?: (path: string) => string): ParsedCommandLine;
/**
* Read tsconfig.json file
* @param fileName The path to the config file
*/
- function readConfigFile(fileName: string): {
+ function readConfigFile(fileName: string, readFile: (path: string) => string): {
config?: any;
error?: Diagnostic;
};
@@ -1551,7 +1554,7 @@ declare module "typescript" {
*/
function parseConfigFile(json: any, host: ParseConfigHost, basePath: string): ParsedCommandLine;
}
-declare module "typescript" {
+declare namespace ts {
/** The version of the language service API */
let servicesVersion: string;
interface Node {
@@ -1649,7 +1652,7 @@ declare module "typescript" {
trace?(s: string): void;
error?(s: string): void;
useCaseSensitiveFileNames?(): boolean;
- resolveModuleNames?(moduleNames: string[], containingFile: string): string[];
+ resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[];
}
interface LanguageService {
cleanupSemanticCache(): void;
@@ -2139,3 +2142,5 @@ declare module "typescript" {
*/
function getDefaultLibFilePath(options: CompilerOptions): string;
}
+
+export = ts;
\ No newline at end of file
diff --git a/lib/typescript.js b/lib/typescript.js
index b4d21639d3b..2c70f56d0a6 100644
--- a/lib/typescript.js
+++ b/lib/typescript.js
@@ -2117,7 +2117,7 @@ var ts;
Property_0_does_not_exist_on_type_1: { code: 2339, category: ts.DiagnosticCategory.Error, key: "Property '{0}' does not exist on type '{1}'." },
Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: ts.DiagnosticCategory.Error, key: "Only public and protected methods of the base class are accessible via the 'super' keyword." },
Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: ts.DiagnosticCategory.Error, key: "Property '{0}' is private and only accessible within class '{1}'." },
- An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol, or 'any'." },
+ An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol', or 'any'." },
Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: ts.DiagnosticCategory.Error, key: "Type '{0}' does not satisfy the constraint '{1}'." },
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: ts.DiagnosticCategory.Error, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." },
Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: ts.DiagnosticCategory.Error, key: "Supplied parameters do not match any signature of call target." },
@@ -2288,6 +2288,7 @@ var ts;
The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression: { code: 2522, category: ts.DiagnosticCategory.Error, key: "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression." },
yield_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2523, category: ts.DiagnosticCategory.Error, key: "'yield' expressions cannot be used in a parameter initializer." },
await_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2524, category: ts.DiagnosticCategory.Error, key: "'await' expressions cannot be used in a parameter initializer." },
+ Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value: { code: 2525, category: ts.DiagnosticCategory.Error, key: "Initializer provides no value for this binding element and the binding element has no default value." },
JSX_element_attributes_type_0_must_be_an_object_type: { code: 2600, category: ts.DiagnosticCategory.Error, key: "JSX element attributes type '{0}' must be an object type." },
The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: { code: 2601, category: ts.DiagnosticCategory.Error, key: "The return type of a JSX element constructor must return an object type." },
JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: { code: 2602, category: ts.DiagnosticCategory.Error, key: "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist." },
@@ -2300,6 +2301,10 @@ var ts;
Cannot_emit_namespaced_JSX_elements_in_React: { code: 2650, category: ts.DiagnosticCategory.Error, key: "Cannot emit namespaced JSX elements in React" },
A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: { code: 2651, category: ts.DiagnosticCategory.Error, key: "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums." },
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
+ Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
+ Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },
@@ -2433,13 +2438,14 @@ var ts;
Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: { code: 6060, category: ts.DiagnosticCategory.Message, key: "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." },
NEWLINE: { code: 6061, category: ts.DiagnosticCategory.Message, key: "NEWLINE" },
Argument_for_newLine_option_must_be_CRLF_or_LF: { code: 6062, category: ts.DiagnosticCategory.Error, key: "Argument for '--newLine' option must be 'CRLF' or 'LF'." },
+ Argument_for_moduleResolution_option_must_be_node_or_classic: { code: 6063, category: ts.DiagnosticCategory.Error, key: "Argument for '--moduleResolution' option must be 'node' or 'classic'." },
Specify_JSX_code_generation_Colon_preserve_or_react: { code: 6080, category: ts.DiagnosticCategory.Message, key: "Specify JSX code generation: 'preserve' or 'react'" },
Argument_for_jsx_must_be_preserve_or_react: { code: 6081, category: ts.DiagnosticCategory.Message, key: "Argument for '--jsx' must be 'preserve' or 'react'." },
Enables_experimental_support_for_ES7_decorators: { code: 6065, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 decorators." },
Enables_experimental_support_for_emitting_type_metadata_for_decorators: { code: 6066, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for emitting type metadata for decorators." },
Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower: { code: 6067, category: ts.DiagnosticCategory.Message, key: "Option 'experimentalAsyncFunctions' cannot be specified when targeting ES5 or lower." },
Enables_experimental_support_for_ES7_async_functions: { code: 6068, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 async functions." },
- Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
+ Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." },
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
@@ -2491,6 +2497,11 @@ var ts;
///
var ts;
(function (ts) {
+ /* @internal */
+ function tokenIsIdentifierOrKeyword(token) {
+ return token >= 67 /* Identifier */;
+ }
+ ts.tokenIsIdentifierOrKeyword = tokenIsIdentifierOrKeyword;
var textToToken = {
"abstract": 113 /* AbstractKeyword */,
"any": 115 /* AnyKeyword */,
@@ -3926,7 +3937,7 @@ var ts;
// Scans a JSX identifier; these differ from normal identifiers in that
// they allow dashes
function scanJsxIdentifier() {
- if (token === 67 /* Identifier */) {
+ if (tokenIsIdentifierOrKeyword(token)) {
var firstCharPosition = pos;
while (pos < end) {
var ch = text.charCodeAt(pos);
@@ -5011,21 +5022,21 @@ var ts;
return true;
}
ts.arrayIsEqualTo = arrayIsEqualTo;
- function hasResolvedModuleName(sourceFile, moduleNameText) {
+ function hasResolvedModule(sourceFile, moduleNameText) {
return sourceFile.resolvedModules && ts.hasProperty(sourceFile.resolvedModules, moduleNameText);
}
- ts.hasResolvedModuleName = hasResolvedModuleName;
- function getResolvedModuleFileName(sourceFile, moduleNameText) {
- return hasResolvedModuleName(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
+ ts.hasResolvedModule = hasResolvedModule;
+ function getResolvedModule(sourceFile, moduleNameText) {
+ return hasResolvedModule(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
}
- ts.getResolvedModuleFileName = getResolvedModuleFileName;
- function setResolvedModuleName(sourceFile, moduleNameText, resolvedFileName) {
+ ts.getResolvedModule = getResolvedModule;
+ function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
if (!sourceFile.resolvedModules) {
sourceFile.resolvedModules = {};
}
- sourceFile.resolvedModules[moduleNameText] = resolvedFileName;
+ sourceFile.resolvedModules[moduleNameText] = resolvedModule;
}
- ts.setResolvedModuleName = setResolvedModuleName;
+ ts.setResolvedModule = setResolvedModule;
// Returns true if this node contains a parse error anywhere underneath it.
function containsParseError(node) {
aggregateChildData(node);
@@ -5328,6 +5339,7 @@ var ts;
}
ts.getJsDocComments = getJsDocComments;
ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/;
+ ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/;
function isTypeNode(node) {
if (149 /* FirstTypeNode */ <= node.kind && node.kind <= 158 /* LastTypeNode */) {
return true;
@@ -6362,11 +6374,21 @@ var ts;
add: add,
getGlobalDiagnostics: getGlobalDiagnostics,
getDiagnostics: getDiagnostics,
- getModificationCount: getModificationCount
+ getModificationCount: getModificationCount,
+ reattachFileDiagnostics: reattachFileDiagnostics
};
function getModificationCount() {
return modificationCount;
}
+ function reattachFileDiagnostics(newFile) {
+ if (!ts.hasProperty(fileDiagnostics, newFile.fileName)) {
+ return;
+ }
+ for (var _i = 0, _a = fileDiagnostics[newFile.fileName]; _i < _a.length; _i++) {
+ var diagnostic = _a[_i];
+ diagnostic.file = newFile;
+ }
+ }
function add(diagnostic) {
var diagnostics;
if (diagnostic.file) {
@@ -8118,10 +8140,10 @@ var ts;
return createIdentifier(isIdentifier(), diagnosticMessage);
}
function parseIdentifierName() {
- return createIdentifier(isIdentifierOrKeyword());
+ return createIdentifier(ts.tokenIsIdentifierOrKeyword(token));
}
function isLiteralPropertyName() {
- return isIdentifierOrKeyword() ||
+ return ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 /* StringLiteral */ ||
token === 8 /* NumericLiteral */;
}
@@ -8141,7 +8163,7 @@ var ts;
return parsePropertyNameWorker(/*allowComputedPropertyNames:*/ false);
}
function isSimplePropertyName() {
- return token === 9 /* StringLiteral */ || token === 8 /* NumericLiteral */ || isIdentifierOrKeyword();
+ return token === 9 /* StringLiteral */ || token === 8 /* NumericLiteral */ || ts.tokenIsIdentifierOrKeyword(token);
}
function parseComputedPropertyName() {
// PropertyName [Yield]:
@@ -8257,9 +8279,9 @@ var ts;
case 20 /* HeritageClauses */:
return isHeritageClause();
case 21 /* ImportOrExportSpecifiers */:
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
case 13 /* JsxAttributes */:
- return isIdentifierOrKeyword() || token === 15 /* OpenBraceToken */;
+ return ts.tokenIsIdentifierOrKeyword(token) || token === 15 /* OpenBraceToken */;
case 14 /* JsxChildren */:
return true;
case 22 /* JSDocFunctionParameters */:
@@ -8292,7 +8314,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeyword() {
nextToken();
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
function isHeritageClauseExtendsOrImplementsKeyword() {
if (token === 104 /* ImplementsKeyword */ ||
@@ -8786,7 +8808,7 @@ var ts;
// the code would be implicitly: "name.identifierOrKeyword; identifierNameOrKeyword".
// In the first case though, ASI will not take effect because there is not a
// line terminator after the identifier or keyword.
- if (scanner.hasPrecedingLineBreak() && isIdentifierOrKeyword()) {
+ if (scanner.hasPrecedingLineBreak() && ts.tokenIsIdentifierOrKeyword(token)) {
var matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);
if (matchesPattern) {
// Report that we need an identifier. However, report it right after the dot,
@@ -9170,7 +9192,7 @@ var ts;
return result;
}
}
- if (isIdentifierOrKeyword()) {
+ if (ts.tokenIsIdentifierOrKeyword(token)) {
return parsePropertyOrMethodSignature();
}
}
@@ -10763,12 +10785,9 @@ var ts;
return finishNode(expressionStatement);
}
}
- function isIdentifierOrKeyword() {
- return token >= 67 /* Identifier */;
- }
function nextTokenIsIdentifierOrKeywordOnSameLine() {
nextToken();
- return isIdentifierOrKeyword() && !scanner.hasPrecedingLineBreak();
+ return ts.tokenIsIdentifierOrKeyword(token) && !scanner.hasPrecedingLineBreak();
}
function nextTokenIsFunctionKeywordOnSameLine() {
nextToken();
@@ -10776,7 +10795,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine() {
nextToken();
- return (isIdentifierOrKeyword() || token === 8 /* NumericLiteral */) && !scanner.hasPrecedingLineBreak();
+ return (ts.tokenIsIdentifierOrKeyword(token) || token === 8 /* NumericLiteral */) && !scanner.hasPrecedingLineBreak();
}
function isDeclaration() {
while (true) {
@@ -10826,7 +10845,7 @@ var ts;
case 87 /* ImportKeyword */:
nextToken();
return token === 9 /* StringLiteral */ || token === 37 /* AsteriskToken */ ||
- token === 15 /* OpenBraceToken */ || isIdentifierOrKeyword();
+ token === 15 /* OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token);
case 80 /* ExportKeyword */:
nextToken();
if (token === 55 /* EqualsToken */ || token === 37 /* AsteriskToken */ ||
@@ -11366,7 +11385,7 @@ var ts;
}
// It is very important that we check this *after* checking indexers because
// the [ token can start an index signature or a computed property name
- if (isIdentifierOrKeyword() ||
+ if (ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 /* StringLiteral */ ||
token === 8 /* NumericLiteral */ ||
token === 37 /* AsteriskToken */ ||
@@ -11505,12 +11524,15 @@ var ts;
}
function parseModuleOrNamespaceDeclaration(fullStart, decorators, modifiers, flags) {
var node = createNode(216 /* ModuleDeclaration */, fullStart);
+ // If we are parsing a dotted namespace name, we want to
+ // propagate the 'Namespace' flag across the names if set.
+ var namespaceFlag = flags & 131072 /* Namespace */;
node.decorators = decorators;
setModifiers(node, modifiers);
node.flags |= flags;
node.name = parseIdentifier();
node.body = parseOptional(21 /* DotToken */)
- ? parseModuleOrNamespaceDeclaration(getNodePos(), /*decorators*/ undefined, /*modifiers*/ undefined, 1 /* Export */)
+ ? parseModuleOrNamespaceDeclaration(getNodePos(), /*decorators*/ undefined, /*modifiers*/ undefined, 1 /* Export */ | namespaceFlag)
: parseModuleBlock();
return finishNode(node);
}
@@ -11844,7 +11866,7 @@ var ts;
case 95 /* ThisKeyword */:
return true;
}
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
JSDocParser.isJSDocType = isJSDocType;
function parseJSDocTypeExpressionForTests(content, start, length) {
@@ -13734,7 +13756,7 @@ var ts;
// Module names are escaped in our symbol table. However, string literal values aren't.
// Escape the name in the "require(...)" clause to ensure we find the right symbol.
var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text);
- if (!moduleName) {
+ if (moduleName === undefined) {
return;
}
var isRelative = isExternalModuleNameRelative(moduleName);
@@ -13744,8 +13766,8 @@ var ts;
return symbol;
}
}
- var fileName = ts.getResolvedModuleFileName(getSourceFile(location), moduleReferenceLiteral.text);
- var sourceFile = fileName && host.getSourceFile(fileName);
+ var resolvedModule = ts.getResolvedModule(getSourceFile(location), moduleReferenceLiteral.text);
+ var sourceFile = resolvedModule && host.getSourceFile(resolvedModule.resolvedFileName);
if (sourceFile) {
if (sourceFile.symbol) {
return sourceFile.symbol;
@@ -15038,7 +15060,7 @@ var ts;
}
// If the declaration specifies a binding pattern, use the type implied by the binding pattern
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ false);
}
// No type specified and nothing can be inferred
return undefined;
@@ -15046,45 +15068,45 @@ var ts;
// Return the type implied by a binding pattern element. This is the type of the initializer of the element if
// one is present. Otherwise, if the element is itself a binding pattern, it is the type implied by the binding
// pattern. Otherwise, it is the type any.
- function getTypeFromBindingElement(element) {
+ function getTypeFromBindingElement(element, includePatternInType) {
if (element.initializer) {
return getWidenedType(checkExpressionCached(element.initializer));
}
if (ts.isBindingPattern(element.name)) {
- return getTypeFromBindingPattern(element.name);
+ return getTypeFromBindingPattern(element.name, includePatternInType);
}
return anyType;
}
// Return the type implied by an object binding pattern
- function getTypeFromObjectBindingPattern(pattern) {
+ function getTypeFromObjectBindingPattern(pattern, includePatternInType) {
var members = {};
ts.forEach(pattern.elements, function (e) {
var flags = 4 /* Property */ | 67108864 /* Transient */ | (e.initializer ? 536870912 /* Optional */ : 0);
var name = e.propertyName || e.name;
var symbol = createSymbol(flags, name.text);
- symbol.type = getTypeFromBindingElement(e);
+ symbol.type = getTypeFromBindingElement(e, includePatternInType);
+ symbol.bindingElement = e;
members[symbol.name] = symbol;
});
- return createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ var result = createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ if (includePatternInType) {
+ result.pattern = pattern;
+ }
+ return result;
}
// Return the type implied by an array binding pattern
- function getTypeFromArrayBindingPattern(pattern) {
- var hasSpreadElement = false;
- var elementTypes = [];
- ts.forEach(pattern.elements, function (e) {
- elementTypes.push(e.kind === 185 /* OmittedExpression */ || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e));
- if (e.dotDotDotToken) {
- hasSpreadElement = true;
- }
- });
- if (!elementTypes.length) {
+ function getTypeFromArrayBindingPattern(pattern, includePatternInType) {
+ var elements = pattern.elements;
+ if (elements.length === 0 || elements[elements.length - 1].dotDotDotToken) {
return languageVersion >= 2 /* ES6 */ ? createIterableType(anyType) : anyArrayType;
}
- else if (hasSpreadElement) {
- var unionOfElements = getUnionType(elementTypes);
- return languageVersion >= 2 /* ES6 */ ? createIterableType(unionOfElements) : createArrayType(unionOfElements);
- }
// If the pattern has at least one element, and no rest element, then it should imply a tuple type.
+ var elementTypes = ts.map(elements, function (e) { return e.kind === 185 /* OmittedExpression */ ? anyType : getTypeFromBindingElement(e, includePatternInType); });
+ if (includePatternInType) {
+ var result = createNewTupleType(elementTypes);
+ result.pattern = pattern;
+ return result;
+ }
return createTupleType(elementTypes);
}
// Return the type implied by a binding pattern. This is the type implied purely by the binding pattern itself
@@ -15094,10 +15116,10 @@ var ts;
// used as the contextual type of an initializer associated with the binding pattern. Also, for a destructuring
// parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of
// the parameter.
- function getTypeFromBindingPattern(pattern) {
+ function getTypeFromBindingPattern(pattern, includePatternInType) {
return pattern.kind === 159 /* ObjectBindingPattern */
- ? getTypeFromObjectBindingPattern(pattern)
- : getTypeFromArrayBindingPattern(pattern);
+ ? getTypeFromObjectBindingPattern(pattern, includePatternInType)
+ : getTypeFromArrayBindingPattern(pattern, includePatternInType);
}
// Return the type associated with a variable, parameter, or property declaration. In the simple case this is the type
// specified in a type annotation or inferred from an initializer. However, in the case of a destructuring declaration it
@@ -16565,11 +16587,11 @@ var ts;
}
function createTupleType(elementTypes) {
var id = getTypeListId(elementTypes);
- var type = tupleTypes[id];
- if (!type) {
- type = tupleTypes[id] = createObjectType(8192 /* Tuple */ | getPropagatingFlagsOfTypes(elementTypes));
- type.elementTypes = elementTypes;
- }
+ return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes));
+ }
+ function createNewTupleType(elementTypes) {
+ var type = createObjectType(8192 /* Tuple */ | getPropagatingFlagsOfTypes(elementTypes));
+ type.elementTypes = elementTypes;
return type;
}
function getTypeFromTupleTypeNode(node) {
@@ -17021,7 +17043,7 @@ var ts;
* @param target The right-hand-side of the relation.
* @param relation The relation considered. One of 'identityRelation', 'assignableRelation', or 'subTypeRelation'.
* Used as both to determine which checks are performed and as a cache of previously computed results.
- * @param errorNode The node upon which all errors will be reported, if defined.
+ * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used.
* @param headMessage If the error chain should be prepended by a head message, then headMessage will be used.
* @param containingMessageChain A chain of errors to prepend any new errors found.
*/
@@ -17106,7 +17128,9 @@ var ts;
// and intersection types are further deconstructed on the target side, we don't want to
// make the check again (as it might fail for a partial target type). Therefore we obtain
// the regular source type and proceed with that.
- source = getRegularTypeOfObjectLiteral(source);
+ if (target.flags & 49152 /* UnionOrIntersection */) {
+ source = getRegularTypeOfObjectLiteral(source);
+ }
}
var saveErrorInfo = errorInfo;
// Note that the "each" checks must precede the "some" checks to produce the correct results
@@ -17228,6 +17252,10 @@ var ts;
var prop = _a[_i];
if (!isKnownProperty(target, prop.name)) {
if (reportErrors) {
+ // We know *exactly* where things went wrong when comparing the types.
+ // Use this property as the error node as this will be more helpful in
+ // reasoning about what went wrong.
+ errorNode = prop.valueDeclaration;
reportError(ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(prop), typeToString(target));
}
return true;
@@ -17550,8 +17578,8 @@ var ts;
return result;
function abstractSignatureRelatedTo(source, sourceSig, target, targetSig) {
if (sourceSig && targetSig) {
- var sourceDecl = source.symbol && ts.getDeclarationOfKind(source.symbol, 212 /* ClassDeclaration */);
- var targetDecl = target.symbol && ts.getDeclarationOfKind(target.symbol, 212 /* ClassDeclaration */);
+ var sourceDecl = source.symbol && getClassLikeDeclarationOfSymbol(source.symbol);
+ var targetDecl = target.symbol && getClassLikeDeclarationOfSymbol(target.symbol);
if (!sourceDecl) {
// If the source object isn't itself a class declaration, it can be freely assigned, regardless
// of whether the constructed object is abstract or not.
@@ -17561,8 +17589,8 @@ var ts;
var targetErasedSignature = getErasedSignature(targetSig);
var sourceReturnType = sourceErasedSignature && getReturnTypeOfSignature(sourceErasedSignature);
var targetReturnType = targetErasedSignature && getReturnTypeOfSignature(targetErasedSignature);
- var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && ts.getDeclarationOfKind(sourceReturnType.symbol, 212 /* ClassDeclaration */);
- var targetReturnDecl = targetReturnType && targetReturnType.symbol && ts.getDeclarationOfKind(targetReturnType.symbol, 212 /* ClassDeclaration */);
+ var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && getClassLikeDeclarationOfSymbol(sourceReturnType.symbol);
+ var targetReturnDecl = targetReturnType && targetReturnType.symbol && getClassLikeDeclarationOfSymbol(targetReturnType.symbol);
var sourceIsAbstract = sourceReturnDecl && sourceReturnDecl.flags & 256 /* Abstract */;
var targetIsAbstract = targetReturnDecl && targetReturnDecl.flags & 256 /* Abstract */;
if (sourceIsAbstract && !(targetIsAbstract && targetDecl)) {
@@ -17911,6 +17939,7 @@ var ts;
regularType.constructSignatures = type.constructSignatures;
regularType.stringIndexType = type.stringIndexType;
regularType.numberIndexType = type.numberIndexType;
+ type.regularType = regularType;
}
return regularType;
}
@@ -18932,7 +18961,7 @@ var ts;
}
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true);
}
}
return undefined;
@@ -19290,11 +19319,12 @@ var ts;
var arrayOrIterableType = checkExpressionCached(node.expression, contextualMapper);
return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, /*allowStringInput*/ false);
}
+ function hasDefaultValue(node) {
+ return (node.kind === 161 /* BindingElement */ && !!node.initializer) ||
+ (node.kind === 179 /* BinaryExpression */ && node.operatorToken.kind === 55 /* EqualsToken */);
+ }
function checkArrayLiteral(node, contextualMapper) {
var elements = node.elements;
- if (!elements.length) {
- return createArrayType(undefinedType);
- }
var hasSpreadElement = false;
var elementTypes = [];
var inDestructuringPattern = isAssignmentTarget(node);
@@ -19327,12 +19357,39 @@ var ts;
hasSpreadElement = hasSpreadElement || e.kind === 183 /* SpreadElementExpression */;
}
if (!hasSpreadElement) {
+ // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such
+ // that we get the same behavior for "var [x, y] = []" and "[x, y] = []".
+ if (inDestructuringPattern && elementTypes.length) {
+ var type = createNewTupleType(elementTypes);
+ type.pattern = node;
+ return type;
+ }
var contextualType = getContextualType(node);
- if (contextualType && contextualTypeIsTupleLikeType(contextualType) || inDestructuringPattern) {
- return createTupleType(elementTypes);
+ if (contextualType && contextualTypeIsTupleLikeType(contextualType)) {
+ var pattern = contextualType.pattern;
+ // If array literal is contextually typed by a binding pattern or an assignment pattern, pad the resulting
+ // tuple type with the corresponding binding or assignment element types to make the lengths equal.
+ if (pattern && (pattern.kind === 160 /* ArrayBindingPattern */ || pattern.kind === 162 /* ArrayLiteralExpression */)) {
+ var patternElements = pattern.elements;
+ for (var i = elementTypes.length; i < patternElements.length; i++) {
+ var patternElement = patternElements[i];
+ if (hasDefaultValue(patternElement)) {
+ elementTypes.push(contextualType.elementTypes[i]);
+ }
+ else {
+ if (patternElement.kind !== 185 /* OmittedExpression */) {
+ error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ elementTypes.push(unknownType);
+ }
+ }
+ }
+ if (elementTypes.length) {
+ return createTupleType(elementTypes);
+ }
}
}
- return createArrayType(getUnionType(elementTypes));
+ return createArrayType(elementTypes.length ? getUnionType(elementTypes) : undefinedType);
}
function isNumericName(name) {
return name.kind === 134 /* ComputedPropertyName */ ? isNumericComputedName(name) : isNumericLiteralName(name.text);
@@ -19390,6 +19447,9 @@ var ts;
var propertiesTable = {};
var propertiesArray = [];
var contextualType = getContextualType(node);
+ var contextualTypeHasPattern = contextualType && contextualType.pattern &&
+ (contextualType.pattern.kind === 159 /* ObjectBindingPattern */ || contextualType.pattern.kind === 163 /* ObjectLiteralExpression */);
+ var inDestructuringPattern = isAssignmentTarget(node);
var typeFlags = 0;
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
var memberDecl = _a[_i];
@@ -19410,6 +19470,24 @@ var ts;
}
typeFlags |= type.flags;
var prop = createSymbol(4 /* Property */ | 67108864 /* Transient */ | member.flags, member.name);
+ if (inDestructuringPattern) {
+ // If object literal is an assignment pattern and if the assignment pattern specifies a default value
+ // for the property, make the property optional.
+ if (memberDecl.kind === 243 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) {
+ prop.flags |= 536870912 /* Optional */;
+ }
+ }
+ else if (contextualTypeHasPattern) {
+ // If object literal is contextually typed by the implied type of a binding pattern, and if the
+ // binding pattern specifies a default value for the property, make the property optional.
+ var impliedProp = getPropertyOfType(contextualType, member.name);
+ if (impliedProp) {
+ prop.flags |= impliedProp.flags & 536870912 /* Optional */;
+ }
+ else if (!compilerOptions.suppressExcessPropertyErrors) {
+ error(memberDecl.name, ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType));
+ }
+ }
prop.declarations = member.declarations;
prop.parent = member.parent;
if (member.valueDeclaration) {
@@ -19433,11 +19511,28 @@ var ts;
}
propertiesArray.push(member);
}
+ // If object literal is contextually typed by the implied type of a binding pattern, augment the result
+ // type with those properties for which the binding pattern specifies a default value.
+ if (contextualTypeHasPattern) {
+ for (var _b = 0, _c = getPropertiesOfType(contextualType); _b < _c.length; _b++) {
+ var prop = _c[_b];
+ if (!ts.hasProperty(propertiesTable, prop.name)) {
+ if (!(prop.flags & 536870912 /* Optional */)) {
+ error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ propertiesTable[prop.name] = prop;
+ propertiesArray.push(prop);
+ }
+ }
+ }
var stringIndexType = getIndexType(0 /* String */);
var numberIndexType = getIndexType(1 /* Number */);
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576 /* FreshObjectLiteral */;
result.flags |= 524288 /* ObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 14680064 /* PropagatingFlags */);
+ if (inDestructuringPattern) {
+ result.pattern = node;
+ }
return result;
function getIndexType(kind) {
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -20946,7 +21041,7 @@ var ts;
// Note, only class declarations can be declared abstract.
// In the case of a merged class-module or class-interface declaration,
// only the class declaration node will have the Abstract flag set.
- var valueDecl = expressionType.symbol && ts.getDeclarationOfKind(expressionType.symbol, 212 /* ClassDeclaration */);
+ var valueDecl = expressionType.symbol && getClassLikeDeclarationOfSymbol(expressionType.symbol);
if (valueDecl && valueDecl.flags & 256 /* Abstract */) {
error(node, ts.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0, ts.declarationNameToString(valueDecl.name));
return resolveErrorCall(node);
@@ -24257,6 +24352,9 @@ var ts;
// so we'll need to get back original 'target' symbol to work with correct set of flags
return s.flags & 16777216 /* Instantiated */ ? getSymbolLinks(s).target : s;
}
+ function getClassLikeDeclarationOfSymbol(symbol) {
+ return ts.forEach(symbol.declarations, function (d) { return ts.isClassLike(d) ? d : undefined; });
+ }
function checkKindsOfPropertyMemberOverrides(type, baseType) {
// TypeScript 1.0 spec (April 2014): 8.2.3
// A derived class inherits all members from its base class it doesn't override.
@@ -24288,12 +24386,17 @@ var ts;
// type declaration, derived and base resolve to the same symbol even in the case of generic classes.
if (derived === base) {
// derived class inherits base without override/redeclaration
- var derivedClassDecl = ts.getDeclarationOfKind(type.symbol, 212 /* ClassDeclaration */);
+ var derivedClassDecl = getClassLikeDeclarationOfSymbol(type.symbol);
// It is an error to inherit an abstract member without implementing it or being declared abstract.
// If there is no declaration for the derived class (as in the case of class expressions),
// then the class cannot be declared abstract.
if (baseDeclarationFlags & 256 /* Abstract */ && (!derivedClassDecl || !(derivedClassDecl.flags & 256 /* Abstract */))) {
- error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ if (derivedClassDecl.kind === 184 /* ClassExpression */) {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType));
+ }
+ else {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ }
}
}
else {
@@ -25637,7 +25740,10 @@ var ts;
var symbols = [];
var name_15 = symbol.name;
ts.forEach(getSymbolLinks(symbol).containingType.types, function (t) {
- symbols.push(getPropertyOfType(t, name_15));
+ var symbol = getPropertyOfType(t, name_15);
+ if (symbol) {
+ symbols.push(symbol);
+ }
});
return symbols;
}
@@ -28602,6 +28708,8 @@ var ts;
var scopeEmitEnd = function () { };
/** Sourcemap data that will get encoded */
var sourceMapData;
+ /** If removeComments is true, no leading-comments needed to be emitted **/
+ var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { } : emitLeadingCommentsOfPositionWorker;
if (compilerOptions.sourceMap || compilerOptions.inlineSourceMap) {
initializeEmitterWithSourceMaps();
}
@@ -29561,8 +29669,10 @@ var ts;
function jsxEmitPreserve(node) {
function emitJsxAttribute(node) {
emit(node.name);
- write("=");
- emit(node.initializer);
+ if (node.initializer) {
+ write("=");
+ emit(node.initializer);
+ }
}
function emitJsxSpreadAttribute(node) {
write("{...");
@@ -30510,7 +30620,8 @@ var ts;
operand.kind !== 178 /* PostfixUnaryExpression */ &&
operand.kind !== 167 /* NewExpression */ &&
!(operand.kind === 166 /* CallExpression */ && node.parent.kind === 167 /* NewExpression */) &&
- !(operand.kind === 171 /* FunctionExpression */ && node.parent.kind === 166 /* CallExpression */)) {
+ !(operand.kind === 171 /* FunctionExpression */ && node.parent.kind === 166 /* CallExpression */) &&
+ !(operand.kind === 8 /* NumericLiteral */ && node.parent.kind === 164 /* PropertyAccessExpression */)) {
emit(operand);
return;
}
@@ -31215,6 +31326,9 @@ var ts;
}
function emitExportSpecifierInSystemModule(specifier) {
ts.Debug.assert(compilerOptions.module === 4 /* System */);
+ if (!resolver.getReferencedValueDeclaration(specifier.propertyName || specifier.name) && !resolver.isValueAliasDeclaration(specifier)) {
+ return;
+ }
writeLine();
emitStart(specifier.name);
write(exportFunctionForFile + "(\"");
@@ -31270,21 +31384,30 @@ var ts;
write(")");
}
}
- function ensureIdentifier(expr) {
- if (expr.kind !== 67 /* Identifier */) {
- var identifier = createTempVariable(0 /* Auto */);
- if (!canDefineTempVariablesInPlace) {
- recordTempDeclaration(identifier);
- }
- emitAssignment(identifier, expr);
- expr = identifier;
+ /**
+ * Ensures that there exists a declared identifier whose value holds the given expression.
+ * This function is useful to ensure that the expression's value can be read from in subsequent expressions.
+ * Unless 'reuseIdentifierExpressions' is false, 'expr' will be returned if it is just an identifier.
+ *
+ * @param expr the expression whose value needs to be bound.
+ * @param reuseIdentifierExpressions true if identifier expressions can simply be returned;
+ * false if it is necessary to always emit an identifier.
+ */
+ function ensureIdentifier(expr, reuseIdentifierExpressions) {
+ if (expr.kind === 67 /* Identifier */ && reuseIdentifierExpressions) {
+ return expr;
}
- return expr;
+ var identifier = createTempVariable(0 /* Auto */);
+ if (!canDefineTempVariablesInPlace) {
+ recordTempDeclaration(identifier);
+ }
+ emitAssignment(identifier, expr);
+ return identifier;
}
function createDefaultValueCheck(value, defaultValue) {
// The value expression will be evaluated twice, so for anything but a simple identifier
// we need to generate a temporary variable
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
// Return the expression 'value === void 0 ? defaultValue : value'
var equals = ts.createSynthesizedNode(179 /* BinaryExpression */);
equals.left = value;
@@ -31330,7 +31453,7 @@ var ts;
if (properties.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (var _a = 0; _a < properties.length; _a++) {
var p = properties[_a];
@@ -31345,7 +31468,7 @@ var ts;
if (elements.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (var i = 0; i < elements.length; i++) {
var e = elements[i];
@@ -31387,7 +31510,7 @@ var ts;
if (root.parent.kind !== 170 /* ParenthesizedExpression */) {
write("(");
}
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
emitDestructuringAssignment(target, value);
write(", ");
emit(value);
@@ -31408,12 +31531,15 @@ var ts;
if (ts.isBindingPattern(target.name)) {
var pattern = target.name;
var elements = pattern.elements;
- if (elements.length !== 1) {
- // For anything but a single element destructuring we need to generate a temporary
- // to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ var numElements = elements.length;
+ if (numElements !== 1) {
+ // For anything other than a single-element destructuring we need to generate a temporary
+ // to ensure value is evaluated exactly once. Additionally, if we have zero elements
+ // we need to emit *something* to ensure that in case a 'var' keyword was already emitted,
+ // so in that case, we'll intentionally create that temporary.
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ numElements !== 0);
}
- for (var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < numElements; i++) {
var element = elements[i];
if (pattern.kind === 159 /* ObjectBindingPattern */) {
// Rewrite element to a declaration with an initializer that fetches property
@@ -31425,7 +31551,7 @@ var ts;
// Rewrite element to a declaration that accesses array element at index i
emitBindingElement(element, createElementAccessExpression(value, createNumericLiteral(i)));
}
- else if (i === elements.length - 1) {
+ else if (i === numElements - 1) {
emitBindingElement(element, createSliceCall(value, i));
}
}
@@ -31686,7 +31812,7 @@ var ts;
}
function emitFunctionDeclaration(node) {
if (ts.nodeIsMissing(node.body)) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
// TODO (yuisu) : we should not have special cases to condition emitting comments
// but have one place to fix check for these conditions.
@@ -32112,7 +32238,7 @@ var ts;
}
else if (member.kind === 141 /* MethodDeclaration */ || node.kind === 140 /* MethodSignature */) {
if (!member.body) {
- return emitOnlyPinnedOrTripleSlashComments(member);
+ return emitCommentsOnNotEmittedNode(member);
}
writeLine();
emitLeadingComments(member);
@@ -32178,7 +32304,7 @@ var ts;
for (var _a = 0, _b = node.members; _a < _b.length; _a++) {
var member = _b[_a];
if ((member.kind === 141 /* MethodDeclaration */ || node.kind === 140 /* MethodSignature */) && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
else if (member.kind === 141 /* MethodDeclaration */ ||
member.kind === 143 /* GetAccessor */ ||
@@ -32229,7 +32355,7 @@ var ts;
// Emit the constructor overload pinned comments
ts.forEach(node.members, function (member) {
if (member.kind === 142 /* Constructor */ && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
// Check if there is any non-static property assignment
if (member.kind === 139 /* PropertyDeclaration */ && member.initializer && (member.flags & 128 /* Static */) === 0) {
@@ -32840,50 +32966,49 @@ var ts;
write("void 0");
}
function emitSerializedTypeNode(node) {
- if (!node) {
- return;
- }
- switch (node.kind) {
- case 101 /* VoidKeyword */:
- write("void 0");
- return;
- case 158 /* ParenthesizedType */:
- emitSerializedTypeNode(node.type);
- return;
- case 150 /* FunctionType */:
- case 151 /* ConstructorType */:
- write("Function");
- return;
- case 154 /* ArrayType */:
- case 155 /* TupleType */:
- write("Array");
- return;
- case 148 /* TypePredicate */:
- case 118 /* BooleanKeyword */:
- write("Boolean");
- return;
- case 128 /* StringKeyword */:
- case 9 /* StringLiteral */:
- write("String");
- return;
- case 126 /* NumberKeyword */:
- write("Number");
- return;
- case 129 /* SymbolKeyword */:
- write("Symbol");
- return;
- case 149 /* TypeReference */:
- emitSerializedTypeReferenceNode(node);
- return;
- case 152 /* TypeQuery */:
- case 153 /* TypeLiteral */:
- case 156 /* UnionType */:
- case 157 /* IntersectionType */:
- case 115 /* AnyKeyword */:
- break;
- default:
- ts.Debug.fail("Cannot serialize unexpected type node.");
- break;
+ if (node) {
+ switch (node.kind) {
+ case 101 /* VoidKeyword */:
+ write("void 0");
+ return;
+ case 158 /* ParenthesizedType */:
+ emitSerializedTypeNode(node.type);
+ return;
+ case 150 /* FunctionType */:
+ case 151 /* ConstructorType */:
+ write("Function");
+ return;
+ case 154 /* ArrayType */:
+ case 155 /* TupleType */:
+ write("Array");
+ return;
+ case 148 /* TypePredicate */:
+ case 118 /* BooleanKeyword */:
+ write("Boolean");
+ return;
+ case 128 /* StringKeyword */:
+ case 9 /* StringLiteral */:
+ write("String");
+ return;
+ case 126 /* NumberKeyword */:
+ write("Number");
+ return;
+ case 129 /* SymbolKeyword */:
+ write("Symbol");
+ return;
+ case 149 /* TypeReference */:
+ emitSerializedTypeReferenceNode(node);
+ return;
+ case 152 /* TypeQuery */:
+ case 153 /* TypeLiteral */:
+ case 156 /* UnionType */:
+ case 157 /* IntersectionType */:
+ case 115 /* AnyKeyword */:
+ break;
+ default:
+ ts.Debug.fail("Cannot serialize unexpected type node.");
+ break;
+ }
}
write("Object");
}
@@ -33034,7 +33159,7 @@ var ts;
return argumentsWritten;
}
function emitInterfaceDeclaration(node) {
- emitOnlyPinnedOrTripleSlashComments(node);
+ emitCommentsOnNotEmittedNode(node);
}
function shouldEmitEnumDeclaration(node) {
var isConstEnum = ts.isConst(node);
@@ -33146,7 +33271,7 @@ var ts;
// Emit only if this module is non-ambient.
var shouldEmit = shouldEmitModuleDeclaration(node);
if (!shouldEmit) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
var hoistedInDeclarationScope = shouldHoistDeclarationInSystemJsModule(node);
var emitVarForModule = !hoistedInDeclarationScope && !isModuleMergedWithES6Class(node);
@@ -33875,7 +34000,7 @@ var ts;
}
return;
}
- if (ts.isInternalModuleImportEqualsDeclaration(node)) {
+ if (ts.isInternalModuleImportEqualsDeclaration(node) && resolver.isValueAliasDeclaration(node)) {
if (!hoistedVars) {
hoistedVars = [];
}
@@ -34438,7 +34563,7 @@ var ts;
function emitNodeConsideringCommentsOption(node, emitNodeConsideringSourcemap) {
if (node) {
if (node.flags & 2 /* Ambient */) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (isSpecializedCommentHandling(node)) {
// This is the node that will handle its own comments and sourcemap
@@ -34686,21 +34811,27 @@ var ts;
}
return leadingComments;
}
+ function isPinnedComments(comment) {
+ return currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */ &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 33 /* exclamation */;
+ }
/**
- * Removes all but the pinned or triple slash comments.
- * @param ranges The array to be filtered
- * @param onlyPinnedOrTripleSlashComments whether the filtering should be performed.
- */
- function filterComments(ranges, onlyPinnedOrTripleSlashComments) {
- // If we're removing comments, then we want to strip out all but the pinned or
- // triple slash comments.
- if (ranges && onlyPinnedOrTripleSlashComments) {
- ranges = ts.filter(ranges, isPinnedOrTripleSlashComment);
- if (ranges.length === 0) {
- return undefined;
- }
+ * Determine if the given comment is a triple-slash
+ *
+ * @return true if the comment is a triple-slash comment else false
+ **/
+ function isTripleSlashComment(comment) {
+ // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text
+ // so that we don't end up computing comment string and doing match for all // comments
+ if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 /* slash */ &&
+ comment.pos + 2 < comment.end &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 /* slash */) {
+ var textSubStr = currentSourceFile.text.substring(comment.pos, comment.end);
+ return textSubStr.match(ts.fullTripleSlashReferencePathRegEx) ||
+ textSubStr.match(ts.fullTripleSlashAMDReferencePathRegEx) ?
+ true : false;
}
- return ranges;
+ return false;
}
function getLeadingCommentsToEmit(node) {
// Emit the leading comments only if the parent's pos doesn't match because parent should take care of emitting these comments
@@ -34725,23 +34856,46 @@ var ts;
}
}
}
- function emitOnlyPinnedOrTripleSlashComments(node) {
- emitLeadingCommentsWorker(node, /*onlyPinnedOrTripleSlashComments:*/ true);
+ /**
+ * Emit comments associated with node that will not be emitted into JS file
+ */
+ function emitCommentsOnNotEmittedNode(node) {
+ emitLeadingCommentsWorker(node, /*isEmittedNode:*/ false);
}
function emitLeadingComments(node) {
- return emitLeadingCommentsWorker(node, /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ return emitLeadingCommentsWorker(node, /*isEmittedNode:*/ true);
}
- function emitLeadingCommentsWorker(node, onlyPinnedOrTripleSlashComments) {
- // If the caller only wants pinned or triple slash comments, then always filter
- // down to that set. Otherwise, filter based on the current compiler options.
- var leadingComments = filterComments(getLeadingCommentsToEmit(node), onlyPinnedOrTripleSlashComments);
+ function emitLeadingCommentsWorker(node, isEmittedNode) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var leadingComments;
+ if (isEmittedNode) {
+ leadingComments = getLeadingCommentsToEmit(node);
+ }
+ else {
+ // If the node will not be emitted in JS, remove all the comments(normal, pinned and ///) associated with the node,
+ // unless it is a triple slash comment at the top of the file.
+ // For Example:
+ // ///
+ // declare var x;
+ // ///
+ // interface F {}
+ // The first /// will NOT be removed while the second one will be removed eventhough both node will not be emitted
+ if (node.pos === 0) {
+ leadingComments = ts.filter(getLeadingCommentsToEmit(node), isTripleSlashComment);
+ }
+ }
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments);
// Leading comments are emitted at /*leading comment1 */space/*leading comment*/space
- ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment);
+ ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator:*/ true, newLine, writeComment);
}
function emitTrailingComments(node) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
// Emit the trailing comments only if the parent's end doesn't match
- var trailingComments = filterComments(getTrailingCommentsToEmit(node), /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ var trailingComments = getTrailingCommentsToEmit(node);
// trailing comments are emitted at space/*trailing comment1 */space/*trailing comment*/
ts.emitComments(currentSourceFile, writer, trailingComments, /*trailingSeparator*/ false, newLine, writeComment);
}
@@ -34751,11 +34905,17 @@ var ts;
* ^ => pos; the function will emit "comment1" in the emitJS
*/
function emitTrailingCommentsOfPosition(pos) {
- var trailingComments = filterComments(ts.getTrailingCommentRanges(currentSourceFile.text, pos), /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = ts.getTrailingCommentRanges(currentSourceFile.text, pos);
// trailing comments are emitted at space/*trailing comment1 */space/*trailing comment*/
ts.emitComments(currentSourceFile, writer, trailingComments, /*trailingSeparator*/ true, newLine, writeComment);
}
- function emitLeadingCommentsOfPosition(pos) {
+ function emitLeadingCommentsOfPositionWorker(pos) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
var leadingComments;
if (hasDetachedComments(pos)) {
// get comments without detached comments
@@ -34765,13 +34925,26 @@ var ts;
// get the leading comments from the node
leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, pos);
}
- leadingComments = filterComments(leadingComments, compilerOptions.removeComments);
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, { pos: pos, end: pos }, leadingComments);
// Leading comments are emitted at /*leading comment1 */space/*leading comment*/space
ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment);
}
function emitDetachedComments(node) {
- var leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ var leadingComments;
+ if (compilerOptions.removeComments) {
+ // removeComments is true, only reserve pinned comment at the top of file
+ // For example:
+ // /*! Pinned Comment */
+ //
+ // var x = 10;
+ if (node.pos === 0) {
+ leadingComments = ts.filter(ts.getLeadingCommentRanges(currentSourceFile.text, node.pos), isPinnedComments);
+ }
+ }
+ else {
+ // removeComments is false, just get detached as normal and bypass the process to filter comment
+ leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ }
if (leadingComments) {
var detachedComments = [];
var lastComment;
@@ -34816,17 +34989,6 @@ var ts;
write(shebang);
}
}
- function isPinnedOrTripleSlashComment(comment) {
- if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */) {
- return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33 /* exclamation */;
- }
- else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 /* slash */ &&
- comment.pos + 2 < comment.end &&
- currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 /* slash */ &&
- currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) {
- return true;
- }
- }
}
function emitFile(jsFilePath, sourceFile) {
emitJavaScript(jsFilePath, sourceFile);
@@ -35103,7 +35265,7 @@ var ts;
/* @internal */ ts.ioWriteTime = 0;
/** The version of the TypeScript compiler release */
var emptyArray = [];
- ts.version = "1.6.0";
+ ts.version = "1.7.0";
function findConfigFile(searchPath) {
var fileName = "tsconfig.json";
while (true) {
@@ -35143,10 +35305,12 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(containingDirectory, moduleName));
var resolvedFileName = loadNodeModuleFromFile(candidate, /* loadOnlyDts */ false, failedLookupLocations, host);
if (resolvedFileName) {
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations };
}
resolvedFileName = loadNodeModuleFromDirectory(candidate, /* loadOnlyDts */ false, failedLookupLocations, host);
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return resolvedFileName
+ ? { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
else {
return loadModuleFromNodeModules(moduleName, containingDirectory, host);
@@ -35206,11 +35370,11 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(nodeModulesFolder, moduleName));
var result = loadNodeModuleFromFile(candidate, /* loadOnlyDts */ true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
result = loadNodeModuleFromDirectory(candidate, /* loadOnlyDts */ true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
}
var parentPath = ts.getDirectoryPath(directory);
@@ -35219,39 +35383,16 @@ var ts;
}
directory = parentPath;
}
- return { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
- function baseUrlModuleNameResolver(moduleName, containingFile, baseUrl, host) {
- ts.Debug.assert(baseUrl !== undefined);
- var normalizedModuleName = ts.normalizeSlashes(moduleName);
- var basePart = useBaseUrl(moduleName) ? baseUrl : ts.getDirectoryPath(containingFile);
- var candidate = ts.normalizePath(ts.combinePaths(basePart, moduleName));
- var failedLookupLocations = [];
- return ts.forEach(ts.supportedExtensions, function (ext) { return tryLoadFile(candidate + ext); }) || { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
- function tryLoadFile(location) {
- if (host.fileExists(location)) {
- return { resolvedFileName: location, failedLookupLocations: failedLookupLocations };
- }
- else {
- failedLookupLocations.push(location);
- return undefined;
- }
- }
- }
- ts.baseUrlModuleNameResolver = baseUrlModuleNameResolver;
function nameStartsWithDotSlashOrDotDotSlash(name) {
var i = name.lastIndexOf("./", 1);
return i === 0 || (i === 1 && name.charCodeAt(0) === 46 /* dot */);
}
- function useBaseUrl(moduleName) {
- // path is not rooted
- // module name does not start with './' or '../'
- return ts.getRootLength(moduleName) === 0 && !nameStartsWithDotSlashOrDotDotSlash(moduleName);
- }
function classicNameResolver(moduleName, containingFile, compilerOptions, host) {
// module names that contain '!' are used to reference resources and are not resolved to actual files on disk
if (moduleName.indexOf('!') != -1) {
- return { resolvedFileName: undefined, failedLookupLocations: [] };
+ return { resolvedModule: undefined, failedLookupLocations: [] };
}
var searchPath = ts.getDirectoryPath(containingFile);
var searchName;
@@ -35282,7 +35423,9 @@ var ts;
}
searchPath = parentPath;
}
- return { resolvedFileName: referencedSourceFile, failedLookupLocations: failedLookupLocations };
+ return referencedSourceFile
+ ? { resolvedModule: { resolvedFileName: referencedSourceFile }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
ts.classicNameResolver = classicNameResolver;
/* @internal */
@@ -35399,7 +35542,8 @@ var ts;
function createProgram(rootNames, options, host, oldProgram) {
var program;
var files = [];
- var diagnostics = ts.createDiagnosticCollection();
+ var fileProcessingDiagnostics = ts.createDiagnosticCollection();
+ var programDiagnostics = ts.createDiagnosticCollection();
var commonSourceDirectory;
var diagnosticsProducingTypeChecker;
var noDiagnosticsTypeChecker;
@@ -35407,8 +35551,9 @@ var ts;
var skipDefaultLib = options.noLib;
var start = new Date().getTime();
host = host || createCompilerHost(options);
- var resolveModuleNamesWorker = host.resolveModuleNames ||
- (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedFileName; }); });
+ var resolveModuleNamesWorker = host.resolveModuleNames
+ ? (function (moduleNames, containingFile) { return host.resolveModuleNames(moduleNames, containingFile); })
+ : (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedModule; }); });
var filesByName = ts.createFileMap(function (fileName) { return host.getCanonicalFileName(fileName); });
if (oldProgram) {
// check properties that can affect structure of the program or module resolution strategy
@@ -35455,7 +35600,8 @@ var ts;
getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); },
getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); },
getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); },
- getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); }
+ getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); },
+ getFileProcessingDiagnostics: function () { return fileProcessingDiagnostics; }
};
return program;
function getClassifiableNames() {
@@ -35482,6 +35628,7 @@ var ts;
}
// check if program source files has changed in the way that can affect structure of the program
var newSourceFiles = [];
+ var modifiedSourceFiles = [];
for (var _i = 0, _a = oldProgram.getSourceFiles(); _i < _a.length; _i++) {
var oldSourceFile = _a[_i];
var newSourceFile = host.getSourceFile(oldSourceFile.fileName, options.target);
@@ -35510,14 +35657,21 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, newSourceFile.fileName);
// ensure that module resolution results are still correct
for (var i = 0; i < moduleNames.length; ++i) {
- var oldResolution = ts.getResolvedModuleFileName(oldSourceFile, moduleNames[i]);
- if (oldResolution !== resolutions[i]) {
+ var newResolution = resolutions[i];
+ var oldResolution = ts.getResolvedModule(oldSourceFile, moduleNames[i]);
+ var resolutionChanged = oldResolution
+ ? !newResolution ||
+ oldResolution.resolvedFileName !== newResolution.resolvedFileName ||
+ !!oldResolution.isExternalLibraryImport !== !!newResolution.isExternalLibraryImport
+ : newResolution;
+ if (resolutionChanged) {
return false;
}
}
}
// pass the cache of module resolutions from the old source file
newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
+ modifiedSourceFiles.push(newSourceFile);
}
else {
// file has no changes - use it as is
@@ -35532,6 +35686,11 @@ var ts;
filesByName.set(file.fileName, file);
}
files = newSourceFiles;
+ fileProcessingDiagnostics = oldProgram.getFileProcessingDiagnostics();
+ for (var _c = 0; _c < modifiedSourceFiles.length; _c++) {
+ var modifiedFile = modifiedSourceFiles[_c];
+ fileProcessingDiagnostics.reattachFileDiagnostics(modifiedFile);
+ }
oldProgram.structureIsReused = true;
return true;
}
@@ -35633,8 +35792,9 @@ var ts;
ts.Debug.assert(!!sourceFile.bindDiagnostics);
var bindDiagnostics = sourceFile.bindDiagnostics;
var checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken);
- var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName);
- return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics);
+ var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName);
+ var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName);
+ return bindDiagnostics.concat(checkDiagnostics).concat(fileProcessingDiagnosticsInFile).concat(programDiagnosticsInFile);
});
}
function getDeclarationDiagnosticsForFile(sourceFile, cancellationToken) {
@@ -35649,7 +35809,8 @@ var ts;
}
function getOptionsDiagnostics() {
var allDiagnostics = [];
- ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, fileProcessingDiagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, programDiagnostics.getGlobalDiagnostics());
return ts.sortAndDeduplicateDiagnostics(allDiagnostics);
}
function getGlobalDiagnostics() {
@@ -35747,10 +35908,10 @@ var ts;
}
if (diagnostic) {
if (refFile !== undefined && refEnd !== undefined && refPos !== undefined) {
- diagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
}
}
}
@@ -35770,10 +35931,10 @@ var ts;
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
filesByName.set(canonicalName, file);
@@ -35803,10 +35964,10 @@ var ts;
var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName;
if (canonicalName !== sourceFileName) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
}
}
@@ -35827,9 +35988,23 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, file.fileName);
for (var i = 0; i < file.imports.length; ++i) {
var resolution = resolutions[i];
- ts.setResolvedModuleName(file, moduleNames[i], resolution);
+ ts.setResolvedModule(file, moduleNames[i], resolution);
if (resolution && !options.noResolve) {
- findModuleSourceFile(resolution, file.imports[i]);
+ var importedFile = findModuleSourceFile(resolution.resolvedFileName, file.imports[i]);
+ if (importedFile && resolution.isExternalLibraryImport) {
+ if (!ts.isExternalModule(importedFile)) {
+ var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
+ }
+ else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
+ var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ else if (importedFile.referencedFiles.length) {
+ var firstRef = importedFile.referencedFiles[0];
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ }
}
}
}
@@ -35839,7 +36014,7 @@ var ts;
}
return;
function findModuleSourceFile(fileName, nameLiteral) {
- return findSourceFile(fileName, /* isDefaultLib */ false, file, nameLiteral.pos, nameLiteral.end);
+ return findSourceFile(fileName, /* isDefaultLib */ false, file, ts.skipTrivia(file.text, nameLiteral.pos), nameLiteral.end);
}
}
function computeCommonSourceDirectory(sourceFiles) {
@@ -35860,7 +36035,7 @@ var ts;
for (var i = 0, n = Math.min(commonPathComponents.length, sourcePathComponents.length); i < n; i++) {
if (commonPathComponents[i] !== sourcePathComponents[i]) {
if (i === 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
return;
}
// New common path found that is 0 -> i-1
@@ -35885,7 +36060,7 @@ var ts;
if (!ts.isDeclarationFile(sourceFile)) {
var absoluteSourceFilePath = host.getCanonicalFileName(ts.getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory));
if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
allFilesBelongToPath = false;
}
}
@@ -35896,44 +36071,44 @@ var ts;
function verifyCompilerOptions() {
if (options.isolatedModules) {
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
}
if (options.noEmitOnError) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
}
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
}
}
if (options.inlineSourceMap) {
if (options.sourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
}
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
}
}
if (options.inlineSources) {
if (!options.sourceMap && !options.inlineSourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
}
}
if (options.out && options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
}
if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) {
// Error to specify --mapRoot or --sourceRoot without mapSourceFiles
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
}
return;
}
@@ -35942,22 +36117,22 @@ var ts;
var firstExternalModuleSourceFile = ts.forEach(files, function (f) { return ts.isExternalModule(f) ? f : undefined; });
if (options.isolatedModules) {
if (!options.module && languageVersion < 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
}
var firstNonExternalModuleSourceFile = ts.forEach(files, function (f) { return !ts.isExternalModule(f) && !ts.isDeclarationFile(f) ? f : undefined; });
if (firstNonExternalModuleSourceFile) {
var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
- diagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
}
}
else if (firstExternalModuleSourceFile && languageVersion < 2 /* ES6 */ && !options.module) {
// We cannot use createDiagnosticFromNode because nodes do not have parents yet
var span = ts.getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
- diagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
}
// Cannot specify module gen target when in es6 or above
if (options.module && languageVersion >= 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
}
// there has to be common source directory if user specified --outdir || --sourceRoot
// if user specified --mapRoot, there needs to be common source directory if there would be multiple files being emitted
@@ -35982,25 +36157,25 @@ var ts;
}
if (options.noEmit) {
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
}
if (options.outDir) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
}
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
}
}
if (options.emitDecoratorMetadata &&
!options.experimentalDecorators) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
}
if (options.experimentalAsyncFunctions &&
options.target !== 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
}
}
}
@@ -36251,8 +36426,8 @@ var ts;
"node": 2 /* NodeJs */,
"classic": 1 /* Classic */
},
- experimental: true,
- description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6
+ description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6,
+ error: ts.Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic
}
];
var optionNameMapCache;
@@ -36374,10 +36549,10 @@ var ts;
* Read tsconfig.json file
* @param fileName The path to the config file
*/
- function readConfigFile(fileName) {
+ function readConfigFile(fileName, readFile) {
var text = "";
try {
- text = ts.sys.readFile(fileName);
+ text = readFile(fileName);
}
catch (e) {
return { error: ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, e.message) };
@@ -38721,7 +38896,7 @@ var ts;
function findPrecedingToken(position, sourceFile, startNode) {
return find(startNode || sourceFile);
function findRightmostToken(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234 /* JsxText */) {
return n;
}
var children = n.getChildren();
@@ -38729,23 +38904,32 @@ var ts;
return candidate && findRightmostToken(candidate);
}
function find(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234 /* JsxText */) {
return n;
}
var children = n.getChildren();
for (var i = 0, len = children.length; i < len; i++) {
var child = children[i];
- if (nodeHasTokens(child)) {
- if (position <= child.end) {
- if (child.getStart(sourceFile) >= position) {
- // actual start of the node is past the position - previous token should be at the end of previous child
- var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i);
- return candidate && findRightmostToken(candidate);
- }
- else {
- // candidate should be in this node
- return find(child);
- }
+ // condition 'position < child.end' checks if child node end after the position
+ // in the example below this condition will be false for 'aaaa' and 'bbbb' and true for 'ccc'
+ // aaaa___bbbb___$__ccc
+ // after we found child node with end after the position we check if start of the node is after the position.
+ // if yes - then position is in the trivia and we need to look into the previous child to find the token in question.
+ // if no - position is in the node itself so we should recurse in it.
+ // NOTE: JsxText is a weird kind of node that can contain only whitespaces (since they are not counted as trivia).
+ // if this is the case - then we should assume that token in question is located in previous child.
+ if (position < child.end && (nodeHasTokens(child) || child.kind === 234 /* JsxText */)) {
+ var start = child.getStart(sourceFile);
+ var lookInPreviousChild = (start >= position) ||
+ (child.kind === 234 /* JsxText */ && start === child.end); // whitespace only JsxText
+ if (lookInPreviousChild) {
+ // actual start of the node is past the position - previous token should be at the end of previous child
+ var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i);
+ return candidate && findRightmostToken(candidate);
+ }
+ else {
+ // candidate should be in this node
+ return find(child);
}
}
}
@@ -39162,6 +39346,7 @@ var ts;
ScanAction[ScanAction["RescanGreaterThanToken"] = 1] = "RescanGreaterThanToken";
ScanAction[ScanAction["RescanSlashToken"] = 2] = "RescanSlashToken";
ScanAction[ScanAction["RescanTemplateToken"] = 3] = "RescanTemplateToken";
+ ScanAction[ScanAction["RescanJsxIdentifier"] = 4] = "RescanJsxIdentifier";
})(ScanAction || (ScanAction = {}));
function getFormattingScanner(sourceFile, startPos, endPos) {
scanner.setText(sourceFile.text);
@@ -39235,6 +39420,18 @@ var ts;
}
return false;
}
+ function shouldRescanJsxIdentifier(node) {
+ if (node.parent) {
+ switch (node.parent.kind) {
+ case 236 /* JsxAttribute */:
+ case 233 /* JsxOpeningElement */:
+ case 235 /* JsxClosingElement */:
+ case 232 /* JsxSelfClosingElement */:
+ return node.kind === 67 /* Identifier */;
+ }
+ }
+ return false;
+ }
function shouldRescanSlashToken(container) {
return container.kind === 10 /* RegularExpressionLiteral */;
}
@@ -39262,7 +39459,9 @@ var ts;
? 2 /* RescanSlashToken */
: shouldRescanTemplateToken(n)
? 3 /* RescanTemplateToken */
- : 0 /* Scan */;
+ : shouldRescanJsxIdentifier(n)
+ ? 4 /* RescanJsxIdentifier */
+ : 0 /* Scan */;
if (lastTokenInfo && expectedScanAction === lastScanAction) {
// readTokenInfo was called before with the same expected scan action.
// No need to re-scan text, return existing 'lastTokenInfo'
@@ -39293,6 +39492,10 @@ var ts;
currentToken = scanner.reScanTemplateToken();
lastScanAction = 3 /* RescanTemplateToken */;
}
+ else if (expectedScanAction === 4 /* RescanJsxIdentifier */ && currentToken === 67 /* Identifier */) {
+ currentToken = scanner.scanJsxIdentifier();
+ lastScanAction = 4 /* RescanJsxIdentifier */;
+ }
else {
lastScanAction = 0 /* Scan */;
}
@@ -39633,7 +39836,7 @@ var ts;
this.FunctionOpenBraceLeftTokenRange = formatting.Shared.TokenRange.AnyIncludingMultilineComments;
this.SpaceBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsBeforeBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */);
// Place a space before open brace in a TypeScript declaration that has braces as children (class, module, enum, etc)
- this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67 /* Identifier */, 3 /* MultiLineCommentTrivia */]);
+ this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67 /* Identifier */, 3 /* MultiLineCommentTrivia */, 71 /* ClassKeyword */]);
this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */);
// Place a space before open brace in a control flow construct
this.ControlOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([18 /* CloseParenToken */, 3 /* MultiLineCommentTrivia */, 77 /* DoKeyword */, 98 /* TryKeyword */, 83 /* FinallyKeyword */, 78 /* ElseKeyword */]);
@@ -39666,7 +39869,7 @@ var ts;
this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new formatting.Rule(formatting.RuleDescriptor.create1(36 /* MinusToken */, 36 /* MinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */));
this.SpaceAfterSubtractWhenFollowedByPredecrement = new formatting.Rule(formatting.RuleDescriptor.create1(36 /* MinusToken */, 41 /* MinusMinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */));
this.NoSpaceBeforeComma = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 24 /* CommaToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100 /* VarKeyword */, 96 /* ThrowKeyword */, 90 /* NewKeyword */, 76 /* DeleteKeyword */, 92 /* ReturnKeyword */, 99 /* TypeOfKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
+ this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100 /* VarKeyword */, 96 /* ThrowKeyword */, 90 /* NewKeyword */, 76 /* DeleteKeyword */, 92 /* ReturnKeyword */, 99 /* TypeOfKeyword */, 117 /* AwaitKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
this.SpaceAfterLetConstInVariableDeclaration = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([106 /* LetKeyword */, 72 /* ConstKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsStartOfVariableDeclarationList), 2 /* Space */));
this.NoSpaceBeforeOpenParenInFuncCall = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionCallOrNewContext, Rules.IsPreviousTokenNotComma), 8 /* Delete */));
this.SpaceAfterFunctionInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create3(85 /* FunctionKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2 /* Space */));
@@ -39690,7 +39893,7 @@ var ts;
// Use of module as a function call. e.g.: import m2 = module("m2");
this.NoSpaceAfterModuleImport = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([123 /* ModuleKeyword */, 125 /* RequireKeyword */]), 17 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// Add a space around certain TypeScript keywords
- this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113 /* AbstractKeyword */, 71 /* ClassKeyword */, 120 /* DeclareKeyword */, 75 /* DefaultKeyword */, 79 /* EnumKeyword */, 80 /* ExportKeyword */, 81 /* ExtendsKeyword */, 121 /* GetKeyword */, 104 /* ImplementsKeyword */, 87 /* ImportKeyword */, 105 /* InterfaceKeyword */, 123 /* ModuleKeyword */, 124 /* NamespaceKeyword */, 108 /* PrivateKeyword */, 110 /* PublicKeyword */, 109 /* ProtectedKeyword */, 127 /* SetKeyword */, 111 /* StaticKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
+ this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113 /* AbstractKeyword */, 71 /* ClassKeyword */, 120 /* DeclareKeyword */, 75 /* DefaultKeyword */, 79 /* EnumKeyword */, 80 /* ExportKeyword */, 81 /* ExtendsKeyword */, 121 /* GetKeyword */, 104 /* ImplementsKeyword */, 87 /* ImportKeyword */, 105 /* InterfaceKeyword */, 123 /* ModuleKeyword */, 124 /* NamespaceKeyword */, 108 /* PrivateKeyword */, 110 /* PublicKeyword */, 109 /* ProtectedKeyword */, 127 /* SetKeyword */, 111 /* StaticKeyword */, 130 /* TypeKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
this.SpaceBeforeCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.FromTokens([81 /* ExtendsKeyword */, 104 /* ImplementsKeyword */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
// Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" {
this.SpaceAfterModuleName = new formatting.Rule(formatting.RuleDescriptor.create1(9 /* StringLiteral */, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsModuleDeclContext), 2 /* Space */));
@@ -39718,20 +39921,8 @@ var ts;
this.SpaceBetweenYieldOrYieldStarAndOperand = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([112 /* YieldKeyword */, 37 /* AsteriskToken */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsYieldOrYieldStarWithOperand), 2 /* Space */));
// Async-await
this.SpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116 /* AsyncKeyword */, 85 /* FunctionKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116 /* AsyncKeyword */, 85 /* FunctionKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117 /* AwaitKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117 /* AwaitKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- // Type alias declaration
- this.SpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130 /* TypeKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130 /* TypeKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// template string
this.SpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67 /* Identifier */, formatting.Shared.TokenRange.FromTokens([11 /* NoSubstitutionTemplateLiteral */, 12 /* TemplateHead */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67 /* Identifier */, formatting.Shared.TokenRange.FromTokens([11 /* NoSubstitutionTemplateLiteral */, 12 /* TemplateHead */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- // union type
- this.SpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46 /* BarToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46 /* BarToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46 /* BarToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46 /* BarToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// These rules are higher in priority than user-configurable rules.
this.HighPriorityCommonRules =
[
@@ -39758,11 +39949,8 @@ var ts;
this.NoSpaceBeforeOpenParenInFuncCall,
this.SpaceBeforeBinaryKeywordOperator, this.SpaceAfterBinaryKeywordOperator,
this.SpaceAfterVoidOperator,
- this.SpaceBetweenAsyncAndFunctionKeyword, this.NoSpaceBetweenAsyncAndFunctionKeyword,
- this.SpaceAfterAwaitKeyword, this.NoSpaceAfterAwaitKeyword,
- this.SpaceAfterTypeKeyword, this.NoSpaceAfterTypeKeyword,
- this.SpaceBetweenTagAndTemplateString, this.NoSpaceBetweenTagAndTemplateString,
- this.SpaceBeforeBar, this.NoSpaceBeforeBar, this.SpaceAfterBar, this.NoSpaceAfterBar,
+ this.SpaceBetweenAsyncAndFunctionKeyword,
+ this.SpaceBetweenTagAndTemplateString,
// TypeScript-specific rules
this.NoSpaceAfterConstructor, this.NoSpaceAfterModuleImport,
this.SpaceAfterCertainTypeScriptKeywords, this.SpaceBeforeCertainTypeScriptKeywords,
@@ -39857,6 +40045,8 @@ var ts;
case 180 /* ConditionalExpression */:
case 187 /* AsExpression */:
case 148 /* TypePredicate */:
+ case 156 /* UnionType */:
+ case 157 /* IntersectionType */:
return true;
// equals in binding elements: function foo([[x, y] = [1, 2]])
case 161 /* BindingElement */:
@@ -39967,6 +40157,7 @@ var ts;
Rules.NodeIsTypeScriptDeclWithBlockContext = function (node) {
switch (node.kind) {
case 212 /* ClassDeclaration */:
+ case 184 /* ClassExpression */:
case 213 /* InterfaceDeclaration */:
case 215 /* EnumDeclaration */:
case 153 /* TypeLiteral */:
@@ -40813,7 +41004,7 @@ var ts;
}
function getDynamicIndentation(node, nodeStartLine, indentation, delta) {
return {
- getIndentationForComment: function (kind) {
+ getIndentationForComment: function (kind, tokenIndentation) {
switch (kind) {
// preceding comment to the token that closes the indentation scope inherits the indentation from the scope
// .. {
@@ -40821,9 +41012,10 @@ var ts;
// }
case 16 /* CloseBraceToken */:
case 20 /* CloseBracketToken */:
+ case 18 /* CloseParenToken */:
return indentation + delta;
}
- return indentation;
+ return tokenIndentation !== -1 /* Unknown */ ? tokenIndentation : indentation;
},
getIndentationForToken: function (line, kind) {
if (nodeStartLine !== line && node.decorators) {
@@ -41025,8 +41217,12 @@ var ts;
processTrivia(currentTokenInfo.trailingTrivia, parent, childContextNode, dynamicIndentation);
}
if (indentToken) {
- var indentNextTokenOrTrivia = true;
+ var tokenIndentation = (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) ?
+ dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind) :
+ -1 /* Unknown */;
if (currentTokenInfo.leadingTrivia) {
+ var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind, tokenIndentation);
+ var indentNextTokenOrTrivia = true;
for (var _i = 0, _a = currentTokenInfo.leadingTrivia; _i < _a.length; _i++) {
var triviaItem = _a[_i];
if (!ts.rangeContainsRange(originalRange, triviaItem)) {
@@ -41034,14 +41230,12 @@ var ts;
}
switch (triviaItem.kind) {
case 3 /* MultiLineCommentTrivia */:
- var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
indentMultilineComment(triviaItem, commentIndentation, /*firstLineIsIndented*/ !indentNextTokenOrTrivia);
indentNextTokenOrTrivia = false;
break;
case 2 /* SingleLineCommentTrivia */:
if (indentNextTokenOrTrivia) {
- var commentIndentation_1 = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
- insertIndentation(triviaItem.pos, commentIndentation_1, /*lineAdded*/ false);
+ insertIndentation(triviaItem.pos, commentIndentation, /*lineAdded*/ false);
indentNextTokenOrTrivia = false;
}
break;
@@ -41052,8 +41246,7 @@ var ts;
}
}
// indent token only if is it is in target range and does not overlap with any error ranges
- if (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) {
- var tokenIndentation = dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind);
+ if (tokenIndentation !== -1 /* Unknown */) {
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAdded);
lastIndentedLine = tokenStart.line;
indentationOnLastIndentedLine = tokenIndentation;
@@ -41704,6 +41897,7 @@ var ts;
function nodeContentIsAlwaysIndented(kind) {
switch (kind) {
case 212 /* ClassDeclaration */:
+ case 184 /* ClassExpression */:
case 213 /* InterfaceDeclaration */:
case 215 /* EnumDeclaration */:
case 214 /* TypeAliasDeclaration */:
@@ -41728,13 +41922,13 @@ var ts;
case 160 /* ArrayBindingPattern */:
case 159 /* ObjectBindingPattern */:
case 231 /* JsxElement */:
+ case 232 /* JsxSelfClosingElement */:
case 140 /* MethodSignature */:
case 145 /* CallSignature */:
case 146 /* ConstructSignature */:
case 136 /* Parameter */:
case 150 /* FunctionType */:
case 151 /* ConstructorType */:
- case 156 /* UnionType */:
case 158 /* ParenthesizedType */:
case 168 /* TaggedTemplateExpression */:
case 176 /* AwaitExpression */:
@@ -42858,7 +43052,7 @@ var ts;
var sourceMapText;
// Create a compilerHost object to allow the compiler to read and write files
var compilerHost = {
- getSourceFile: function (fileName, target) { return fileName === inputFileName ? sourceFile : undefined; },
+ getSourceFile: function (fileName, target) { return fileName === ts.normalizeSlashes(inputFileName) ? sourceFile : undefined; },
writeFile: function (name, text, writeByteOrderMark) {
if (ts.fileExtensionIs(name, ".map")) {
ts.Debug.assert(sourceMapText === undefined, "Unexpected multiple source map outputs for the file '" + name + "'");
@@ -43106,6 +43300,7 @@ var ts;
//
// export * from "mod"
// export {a as b} from "mod"
+ // export import i = require("mod")
while (token !== 1 /* EndOfFileToken */) {
if (token === 120 /* DeclareKeyword */) {
// declare module "mod"
@@ -43226,6 +43421,25 @@ var ts;
}
}
}
+ else if (token === 87 /* ImportKeyword */) {
+ token = scanner.scan();
+ if (token === 67 /* Identifier */ || ts.isKeyword(token)) {
+ token = scanner.scan();
+ if (token === 55 /* EqualsToken */) {
+ token = scanner.scan();
+ if (token === 125 /* RequireKeyword */) {
+ token = scanner.scan();
+ if (token === 17 /* OpenParenToken */) {
+ token = scanner.scan();
+ if (token === 9 /* StringLiteral */) {
+ // export import i = require("mod");
+ recordModuleName();
+ }
+ }
+ }
+ }
+ }
+ }
}
token = scanner.scan();
}
@@ -43929,9 +44143,9 @@ var ts;
// Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS|
// Skip this partial identifier and adjust the contextToken to the token that precedes it.
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
- var start_2 = new Date().getTime();
+ var start_4 = new Date().getTime();
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
- log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_2));
+ log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
}
// Find the node where completion is requested on.
// Also determine whether we are trying to complete with members of that node
@@ -44179,13 +44393,13 @@ var ts;
if (contextToken.kind === 9 /* StringLiteral */
|| contextToken.kind === 10 /* RegularExpressionLiteral */
|| ts.isTemplateLiteralKind(contextToken.kind)) {
- var start_3 = contextToken.getStart();
+ var start_5 = contextToken.getStart();
var end = contextToken.getEnd();
// To be "in" one of these literals, the position has to be:
// 1. entirely within the token text.
// 2. at the end position of an unterminated token.
// 3. at the end of a regular expression (due to trailing flags like '/foo/g').
- if (start_3 < position && position < end) {
+ if (start_5 < position && position < end) {
return true;
}
if (position === end) {
@@ -46349,6 +46563,7 @@ var ts;
result.push(getReferenceEntryFromNode(node));
}
break;
+ case 184 /* ClassExpression */:
case 212 /* ClassDeclaration */:
// Make sure the container belongs to the same class
// and has the appropriate static modifier from the original container.
@@ -48557,7 +48772,10 @@ var ts;
if ("getModuleResolutionsForFile" in this.shimHost) {
this.resolveModuleNames = function (moduleNames, containingFile) {
var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile));
- return ts.map(moduleNames, function (name) { return ts.lookUp(resolutionsInFile, name); });
+ return ts.map(moduleNames, function (name) {
+ var result = ts.lookUp(resolutionsInFile, name);
+ return result ? { resolvedFileName: result } : undefined;
+ });
};
}
}
@@ -49104,7 +49322,11 @@ var ts;
var _this = this;
return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () {
var compilerOptions = JSON.parse(compilerOptionsJson);
- return ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ return {
+ resolvedFileName: result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined,
+ failedLookupLocations: result.failedLookupLocations
+ };
});
};
CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) {
diff --git a/lib/typescriptServices.d.ts b/lib/typescriptServices.d.ts
index 3d4418a9750..761ce39d418 100644
--- a/lib/typescriptServices.d.ts
+++ b/lib/typescriptServices.d.ts
@@ -1208,9 +1208,11 @@ declare namespace ts {
UnionOrIntersection = 49152,
StructuredType = 130048,
}
+ type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
interface Type {
flags: TypeFlags;
symbol?: Symbol;
+ pattern?: DestructuringPattern;
}
interface StringLiteralType extends Type {
text: string;
@@ -1237,7 +1239,6 @@ declare namespace ts {
}
interface TupleType extends ObjectType {
elementTypes: Type[];
- baseArrayType: TypeReference;
}
interface UnionOrIntersectionType extends Type {
types: Type[];
@@ -1382,9 +1383,12 @@ declare namespace ts {
}
interface ResolvedModule {
resolvedFileName: string;
+ isExternalLibraryImport?: boolean;
+ }
+ interface ResolvedModuleWithFailedLookupLocations {
+ resolvedModule: ResolvedModule;
failedLookupLocations: string[];
}
- type ModuleNameResolver = (moduleName: string, containingFile: string, options: CompilerOptions, host: ModuleResolutionHost) => ResolvedModule;
interface CompilerHost extends ModuleResolutionHost {
getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile;
getCancellationToken?(): CancellationToken;
@@ -1394,7 +1398,7 @@ declare namespace ts {
getCanonicalFileName(fileName: string): string;
useCaseSensitiveFileNames(): boolean;
getNewLine(): string;
- resolveModuleNames?(moduleNames: string[], containingFile: string): string[];
+ resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[];
}
interface TextSpan {
start: number;
@@ -1515,10 +1519,9 @@ declare namespace ts {
const version: string;
function findConfigFile(searchPath: string): string;
function resolveTripleslashReference(moduleName: string, containingFile: string): string;
- function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModule;
- function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModule;
- function baseUrlModuleNameResolver(moduleName: string, containingFile: string, baseUrl: string, host: ModuleResolutionHost): ResolvedModule;
- function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModule;
+ function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
+ function nodeModuleNameResolver(moduleName: string, containingFile: string, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
+ function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost): ResolvedModuleWithFailedLookupLocations;
function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost;
function getPreEmitDiagnostics(program: Program, sourceFile?: SourceFile, cancellationToken?: CancellationToken): Diagnostic[];
function flattenDiagnosticMessageText(messageText: string | DiagnosticMessageChain, newLine: string): string;
@@ -1530,7 +1533,7 @@ declare namespace ts {
* Read tsconfig.json file
* @param fileName The path to the config file
*/
- function readConfigFile(fileName: string): {
+ function readConfigFile(fileName: string, readFile: (path: string) => string): {
config?: any;
error?: Diagnostic;
};
@@ -1649,7 +1652,7 @@ declare namespace ts {
trace?(s: string): void;
error?(s: string): void;
useCaseSensitiveFileNames?(): boolean;
- resolveModuleNames?(moduleNames: string[], containingFile: string): string[];
+ resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[];
}
interface LanguageService {
cleanupSemanticCache(): void;
diff --git a/lib/typescriptServices.js b/lib/typescriptServices.js
index b4d21639d3b..2c70f56d0a6 100644
--- a/lib/typescriptServices.js
+++ b/lib/typescriptServices.js
@@ -2117,7 +2117,7 @@ var ts;
Property_0_does_not_exist_on_type_1: { code: 2339, category: ts.DiagnosticCategory.Error, key: "Property '{0}' does not exist on type '{1}'." },
Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: 2340, category: ts.DiagnosticCategory.Error, key: "Only public and protected methods of the base class are accessible via the 'super' keyword." },
Property_0_is_private_and_only_accessible_within_class_1: { code: 2341, category: ts.DiagnosticCategory.Error, key: "Property '{0}' is private and only accessible within class '{1}'." },
- An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol, or 'any'." },
+ An_index_expression_argument_must_be_of_type_string_number_symbol_or_any: { code: 2342, category: ts.DiagnosticCategory.Error, key: "An index expression argument must be of type 'string', 'number', 'symbol', or 'any'." },
Type_0_does_not_satisfy_the_constraint_1: { code: 2344, category: ts.DiagnosticCategory.Error, key: "Type '{0}' does not satisfy the constraint '{1}'." },
Argument_of_type_0_is_not_assignable_to_parameter_of_type_1: { code: 2345, category: ts.DiagnosticCategory.Error, key: "Argument of type '{0}' is not assignable to parameter of type '{1}'." },
Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 2346, category: ts.DiagnosticCategory.Error, key: "Supplied parameters do not match any signature of call target." },
@@ -2288,6 +2288,7 @@ var ts;
The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression: { code: 2522, category: ts.DiagnosticCategory.Error, key: "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression." },
yield_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2523, category: ts.DiagnosticCategory.Error, key: "'yield' expressions cannot be used in a parameter initializer." },
await_expressions_cannot_be_used_in_a_parameter_initializer: { code: 2524, category: ts.DiagnosticCategory.Error, key: "'await' expressions cannot be used in a parameter initializer." },
+ Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value: { code: 2525, category: ts.DiagnosticCategory.Error, key: "Initializer provides no value for this binding element and the binding element has no default value." },
JSX_element_attributes_type_0_must_be_an_object_type: { code: 2600, category: ts.DiagnosticCategory.Error, key: "JSX element attributes type '{0}' must be an object type." },
The_return_type_of_a_JSX_element_constructor_must_return_an_object_type: { code: 2601, category: ts.DiagnosticCategory.Error, key: "The return type of a JSX element constructor must return an object type." },
JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist: { code: 2602, category: ts.DiagnosticCategory.Error, key: "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist." },
@@ -2300,6 +2301,10 @@ var ts;
Cannot_emit_namespaced_JSX_elements_in_React: { code: 2650, category: ts.DiagnosticCategory.Error, key: "Cannot emit namespaced JSX elements in React" },
A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums: { code: 2651, category: ts.DiagnosticCategory.Error, key: "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums." },
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
+ Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
+ Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },
@@ -2433,13 +2438,14 @@ var ts;
Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: { code: 6060, category: ts.DiagnosticCategory.Message, key: "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." },
NEWLINE: { code: 6061, category: ts.DiagnosticCategory.Message, key: "NEWLINE" },
Argument_for_newLine_option_must_be_CRLF_or_LF: { code: 6062, category: ts.DiagnosticCategory.Error, key: "Argument for '--newLine' option must be 'CRLF' or 'LF'." },
+ Argument_for_moduleResolution_option_must_be_node_or_classic: { code: 6063, category: ts.DiagnosticCategory.Error, key: "Argument for '--moduleResolution' option must be 'node' or 'classic'." },
Specify_JSX_code_generation_Colon_preserve_or_react: { code: 6080, category: ts.DiagnosticCategory.Message, key: "Specify JSX code generation: 'preserve' or 'react'" },
Argument_for_jsx_must_be_preserve_or_react: { code: 6081, category: ts.DiagnosticCategory.Message, key: "Argument for '--jsx' must be 'preserve' or 'react'." },
Enables_experimental_support_for_ES7_decorators: { code: 6065, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 decorators." },
Enables_experimental_support_for_emitting_type_metadata_for_decorators: { code: 6066, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for emitting type metadata for decorators." },
Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower: { code: 6067, category: ts.DiagnosticCategory.Message, key: "Option 'experimentalAsyncFunctions' cannot be specified when targeting ES5 or lower." },
Enables_experimental_support_for_ES7_async_functions: { code: 6068, category: ts.DiagnosticCategory.Message, key: "Enables experimental support for ES7 async functions." },
- Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
+ Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: { code: 6069, category: ts.DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." },
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: ts.DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
Successfully_created_a_tsconfig_json_file: { code: 6071, category: ts.DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: ts.DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
@@ -2491,6 +2497,11 @@ var ts;
///
var ts;
(function (ts) {
+ /* @internal */
+ function tokenIsIdentifierOrKeyword(token) {
+ return token >= 67 /* Identifier */;
+ }
+ ts.tokenIsIdentifierOrKeyword = tokenIsIdentifierOrKeyword;
var textToToken = {
"abstract": 113 /* AbstractKeyword */,
"any": 115 /* AnyKeyword */,
@@ -3926,7 +3937,7 @@ var ts;
// Scans a JSX identifier; these differ from normal identifiers in that
// they allow dashes
function scanJsxIdentifier() {
- if (token === 67 /* Identifier */) {
+ if (tokenIsIdentifierOrKeyword(token)) {
var firstCharPosition = pos;
while (pos < end) {
var ch = text.charCodeAt(pos);
@@ -5011,21 +5022,21 @@ var ts;
return true;
}
ts.arrayIsEqualTo = arrayIsEqualTo;
- function hasResolvedModuleName(sourceFile, moduleNameText) {
+ function hasResolvedModule(sourceFile, moduleNameText) {
return sourceFile.resolvedModules && ts.hasProperty(sourceFile.resolvedModules, moduleNameText);
}
- ts.hasResolvedModuleName = hasResolvedModuleName;
- function getResolvedModuleFileName(sourceFile, moduleNameText) {
- return hasResolvedModuleName(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
+ ts.hasResolvedModule = hasResolvedModule;
+ function getResolvedModule(sourceFile, moduleNameText) {
+ return hasResolvedModule(sourceFile, moduleNameText) ? sourceFile.resolvedModules[moduleNameText] : undefined;
}
- ts.getResolvedModuleFileName = getResolvedModuleFileName;
- function setResolvedModuleName(sourceFile, moduleNameText, resolvedFileName) {
+ ts.getResolvedModule = getResolvedModule;
+ function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
if (!sourceFile.resolvedModules) {
sourceFile.resolvedModules = {};
}
- sourceFile.resolvedModules[moduleNameText] = resolvedFileName;
+ sourceFile.resolvedModules[moduleNameText] = resolvedModule;
}
- ts.setResolvedModuleName = setResolvedModuleName;
+ ts.setResolvedModule = setResolvedModule;
// Returns true if this node contains a parse error anywhere underneath it.
function containsParseError(node) {
aggregateChildData(node);
@@ -5328,6 +5339,7 @@ var ts;
}
ts.getJsDocComments = getJsDocComments;
ts.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*/;
+ ts.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*/;
function isTypeNode(node) {
if (149 /* FirstTypeNode */ <= node.kind && node.kind <= 158 /* LastTypeNode */) {
return true;
@@ -6362,11 +6374,21 @@ var ts;
add: add,
getGlobalDiagnostics: getGlobalDiagnostics,
getDiagnostics: getDiagnostics,
- getModificationCount: getModificationCount
+ getModificationCount: getModificationCount,
+ reattachFileDiagnostics: reattachFileDiagnostics
};
function getModificationCount() {
return modificationCount;
}
+ function reattachFileDiagnostics(newFile) {
+ if (!ts.hasProperty(fileDiagnostics, newFile.fileName)) {
+ return;
+ }
+ for (var _i = 0, _a = fileDiagnostics[newFile.fileName]; _i < _a.length; _i++) {
+ var diagnostic = _a[_i];
+ diagnostic.file = newFile;
+ }
+ }
function add(diagnostic) {
var diagnostics;
if (diagnostic.file) {
@@ -8118,10 +8140,10 @@ var ts;
return createIdentifier(isIdentifier(), diagnosticMessage);
}
function parseIdentifierName() {
- return createIdentifier(isIdentifierOrKeyword());
+ return createIdentifier(ts.tokenIsIdentifierOrKeyword(token));
}
function isLiteralPropertyName() {
- return isIdentifierOrKeyword() ||
+ return ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 /* StringLiteral */ ||
token === 8 /* NumericLiteral */;
}
@@ -8141,7 +8163,7 @@ var ts;
return parsePropertyNameWorker(/*allowComputedPropertyNames:*/ false);
}
function isSimplePropertyName() {
- return token === 9 /* StringLiteral */ || token === 8 /* NumericLiteral */ || isIdentifierOrKeyword();
+ return token === 9 /* StringLiteral */ || token === 8 /* NumericLiteral */ || ts.tokenIsIdentifierOrKeyword(token);
}
function parseComputedPropertyName() {
// PropertyName [Yield]:
@@ -8257,9 +8279,9 @@ var ts;
case 20 /* HeritageClauses */:
return isHeritageClause();
case 21 /* ImportOrExportSpecifiers */:
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
case 13 /* JsxAttributes */:
- return isIdentifierOrKeyword() || token === 15 /* OpenBraceToken */;
+ return ts.tokenIsIdentifierOrKeyword(token) || token === 15 /* OpenBraceToken */;
case 14 /* JsxChildren */:
return true;
case 22 /* JSDocFunctionParameters */:
@@ -8292,7 +8314,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeyword() {
nextToken();
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
function isHeritageClauseExtendsOrImplementsKeyword() {
if (token === 104 /* ImplementsKeyword */ ||
@@ -8786,7 +8808,7 @@ var ts;
// the code would be implicitly: "name.identifierOrKeyword; identifierNameOrKeyword".
// In the first case though, ASI will not take effect because there is not a
// line terminator after the identifier or keyword.
- if (scanner.hasPrecedingLineBreak() && isIdentifierOrKeyword()) {
+ if (scanner.hasPrecedingLineBreak() && ts.tokenIsIdentifierOrKeyword(token)) {
var matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);
if (matchesPattern) {
// Report that we need an identifier. However, report it right after the dot,
@@ -9170,7 +9192,7 @@ var ts;
return result;
}
}
- if (isIdentifierOrKeyword()) {
+ if (ts.tokenIsIdentifierOrKeyword(token)) {
return parsePropertyOrMethodSignature();
}
}
@@ -10763,12 +10785,9 @@ var ts;
return finishNode(expressionStatement);
}
}
- function isIdentifierOrKeyword() {
- return token >= 67 /* Identifier */;
- }
function nextTokenIsIdentifierOrKeywordOnSameLine() {
nextToken();
- return isIdentifierOrKeyword() && !scanner.hasPrecedingLineBreak();
+ return ts.tokenIsIdentifierOrKeyword(token) && !scanner.hasPrecedingLineBreak();
}
function nextTokenIsFunctionKeywordOnSameLine() {
nextToken();
@@ -10776,7 +10795,7 @@ var ts;
}
function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine() {
nextToken();
- return (isIdentifierOrKeyword() || token === 8 /* NumericLiteral */) && !scanner.hasPrecedingLineBreak();
+ return (ts.tokenIsIdentifierOrKeyword(token) || token === 8 /* NumericLiteral */) && !scanner.hasPrecedingLineBreak();
}
function isDeclaration() {
while (true) {
@@ -10826,7 +10845,7 @@ var ts;
case 87 /* ImportKeyword */:
nextToken();
return token === 9 /* StringLiteral */ || token === 37 /* AsteriskToken */ ||
- token === 15 /* OpenBraceToken */ || isIdentifierOrKeyword();
+ token === 15 /* OpenBraceToken */ || ts.tokenIsIdentifierOrKeyword(token);
case 80 /* ExportKeyword */:
nextToken();
if (token === 55 /* EqualsToken */ || token === 37 /* AsteriskToken */ ||
@@ -11366,7 +11385,7 @@ var ts;
}
// It is very important that we check this *after* checking indexers because
// the [ token can start an index signature or a computed property name
- if (isIdentifierOrKeyword() ||
+ if (ts.tokenIsIdentifierOrKeyword(token) ||
token === 9 /* StringLiteral */ ||
token === 8 /* NumericLiteral */ ||
token === 37 /* AsteriskToken */ ||
@@ -11505,12 +11524,15 @@ var ts;
}
function parseModuleOrNamespaceDeclaration(fullStart, decorators, modifiers, flags) {
var node = createNode(216 /* ModuleDeclaration */, fullStart);
+ // If we are parsing a dotted namespace name, we want to
+ // propagate the 'Namespace' flag across the names if set.
+ var namespaceFlag = flags & 131072 /* Namespace */;
node.decorators = decorators;
setModifiers(node, modifiers);
node.flags |= flags;
node.name = parseIdentifier();
node.body = parseOptional(21 /* DotToken */)
- ? parseModuleOrNamespaceDeclaration(getNodePos(), /*decorators*/ undefined, /*modifiers*/ undefined, 1 /* Export */)
+ ? parseModuleOrNamespaceDeclaration(getNodePos(), /*decorators*/ undefined, /*modifiers*/ undefined, 1 /* Export */ | namespaceFlag)
: parseModuleBlock();
return finishNode(node);
}
@@ -11844,7 +11866,7 @@ var ts;
case 95 /* ThisKeyword */:
return true;
}
- return isIdentifierOrKeyword();
+ return ts.tokenIsIdentifierOrKeyword(token);
}
JSDocParser.isJSDocType = isJSDocType;
function parseJSDocTypeExpressionForTests(content, start, length) {
@@ -13734,7 +13756,7 @@ var ts;
// Module names are escaped in our symbol table. However, string literal values aren't.
// Escape the name in the "require(...)" clause to ensure we find the right symbol.
var moduleName = ts.escapeIdentifier(moduleReferenceLiteral.text);
- if (!moduleName) {
+ if (moduleName === undefined) {
return;
}
var isRelative = isExternalModuleNameRelative(moduleName);
@@ -13744,8 +13766,8 @@ var ts;
return symbol;
}
}
- var fileName = ts.getResolvedModuleFileName(getSourceFile(location), moduleReferenceLiteral.text);
- var sourceFile = fileName && host.getSourceFile(fileName);
+ var resolvedModule = ts.getResolvedModule(getSourceFile(location), moduleReferenceLiteral.text);
+ var sourceFile = resolvedModule && host.getSourceFile(resolvedModule.resolvedFileName);
if (sourceFile) {
if (sourceFile.symbol) {
return sourceFile.symbol;
@@ -15038,7 +15060,7 @@ var ts;
}
// If the declaration specifies a binding pattern, use the type implied by the binding pattern
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ false);
}
// No type specified and nothing can be inferred
return undefined;
@@ -15046,45 +15068,45 @@ var ts;
// Return the type implied by a binding pattern element. This is the type of the initializer of the element if
// one is present. Otherwise, if the element is itself a binding pattern, it is the type implied by the binding
// pattern. Otherwise, it is the type any.
- function getTypeFromBindingElement(element) {
+ function getTypeFromBindingElement(element, includePatternInType) {
if (element.initializer) {
return getWidenedType(checkExpressionCached(element.initializer));
}
if (ts.isBindingPattern(element.name)) {
- return getTypeFromBindingPattern(element.name);
+ return getTypeFromBindingPattern(element.name, includePatternInType);
}
return anyType;
}
// Return the type implied by an object binding pattern
- function getTypeFromObjectBindingPattern(pattern) {
+ function getTypeFromObjectBindingPattern(pattern, includePatternInType) {
var members = {};
ts.forEach(pattern.elements, function (e) {
var flags = 4 /* Property */ | 67108864 /* Transient */ | (e.initializer ? 536870912 /* Optional */ : 0);
var name = e.propertyName || e.name;
var symbol = createSymbol(flags, name.text);
- symbol.type = getTypeFromBindingElement(e);
+ symbol.type = getTypeFromBindingElement(e, includePatternInType);
+ symbol.bindingElement = e;
members[symbol.name] = symbol;
});
- return createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ var result = createAnonymousType(undefined, members, emptyArray, emptyArray, undefined, undefined);
+ if (includePatternInType) {
+ result.pattern = pattern;
+ }
+ return result;
}
// Return the type implied by an array binding pattern
- function getTypeFromArrayBindingPattern(pattern) {
- var hasSpreadElement = false;
- var elementTypes = [];
- ts.forEach(pattern.elements, function (e) {
- elementTypes.push(e.kind === 185 /* OmittedExpression */ || e.dotDotDotToken ? anyType : getTypeFromBindingElement(e));
- if (e.dotDotDotToken) {
- hasSpreadElement = true;
- }
- });
- if (!elementTypes.length) {
+ function getTypeFromArrayBindingPattern(pattern, includePatternInType) {
+ var elements = pattern.elements;
+ if (elements.length === 0 || elements[elements.length - 1].dotDotDotToken) {
return languageVersion >= 2 /* ES6 */ ? createIterableType(anyType) : anyArrayType;
}
- else if (hasSpreadElement) {
- var unionOfElements = getUnionType(elementTypes);
- return languageVersion >= 2 /* ES6 */ ? createIterableType(unionOfElements) : createArrayType(unionOfElements);
- }
// If the pattern has at least one element, and no rest element, then it should imply a tuple type.
+ var elementTypes = ts.map(elements, function (e) { return e.kind === 185 /* OmittedExpression */ ? anyType : getTypeFromBindingElement(e, includePatternInType); });
+ if (includePatternInType) {
+ var result = createNewTupleType(elementTypes);
+ result.pattern = pattern;
+ return result;
+ }
return createTupleType(elementTypes);
}
// Return the type implied by a binding pattern. This is the type implied purely by the binding pattern itself
@@ -15094,10 +15116,10 @@ var ts;
// used as the contextual type of an initializer associated with the binding pattern. Also, for a destructuring
// parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of
// the parameter.
- function getTypeFromBindingPattern(pattern) {
+ function getTypeFromBindingPattern(pattern, includePatternInType) {
return pattern.kind === 159 /* ObjectBindingPattern */
- ? getTypeFromObjectBindingPattern(pattern)
- : getTypeFromArrayBindingPattern(pattern);
+ ? getTypeFromObjectBindingPattern(pattern, includePatternInType)
+ : getTypeFromArrayBindingPattern(pattern, includePatternInType);
}
// Return the type associated with a variable, parameter, or property declaration. In the simple case this is the type
// specified in a type annotation or inferred from an initializer. However, in the case of a destructuring declaration it
@@ -16565,11 +16587,11 @@ var ts;
}
function createTupleType(elementTypes) {
var id = getTypeListId(elementTypes);
- var type = tupleTypes[id];
- if (!type) {
- type = tupleTypes[id] = createObjectType(8192 /* Tuple */ | getPropagatingFlagsOfTypes(elementTypes));
- type.elementTypes = elementTypes;
- }
+ return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes));
+ }
+ function createNewTupleType(elementTypes) {
+ var type = createObjectType(8192 /* Tuple */ | getPropagatingFlagsOfTypes(elementTypes));
+ type.elementTypes = elementTypes;
return type;
}
function getTypeFromTupleTypeNode(node) {
@@ -17021,7 +17043,7 @@ var ts;
* @param target The right-hand-side of the relation.
* @param relation The relation considered. One of 'identityRelation', 'assignableRelation', or 'subTypeRelation'.
* Used as both to determine which checks are performed and as a cache of previously computed results.
- * @param errorNode The node upon which all errors will be reported, if defined.
+ * @param errorNode The suggested node upon which all errors will be reported, if defined. This may or may not be the actual node used.
* @param headMessage If the error chain should be prepended by a head message, then headMessage will be used.
* @param containingMessageChain A chain of errors to prepend any new errors found.
*/
@@ -17106,7 +17128,9 @@ var ts;
// and intersection types are further deconstructed on the target side, we don't want to
// make the check again (as it might fail for a partial target type). Therefore we obtain
// the regular source type and proceed with that.
- source = getRegularTypeOfObjectLiteral(source);
+ if (target.flags & 49152 /* UnionOrIntersection */) {
+ source = getRegularTypeOfObjectLiteral(source);
+ }
}
var saveErrorInfo = errorInfo;
// Note that the "each" checks must precede the "some" checks to produce the correct results
@@ -17228,6 +17252,10 @@ var ts;
var prop = _a[_i];
if (!isKnownProperty(target, prop.name)) {
if (reportErrors) {
+ // We know *exactly* where things went wrong when comparing the types.
+ // Use this property as the error node as this will be more helpful in
+ // reasoning about what went wrong.
+ errorNode = prop.valueDeclaration;
reportError(ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(prop), typeToString(target));
}
return true;
@@ -17550,8 +17578,8 @@ var ts;
return result;
function abstractSignatureRelatedTo(source, sourceSig, target, targetSig) {
if (sourceSig && targetSig) {
- var sourceDecl = source.symbol && ts.getDeclarationOfKind(source.symbol, 212 /* ClassDeclaration */);
- var targetDecl = target.symbol && ts.getDeclarationOfKind(target.symbol, 212 /* ClassDeclaration */);
+ var sourceDecl = source.symbol && getClassLikeDeclarationOfSymbol(source.symbol);
+ var targetDecl = target.symbol && getClassLikeDeclarationOfSymbol(target.symbol);
if (!sourceDecl) {
// If the source object isn't itself a class declaration, it can be freely assigned, regardless
// of whether the constructed object is abstract or not.
@@ -17561,8 +17589,8 @@ var ts;
var targetErasedSignature = getErasedSignature(targetSig);
var sourceReturnType = sourceErasedSignature && getReturnTypeOfSignature(sourceErasedSignature);
var targetReturnType = targetErasedSignature && getReturnTypeOfSignature(targetErasedSignature);
- var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && ts.getDeclarationOfKind(sourceReturnType.symbol, 212 /* ClassDeclaration */);
- var targetReturnDecl = targetReturnType && targetReturnType.symbol && ts.getDeclarationOfKind(targetReturnType.symbol, 212 /* ClassDeclaration */);
+ var sourceReturnDecl = sourceReturnType && sourceReturnType.symbol && getClassLikeDeclarationOfSymbol(sourceReturnType.symbol);
+ var targetReturnDecl = targetReturnType && targetReturnType.symbol && getClassLikeDeclarationOfSymbol(targetReturnType.symbol);
var sourceIsAbstract = sourceReturnDecl && sourceReturnDecl.flags & 256 /* Abstract */;
var targetIsAbstract = targetReturnDecl && targetReturnDecl.flags & 256 /* Abstract */;
if (sourceIsAbstract && !(targetIsAbstract && targetDecl)) {
@@ -17911,6 +17939,7 @@ var ts;
regularType.constructSignatures = type.constructSignatures;
regularType.stringIndexType = type.stringIndexType;
regularType.numberIndexType = type.numberIndexType;
+ type.regularType = regularType;
}
return regularType;
}
@@ -18932,7 +18961,7 @@ var ts;
}
}
if (ts.isBindingPattern(declaration.name)) {
- return getTypeFromBindingPattern(declaration.name);
+ return getTypeFromBindingPattern(declaration.name, /*includePatternInType*/ true);
}
}
return undefined;
@@ -19290,11 +19319,12 @@ var ts;
var arrayOrIterableType = checkExpressionCached(node.expression, contextualMapper);
return checkIteratedTypeOrElementType(arrayOrIterableType, node.expression, /*allowStringInput*/ false);
}
+ function hasDefaultValue(node) {
+ return (node.kind === 161 /* BindingElement */ && !!node.initializer) ||
+ (node.kind === 179 /* BinaryExpression */ && node.operatorToken.kind === 55 /* EqualsToken */);
+ }
function checkArrayLiteral(node, contextualMapper) {
var elements = node.elements;
- if (!elements.length) {
- return createArrayType(undefinedType);
- }
var hasSpreadElement = false;
var elementTypes = [];
var inDestructuringPattern = isAssignmentTarget(node);
@@ -19327,12 +19357,39 @@ var ts;
hasSpreadElement = hasSpreadElement || e.kind === 183 /* SpreadElementExpression */;
}
if (!hasSpreadElement) {
+ // If array literal is actually a destructuring pattern, mark it as an implied type. We do this such
+ // that we get the same behavior for "var [x, y] = []" and "[x, y] = []".
+ if (inDestructuringPattern && elementTypes.length) {
+ var type = createNewTupleType(elementTypes);
+ type.pattern = node;
+ return type;
+ }
var contextualType = getContextualType(node);
- if (contextualType && contextualTypeIsTupleLikeType(contextualType) || inDestructuringPattern) {
- return createTupleType(elementTypes);
+ if (contextualType && contextualTypeIsTupleLikeType(contextualType)) {
+ var pattern = contextualType.pattern;
+ // If array literal is contextually typed by a binding pattern or an assignment pattern, pad the resulting
+ // tuple type with the corresponding binding or assignment element types to make the lengths equal.
+ if (pattern && (pattern.kind === 160 /* ArrayBindingPattern */ || pattern.kind === 162 /* ArrayLiteralExpression */)) {
+ var patternElements = pattern.elements;
+ for (var i = elementTypes.length; i < patternElements.length; i++) {
+ var patternElement = patternElements[i];
+ if (hasDefaultValue(patternElement)) {
+ elementTypes.push(contextualType.elementTypes[i]);
+ }
+ else {
+ if (patternElement.kind !== 185 /* OmittedExpression */) {
+ error(patternElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ elementTypes.push(unknownType);
+ }
+ }
+ }
+ if (elementTypes.length) {
+ return createTupleType(elementTypes);
+ }
}
}
- return createArrayType(getUnionType(elementTypes));
+ return createArrayType(elementTypes.length ? getUnionType(elementTypes) : undefinedType);
}
function isNumericName(name) {
return name.kind === 134 /* ComputedPropertyName */ ? isNumericComputedName(name) : isNumericLiteralName(name.text);
@@ -19390,6 +19447,9 @@ var ts;
var propertiesTable = {};
var propertiesArray = [];
var contextualType = getContextualType(node);
+ var contextualTypeHasPattern = contextualType && contextualType.pattern &&
+ (contextualType.pattern.kind === 159 /* ObjectBindingPattern */ || contextualType.pattern.kind === 163 /* ObjectLiteralExpression */);
+ var inDestructuringPattern = isAssignmentTarget(node);
var typeFlags = 0;
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
var memberDecl = _a[_i];
@@ -19410,6 +19470,24 @@ var ts;
}
typeFlags |= type.flags;
var prop = createSymbol(4 /* Property */ | 67108864 /* Transient */ | member.flags, member.name);
+ if (inDestructuringPattern) {
+ // If object literal is an assignment pattern and if the assignment pattern specifies a default value
+ // for the property, make the property optional.
+ if (memberDecl.kind === 243 /* PropertyAssignment */ && hasDefaultValue(memberDecl.initializer)) {
+ prop.flags |= 536870912 /* Optional */;
+ }
+ }
+ else if (contextualTypeHasPattern) {
+ // If object literal is contextually typed by the implied type of a binding pattern, and if the
+ // binding pattern specifies a default value for the property, make the property optional.
+ var impliedProp = getPropertyOfType(contextualType, member.name);
+ if (impliedProp) {
+ prop.flags |= impliedProp.flags & 536870912 /* Optional */;
+ }
+ else if (!compilerOptions.suppressExcessPropertyErrors) {
+ error(memberDecl.name, ts.Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType));
+ }
+ }
prop.declarations = member.declarations;
prop.parent = member.parent;
if (member.valueDeclaration) {
@@ -19433,11 +19511,28 @@ var ts;
}
propertiesArray.push(member);
}
+ // If object literal is contextually typed by the implied type of a binding pattern, augment the result
+ // type with those properties for which the binding pattern specifies a default value.
+ if (contextualTypeHasPattern) {
+ for (var _b = 0, _c = getPropertiesOfType(contextualType); _b < _c.length; _b++) {
+ var prop = _c[_b];
+ if (!ts.hasProperty(propertiesTable, prop.name)) {
+ if (!(prop.flags & 536870912 /* Optional */)) {
+ error(prop.valueDeclaration || prop.bindingElement, ts.Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value);
+ }
+ propertiesTable[prop.name] = prop;
+ propertiesArray.push(prop);
+ }
+ }
+ }
var stringIndexType = getIndexType(0 /* String */);
var numberIndexType = getIndexType(1 /* Number */);
var result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, stringIndexType, numberIndexType);
var freshObjectLiteralFlag = compilerOptions.suppressExcessPropertyErrors ? 0 : 1048576 /* FreshObjectLiteral */;
result.flags |= 524288 /* ObjectLiteral */ | 4194304 /* ContainsObjectLiteral */ | freshObjectLiteralFlag | (typeFlags & 14680064 /* PropagatingFlags */);
+ if (inDestructuringPattern) {
+ result.pattern = node;
+ }
return result;
function getIndexType(kind) {
if (contextualType && contextualTypeHasIndexSignature(contextualType, kind)) {
@@ -20946,7 +21041,7 @@ var ts;
// Note, only class declarations can be declared abstract.
// In the case of a merged class-module or class-interface declaration,
// only the class declaration node will have the Abstract flag set.
- var valueDecl = expressionType.symbol && ts.getDeclarationOfKind(expressionType.symbol, 212 /* ClassDeclaration */);
+ var valueDecl = expressionType.symbol && getClassLikeDeclarationOfSymbol(expressionType.symbol);
if (valueDecl && valueDecl.flags & 256 /* Abstract */) {
error(node, ts.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0, ts.declarationNameToString(valueDecl.name));
return resolveErrorCall(node);
@@ -24257,6 +24352,9 @@ var ts;
// so we'll need to get back original 'target' symbol to work with correct set of flags
return s.flags & 16777216 /* Instantiated */ ? getSymbolLinks(s).target : s;
}
+ function getClassLikeDeclarationOfSymbol(symbol) {
+ return ts.forEach(symbol.declarations, function (d) { return ts.isClassLike(d) ? d : undefined; });
+ }
function checkKindsOfPropertyMemberOverrides(type, baseType) {
// TypeScript 1.0 spec (April 2014): 8.2.3
// A derived class inherits all members from its base class it doesn't override.
@@ -24288,12 +24386,17 @@ var ts;
// type declaration, derived and base resolve to the same symbol even in the case of generic classes.
if (derived === base) {
// derived class inherits base without override/redeclaration
- var derivedClassDecl = ts.getDeclarationOfKind(type.symbol, 212 /* ClassDeclaration */);
+ var derivedClassDecl = getClassLikeDeclarationOfSymbol(type.symbol);
// It is an error to inherit an abstract member without implementing it or being declared abstract.
// If there is no declaration for the derived class (as in the case of class expressions),
// then the class cannot be declared abstract.
if (baseDeclarationFlags & 256 /* Abstract */ && (!derivedClassDecl || !(derivedClassDecl.flags & 256 /* Abstract */))) {
- error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ if (derivedClassDecl.kind === 184 /* ClassExpression */) {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1, symbolToString(baseProperty), typeToString(baseType));
+ }
+ else {
+ error(derivedClassDecl, ts.Diagnostics.Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2, typeToString(type), symbolToString(baseProperty), typeToString(baseType));
+ }
}
}
else {
@@ -25637,7 +25740,10 @@ var ts;
var symbols = [];
var name_15 = symbol.name;
ts.forEach(getSymbolLinks(symbol).containingType.types, function (t) {
- symbols.push(getPropertyOfType(t, name_15));
+ var symbol = getPropertyOfType(t, name_15);
+ if (symbol) {
+ symbols.push(symbol);
+ }
});
return symbols;
}
@@ -28602,6 +28708,8 @@ var ts;
var scopeEmitEnd = function () { };
/** Sourcemap data that will get encoded */
var sourceMapData;
+ /** If removeComments is true, no leading-comments needed to be emitted **/
+ var emitLeadingCommentsOfPosition = compilerOptions.removeComments ? function (pos) { } : emitLeadingCommentsOfPositionWorker;
if (compilerOptions.sourceMap || compilerOptions.inlineSourceMap) {
initializeEmitterWithSourceMaps();
}
@@ -29561,8 +29669,10 @@ var ts;
function jsxEmitPreserve(node) {
function emitJsxAttribute(node) {
emit(node.name);
- write("=");
- emit(node.initializer);
+ if (node.initializer) {
+ write("=");
+ emit(node.initializer);
+ }
}
function emitJsxSpreadAttribute(node) {
write("{...");
@@ -30510,7 +30620,8 @@ var ts;
operand.kind !== 178 /* PostfixUnaryExpression */ &&
operand.kind !== 167 /* NewExpression */ &&
!(operand.kind === 166 /* CallExpression */ && node.parent.kind === 167 /* NewExpression */) &&
- !(operand.kind === 171 /* FunctionExpression */ && node.parent.kind === 166 /* CallExpression */)) {
+ !(operand.kind === 171 /* FunctionExpression */ && node.parent.kind === 166 /* CallExpression */) &&
+ !(operand.kind === 8 /* NumericLiteral */ && node.parent.kind === 164 /* PropertyAccessExpression */)) {
emit(operand);
return;
}
@@ -31215,6 +31326,9 @@ var ts;
}
function emitExportSpecifierInSystemModule(specifier) {
ts.Debug.assert(compilerOptions.module === 4 /* System */);
+ if (!resolver.getReferencedValueDeclaration(specifier.propertyName || specifier.name) && !resolver.isValueAliasDeclaration(specifier)) {
+ return;
+ }
writeLine();
emitStart(specifier.name);
write(exportFunctionForFile + "(\"");
@@ -31270,21 +31384,30 @@ var ts;
write(")");
}
}
- function ensureIdentifier(expr) {
- if (expr.kind !== 67 /* Identifier */) {
- var identifier = createTempVariable(0 /* Auto */);
- if (!canDefineTempVariablesInPlace) {
- recordTempDeclaration(identifier);
- }
- emitAssignment(identifier, expr);
- expr = identifier;
+ /**
+ * Ensures that there exists a declared identifier whose value holds the given expression.
+ * This function is useful to ensure that the expression's value can be read from in subsequent expressions.
+ * Unless 'reuseIdentifierExpressions' is false, 'expr' will be returned if it is just an identifier.
+ *
+ * @param expr the expression whose value needs to be bound.
+ * @param reuseIdentifierExpressions true if identifier expressions can simply be returned;
+ * false if it is necessary to always emit an identifier.
+ */
+ function ensureIdentifier(expr, reuseIdentifierExpressions) {
+ if (expr.kind === 67 /* Identifier */ && reuseIdentifierExpressions) {
+ return expr;
}
- return expr;
+ var identifier = createTempVariable(0 /* Auto */);
+ if (!canDefineTempVariablesInPlace) {
+ recordTempDeclaration(identifier);
+ }
+ emitAssignment(identifier, expr);
+ return identifier;
}
function createDefaultValueCheck(value, defaultValue) {
// The value expression will be evaluated twice, so for anything but a simple identifier
// we need to generate a temporary variable
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
// Return the expression 'value === void 0 ? defaultValue : value'
var equals = ts.createSynthesizedNode(179 /* BinaryExpression */);
equals.left = value;
@@ -31330,7 +31453,7 @@ var ts;
if (properties.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (var _a = 0; _a < properties.length; _a++) {
var p = properties[_a];
@@ -31345,7 +31468,7 @@ var ts;
if (elements.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (var i = 0; i < elements.length; i++) {
var e = elements[i];
@@ -31387,7 +31510,7 @@ var ts;
if (root.parent.kind !== 170 /* ParenthesizedExpression */) {
write("(");
}
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
emitDestructuringAssignment(target, value);
write(", ");
emit(value);
@@ -31408,12 +31531,15 @@ var ts;
if (ts.isBindingPattern(target.name)) {
var pattern = target.name;
var elements = pattern.elements;
- if (elements.length !== 1) {
- // For anything but a single element destructuring we need to generate a temporary
- // to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ var numElements = elements.length;
+ if (numElements !== 1) {
+ // For anything other than a single-element destructuring we need to generate a temporary
+ // to ensure value is evaluated exactly once. Additionally, if we have zero elements
+ // we need to emit *something* to ensure that in case a 'var' keyword was already emitted,
+ // so in that case, we'll intentionally create that temporary.
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ numElements !== 0);
}
- for (var i = 0; i < elements.length; i++) {
+ for (var i = 0; i < numElements; i++) {
var element = elements[i];
if (pattern.kind === 159 /* ObjectBindingPattern */) {
// Rewrite element to a declaration with an initializer that fetches property
@@ -31425,7 +31551,7 @@ var ts;
// Rewrite element to a declaration that accesses array element at index i
emitBindingElement(element, createElementAccessExpression(value, createNumericLiteral(i)));
}
- else if (i === elements.length - 1) {
+ else if (i === numElements - 1) {
emitBindingElement(element, createSliceCall(value, i));
}
}
@@ -31686,7 +31812,7 @@ var ts;
}
function emitFunctionDeclaration(node) {
if (ts.nodeIsMissing(node.body)) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
// TODO (yuisu) : we should not have special cases to condition emitting comments
// but have one place to fix check for these conditions.
@@ -32112,7 +32238,7 @@ var ts;
}
else if (member.kind === 141 /* MethodDeclaration */ || node.kind === 140 /* MethodSignature */) {
if (!member.body) {
- return emitOnlyPinnedOrTripleSlashComments(member);
+ return emitCommentsOnNotEmittedNode(member);
}
writeLine();
emitLeadingComments(member);
@@ -32178,7 +32304,7 @@ var ts;
for (var _a = 0, _b = node.members; _a < _b.length; _a++) {
var member = _b[_a];
if ((member.kind === 141 /* MethodDeclaration */ || node.kind === 140 /* MethodSignature */) && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
else if (member.kind === 141 /* MethodDeclaration */ ||
member.kind === 143 /* GetAccessor */ ||
@@ -32229,7 +32355,7 @@ var ts;
// Emit the constructor overload pinned comments
ts.forEach(node.members, function (member) {
if (member.kind === 142 /* Constructor */ && !member.body) {
- emitOnlyPinnedOrTripleSlashComments(member);
+ emitCommentsOnNotEmittedNode(member);
}
// Check if there is any non-static property assignment
if (member.kind === 139 /* PropertyDeclaration */ && member.initializer && (member.flags & 128 /* Static */) === 0) {
@@ -32840,50 +32966,49 @@ var ts;
write("void 0");
}
function emitSerializedTypeNode(node) {
- if (!node) {
- return;
- }
- switch (node.kind) {
- case 101 /* VoidKeyword */:
- write("void 0");
- return;
- case 158 /* ParenthesizedType */:
- emitSerializedTypeNode(node.type);
- return;
- case 150 /* FunctionType */:
- case 151 /* ConstructorType */:
- write("Function");
- return;
- case 154 /* ArrayType */:
- case 155 /* TupleType */:
- write("Array");
- return;
- case 148 /* TypePredicate */:
- case 118 /* BooleanKeyword */:
- write("Boolean");
- return;
- case 128 /* StringKeyword */:
- case 9 /* StringLiteral */:
- write("String");
- return;
- case 126 /* NumberKeyword */:
- write("Number");
- return;
- case 129 /* SymbolKeyword */:
- write("Symbol");
- return;
- case 149 /* TypeReference */:
- emitSerializedTypeReferenceNode(node);
- return;
- case 152 /* TypeQuery */:
- case 153 /* TypeLiteral */:
- case 156 /* UnionType */:
- case 157 /* IntersectionType */:
- case 115 /* AnyKeyword */:
- break;
- default:
- ts.Debug.fail("Cannot serialize unexpected type node.");
- break;
+ if (node) {
+ switch (node.kind) {
+ case 101 /* VoidKeyword */:
+ write("void 0");
+ return;
+ case 158 /* ParenthesizedType */:
+ emitSerializedTypeNode(node.type);
+ return;
+ case 150 /* FunctionType */:
+ case 151 /* ConstructorType */:
+ write("Function");
+ return;
+ case 154 /* ArrayType */:
+ case 155 /* TupleType */:
+ write("Array");
+ return;
+ case 148 /* TypePredicate */:
+ case 118 /* BooleanKeyword */:
+ write("Boolean");
+ return;
+ case 128 /* StringKeyword */:
+ case 9 /* StringLiteral */:
+ write("String");
+ return;
+ case 126 /* NumberKeyword */:
+ write("Number");
+ return;
+ case 129 /* SymbolKeyword */:
+ write("Symbol");
+ return;
+ case 149 /* TypeReference */:
+ emitSerializedTypeReferenceNode(node);
+ return;
+ case 152 /* TypeQuery */:
+ case 153 /* TypeLiteral */:
+ case 156 /* UnionType */:
+ case 157 /* IntersectionType */:
+ case 115 /* AnyKeyword */:
+ break;
+ default:
+ ts.Debug.fail("Cannot serialize unexpected type node.");
+ break;
+ }
}
write("Object");
}
@@ -33034,7 +33159,7 @@ var ts;
return argumentsWritten;
}
function emitInterfaceDeclaration(node) {
- emitOnlyPinnedOrTripleSlashComments(node);
+ emitCommentsOnNotEmittedNode(node);
}
function shouldEmitEnumDeclaration(node) {
var isConstEnum = ts.isConst(node);
@@ -33146,7 +33271,7 @@ var ts;
// Emit only if this module is non-ambient.
var shouldEmit = shouldEmitModuleDeclaration(node);
if (!shouldEmit) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
var hoistedInDeclarationScope = shouldHoistDeclarationInSystemJsModule(node);
var emitVarForModule = !hoistedInDeclarationScope && !isModuleMergedWithES6Class(node);
@@ -33875,7 +34000,7 @@ var ts;
}
return;
}
- if (ts.isInternalModuleImportEqualsDeclaration(node)) {
+ if (ts.isInternalModuleImportEqualsDeclaration(node) && resolver.isValueAliasDeclaration(node)) {
if (!hoistedVars) {
hoistedVars = [];
}
@@ -34438,7 +34563,7 @@ var ts;
function emitNodeConsideringCommentsOption(node, emitNodeConsideringSourcemap) {
if (node) {
if (node.flags & 2 /* Ambient */) {
- return emitOnlyPinnedOrTripleSlashComments(node);
+ return emitCommentsOnNotEmittedNode(node);
}
if (isSpecializedCommentHandling(node)) {
// This is the node that will handle its own comments and sourcemap
@@ -34686,21 +34811,27 @@ var ts;
}
return leadingComments;
}
+ function isPinnedComments(comment) {
+ return currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */ &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 33 /* exclamation */;
+ }
/**
- * Removes all but the pinned or triple slash comments.
- * @param ranges The array to be filtered
- * @param onlyPinnedOrTripleSlashComments whether the filtering should be performed.
- */
- function filterComments(ranges, onlyPinnedOrTripleSlashComments) {
- // If we're removing comments, then we want to strip out all but the pinned or
- // triple slash comments.
- if (ranges && onlyPinnedOrTripleSlashComments) {
- ranges = ts.filter(ranges, isPinnedOrTripleSlashComment);
- if (ranges.length === 0) {
- return undefined;
- }
+ * Determine if the given comment is a triple-slash
+ *
+ * @return true if the comment is a triple-slash comment else false
+ **/
+ function isTripleSlashComment(comment) {
+ // Verify this is /// comment, but do the regexp match only when we first can find /// in the comment text
+ // so that we don't end up computing comment string and doing match for all // comments
+ if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 /* slash */ &&
+ comment.pos + 2 < comment.end &&
+ currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 /* slash */) {
+ var textSubStr = currentSourceFile.text.substring(comment.pos, comment.end);
+ return textSubStr.match(ts.fullTripleSlashReferencePathRegEx) ||
+ textSubStr.match(ts.fullTripleSlashAMDReferencePathRegEx) ?
+ true : false;
}
- return ranges;
+ return false;
}
function getLeadingCommentsToEmit(node) {
// Emit the leading comments only if the parent's pos doesn't match because parent should take care of emitting these comments
@@ -34725,23 +34856,46 @@ var ts;
}
}
}
- function emitOnlyPinnedOrTripleSlashComments(node) {
- emitLeadingCommentsWorker(node, /*onlyPinnedOrTripleSlashComments:*/ true);
+ /**
+ * Emit comments associated with node that will not be emitted into JS file
+ */
+ function emitCommentsOnNotEmittedNode(node) {
+ emitLeadingCommentsWorker(node, /*isEmittedNode:*/ false);
}
function emitLeadingComments(node) {
- return emitLeadingCommentsWorker(node, /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ return emitLeadingCommentsWorker(node, /*isEmittedNode:*/ true);
}
- function emitLeadingCommentsWorker(node, onlyPinnedOrTripleSlashComments) {
- // If the caller only wants pinned or triple slash comments, then always filter
- // down to that set. Otherwise, filter based on the current compiler options.
- var leadingComments = filterComments(getLeadingCommentsToEmit(node), onlyPinnedOrTripleSlashComments);
+ function emitLeadingCommentsWorker(node, isEmittedNode) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var leadingComments;
+ if (isEmittedNode) {
+ leadingComments = getLeadingCommentsToEmit(node);
+ }
+ else {
+ // If the node will not be emitted in JS, remove all the comments(normal, pinned and ///) associated with the node,
+ // unless it is a triple slash comment at the top of the file.
+ // For Example:
+ // ///
+ // declare var x;
+ // ///
+ // interface F {}
+ // The first /// will NOT be removed while the second one will be removed eventhough both node will not be emitted
+ if (node.pos === 0) {
+ leadingComments = ts.filter(getLeadingCommentsToEmit(node), isTripleSlashComment);
+ }
+ }
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, node, leadingComments);
// Leading comments are emitted at /*leading comment1 */space/*leading comment*/space
- ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment);
+ ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator:*/ true, newLine, writeComment);
}
function emitTrailingComments(node) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
// Emit the trailing comments only if the parent's end doesn't match
- var trailingComments = filterComments(getTrailingCommentsToEmit(node), /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ var trailingComments = getTrailingCommentsToEmit(node);
// trailing comments are emitted at space/*trailing comment1 */space/*trailing comment*/
ts.emitComments(currentSourceFile, writer, trailingComments, /*trailingSeparator*/ false, newLine, writeComment);
}
@@ -34751,11 +34905,17 @@ var ts;
* ^ => pos; the function will emit "comment1" in the emitJS
*/
function emitTrailingCommentsOfPosition(pos) {
- var trailingComments = filterComments(ts.getTrailingCommentRanges(currentSourceFile.text, pos), /*onlyPinnedOrTripleSlashComments:*/ compilerOptions.removeComments);
+ if (compilerOptions.removeComments) {
+ return;
+ }
+ var trailingComments = ts.getTrailingCommentRanges(currentSourceFile.text, pos);
// trailing comments are emitted at space/*trailing comment1 */space/*trailing comment*/
ts.emitComments(currentSourceFile, writer, trailingComments, /*trailingSeparator*/ true, newLine, writeComment);
}
- function emitLeadingCommentsOfPosition(pos) {
+ function emitLeadingCommentsOfPositionWorker(pos) {
+ if (compilerOptions.removeComments) {
+ return;
+ }
var leadingComments;
if (hasDetachedComments(pos)) {
// get comments without detached comments
@@ -34765,13 +34925,26 @@ var ts;
// get the leading comments from the node
leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, pos);
}
- leadingComments = filterComments(leadingComments, compilerOptions.removeComments);
ts.emitNewLineBeforeLeadingComments(currentSourceFile, writer, { pos: pos, end: pos }, leadingComments);
// Leading comments are emitted at /*leading comment1 */space/*leading comment*/space
ts.emitComments(currentSourceFile, writer, leadingComments, /*trailingSeparator*/ true, newLine, writeComment);
}
function emitDetachedComments(node) {
- var leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ var leadingComments;
+ if (compilerOptions.removeComments) {
+ // removeComments is true, only reserve pinned comment at the top of file
+ // For example:
+ // /*! Pinned Comment */
+ //
+ // var x = 10;
+ if (node.pos === 0) {
+ leadingComments = ts.filter(ts.getLeadingCommentRanges(currentSourceFile.text, node.pos), isPinnedComments);
+ }
+ }
+ else {
+ // removeComments is false, just get detached as normal and bypass the process to filter comment
+ leadingComments = ts.getLeadingCommentRanges(currentSourceFile.text, node.pos);
+ }
if (leadingComments) {
var detachedComments = [];
var lastComment;
@@ -34816,17 +34989,6 @@ var ts;
write(shebang);
}
}
- function isPinnedOrTripleSlashComment(comment) {
- if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 42 /* asterisk */) {
- return currentSourceFile.text.charCodeAt(comment.pos + 2) === 33 /* exclamation */;
- }
- else if (currentSourceFile.text.charCodeAt(comment.pos + 1) === 47 /* slash */ &&
- comment.pos + 2 < comment.end &&
- currentSourceFile.text.charCodeAt(comment.pos + 2) === 47 /* slash */ &&
- currentSourceFile.text.substring(comment.pos, comment.end).match(ts.fullTripleSlashReferencePathRegEx)) {
- return true;
- }
- }
}
function emitFile(jsFilePath, sourceFile) {
emitJavaScript(jsFilePath, sourceFile);
@@ -35103,7 +35265,7 @@ var ts;
/* @internal */ ts.ioWriteTime = 0;
/** The version of the TypeScript compiler release */
var emptyArray = [];
- ts.version = "1.6.0";
+ ts.version = "1.7.0";
function findConfigFile(searchPath) {
var fileName = "tsconfig.json";
while (true) {
@@ -35143,10 +35305,12 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(containingDirectory, moduleName));
var resolvedFileName = loadNodeModuleFromFile(candidate, /* loadOnlyDts */ false, failedLookupLocations, host);
if (resolvedFileName) {
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations };
}
resolvedFileName = loadNodeModuleFromDirectory(candidate, /* loadOnlyDts */ false, failedLookupLocations, host);
- return { resolvedFileName: resolvedFileName, failedLookupLocations: failedLookupLocations };
+ return resolvedFileName
+ ? { resolvedModule: { resolvedFileName: resolvedFileName }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
else {
return loadModuleFromNodeModules(moduleName, containingDirectory, host);
@@ -35206,11 +35370,11 @@ var ts;
var candidate = ts.normalizePath(ts.combinePaths(nodeModulesFolder, moduleName));
var result = loadNodeModuleFromFile(candidate, /* loadOnlyDts */ true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
result = loadNodeModuleFromDirectory(candidate, /* loadOnlyDts */ true, failedLookupLocations, host);
if (result) {
- return { resolvedFileName: result, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: { resolvedFileName: result, isExternalLibraryImport: true }, failedLookupLocations: failedLookupLocations };
}
}
var parentPath = ts.getDirectoryPath(directory);
@@ -35219,39 +35383,16 @@ var ts;
}
directory = parentPath;
}
- return { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
+ return { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
- function baseUrlModuleNameResolver(moduleName, containingFile, baseUrl, host) {
- ts.Debug.assert(baseUrl !== undefined);
- var normalizedModuleName = ts.normalizeSlashes(moduleName);
- var basePart = useBaseUrl(moduleName) ? baseUrl : ts.getDirectoryPath(containingFile);
- var candidate = ts.normalizePath(ts.combinePaths(basePart, moduleName));
- var failedLookupLocations = [];
- return ts.forEach(ts.supportedExtensions, function (ext) { return tryLoadFile(candidate + ext); }) || { resolvedFileName: undefined, failedLookupLocations: failedLookupLocations };
- function tryLoadFile(location) {
- if (host.fileExists(location)) {
- return { resolvedFileName: location, failedLookupLocations: failedLookupLocations };
- }
- else {
- failedLookupLocations.push(location);
- return undefined;
- }
- }
- }
- ts.baseUrlModuleNameResolver = baseUrlModuleNameResolver;
function nameStartsWithDotSlashOrDotDotSlash(name) {
var i = name.lastIndexOf("./", 1);
return i === 0 || (i === 1 && name.charCodeAt(0) === 46 /* dot */);
}
- function useBaseUrl(moduleName) {
- // path is not rooted
- // module name does not start with './' or '../'
- return ts.getRootLength(moduleName) === 0 && !nameStartsWithDotSlashOrDotDotSlash(moduleName);
- }
function classicNameResolver(moduleName, containingFile, compilerOptions, host) {
// module names that contain '!' are used to reference resources and are not resolved to actual files on disk
if (moduleName.indexOf('!') != -1) {
- return { resolvedFileName: undefined, failedLookupLocations: [] };
+ return { resolvedModule: undefined, failedLookupLocations: [] };
}
var searchPath = ts.getDirectoryPath(containingFile);
var searchName;
@@ -35282,7 +35423,9 @@ var ts;
}
searchPath = parentPath;
}
- return { resolvedFileName: referencedSourceFile, failedLookupLocations: failedLookupLocations };
+ return referencedSourceFile
+ ? { resolvedModule: { resolvedFileName: referencedSourceFile }, failedLookupLocations: failedLookupLocations }
+ : { resolvedModule: undefined, failedLookupLocations: failedLookupLocations };
}
ts.classicNameResolver = classicNameResolver;
/* @internal */
@@ -35399,7 +35542,8 @@ var ts;
function createProgram(rootNames, options, host, oldProgram) {
var program;
var files = [];
- var diagnostics = ts.createDiagnosticCollection();
+ var fileProcessingDiagnostics = ts.createDiagnosticCollection();
+ var programDiagnostics = ts.createDiagnosticCollection();
var commonSourceDirectory;
var diagnosticsProducingTypeChecker;
var noDiagnosticsTypeChecker;
@@ -35407,8 +35551,9 @@ var ts;
var skipDefaultLib = options.noLib;
var start = new Date().getTime();
host = host || createCompilerHost(options);
- var resolveModuleNamesWorker = host.resolveModuleNames ||
- (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedFileName; }); });
+ var resolveModuleNamesWorker = host.resolveModuleNames
+ ? (function (moduleNames, containingFile) { return host.resolveModuleNames(moduleNames, containingFile); })
+ : (function (moduleNames, containingFile) { return ts.map(moduleNames, function (moduleName) { return resolveModuleName(moduleName, containingFile, options, host).resolvedModule; }); });
var filesByName = ts.createFileMap(function (fileName) { return host.getCanonicalFileName(fileName); });
if (oldProgram) {
// check properties that can affect structure of the program or module resolution strategy
@@ -35455,7 +35600,8 @@ var ts;
getNodeCount: function () { return getDiagnosticsProducingTypeChecker().getNodeCount(); },
getIdentifierCount: function () { return getDiagnosticsProducingTypeChecker().getIdentifierCount(); },
getSymbolCount: function () { return getDiagnosticsProducingTypeChecker().getSymbolCount(); },
- getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); }
+ getTypeCount: function () { return getDiagnosticsProducingTypeChecker().getTypeCount(); },
+ getFileProcessingDiagnostics: function () { return fileProcessingDiagnostics; }
};
return program;
function getClassifiableNames() {
@@ -35482,6 +35628,7 @@ var ts;
}
// check if program source files has changed in the way that can affect structure of the program
var newSourceFiles = [];
+ var modifiedSourceFiles = [];
for (var _i = 0, _a = oldProgram.getSourceFiles(); _i < _a.length; _i++) {
var oldSourceFile = _a[_i];
var newSourceFile = host.getSourceFile(oldSourceFile.fileName, options.target);
@@ -35510,14 +35657,21 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, newSourceFile.fileName);
// ensure that module resolution results are still correct
for (var i = 0; i < moduleNames.length; ++i) {
- var oldResolution = ts.getResolvedModuleFileName(oldSourceFile, moduleNames[i]);
- if (oldResolution !== resolutions[i]) {
+ var newResolution = resolutions[i];
+ var oldResolution = ts.getResolvedModule(oldSourceFile, moduleNames[i]);
+ var resolutionChanged = oldResolution
+ ? !newResolution ||
+ oldResolution.resolvedFileName !== newResolution.resolvedFileName ||
+ !!oldResolution.isExternalLibraryImport !== !!newResolution.isExternalLibraryImport
+ : newResolution;
+ if (resolutionChanged) {
return false;
}
}
}
// pass the cache of module resolutions from the old source file
newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
+ modifiedSourceFiles.push(newSourceFile);
}
else {
// file has no changes - use it as is
@@ -35532,6 +35686,11 @@ var ts;
filesByName.set(file.fileName, file);
}
files = newSourceFiles;
+ fileProcessingDiagnostics = oldProgram.getFileProcessingDiagnostics();
+ for (var _c = 0; _c < modifiedSourceFiles.length; _c++) {
+ var modifiedFile = modifiedSourceFiles[_c];
+ fileProcessingDiagnostics.reattachFileDiagnostics(modifiedFile);
+ }
oldProgram.structureIsReused = true;
return true;
}
@@ -35633,8 +35792,9 @@ var ts;
ts.Debug.assert(!!sourceFile.bindDiagnostics);
var bindDiagnostics = sourceFile.bindDiagnostics;
var checkDiagnostics = typeChecker.getDiagnostics(sourceFile, cancellationToken);
- var programDiagnostics = diagnostics.getDiagnostics(sourceFile.fileName);
- return bindDiagnostics.concat(checkDiagnostics).concat(programDiagnostics);
+ var fileProcessingDiagnosticsInFile = fileProcessingDiagnostics.getDiagnostics(sourceFile.fileName);
+ var programDiagnosticsInFile = programDiagnostics.getDiagnostics(sourceFile.fileName);
+ return bindDiagnostics.concat(checkDiagnostics).concat(fileProcessingDiagnosticsInFile).concat(programDiagnosticsInFile);
});
}
function getDeclarationDiagnosticsForFile(sourceFile, cancellationToken) {
@@ -35649,7 +35809,8 @@ var ts;
}
function getOptionsDiagnostics() {
var allDiagnostics = [];
- ts.addRange(allDiagnostics, diagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, fileProcessingDiagnostics.getGlobalDiagnostics());
+ ts.addRange(allDiagnostics, programDiagnostics.getGlobalDiagnostics());
return ts.sortAndDeduplicateDiagnostics(allDiagnostics);
}
function getGlobalDiagnostics() {
@@ -35747,10 +35908,10 @@ var ts;
}
if (diagnostic) {
if (refFile !== undefined && refEnd !== undefined && refPos !== undefined) {
- diagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic.apply(void 0, [refFile, refPos, refEnd - refPos, diagnostic].concat(diagnosticArgument)));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic.apply(void 0, [diagnostic].concat(diagnosticArgument)));
}
}
}
@@ -35770,10 +35931,10 @@ var ts;
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
filesByName.set(canonicalName, file);
@@ -35803,10 +35964,10 @@ var ts;
var sourceFileName = useAbsolutePath ? ts.getNormalizedAbsolutePath(file.fileName, host.getCurrentDirectory()) : file.fileName;
if (canonicalName !== sourceFileName) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
- diagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
else {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
+ fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_name_0_differs_from_already_included_file_name_1_only_in_casing, fileName, sourceFileName));
}
}
}
@@ -35827,9 +35988,23 @@ var ts;
var resolutions = resolveModuleNamesWorker(moduleNames, file.fileName);
for (var i = 0; i < file.imports.length; ++i) {
var resolution = resolutions[i];
- ts.setResolvedModuleName(file, moduleNames[i], resolution);
+ ts.setResolvedModule(file, moduleNames[i], resolution);
if (resolution && !options.noResolve) {
- findModuleSourceFile(resolution, file.imports[i]);
+ var importedFile = findModuleSourceFile(resolution.resolvedFileName, file.imports[i]);
+ if (importedFile && resolution.isExternalLibraryImport) {
+ if (!ts.isExternalModule(importedFile)) {
+ var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
+ }
+ else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
+ var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ else if (importedFile.referencedFiles.length) {
+ var firstRef = importedFile.referencedFiles[0];
+ fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
+ }
+ }
}
}
}
@@ -35839,7 +36014,7 @@ var ts;
}
return;
function findModuleSourceFile(fileName, nameLiteral) {
- return findSourceFile(fileName, /* isDefaultLib */ false, file, nameLiteral.pos, nameLiteral.end);
+ return findSourceFile(fileName, /* isDefaultLib */ false, file, ts.skipTrivia(file.text, nameLiteral.pos), nameLiteral.end);
}
}
function computeCommonSourceDirectory(sourceFiles) {
@@ -35860,7 +36035,7 @@ var ts;
for (var i = 0, n = Math.min(commonPathComponents.length, sourcePathComponents.length); i < n; i++) {
if (commonPathComponents[i] !== sourcePathComponents[i]) {
if (i === 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
return;
}
// New common path found that is 0 -> i-1
@@ -35885,7 +36060,7 @@ var ts;
if (!ts.isDeclarationFile(sourceFile)) {
var absoluteSourceFilePath = host.getCanonicalFileName(ts.getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory));
if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
allFilesBelongToPath = false;
}
}
@@ -35896,44 +36071,44 @@ var ts;
function verifyCompilerOptions() {
if (options.isolatedModules) {
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules"));
}
if (options.noEmitOnError) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmitOnError", "isolatedModules"));
}
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "isolatedModules"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "outFile", "isolatedModules"));
}
}
if (options.inlineSourceMap) {
if (options.sourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceMap", "inlineSourceMap"));
}
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "mapRoot", "inlineSourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "sourceRoot", "inlineSourceMap"));
}
}
if (options.inlineSources) {
if (!options.sourceMap && !options.inlineSourceMap) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided));
}
}
if (options.out && options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "out", "outFile"));
}
if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) {
// Error to specify --mapRoot or --sourceRoot without mapSourceFiles
if (options.mapRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "mapRoot", "sourceMap"));
}
if (options.sourceRoot) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "sourceRoot", "sourceMap"));
}
return;
}
@@ -35942,22 +36117,22 @@ var ts;
var firstExternalModuleSourceFile = ts.forEach(files, function (f) { return ts.isExternalModule(f) ? f : undefined; });
if (options.isolatedModules) {
if (!options.module && languageVersion < 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES6_or_higher));
}
var firstNonExternalModuleSourceFile = ts.forEach(files, function (f) { return !ts.isExternalModule(f) && !ts.isDeclarationFile(f) ? f : undefined; });
if (firstNonExternalModuleSourceFile) {
var span = ts.getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);
- diagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided));
}
}
else if (firstExternalModuleSourceFile && languageVersion < 2 /* ES6 */ && !options.module) {
// We cannot use createDiagnosticFromNode because nodes do not have parents yet
var span = ts.getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator);
- diagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
+ programDiagnostics.add(ts.createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, ts.Diagnostics.Cannot_compile_modules_unless_the_module_flag_is_provided));
}
// Cannot specify module gen target when in es6 or above
if (options.module && languageVersion >= 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_compile_modules_into_commonjs_amd_system_or_umd_when_targeting_ES6_or_higher));
}
// there has to be common source directory if user specified --outdir || --sourceRoot
// if user specified --mapRoot, there needs to be common source directory if there would be multiple files being emitted
@@ -35982,25 +36157,25 @@ var ts;
}
if (options.noEmit) {
if (options.out) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "out"));
}
if (options.outFile) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outFile"));
}
if (options.outDir) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "outDir"));
}
if (options.declaration) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noEmit", "declaration"));
}
}
if (options.emitDecoratorMetadata &&
!options.experimentalDecorators) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "emitDecoratorMetadata", "experimentalDecorators"));
}
if (options.experimentalAsyncFunctions &&
options.target !== 2 /* ES6 */) {
- diagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
+ programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower));
}
}
}
@@ -36251,8 +36426,8 @@ var ts;
"node": 2 /* NodeJs */,
"classic": 1 /* Classic */
},
- experimental: true,
- description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6
+ description: ts.Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6,
+ error: ts.Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic
}
];
var optionNameMapCache;
@@ -36374,10 +36549,10 @@ var ts;
* Read tsconfig.json file
* @param fileName The path to the config file
*/
- function readConfigFile(fileName) {
+ function readConfigFile(fileName, readFile) {
var text = "";
try {
- text = ts.sys.readFile(fileName);
+ text = readFile(fileName);
}
catch (e) {
return { error: ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, e.message) };
@@ -38721,7 +38896,7 @@ var ts;
function findPrecedingToken(position, sourceFile, startNode) {
return find(startNode || sourceFile);
function findRightmostToken(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234 /* JsxText */) {
return n;
}
var children = n.getChildren();
@@ -38729,23 +38904,32 @@ var ts;
return candidate && findRightmostToken(candidate);
}
function find(n) {
- if (isToken(n)) {
+ if (isToken(n) || n.kind === 234 /* JsxText */) {
return n;
}
var children = n.getChildren();
for (var i = 0, len = children.length; i < len; i++) {
var child = children[i];
- if (nodeHasTokens(child)) {
- if (position <= child.end) {
- if (child.getStart(sourceFile) >= position) {
- // actual start of the node is past the position - previous token should be at the end of previous child
- var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i);
- return candidate && findRightmostToken(candidate);
- }
- else {
- // candidate should be in this node
- return find(child);
- }
+ // condition 'position < child.end' checks if child node end after the position
+ // in the example below this condition will be false for 'aaaa' and 'bbbb' and true for 'ccc'
+ // aaaa___bbbb___$__ccc
+ // after we found child node with end after the position we check if start of the node is after the position.
+ // if yes - then position is in the trivia and we need to look into the previous child to find the token in question.
+ // if no - position is in the node itself so we should recurse in it.
+ // NOTE: JsxText is a weird kind of node that can contain only whitespaces (since they are not counted as trivia).
+ // if this is the case - then we should assume that token in question is located in previous child.
+ if (position < child.end && (nodeHasTokens(child) || child.kind === 234 /* JsxText */)) {
+ var start = child.getStart(sourceFile);
+ var lookInPreviousChild = (start >= position) ||
+ (child.kind === 234 /* JsxText */ && start === child.end); // whitespace only JsxText
+ if (lookInPreviousChild) {
+ // actual start of the node is past the position - previous token should be at the end of previous child
+ var candidate = findRightmostChildNodeWithTokens(children, /*exclusiveStartPosition*/ i);
+ return candidate && findRightmostToken(candidate);
+ }
+ else {
+ // candidate should be in this node
+ return find(child);
}
}
}
@@ -39162,6 +39346,7 @@ var ts;
ScanAction[ScanAction["RescanGreaterThanToken"] = 1] = "RescanGreaterThanToken";
ScanAction[ScanAction["RescanSlashToken"] = 2] = "RescanSlashToken";
ScanAction[ScanAction["RescanTemplateToken"] = 3] = "RescanTemplateToken";
+ ScanAction[ScanAction["RescanJsxIdentifier"] = 4] = "RescanJsxIdentifier";
})(ScanAction || (ScanAction = {}));
function getFormattingScanner(sourceFile, startPos, endPos) {
scanner.setText(sourceFile.text);
@@ -39235,6 +39420,18 @@ var ts;
}
return false;
}
+ function shouldRescanJsxIdentifier(node) {
+ if (node.parent) {
+ switch (node.parent.kind) {
+ case 236 /* JsxAttribute */:
+ case 233 /* JsxOpeningElement */:
+ case 235 /* JsxClosingElement */:
+ case 232 /* JsxSelfClosingElement */:
+ return node.kind === 67 /* Identifier */;
+ }
+ }
+ return false;
+ }
function shouldRescanSlashToken(container) {
return container.kind === 10 /* RegularExpressionLiteral */;
}
@@ -39262,7 +39459,9 @@ var ts;
? 2 /* RescanSlashToken */
: shouldRescanTemplateToken(n)
? 3 /* RescanTemplateToken */
- : 0 /* Scan */;
+ : shouldRescanJsxIdentifier(n)
+ ? 4 /* RescanJsxIdentifier */
+ : 0 /* Scan */;
if (lastTokenInfo && expectedScanAction === lastScanAction) {
// readTokenInfo was called before with the same expected scan action.
// No need to re-scan text, return existing 'lastTokenInfo'
@@ -39293,6 +39492,10 @@ var ts;
currentToken = scanner.reScanTemplateToken();
lastScanAction = 3 /* RescanTemplateToken */;
}
+ else if (expectedScanAction === 4 /* RescanJsxIdentifier */ && currentToken === 67 /* Identifier */) {
+ currentToken = scanner.scanJsxIdentifier();
+ lastScanAction = 4 /* RescanJsxIdentifier */;
+ }
else {
lastScanAction = 0 /* Scan */;
}
@@ -39633,7 +39836,7 @@ var ts;
this.FunctionOpenBraceLeftTokenRange = formatting.Shared.TokenRange.AnyIncludingMultilineComments;
this.SpaceBeforeOpenBraceInFunction = new formatting.Rule(formatting.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext, Rules.IsBeforeBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */);
// Place a space before open brace in a TypeScript declaration that has braces as children (class, module, enum, etc)
- this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67 /* Identifier */, 3 /* MultiLineCommentTrivia */]);
+ this.TypeScriptOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([67 /* Identifier */, 3 /* MultiLineCommentTrivia */, 71 /* ClassKeyword */]);
this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new formatting.Rule(formatting.RuleDescriptor.create2(this.TypeScriptOpenBraceLeftTokenRange, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsTypeScriptDeclWithBlockContext, Rules.IsNotFormatOnEnter, Rules.IsSameLineTokenOrBeforeMultilineBlockContext), 2 /* Space */), 1 /* CanDeleteNewLines */);
// Place a space before open brace in a control flow construct
this.ControlOpenBraceLeftTokenRange = formatting.Shared.TokenRange.FromTokens([18 /* CloseParenToken */, 3 /* MultiLineCommentTrivia */, 77 /* DoKeyword */, 98 /* TryKeyword */, 83 /* FinallyKeyword */, 78 /* ElseKeyword */]);
@@ -39666,7 +39869,7 @@ var ts;
this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new formatting.Rule(formatting.RuleDescriptor.create1(36 /* MinusToken */, 36 /* MinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */));
this.SpaceAfterSubtractWhenFollowedByPredecrement = new formatting.Rule(formatting.RuleDescriptor.create1(36 /* MinusToken */, 41 /* MinusMinusToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsBinaryOpContext), 2 /* Space */));
this.NoSpaceBeforeComma = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 24 /* CommaToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100 /* VarKeyword */, 96 /* ThrowKeyword */, 90 /* NewKeyword */, 76 /* DeleteKeyword */, 92 /* ReturnKeyword */, 99 /* TypeOfKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
+ this.SpaceAfterCertainKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([100 /* VarKeyword */, 96 /* ThrowKeyword */, 90 /* NewKeyword */, 76 /* DeleteKeyword */, 92 /* ReturnKeyword */, 99 /* TypeOfKeyword */, 117 /* AwaitKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
this.SpaceAfterLetConstInVariableDeclaration = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([106 /* LetKeyword */, 72 /* ConstKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsStartOfVariableDeclarationList), 2 /* Space */));
this.NoSpaceBeforeOpenParenInFuncCall = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 17 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsFunctionCallOrNewContext, Rules.IsPreviousTokenNotComma), 8 /* Delete */));
this.SpaceAfterFunctionInFuncDecl = new formatting.Rule(formatting.RuleDescriptor.create3(85 /* FunctionKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsFunctionDeclContext), 2 /* Space */));
@@ -39690,7 +39893,7 @@ var ts;
// Use of module as a function call. e.g.: import m2 = module("m2");
this.NoSpaceAfterModuleImport = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.FromTokens([123 /* ModuleKeyword */, 125 /* RequireKeyword */]), 17 /* OpenParenToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// Add a space around certain TypeScript keywords
- this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113 /* AbstractKeyword */, 71 /* ClassKeyword */, 120 /* DeclareKeyword */, 75 /* DefaultKeyword */, 79 /* EnumKeyword */, 80 /* ExportKeyword */, 81 /* ExtendsKeyword */, 121 /* GetKeyword */, 104 /* ImplementsKeyword */, 87 /* ImportKeyword */, 105 /* InterfaceKeyword */, 123 /* ModuleKeyword */, 124 /* NamespaceKeyword */, 108 /* PrivateKeyword */, 110 /* PublicKeyword */, 109 /* ProtectedKeyword */, 127 /* SetKeyword */, 111 /* StaticKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
+ this.SpaceAfterCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([113 /* AbstractKeyword */, 71 /* ClassKeyword */, 120 /* DeclareKeyword */, 75 /* DefaultKeyword */, 79 /* EnumKeyword */, 80 /* ExportKeyword */, 81 /* ExtendsKeyword */, 121 /* GetKeyword */, 104 /* ImplementsKeyword */, 87 /* ImportKeyword */, 105 /* InterfaceKeyword */, 123 /* ModuleKeyword */, 124 /* NamespaceKeyword */, 108 /* PrivateKeyword */, 110 /* PublicKeyword */, 109 /* ProtectedKeyword */, 127 /* SetKeyword */, 111 /* StaticKeyword */, 130 /* TypeKeyword */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
this.SpaceBeforeCertainTypeScriptKeywords = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.Any, formatting.Shared.TokenRange.FromTokens([81 /* ExtendsKeyword */, 104 /* ImplementsKeyword */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
// Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" {
this.SpaceAfterModuleName = new formatting.Rule(formatting.RuleDescriptor.create1(9 /* StringLiteral */, 15 /* OpenBraceToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsModuleDeclContext), 2 /* Space */));
@@ -39718,20 +39921,8 @@ var ts;
this.SpaceBetweenYieldOrYieldStarAndOperand = new formatting.Rule(formatting.RuleDescriptor.create4(formatting.Shared.TokenRange.FromTokens([112 /* YieldKeyword */, 37 /* AsteriskToken */]), formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext, Rules.IsYieldOrYieldStarWithOperand), 2 /* Space */));
// Async-await
this.SpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116 /* AsyncKeyword */, 85 /* FunctionKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBetweenAsyncAndFunctionKeyword = new formatting.Rule(formatting.RuleDescriptor.create1(116 /* AsyncKeyword */, 85 /* FunctionKeyword */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117 /* AwaitKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterAwaitKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(117 /* AwaitKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- // Type alias declaration
- this.SpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130 /* TypeKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterTypeKeyword = new formatting.Rule(formatting.RuleDescriptor.create3(130 /* TypeKeyword */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// template string
this.SpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67 /* Identifier */, formatting.Shared.TokenRange.FromTokens([11 /* NoSubstitutionTemplateLiteral */, 12 /* TemplateHead */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBetweenTagAndTemplateString = new formatting.Rule(formatting.RuleDescriptor.create3(67 /* Identifier */, formatting.Shared.TokenRange.FromTokens([11 /* NoSubstitutionTemplateLiteral */, 12 /* TemplateHead */])), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- // union type
- this.SpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46 /* BarToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceBeforeBar = new formatting.Rule(formatting.RuleDescriptor.create3(46 /* BarToken */, formatting.Shared.TokenRange.Any), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
- this.SpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46 /* BarToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 2 /* Space */));
- this.NoSpaceAfterBar = new formatting.Rule(formatting.RuleDescriptor.create2(formatting.Shared.TokenRange.Any, 46 /* BarToken */), formatting.RuleOperation.create2(new formatting.RuleOperationContext(Rules.IsSameLineTokenContext), 8 /* Delete */));
// These rules are higher in priority than user-configurable rules.
this.HighPriorityCommonRules =
[
@@ -39758,11 +39949,8 @@ var ts;
this.NoSpaceBeforeOpenParenInFuncCall,
this.SpaceBeforeBinaryKeywordOperator, this.SpaceAfterBinaryKeywordOperator,
this.SpaceAfterVoidOperator,
- this.SpaceBetweenAsyncAndFunctionKeyword, this.NoSpaceBetweenAsyncAndFunctionKeyword,
- this.SpaceAfterAwaitKeyword, this.NoSpaceAfterAwaitKeyword,
- this.SpaceAfterTypeKeyword, this.NoSpaceAfterTypeKeyword,
- this.SpaceBetweenTagAndTemplateString, this.NoSpaceBetweenTagAndTemplateString,
- this.SpaceBeforeBar, this.NoSpaceBeforeBar, this.SpaceAfterBar, this.NoSpaceAfterBar,
+ this.SpaceBetweenAsyncAndFunctionKeyword,
+ this.SpaceBetweenTagAndTemplateString,
// TypeScript-specific rules
this.NoSpaceAfterConstructor, this.NoSpaceAfterModuleImport,
this.SpaceAfterCertainTypeScriptKeywords, this.SpaceBeforeCertainTypeScriptKeywords,
@@ -39857,6 +40045,8 @@ var ts;
case 180 /* ConditionalExpression */:
case 187 /* AsExpression */:
case 148 /* TypePredicate */:
+ case 156 /* UnionType */:
+ case 157 /* IntersectionType */:
return true;
// equals in binding elements: function foo([[x, y] = [1, 2]])
case 161 /* BindingElement */:
@@ -39967,6 +40157,7 @@ var ts;
Rules.NodeIsTypeScriptDeclWithBlockContext = function (node) {
switch (node.kind) {
case 212 /* ClassDeclaration */:
+ case 184 /* ClassExpression */:
case 213 /* InterfaceDeclaration */:
case 215 /* EnumDeclaration */:
case 153 /* TypeLiteral */:
@@ -40813,7 +41004,7 @@ var ts;
}
function getDynamicIndentation(node, nodeStartLine, indentation, delta) {
return {
- getIndentationForComment: function (kind) {
+ getIndentationForComment: function (kind, tokenIndentation) {
switch (kind) {
// preceding comment to the token that closes the indentation scope inherits the indentation from the scope
// .. {
@@ -40821,9 +41012,10 @@ var ts;
// }
case 16 /* CloseBraceToken */:
case 20 /* CloseBracketToken */:
+ case 18 /* CloseParenToken */:
return indentation + delta;
}
- return indentation;
+ return tokenIndentation !== -1 /* Unknown */ ? tokenIndentation : indentation;
},
getIndentationForToken: function (line, kind) {
if (nodeStartLine !== line && node.decorators) {
@@ -41025,8 +41217,12 @@ var ts;
processTrivia(currentTokenInfo.trailingTrivia, parent, childContextNode, dynamicIndentation);
}
if (indentToken) {
- var indentNextTokenOrTrivia = true;
+ var tokenIndentation = (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) ?
+ dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind) :
+ -1 /* Unknown */;
if (currentTokenInfo.leadingTrivia) {
+ var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind, tokenIndentation);
+ var indentNextTokenOrTrivia = true;
for (var _i = 0, _a = currentTokenInfo.leadingTrivia; _i < _a.length; _i++) {
var triviaItem = _a[_i];
if (!ts.rangeContainsRange(originalRange, triviaItem)) {
@@ -41034,14 +41230,12 @@ var ts;
}
switch (triviaItem.kind) {
case 3 /* MultiLineCommentTrivia */:
- var commentIndentation = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
indentMultilineComment(triviaItem, commentIndentation, /*firstLineIsIndented*/ !indentNextTokenOrTrivia);
indentNextTokenOrTrivia = false;
break;
case 2 /* SingleLineCommentTrivia */:
if (indentNextTokenOrTrivia) {
- var commentIndentation_1 = dynamicIndentation.getIndentationForComment(currentTokenInfo.token.kind);
- insertIndentation(triviaItem.pos, commentIndentation_1, /*lineAdded*/ false);
+ insertIndentation(triviaItem.pos, commentIndentation, /*lineAdded*/ false);
indentNextTokenOrTrivia = false;
}
break;
@@ -41052,8 +41246,7 @@ var ts;
}
}
// indent token only if is it is in target range and does not overlap with any error ranges
- if (isTokenInRange && !rangeContainsError(currentTokenInfo.token)) {
- var tokenIndentation = dynamicIndentation.getIndentationForToken(tokenStart.line, currentTokenInfo.token.kind);
+ if (tokenIndentation !== -1 /* Unknown */) {
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAdded);
lastIndentedLine = tokenStart.line;
indentationOnLastIndentedLine = tokenIndentation;
@@ -41704,6 +41897,7 @@ var ts;
function nodeContentIsAlwaysIndented(kind) {
switch (kind) {
case 212 /* ClassDeclaration */:
+ case 184 /* ClassExpression */:
case 213 /* InterfaceDeclaration */:
case 215 /* EnumDeclaration */:
case 214 /* TypeAliasDeclaration */:
@@ -41728,13 +41922,13 @@ var ts;
case 160 /* ArrayBindingPattern */:
case 159 /* ObjectBindingPattern */:
case 231 /* JsxElement */:
+ case 232 /* JsxSelfClosingElement */:
case 140 /* MethodSignature */:
case 145 /* CallSignature */:
case 146 /* ConstructSignature */:
case 136 /* Parameter */:
case 150 /* FunctionType */:
case 151 /* ConstructorType */:
- case 156 /* UnionType */:
case 158 /* ParenthesizedType */:
case 168 /* TaggedTemplateExpression */:
case 176 /* AwaitExpression */:
@@ -42858,7 +43052,7 @@ var ts;
var sourceMapText;
// Create a compilerHost object to allow the compiler to read and write files
var compilerHost = {
- getSourceFile: function (fileName, target) { return fileName === inputFileName ? sourceFile : undefined; },
+ getSourceFile: function (fileName, target) { return fileName === ts.normalizeSlashes(inputFileName) ? sourceFile : undefined; },
writeFile: function (name, text, writeByteOrderMark) {
if (ts.fileExtensionIs(name, ".map")) {
ts.Debug.assert(sourceMapText === undefined, "Unexpected multiple source map outputs for the file '" + name + "'");
@@ -43106,6 +43300,7 @@ var ts;
//
// export * from "mod"
// export {a as b} from "mod"
+ // export import i = require("mod")
while (token !== 1 /* EndOfFileToken */) {
if (token === 120 /* DeclareKeyword */) {
// declare module "mod"
@@ -43226,6 +43421,25 @@ var ts;
}
}
}
+ else if (token === 87 /* ImportKeyword */) {
+ token = scanner.scan();
+ if (token === 67 /* Identifier */ || ts.isKeyword(token)) {
+ token = scanner.scan();
+ if (token === 55 /* EqualsToken */) {
+ token = scanner.scan();
+ if (token === 125 /* RequireKeyword */) {
+ token = scanner.scan();
+ if (token === 17 /* OpenParenToken */) {
+ token = scanner.scan();
+ if (token === 9 /* StringLiteral */) {
+ // export import i = require("mod");
+ recordModuleName();
+ }
+ }
+ }
+ }
+ }
+ }
}
token = scanner.scan();
}
@@ -43929,9 +44143,9 @@ var ts;
// Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS|
// Skip this partial identifier and adjust the contextToken to the token that precedes it.
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
- var start_2 = new Date().getTime();
+ var start_4 = new Date().getTime();
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
- log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_2));
+ log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
}
// Find the node where completion is requested on.
// Also determine whether we are trying to complete with members of that node
@@ -44179,13 +44393,13 @@ var ts;
if (contextToken.kind === 9 /* StringLiteral */
|| contextToken.kind === 10 /* RegularExpressionLiteral */
|| ts.isTemplateLiteralKind(contextToken.kind)) {
- var start_3 = contextToken.getStart();
+ var start_5 = contextToken.getStart();
var end = contextToken.getEnd();
// To be "in" one of these literals, the position has to be:
// 1. entirely within the token text.
// 2. at the end position of an unterminated token.
// 3. at the end of a regular expression (due to trailing flags like '/foo/g').
- if (start_3 < position && position < end) {
+ if (start_5 < position && position < end) {
return true;
}
if (position === end) {
@@ -46349,6 +46563,7 @@ var ts;
result.push(getReferenceEntryFromNode(node));
}
break;
+ case 184 /* ClassExpression */:
case 212 /* ClassDeclaration */:
// Make sure the container belongs to the same class
// and has the appropriate static modifier from the original container.
@@ -48557,7 +48772,10 @@ var ts;
if ("getModuleResolutionsForFile" in this.shimHost) {
this.resolveModuleNames = function (moduleNames, containingFile) {
var resolutionsInFile = JSON.parse(_this.shimHost.getModuleResolutionsForFile(containingFile));
- return ts.map(moduleNames, function (name) { return ts.lookUp(resolutionsInFile, name); });
+ return ts.map(moduleNames, function (name) {
+ var result = ts.lookUp(resolutionsInFile, name);
+ return result ? { resolvedFileName: result } : undefined;
+ });
};
}
}
@@ -49104,7 +49322,11 @@ var ts;
var _this = this;
return this.forwardJSONCall("resolveModuleName('" + fileName + "')", function () {
var compilerOptions = JSON.parse(compilerOptionsJson);
- return ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ var result = ts.resolveModuleName(moduleName, ts.normalizeSlashes(fileName), compilerOptions, _this.host);
+ return {
+ resolvedFileName: result.resolvedModule ? result.resolvedModule.resolvedFileName : undefined,
+ failedLookupLocations: result.failedLookupLocations
+ };
});
};
CoreServicesShimObject.prototype.getPreProcessedFileInfo = function (fileName, sourceTextSnapshot) {
diff --git a/package.json b/package.json
index abd81e12f47..b743b04838d 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "typescript",
"author": "Microsoft Corp.",
"homepage": "http://typescriptlang.org/",
- "version": "1.6.0",
+ "version": "1.7.0",
"license": "Apache-2.0",
"description": "TypeScript is a language for application scale JavaScript development",
"keywords": [
diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index f2d1f070b2d..80a04129eed 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -965,7 +965,7 @@ namespace ts {
// Escape the name in the "require(...)" clause to ensure we find the right symbol.
let moduleName = escapeIdentifier(moduleReferenceLiteral.text);
- if (!moduleName) {
+ if (moduleName === undefined) {
return;
}
let isRelative = isExternalModuleNameRelative(moduleName);
@@ -14254,7 +14254,10 @@ namespace ts {
let symbols: Symbol[] = [];
let name = symbol.name;
forEach(getSymbolLinks(symbol).containingType.types, t => {
- symbols.push(getPropertyOfType(t, name));
+ let symbol = getPropertyOfType(t, name);
+ if (symbol) {
+ symbols.push(symbol);
+ }
});
return symbols;
}
diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts
index 1bc2c49e75d..7b776f8c6e1 100644
--- a/src/compiler/commandLineParser.ts
+++ b/src/compiler/commandLineParser.ts
@@ -243,8 +243,9 @@ namespace ts {
"node": ModuleResolutionKind.NodeJs,
"classic": ModuleResolutionKind.Classic
},
- description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6
- }
+ description: Diagnostics.Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6,
+ error: Diagnostics.Argument_for_moduleResolution_option_must_be_node_or_classic,
+ }
];
/* @internal */
@@ -327,7 +328,7 @@ namespace ts {
options[opt.name] = map[key];
}
else {
- errors.push(createCompilerDiagnostic(opt.error));
+ errors.push(createCompilerDiagnostic((opt).error));
}
}
}
@@ -440,7 +441,7 @@ namespace ts {
value = optType[key];
}
else {
- errors.push(createCompilerDiagnostic(opt.error));
+ errors.push(createCompilerDiagnostic((opt).error));
value = 0;
}
}
diff --git a/src/compiler/diagnosticInformationMap.generated.ts b/src/compiler/diagnosticInformationMap.generated.ts
index 4b2afc01d2f..ced0dd6d87c 100644
--- a/src/compiler/diagnosticInformationMap.generated.ts
+++ b/src/compiler/diagnosticInformationMap.generated.ts
@@ -431,6 +431,7 @@ namespace ts {
Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
+ Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
Import_declaration_0_is_using_private_name_1: { code: 4000, category: DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1: { code: 4004, category: DiagnosticCategory.Error, key: "Type parameter '{0}' of exported interface has or is using private name '{1}'." },
@@ -565,13 +566,14 @@ namespace ts {
Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: { code: 6060, category: DiagnosticCategory.Message, key: "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." },
NEWLINE: { code: 6061, category: DiagnosticCategory.Message, key: "NEWLINE" },
Argument_for_newLine_option_must_be_CRLF_or_LF: { code: 6062, category: DiagnosticCategory.Error, key: "Argument for '--newLine' option must be 'CRLF' or 'LF'." },
+ Argument_for_moduleResolution_option_must_be_node_or_classic: { code: 6063, category: DiagnosticCategory.Error, key: "Argument for '--moduleResolution' option must be 'node' or 'classic'." },
Specify_JSX_code_generation_Colon_preserve_or_react: { code: 6080, category: DiagnosticCategory.Message, key: "Specify JSX code generation: 'preserve' or 'react'" },
Argument_for_jsx_must_be_preserve_or_react: { code: 6081, category: DiagnosticCategory.Message, key: "Argument for '--jsx' must be 'preserve' or 'react'." },
Enables_experimental_support_for_ES7_decorators: { code: 6065, category: DiagnosticCategory.Message, key: "Enables experimental support for ES7 decorators." },
Enables_experimental_support_for_emitting_type_metadata_for_decorators: { code: 6066, category: DiagnosticCategory.Message, key: "Enables experimental support for emitting type metadata for decorators." },
Option_experimentalAsyncFunctions_cannot_be_specified_when_targeting_ES5_or_lower: { code: 6067, category: DiagnosticCategory.Message, key: "Option 'experimentalAsyncFunctions' cannot be specified when targeting ES5 or lower." },
Enables_experimental_support_for_ES7_async_functions: { code: 6068, category: DiagnosticCategory.Message, key: "Enables experimental support for ES7 async functions." },
- Specifies_module_resolution_strategy_Colon_node_Node_or_classic_TypeScript_pre_1_6: { code: 6069, category: DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) ." },
+ Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: { code: 6069, category: DiagnosticCategory.Message, key: "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." },
Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file: { code: 6070, category: DiagnosticCategory.Message, key: "Initializes a TypeScript project and creates a tsconfig.json file." },
Successfully_created_a_tsconfig_json_file: { code: 6071, category: DiagnosticCategory.Message, key: "Successfully created a tsconfig.json file." },
Suppress_excess_property_checks_for_object_literals: { code: 6072, category: DiagnosticCategory.Message, key: "Suppress excess property checks for object literals." },
diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json
index 01413735b34..aaac6284f7d 100644
--- a/src/compiler/diagnosticMessages.json
+++ b/src/compiler/diagnosticMessages.json
@@ -1700,11 +1700,11 @@
"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead.": {
"category": "Error",
"code": 2652
- },
+ },
"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'.": {
"category": "Error",
"code": 2653
- },
+ },
"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition.": {
"category": "Error",
"code": 2654
@@ -1712,7 +1712,11 @@
"Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition.": {
"category": "Error",
"code": 2655
- },
+ },
+ "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition.": {
+ "category": "Error",
+ "code": 2656
+ },
"Import declaration '{0}' is using private name '{1}'.": {
"category": "Error",
"code": 4000
@@ -2250,6 +2254,11 @@
"category": "Error",
"code": 6062
},
+ "Argument for '--moduleResolution' option must be 'node' or 'classic'.": {
+ "category": "Error",
+ "code": 6063
+ },
+
"Specify JSX code generation: 'preserve' or 'react'": {
"category": "Message",
"code": 6080
@@ -2274,7 +2283,7 @@
"category": "Message",
"code": 6068
},
- "Specifies module resolution strategy: 'node' (Node) or 'classic' (TypeScript pre 1.6) .": {
+ "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6).": {
"category": "Message",
"code": 6069
},
diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts
index db3b6e39977..56e996662c8 100644
--- a/src/compiler/emitter.ts
+++ b/src/compiler/emitter.ts
@@ -3220,22 +3220,32 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
}
}
- function ensureIdentifier(expr: Expression): Expression {
- if (expr.kind !== SyntaxKind.Identifier) {
- let identifier = createTempVariable(TempFlags.Auto);
- if (!canDefineTempVariablesInPlace) {
- recordTempDeclaration(identifier);
- }
- emitAssignment(identifier, expr);
- expr = identifier;
+ /**
+ * Ensures that there exists a declared identifier whose value holds the given expression.
+ * This function is useful to ensure that the expression's value can be read from in subsequent expressions.
+ * Unless 'reuseIdentifierExpressions' is false, 'expr' will be returned if it is just an identifier.
+ *
+ * @param expr the expression whose value needs to be bound.
+ * @param reuseIdentifierExpressions true if identifier expressions can simply be returned;
+ * false if it is necessary to always emit an identifier.
+ */
+ function ensureIdentifier(expr: Expression, reuseIdentifierExpressions: boolean): Expression {
+ if (expr.kind === SyntaxKind.Identifier && reuseIdentifierExpressions) {
+ return expr;
}
- return expr;
+
+ let identifier = createTempVariable(TempFlags.Auto);
+ if (!canDefineTempVariablesInPlace) {
+ recordTempDeclaration(identifier);
+ }
+ emitAssignment(identifier, expr);
+ return identifier;
}
function createDefaultValueCheck(value: Expression, defaultValue: Expression): Expression {
// The value expression will be evaluated twice, so for anything but a simple identifier
// we need to generate a temporary variable
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
// Return the expression 'value === void 0 ? defaultValue : value'
let equals = createSynthesizedNode(SyntaxKind.BinaryExpression);
equals.left = value;
@@ -3286,7 +3296,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
if (properties.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (let p of properties) {
if (p.kind === SyntaxKind.PropertyAssignment || p.kind === SyntaxKind.ShorthandPropertyAssignment) {
@@ -3301,7 +3311,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
if (elements.length !== 1) {
// For anything but a single element destructuring we need to generate a temporary
// to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
}
for (let i = 0; i < elements.length; i++) {
let e = elements[i];
@@ -3346,7 +3356,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
if (root.parent.kind !== SyntaxKind.ParenthesizedExpression) {
write("(");
}
- value = ensureIdentifier(value);
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ true);
emitDestructuringAssignment(target, value);
write(", ");
emit(value);
@@ -3356,7 +3366,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
}
}
- function emitBindingElement(target: BindingElement, value: Expression) {
+ function emitBindingElement(target: BindingElement | VariableDeclaration, value: Expression) {
if (target.initializer) {
// Combine value and initializer
value = value ? createDefaultValueCheck(value, target.initializer) : target.initializer;
@@ -3366,14 +3376,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
value = createVoidZero();
}
if (isBindingPattern(target.name)) {
- let pattern = target.name;
- let elements = pattern.elements;
- if (elements.length !== 1) {
- // For anything but a single element destructuring we need to generate a temporary
- // to ensure value is evaluated exactly once.
- value = ensureIdentifier(value);
+ const pattern = target.name;
+ const elements = pattern.elements;
+ const numElements = elements.length;
+
+ if (numElements !== 1) {
+ // For anything other than a single-element destructuring we need to generate a temporary
+ // to ensure value is evaluated exactly once. Additionally, if we have zero elements
+ // we need to emit *something* to ensure that in case a 'var' keyword was already emitted,
+ // so in that case, we'll intentionally create that temporary.
+ value = ensureIdentifier(value, /*reuseIdentifierExpressions*/ numElements !== 0);
}
- for (let i = 0; i < elements.length; i++) {
+
+ for (let i = 0; i < numElements; i++) {
let element = elements[i];
if (pattern.kind === SyntaxKind.ObjectBindingPattern) {
// Rewrite element to a declaration with an initializer that fetches property
@@ -3385,7 +3400,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi
// Rewrite element to a declaration that accesses array element at index i
emitBindingElement(element, createElementAccessExpression(value, createNumericLiteral(i)));
}
- else if (i === elements.length - 1) {
+ else if (i === numElements - 1) {
emitBindingElement(element, createSliceCall(value, i));
}
}
diff --git a/src/compiler/program.ts b/src/compiler/program.ts
index 3c1d3a97d16..7c9c7e103bc 100644
--- a/src/compiler/program.ts
+++ b/src/compiler/program.ts
@@ -12,7 +12,7 @@ namespace ts {
let emptyArray: any[] = [];
- export const version = "1.6.0";
+ export const version = "1.7.0";
export function findConfigFile(searchPath: string, moduleResolutionHost: ModuleResolutionHost): string {
let fileName = "tsconfig.json";
@@ -1028,8 +1028,8 @@ namespace ts {
const importedFile = findModuleSourceFile(resolution.resolvedFileName, file.imports[i]);
if (importedFile && resolution.isExternalLibraryImport) {
if (!isExternalModule(importedFile)) {
- let start = getTokenPosOfNode(file.imports[i], file)
- fileProcessingDiagnostics.add(createFileDiagnostic(file, start, file.imports[i].end - start, Diagnostics.File_0_is_not_a_module, importedFile.fileName));
+ let start = getTokenPosOfNode(file.imports[i], file)
+ fileProcessingDiagnostics.add(createFileDiagnostic(file, start, file.imports[i].end - start, Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
}
else if (!fileExtensionIs(importedFile.fileName, ".d.ts")) {
let start = getTokenPosOfNode(file.imports[i], file)
diff --git a/src/compiler/types.ts b/src/compiler/types.ts
index c16ec511d85..d2757bb7937 100644
--- a/src/compiler/types.ts
+++ b/src/compiler/types.ts
@@ -2116,17 +2116,30 @@ namespace ts {
}
/* @internal */
- export interface CommandLineOption {
+ export interface CommandLineOptionBase {
name: string;
type: string | Map; // "string", "number", "boolean", or an object literal mapping named values to actual values
isFilePath?: boolean; // True if option value is a path or fileName
shortName?: string; // A short mnemonic for convenience - for instance, 'h' can be used in place of 'help'
description?: DiagnosticMessage; // The message describing what the command line switch does
paramType?: DiagnosticMessage; // The name to be used for a non-boolean option's parameter
- error?: DiagnosticMessage; // The error given when the argument does not fit a customized 'type'
experimental?: boolean;
}
+ /* @internal */
+ export interface CommandLineOptionOfPrimitiveType extends CommandLineOptionBase {
+ type: string; // "string" | "number" | "boolean"
+ }
+
+ /* @internal */
+ export interface CommandLineOptionOfCustomType extends CommandLineOptionBase {
+ type: Map; // an object literal mapping named values to actual values
+ error: DiagnosticMessage; // The error given when the argument does not fit a customized 'type'
+ }
+
+ /* @internal */
+ export type CommandLineOption = CommandLineOptionOfCustomType | CommandLineOptionOfPrimitiveType;
+
/* @internal */
export const enum CharacterCodes {
nullCharacter = 0,
diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts
index 87e22e08cfa..a24ed30ae14 100644
--- a/src/harness/compilerRunner.ts
+++ b/src/harness/compilerRunner.ts
@@ -44,10 +44,10 @@ class CompilerBaselineRunner extends RunnerBase {
// Everything declared here should be cleared out in the "after" callback.
let justName: string;
let content: string;
- let testCaseContent: { settings: Harness.TestCaseParser.CompilerSetting[]; testUnitData: Harness.TestCaseParser.TestUnitData[]; };
+ let testCaseContent: { settings: Harness.TestCaseParser.CompilerSettings; testUnitData: Harness.TestCaseParser.TestUnitData[]; };
let units: Harness.TestCaseParser.TestUnitData[];
- let tcSettings: Harness.TestCaseParser.CompilerSetting[];
+ let tcSettings: Harness.TestCaseParser.CompilerSettings;
let lastUnit: Harness.TestCaseParser.TestUnitData;
let rootDir: string;
@@ -61,15 +61,12 @@ class CompilerBaselineRunner extends RunnerBase {
let otherFiles: { unitName: string; content: string }[];
let harnessCompiler: Harness.Compiler.HarnessCompiler;
- let createNewInstance = false;
-
before(() => {
justName = fileName.replace(/^.*[\\\/]/, ""); // strips the fileName from the path.
content = Harness.IO.readFile(fileName);
testCaseContent = Harness.TestCaseParser.makeUnitsFromTest(content, fileName);
units = testCaseContent.testUnitData;
tcSettings = testCaseContent.settings;
- createNewInstance = false;
lastUnit = units[units.length - 1];
rootDir = lastUnit.originalFilePath.indexOf("conformance") === -1 ? "tests/cases/compiler/" : lastUnit.originalFilePath.substring(0, lastUnit.originalFilePath.lastIndexOf("/")) + "/";
harnessCompiler = Harness.Compiler.getCompiler();
@@ -100,27 +97,6 @@ class CompilerBaselineRunner extends RunnerBase {
});
});
- beforeEach(() => {
- /* The compiler doesn't handle certain flags flipping during a single compilation setting. Tests on these flags will need
- a fresh compiler instance for themselves and then create a fresh one for the next test. Would be nice to get dev fixes
- eventually to remove this limitation. */
- for (let i = 0; i < tcSettings.length; ++i) {
- // noImplicitAny is passed to getCompiler, but target is just passed in the settings blob to setCompilerSettings
- if (!createNewInstance && (tcSettings[i].flag == "noimplicitany" || tcSettings[i].flag === "target")) {
- harnessCompiler = Harness.Compiler.getCompiler();
- harnessCompiler.setCompilerSettings(tcSettings);
- createNewInstance = true;
- }
- }
- });
-
- afterEach(() => {
- if (createNewInstance) {
- harnessCompiler = Harness.Compiler.getCompiler();
- createNewInstance = false;
- }
- });
-
after(() => {
// Mocha holds onto the closure environment of the describe callback even after the test is done.
// Therefore we have to clean out large objects after the test is done.
@@ -402,10 +378,6 @@ class CompilerBaselineRunner extends RunnerBase {
else {
this.tests.forEach(test => this.checkTestCodeOutput(test));
}
-
- describe("Cleanup after compiler baselines", () => {
- let harnessCompiler = Harness.Compiler.getCompiler();
- });
});
}
diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts
index 5bfac3d9bb5..1d333a29ccb 100644
--- a/src/harness/fourslash.ts
+++ b/src/harness/fourslash.ts
@@ -29,13 +29,13 @@ module FourSlash {
fileName: string;
version: number;
// File-specific options (name/value pairs)
- fileOptions: { [index: string]: string; };
+ fileOptions: Harness.TestCaseParser.CompilerSettings;
}
// Represents a set of parsed source files and options
export interface FourSlashData {
// Global options (name/value pairs)
- globalOptions: { [index: string]: string; };
+ globalOptions: Harness.TestCaseParser.CompilerSettings;
files: FourSlashFile[];
@@ -117,89 +117,17 @@ module FourSlash {
// Add cases into convertGlobalOptionsToCompilationsSettings function for the compiler to acknowledge such option from meta data
let metadataOptionNames = {
baselineFile: "BaselineFile",
- declaration: "declaration",
emitThisFile: "emitThisFile", // This flag is used for testing getEmitOutput feature. It allows test-cases to indicate what file to be output in multiple files project
fileName: "Filename",
- mapRoot: "mapRoot",
- module: "module",
- out: "out",
- outFile: "outFile",
- outDir: "outDir",
- sourceMap: "sourceMap",
- sourceRoot: "sourceRoot",
- allowNonTsExtensions: "allowNonTsExtensions",
resolveReference: "ResolveReference", // This flag is used to specify entry file for resolve file references. The flag is only allow once per test file
- jsx: "jsx",
};
// List of allowed metadata names
let fileMetadataNames = [metadataOptionNames.fileName, metadataOptionNames.emitThisFile, metadataOptionNames.resolveReference];
- let globalMetadataNames = [metadataOptionNames.allowNonTsExtensions, metadataOptionNames.baselineFile, metadataOptionNames.declaration,
- metadataOptionNames.mapRoot, metadataOptionNames.module, metadataOptionNames.out,metadataOptionNames.outFile,
- metadataOptionNames.outDir, metadataOptionNames.sourceMap, metadataOptionNames.sourceRoot, metadataOptionNames.jsx];
- function convertGlobalOptionsToCompilerOptions(globalOptions: { [idx: string]: string }): ts.CompilerOptions {
+ function convertGlobalOptionsToCompilerOptions(globalOptions: Harness.TestCaseParser.CompilerSettings): ts.CompilerOptions {
let settings: ts.CompilerOptions = { target: ts.ScriptTarget.ES5 };
- // Convert all property in globalOptions into ts.CompilationSettings
- for (let prop in globalOptions) {
- if (globalOptions.hasOwnProperty(prop)) {
- switch (prop) {
- case metadataOptionNames.allowNonTsExtensions:
- settings.allowNonTsExtensions = globalOptions[prop] === "true";
- break;
- case metadataOptionNames.declaration:
- settings.declaration = globalOptions[prop] === "true";
- break;
- case metadataOptionNames.mapRoot:
- settings.mapRoot = globalOptions[prop];
- break;
- case metadataOptionNames.module:
- // create appropriate external module target for CompilationSettings
- switch (globalOptions[prop]) {
- case "AMD":
- settings.module = ts.ModuleKind.AMD;
- break;
- case "CommonJS":
- settings.module = ts.ModuleKind.CommonJS;
- break;
- default:
- ts.Debug.assert(globalOptions[prop] === undefined || globalOptions[prop] === "None");
- settings.module = ts.ModuleKind.None;
- break;
- }
- break;
- case metadataOptionNames.out:
- settings.out = globalOptions[prop];
- break;
- case metadataOptionNames.outFile:
- settings.outFile = globalOptions[prop];
- break;
- case metadataOptionNames.outDir:
- settings.outDir = globalOptions[prop];
- break;
- case metadataOptionNames.sourceMap:
- settings.sourceMap = globalOptions[prop] === "true";
- break;
- case metadataOptionNames.sourceRoot:
- settings.sourceRoot = globalOptions[prop];
- break;
- case metadataOptionNames.jsx:
- switch (globalOptions[prop].toLowerCase()) {
- case "react":
- settings.jsx = ts.JsxEmit.React;
- break;
- case "preserve":
- settings.jsx = ts.JsxEmit.Preserve;
- break;
- default:
- ts.Debug.assert(globalOptions[prop] === undefined || globalOptions[prop] === "None");
- settings.jsx = ts.JsxEmit.None;
- break;
- }
- break;
- }
- }
- }
+ Harness.Compiler.setCompilerOptionsFromHarnessSetting(globalOptions, settings);
return settings;
}
@@ -2514,12 +2442,16 @@ module FourSlash {
// Comment line, check for global/file @options and record them
let match = optionRegex.exec(line.substr(2));
if (match) {
- let globalMetadataNamesIndex = globalMetadataNames.indexOf(match[1]);
let fileMetadataNamesIndex = fileMetadataNames.indexOf(match[1]);
- if (globalMetadataNamesIndex === -1) {
- if (fileMetadataNamesIndex === -1) {
- throw new Error(`Unrecognized metadata name "${match[1]}". Available global metadata names are: ${globalMetadataNames.join(", ")}; file metadata names are: ${fileMetadataNames.join(", ")}`);
- } else if (fileMetadataNamesIndex === fileMetadataNames.indexOf(metadataOptionNames.fileName)) {
+ if (fileMetadataNamesIndex === -1) {
+ // Check if the match is already existed in the global options
+ if (globalOptions[match[1]] !== undefined) {
+ throw new Error("Global Option : '" + match[1] + "' is already existed");
+ }
+ globalOptions[match[1]] = match[2];
+ }
+ else {
+ if (fileMetadataNamesIndex === fileMetadataNames.indexOf(metadataOptionNames.fileName)) {
// Found an @FileName directive, if this is not the first then create a new subfile
if (currentFileContent) {
let file = parseFileContent(currentFileContent, currentFileName, markerPositions, markers, ranges);
@@ -2540,12 +2472,6 @@ module FourSlash {
// Add other fileMetadata flag
currentFileOptions[match[1]] = match[2];
}
- } else {
- // Check if the match is already existed in the global options
- if (globalOptions[match[1]] !== undefined) {
- throw new Error("Global Option : '" + match[1] + "' is already existed");
- }
- globalOptions[match[1]] = match[2];
}
}
// TODO: should be '==='?
diff --git a/src/harness/harness.ts b/src/harness/harness.ts
index 9eb1cd45f53..bd7072177df 100644
--- a/src/harness/harness.ts
+++ b/src/harness/harness.ts
@@ -468,7 +468,7 @@ module Harness {
export const fileExists: typeof IO.fileExists = fso.FileExists;
export const log: typeof IO.log = global.WScript && global.WScript.StdOut.WriteLine;
export const readDirectory: typeof IO.readDirectory = (path, extension, exclude) => ts.sys.readDirectory(path, extension, exclude);
-
+
export function createDirectory(path: string) {
if (directoryExists(path)) {
fso.CreateFolder(path);
@@ -739,7 +739,7 @@ module Harness {
export function readDirectory(path: string, extension?: string, exclude?: string[]) {
return listFiles(path).filter(f => !extension || ts.fileExtensionIs(f, extension));
- }
+ }
}
}
@@ -861,9 +861,9 @@ module Harness {
}
export function createSourceFileAndAssertInvariants(
- fileName: string,
- sourceText: string,
- languageVersion: ts.ScriptTarget) {
+ fileName: string,
+ sourceText: string,
+ languageVersion: ts.ScriptTarget) {
// We'll only assert inletiants outside of light mode.
const shouldAssertInvariants = !Harness.lightMode;
@@ -893,13 +893,13 @@ module Harness {
}
export function createCompilerHost(
- inputFiles: { unitName: string; content: string; }[],
- writeFile: (fn: string, contents: string, writeByteOrderMark: boolean) => void,
- scriptTarget: ts.ScriptTarget,
- useCaseSensitiveFileNames: boolean,
- // the currentDirectory is needed for rwcRunner to passed in specified current directory to compiler host
- currentDirectory?: string,
- newLineKind?: ts.NewLineKind): ts.CompilerHost {
+ inputFiles: { unitName: string; content: string; }[],
+ writeFile: (fn: string, contents: string, writeByteOrderMark: boolean) => void,
+ scriptTarget: ts.ScriptTarget,
+ useCaseSensitiveFileNames: boolean,
+ // the currentDirectory is needed for rwcRunner to passed in specified current directory to compiler host
+ currentDirectory?: string,
+ newLineKind?: ts.NewLineKind): ts.CompilerHost {
// Local get canonical file name function, that depends on passed in parameter for useCaseSensitiveFileNames
function getCanonicalFileName(fileName: string): string {
@@ -917,7 +917,7 @@ module Harness {
}
};
inputFiles.forEach(register);
-
+
function getSourceFile(fn: string, languageVersion: ts.ScriptTarget) {
fn = ts.normalizePath(fn);
if (Object.prototype.hasOwnProperty.call(filemap, getCanonicalFileName(fn))) {
@@ -959,16 +959,79 @@ module Harness {
};
}
+ interface HarnessOptions {
+ useCaseSensitiveFileNames?: boolean;
+ includeBuiltFile?: string;
+ baselineFile?: string;
+ }
+
+ // Additional options not already in ts.optionDeclarations
+ const harnessOptionDeclarations: ts.CommandLineOption[] = [
+ { name: "allowNonTsExtensions", type: "boolean" },
+ { name: "useCaseSensitiveFileNames", type: "boolean" },
+ { name: "baselineFile", type: "string" },
+ { name: "includeBuiltFile", type: "string" },
+ { name: "fileName", type: "string" },
+ { name: "noErrorTruncation", type: "boolean" }
+ ];
+
+ let optionsIndex: ts.Map;
+ function getCommandLineOption(name: string): ts.CommandLineOption {
+ if (!optionsIndex) {
+ optionsIndex = {};
+ let optionDeclarations = harnessOptionDeclarations.concat(ts.optionDeclarations);
+ for (let option of optionDeclarations) {
+ optionsIndex[option.name.toLowerCase()] = option;
+ }
+ }
+ return ts.lookUp(optionsIndex, name.toLowerCase());
+ }
+
+ export function setCompilerOptionsFromHarnessSetting(settings: Harness.TestCaseParser.CompilerSettings, options: ts.CompilerOptions & HarnessOptions): void {
+ for (let name in settings) {
+ if (settings.hasOwnProperty(name)) {
+ let value = settings[name];
+ if (value === undefined) {
+ throw new Error(`Cannot have undefined value for compiler option '${name}'.`);
+ }
+ let option = getCommandLineOption(name);
+ if (option) {
+ switch (option.type) {
+ case "boolean":
+ options[option.name] = value.toLowerCase() === "true";
+ break;
+ case "string":
+ options[option.name] = value;
+ break;
+ // If not a primitive, the possible types are specified in what is effectively a map of options.
+ default:
+ let map = >option.type;
+ let key = value.toLowerCase();
+ if (ts.hasProperty(map, key)) {
+ options[option.name] = map[key];
+ }
+ else {
+ throw new Error(`Unknown value '${value}' for compiler option '${name}'.`);
+ }
+ }
+ }
+ else {
+ throw new Error(`Unknown compiler option '${name}'.`);
+ }
+ }
+ }
+ }
+
export class HarnessCompiler {
private inputFiles: { unitName: string; content: string }[] = [];
private compileOptions: ts.CompilerOptions;
- private settings: Harness.TestCaseParser.CompilerSetting[] = [];
+ private settings: Harness.TestCaseParser.CompilerSettings = {};
private lastErrors: ts.Diagnostic[];
public reset() {
this.inputFiles = [];
- this.settings = [];
+ this.settings = {};
this.lastErrors = [];
}
@@ -976,11 +1039,7 @@ module Harness {
return this.lastErrors;
}
- public setCompilerSettingsFromOptions(tcSettings: ts.CompilerOptions) {
- this.settings = Object.keys(tcSettings).map(k => ({ flag: k, value: (tcSettings)[k] }));
- }
-
- public setCompilerSettings(tcSettings: Harness.TestCaseParser.CompilerSetting[]) {
+ public setCompilerSettings(tcSettings: Harness.TestCaseParser.CompilerSettings) {
this.settings = tcSettings;
}
@@ -1016,7 +1075,7 @@ module Harness {
otherFiles: { unitName: string; content: string }[],
onComplete: (result: CompilerResult, program: ts.Program) => void,
settingsCallback?: (settings: ts.CompilerOptions) => void,
- options?: ts.CompilerOptions,
+ options?: ts.CompilerOptions & HarnessOptions,
// Current directory is needed for rwcRunner to be able to use currentDirectory defined in json file
currentDirectory?: string) {
@@ -1025,21 +1084,27 @@ module Harness {
options.module = options.module || ts.ModuleKind.None;
options.newLine = options.newLine || ts.NewLineKind.CarriageReturnLineFeed;
options.noErrorTruncation = true;
+ options.skipDefaultLibCheck = true;
if (settingsCallback) {
settingsCallback(null);
}
let newLine = "\r\n";
- options.skipDefaultLibCheck = true;
+
+ // Parse settings
+ setCompilerOptionsFromHarnessSetting(this.settings, options);
// Files from built\local that are requested by test "@includeBuiltFiles" to be in the context.
// Treat them as library files, so include them in build, but not in baselines.
let includeBuiltFiles: { unitName: string; content: string }[] = [];
+ if (options.includeBuiltFile) {
+ let builtFileName = libFolder + options.includeBuiltFile;
+ includeBuiltFiles.push({ unitName: builtFileName, content: normalizeLineEndings(IO.readFile(builtFileName), newLine) });
+ }
- let useCaseSensitiveFileNames = Harness.IO.useCaseSensitiveFileNames();
- this.settings.forEach(setCompilerOptionForSetting);
-
+ let useCaseSensitiveFileNames = options.useCaseSensitiveFileNames !== undefined ? options.useCaseSensitiveFileNames : Harness.IO.useCaseSensitiveFileNames();
+
let fileOutputs: GeneratedFile[] = [];
let programFiles = inputFiles.concat(includeBuiltFiles).map(file => file.unitName);
@@ -1059,204 +1124,6 @@ module Harness {
onComplete(result, program);
return options;
-
- function setCompilerOptionForSetting(setting: Harness.TestCaseParser.CompilerSetting) {
- switch (setting.flag.toLowerCase()) {
- // "fileName", "comments", "declaration", "module", "nolib", "sourcemap", "target", "out", "outdir", "noimplicitany", "noresolve"
- case "module":
- case "modulegentarget":
- if (typeof setting.value === "string") {
- if (setting.value.toLowerCase() === "amd") {
- options.module = ts.ModuleKind.AMD;
- } else if (setting.value.toLowerCase() === "umd") {
- options.module = ts.ModuleKind.UMD;
- } else if (setting.value.toLowerCase() === "commonjs") {
- options.module = ts.ModuleKind.CommonJS;
- if (options.moduleResolution === undefined) {
- // TODO: currently we have relative module names pretty much in all tests that use CommonJS module target.
- // Such names could never be resolved in Node however classic resolution strategy still can handle them.
- // Changing all module names to relative will be a major overhaul in code (but we'll do this anyway) so as a temporary measure
- // we'll use ts.ModuleResolutionKind.Classic for CommonJS modules.
- options.moduleResolution = ts.ModuleResolutionKind.Classic;
- }
- } else if (setting.value.toLowerCase() === "system") {
- options.module = ts.ModuleKind.System;
- } else if (setting.value.toLowerCase() === "unspecified") {
- options.module = ts.ModuleKind.None;
- } else {
- throw new Error("Unknown module type " + setting.value);
- }
- } else {
- options.module = setting.value;
- }
- break;
- case "moduleresolution":
- switch((setting.value || "").toLowerCase()) {
- case "classic":
- options.moduleResolution = ts.ModuleResolutionKind.Classic;
- break;
- case "node":
- options.moduleResolution = ts.ModuleResolutionKind.NodeJs;
- break;
- }
- break;
- case "target":
- case "codegentarget":
- if (typeof setting.value === "string") {
- if (setting.value.toLowerCase() === "es3") {
- options.target = ts.ScriptTarget.ES3;
- } else if (setting.value.toLowerCase() === "es5") {
- options.target = ts.ScriptTarget.ES5;
- } else if (setting.value.toLowerCase() === "es6") {
- options.target = ts.ScriptTarget.ES6;
- } else {
- throw new Error("Unknown compile target " + setting.value);
- }
- } else {
- options.target = setting.value;
- }
- break;
-
- case "experimentaldecorators":
- options.experimentalDecorators = setting.value === "true";
- break;
-
- case "emitdecoratormetadata":
- options.emitDecoratorMetadata = setting.value === "true";
- break;
-
- case "experimentalasyncfunctions":
- options.experimentalAsyncFunctions = setting.value === "true";
- break;
-
- case "noemithelpers":
- options.noEmitHelpers = setting.value === "true";
- break;
-
- case "noemitonerror":
- options.noEmitOnError = setting.value === "true";
- break;
-
- case "noresolve":
- options.noResolve = setting.value === "true";
- break;
-
- case "noimplicitany":
- options.noImplicitAny = setting.value === "true";
- break;
-
- case "nolib":
- options.noLib = setting.value === "true";
- break;
-
- case "out":
- case "outfileoption":
- options.out = setting.value;
- break;
-
- case "outfile":
- options.outFile = setting.value;
- break;
-
- case "outdiroption":
- case "outdir":
- options.outDir = setting.value;
- break;
-
- case "skipdefaultlibcheck":
- options.skipDefaultLibCheck = setting.value === "true";
- break;
-
- case "sourceroot":
- options.sourceRoot = setting.value;
- break;
-
- case "maproot":
- options.mapRoot = setting.value;
- break;
-
- case "sourcemap":
- options.sourceMap = setting.value === "true";
- break;
-
- case "declaration":
- options.declaration = setting.value === "true";
- break;
-
- case "newline":
- if (setting.value.toLowerCase() === "crlf") {
- options.newLine = ts.NewLineKind.CarriageReturnLineFeed;
- }
- else if (setting.value.toLowerCase() === "lf") {
- options.newLine = ts.NewLineKind.LineFeed;
- }
- else {
- throw new Error("Unknown option for newLine: " + setting.value);
- }
- break;
-
- case "comments":
- options.removeComments = setting.value === "false";
- break;
-
- case "stripinternal":
- options.stripInternal = setting.value === "true";
-
- case "usecasesensitivefilenames":
- useCaseSensitiveFileNames = setting.value === "true";
- break;
-
- case "filename":
- // Not supported yet
- break;
-
- case "emitbom":
- options.emitBOM = setting.value === "true";
- break;
-
- case "errortruncation":
- options.noErrorTruncation = setting.value === "false";
- break;
-
- case "preserveconstenums":
- options.preserveConstEnums = setting.value === "true";
- break;
-
- case "isolatedmodules":
- options.isolatedModules = setting.value === "true";
- break;
-
- case "suppressexcesspropertyerrors":
- options.suppressExcessPropertyErrors = setting.value === "true";
- break;
-
- case "suppressimplicitanyindexerrors":
- options.suppressImplicitAnyIndexErrors = setting.value === "true";
- break;
-
- case "includebuiltfile":
- let builtFileName = libFolder + setting.value;
- includeBuiltFiles.push({ unitName: builtFileName, content: normalizeLineEndings(IO.readFile(builtFileName), newLine) });
- break;
-
- case "inlinesourcemap":
- options.inlineSourceMap = setting.value === "true";
- break;
-
- case "inlinesources":
- options.inlineSources = setting.value === "true";
- break;
-
- case "jsx":
- options.jsx = setting.value.toLowerCase() === "react" ? ts.JsxEmit.React :
- setting.value.toLowerCase() === "preserve" ? ts.JsxEmit.Preserve :
- ts.JsxEmit.None;
- break;
-
- default:
- throw new Error("Unsupported compiler setting " + setting.flag);
- }
- }
}
public compileDeclarationFiles(inputFiles: { unitName: string; content: string; }[],
@@ -1581,9 +1448,8 @@ module Harness {
export module TestCaseParser {
/** all the necessary information to set the right compiler settings */
- export interface CompilerSetting {
- flag: string;
- value: string;
+ export interface CompilerSettings {
+ [name: string]: string;
}
/** All the necessary information to turn a multi file test into useful units for later compilation */
@@ -1598,30 +1464,19 @@ module Harness {
// Regex for parsing options in the format "@Alpha: Value of any sort"
let optionRegex = /^[\/]{2}\s*@(\w+)\s*:\s*(\S*)/gm; // multiple matches on multiple lines
- // List of allowed metadata names
- let fileMetadataNames = ["filename", "comments", "declaration", "module",
- "nolib", "sourcemap", "target", "out", "outdir", "noemithelpers", "noemitonerror",
- "noimplicitany", "noresolve", "newline", "normalizenewline", "emitbom",
- "errortruncation", "usecasesensitivefilenames", "preserveconstenums",
- "includebuiltfile", "suppressexcesspropertyerrors", "suppressimplicitanyindexerrors", "stripinternal",
- "isolatedmodules", "inlinesourcemap", "maproot", "sourceroot",
- "inlinesources", "emitdecoratormetadata", "experimentaldecorators",
- "skipdefaultlibcheck", "jsx"];
-
- function extractCompilerSettings(content: string): CompilerSetting[] {
-
- let opts: CompilerSetting[] = [];
+ function extractCompilerSettings(content: string): CompilerSettings {
+ let opts: CompilerSettings = {};
let match: RegExpExecArray;
while ((match = optionRegex.exec(content)) != null) {
- opts.push({ flag: match[1], value: match[2] });
+ opts[match[1]] = match[2];
}
return opts;
}
/** Given a test file containing // @FileName directives, return an array of named units of code to be added to an existing compiler instance */
- export function makeUnitsFromTest(code: string, fileName: string): { settings: CompilerSetting[]; testUnitData: TestUnitData[]; } {
+ export function makeUnitsFromTest(code: string, fileName: string): { settings: CompilerSettings; testUnitData: TestUnitData[]; } {
let settings = extractCompilerSettings(code);
// List of all the subfiles we've parsed out
diff --git a/src/harness/instrumenter.ts b/src/harness/instrumenter.ts
index 1c9b9af78d2..b1b1750b8a8 100644
--- a/src/harness/instrumenter.ts
+++ b/src/harness/instrumenter.ts
@@ -3,11 +3,15 @@ var fs: any = require('fs');
var path: any = require('path');
function instrumentForRecording(fn: string, tscPath: string) {
- instrument(tscPath, 'ts.sys = Playback.wrapSystem(ts.sys); ts.sys.startRecord("' + fn + '");', 'ts.sys.endRecord();');
+ instrument(tscPath, `
+ts.sys = Playback.wrapSystem(ts.sys);
+ts.sys.startRecord("${ fn }");`, `ts.sys.endRecord();`);
}
function instrumentForReplay(logFilename: string, tscPath: string) {
- instrument(tscPath, 'ts.sys = Playback.wrapSystem(ts.sys); ts.sys.startReplay("' + logFilename + '");');
+ instrument(tscPath, `
+ts.sys = Playback.wrapSystem(ts.sys);
+ts.sys.startReplay("${ logFilename }");`);
}
function instrument(tscPath: string, prepareCode: string, cleanupCode: string = '') {
diff --git a/src/harness/loggedIO.ts b/src/harness/loggedIO.ts
index 5a572e220b3..d0801612500 100644
--- a/src/harness/loggedIO.ts
+++ b/src/harness/loggedIO.ts
@@ -59,6 +59,12 @@ interface IOLog {
path: string;
result?: string;
}[];
+ directoriesRead: {
+ path: string,
+ extension: string,
+ exclude: string[],
+ result: string[]
+ }[];
}
interface PlaybackControl {
@@ -95,12 +101,15 @@ module Playback {
export interface PlaybackIO extends Harness.IO, PlaybackControl { }
+ export interface PlaybackSystem extends ts.System, PlaybackControl { }
+
function createEmptyLog(): IOLog {
return {
timestamp: (new Date()).toString(),
arguments: [],
currentDirectory: "",
filesRead: [],
+ directoriesRead: [],
filesWritten: [],
filesDeleted: [],
filesAppended: [],
@@ -114,8 +123,10 @@ module Playback {
};
}
- function initWrapper(wrapper: PlaybackControl, underlying: T) {
- Object.keys(underlying).forEach(prop => {
+ function initWrapper(wrapper: PlaybackSystem, underlying: ts.System): void;
+ function initWrapper(wrapper: PlaybackIO, underlying: Harness.IO): void;
+ function initWrapper(wrapper: PlaybackSystem | PlaybackIO, underlying: ts.System | Harness.IO): void {
+ ts.forEach(Object.keys(underlying), prop => {
(wrapper)[prop] = (underlying)[prop];
});
@@ -135,6 +146,93 @@ module Playback {
wrapper.startRecord = (fileNameBase) => {
recordLogFileNameBase = fileNameBase;
recordLog = createEmptyLog();
+
+ if (typeof underlying.args !== "function") {
+ recordLog.arguments = underlying.args;
+ }
+ };
+
+ wrapper.startReplayFromFile = logFn => {
+ wrapper.startReplayFromString(underlying.readFile(logFn));
+ };
+ wrapper.endRecord = () => {
+ if (recordLog !== undefined) {
+ let i = 0;
+ let fn = () => recordLogFileNameBase + i + ".json";
+ while (underlying.fileExists(fn())) i++;
+ underlying.writeFile(fn(), JSON.stringify(recordLog));
+ recordLog = undefined;
+ }
+ };
+
+ wrapper.fileExists = recordReplay(wrapper.fileExists, underlying)(
+ path => callAndRecord(underlying.fileExists(path), recordLog.fileExists, { path }),
+ memoize(path => {
+ // If we read from the file, it must exist
+ if (findResultByPath(wrapper, replayLog.filesRead, path, null) !== null) {
+ return true;
+ }
+ else {
+ return findResultByFields(replayLog.fileExists, { path }, false);
+ }
+ })
+ );
+
+ wrapper.getExecutingFilePath = () => {
+ if (replayLog !== undefined) {
+ return replayLog.executingPath;
+ }
+ else if (recordLog !== undefined) {
+ return recordLog.executingPath = underlying.getExecutingFilePath();
+ }
+ else {
+ return underlying.getExecutingFilePath();
+ }
+ };
+
+ wrapper.getCurrentDirectory = () => {
+ if (replayLog !== undefined) {
+ return replayLog.currentDirectory || "";
+ }
+ else if (recordLog !== undefined) {
+ return recordLog.currentDirectory = underlying.getCurrentDirectory();
+ }
+ else {
+ return underlying.getCurrentDirectory();
+ }
+ };
+
+ wrapper.resolvePath = recordReplay(wrapper.resolvePath, underlying)(
+ path => callAndRecord(underlying.resolvePath(path), recordLog.pathsResolved, { path }),
+ memoize(path => findResultByFields(replayLog.pathsResolved, { path }, !ts.isRootedDiskPath(ts.normalizeSlashes(path)) && replayLog.currentDirectory ? replayLog.currentDirectory + "/" + path : ts.normalizeSlashes(path))));
+
+ wrapper.readFile = recordReplay(wrapper.readFile, underlying)(
+ path => {
+ let result = underlying.readFile(path);
+ let logEntry = { path, codepage: 0, result: { contents: result, codepage: 0 } };
+ recordLog.filesRead.push(logEntry);
+ return result;
+ },
+ memoize(path => findResultByPath(wrapper, replayLog.filesRead, path).contents));
+
+ wrapper.readDirectory = recordReplay(wrapper.readDirectory, underlying)(
+ (path, extension, exclude) => {
+ let result = (underlying).readDirectory(path, extension, exclude);
+ let logEntry = { path, extension, exclude, result };
+ recordLog.directoriesRead.push(logEntry);
+ return result;
+ },
+ (path, extension, exclude) => findResultByPath(wrapper, replayLog.directoriesRead.filter(d => d.extension === extension && ts.arrayIsEqualTo(d.exclude, exclude)), path));
+
+ wrapper.writeFile = recordReplay(wrapper.writeFile, underlying)(
+ (path, contents) => callAndRecord(underlying.writeFile(path, contents), recordLog.filesWritten, { path, contents, bom: false }),
+ (path, contents) => noOpReplay("writeFile"));
+
+ wrapper.exit = (exitCode) => {
+ if (recordLog !== undefined) {
+ wrapper.endRecord();
+ }
+ underlying.exit(exitCode);
};
}
@@ -143,9 +241,11 @@ module Playback {
return (function () {
if (replayLog !== undefined) {
return replay.apply(undefined, arguments);
- } else if (recordLog !== undefined) {
+ }
+ else if (recordLog !== undefined) {
return record.apply(undefined, arguments);
- } else {
+ }
+ else {
return original.apply(underlying, arguments);
}
});
@@ -169,7 +269,8 @@ module Playback {
if (results.length === 0) {
if (defaultValue !== undefined) {
return defaultValue;
- } else {
+ }
+ else {
throw new Error("No matching result in log array for: " + JSON.stringify(expectedFields));
}
}
@@ -177,7 +278,7 @@ module Playback {
}
function findResultByPath(wrapper: { resolvePath(s: string): string }, logArray: { path: string; result?: T }[], expectedPath: string, defaultValue?: T): T {
- let normalizedName = ts.normalizeSlashes(expectedPath).toLowerCase();
+ let normalizedName = ts.normalizePath(expectedPath).toLowerCase();
// Try to find the result through normal fileName
for (let i = 0; i < logArray.length; i++) {
if (ts.normalizeSlashes(logArray[i].path).toLowerCase() === normalizedName) {
@@ -193,10 +294,12 @@ module Playback {
}
}
}
+
// If we got here, we didn't find a match
if (defaultValue === undefined) {
throw new Error("No matching result in log array for path: " + expectedPath);
- } else {
+ }
+ else {
return defaultValue;
}
}
@@ -214,7 +317,8 @@ module Playback {
}
if (pathEquivCache.hasOwnProperty(key)) {
return pathEquivCache[key];
- } else {
+ }
+ else {
return pathEquivCache[key] = check();
}
}
@@ -227,93 +331,18 @@ module Playback {
let wrapper: PlaybackIO = {};
initWrapper(wrapper, underlying);
- wrapper.startReplayFromFile = logFn => {
- wrapper.startReplayFromString(underlying.readFile(logFn));
- };
- wrapper.endRecord = () => {
- if (recordLog !== undefined) {
- let i = 0;
- let fn = () => recordLogFileNameBase + i + ".json";
- while (underlying.fileExists(fn())) i++;
- underlying.writeFile(fn(), JSON.stringify(recordLog));
- recordLog = undefined;
- }
- };
-
- wrapper.args = () => {
- if (replayLog !== undefined) {
- return replayLog.arguments;
- } else if (recordLog !== undefined) {
- recordLog.arguments = underlying.args();
- }
- return underlying.args();
- }
-
- wrapper.newLine = () => underlying.newLine();
- wrapper.useCaseSensitiveFileNames = () => underlying.useCaseSensitiveFileNames();
wrapper.directoryName = (path): string => { throw new Error("NotSupported"); };
- wrapper.createDirectory = path => { throw new Error("NotSupported"); };
+ wrapper.createDirectory = (path): void => { throw new Error("NotSupported"); };
wrapper.directoryExists = (path): boolean => { throw new Error("NotSupported"); };
- wrapper.deleteFile = path => { throw new Error("NotSupported"); };
+ wrapper.deleteFile = (path): void => { throw new Error("NotSupported"); };
wrapper.listFiles = (path, filter, options): string[] => { throw new Error("NotSupported"); };
- wrapper.log = text => underlying.log(text);
-
- wrapper.fileExists = recordReplay(wrapper.fileExists, underlying)(
- (path) => callAndRecord(underlying.fileExists(path), recordLog.fileExists, { path: path }),
- memoize((path) => {
- // If we read from the file, it must exist
- if (findResultByPath(wrapper, replayLog.filesRead, path, null) !== null) {
- return true;
- } else {
- return findResultByFields(replayLog.fileExists, { path: path }, false);
- }
- })
- );
-
- wrapper.getExecutingFilePath = () => {
- if (replayLog !== undefined) {
- return replayLog.executingPath;
- } else if (recordLog !== undefined) {
- return recordLog.executingPath = underlying.getExecutingFilePath();
- } else {
- return underlying.getExecutingFilePath();
- }
- };
-
- wrapper.getCurrentDirectory = () => {
- if (replayLog !== undefined) {
- return replayLog.currentDirectory || "";
- } else if (recordLog !== undefined) {
- return recordLog.currentDirectory = underlying.getCurrentDirectory();
- } else {
- return underlying.getCurrentDirectory();
- }
- };
-
- wrapper.resolvePath = recordReplay(wrapper.resolvePath, underlying)(
- (path) => callAndRecord(underlying.resolvePath(path), recordLog.pathsResolved, { path: path }),
- memoize((path) => findResultByFields(replayLog.pathsResolved, { path: path }, !ts.isRootedDiskPath(ts.normalizeSlashes(path)) && replayLog.currentDirectory ? replayLog.currentDirectory + "/" + path : ts.normalizeSlashes(path))));
-
- wrapper.readFile = recordReplay(wrapper.readFile, underlying)(
- (path) => {
- let result = underlying.readFile(path);
- let logEntry = { path: path, codepage: 0, result: { contents: result, codepage: 0 } };
- recordLog.filesRead.push(logEntry);
- return result;
- },
- memoize((path) => findResultByPath(wrapper, replayLog.filesRead, path).contents));
-
- wrapper.writeFile = recordReplay(wrapper.writeFile, underlying)(
- (path, contents) => callAndRecord(underlying.writeFile(path, contents), recordLog.filesWritten, { path: path, contents: contents, bom: false }),
- (path, contents) => noOpReplay("writeFile"));
-
- wrapper.exit = (exitCode) => {
- if (recordLog !== undefined) {
- wrapper.endRecord();
- }
- underlying.exit(exitCode);
- };
return wrapper;
}
+
+ export function wrapSystem(underlying: ts.System): PlaybackSystem {
+ let wrapper: PlaybackSystem = {};
+ initWrapper(wrapper, underlying);
+ return wrapper;
+ }
}
\ No newline at end of file
diff --git a/src/harness/rwcRunner.ts b/src/harness/rwcRunner.ts
index a1aaeed3d55..1e81392049d 100644
--- a/src/harness/rwcRunner.ts
+++ b/src/harness/rwcRunner.ts
@@ -19,6 +19,11 @@ module RWC {
}
}
+ function isTsConfigFile(file: { path: string }): boolean {
+ const tsConfigFileName = "tsconfig.json";
+ return file.path.substr(file.path.length - tsConfigFileName.length).toLowerCase() === tsConfigFileName;
+ }
+
export function runRWCTest(jsonPath: string) {
describe("Testing a RWC project: " + jsonPath, () => {
let inputFiles: { unitName: string; content: string; }[] = [];
@@ -67,10 +72,21 @@ module RWC {
runWithIOLog(ioLog, oldIO => {
harnessCompiler.reset();
+ let fileNames = opts.fileNames;
+
+ let tsconfigFile = ts.forEach(ioLog.filesRead, f => isTsConfigFile(f) ? f : undefined);
+ if (tsconfigFile) {
+ let tsconfigFileContents = getHarnessCompilerInputUnit(tsconfigFile.path);
+ let parsedTsconfigFileContents = ts.parseConfigFileText(tsconfigFile.path, tsconfigFileContents.content);
+ let configParseResult = ts.parseConfigFile(parsedTsconfigFileContents.config, Harness.IO, ts.getDirectoryPath(tsconfigFile.path));
+ fileNames = configParseResult.fileNames;
+ opts.options = ts.extend(opts.options, configParseResult.options);
+ }
+
// Load the files
- ts.forEach(opts.fileNames, fileName => {
+ for (let fileName of fileNames) {
inputFiles.push(getHarnessCompilerInputUnit(fileName));
- });
+ }
// Add files to compilation
let isInInputList = (resolvedPath: string) => (inputFile: { unitName: string; content: string; }) => inputFile.unitName === resolvedPath;
@@ -79,6 +95,10 @@ module RWC {
const resolvedPath = ts.normalizeSlashes(Harness.IO.resolvePath(fileRead.path));
let inInputList = ts.forEach(inputFiles, isInInputList(resolvedPath));
+ if (isTsConfigFile(fileRead)) {
+ continue;
+ }
+
if (!Harness.isLibraryFile(fileRead.path)) {
if (inInputList) {
continue;
diff --git a/src/services/services.ts b/src/services/services.ts
index 3d919ede05d..d18fa1506ab 100644
--- a/src/services/services.ts
+++ b/src/services/services.ts
@@ -2152,6 +2152,7 @@ namespace ts {
//
// export * from "mod"
// export {a as b} from "mod"
+ // export import i = require("mod")
while (token !== SyntaxKind.EndOfFileToken) {
if (token === SyntaxKind.DeclareKeyword) {
@@ -2276,6 +2277,25 @@ namespace ts {
}
}
}
+ else if (token === SyntaxKind.ImportKeyword) {
+ token = scanner.scan();
+ if (token === SyntaxKind.Identifier || isKeyword(token)) {
+ token = scanner.scan();
+ if (token === SyntaxKind.EqualsToken) {
+ token = scanner.scan();
+ if (token === SyntaxKind.RequireKeyword) {
+ token = scanner.scan();
+ if (token === SyntaxKind.OpenParenToken) {
+ token = scanner.scan();
+ if (token === SyntaxKind.StringLiteral) {
+ // export import i = require("mod");
+ recordModuleName();
+ }
+ }
+ }
+ }
+ }
+ }
}
token = scanner.scan();
}
diff --git a/tests/baselines/reference/aliasAssignments.errors.txt b/tests/baselines/reference/aliasAssignments.errors.txt
index 90a3672780f..fe13faba581 100644
--- a/tests/baselines/reference/aliasAssignments.errors.txt
+++ b/tests/baselines/reference/aliasAssignments.errors.txt
@@ -4,7 +4,7 @@ tests/cases/compiler/aliasAssignments_1.ts(5,1): error TS2322: Type 'typeof "tes
==== tests/cases/compiler/aliasAssignments_1.ts (2 errors) ====
- import moduleA = require("aliasAssignments_moduleA");
+ import moduleA = require("./aliasAssignments_moduleA");
var x = moduleA;
x = 1; // Should be error
~
diff --git a/tests/baselines/reference/aliasAssignments.js b/tests/baselines/reference/aliasAssignments.js
index a019d03f990..5283fe1bd99 100644
--- a/tests/baselines/reference/aliasAssignments.js
+++ b/tests/baselines/reference/aliasAssignments.js
@@ -6,7 +6,7 @@ export class someClass {
}
//// [aliasAssignments_1.ts]
-import moduleA = require("aliasAssignments_moduleA");
+import moduleA = require("./aliasAssignments_moduleA");
var x = moduleA;
x = 1; // Should be error
var y = 1;
@@ -21,7 +21,7 @@ var someClass = (function () {
})();
exports.someClass = someClass;
//// [aliasAssignments_1.js]
-var moduleA = require("aliasAssignments_moduleA");
+var moduleA = require("./aliasAssignments_moduleA");
var x = moduleA;
x = 1; // Should be error
var y = 1;
diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.js b/tests/baselines/reference/aliasUsageInAccessorsOfClass.js
index 11e02297e47..bf7a7280f35 100644
--- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.js
+++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsage1_moduleA.ts]
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsage1_main.ts]
-import Backbone = require("aliasUsage1_backbone");
-import moduleA = require("aliasUsage1_moduleA");
+import Backbone = require("./aliasUsage1_backbone");
+import moduleA = require("./aliasUsage1_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -40,7 +40,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsage1_backbone");
+var Backbone = require("./aliasUsage1_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -50,7 +50,7 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsage1_main.js]
-var moduleA = require("aliasUsage1_moduleA");
+var moduleA = require("./aliasUsage1_moduleA");
var C2 = (function () {
function C2() {
}
diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols b/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols
index 3524b1ce31e..62a2396e2b2 100644
--- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols
+++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsage1_main.ts ===
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsage1_main.ts, 0, 0))
-import moduleA = require("aliasUsage1_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 50))
+import moduleA = require("./aliasUsage1_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 52))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 48))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 50))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsage1_main.ts, 2, 34))
@@ -19,7 +19,7 @@ class C2 {
x: IHasVisualizationModel;
>x : Symbol(x, Decl(aliasUsage1_main.ts, 5, 10))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 48))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsage1_main.ts, 1, 50))
get A() {
>A : Symbol(A, Decl(aliasUsage1_main.ts, 6, 30), Decl(aliasUsage1_main.ts, 9, 5))
@@ -35,7 +35,7 @@ class C2 {
x = moduleA;
>x : Symbol(x, Decl(aliasUsage1_main.ts, 10, 10))
->moduleA : Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 50))
+>moduleA : Symbol(moduleA, Decl(aliasUsage1_main.ts, 0, 52))
}
}
=== tests/cases/compiler/aliasUsage1_backbone.ts ===
@@ -47,11 +47,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsage1_moduleA.ts ===
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsage1_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsage1_moduleA.ts, 0, 50))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsage1_moduleA.ts, 0, 52))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsage1_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsage1_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
index 092643002e4..ea6ab451b11 100644
--- a/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
+++ b/tests/baselines/reference/aliasUsageInAccessorsOfClass.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsage1_main.ts ===
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsage1_moduleA");
+import moduleA = require("./aliasUsage1_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -48,7 +48,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsage1_moduleA.ts ===
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInArray.js b/tests/baselines/reference/aliasUsageInArray.js
index ba0c954a3c2..108407345b7 100644
--- a/tests/baselines/reference/aliasUsageInArray.js
+++ b/tests/baselines/reference/aliasUsageInArray.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInArray_moduleA.ts]
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInArray_main.ts]
-import Backbone = require("aliasUsageInArray_backbone");
-import moduleA = require("aliasUsageInArray_moduleA");
+import Backbone = require("./aliasUsageInArray_backbone");
+import moduleA = require("./aliasUsageInArray_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -34,7 +34,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInArray_backbone");
+var Backbone = require("./aliasUsageInArray_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -44,6 +44,6 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInArray_main.js]
-var moduleA = require("aliasUsageInArray_moduleA");
+var moduleA = require("./aliasUsageInArray_moduleA");
var xs = [moduleA];
var xs2 = [moduleA];
diff --git a/tests/baselines/reference/aliasUsageInArray.symbols b/tests/baselines/reference/aliasUsageInArray.symbols
index 7f1e31d2277..9bca1bc8864 100644
--- a/tests/baselines/reference/aliasUsageInArray.symbols
+++ b/tests/baselines/reference/aliasUsageInArray.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInArray_main.ts ===
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInArray_main.ts, 0, 0))
-import moduleA = require("aliasUsageInArray_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
+import moduleA = require("./aliasUsageInArray_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 58))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 54))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 56))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInArray_main.ts, 2, 34))
@@ -17,13 +17,13 @@ interface IHasVisualizationModel {
var xs: IHasVisualizationModel[] = [moduleA];
>xs : Symbol(xs, Decl(aliasUsageInArray_main.ts, 6, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 54))
->moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInArray_main.ts, 1, 56))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 58))
var xs2: typeof moduleA[] = [moduleA];
>xs2 : Symbol(xs2, Decl(aliasUsageInArray_main.ts, 7, 3))
->moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
->moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 56))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 58))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInArray_main.ts, 0, 58))
=== tests/cases/compiler/aliasUsageInArray_backbone.ts ===
export class Model {
@@ -34,11 +34,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInArray_moduleA.ts ===
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInArray_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInArray_moduleA.ts, 0, 56))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInArray_moduleA.ts, 0, 58))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInArray_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInArray_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInArray.types b/tests/baselines/reference/aliasUsageInArray.types
index 488cc97d07f..218df8e10ed 100644
--- a/tests/baselines/reference/aliasUsageInArray.types
+++ b/tests/baselines/reference/aliasUsageInArray.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInArray_main.ts ===
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInArray_moduleA");
+import moduleA = require("./aliasUsageInArray_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -36,7 +36,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInArray_moduleA.ts ===
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.js b/tests/baselines/reference/aliasUsageInFunctionExpression.js
index 702cbe4d53f..4229491c4c5 100644
--- a/tests/baselines/reference/aliasUsageInFunctionExpression.js
+++ b/tests/baselines/reference/aliasUsageInFunctionExpression.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInFunctionExpression_moduleA.ts]
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInFunctionExpression_main.ts]
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
-import moduleA = require("aliasUsageInFunctionExpression_moduleA");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
+import moduleA = require("./aliasUsageInFunctionExpression_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -33,7 +33,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInFunctionExpression_backbone");
+var Backbone = require("./aliasUsageInFunctionExpression_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -43,6 +43,6 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInFunctionExpression_main.js]
-var moduleA = require("aliasUsageInFunctionExpression_moduleA");
+var moduleA = require("./aliasUsageInFunctionExpression_moduleA");
var f = function (x) { return x; };
f = function (x) { return moduleA; };
diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.symbols b/tests/baselines/reference/aliasUsageInFunctionExpression.symbols
index 2afb6be55c5..bd791d4d38f 100644
--- a/tests/baselines/reference/aliasUsageInFunctionExpression.symbols
+++ b/tests/baselines/reference/aliasUsageInFunctionExpression.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInFunctionExpression_main.ts ===
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInFunctionExpression_main.ts, 0, 0))
-import moduleA = require("aliasUsageInFunctionExpression_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 69))
+import moduleA = require("./aliasUsageInFunctionExpression_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 71))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 67))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 69))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 2, 34))
@@ -17,13 +17,13 @@ interface IHasVisualizationModel {
var f = (x: IHasVisualizationModel) => x;
>f : Symbol(f, Decl(aliasUsageInFunctionExpression_main.ts, 5, 3))
>x : Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 5, 9))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 67))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInFunctionExpression_main.ts, 1, 69))
>x : Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 5, 9))
f = (x) => moduleA;
>f : Symbol(f, Decl(aliasUsageInFunctionExpression_main.ts, 5, 3))
>x : Symbol(x, Decl(aliasUsageInFunctionExpression_main.ts, 6, 5))
->moduleA : Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 69))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInFunctionExpression_main.ts, 0, 71))
=== tests/cases/compiler/aliasUsageInFunctionExpression_backbone.ts ===
export class Model {
@@ -34,11 +34,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts ===
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 69))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 71))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInFunctionExpression_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInFunctionExpression_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInFunctionExpression.types b/tests/baselines/reference/aliasUsageInFunctionExpression.types
index eec4341fd67..15716de5330 100644
--- a/tests/baselines/reference/aliasUsageInFunctionExpression.types
+++ b/tests/baselines/reference/aliasUsageInFunctionExpression.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInFunctionExpression_main.ts ===
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInFunctionExpression_moduleA");
+import moduleA = require("./aliasUsageInFunctionExpression_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -37,7 +37,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInFunctionExpression_moduleA.ts ===
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.js b/tests/baselines/reference/aliasUsageInGenericFunction.js
index 8706dd592eb..7091c6d27c6 100644
--- a/tests/baselines/reference/aliasUsageInGenericFunction.js
+++ b/tests/baselines/reference/aliasUsageInGenericFunction.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInGenericFunction_moduleA.ts]
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInGenericFunction_main.ts]
-import Backbone = require("aliasUsageInGenericFunction_backbone");
-import moduleA = require("aliasUsageInGenericFunction_moduleA");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
+import moduleA = require("./aliasUsageInGenericFunction_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -37,7 +37,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInGenericFunction_backbone");
+var Backbone = require("./aliasUsageInGenericFunction_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -47,7 +47,7 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInGenericFunction_main.js]
-var moduleA = require("aliasUsageInGenericFunction_moduleA");
+var moduleA = require("./aliasUsageInGenericFunction_moduleA");
function foo(x) {
return x;
}
diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.symbols b/tests/baselines/reference/aliasUsageInGenericFunction.symbols
index 3f001e8bd1a..fccf60c3514 100644
--- a/tests/baselines/reference/aliasUsageInGenericFunction.symbols
+++ b/tests/baselines/reference/aliasUsageInGenericFunction.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInGenericFunction_main.ts ===
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInGenericFunction_main.ts, 0, 0))
-import moduleA = require("aliasUsageInGenericFunction_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 66))
+import moduleA = require("./aliasUsageInGenericFunction_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 68))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 66))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 2, 34))
@@ -18,7 +18,7 @@ function foo(x: T) {
>foo : Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
>T : Symbol(T, Decl(aliasUsageInGenericFunction_main.ts, 5, 13))
>a : Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 5, 24))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 66))
>x : Symbol(x, Decl(aliasUsageInGenericFunction_main.ts, 5, 54))
>T : Symbol(T, Decl(aliasUsageInGenericFunction_main.ts, 5, 13))
@@ -29,13 +29,13 @@ var r = foo({ a: moduleA });
>r : Symbol(r, Decl(aliasUsageInGenericFunction_main.ts, 8, 3))
>foo : Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
>a : Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 8, 13))
->moduleA : Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 66))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInGenericFunction_main.ts, 0, 68))
var r2 = foo({ a: null });
>r2 : Symbol(r2, Decl(aliasUsageInGenericFunction_main.ts, 9, 3))
>foo : Symbol(foo, Decl(aliasUsageInGenericFunction_main.ts, 4, 1))
>a : Symbol(a, Decl(aliasUsageInGenericFunction_main.ts, 9, 14))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 64))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInGenericFunction_main.ts, 1, 66))
=== tests/cases/compiler/aliasUsageInGenericFunction_backbone.ts ===
export class Model {
@@ -46,11 +46,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInGenericFunction_moduleA.ts ===
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 66))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 68))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInGenericFunction_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInGenericFunction_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInGenericFunction.types b/tests/baselines/reference/aliasUsageInGenericFunction.types
index c21e691d773..5fe7a3e49ef 100644
--- a/tests/baselines/reference/aliasUsageInGenericFunction.types
+++ b/tests/baselines/reference/aliasUsageInGenericFunction.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInGenericFunction_main.ts ===
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInGenericFunction_moduleA");
+import moduleA = require("./aliasUsageInGenericFunction_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -52,7 +52,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInGenericFunction_moduleA.ts ===
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.js b/tests/baselines/reference/aliasUsageInIndexerOfClass.js
index 78ddd2d4a94..82490739687 100644
--- a/tests/baselines/reference/aliasUsageInIndexerOfClass.js
+++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInIndexerOfClass_moduleA.ts]
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInIndexerOfClass_main.ts]
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
-import moduleA = require("aliasUsageInIndexerOfClass_moduleA");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
+import moduleA = require("./aliasUsageInIndexerOfClass_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -39,7 +39,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInIndexerOfClass_backbone");
+var Backbone = require("./aliasUsageInIndexerOfClass_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -49,7 +49,7 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInIndexerOfClass_main.js]
-var moduleA = require("aliasUsageInIndexerOfClass_moduleA");
+var moduleA = require("./aliasUsageInIndexerOfClass_moduleA");
var N = (function () {
function N() {
this.x = moduleA;
diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols b/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols
index 900653c7fd1..37529d2ead2 100644
--- a/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols
+++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInIndexerOfClass_main.ts ===
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 0))
-import moduleA = require("aliasUsageInIndexerOfClass_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
+import moduleA = require("./aliasUsageInIndexerOfClass_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 67))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 2, 34))
@@ -19,22 +19,22 @@ class N {
[idx: string]: IHasVisualizationModel
>idx : Symbol(idx, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 5))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65))
x = moduleA;
>x : Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 6, 41))
->moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 67))
}
class N2 {
>N2 : Symbol(N2, Decl(aliasUsageInIndexerOfClass_main.ts, 8, 1))
[idx: string]: typeof moduleA
>idx : Symbol(idx, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 5))
->moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 65))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInIndexerOfClass_main.ts, 0, 67))
x: IHasVisualizationModel;
>x : Symbol(x, Decl(aliasUsageInIndexerOfClass_main.ts, 10, 33))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 63))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInIndexerOfClass_main.ts, 1, 65))
}
=== tests/cases/compiler/aliasUsageInIndexerOfClass_backbone.ts ===
export class Model {
@@ -45,11 +45,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts ===
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 65))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 67))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInIndexerOfClass_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInIndexerOfClass_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInIndexerOfClass.types b/tests/baselines/reference/aliasUsageInIndexerOfClass.types
index b7e4873ba34..d6040a90410 100644
--- a/tests/baselines/reference/aliasUsageInIndexerOfClass.types
+++ b/tests/baselines/reference/aliasUsageInIndexerOfClass.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInIndexerOfClass_main.ts ===
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInIndexerOfClass_moduleA");
+import moduleA = require("./aliasUsageInIndexerOfClass_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -45,7 +45,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInIndexerOfClass_moduleA.ts ===
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.js b/tests/baselines/reference/aliasUsageInObjectLiteral.js
index f38cdf2111c..f1bb99018df 100644
--- a/tests/baselines/reference/aliasUsageInObjectLiteral.js
+++ b/tests/baselines/reference/aliasUsageInObjectLiteral.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInObjectLiteral_moduleA.ts]
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInObjectLiteral_main.ts]
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
-import moduleA = require("aliasUsageInObjectLiteral_moduleA");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
+import moduleA = require("./aliasUsageInObjectLiteral_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -34,7 +34,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInObjectLiteral_backbone");
+var Backbone = require("./aliasUsageInObjectLiteral_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -44,7 +44,7 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInObjectLiteral_main.js]
-var moduleA = require("aliasUsageInObjectLiteral_moduleA");
+var moduleA = require("./aliasUsageInObjectLiteral_moduleA");
var a = { x: moduleA };
var b = { x: moduleA };
var c = { y: { z: moduleA } };
diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.symbols b/tests/baselines/reference/aliasUsageInObjectLiteral.symbols
index a508e9fafc1..ef94a9037ad 100644
--- a/tests/baselines/reference/aliasUsageInObjectLiteral.symbols
+++ b/tests/baselines/reference/aliasUsageInObjectLiteral.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInObjectLiteral_main.ts ===
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInObjectLiteral_main.ts, 0, 0))
-import moduleA = require("aliasUsageInObjectLiteral_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
+import moduleA = require("./aliasUsageInObjectLiteral_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 66))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 64))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 2, 34))
@@ -17,25 +17,25 @@ interface IHasVisualizationModel {
var a: { x: typeof moduleA } = { x: moduleA };
>a : Symbol(a, Decl(aliasUsageInObjectLiteral_main.ts, 5, 3))
>x : Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 5, 8))
->moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 66))
>x : Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 5, 32))
->moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 66))
var b: { x: IHasVisualizationModel } = { x: moduleA };
>b : Symbol(b, Decl(aliasUsageInObjectLiteral_main.ts, 6, 3))
>x : Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 6, 8))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 64))
>x : Symbol(x, Decl(aliasUsageInObjectLiteral_main.ts, 6, 40))
->moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 66))
var c: { y: { z: IHasVisualizationModel } } = { y: { z: moduleA } };
>c : Symbol(c, Decl(aliasUsageInObjectLiteral_main.ts, 7, 3))
>y : Symbol(y, Decl(aliasUsageInObjectLiteral_main.ts, 7, 8))
>z : Symbol(z, Decl(aliasUsageInObjectLiteral_main.ts, 7, 13))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 62))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInObjectLiteral_main.ts, 1, 64))
>y : Symbol(y, Decl(aliasUsageInObjectLiteral_main.ts, 7, 47))
>z : Symbol(z, Decl(aliasUsageInObjectLiteral_main.ts, 7, 52))
->moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 64))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInObjectLiteral_main.ts, 0, 66))
=== tests/cases/compiler/aliasUsageInObjectLiteral_backbone.ts ===
export class Model {
@@ -46,11 +46,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts ===
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 64))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 66))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInObjectLiteral_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInObjectLiteral_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInObjectLiteral.types b/tests/baselines/reference/aliasUsageInObjectLiteral.types
index 5ab294b7350..5c8f08a6af2 100644
--- a/tests/baselines/reference/aliasUsageInObjectLiteral.types
+++ b/tests/baselines/reference/aliasUsageInObjectLiteral.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInObjectLiteral_main.ts ===
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInObjectLiteral_moduleA");
+import moduleA = require("./aliasUsageInObjectLiteral_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -50,7 +50,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInObjectLiteral_moduleA.ts ===
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInOrExpression.js b/tests/baselines/reference/aliasUsageInOrExpression.js
index 906a2c019d7..817ad95aaea 100644
--- a/tests/baselines/reference/aliasUsageInOrExpression.js
+++ b/tests/baselines/reference/aliasUsageInOrExpression.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInOrExpression_moduleA.ts]
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInOrExpression_main.ts]
-import Backbone = require("aliasUsageInOrExpression_backbone");
-import moduleA = require("aliasUsageInOrExpression_moduleA");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
+import moduleA = require("./aliasUsageInOrExpression_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -37,7 +37,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInOrExpression_backbone");
+var Backbone = require("./aliasUsageInOrExpression_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -47,7 +47,7 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [aliasUsageInOrExpression_main.js]
-var moduleA = require("aliasUsageInOrExpression_moduleA");
+var moduleA = require("./aliasUsageInOrExpression_moduleA");
var i;
var d1 = i || moduleA;
var d2 = i || moduleA;
diff --git a/tests/baselines/reference/aliasUsageInOrExpression.symbols b/tests/baselines/reference/aliasUsageInOrExpression.symbols
index adfba01a119..3d9331b1fa9 100644
--- a/tests/baselines/reference/aliasUsageInOrExpression.symbols
+++ b/tests/baselines/reference/aliasUsageInOrExpression.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInOrExpression_main.ts ===
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInOrExpression_main.ts, 0, 0))
-import moduleA = require("aliasUsageInOrExpression_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+import moduleA = require("./aliasUsageInOrExpression_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 2, 34))
@@ -16,42 +16,42 @@ interface IHasVisualizationModel {
}
var i: IHasVisualizationModel;
>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
var d1 = i || moduleA;
>d1 : Symbol(d1, Decl(aliasUsageInOrExpression_main.ts, 6, 3))
>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
var d2: IHasVisualizationModel = i || moduleA;
>d2 : Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
var d2: IHasVisualizationModel = moduleA || i;
>d2 : Symbol(d2, Decl(aliasUsageInOrExpression_main.ts, 7, 3), Decl(aliasUsageInOrExpression_main.ts, 8, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
>i : Symbol(i, Decl(aliasUsageInOrExpression_main.ts, 5, 3))
var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA };
>e : Symbol(e, Decl(aliasUsageInOrExpression_main.ts, 9, 3))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 8))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 41))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 9, 79))
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null;
>f : Symbol(f, Decl(aliasUsageInOrExpression_main.ts, 10, 3))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 8))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 41))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 61))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInOrExpression_main.ts, 1, 63))
>x : Symbol(x, Decl(aliasUsageInOrExpression_main.ts, 10, 78))
->moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 63))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInOrExpression_main.ts, 0, 65))
=== tests/cases/compiler/aliasUsageInOrExpression_backbone.ts ===
export class Model {
@@ -62,11 +62,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts ===
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 63))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 65))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInOrExpression_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInOrExpression_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types
index f009e7084eb..c43b7889cc5 100644
--- a/tests/baselines/reference/aliasUsageInOrExpression.types
+++ b/tests/baselines/reference/aliasUsageInOrExpression.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInOrExpression_main.ts ===
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInOrExpression_moduleA");
+import moduleA = require("./aliasUsageInOrExpression_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -74,7 +74,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInOrExpression_moduleA.ts ===
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.js b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.js
index 27f85bb5fcd..270a2807319 100644
--- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.js
+++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts]
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInTypeArgumentOfExtendsClause_main.ts]
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
-import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -37,7 +37,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+var Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -52,7 +52,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
+var moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA");
var C = (function () {
function C() {
}
diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols
index f3ca1f7ec37..6fc639da2c1 100644
--- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols
+++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_main.ts ===
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 0))
-import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 78))
+import moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 80))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 2, 34))
@@ -17,7 +17,7 @@ interface IHasVisualizationModel {
class C {
>C : Symbol(C, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 4, 1))
>T : Symbol(T, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 8))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78))
x: T;
>x : Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 5, 43))
@@ -26,11 +26,11 @@ class C {
class D extends C {
>D : Symbol(D, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 7, 1))
>C : Symbol(C, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 4, 1))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 76))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 1, 78))
x = moduleA;
>x : Symbol(x, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 8, 43))
->moduleA : Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 78))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInTypeArgumentOfExtendsClause_main.ts, 0, 80))
}
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_backbone.ts ===
export class Model {
@@ -41,11 +41,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts ===
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 78))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 80))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInTypeArgumentOfExtendsClause_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
index ae20caa9c37..3d3d3b6d3f5 100644
--- a/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
+++ b/tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_main.ts ===
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
+import moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -41,7 +41,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts ===
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.js b/tests/baselines/reference/aliasUsageInVarAssignment.js
index bfc63868ff4..f7949348cdd 100644
--- a/tests/baselines/reference/aliasUsageInVarAssignment.js
+++ b/tests/baselines/reference/aliasUsageInVarAssignment.js
@@ -6,14 +6,14 @@ export class Model {
}
//// [aliasUsageInVarAssignment_moduleA.ts]
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [aliasUsageInVarAssignment_main.ts]
-import Backbone = require("aliasUsageInVarAssignment_backbone");
-import moduleA = require("aliasUsageInVarAssignment_moduleA");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
+import moduleA = require("./aliasUsageInVarAssignment_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -33,7 +33,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("aliasUsageInVarAssignment_backbone");
+var Backbone = require("./aliasUsageInVarAssignment_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.symbols b/tests/baselines/reference/aliasUsageInVarAssignment.symbols
index d1996fe8ecb..d0e7f6b7d05 100644
--- a/tests/baselines/reference/aliasUsageInVarAssignment.symbols
+++ b/tests/baselines/reference/aliasUsageInVarAssignment.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/aliasUsageInVarAssignment_main.ts ===
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInVarAssignment_main.ts, 0, 0))
-import moduleA = require("aliasUsageInVarAssignment_moduleA");
->moduleA : Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 64))
+import moduleA = require("./aliasUsageInVarAssignment_moduleA");
+>moduleA : Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 66))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 62))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 64))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 2, 34))
@@ -16,11 +16,11 @@ interface IHasVisualizationModel {
}
var i: IHasVisualizationModel;
>i : Symbol(i, Decl(aliasUsageInVarAssignment_main.ts, 5, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 62))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(aliasUsageInVarAssignment_main.ts, 1, 64))
var m: typeof moduleA = i;
>m : Symbol(m, Decl(aliasUsageInVarAssignment_main.ts, 6, 3))
->moduleA : Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 64))
+>moduleA : Symbol(moduleA, Decl(aliasUsageInVarAssignment_main.ts, 0, 66))
>i : Symbol(i, Decl(aliasUsageInVarAssignment_main.ts, 5, 3))
=== tests/cases/compiler/aliasUsageInVarAssignment_backbone.ts ===
@@ -32,11 +32,11 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInVarAssignment_moduleA.ts ===
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
>Backbone : Symbol(Backbone, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 64))
+>VisualizationModel : Symbol(VisualizationModel, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 66))
>Backbone.Model : Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(aliasUsageInVarAssignment_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(aliasUsageInVarAssignment_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/aliasUsageInVarAssignment.types b/tests/baselines/reference/aliasUsageInVarAssignment.types
index 6a23293ea7c..cf636a15240 100644
--- a/tests/baselines/reference/aliasUsageInVarAssignment.types
+++ b/tests/baselines/reference/aliasUsageInVarAssignment.types
@@ -1,8 +1,8 @@
=== tests/cases/compiler/aliasUsageInVarAssignment_main.ts ===
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
>Backbone : typeof Backbone
-import moduleA = require("aliasUsageInVarAssignment_moduleA");
+import moduleA = require("./aliasUsageInVarAssignment_moduleA");
>moduleA : typeof moduleA
interface IHasVisualizationModel {
@@ -32,7 +32,7 @@ export class Model {
}
=== tests/cases/compiler/aliasUsageInVarAssignment_moduleA.ts ===
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/aliasUsedAsNameValue.js b/tests/baselines/reference/aliasUsedAsNameValue.js
index c93acb43fa6..9893eae6e1c 100644
--- a/tests/baselines/reference/aliasUsedAsNameValue.js
+++ b/tests/baselines/reference/aliasUsedAsNameValue.js
@@ -9,8 +9,8 @@ export function b(a: any): any { return null; }
//// [aliasUsedAsNameValue_2.ts]
///
///
-import mod = require("aliasUsedAsNameValue_0");
-import b = require("aliasUsedAsNameValue_1");
+import mod = require("./aliasUsedAsNameValue_0");
+import b = require("./aliasUsedAsNameValue_1");
export var a = function () {
//var x = mod.id; // TODO needed hack that mod is loaded
@@ -25,8 +25,8 @@ exports.b = b;
//// [aliasUsedAsNameValue_2.js]
///
///
-var mod = require("aliasUsedAsNameValue_0");
-var b = require("aliasUsedAsNameValue_1");
+var mod = require("./aliasUsedAsNameValue_0");
+var b = require("./aliasUsedAsNameValue_1");
exports.a = function () {
//var x = mod.id; // TODO needed hack that mod is loaded
b.b(mod);
diff --git a/tests/baselines/reference/aliasUsedAsNameValue.symbols b/tests/baselines/reference/aliasUsedAsNameValue.symbols
index a816e2b2c63..314780eba7c 100644
--- a/tests/baselines/reference/aliasUsedAsNameValue.symbols
+++ b/tests/baselines/reference/aliasUsedAsNameValue.symbols
@@ -1,11 +1,11 @@
=== tests/cases/compiler/aliasUsedAsNameValue_2.ts ===
///
///
-import mod = require("aliasUsedAsNameValue_0");
+import mod = require("./aliasUsedAsNameValue_0");
>mod : Symbol(mod, Decl(aliasUsedAsNameValue_2.ts, 0, 0))
-import b = require("aliasUsedAsNameValue_1");
->b : Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 47))
+import b = require("./aliasUsedAsNameValue_1");
+>b : Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 49))
export var a = function () {
>a : Symbol(a, Decl(aliasUsedAsNameValue_2.ts, 5, 10))
@@ -13,7 +13,7 @@ export var a = function () {
//var x = mod.id; // TODO needed hack that mod is loaded
b.b(mod);
>b.b : Symbol(b.b, Decl(aliasUsedAsNameValue_1.ts, 0, 0))
->b : Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 47))
+>b : Symbol(b, Decl(aliasUsedAsNameValue_2.ts, 2, 49))
>b : Symbol(b.b, Decl(aliasUsedAsNameValue_1.ts, 0, 0))
>mod : Symbol(mod, Decl(aliasUsedAsNameValue_2.ts, 0, 0))
}
diff --git a/tests/baselines/reference/aliasUsedAsNameValue.types b/tests/baselines/reference/aliasUsedAsNameValue.types
index 9c519786c76..86e1eeee9f5 100644
--- a/tests/baselines/reference/aliasUsedAsNameValue.types
+++ b/tests/baselines/reference/aliasUsedAsNameValue.types
@@ -1,10 +1,10 @@
=== tests/cases/compiler/aliasUsedAsNameValue_2.ts ===
///
///
-import mod = require("aliasUsedAsNameValue_0");
+import mod = require("./aliasUsedAsNameValue_0");
>mod : typeof mod
-import b = require("aliasUsedAsNameValue_1");
+import b = require("./aliasUsedAsNameValue_1");
>b : typeof b
export var a = function () {
diff --git a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.errors.txt b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.errors.txt
index a2532be9344..1a9d7d26168 100644
--- a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.errors.txt
+++ b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.errors.txt
@@ -2,7 +2,7 @@ tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer_1.ts
==== tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer_1.ts (1 errors) ====
- import moduleA = require("aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
+ import moduleA = require("./aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
var d = b.q3;
~
!!! error TS2304: Cannot find name 'b'.
diff --git a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.js b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.js
index bd76945438f..19534b279c0 100644
--- a/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.js
+++ b/tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.js
@@ -7,7 +7,7 @@ interface c {
export = c;
//// [aliasWithInterfaceExportAssignmentUsedInVarInitializer_1.ts]
-import moduleA = require("aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
+import moduleA = require("./aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
var d = b.q3;
//// [aliasWithInterfaceExportAssignmentUsedInVarInitializer_0.js]
diff --git a/tests/baselines/reference/arrayOfExportedClass.js b/tests/baselines/reference/arrayOfExportedClass.js
index 7fde4aa6775..c3f81aca7b0 100644
--- a/tests/baselines/reference/arrayOfExportedClass.js
+++ b/tests/baselines/reference/arrayOfExportedClass.js
@@ -9,7 +9,7 @@ export = Car;
//// [arrayOfExportedClass_1.ts]
///
-import Car = require('arrayOfExportedClass_0');
+import Car = require('./arrayOfExportedClass_0');
class Road {
diff --git a/tests/baselines/reference/arrayOfExportedClass.symbols b/tests/baselines/reference/arrayOfExportedClass.symbols
index 3d0905a1e2d..bdcaf98eb0d 100644
--- a/tests/baselines/reference/arrayOfExportedClass.symbols
+++ b/tests/baselines/reference/arrayOfExportedClass.symbols
@@ -1,10 +1,10 @@
=== tests/cases/compiler/arrayOfExportedClass_1.ts ===
///
-import Car = require('arrayOfExportedClass_0');
+import Car = require('./arrayOfExportedClass_0');
>Car : Symbol(Car, Decl(arrayOfExportedClass_1.ts, 0, 0))
class Road {
->Road : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 47))
+>Road : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 49))
public cars: Car[];
>cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12))
@@ -17,14 +17,14 @@ class Road {
this.cars = cars;
>this.cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12))
->this : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 47))
+>this : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 49))
>cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 3, 12))
>cars : Symbol(cars, Decl(arrayOfExportedClass_1.ts, 7, 19))
}
}
export = Road;
->Road : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 47))
+>Road : Symbol(Road, Decl(arrayOfExportedClass_1.ts, 1, 49))
=== tests/cases/compiler/arrayOfExportedClass_0.ts ===
class Car {
diff --git a/tests/baselines/reference/arrayOfExportedClass.types b/tests/baselines/reference/arrayOfExportedClass.types
index 3d542b88d80..1e41e82e448 100644
--- a/tests/baselines/reference/arrayOfExportedClass.types
+++ b/tests/baselines/reference/arrayOfExportedClass.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/arrayOfExportedClass_1.ts ===
///
-import Car = require('arrayOfExportedClass_0');
+import Car = require('./arrayOfExportedClass_0');
>Car : typeof Car
class Road {
diff --git a/tests/baselines/reference/chainedImportAlias.js b/tests/baselines/reference/chainedImportAlias.js
index 077a92d7450..ec751b0329a 100644
--- a/tests/baselines/reference/chainedImportAlias.js
+++ b/tests/baselines/reference/chainedImportAlias.js
@@ -6,7 +6,7 @@ export module m {
}
//// [chainedImportAlias_file1.ts]
-import x = require('chainedImportAlias_file0');
+import x = require('./chainedImportAlias_file0');
import y = x;
y.m.foo();
@@ -18,6 +18,6 @@ var m;
m.foo = foo;
})(m = exports.m || (exports.m = {}));
//// [chainedImportAlias_file1.js]
-var x = require('chainedImportAlias_file0');
+var x = require('./chainedImportAlias_file0');
var y = x;
y.m.foo();
diff --git a/tests/baselines/reference/chainedImportAlias.symbols b/tests/baselines/reference/chainedImportAlias.symbols
index 3aebb4502f8..0f374305aeb 100644
--- a/tests/baselines/reference/chainedImportAlias.symbols
+++ b/tests/baselines/reference/chainedImportAlias.symbols
@@ -1,15 +1,15 @@
=== tests/cases/compiler/chainedImportAlias_file1.ts ===
-import x = require('chainedImportAlias_file0');
+import x = require('./chainedImportAlias_file0');
>x : Symbol(x, Decl(chainedImportAlias_file1.ts, 0, 0))
import y = x;
->y : Symbol(y, Decl(chainedImportAlias_file1.ts, 0, 47))
+>y : Symbol(y, Decl(chainedImportAlias_file1.ts, 0, 49))
>x : Symbol(x, Decl(chainedImportAlias_file0.ts, 0, 0))
y.m.foo();
>y.m.foo : Symbol(x.m.foo, Decl(chainedImportAlias_file0.ts, 0, 17))
>y.m : Symbol(x.m, Decl(chainedImportAlias_file0.ts, 0, 0))
->y : Symbol(y, Decl(chainedImportAlias_file1.ts, 0, 47))
+>y : Symbol(y, Decl(chainedImportAlias_file1.ts, 0, 49))
>m : Symbol(x.m, Decl(chainedImportAlias_file0.ts, 0, 0))
>foo : Symbol(x.m.foo, Decl(chainedImportAlias_file0.ts, 0, 17))
diff --git a/tests/baselines/reference/chainedImportAlias.types b/tests/baselines/reference/chainedImportAlias.types
index 1435776fff2..db06c833d0b 100644
--- a/tests/baselines/reference/chainedImportAlias.types
+++ b/tests/baselines/reference/chainedImportAlias.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/chainedImportAlias_file1.ts ===
-import x = require('chainedImportAlias_file0');
+import x = require('./chainedImportAlias_file0');
>x : typeof x
import y = x;
diff --git a/tests/baselines/reference/commentsExternalModules3.js b/tests/baselines/reference/commentsExternalModules3.js
index 283e07ebc7f..2acf93296de 100644
--- a/tests/baselines/reference/commentsExternalModules3.js
+++ b/tests/baselines/reference/commentsExternalModules3.js
@@ -54,7 +54,7 @@ var myvar2 = new m4.m2.c();
//// [commentsExternalModules_1.ts]
/**This is on import declaration*/
-import extMod = require("commentsExternalModules2_0"); // trailing comment 1
+import extMod = require("./commentsExternalModules2_0"); // trailing comment 1
extMod.m1.fooExport();
export var newVar = new extMod.m1.m2.c();
extMod.m4.fooExport();
@@ -124,7 +124,7 @@ m4.fooExport();
var myvar2 = new m4.m2.c();
//// [commentsExternalModules_1.js]
/**This is on import declaration*/
-var extMod = require("commentsExternalModules2_0"); // trailing comment 1
+var extMod = require("./commentsExternalModules2_0"); // trailing comment 1
extMod.m1.fooExport();
exports.newVar = new extMod.m1.m2.c();
extMod.m4.fooExport();
@@ -165,6 +165,6 @@ export declare module m4 {
}
//// [commentsExternalModules_1.d.ts]
/**This is on import declaration*/
-import extMod = require("commentsExternalModules2_0");
+import extMod = require("./commentsExternalModules2_0");
export declare var newVar: extMod.m1.m2.c;
export declare var newVar2: extMod.m4.m2.c;
diff --git a/tests/baselines/reference/commentsExternalModules3.symbols b/tests/baselines/reference/commentsExternalModules3.symbols
index cfd01db377d..4cab3b0d28a 100644
--- a/tests/baselines/reference/commentsExternalModules3.symbols
+++ b/tests/baselines/reference/commentsExternalModules3.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/commentsExternalModules_1.ts ===
/**This is on import declaration*/
-import extMod = require("commentsExternalModules2_0"); // trailing comment 1
+import extMod = require("./commentsExternalModules2_0"); // trailing comment 1
>extMod : Symbol(extMod, Decl(commentsExternalModules_1.ts, 0, 0))
extMod.m1.fooExport();
diff --git a/tests/baselines/reference/commentsExternalModules3.types b/tests/baselines/reference/commentsExternalModules3.types
index 556b5d11d35..2898784b7ea 100644
--- a/tests/baselines/reference/commentsExternalModules3.types
+++ b/tests/baselines/reference/commentsExternalModules3.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/commentsExternalModules_1.ts ===
/**This is on import declaration*/
-import extMod = require("commentsExternalModules2_0"); // trailing comment 1
+import extMod = require("./commentsExternalModules2_0"); // trailing comment 1
>extMod : typeof extMod
extMod.m1.fooExport();
diff --git a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js
index 7814e9641ba..2355d7bbc7a 100644
--- a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js
+++ b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.js
@@ -6,7 +6,7 @@ export class Foo { }
//// [declFileAliasUseBeforeDeclaration_test.ts]
export function bar(a: foo.Foo) { }
-import foo = require("declFileAliasUseBeforeDeclaration_foo");
+import foo = require("./declFileAliasUseBeforeDeclaration_foo");
//// [declFileAliasUseBeforeDeclaration_foo.js]
var Foo = (function () {
@@ -25,4 +25,4 @@ export declare class Foo {
}
//// [declFileAliasUseBeforeDeclaration_test.d.ts]
export declare function bar(a: foo.Foo): void;
-import foo = require("declFileAliasUseBeforeDeclaration_foo");
+import foo = require("./declFileAliasUseBeforeDeclaration_foo");
diff --git a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.symbols b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.symbols
index ee7795ae455..ba74b6cdfb7 100644
--- a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.symbols
+++ b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.symbols
@@ -5,7 +5,7 @@ export function bar(a: foo.Foo) { }
>foo : Symbol(foo, Decl(declFileAliasUseBeforeDeclaration_test.ts, 0, 35))
>Foo : Symbol(foo.Foo, Decl(declFileAliasUseBeforeDeclaration_foo.ts, 0, 0))
-import foo = require("declFileAliasUseBeforeDeclaration_foo");
+import foo = require("./declFileAliasUseBeforeDeclaration_foo");
>foo : Symbol(foo, Decl(declFileAliasUseBeforeDeclaration_test.ts, 0, 35))
=== tests/cases/compiler/declFileAliasUseBeforeDeclaration_foo.ts ===
diff --git a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.types b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.types
index c21d98d90d5..544efded5ee 100644
--- a/tests/baselines/reference/declFileAliasUseBeforeDeclaration.types
+++ b/tests/baselines/reference/declFileAliasUseBeforeDeclaration.types
@@ -5,7 +5,7 @@ export function bar(a: foo.Foo) { }
>foo : any
>Foo : foo.Foo
-import foo = require("declFileAliasUseBeforeDeclaration_foo");
+import foo = require("./declFileAliasUseBeforeDeclaration_foo");
>foo : typeof foo
=== tests/cases/compiler/declFileAliasUseBeforeDeclaration_foo.ts ===
diff --git a/tests/baselines/reference/declFileForExportedImport.js b/tests/baselines/reference/declFileForExportedImport.js
index af7cfa46b73..88967c4c2a4 100644
--- a/tests/baselines/reference/declFileForExportedImport.js
+++ b/tests/baselines/reference/declFileForExportedImport.js
@@ -5,7 +5,7 @@ export var x: number;
//// [declFileForExportedImport_1.ts]
///
-export import a = require('declFileForExportedImport_0');
+export import a = require('./declFileForExportedImport_0');
var y = a.x;
export import b = a;
@@ -14,7 +14,7 @@ var z = b.x;
//// [declFileForExportedImport_0.js]
//// [declFileForExportedImport_1.js]
///
-exports.a = require('declFileForExportedImport_0');
+exports.a = require('./declFileForExportedImport_0');
var y = exports.a.x;
exports.b = exports.a;
var z = exports.b.x;
@@ -24,5 +24,5 @@ var z = exports.b.x;
export declare var x: number;
//// [declFileForExportedImport_1.d.ts]
///
-export import a = require('declFileForExportedImport_0');
+export import a = require('./declFileForExportedImport_0');
export import b = a;
diff --git a/tests/baselines/reference/declFileForExportedImport.symbols b/tests/baselines/reference/declFileForExportedImport.symbols
index fb7b7cd343f..fe14836199c 100644
--- a/tests/baselines/reference/declFileForExportedImport.symbols
+++ b/tests/baselines/reference/declFileForExportedImport.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/declFileForExportedImport_1.ts ===
///
-export import a = require('declFileForExportedImport_0');
+export import a = require('./declFileForExportedImport_0');
>a : Symbol(a, Decl(declFileForExportedImport_1.ts, 0, 0))
var y = a.x;
diff --git a/tests/baselines/reference/declFileForExportedImport.types b/tests/baselines/reference/declFileForExportedImport.types
index 987f82bf5a0..0ff8c2f454b 100644
--- a/tests/baselines/reference/declFileForExportedImport.types
+++ b/tests/baselines/reference/declFileForExportedImport.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/declFileForExportedImport_1.ts ===
///
-export import a = require('declFileForExportedImport_0');
+export import a = require('./declFileForExportedImport_0');
>a : typeof a
var y = a.x;
diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
index 145d4ad3ff2..b070b67ad18 100644
--- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
+++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.js
@@ -21,7 +21,7 @@ export = m2;
//// [declFileImportModuleWithExportAssignment_1.ts]
/**This is on import declaration*/
-import a1 = require("declFileImportModuleWithExportAssignment_0");
+import a1 = require("./declFileImportModuleWithExportAssignment_0");
export var a = a1;
a.test1(null, null, null);
@@ -31,7 +31,7 @@ var m2;
module.exports = m2;
//// [declFileImportModuleWithExportAssignment_1.js]
/**This is on import declaration*/
-var a1 = require("declFileImportModuleWithExportAssignment_0");
+var a1 = require("./declFileImportModuleWithExportAssignment_0");
exports.a = a1;
exports.a.test1(null, null, null);
@@ -54,7 +54,7 @@ declare var m2: {
export = m2;
//// [declFileImportModuleWithExportAssignment_1.d.ts]
/**This is on import declaration*/
-import a1 = require("declFileImportModuleWithExportAssignment_0");
+import a1 = require("./declFileImportModuleWithExportAssignment_0");
export declare var a: {
(): a1.connectExport;
test1: a1.connectModule;
diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols b/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols
index 62d9d599939..a33e0fef758 100644
--- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols
+++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/declFileImportModuleWithExportAssignment_1.ts ===
/**This is on import declaration*/
-import a1 = require("declFileImportModuleWithExportAssignment_0");
+import a1 = require("./declFileImportModuleWithExportAssignment_0");
>a1 : Symbol(a1, Decl(declFileImportModuleWithExportAssignment_1.ts, 0, 0))
export var a = a1;
diff --git a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types
index d3082311c1d..123b7b56d4f 100644
--- a/tests/baselines/reference/declFileImportModuleWithExportAssignment.types
+++ b/tests/baselines/reference/declFileImportModuleWithExportAssignment.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/declFileImportModuleWithExportAssignment_1.ts ===
/**This is on import declaration*/
-import a1 = require("declFileImportModuleWithExportAssignment_0");
+import a1 = require("./declFileImportModuleWithExportAssignment_0");
>a1 : { (): a1.connectExport; test1: a1.connectModule; test2(): a1.connectModule; }
export var a = a1;
diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.js b/tests/baselines/reference/declarationEmit_exportAssignment.js
index 54f3eb5fd0e..d761e2c45eb 100644
--- a/tests/baselines/reference/declarationEmit_exportAssignment.js
+++ b/tests/baselines/reference/declarationEmit_exportAssignment.js
@@ -7,7 +7,7 @@ export function bar() { }
export interface Buzz { }
//// [index.ts]
-import {foo} from "utils";
+import {foo} from "./utils";
export = foo;
//// [utils.js]
@@ -16,7 +16,7 @@ exports.foo = foo;
function bar() { }
exports.bar = bar;
//// [index.js]
-var utils_1 = require("utils");
+var utils_1 = require("./utils");
module.exports = utils_1.foo;
@@ -26,5 +26,5 @@ export declare function bar(): void;
export interface Buzz {
}
//// [index.d.ts]
-import { foo } from "utils";
+import { foo } from "./utils";
export = foo;
diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.symbols b/tests/baselines/reference/declarationEmit_exportAssignment.symbols
index b443ba6e797..d2131d27a8f 100644
--- a/tests/baselines/reference/declarationEmit_exportAssignment.symbols
+++ b/tests/baselines/reference/declarationEmit_exportAssignment.symbols
@@ -10,7 +10,7 @@ export interface Buzz { }
>Buzz : Symbol(Buzz, Decl(utils.ts, 2, 25))
=== tests/cases/compiler/index.ts ===
-import {foo} from "utils";
+import {foo} from "./utils";
>foo : Symbol(foo, Decl(index.ts, 0, 8))
export = foo;
diff --git a/tests/baselines/reference/declarationEmit_exportAssignment.types b/tests/baselines/reference/declarationEmit_exportAssignment.types
index 81c56da432f..763441b8a90 100644
--- a/tests/baselines/reference/declarationEmit_exportAssignment.types
+++ b/tests/baselines/reference/declarationEmit_exportAssignment.types
@@ -10,7 +10,7 @@ export interface Buzz { }
>Buzz : Buzz
=== tests/cases/compiler/index.ts ===
-import {foo} from "utils";
+import {foo} from "./utils";
>foo : () => void
export = foo;
diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.js b/tests/baselines/reference/declarationEmit_exportDeclaration.js
index f05639dc18f..e2cb15b408c 100644
--- a/tests/baselines/reference/declarationEmit_exportDeclaration.js
+++ b/tests/baselines/reference/declarationEmit_exportDeclaration.js
@@ -7,7 +7,7 @@ export function bar() { }
export interface Buzz { }
//// [index.ts]
-import {foo, bar, Buzz} from "utils";
+import {foo, bar, Buzz} from "./utils";
foo();
let obj: Buzz;
@@ -19,7 +19,7 @@ exports.foo = foo;
function bar() { }
exports.bar = bar;
//// [index.js]
-var utils_1 = require("utils");
+var utils_1 = require("./utils");
exports.bar = utils_1.bar;
utils_1.foo();
var obj;
@@ -31,5 +31,5 @@ export declare function bar(): void;
export interface Buzz {
}
//// [index.d.ts]
-import { bar } from "utils";
+import { bar } from "./utils";
export { bar };
diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.symbols b/tests/baselines/reference/declarationEmit_exportDeclaration.symbols
index 5cd8c5fee99..40d6bafdee5 100644
--- a/tests/baselines/reference/declarationEmit_exportDeclaration.symbols
+++ b/tests/baselines/reference/declarationEmit_exportDeclaration.symbols
@@ -10,7 +10,7 @@ export interface Buzz { }
>Buzz : Symbol(Buzz, Decl(utils.ts, 2, 25))
=== tests/cases/compiler/index.ts ===
-import {foo, bar, Buzz} from "utils";
+import {foo, bar, Buzz} from "./utils";
>foo : Symbol(foo, Decl(index.ts, 0, 8))
>bar : Symbol(bar, Decl(index.ts, 0, 12))
>Buzz : Symbol(Buzz, Decl(index.ts, 0, 17))
diff --git a/tests/baselines/reference/declarationEmit_exportDeclaration.types b/tests/baselines/reference/declarationEmit_exportDeclaration.types
index 058ee863c61..25a8f1d29bd 100644
--- a/tests/baselines/reference/declarationEmit_exportDeclaration.types
+++ b/tests/baselines/reference/declarationEmit_exportDeclaration.types
@@ -10,7 +10,7 @@ export interface Buzz { }
>Buzz : Buzz
=== tests/cases/compiler/index.ts ===
-import {foo, bar, Buzz} from "utils";
+import {foo, bar, Buzz} from "./utils";
>foo : () => void
>bar : () => void
>Buzz : any
diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.js b/tests/baselines/reference/declarationEmit_nameConflicts.js
index ae517bb7460..857fbee764d 100644
--- a/tests/baselines/reference/declarationEmit_nameConflicts.js
+++ b/tests/baselines/reference/declarationEmit_nameConflicts.js
@@ -5,7 +5,7 @@ module f { export class c { } }
export = f;
//// [declarationEmit_nameConflicts_0.ts]
-import im = require('declarationEmit_nameConflicts_1');
+import im = require('./declarationEmit_nameConflicts_1');
export module M {
export function f() { }
export class C { }
@@ -61,7 +61,7 @@ var f;
})(f || (f = {}));
module.exports = f;
//// [declarationEmit_nameConflicts_0.js]
-var im = require('declarationEmit_nameConflicts_1');
+var im = require('./declarationEmit_nameConflicts_1');
var M;
(function (M) {
function f() { }
@@ -138,7 +138,7 @@ declare module f {
}
export = f;
//// [declarationEmit_nameConflicts_0.d.ts]
-import im = require('declarationEmit_nameConflicts_1');
+import im = require('./declarationEmit_nameConflicts_1');
export declare module M {
function f(): void;
class C {
diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.symbols b/tests/baselines/reference/declarationEmit_nameConflicts.symbols
index a626ed05b15..1c5bb35b756 100644
--- a/tests/baselines/reference/declarationEmit_nameConflicts.symbols
+++ b/tests/baselines/reference/declarationEmit_nameConflicts.symbols
@@ -1,9 +1,9 @@
=== tests/cases/compiler/declarationEmit_nameConflicts_0.ts ===
-import im = require('declarationEmit_nameConflicts_1');
+import im = require('./declarationEmit_nameConflicts_1');
>im : Symbol(im, Decl(declarationEmit_nameConflicts_0.ts, 0, 0))
export module M {
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
export function f() { }
>f : Symbol(f, Decl(declarationEmit_nameConflicts_0.ts, 1, 17))
@@ -23,12 +23,12 @@ export module M {
export import a = M.f;
>a : Symbol(a, Decl(declarationEmit_nameConflicts_0.ts, 7, 5))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>f : Symbol(f, Decl(declarationEmit_nameConflicts_0.ts, 1, 17))
export import b = M.C;
>b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 9, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>C : Symbol(C, Decl(declarationEmit_nameConflicts_0.ts, 2, 27))
export import c = N;
@@ -41,7 +41,7 @@ export module M {
}
export module M.P {
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>P : Symbol(P, Decl(declarationEmit_nameConflicts_0.ts, 15, 16))
export function f() { }
@@ -61,45 +61,45 @@ export module M.P {
}
export import im = M.P.f;
>im : Symbol(im, Decl(declarationEmit_nameConflicts_0.ts, 21, 5))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>P : Symbol(P, Decl(declarationEmit_nameConflicts_0.ts, 15, 16))
>f : Symbol(f, Decl(declarationEmit_nameConflicts_0.ts, 15, 19))
export var a = M.a; // emitted incorrectly as typeof f
>a : Symbol(a, Decl(declarationEmit_nameConflicts_0.ts, 23, 14))
>M.a : Symbol(a, Decl(declarationEmit_nameConflicts_0.ts, 7, 5))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>a : Symbol(a, Decl(declarationEmit_nameConflicts_0.ts, 7, 5))
export var b = M.b; // ok
>b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 24, 14))
>M.b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 9, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 9, 26))
export var c = M.c; // ok
>c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 25, 14))
>M.c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
export var g = M.c.g; // ok
>g : Symbol(g, Decl(declarationEmit_nameConflicts_0.ts, 26, 14))
>M.c.g : Symbol(c.g, Decl(declarationEmit_nameConflicts_0.ts, 4, 21))
>M.c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
>g : Symbol(c.g, Decl(declarationEmit_nameConflicts_0.ts, 4, 21))
export var d = M.d; // emitted incorrectly as typeof im
>d : Symbol(d, Decl(declarationEmit_nameConflicts_0.ts, 27, 14))
>M.d : Symbol(d, Decl(declarationEmit_nameConflicts_0.ts, 11, 24))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>d : Symbol(d, Decl(declarationEmit_nameConflicts_0.ts, 11, 24))
}
export module M.Q {
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>Q : Symbol(Q, Decl(declarationEmit_nameConflicts_0.ts, 30, 16))
export function f() { }
@@ -120,14 +120,14 @@ export module M.Q {
export interface b extends M.b { } // ok
>b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 36, 5))
>M.b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 9, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>b : Symbol(b, Decl(declarationEmit_nameConflicts_0.ts, 9, 26))
export interface I extends M.c.I { } // ok
>I : Symbol(I, Decl(declarationEmit_nameConflicts_0.ts, 37, 38))
>M.c.I : Symbol(M.c.I, Decl(declarationEmit_nameConflicts_0.ts, 5, 32))
>M.c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
>I : Symbol(M.c.I, Decl(declarationEmit_nameConflicts_0.ts, 5, 32))
@@ -138,7 +138,7 @@ export module M.Q {
>I : Symbol(I, Decl(declarationEmit_nameConflicts_0.ts, 39, 21))
>M.c.I : Symbol(M.c.I, Decl(declarationEmit_nameConflicts_0.ts, 5, 32))
>M.c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
->M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 55), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
+>M : Symbol(M, Decl(declarationEmit_nameConflicts_0.ts, 0, 57), Decl(declarationEmit_nameConflicts_0.ts, 13, 1), Decl(declarationEmit_nameConflicts_0.ts, 28, 1))
>c : Symbol(c, Decl(declarationEmit_nameConflicts_0.ts, 10, 26))
>I : Symbol(M.c.I, Decl(declarationEmit_nameConflicts_0.ts, 5, 32))
}
diff --git a/tests/baselines/reference/declarationEmit_nameConflicts.types b/tests/baselines/reference/declarationEmit_nameConflicts.types
index dacd657706d..6ea650946c5 100644
--- a/tests/baselines/reference/declarationEmit_nameConflicts.types
+++ b/tests/baselines/reference/declarationEmit_nameConflicts.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/declarationEmit_nameConflicts_0.ts ===
-import im = require('declarationEmit_nameConflicts_1');
+import im = require('./declarationEmit_nameConflicts_1');
>im : typeof im
export module M {
diff --git a/tests/baselines/reference/defaultExportsCannotMerge01.errors.txt b/tests/baselines/reference/defaultExportsCannotMerge01.errors.txt
index be08d976eeb..15c60e32d9f 100644
--- a/tests/baselines/reference/defaultExportsCannotMerge01.errors.txt
+++ b/tests/baselines/reference/defaultExportsCannotMerge01.errors.txt
@@ -1,9 +1,6 @@
tests/cases/conformance/es6/modules/m1.ts(2,25): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
tests/cases/conformance/es6/modules/m1.ts(11,18): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
-tests/cases/conformance/es6/modules/m2.ts(5,8): error TS2304: Cannot find name 'Entity'.
-tests/cases/conformance/es6/modules/m2.ts(6,8): error TS2503: Cannot find namespace 'Entity'.
-tests/cases/conformance/es6/modules/m2.ts(8,8): error TS2339: Property 'x' does not exist on type '() => number'.
-tests/cases/conformance/es6/modules/m2.ts(9,8): error TS2339: Property 'y' does not exist on type '() => number'.
+tests/cases/conformance/es6/modules/m2.ts(1,20): error TS2307: Cannot find module 'm1'.
==== tests/cases/conformance/es6/modules/m1.ts (2 errors) ====
@@ -29,21 +26,15 @@ tests/cases/conformance/es6/modules/m2.ts(9,8): error TS2339: Property 'y' does
}
}
-==== tests/cases/conformance/es6/modules/m2.ts (4 errors) ====
+==== tests/cases/conformance/es6/modules/m2.ts (1 errors) ====
import Entity from "m1"
+ ~~~~
+!!! error TS2307: Cannot find module 'm1'.
Entity();
var x: Entity;
- ~~~~~~
-!!! error TS2304: Cannot find name 'Entity'.
var y: Entity.I;
- ~~~~~~
-!!! error TS2503: Cannot find namespace 'Entity'.
Entity.x;
- ~
-!!! error TS2339: Property 'x' does not exist on type '() => number'.
- Entity.y;
- ~
-!!! error TS2339: Property 'y' does not exist on type '() => number'.
\ No newline at end of file
+ Entity.y;
\ No newline at end of file
diff --git a/tests/baselines/reference/defaultExportsCannotMerge02.errors.txt b/tests/baselines/reference/defaultExportsCannotMerge02.errors.txt
index ad9b85c7e94..30bab504c7e 100644
--- a/tests/baselines/reference/defaultExportsCannotMerge02.errors.txt
+++ b/tests/baselines/reference/defaultExportsCannotMerge02.errors.txt
@@ -1,9 +1,6 @@
tests/cases/conformance/es6/modules/m1.ts(2,22): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
tests/cases/conformance/es6/modules/m1.ts(5,18): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
-tests/cases/conformance/es6/modules/m2.ts(3,1): error TS2348: Value of type 'typeof Decl' is not callable. Did you mean to include 'new'?
-tests/cases/conformance/es6/modules/m2.ts(6,8): error TS2503: Cannot find namespace 'Entity'.
-tests/cases/conformance/es6/modules/m2.ts(8,13): error TS2339: Property 'p1' does not exist on type 'Decl'.
-tests/cases/conformance/es6/modules/m2.ts(8,20): error TS2339: Property 'p2' does not exist on type 'Decl'.
+tests/cases/conformance/es6/modules/m2.ts(1,20): error TS2307: Cannot find module 'm1'.
==== tests/cases/conformance/es6/modules/m1.ts (2 errors) ====
@@ -25,20 +22,14 @@ tests/cases/conformance/es6/modules/m2.ts(8,20): error TS2339: Property 'p2' doe
}
}
-==== tests/cases/conformance/es6/modules/m2.ts (4 errors) ====
+==== tests/cases/conformance/es6/modules/m2.ts (1 errors) ====
import Entity from "m1"
+ ~~~~
+!!! error TS2307: Cannot find module 'm1'.
Entity();
- ~~~~~~~~
-!!! error TS2348: Value of type 'typeof Decl' is not callable. Did you mean to include 'new'?
var x: Entity;
var y: Entity.I;
- ~~~~~~
-!!! error TS2503: Cannot find namespace 'Entity'.
var z = new Entity();
- var sum = z.p1 + z.p2
- ~~
-!!! error TS2339: Property 'p1' does not exist on type 'Decl'.
- ~~
-!!! error TS2339: Property 'p2' does not exist on type 'Decl'.
\ No newline at end of file
+ var sum = z.p1 + z.p2
\ No newline at end of file
diff --git a/tests/baselines/reference/defaultExportsCannotMerge03.errors.txt b/tests/baselines/reference/defaultExportsCannotMerge03.errors.txt
index b1d405671e3..11e9c63b893 100644
--- a/tests/baselines/reference/defaultExportsCannotMerge03.errors.txt
+++ b/tests/baselines/reference/defaultExportsCannotMerge03.errors.txt
@@ -1,10 +1,7 @@
tests/cases/conformance/es6/modules/m1.ts(2,22): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
tests/cases/conformance/es6/modules/m1.ts(5,11): error TS2518: Only an ambient class can be merged with an interface.
tests/cases/conformance/es6/modules/m1.ts(5,11): error TS2652: Merged declaration 'Decl' cannot include a default export declaration. Consider adding a separate 'export default Decl' declaration instead.
-tests/cases/conformance/es6/modules/m2.ts(3,1): error TS2348: Value of type 'typeof Decl' is not callable. Did you mean to include 'new'?
-tests/cases/conformance/es6/modules/m2.ts(6,8): error TS2503: Cannot find namespace 'Entity'.
-tests/cases/conformance/es6/modules/m2.ts(8,13): error TS2339: Property 'p1' does not exist on type 'Decl'.
-tests/cases/conformance/es6/modules/m2.ts(8,20): error TS2339: Property 'p2' does not exist on type 'Decl'.
+tests/cases/conformance/es6/modules/m2.ts(1,20): error TS2307: Cannot find module 'm1'.
==== tests/cases/conformance/es6/modules/m1.ts (3 errors) ====
@@ -28,20 +25,14 @@ tests/cases/conformance/es6/modules/m2.ts(8,20): error TS2339: Property 'p2' doe
}
}
-==== tests/cases/conformance/es6/modules/m2.ts (4 errors) ====
+==== tests/cases/conformance/es6/modules/m2.ts (1 errors) ====
import Entity from "m1"
+ ~~~~
+!!! error TS2307: Cannot find module 'm1'.
Entity();
- ~~~~~~~~
-!!! error TS2348: Value of type 'typeof Decl' is not callable. Did you mean to include 'new'?
var x: Entity;
var y: Entity.I;
- ~~~~~~
-!!! error TS2503: Cannot find namespace 'Entity'.
var z = new Entity();
- var sum = z.p1 + z.p2
- ~~
-!!! error TS2339: Property 'p1' does not exist on type 'Decl'.
- ~~
-!!! error TS2339: Property 'p2' does not exist on type 'Decl'.
\ No newline at end of file
+ var sum = z.p1 + z.p2
\ No newline at end of file
diff --git a/tests/baselines/reference/elidingImportNames.js b/tests/baselines/reference/elidingImportNames.js
index 3c61789a1a7..e07ee6fa54a 100644
--- a/tests/baselines/reference/elidingImportNames.js
+++ b/tests/baselines/reference/elidingImportNames.js
@@ -2,10 +2,10 @@
//// [elidingImportNames_test.ts]
-import a = require('elidingImportNames_main'); // alias used in typeof
+import a = require('./elidingImportNames_main'); // alias used in typeof
var b = a;
var x: typeof a;
-import a2 = require('elidingImportNames_main1'); // alias not used in typeof
+import a2 = require('./elidingImportNames_main1'); // alias not used in typeof
var b2 = a2;
@@ -20,8 +20,8 @@ exports.main = 10;
//// [elidingImportNames_main1.js]
exports.main = 10;
//// [elidingImportNames_test.js]
-var a = require('elidingImportNames_main'); // alias used in typeof
+var a = require('./elidingImportNames_main'); // alias used in typeof
var b = a;
var x;
-var a2 = require('elidingImportNames_main1'); // alias not used in typeof
+var a2 = require('./elidingImportNames_main1'); // alias not used in typeof
var b2 = a2;
diff --git a/tests/baselines/reference/elidingImportNames.symbols b/tests/baselines/reference/elidingImportNames.symbols
index 02646b5c3e2..d9cdcd61ffe 100644
--- a/tests/baselines/reference/elidingImportNames.symbols
+++ b/tests/baselines/reference/elidingImportNames.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/elidingImportNames_test.ts ===
-import a = require('elidingImportNames_main'); // alias used in typeof
+import a = require('./elidingImportNames_main'); // alias used in typeof
>a : Symbol(a, Decl(elidingImportNames_test.ts, 0, 0))
var b = a;
@@ -11,7 +11,7 @@ var x: typeof a;
>x : Symbol(x, Decl(elidingImportNames_test.ts, 3, 3))
>a : Symbol(a, Decl(elidingImportNames_test.ts, 0, 0))
-import a2 = require('elidingImportNames_main1'); // alias not used in typeof
+import a2 = require('./elidingImportNames_main1'); // alias not used in typeof
>a2 : Symbol(a2, Decl(elidingImportNames_test.ts, 3, 16))
var b2 = a2;
diff --git a/tests/baselines/reference/elidingImportNames.types b/tests/baselines/reference/elidingImportNames.types
index 65bd16a6d97..947cd38f6d4 100644
--- a/tests/baselines/reference/elidingImportNames.types
+++ b/tests/baselines/reference/elidingImportNames.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/elidingImportNames_test.ts ===
-import a = require('elidingImportNames_main'); // alias used in typeof
+import a = require('./elidingImportNames_main'); // alias used in typeof
>a : typeof a
var b = a;
@@ -11,7 +11,7 @@ var x: typeof a;
>x : typeof a
>a : typeof a
-import a2 = require('elidingImportNames_main1'); // alias not used in typeof
+import a2 = require('./elidingImportNames_main1'); // alias not used in typeof
>a2 : typeof a2
var b2 = a2;
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter01.js b/tests/baselines/reference/emptyArrayBindingPatternParameter01.js
index 5723c74f117..1eb76741e84 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter01.js
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter01.js
@@ -1,6 +1,5 @@
//// [emptyArrayBindingPatternParameter01.ts]
-
function f([]) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f([]) {
function f(_a) {
var x, y, z;
}
+
+
+//// [emptyArrayBindingPatternParameter01.d.ts]
+declare function f([]: any[]): void;
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter01.symbols b/tests/baselines/reference/emptyArrayBindingPatternParameter01.symbols
index f5089ce5850..e1630be639b 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter01.symbols
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter01.symbols
@@ -1,11 +1,10 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts ===
-
function f([]) {
>f : Symbol(f, Decl(emptyArrayBindingPatternParameter01.ts, 0, 0))
var x, y, z;
->x : Symbol(x, Decl(emptyArrayBindingPatternParameter01.ts, 3, 7))
->y : Symbol(y, Decl(emptyArrayBindingPatternParameter01.ts, 3, 10))
->z : Symbol(z, Decl(emptyArrayBindingPatternParameter01.ts, 3, 13))
+>x : Symbol(x, Decl(emptyArrayBindingPatternParameter01.ts, 2, 7))
+>y : Symbol(y, Decl(emptyArrayBindingPatternParameter01.ts, 2, 10))
+>z : Symbol(z, Decl(emptyArrayBindingPatternParameter01.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter01.types b/tests/baselines/reference/emptyArrayBindingPatternParameter01.types
index 7ef40d52d59..4ca0b892ecf 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter01.types
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter01.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts ===
-
function f([]) {
>f : ([]: any[]) => void
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter02.js b/tests/baselines/reference/emptyArrayBindingPatternParameter02.js
index dbd86e843a8..d6dda16e12f 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter02.js
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter02.js
@@ -1,6 +1,5 @@
//// [emptyArrayBindingPatternParameter02.ts]
-
function f(a, []) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f(a, []) {
function f(a, _a) {
var x, y, z;
}
+
+
+//// [emptyArrayBindingPatternParameter02.d.ts]
+declare function f(a: any, []: any[]): void;
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter02.symbols b/tests/baselines/reference/emptyArrayBindingPatternParameter02.symbols
index 48cdcfaf93d..3289c06f962 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter02.symbols
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter02.symbols
@@ -1,12 +1,11 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts ===
-
function f(a, []) {
>f : Symbol(f, Decl(emptyArrayBindingPatternParameter02.ts, 0, 0))
->a : Symbol(a, Decl(emptyArrayBindingPatternParameter02.ts, 2, 11))
+>a : Symbol(a, Decl(emptyArrayBindingPatternParameter02.ts, 1, 11))
var x, y, z;
->x : Symbol(x, Decl(emptyArrayBindingPatternParameter02.ts, 3, 7))
->y : Symbol(y, Decl(emptyArrayBindingPatternParameter02.ts, 3, 10))
->z : Symbol(z, Decl(emptyArrayBindingPatternParameter02.ts, 3, 13))
+>x : Symbol(x, Decl(emptyArrayBindingPatternParameter02.ts, 2, 7))
+>y : Symbol(y, Decl(emptyArrayBindingPatternParameter02.ts, 2, 10))
+>z : Symbol(z, Decl(emptyArrayBindingPatternParameter02.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter02.types b/tests/baselines/reference/emptyArrayBindingPatternParameter02.types
index a58fe6b91d3..34d9e7dde6b 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter02.types
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter02.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts ===
-
function f(a, []) {
>f : (a: any, []: any[]) => void
>a : any
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter03.js b/tests/baselines/reference/emptyArrayBindingPatternParameter03.js
index e2c3f7196e6..4867b39ac2f 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter03.js
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter03.js
@@ -1,6 +1,5 @@
//// [emptyArrayBindingPatternParameter03.ts]
-
function f(a, []) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f(a, []) {
function f(a, _a) {
var x, y, z;
}
+
+
+//// [emptyArrayBindingPatternParameter03.d.ts]
+declare function f(a: any, []: any[]): void;
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter03.symbols b/tests/baselines/reference/emptyArrayBindingPatternParameter03.symbols
index d3ec078df78..86a95687310 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter03.symbols
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter03.symbols
@@ -1,12 +1,11 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts ===
-
function f(a, []) {
>f : Symbol(f, Decl(emptyArrayBindingPatternParameter03.ts, 0, 0))
->a : Symbol(a, Decl(emptyArrayBindingPatternParameter03.ts, 2, 11))
+>a : Symbol(a, Decl(emptyArrayBindingPatternParameter03.ts, 1, 11))
var x, y, z;
->x : Symbol(x, Decl(emptyArrayBindingPatternParameter03.ts, 3, 7))
->y : Symbol(y, Decl(emptyArrayBindingPatternParameter03.ts, 3, 10))
->z : Symbol(z, Decl(emptyArrayBindingPatternParameter03.ts, 3, 13))
+>x : Symbol(x, Decl(emptyArrayBindingPatternParameter03.ts, 2, 7))
+>y : Symbol(y, Decl(emptyArrayBindingPatternParameter03.ts, 2, 10))
+>z : Symbol(z, Decl(emptyArrayBindingPatternParameter03.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter03.types b/tests/baselines/reference/emptyArrayBindingPatternParameter03.types
index 43f0af63ace..1c5579ebe36 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter03.types
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter03.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts ===
-
function f(a, []) {
>f : (a: any, []: any[]) => void
>a : any
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter04.js b/tests/baselines/reference/emptyArrayBindingPatternParameter04.js
index e0715499ffe..c9819c88f40 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter04.js
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter04.js
@@ -1,6 +1,5 @@
//// [emptyArrayBindingPatternParameter04.ts]
-
function f([] = [1,2,3,4]) {
var x, y, z;
}
@@ -10,3 +9,7 @@ function f(_a) {
var _a = [1, 2, 3, 4];
var x, y, z;
}
+
+
+//// [emptyArrayBindingPatternParameter04.d.ts]
+declare function f([]?: number[]): void;
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter04.symbols b/tests/baselines/reference/emptyArrayBindingPatternParameter04.symbols
index bb76a2c5925..9f4c9bae0c6 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter04.symbols
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter04.symbols
@@ -1,11 +1,10 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts ===
-
function f([] = [1,2,3,4]) {
>f : Symbol(f, Decl(emptyArrayBindingPatternParameter04.ts, 0, 0))
var x, y, z;
->x : Symbol(x, Decl(emptyArrayBindingPatternParameter04.ts, 3, 7))
->y : Symbol(y, Decl(emptyArrayBindingPatternParameter04.ts, 3, 10))
->z : Symbol(z, Decl(emptyArrayBindingPatternParameter04.ts, 3, 13))
+>x : Symbol(x, Decl(emptyArrayBindingPatternParameter04.ts, 2, 7))
+>y : Symbol(y, Decl(emptyArrayBindingPatternParameter04.ts, 2, 10))
+>z : Symbol(z, Decl(emptyArrayBindingPatternParameter04.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyArrayBindingPatternParameter04.types b/tests/baselines/reference/emptyArrayBindingPatternParameter04.types
index 6f00a994f7b..834eb41b34d 100644
--- a/tests/baselines/reference/emptyArrayBindingPatternParameter04.types
+++ b/tests/baselines/reference/emptyArrayBindingPatternParameter04.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts ===
-
function f([] = [1,2,3,4]) {
>f : ([]?: number[]) => void
>[1,2,3,4] : number[]
diff --git a/tests/baselines/reference/emptyAssignmentPatterns01_ES5.js b/tests/baselines/reference/emptyAssignmentPatterns01_ES5.js
index b89db88e5e5..fe0a642c51e 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns01_ES5.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns01_ES5.js
@@ -9,3 +9,7 @@ var a: any;
var a;
(a);
(a);
+
+
+//// [emptyAssignmentPatterns01_ES5.d.ts]
+declare var a: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns01_ES6.js b/tests/baselines/reference/emptyAssignmentPatterns01_ES6.js
index fe311ac9061..4cf33452d98 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns01_ES6.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns01_ES6.js
@@ -9,3 +9,7 @@ var a: any;
var a;
({} = a);
([] = a);
+
+
+//// [emptyAssignmentPatterns01_ES6.d.ts]
+declare var a: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js b/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js
index 7b9f1f402f9..27a0b5f9b61 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns02_ES5.js
@@ -11,3 +11,8 @@ var a;
var x, y, z, a1, a2, a3;
((x = a.x, y = a.y, z = a.z, a));
((a1 = a[0], a2 = a[1], a3 = a[2], a));
+
+
+//// [emptyAssignmentPatterns02_ES5.d.ts]
+declare var a: any;
+declare let x: any, y: any, z: any, a1: any, a2: any, a3: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns02_ES6.js b/tests/baselines/reference/emptyAssignmentPatterns02_ES6.js
index e9783c7e57d..493246c9473 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns02_ES6.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns02_ES6.js
@@ -11,3 +11,8 @@ var a;
let x, y, z, a1, a2, a3;
({} = { x, y, z } = a);
([] = [a1, a2, a3] = a);
+
+
+//// [emptyAssignmentPatterns02_ES6.d.ts]
+declare var a: any;
+declare let x: any, y: any, z: any, a1: any, a2: any, a3: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns03_ES5.js b/tests/baselines/reference/emptyAssignmentPatterns03_ES5.js
index d9ff8ba9ede..adaad2e3b63 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns03_ES5.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns03_ES5.js
@@ -9,3 +9,7 @@ var a: any;
var a;
(a);
(a);
+
+
+//// [emptyAssignmentPatterns03_ES5.d.ts]
+declare var a: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns03_ES6.js b/tests/baselines/reference/emptyAssignmentPatterns03_ES6.js
index 95bfdfefa52..8050cc1e47a 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns03_ES6.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns03_ES6.js
@@ -9,3 +9,7 @@ var a: any;
var a;
({} = {} = a);
([] = [] = a);
+
+
+//// [emptyAssignmentPatterns03_ES6.d.ts]
+declare var a: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns04_ES5.js b/tests/baselines/reference/emptyAssignmentPatterns04_ES5.js
index 7e342d08e39..e6b3cc7e3f2 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns04_ES5.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns04_ES5.js
@@ -12,3 +12,8 @@ var x, y, z, a1, a2, a3;
(_a = a, x = _a.x, y = _a.y, z = _a.z, _a);
(_b = a, a1 = _b[0], a2 = _b[1], a3 = _b[2], _b);
var _a, _b;
+
+
+//// [emptyAssignmentPatterns04_ES5.d.ts]
+declare var a: any;
+declare let x: any, y: any, z: any, a1: any, a2: any, a3: any;
diff --git a/tests/baselines/reference/emptyAssignmentPatterns04_ES6.js b/tests/baselines/reference/emptyAssignmentPatterns04_ES6.js
index eabc2678c05..fb52975d6d1 100644
--- a/tests/baselines/reference/emptyAssignmentPatterns04_ES6.js
+++ b/tests/baselines/reference/emptyAssignmentPatterns04_ES6.js
@@ -11,3 +11,8 @@ var a;
let x, y, z, a1, a2, a3;
({ x, y, z } = {} = a);
([a1, a2, a3] = [] = a);
+
+
+//// [emptyAssignmentPatterns04_ES6.d.ts]
+declare var a: any;
+declare let x: any, y: any, z: any, a1: any, a2: any, a3: any;
diff --git a/tests/baselines/reference/emptyModuleName.errors.txt b/tests/baselines/reference/emptyModuleName.errors.txt
new file mode 100644
index 00000000000..16f04b247ea
--- /dev/null
+++ b/tests/baselines/reference/emptyModuleName.errors.txt
@@ -0,0 +1,9 @@
+tests/cases/compiler/emptyModuleName.ts(1,20): error TS2307: Cannot find module ''.
+
+
+==== tests/cases/compiler/emptyModuleName.ts (1 errors) ====
+ import * as A from "";
+ ~~
+!!! error TS2307: Cannot find module ''.
+ class B extends A {
+ }
\ No newline at end of file
diff --git a/tests/baselines/reference/emptyModuleName.js b/tests/baselines/reference/emptyModuleName.js
new file mode 100644
index 00000000000..bb870f717c1
--- /dev/null
+++ b/tests/baselines/reference/emptyModuleName.js
@@ -0,0 +1,19 @@
+//// [emptyModuleName.ts]
+import * as A from "";
+class B extends A {
+}
+
+//// [emptyModuleName.js]
+var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+};
+var A = require("");
+var B = (function (_super) {
+ __extends(B, _super);
+ function B() {
+ _super.apply(this, arguments);
+ }
+ return B;
+})(A);
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter01.js b/tests/baselines/reference/emptyObjectBindingPatternParameter01.js
index 28cc30d2a0b..6a8ec808cd0 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter01.js
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter01.js
@@ -1,6 +1,5 @@
//// [emptyObjectBindingPatternParameter01.ts]
-
function f({}) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f({}) {
function f(_a) {
var x, y, z;
}
+
+
+//// [emptyObjectBindingPatternParameter01.d.ts]
+declare function f({}: {}): void;
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter01.symbols b/tests/baselines/reference/emptyObjectBindingPatternParameter01.symbols
index 98829df994f..3ef5898c29a 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter01.symbols
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter01.symbols
@@ -1,11 +1,10 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts ===
-
function f({}) {
>f : Symbol(f, Decl(emptyObjectBindingPatternParameter01.ts, 0, 0))
var x, y, z;
->x : Symbol(x, Decl(emptyObjectBindingPatternParameter01.ts, 3, 7))
->y : Symbol(y, Decl(emptyObjectBindingPatternParameter01.ts, 3, 10))
->z : Symbol(z, Decl(emptyObjectBindingPatternParameter01.ts, 3, 13))
+>x : Symbol(x, Decl(emptyObjectBindingPatternParameter01.ts, 2, 7))
+>y : Symbol(y, Decl(emptyObjectBindingPatternParameter01.ts, 2, 10))
+>z : Symbol(z, Decl(emptyObjectBindingPatternParameter01.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter01.types b/tests/baselines/reference/emptyObjectBindingPatternParameter01.types
index c46569ea770..05ddc54719c 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter01.types
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter01.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts ===
-
function f({}) {
>f : ({}: {}) => void
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter02.js b/tests/baselines/reference/emptyObjectBindingPatternParameter02.js
index 8488428ea51..be2bdcab298 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter02.js
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter02.js
@@ -1,6 +1,5 @@
//// [emptyObjectBindingPatternParameter02.ts]
-
function f(a, {}) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f(a, {}) {
function f(a, _a) {
var x, y, z;
}
+
+
+//// [emptyObjectBindingPatternParameter02.d.ts]
+declare function f(a: any, {}: {}): void;
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter02.symbols b/tests/baselines/reference/emptyObjectBindingPatternParameter02.symbols
index fb0fa946b6f..d5bb4f292aa 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter02.symbols
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter02.symbols
@@ -1,12 +1,11 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts ===
-
function f(a, {}) {
>f : Symbol(f, Decl(emptyObjectBindingPatternParameter02.ts, 0, 0))
->a : Symbol(a, Decl(emptyObjectBindingPatternParameter02.ts, 2, 11))
+>a : Symbol(a, Decl(emptyObjectBindingPatternParameter02.ts, 1, 11))
var x, y, z;
->x : Symbol(x, Decl(emptyObjectBindingPatternParameter02.ts, 3, 7))
->y : Symbol(y, Decl(emptyObjectBindingPatternParameter02.ts, 3, 10))
->z : Symbol(z, Decl(emptyObjectBindingPatternParameter02.ts, 3, 13))
+>x : Symbol(x, Decl(emptyObjectBindingPatternParameter02.ts, 2, 7))
+>y : Symbol(y, Decl(emptyObjectBindingPatternParameter02.ts, 2, 10))
+>z : Symbol(z, Decl(emptyObjectBindingPatternParameter02.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter02.types b/tests/baselines/reference/emptyObjectBindingPatternParameter02.types
index 0a77fac8588..e2b485538e6 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter02.types
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter02.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts ===
-
function f(a, {}) {
>f : (a: any, {}: {}) => void
>a : any
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter03.js b/tests/baselines/reference/emptyObjectBindingPatternParameter03.js
index 0279744e386..320bfe2d0df 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter03.js
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter03.js
@@ -1,6 +1,5 @@
//// [emptyObjectBindingPatternParameter03.ts]
-
function f({}, a) {
var x, y, z;
}
@@ -9,3 +8,7 @@ function f({}, a) {
function f(_a, a) {
var x, y, z;
}
+
+
+//// [emptyObjectBindingPatternParameter03.d.ts]
+declare function f({}: {}, a: any): void;
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter03.symbols b/tests/baselines/reference/emptyObjectBindingPatternParameter03.symbols
index 4e658e21ccf..82a1bcee75b 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter03.symbols
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter03.symbols
@@ -1,12 +1,11 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts ===
-
function f({}, a) {
>f : Symbol(f, Decl(emptyObjectBindingPatternParameter03.ts, 0, 0))
->a : Symbol(a, Decl(emptyObjectBindingPatternParameter03.ts, 2, 14))
+>a : Symbol(a, Decl(emptyObjectBindingPatternParameter03.ts, 1, 14))
var x, y, z;
->x : Symbol(x, Decl(emptyObjectBindingPatternParameter03.ts, 3, 7))
->y : Symbol(y, Decl(emptyObjectBindingPatternParameter03.ts, 3, 10))
->z : Symbol(z, Decl(emptyObjectBindingPatternParameter03.ts, 3, 13))
+>x : Symbol(x, Decl(emptyObjectBindingPatternParameter03.ts, 2, 7))
+>y : Symbol(y, Decl(emptyObjectBindingPatternParameter03.ts, 2, 10))
+>z : Symbol(z, Decl(emptyObjectBindingPatternParameter03.ts, 2, 13))
}
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter03.types b/tests/baselines/reference/emptyObjectBindingPatternParameter03.types
index 873c748dd9b..0f89702402a 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter03.types
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter03.types
@@ -1,6 +1,5 @@
=== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts ===
-
function f({}, a) {
>f : ({}: {}, a: any) => void
>a : any
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter04.errors.txt b/tests/baselines/reference/emptyObjectBindingPatternParameter04.errors.txt
index cf1b0e9a9a1..03b58378a0f 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter04.errors.txt
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter04.errors.txt
@@ -1,11 +1,10 @@
-tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(3,18): error TS2353: Object literal may only specify known properties, and 'a' does not exist in type '{}'.
-tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(3,24): error TS2353: Object literal may only specify known properties, and 'b' does not exist in type '{}'.
-tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(3,32): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type '{}'.
+tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(2,18): error TS2353: Object literal may only specify known properties, and 'a' does not exist in type '{}'.
+tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(2,24): error TS2353: Object literal may only specify known properties, and 'b' does not exist in type '{}'.
+tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts(2,32): error TS2353: Object literal may only specify known properties, and 'c' does not exist in type '{}'.
==== tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts (3 errors) ====
-
function f({} = {a: 1, b: "2", c: true}) {
~
!!! error TS2353: Object literal may only specify known properties, and 'a' does not exist in type '{}'.
diff --git a/tests/baselines/reference/emptyObjectBindingPatternParameter04.js b/tests/baselines/reference/emptyObjectBindingPatternParameter04.js
index fc3e41d0709..8c128bb806e 100644
--- a/tests/baselines/reference/emptyObjectBindingPatternParameter04.js
+++ b/tests/baselines/reference/emptyObjectBindingPatternParameter04.js
@@ -1,6 +1,5 @@
//// [emptyObjectBindingPatternParameter04.ts]
-
function f({} = {a: 1, b: "2", c: true}) {
var x, y, z;
}
@@ -10,3 +9,11 @@ function f(_a) {
var _a = { a: 1, b: "2", c: true };
var x, y, z;
}
+
+
+//// [emptyObjectBindingPatternParameter04.d.ts]
+declare function f({}?: {
+ a: number;
+ b: string;
+ c: boolean;
+}): void;
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js
new file mode 100644
index 00000000000..11c4f4e1807
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.js
@@ -0,0 +1,101 @@
+//// [emptyVariableDeclarationBindingPatterns01_ES5.ts]
+
+(function () {
+ var a: any;
+
+ var {} = a;
+ let {} = a;
+ const {} = a;
+
+ var [] = a;
+ let [] = a;
+ const [] = a;
+
+ var {} = a, [] = a;
+ let {} = a, [] = a;
+ const {} = a, [] = a;
+
+ var { p1: {}, p2: [] } = a;
+ let { p1: {}, p2: [] } = a;
+ const { p1: {}, p2: [] } = a;
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+
+ for (var {} of ns) {
+ }
+
+ for (let {} of ns) {
+ }
+
+ for (const {} of ns) {
+ }
+
+ for (var [] of ns) {
+ }
+
+ for (let [] of ns) {
+ }
+
+ for (const [] of ns) {
+ }
+})();
+
+//// [emptyVariableDeclarationBindingPatterns01_ES5.js]
+(function () {
+ var a;
+ var _a = a;
+ var _b = a;
+ var _c = a;
+ var _d = a;
+ var _e = a;
+ var _f = a;
+ var _g = a, _h = a;
+ var _j = a, _k = a;
+ var _l = a, _m = a;
+ var _o = a.p1, _p = a.p2;
+ var _q = a.p1, _r = a.p2;
+ var _s = a.p1, _t = a.p2;
+ for (var _u = {}, _v = {}; false; void 0) {
+ }
+ function f(_a, _b, _c) {
+ var _a = a;
+ var _b = a;
+ var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d;
+ return function (_a, _b, _c) {
+ var _a = a;
+ var _b = a;
+ var _d = (_c === void 0 ? a : _c).p, _e = _d === void 0 ? a : _d;
+ return a;
+ };
+ }
+})();
+(function () {
+ var ns = [];
+ for (var _i = 0; _i < ns.length; _i++) {
+ var _a = ns[_i];
+ }
+ for (var _b = 0; _b < ns.length; _b++) {
+ var _c = ns[_b];
+ }
+ for (var _d = 0; _d < ns.length; _d++) {
+ var _e = ns[_d];
+ }
+ for (var _f = 0; _f < ns.length; _f++) {
+ var _g = ns[_f];
+ }
+ for (var _h = 0; _h < ns.length; _h++) {
+ var _j = ns[_h];
+ }
+ for (var _k = 0; _k < ns.length; _k++) {
+ var _l = ns[_k];
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.symbols b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.symbols
new file mode 100644
index 00000000000..ddba9738e08
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.symbols
@@ -0,0 +1,92 @@
+=== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES5.ts ===
+
+(function () {
+ var a: any;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ var {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ let {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ const {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ var [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ let [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ const [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ var {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ let {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ const {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ var { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ let { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ const { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+>f : Symbol(f, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 21, 5))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 2, 7))
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+
+ for (var {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+
+ for (let {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+
+ for (const {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+
+ for (var [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+
+ for (let [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+
+ for (const [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES5.ts, 29, 9))
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types
new file mode 100644
index 00000000000..ed6b935db0f
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES5.types
@@ -0,0 +1,115 @@
+=== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES5.ts ===
+
+(function () {
+>(function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }})() : void
+>(function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }}) : () => void
+>function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }} : () => void
+
+ var a: any;
+>a : any
+
+ var {} = a;
+>a : any
+
+ let {} = a;
+>a : any
+
+ const {} = a;
+>a : any
+
+ var [] = a;
+>a : any
+
+ let [] = a;
+>a : any
+
+ const [] = a;
+>a : any
+
+ var {} = a, [] = a;
+>a : any
+>a : any
+
+ let {} = a, [] = a;
+>a : any
+>a : any
+
+ const {} = a, [] = a;
+>a : any
+>a : any
+
+ var { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ let { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ const { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ for (var {} = {}, {} = {}; false; void 0) {
+>{} : {}
+>{} : {}
+>false : boolean
+>void 0 : undefined
+>0 : number
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+>f : ({}?: any, []?: any, { p: {} = a}?: any) => ({}?: any, []?: any, { p: {} = a }?: any) => any
+>a : any
+>a : any
+>p : any
+>a : any
+>a : any
+
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, { p: {} = a }?: any) => any
+>a : any
+>a : any
+>p : any
+>a : any
+>a : any
+>a : any
+ }
+})();
+
+(function () {
+>(function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }})() : void
+>(function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }}) : () => void
+>function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }} : () => void
+
+ const ns: number[][] = [];
+>ns : number[][]
+>[] : undefined[]
+
+ for (var {} of ns) {
+>ns : number[][]
+ }
+
+ for (let {} of ns) {
+>ns : number[][]
+ }
+
+ for (const {} of ns) {
+>ns : number[][]
+ }
+
+ for (var [] of ns) {
+>ns : number[][]
+ }
+
+ for (let [] of ns) {
+>ns : number[][]
+ }
+
+ for (const [] of ns) {
+>ns : number[][]
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js
new file mode 100644
index 00000000000..1303ab1e3d0
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.js
@@ -0,0 +1,87 @@
+//// [emptyVariableDeclarationBindingPatterns01_ES6.ts]
+
+(function () {
+ var a: any;
+
+ var {} = a;
+ let {} = a;
+ const {} = a;
+
+ var [] = a;
+ let [] = a;
+ const [] = a;
+
+ var {} = a, [] = a;
+ let {} = a, [] = a;
+ const {} = a, [] = a;
+
+ var { p1: {}, p2: [] } = a;
+ let { p1: {}, p2: [] } = a;
+ const { p1: {}, p2: [] } = a;
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+
+ for (var {} of ns) {
+ }
+
+ for (let {} of ns) {
+ }
+
+ for (const {} of ns) {
+ }
+
+ for (var [] of ns) {
+ }
+
+ for (let [] of ns) {
+ }
+
+ for (const [] of ns) {
+ }
+})();
+
+//// [emptyVariableDeclarationBindingPatterns01_ES6.js]
+(function () {
+ var a;
+ var { } = a;
+ let { } = a;
+ const { } = a;
+ var [] = a;
+ let [] = a;
+ const [] = a;
+ var { } = a, [] = a;
+ let { } = a, [] = a;
+ const { } = a, [] = a;
+ var { p1: { }, p2: [] } = a;
+ let { p1: { }, p2: [] } = a;
+ const { p1: { }, p2: [] } = a;
+ for (var { } = {}, { } = {}; false; void 0) {
+ }
+ function f({ } = a, [] = a, { p: { } = a } = a) {
+ return ({ } = a, [] = a, { p: { } = a } = a) => a;
+ }
+})();
+(function () {
+ const ns = [];
+ for (var { } of ns) {
+ }
+ for (let { } of ns) {
+ }
+ for (const { } of ns) {
+ }
+ for (var [] of ns) {
+ }
+ for (let [] of ns) {
+ }
+ for (const [] of ns) {
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.symbols b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.symbols
new file mode 100644
index 00000000000..6a826d4b6c9
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.symbols
@@ -0,0 +1,92 @@
+=== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES6.ts ===
+
+(function () {
+ var a: any;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ var {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ let {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ const {} = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ var [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ let [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ const [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ var {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ let {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ const {} = a, [] = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ var { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ let { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ const { p1: {}, p2: [] } = a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+>f : Symbol(f, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 21, 5))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+>a : Symbol(a, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 2, 7))
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+
+ for (var {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+
+ for (let {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+
+ for (const {} of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+
+ for (var [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+
+ for (let [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+
+ for (const [] of ns) {
+>ns : Symbol(ns, Decl(emptyVariableDeclarationBindingPatterns01_ES6.ts, 29, 9))
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types
new file mode 100644
index 00000000000..fcb48048148
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns01_ES6.types
@@ -0,0 +1,115 @@
+=== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES6.ts ===
+
+(function () {
+>(function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }})() : void
+>(function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }}) : () => void
+>function () { var a: any; var {} = a; let {} = a; const {} = a; var [] = a; let [] = a; const [] = a; var {} = a, [] = a; let {} = a, [] = a; const {} = a, [] = a; var { p1: {}, p2: [] } = a; let { p1: {}, p2: [] } = a; const { p1: {}, p2: [] } = a; for (var {} = {}, {} = {}; false; void 0) { } function f({} = a, [] = a, { p: {} = a} = a) { return ({} = a, [] = a, { p: {} = a } = a) => a; }} : () => void
+
+ var a: any;
+>a : any
+
+ var {} = a;
+>a : any
+
+ let {} = a;
+>a : any
+
+ const {} = a;
+>a : any
+
+ var [] = a;
+>a : any
+
+ let [] = a;
+>a : any
+
+ const [] = a;
+>a : any
+
+ var {} = a, [] = a;
+>a : any
+>a : any
+
+ let {} = a, [] = a;
+>a : any
+>a : any
+
+ const {} = a, [] = a;
+>a : any
+>a : any
+
+ var { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ let { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ const { p1: {}, p2: [] } = a;
+>p1 : any
+>p2 : any
+>a : any
+
+ for (var {} = {}, {} = {}; false; void 0) {
+>{} : {}
+>{} : {}
+>false : boolean
+>void 0 : undefined
+>0 : number
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+>f : ({}?: any, []?: any, { p: {} = a}?: any) => ({}?: any, []?: any, { p: {} = a }?: any) => any
+>a : any
+>a : any
+>p : any
+>a : any
+>a : any
+
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+>({} = a, [] = a, { p: {} = a } = a) => a : ({}?: any, []?: any, { p: {} = a }?: any) => any
+>a : any
+>a : any
+>p : any
+>a : any
+>a : any
+>a : any
+ }
+})();
+
+(function () {
+>(function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }})() : void
+>(function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }}) : () => void
+>function () { const ns: number[][] = []; for (var {} of ns) { } for (let {} of ns) { } for (const {} of ns) { } for (var [] of ns) { } for (let [] of ns) { } for (const [] of ns) { }} : () => void
+
+ const ns: number[][] = [];
+>ns : number[][]
+>[] : undefined[]
+
+ for (var {} of ns) {
+>ns : number[][]
+ }
+
+ for (let {} of ns) {
+>ns : number[][]
+ }
+
+ for (const {} of ns) {
+>ns : number[][]
+ }
+
+ for (var [] of ns) {
+>ns : number[][]
+ }
+
+ for (let [] of ns) {
+>ns : number[][]
+ }
+
+ for (const [] of ns) {
+>ns : number[][]
+ }
+})();
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.errors.txt b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.errors.txt
new file mode 100644
index 00000000000..b589b075ecb
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.errors.txt
@@ -0,0 +1,31 @@
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(3,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(4,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(5,11): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(7,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(8,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts(9,11): error TS1182: A destructuring declaration must have an initializer.
+
+
+==== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts (6 errors) ====
+
+ (function () {
+ var {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ let {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ const {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+
+ var [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ let [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ const [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ })();
\ No newline at end of file
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.js
new file mode 100644
index 00000000000..7710b5e26c1
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES5.js
@@ -0,0 +1,24 @@
+//// [emptyVariableDeclarationBindingPatterns02_ES5.ts]
+
+(function () {
+ var {};
+ let {};
+ const {};
+
+ var [];
+ let [];
+ const [];
+})();
+
+//// [emptyVariableDeclarationBindingPatterns02_ES5.js]
+(function () {
+ var _a = void 0;
+ var _b = void 0;
+ var _c = void 0;
+ var _d = void 0;
+ var _e = void 0;
+ var _f = void 0;
+})();
+
+
+//// [emptyVariableDeclarationBindingPatterns02_ES5.d.ts]
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.errors.txt b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.errors.txt
new file mode 100644
index 00000000000..81349584f47
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.errors.txt
@@ -0,0 +1,31 @@
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(3,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(4,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(5,11): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(7,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(8,9): error TS1182: A destructuring declaration must have an initializer.
+tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts(9,11): error TS1182: A destructuring declaration must have an initializer.
+
+
+==== tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts (6 errors) ====
+
+ (function () {
+ var {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ let {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ const {};
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+
+ var [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ let [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ const [];
+ ~~
+!!! error TS1182: A destructuring declaration must have an initializer.
+ })();
\ No newline at end of file
diff --git a/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js
new file mode 100644
index 00000000000..8b2df68ed70
--- /dev/null
+++ b/tests/baselines/reference/emptyVariableDeclarationBindingPatterns02_ES6.js
@@ -0,0 +1,24 @@
+//// [emptyVariableDeclarationBindingPatterns02_ES6.ts]
+
+(function () {
+ var {};
+ let {};
+ const {};
+
+ var [];
+ let [];
+ const [];
+})();
+
+//// [emptyVariableDeclarationBindingPatterns02_ES6.js]
+(function () {
+ var { };
+ let { };
+ const { };
+ var [];
+ let [];
+ const [];
+})();
+
+
+//// [emptyVariableDeclarationBindingPatterns02_ES6.d.ts]
diff --git a/tests/baselines/reference/enumFromExternalModule.js b/tests/baselines/reference/enumFromExternalModule.js
index ed2a1f3926a..af04d9522b0 100644
--- a/tests/baselines/reference/enumFromExternalModule.js
+++ b/tests/baselines/reference/enumFromExternalModule.js
@@ -5,7 +5,7 @@ export enum Mode { Open }
//// [enumFromExternalModule_1.ts]
///
-import f = require('enumFromExternalModule_0');
+import f = require('./enumFromExternalModule_0');
var x = f.Mode.Open;
@@ -17,5 +17,5 @@ var x = f.Mode.Open;
var Mode = exports.Mode;
//// [enumFromExternalModule_1.js]
///
-var f = require('enumFromExternalModule_0');
+var f = require('./enumFromExternalModule_0');
var x = f.Mode.Open;
diff --git a/tests/baselines/reference/enumFromExternalModule.symbols b/tests/baselines/reference/enumFromExternalModule.symbols
index 90ff7cd7aac..3f2b1de5293 100644
--- a/tests/baselines/reference/enumFromExternalModule.symbols
+++ b/tests/baselines/reference/enumFromExternalModule.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/enumFromExternalModule_1.ts ===
///
-import f = require('enumFromExternalModule_0');
+import f = require('./enumFromExternalModule_0');
>f : Symbol(f, Decl(enumFromExternalModule_1.ts, 0, 0))
var x = f.Mode.Open;
diff --git a/tests/baselines/reference/enumFromExternalModule.types b/tests/baselines/reference/enumFromExternalModule.types
index 554ac17ec67..05555572aa7 100644
--- a/tests/baselines/reference/enumFromExternalModule.types
+++ b/tests/baselines/reference/enumFromExternalModule.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/enumFromExternalModule_1.ts ===
///
-import f = require('enumFromExternalModule_0');
+import f = require('./enumFromExternalModule_0');
>f : typeof f
var x = f.Mode.Open;
diff --git a/tests/baselines/reference/errorsOnImportedSymbol.errors.txt b/tests/baselines/reference/errorsOnImportedSymbol.errors.txt
index ec108d48881..19839e4e544 100644
--- a/tests/baselines/reference/errorsOnImportedSymbol.errors.txt
+++ b/tests/baselines/reference/errorsOnImportedSymbol.errors.txt
@@ -3,7 +3,7 @@ tests/cases/compiler/errorsOnImportedSymbol_1.ts(3,9): error TS2304: Cannot find
==== tests/cases/compiler/errorsOnImportedSymbol_1.ts (2 errors) ====
- import Sammy = require("errorsOnImportedSymbol_0");
+ import Sammy = require("./errorsOnImportedSymbol_0");
var x = new Sammy.Sammy();
~~~~~
!!! error TS2304: Cannot find name 'Sammy'.
diff --git a/tests/baselines/reference/errorsOnImportedSymbol.js b/tests/baselines/reference/errorsOnImportedSymbol.js
index 6a001bcd0f1..2c991ecd821 100644
--- a/tests/baselines/reference/errorsOnImportedSymbol.js
+++ b/tests/baselines/reference/errorsOnImportedSymbol.js
@@ -9,7 +9,7 @@ interface Sammy {
export = Sammy;
//// [errorsOnImportedSymbol_1.ts]
-import Sammy = require("errorsOnImportedSymbol_0");
+import Sammy = require("./errorsOnImportedSymbol_0");
var x = new Sammy.Sammy();
var y = Sammy.Sammy();
diff --git a/tests/baselines/reference/es6ExportAllInEs5.js b/tests/baselines/reference/es6ExportAllInEs5.js
index 1be3fa1f1b2..73689019ed4 100644
--- a/tests/baselines/reference/es6ExportAllInEs5.js
+++ b/tests/baselines/reference/es6ExportAllInEs5.js
@@ -14,7 +14,7 @@ export module uninstantiated {
}
//// [client.ts]
-export * from "server";
+export * from "./server";
//// [server.js]
var c = (function () {
@@ -32,7 +32,7 @@ exports.x = 10;
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
-__export(require("server"));
+__export(require("./server"));
//// [server.d.ts]
@@ -47,4 +47,4 @@ export declare var x: number;
export declare module uninstantiated {
}
//// [client.d.ts]
-export * from "server";
+export * from "./server";
diff --git a/tests/baselines/reference/es6ExportAllInEs5.symbols b/tests/baselines/reference/es6ExportAllInEs5.symbols
index c2a575f5e5c..26d47f63af3 100644
--- a/tests/baselines/reference/es6ExportAllInEs5.symbols
+++ b/tests/baselines/reference/es6ExportAllInEs5.symbols
@@ -20,5 +20,5 @@ export module uninstantiated {
}
=== tests/cases/compiler/client.ts ===
-export * from "server";
+export * from "./server";
No type information for this code.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ExportAllInEs5.types b/tests/baselines/reference/es6ExportAllInEs5.types
index 876ff152e2c..68187384602 100644
--- a/tests/baselines/reference/es6ExportAllInEs5.types
+++ b/tests/baselines/reference/es6ExportAllInEs5.types
@@ -22,5 +22,5 @@ export module uninstantiated {
}
=== tests/cases/compiler/client.ts ===
-export * from "server";
+export * from "./server";
No type information for this code.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.js b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.js
index 6250e0ce326..63ac2c04b3e 100644
--- a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.js
+++ b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.js
@@ -14,11 +14,11 @@ export module uninstantiated {
}
//// [client.ts]
-export { c } from "server";
-export { c as c2 } from "server";
-export { i, m as instantiatedModule } from "server";
-export { uninstantiated } from "server";
-export { x } from "server";
+export { c } from "./server";
+export { c as c2 } from "./server";
+export { i, m as instantiatedModule } from "./server";
+export { uninstantiated } from "./server";
+export { x } from "./server";
//// [server.js]
var c = (function () {
@@ -33,13 +33,13 @@ var m;
})(m = exports.m || (exports.m = {}));
exports.x = 10;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.c = server_1.c;
-var server_2 = require("server");
+var server_2 = require("./server");
exports.c2 = server_2.c;
-var server_3 = require("server");
+var server_3 = require("./server");
exports.instantiatedModule = server_3.m;
-var server_4 = require("server");
+var server_4 = require("./server");
exports.x = server_4.x;
@@ -55,8 +55,8 @@ export declare var x: number;
export declare module uninstantiated {
}
//// [client.d.ts]
-export { c } from "server";
-export { c as c2 } from "server";
-export { i, m as instantiatedModule } from "server";
-export { uninstantiated } from "server";
-export { x } from "server";
+export { c } from "./server";
+export { c as c2 } from "./server";
+export { i, m as instantiatedModule } from "./server";
+export { uninstantiated } from "./server";
+export { x } from "./server";
diff --git a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.symbols b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.symbols
index 731a0fdcc30..c8e279e65bf 100644
--- a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.symbols
+++ b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.symbols
@@ -20,21 +20,21 @@ export module uninstantiated {
}
=== tests/cases/compiler/client.ts ===
-export { c } from "server";
+export { c } from "./server";
>c : Symbol(c, Decl(client.ts, 0, 8))
-export { c as c2 } from "server";
+export { c as c2 } from "./server";
>c : Symbol(c2, Decl(client.ts, 1, 8))
>c2 : Symbol(c2, Decl(client.ts, 1, 8))
-export { i, m as instantiatedModule } from "server";
+export { i, m as instantiatedModule } from "./server";
>i : Symbol(i, Decl(client.ts, 2, 8))
>m : Symbol(instantiatedModule, Decl(client.ts, 2, 11))
>instantiatedModule : Symbol(instantiatedModule, Decl(client.ts, 2, 11))
-export { uninstantiated } from "server";
+export { uninstantiated } from "./server";
>uninstantiated : Symbol(uninstantiated, Decl(client.ts, 3, 8))
-export { x } from "server";
+export { x } from "./server";
>x : Symbol(x, Decl(client.ts, 4, 8))
diff --git a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types
index 6b621f4c777..4bd93b39031 100644
--- a/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types
+++ b/tests/baselines/reference/es6ExportClauseWithoutModuleSpecifierInEs5.types
@@ -22,21 +22,21 @@ export module uninstantiated {
}
=== tests/cases/compiler/client.ts ===
-export { c } from "server";
+export { c } from "./server";
>c : typeof c
-export { c as c2 } from "server";
+export { c as c2 } from "./server";
>c : typeof c
>c2 : typeof c
-export { i, m as instantiatedModule } from "server";
+export { i, m as instantiatedModule } from "./server";
>i : any
>m : typeof m
>instantiatedModule : typeof m
-export { uninstantiated } from "server";
+export { uninstantiated } from "./server";
>uninstantiated : any
-export { x } from "server";
+export { x } from "./server";
>x : number
diff --git a/tests/baselines/reference/es6ImportDefaultBindingDts.js b/tests/baselines/reference/es6ImportDefaultBindingDts.js
index a5e8d509da1..5593d762f85 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingDts.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingDts.js
@@ -6,9 +6,9 @@ class c { }
export default c;
//// [client.ts]
-import defaultBinding from "server";
+import defaultBinding from "./server";
export var x = new defaultBinding();
-import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
+import defaultBinding2 from "./server"; // elide this import since defaultBinding2 is not used
//// [server.js]
@@ -20,7 +20,7 @@ var c = (function () {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = c;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.x = new server_1.default();
@@ -29,5 +29,5 @@ declare class c {
}
export default c;
//// [client.d.ts]
-import defaultBinding from "server";
+import defaultBinding from "./server";
export declare var x: defaultBinding;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingDts.symbols b/tests/baselines/reference/es6ImportDefaultBindingDts.symbols
index 1ca93aa6641..f25be3eacad 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingDts.symbols
+++ b/tests/baselines/reference/es6ImportDefaultBindingDts.symbols
@@ -7,13 +7,13 @@ export default c;
>c : Symbol(c, Decl(server.ts, 0, 0))
=== tests/cases/compiler/client.ts ===
-import defaultBinding from "server";
+import defaultBinding from "./server";
>defaultBinding : Symbol(defaultBinding, Decl(client.ts, 0, 6))
export var x = new defaultBinding();
>x : Symbol(x, Decl(client.ts, 1, 10))
>defaultBinding : Symbol(defaultBinding, Decl(client.ts, 0, 6))
-import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
+import defaultBinding2 from "./server"; // elide this import since defaultBinding2 is not used
>defaultBinding2 : Symbol(defaultBinding2, Decl(client.ts, 2, 6))
diff --git a/tests/baselines/reference/es6ImportDefaultBindingDts.types b/tests/baselines/reference/es6ImportDefaultBindingDts.types
index 65754d80680..8543c6845b2 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingDts.types
+++ b/tests/baselines/reference/es6ImportDefaultBindingDts.types
@@ -7,7 +7,7 @@ export default c;
>c : c
=== tests/cases/compiler/client.ts ===
-import defaultBinding from "server";
+import defaultBinding from "./server";
>defaultBinding : typeof defaultBinding
export var x = new defaultBinding();
@@ -15,6 +15,6 @@ export var x = new defaultBinding();
>new defaultBinding() : defaultBinding
>defaultBinding : typeof defaultBinding
-import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
+import defaultBinding2 from "./server"; // elide this import since defaultBinding2 is not used
>defaultBinding2 : typeof defaultBinding
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.errors.txt
index 2688d4af06f..b0b7465477b 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.errors.txt
@@ -10,16 +10,16 @@ error TS1204: Cannot compile modules into 'commonjs', 'amd', 'system' or 'umd' w
export default {};
==== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport_1.ts (0 errors) ====
- import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
- import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = a;
- import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = b;
- import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = x;
var x1: number = y;
- import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = z;
- import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+ import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = m;
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js
index 641941db9e5..554fecf9116 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport.js
@@ -8,17 +8,17 @@ export var m = a;
export default {};
//// [es6ImportDefaultBindingFollowedWithNamedImport_1.ts]
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = a;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = b;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = x;
var x1: number = y;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = z;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = m;
@@ -28,16 +28,16 @@ export var x = a;
export var m = a;
export default {};
//// [es6ImportDefaultBindingFollowedWithNamedImport_1.js]
-import { a } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import { a } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1 = a;
-import { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1 = b;
-import { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1 = x;
var x1 = y;
-import { x as z } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import { x as z } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1 = z;
-import { m } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import { m } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1 = m;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.errors.txt
index 5809e0874dc..c62ecb70c58 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.errors.txt
@@ -12,27 +12,27 @@ tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.ts(1
export default a;
==== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.ts (6 errors) ====
- import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding1;
- import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'a'.
var x: number = defaultBinding2;
- import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'a'.
var x: number = defaultBinding3;
- import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'x'.
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'a'.
var x: number = defaultBinding4;
- import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'x'.
var x: number = defaultBinding5;
- import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+ import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0"' has no exported member 'm'.
var x: number = defaultBinding6;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js
index 7090b7a0663..7eda76622de 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.js
@@ -6,17 +6,17 @@ var a = 10;
export default a;
//// [es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.ts]
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding1;
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding2;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding3;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding4;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding5;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding6;
@@ -25,17 +25,17 @@ var a = 10;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = a;
//// [es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.js]
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_1.default;
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_2.default;
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_3.default;
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_4.default;
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_5.default;
-var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6 = require("es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6 = require("./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0");
var x = es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0_6.default;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.errors.txt
index aa9e0cb3af3..76c424a74d4 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.errors.txt
@@ -18,23 +18,23 @@ tests/cases/compiler/client.ts(11,34): error TS2305: Module '"tests/cases/compil
export default a;
==== tests/cases/compiler/client.ts (12 errors) ====
- export import defaultBinding1, { } from "server";
+ export import defaultBinding1, { } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var x1: number = defaultBinding1;
- export import defaultBinding2, { a } from "server";
+ export import defaultBinding2, { a } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x1: number = defaultBinding2;
- export import defaultBinding3, { a as b } from "server";
+ export import defaultBinding3, { a as b } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x1: number = defaultBinding3;
- export import defaultBinding4, { x, a as y } from "server";
+ export import defaultBinding4, { x, a as y } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~
@@ -42,13 +42,13 @@ tests/cases/compiler/client.ts(11,34): error TS2305: Module '"tests/cases/compil
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x1: number = defaultBinding4;
- export import defaultBinding5, { x as z, } from "server";
+ export import defaultBinding5, { x as z, } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
export var x1: number = defaultBinding5;
- export import defaultBinding6, { m, } from "server";
+ export import defaultBinding6, { m, } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js
index 2b0e3ebbeb5..b83571066f0 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.js
@@ -6,17 +6,17 @@ var a = 10;
export default a;
//// [client.ts]
-export import defaultBinding1, { } from "server";
+export import defaultBinding1, { } from "./server";
export var x1: number = defaultBinding1;
-export import defaultBinding2, { a } from "server";
+export import defaultBinding2, { a } from "./server";
export var x1: number = defaultBinding2;
-export import defaultBinding3, { a as b } from "server";
+export import defaultBinding3, { a as b } from "./server";
export var x1: number = defaultBinding3;
-export import defaultBinding4, { x, a as y } from "server";
+export import defaultBinding4, { x, a as y } from "./server";
export var x1: number = defaultBinding4;
-export import defaultBinding5, { x as z, } from "server";
+export import defaultBinding5, { x as z, } from "./server";
export var x1: number = defaultBinding5;
-export import defaultBinding6, { m, } from "server";
+export import defaultBinding6, { m, } from "./server";
export var x1: number = defaultBinding6;
@@ -25,17 +25,17 @@ var a = 10;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = a;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.x1 = server_1.default;
-var server_2 = require("server");
+var server_2 = require("./server");
exports.x1 = server_2.default;
-var server_3 = require("server");
+var server_3 = require("./server");
exports.x1 = server_3.default;
-var server_4 = require("server");
+var server_4 = require("./server");
exports.x1 = server_4.default;
-var server_5 = require("server");
+var server_5 = require("./server");
exports.x1 = server_5.default;
-var server_6 = require("server");
+var server_6 = require("./server");
exports.x1 = server_6.default;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.errors.txt
index 451543d78f5..47e0cb347f3 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.errors.txt
@@ -16,27 +16,27 @@ tests/cases/compiler/client.ts(11,8): error TS1192: Module '"tests/cases/compile
export class x11 { }
==== tests/cases/compiler/client.ts (6 errors) ====
- import defaultBinding1, { } from "server";
+ import defaultBinding1, { } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
- import defaultBinding2, { a } from "server";
+ import defaultBinding2, { a } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x1 = new a();
- import defaultBinding3, { a11 as b } from "server";
+ import defaultBinding3, { a11 as b } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x2 = new b();
- import defaultBinding4, { x, a12 as y } from "server";
+ import defaultBinding4, { x, a12 as y } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x4 = new x();
export var x5 = new y();
- import defaultBinding5, { x11 as z, } from "server";
+ import defaultBinding5, { x11 as z, } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x3 = new z();
- import defaultBinding6, { m, } from "server";
+ import defaultBinding6, { m, } from "./server";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x6 = new m();
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js
index 8cf9ab1ffb1..9314190e786 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts.js
@@ -10,17 +10,17 @@ export class a12 { }
export class x11 { }
//// [client.ts]
-import defaultBinding1, { } from "server";
-import defaultBinding2, { a } from "server";
+import defaultBinding1, { } from "./server";
+import defaultBinding2, { a } from "./server";
export var x1 = new a();
-import defaultBinding3, { a11 as b } from "server";
+import defaultBinding3, { a11 as b } from "./server";
export var x2 = new b();
-import defaultBinding4, { x, a12 as y } from "server";
+import defaultBinding4, { x, a12 as y } from "./server";
export var x4 = new x();
export var x5 = new y();
-import defaultBinding5, { x11 as z, } from "server";
+import defaultBinding5, { x11 as z, } from "./server";
export var x3 = new z();
-import defaultBinding6, { m, } from "server";
+import defaultBinding6, { m, } from "./server";
export var x6 = new m();
@@ -62,16 +62,16 @@ var x11 = (function () {
})();
exports.x11 = x11;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.x1 = new server_1.a();
-var server_2 = require("server");
+var server_2 = require("./server");
exports.x2 = new server_2.a11();
-var server_3 = require("server");
+var server_3 = require("./server");
exports.x4 = new server_3.x();
exports.x5 = new server_3.a12();
-var server_4 = require("server");
+var server_4 = require("./server");
exports.x3 = new server_4.x11();
-var server_5 = require("server");
+var server_5 = require("./server");
exports.x6 = new server_5.m();
@@ -89,14 +89,14 @@ export declare class a12 {
export declare class x11 {
}
//// [client.d.ts]
-import { a } from "server";
+import { a } from "./server";
export declare var x1: a;
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
export declare var x2: b;
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
export declare var x4: x;
export declare var x5: y;
-import { x11 as z } from "server";
+import { x11 as z } from "./server";
export declare var x3: z;
-import { m } from "server";
+import { m } from "./server";
export declare var x6: m;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.errors.txt
index 0e259f142b6..e939398632c 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.errors.txt
@@ -12,27 +12,27 @@ tests/cases/compiler/client.ts(11,27): error TS2305: Module '"tests/cases/compil
export default a;
==== tests/cases/compiler/client.ts (6 errors) ====
- import defaultBinding1, { } from "server";
+ import defaultBinding1, { } from "./server";
export var x1 = new defaultBinding1();
- import defaultBinding2, { a } from "server";
+ import defaultBinding2, { a } from "./server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x2 = new defaultBinding2();
- import defaultBinding3, { a as b } from "server";
+ import defaultBinding3, { a as b } from "./server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x3 = new defaultBinding3();
- import defaultBinding4, { x, a as y } from "server";
+ import defaultBinding4, { x, a as y } from "./server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'a'.
export var x4 = new defaultBinding4();
- import defaultBinding5, { x as z, } from "server";
+ import defaultBinding5, { x as z, } from "./server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'x'.
export var x5 = new defaultBinding5();
- import defaultBinding6, { m, } from "server";
+ import defaultBinding6, { m, } from "./server";
~
!!! error TS2305: Module '"tests/cases/compiler/server"' has no exported member 'm'.
export var x6 = new defaultBinding6();
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js
index dad034c618c..71d35fd85a1 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportDts1.js
@@ -6,17 +6,17 @@ class a { }
export default a;
//// [client.ts]
-import defaultBinding1, { } from "server";
+import defaultBinding1, { } from "./server";
export var x1 = new defaultBinding1();
-import defaultBinding2, { a } from "server";
+import defaultBinding2, { a } from "./server";
export var x2 = new defaultBinding2();
-import defaultBinding3, { a as b } from "server";
+import defaultBinding3, { a as b } from "./server";
export var x3 = new defaultBinding3();
-import defaultBinding4, { x, a as y } from "server";
+import defaultBinding4, { x, a as y } from "./server";
export var x4 = new defaultBinding4();
-import defaultBinding5, { x as z, } from "server";
+import defaultBinding5, { x as z, } from "./server";
export var x5 = new defaultBinding5();
-import defaultBinding6, { m, } from "server";
+import defaultBinding6, { m, } from "./server";
export var x6 = new defaultBinding6();
//// [server.js]
@@ -28,17 +28,17 @@ var a = (function () {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = a;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.x1 = new server_1.default();
-var server_2 = require("server");
+var server_2 = require("./server");
exports.x2 = new server_2.default();
-var server_3 = require("server");
+var server_3 = require("./server");
exports.x3 = new server_3.default();
-var server_4 = require("server");
+var server_4 = require("./server");
exports.x4 = new server_4.default();
-var server_5 = require("server");
+var server_5 = require("./server");
exports.x5 = new server_5.default();
-var server_6 = require("server");
+var server_6 = require("./server");
exports.x6 = new server_6.default();
@@ -47,7 +47,7 @@ declare class a {
}
export default a;
//// [client.d.ts]
-import defaultBinding1 from "server";
+import defaultBinding1 from "./server";
export declare var x1: defaultBinding1;
export declare var x2: defaultBinding1;
export declare var x3: defaultBinding1;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.errors.txt
index c1c28416ec7..7c5080241f1 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.errors.txt
@@ -13,27 +13,27 @@ tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.ts(11
export var m = a;
==== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.ts (6 errors) ====
- import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
- import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
var x1: number = a;
- import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
var x1: number = b;
- import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
var x1: number = x;
var x1: number = y;
- import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
var x1: number = z;
- import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+ import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
~~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5_0"' has no default export.
var x1: number = m;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js
index 1c65fadbe1d..9674f8c12f4 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamedImportInEs5.js
@@ -7,17 +7,17 @@ export var x = a;
export var m = a;
//// [es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.ts]
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = a;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = b;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = x;
var x1: number = y;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = z;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = m;
@@ -26,16 +26,16 @@ exports.a = 10;
exports.x = exports.a;
exports.m = exports.a;
//// [es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.js]
-var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1 = require("es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_1.a;
-var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2 = require("es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_2.a;
-var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3 = require("es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3.x;
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_3.a;
-var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4 = require("es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_4.x;
-var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5 = require("es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
+var es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5 = require("./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0");
var x1 = es6ImportDefaultBindingFollowedWithNamedImportInEs5_0_5.m;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js
index 4a987110224..ada6e423e73 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.js
@@ -6,7 +6,7 @@ var a = 10;
export default a;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts]
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
var x: number = defaultBinding;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0.js]
@@ -14,7 +14,7 @@ var a = 10;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = a;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.js]
-var es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1 = require("es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"), nameSpaceBinding = es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1;
+var es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"), nameSpaceBinding = es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1;
var x = es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1.default;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.symbols b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.symbols
index d4a9c289e60..4262dd3c61b 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.symbols
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.symbols
@@ -7,7 +7,7 @@ export default a;
>a : Symbol(a, Decl(es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0.ts, 1, 3))
=== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts ===
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
>defaultBinding : Symbol(defaultBinding, Decl(es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts, 0, 6))
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts, 0, 22))
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types
index 4a05b57e304..4f9c618f10c 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.types
@@ -8,7 +8,7 @@ export default a;
>a : number
=== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts ===
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
>defaultBinding : number
>nameSpaceBinding : typeof nameSpaceBinding
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.errors.txt
index 19fa0383d52..1fc12619017 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.errors.txt
@@ -6,7 +6,7 @@ tests/cases/compiler/client.ts(1,8): error TS1192: Module '"tests/cases/compiler
export class a { }
==== tests/cases/compiler/client.ts (1 errors) ====
- import defaultBinding, * as nameSpaceBinding from "server";
+ import defaultBinding, * as nameSpaceBinding from "./server";
~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/server"' has no default export.
export var x = new nameSpaceBinding.a();
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.js
index 31ef01c464c..93918f6171a 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.js
@@ -5,7 +5,7 @@
export class a { }
//// [client.ts]
-import defaultBinding, * as nameSpaceBinding from "server";
+import defaultBinding, * as nameSpaceBinding from "./server";
export var x = new nameSpaceBinding.a();
//// [server.js]
@@ -16,7 +16,7 @@ var a = (function () {
})();
exports.a = a;
//// [client.js]
-var server_1 = require("server"), nameSpaceBinding = server_1;
+var server_1 = require("./server"), nameSpaceBinding = server_1;
exports.x = new nameSpaceBinding.a();
@@ -24,5 +24,5 @@ exports.x = new nameSpaceBinding.a();
export declare class a {
}
//// [client.d.ts]
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
export declare var x: nameSpaceBinding.a;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.errors.txt
index dbbbf67118e..f14af87315c 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.errors.txt
@@ -6,7 +6,7 @@ tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.
export var a = 10;
==== tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts (1 errors) ====
- import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+ import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"' has no default export.
var x: number = nameSpaceBinding.a;
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js
index 4a49d3c2d6f..49717c588b7 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.js
@@ -5,13 +5,13 @@
export var a = 10;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts]
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
var x: number = nameSpaceBinding.a;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0.js]
exports.a = 10;
//// [es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.js]
-var es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1 = require("es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"), nameSpaceBinding = es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1;
+var es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1 = require("./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0"), nameSpaceBinding = es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0_1;
var x = nameSpaceBinding.a;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.errors.txt
index 3da1cf3fda8..d0eee527356 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.errors.txt
@@ -7,7 +7,7 @@ tests/cases/compiler/client.ts(1,15): error TS1192: Module '"tests/cases/compile
export var a = 10;
==== tests/cases/compiler/client.ts (2 errors) ====
- export import defaultBinding, * as nameSpaceBinding from "server";
+ export import defaultBinding, * as nameSpaceBinding from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
~~~~~~~~~~~~~~
diff --git a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.js b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.js
index df233fe18a5..dec9b8cfebe 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.js
@@ -5,13 +5,13 @@
export var a = 10;
//// [client.ts]
-export import defaultBinding, * as nameSpaceBinding from "server";
+export import defaultBinding, * as nameSpaceBinding from "./server";
export var x: number = nameSpaceBinding.a;
//// [server.js]
exports.a = 10;
//// [client.js]
-var server_1 = require("server"), nameSpaceBinding = server_1;
+var server_1 = require("./server"), nameSpaceBinding = server_1;
exports.x = nameSpaceBinding.a;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingInEs5.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingInEs5.errors.txt
index 109b322f4bb..18f634d7b73 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingInEs5.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingInEs5.errors.txt
@@ -7,6 +7,6 @@ tests/cases/compiler/es6ImportDefaultBindingInEs5_1.ts(1,8): error TS1192: Modul
export = a;
==== tests/cases/compiler/es6ImportDefaultBindingInEs5_1.ts (1 errors) ====
- import defaultBinding from "es6ImportDefaultBindingInEs5_0";
+ import defaultBinding from "./es6ImportDefaultBindingInEs5_0";
~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingInEs5_0"' has no default export.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingInEs5.js b/tests/baselines/reference/es6ImportDefaultBindingInEs5.js
index 0b703f829ca..34323b2752b 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingInEs5.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingInEs5.js
@@ -6,7 +6,7 @@ var a = 10;
export = a;
//// [es6ImportDefaultBindingInEs5_1.ts]
-import defaultBinding from "es6ImportDefaultBindingInEs5_0";
+import defaultBinding from "./es6ImportDefaultBindingInEs5_0";
//// [es6ImportDefaultBindingInEs5_0.js]
var a = 10;
diff --git a/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.errors.txt
index cd0550609c7..8b67ddfeac3 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.errors.txt
@@ -9,18 +9,18 @@ tests/cases/compiler/es6ImportDefaultBindingMergeErrors_1.ts(8,8): error TS2300:
export default a;
==== tests/cases/compiler/es6ImportDefaultBindingMergeErrors_1.ts (3 errors) ====
- import defaultBinding from "es6ImportDefaultBindingMergeErrors_0";
+ import defaultBinding from "./es6ImportDefaultBindingMergeErrors_0";
interface defaultBinding { // This is ok
}
var x = defaultBinding;
- import defaultBinding2 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
+ import defaultBinding2 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
~~~~~~~~~~~~~~~
!!! error TS2440: Import declaration conflicts with local declaration of 'defaultBinding2'
var defaultBinding2 = "hello world";
- import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
+ import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
~~~~~~~~~~~~~~~
!!! error TS2300: Duplicate identifier 'defaultBinding3'.
- import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // SHould be error
+ import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // SHould be error
~~~~~~~~~~~~~~~
!!! error TS2300: Duplicate identifier 'defaultBinding3'.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.js b/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.js
index 10b8bec03c7..fb80fdd3e4f 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingMergeErrors.js
@@ -6,14 +6,14 @@ var a = 10;
export default a;
//// [es6ImportDefaultBindingMergeErrors_1.ts]
-import defaultBinding from "es6ImportDefaultBindingMergeErrors_0";
+import defaultBinding from "./es6ImportDefaultBindingMergeErrors_0";
interface defaultBinding { // This is ok
}
var x = defaultBinding;
-import defaultBinding2 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
+import defaultBinding2 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
var defaultBinding2 = "hello world";
-import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
-import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // SHould be error
+import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
+import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // SHould be error
//// [es6ImportDefaultBindingMergeErrors_0.js]
@@ -21,6 +21,6 @@ var a = 10;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = a;
//// [es6ImportDefaultBindingMergeErrors_1.js]
-var es6ImportDefaultBindingMergeErrors_0_1 = require("es6ImportDefaultBindingMergeErrors_0");
+var es6ImportDefaultBindingMergeErrors_0_1 = require("./es6ImportDefaultBindingMergeErrors_0");
var x = es6ImportDefaultBindingMergeErrors_0_1.default;
var defaultBinding2 = "hello world";
diff --git a/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.errors.txt b/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.errors.txt
index a37a71e7378..9d0e46ceb97 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.errors.txt
+++ b/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.errors.txt
@@ -6,7 +6,7 @@ tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty_1.ts(1,8): error T
export var a = 10;
==== tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty_1.ts (1 errors) ====
- import defaultBinding from "es6ImportDefaultBindingNoDefaultProperty_0";
+ import defaultBinding from "./es6ImportDefaultBindingNoDefaultProperty_0";
~~~~~~~~~~~~~~
!!! error TS1192: Module '"tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty_0"' has no default export.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.js b/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.js
index f824dbf71d5..1c9ec4eeae5 100644
--- a/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.js
+++ b/tests/baselines/reference/es6ImportDefaultBindingNoDefaultProperty.js
@@ -5,7 +5,7 @@
export var a = 10;
//// [es6ImportDefaultBindingNoDefaultProperty_1.ts]
-import defaultBinding from "es6ImportDefaultBindingNoDefaultProperty_0";
+import defaultBinding from "./es6ImportDefaultBindingNoDefaultProperty_0";
//// [es6ImportDefaultBindingNoDefaultProperty_0.js]
diff --git a/tests/baselines/reference/es6ImportNameSpaceImport.errors.txt b/tests/baselines/reference/es6ImportNameSpaceImport.errors.txt
index 00a6dcb2cfd..67616662ca8 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImport.errors.txt
+++ b/tests/baselines/reference/es6ImportNameSpaceImport.errors.txt
@@ -7,7 +7,7 @@ error TS1204: Cannot compile modules into 'commonjs', 'amd', 'system' or 'umd' w
export var a = 10;
==== tests/cases/compiler/es6ImportNameSpaceImport_1.ts (0 errors) ====
- import * as nameSpaceBinding from "es6ImportNameSpaceImport_0";
+ import * as nameSpaceBinding from "./es6ImportNameSpaceImport_0";
var x = nameSpaceBinding.a;
- import * as nameSpaceBinding2 from "es6ImportNameSpaceImport_0"; // elide this
+ import * as nameSpaceBinding2 from "./es6ImportNameSpaceImport_0"; // elide this
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNameSpaceImport.js b/tests/baselines/reference/es6ImportNameSpaceImport.js
index 653feeb22b7..7498b8ee9e8 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImport.js
+++ b/tests/baselines/reference/es6ImportNameSpaceImport.js
@@ -5,15 +5,15 @@
export var a = 10;
//// [es6ImportNameSpaceImport_1.ts]
-import * as nameSpaceBinding from "es6ImportNameSpaceImport_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImport_0";
var x = nameSpaceBinding.a;
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImport_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImport_0"; // elide this
//// [es6ImportNameSpaceImport_0.js]
export var a = 10;
//// [es6ImportNameSpaceImport_1.js]
-import * as nameSpaceBinding from "es6ImportNameSpaceImport_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImport_0";
var x = nameSpaceBinding.a;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportDts.js b/tests/baselines/reference/es6ImportNameSpaceImportDts.js
index 91e927428a1..dfdfe2602a3 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportDts.js
+++ b/tests/baselines/reference/es6ImportNameSpaceImportDts.js
@@ -5,9 +5,9 @@
export class c { };
//// [client.ts]
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
export var x = new nameSpaceBinding.c();
-import * as nameSpaceBinding2 from "server"; // unreferenced
+import * as nameSpaceBinding2 from "./server"; // unreferenced
//// [server.js]
var c = (function () {
@@ -18,7 +18,7 @@ var c = (function () {
exports.c = c;
;
//// [client.js]
-var nameSpaceBinding = require("server");
+var nameSpaceBinding = require("./server");
exports.x = new nameSpaceBinding.c();
@@ -26,5 +26,5 @@ exports.x = new nameSpaceBinding.c();
export declare class c {
}
//// [client.d.ts]
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
export declare var x: nameSpaceBinding.c;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportDts.symbols b/tests/baselines/reference/es6ImportNameSpaceImportDts.symbols
index 8104cbcce50..5f6fea374be 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportDts.symbols
+++ b/tests/baselines/reference/es6ImportNameSpaceImportDts.symbols
@@ -4,7 +4,7 @@ export class c { };
>c : Symbol(c, Decl(server.ts, 0, 0))
=== tests/cases/compiler/client.ts ===
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(client.ts, 0, 6))
export var x = new nameSpaceBinding.c();
@@ -13,6 +13,6 @@ export var x = new nameSpaceBinding.c();
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(client.ts, 0, 6))
>c : Symbol(nameSpaceBinding.c, Decl(server.ts, 0, 0))
-import * as nameSpaceBinding2 from "server"; // unreferenced
+import * as nameSpaceBinding2 from "./server"; // unreferenced
>nameSpaceBinding2 : Symbol(nameSpaceBinding2, Decl(client.ts, 2, 6))
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportDts.types b/tests/baselines/reference/es6ImportNameSpaceImportDts.types
index 345d593b143..e49f3ace57a 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportDts.types
+++ b/tests/baselines/reference/es6ImportNameSpaceImportDts.types
@@ -4,7 +4,7 @@ export class c { };
>c : c
=== tests/cases/compiler/client.ts ===
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
>nameSpaceBinding : typeof nameSpaceBinding
export var x = new nameSpaceBinding.c();
@@ -14,6 +14,6 @@ export var x = new nameSpaceBinding.c();
>nameSpaceBinding : typeof nameSpaceBinding
>c : typeof nameSpaceBinding.c
-import * as nameSpaceBinding2 from "server"; // unreferenced
+import * as nameSpaceBinding2 from "./server"; // unreferenced
>nameSpaceBinding2 : typeof nameSpaceBinding
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js
index 50a03972cc2..dfc90c3e9af 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js
+++ b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.js
@@ -5,15 +5,15 @@
export var a = 10;
//// [es6ImportNameSpaceImportInEs5_1.ts]
-import * as nameSpaceBinding from "es6ImportNameSpaceImportInEs5_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportInEs5_0";
var x = nameSpaceBinding.a;
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImportInEs5_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImportInEs5_0"; // elide this
//// [es6ImportNameSpaceImportInEs5_0.js]
exports.a = 10;
//// [es6ImportNameSpaceImportInEs5_1.js]
-var nameSpaceBinding = require("es6ImportNameSpaceImportInEs5_0");
+var nameSpaceBinding = require("./es6ImportNameSpaceImportInEs5_0");
var x = nameSpaceBinding.a;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.symbols b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.symbols
index 119787de817..7be619dcc7e 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.symbols
+++ b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.symbols
@@ -4,7 +4,7 @@ export var a = 10;
>a : Symbol(a, Decl(es6ImportNameSpaceImportInEs5_0.ts, 1, 10))
=== tests/cases/compiler/es6ImportNameSpaceImportInEs5_1.ts ===
-import * as nameSpaceBinding from "es6ImportNameSpaceImportInEs5_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportInEs5_0";
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(es6ImportNameSpaceImportInEs5_1.ts, 0, 6))
var x = nameSpaceBinding.a;
@@ -13,6 +13,6 @@ var x = nameSpaceBinding.a;
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(es6ImportNameSpaceImportInEs5_1.ts, 0, 6))
>a : Symbol(nameSpaceBinding.a, Decl(es6ImportNameSpaceImportInEs5_0.ts, 1, 10))
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImportInEs5_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImportInEs5_0"; // elide this
>nameSpaceBinding2 : Symbol(nameSpaceBinding2, Decl(es6ImportNameSpaceImportInEs5_1.ts, 2, 6))
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types
index 01531cd233d..13631060813 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types
+++ b/tests/baselines/reference/es6ImportNameSpaceImportInEs5.types
@@ -5,7 +5,7 @@ export var a = 10;
>10 : number
=== tests/cases/compiler/es6ImportNameSpaceImportInEs5_1.ts ===
-import * as nameSpaceBinding from "es6ImportNameSpaceImportInEs5_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportInEs5_0";
>nameSpaceBinding : typeof nameSpaceBinding
var x = nameSpaceBinding.a;
@@ -14,6 +14,6 @@ var x = nameSpaceBinding.a;
>nameSpaceBinding : typeof nameSpaceBinding
>a : number
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImportInEs5_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImportInEs5_0"; // elide this
>nameSpaceBinding2 : typeof nameSpaceBinding
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.errors.txt b/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.errors.txt
index 98a68870833..b8b22ce3ed1 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.errors.txt
+++ b/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.errors.txt
@@ -8,17 +8,17 @@ tests/cases/compiler/es6ImportNameSpaceImportMergeErrors_1.ts(7,8): error TS2440
export var a = 10;
==== tests/cases/compiler/es6ImportNameSpaceImportMergeErrors_1.ts (3 errors) ====
- import * as nameSpaceBinding from "es6ImportNameSpaceImportMergeErrors_0";
+ import * as nameSpaceBinding from "./es6ImportNameSpaceImportMergeErrors_0";
interface nameSpaceBinding { } // this should be ok
- import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+ import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
~~~~~~~~~~~~~~~~~
!!! error TS2300: Duplicate identifier 'nameSpaceBinding1'.
- import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+ import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
~~~~~~~~~~~~~~~~~
!!! error TS2300: Duplicate identifier 'nameSpaceBinding1'.
- import * as nameSpaceBinding3 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+ import * as nameSpaceBinding3 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2440: Import declaration conflicts with local declaration of 'nameSpaceBinding3'
var nameSpaceBinding3 = 10;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.js b/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.js
index 3c8461fba2b..b94640349c0 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.js
+++ b/tests/baselines/reference/es6ImportNameSpaceImportMergeErrors.js
@@ -5,13 +5,13 @@
export var a = 10;
//// [es6ImportNameSpaceImportMergeErrors_1.ts]
-import * as nameSpaceBinding from "es6ImportNameSpaceImportMergeErrors_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportMergeErrors_0";
interface nameSpaceBinding { } // this should be ok
-import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
-import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
-import * as nameSpaceBinding3 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding3 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
var nameSpaceBinding3 = 10;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.js b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.js
index 3d6dab17785..efa3a04bc9a 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.js
+++ b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.js
@@ -6,7 +6,7 @@ var a = 10;
export = a;
//// [es6ImportNameSpaceImportNoNamedExports_1.ts]
-import * as nameSpaceBinding from "es6ImportNameSpaceImportNoNamedExports_0"; // error
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportNoNamedExports_0"; // error
//// [es6ImportNameSpaceImportNoNamedExports_0.js]
var a = 10;
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.symbols b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.symbols
index 6a443d1fa00..8767c1a4add 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.symbols
+++ b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.symbols
@@ -7,6 +7,6 @@ export = a;
>a : Symbol(a, Decl(es6ImportNameSpaceImportNoNamedExports_0.ts, 1, 3))
=== tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports_1.ts ===
-import * as nameSpaceBinding from "es6ImportNameSpaceImportNoNamedExports_0"; // error
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportNoNamedExports_0"; // error
>nameSpaceBinding : Symbol(nameSpaceBinding, Decl(es6ImportNameSpaceImportNoNamedExports_1.ts, 0, 6))
diff --git a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types
index 2cc4844dd42..4aaf33d5930 100644
--- a/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types
+++ b/tests/baselines/reference/es6ImportNameSpaceImportNoNamedExports.types
@@ -8,6 +8,6 @@ export = a;
>a : number
=== tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports_1.ts ===
-import * as nameSpaceBinding from "es6ImportNameSpaceImportNoNamedExports_0"; // error
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportNoNamedExports_0"; // error
>nameSpaceBinding : number
diff --git a/tests/baselines/reference/es6ImportNamedImport.errors.txt b/tests/baselines/reference/es6ImportNamedImport.errors.txt
index 12dcf331967..efcda1f5368 100644
--- a/tests/baselines/reference/es6ImportNamedImport.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImport.errors.txt
@@ -14,31 +14,31 @@ error TS1204: Cannot compile modules into 'commonjs', 'amd', 'system' or 'umd' w
export var aaaa = 10;
==== tests/cases/compiler/es6ImportNamedImport_1.ts (0 errors) ====
- import { } from "es6ImportNamedImport_0";
- import { a } from "es6ImportNamedImport_0";
+ import { } from "./es6ImportNamedImport_0";
+ import { a } from "./es6ImportNamedImport_0";
var xxxx = a;
- import { a as b } from "es6ImportNamedImport_0";
+ import { a as b } from "./es6ImportNamedImport_0";
var xxxx = b;
- import { x, a as y } from "es6ImportNamedImport_0";
+ import { x, a as y } from "./es6ImportNamedImport_0";
var xxxx = x;
var xxxx = y;
- import { x as z, } from "es6ImportNamedImport_0";
+ import { x as z, } from "./es6ImportNamedImport_0";
var xxxx = z;
- import { m, } from "es6ImportNamedImport_0";
+ import { m, } from "./es6ImportNamedImport_0";
var xxxx = m;
- import { a1, x1 } from "es6ImportNamedImport_0";
+ import { a1, x1 } from "./es6ImportNamedImport_0";
var xxxx = a1;
var xxxx = x1;
- import { a1 as a11, x1 as x11 } from "es6ImportNamedImport_0";
+ import { a1 as a11, x1 as x11 } from "./es6ImportNamedImport_0";
var xxxx = a11;
var xxxx = x11;
- import { z1 } from "es6ImportNamedImport_0";
+ import { z1 } from "./es6ImportNamedImport_0";
var z111 = z1;
- import { z2 as z3 } from "es6ImportNamedImport_0";
+ import { z2 as z3 } from "./es6ImportNamedImport_0";
var z2 = z3; // z2 shouldn't give redeclare error
// These are elided
- import { aaaa } from "es6ImportNamedImport_0";
+ import { aaaa } from "./es6ImportNamedImport_0";
// These are elided
- import { aaaa as bbbb } from "es6ImportNamedImport_0";
+ import { aaaa as bbbb } from "./es6ImportNamedImport_0";
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImport.js b/tests/baselines/reference/es6ImportNamedImport.js
index 9606c59351b..6edb6ccb7cd 100644
--- a/tests/baselines/reference/es6ImportNamedImport.js
+++ b/tests/baselines/reference/es6ImportNamedImport.js
@@ -12,33 +12,33 @@ export var z2 = 10;
export var aaaa = 10;
//// [es6ImportNamedImport_1.ts]
-import { } from "es6ImportNamedImport_0";
-import { a } from "es6ImportNamedImport_0";
+import { } from "./es6ImportNamedImport_0";
+import { a } from "./es6ImportNamedImport_0";
var xxxx = a;
-import { a as b } from "es6ImportNamedImport_0";
+import { a as b } from "./es6ImportNamedImport_0";
var xxxx = b;
-import { x, a as y } from "es6ImportNamedImport_0";
+import { x, a as y } from "./es6ImportNamedImport_0";
var xxxx = x;
var xxxx = y;
-import { x as z, } from "es6ImportNamedImport_0";
+import { x as z, } from "./es6ImportNamedImport_0";
var xxxx = z;
-import { m, } from "es6ImportNamedImport_0";
+import { m, } from "./es6ImportNamedImport_0";
var xxxx = m;
-import { a1, x1 } from "es6ImportNamedImport_0";
+import { a1, x1 } from "./es6ImportNamedImport_0";
var xxxx = a1;
var xxxx = x1;
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImport_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImport_0";
var xxxx = a11;
var xxxx = x11;
-import { z1 } from "es6ImportNamedImport_0";
+import { z1 } from "./es6ImportNamedImport_0";
var z111 = z1;
-import { z2 as z3 } from "es6ImportNamedImport_0";
+import { z2 as z3 } from "./es6ImportNamedImport_0";
var z2 = z3; // z2 shouldn't give redeclare error
// These are elided
-import { aaaa } from "es6ImportNamedImport_0";
+import { aaaa } from "./es6ImportNamedImport_0";
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImport_0";
+import { aaaa as bbbb } from "./es6ImportNamedImport_0";
//// [es6ImportNamedImport_0.js]
@@ -51,26 +51,26 @@ export var z1 = 10;
export var z2 = 10;
export var aaaa = 10;
//// [es6ImportNamedImport_1.js]
-import { a } from "es6ImportNamedImport_0";
+import { a } from "./es6ImportNamedImport_0";
var xxxx = a;
-import { a as b } from "es6ImportNamedImport_0";
+import { a as b } from "./es6ImportNamedImport_0";
var xxxx = b;
-import { x, a as y } from "es6ImportNamedImport_0";
+import { x, a as y } from "./es6ImportNamedImport_0";
var xxxx = x;
var xxxx = y;
-import { x as z } from "es6ImportNamedImport_0";
+import { x as z } from "./es6ImportNamedImport_0";
var xxxx = z;
-import { m } from "es6ImportNamedImport_0";
+import { m } from "./es6ImportNamedImport_0";
var xxxx = m;
-import { a1, x1 } from "es6ImportNamedImport_0";
+import { a1, x1 } from "./es6ImportNamedImport_0";
var xxxx = a1;
var xxxx = x1;
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImport_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImport_0";
var xxxx = a11;
var xxxx = x11;
-import { z1 } from "es6ImportNamedImport_0";
+import { z1 } from "./es6ImportNamedImport_0";
var z111 = z1;
-import { z2 as z3 } from "es6ImportNamedImport_0";
+import { z2 as z3 } from "./es6ImportNamedImport_0";
var z2 = z3; // z2 shouldn't give redeclare error
diff --git a/tests/baselines/reference/es6ImportNamedImportDts.js b/tests/baselines/reference/es6ImportNamedImportDts.js
index a72632a737e..59b47635ba9 100644
--- a/tests/baselines/reference/es6ImportNamedImportDts.js
+++ b/tests/baselines/reference/es6ImportNamedImportDts.js
@@ -18,32 +18,32 @@ export class aaaa { }
export class aaaa1 { }
//// [client.ts]
-import { } from "server";
-import { a } from "server";
+import { } from "./server";
+import { a } from "./server";
export var xxxx = new a();
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
export var xxxx1 = new b();
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
export var xxxx2 = new x();
export var xxxx3 = new y();
-import { x11 as z, } from "server";
+import { x11 as z, } from "./server";
export var xxxx4 = new z();
-import { m, } from "server";
+import { m, } from "./server";
export var xxxx5 = new m();
-import { a1, x1 } from "server";
+import { a1, x1 } from "./server";
export var xxxx6 = new a1();
export var xxxx7 = new x1();
-import { a111 as a11, x111 as x11 } from "server";
+import { a111 as a11, x111 as x11 } from "./server";
export var xxxx8 = new a11();
export var xxxx9 = new x11();
-import { z1 } from "server";
+import { z1 } from "./server";
export var z111 = new z1();
-import { z2 as z3 } from "server";
+import { z2 as z3 } from "./server";
export var z2 = new z3(); // z2 shouldn't give redeclare error
// not referenced
-import { aaaa } from "server";
-import { aaaa1 as bbbb } from "server";
+import { aaaa } from "./server";
+import { aaaa1 as bbbb } from "./server";
//// [server.js]
@@ -132,26 +132,26 @@ var aaaa1 = (function () {
})();
exports.aaaa1 = aaaa1;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.xxxx = new server_1.a();
-var server_2 = require("server");
+var server_2 = require("./server");
exports.xxxx1 = new server_2.a11();
-var server_3 = require("server");
+var server_3 = require("./server");
exports.xxxx2 = new server_3.x();
exports.xxxx3 = new server_3.a12();
-var server_4 = require("server");
+var server_4 = require("./server");
exports.xxxx4 = new server_4.x11();
-var server_5 = require("server");
+var server_5 = require("./server");
exports.xxxx5 = new server_5.m();
-var server_6 = require("server");
+var server_6 = require("./server");
exports.xxxx6 = new server_6.a1();
exports.xxxx7 = new server_6.x1();
-var server_7 = require("server");
+var server_7 = require("./server");
exports.xxxx8 = new server_7.a111();
exports.xxxx9 = new server_7.x111();
-var server_8 = require("server");
+var server_8 = require("./server");
exports.z111 = new server_8.z1();
-var server_9 = require("server");
+var server_9 = require("./server");
exports.z2 = new server_9.z2(); // z2 shouldn't give redeclare error
@@ -185,24 +185,24 @@ export declare class aaaa {
export declare class aaaa1 {
}
//// [client.d.ts]
-import { a } from "server";
+import { a } from "./server";
export declare var xxxx: a;
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
export declare var xxxx1: b;
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
export declare var xxxx2: x;
export declare var xxxx3: y;
-import { x11 as z } from "server";
+import { x11 as z } from "./server";
export declare var xxxx4: z;
-import { m } from "server";
+import { m } from "./server";
export declare var xxxx5: m;
-import { a1, x1 } from "server";
+import { a1, x1 } from "./server";
export declare var xxxx6: a1;
export declare var xxxx7: x1;
-import { a111 as a11, x111 as x11 } from "server";
+import { a111 as a11, x111 as x11 } from "./server";
export declare var xxxx8: a11;
export declare var xxxx9: x11;
-import { z1 } from "server";
+import { z1 } from "./server";
export declare var z111: z1;
-import { z2 as z3 } from "server";
+import { z2 as z3 } from "./server";
export declare var z2: z3;
diff --git a/tests/baselines/reference/es6ImportNamedImportDts.symbols b/tests/baselines/reference/es6ImportNamedImportDts.symbols
index 2e3b2735b3d..dab2e13d0f6 100644
--- a/tests/baselines/reference/es6ImportNamedImportDts.symbols
+++ b/tests/baselines/reference/es6ImportNamedImportDts.symbols
@@ -43,15 +43,15 @@ export class aaaa1 { }
>aaaa1 : Symbol(aaaa1, Decl(server.ts, 13, 21))
=== tests/cases/compiler/client.ts ===
-import { } from "server";
-import { a } from "server";
+import { } from "./server";
+import { a } from "./server";
>a : Symbol(a, Decl(client.ts, 1, 8))
export var xxxx = new a();
>xxxx : Symbol(xxxx, Decl(client.ts, 2, 10))
>a : Symbol(a, Decl(client.ts, 1, 8))
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
>a11 : Symbol(b, Decl(client.ts, 3, 8))
>b : Symbol(b, Decl(client.ts, 3, 8))
@@ -59,7 +59,7 @@ export var xxxx1 = new b();
>xxxx1 : Symbol(xxxx1, Decl(client.ts, 4, 10))
>b : Symbol(b, Decl(client.ts, 3, 8))
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
>x : Symbol(x, Decl(client.ts, 5, 8))
>a12 : Symbol(y, Decl(client.ts, 5, 11))
>y : Symbol(y, Decl(client.ts, 5, 11))
@@ -72,7 +72,7 @@ export var xxxx3 = new y();
>xxxx3 : Symbol(xxxx3, Decl(client.ts, 7, 10))
>y : Symbol(y, Decl(client.ts, 5, 11))
-import { x11 as z, } from "server";
+import { x11 as z, } from "./server";
>x11 : Symbol(z, Decl(client.ts, 8, 8))
>z : Symbol(z, Decl(client.ts, 8, 8))
@@ -80,14 +80,14 @@ export var xxxx4 = new z();
>xxxx4 : Symbol(xxxx4, Decl(client.ts, 9, 10))
>z : Symbol(z, Decl(client.ts, 8, 8))
-import { m, } from "server";
+import { m, } from "./server";
>m : Symbol(m, Decl(client.ts, 10, 8))
export var xxxx5 = new m();
>xxxx5 : Symbol(xxxx5, Decl(client.ts, 11, 10))
>m : Symbol(m, Decl(client.ts, 10, 8))
-import { a1, x1 } from "server";
+import { a1, x1 } from "./server";
>a1 : Symbol(a1, Decl(client.ts, 12, 8))
>x1 : Symbol(x1, Decl(client.ts, 12, 12))
@@ -99,7 +99,7 @@ export var xxxx7 = new x1();
>xxxx7 : Symbol(xxxx7, Decl(client.ts, 14, 10))
>x1 : Symbol(x1, Decl(client.ts, 12, 12))
-import { a111 as a11, x111 as x11 } from "server";
+import { a111 as a11, x111 as x11 } from "./server";
>a111 : Symbol(a11, Decl(client.ts, 15, 8))
>a11 : Symbol(a11, Decl(client.ts, 15, 8))
>x111 : Symbol(x11, Decl(client.ts, 15, 21))
@@ -113,14 +113,14 @@ export var xxxx9 = new x11();
>xxxx9 : Symbol(xxxx9, Decl(client.ts, 17, 10))
>x11 : Symbol(x11, Decl(client.ts, 15, 21))
-import { z1 } from "server";
+import { z1 } from "./server";
>z1 : Symbol(z1, Decl(client.ts, 18, 8))
export var z111 = new z1();
>z111 : Symbol(z111, Decl(client.ts, 19, 10))
>z1 : Symbol(z1, Decl(client.ts, 18, 8))
-import { z2 as z3 } from "server";
+import { z2 as z3 } from "./server";
>z2 : Symbol(z3, Decl(client.ts, 20, 8))
>z3 : Symbol(z3, Decl(client.ts, 20, 8))
@@ -129,10 +129,10 @@ export var z2 = new z3(); // z2 shouldn't give redeclare error
>z3 : Symbol(z3, Decl(client.ts, 20, 8))
// not referenced
-import { aaaa } from "server";
+import { aaaa } from "./server";
>aaaa : Symbol(aaaa, Decl(client.ts, 24, 8))
-import { aaaa1 as bbbb } from "server";
+import { aaaa1 as bbbb } from "./server";
>aaaa1 : Symbol(bbbb, Decl(client.ts, 25, 8))
>bbbb : Symbol(bbbb, Decl(client.ts, 25, 8))
diff --git a/tests/baselines/reference/es6ImportNamedImportDts.types b/tests/baselines/reference/es6ImportNamedImportDts.types
index 93bd55716a5..9aba1012117 100644
--- a/tests/baselines/reference/es6ImportNamedImportDts.types
+++ b/tests/baselines/reference/es6ImportNamedImportDts.types
@@ -43,8 +43,8 @@ export class aaaa1 { }
>aaaa1 : aaaa1
=== tests/cases/compiler/client.ts ===
-import { } from "server";
-import { a } from "server";
+import { } from "./server";
+import { a } from "./server";
>a : typeof a
export var xxxx = new a();
@@ -52,7 +52,7 @@ export var xxxx = new a();
>new a() : a
>a : typeof a
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
>a11 : typeof b
>b : typeof b
@@ -61,7 +61,7 @@ export var xxxx1 = new b();
>new b() : b
>b : typeof b
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
>x : typeof x
>a12 : typeof y
>y : typeof y
@@ -76,7 +76,7 @@ export var xxxx3 = new y();
>new y() : y
>y : typeof y
-import { x11 as z, } from "server";
+import { x11 as z, } from "./server";
>x11 : typeof z
>z : typeof z
@@ -85,7 +85,7 @@ export var xxxx4 = new z();
>new z() : z
>z : typeof z
-import { m, } from "server";
+import { m, } from "./server";
>m : typeof m
export var xxxx5 = new m();
@@ -93,7 +93,7 @@ export var xxxx5 = new m();
>new m() : m
>m : typeof m
-import { a1, x1 } from "server";
+import { a1, x1 } from "./server";
>a1 : typeof a1
>x1 : typeof x1
@@ -107,7 +107,7 @@ export var xxxx7 = new x1();
>new x1() : x1
>x1 : typeof x1
-import { a111 as a11, x111 as x11 } from "server";
+import { a111 as a11, x111 as x11 } from "./server";
>a111 : typeof a11
>a11 : typeof a11
>x111 : typeof x11
@@ -123,7 +123,7 @@ export var xxxx9 = new x11();
>new x11() : x11
>x11 : typeof x11
-import { z1 } from "server";
+import { z1 } from "./server";
>z1 : typeof z1
export var z111 = new z1();
@@ -131,7 +131,7 @@ export var z111 = new z1();
>new z1() : z1
>z1 : typeof z1
-import { z2 as z3 } from "server";
+import { z2 as z3 } from "./server";
>z2 : typeof z3
>z3 : typeof z3
@@ -141,10 +141,10 @@ export var z2 = new z3(); // z2 shouldn't give redeclare error
>z3 : typeof z3
// not referenced
-import { aaaa } from "server";
+import { aaaa } from "./server";
>aaaa : typeof aaaa
-import { aaaa1 as bbbb } from "server";
+import { aaaa1 as bbbb } from "./server";
>aaaa1 : typeof bbbb
>bbbb : typeof bbbb
diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.js b/tests/baselines/reference/es6ImportNamedImportInEs5.js
index 9992508c00b..ce2cbea3d3d 100644
--- a/tests/baselines/reference/es6ImportNamedImportInEs5.js
+++ b/tests/baselines/reference/es6ImportNamedImportInEs5.js
@@ -12,33 +12,33 @@ export var z2 = 10;
export var aaaa = 10;
//// [es6ImportNamedImportInEs5_1.ts]
-import { } from "es6ImportNamedImportInEs5_0";
-import { a } from "es6ImportNamedImportInEs5_0";
+import { } from "./es6ImportNamedImportInEs5_0";
+import { a } from "./es6ImportNamedImportInEs5_0";
var xxxx = a;
-import { a as b } from "es6ImportNamedImportInEs5_0";
+import { a as b } from "./es6ImportNamedImportInEs5_0";
var xxxx = b;
-import { x, a as y } from "es6ImportNamedImportInEs5_0";
+import { x, a as y } from "./es6ImportNamedImportInEs5_0";
var xxxx = x;
var xxxx = y;
-import { x as z, } from "es6ImportNamedImportInEs5_0";
+import { x as z, } from "./es6ImportNamedImportInEs5_0";
var xxxx = z;
-import { m, } from "es6ImportNamedImportInEs5_0";
+import { m, } from "./es6ImportNamedImportInEs5_0";
var xxxx = m;
-import { a1, x1 } from "es6ImportNamedImportInEs5_0";
+import { a1, x1 } from "./es6ImportNamedImportInEs5_0";
var xxxx = a1;
var xxxx = x1;
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImportInEs5_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImportInEs5_0";
var xxxx = a11;
var xxxx = x11;
-import { z1 } from "es6ImportNamedImportInEs5_0";
+import { z1 } from "./es6ImportNamedImportInEs5_0";
var z111 = z1;
-import { z2 as z3 } from "es6ImportNamedImportInEs5_0";
+import { z2 as z3 } from "./es6ImportNamedImportInEs5_0";
var z2 = z3; // z2 shouldn't give redeclare error
// These are elided
-import { aaaa } from "es6ImportNamedImportInEs5_0";
+import { aaaa } from "./es6ImportNamedImportInEs5_0";
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImportInEs5_0";
+import { aaaa as bbbb } from "./es6ImportNamedImportInEs5_0";
//// [es6ImportNamedImportInEs5_0.js]
@@ -51,26 +51,26 @@ exports.z1 = 10;
exports.z2 = 10;
exports.aaaa = 10;
//// [es6ImportNamedImportInEs5_1.js]
-var es6ImportNamedImportInEs5_0_1 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_1 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_1.a;
-var es6ImportNamedImportInEs5_0_2 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_2 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_2.a;
-var es6ImportNamedImportInEs5_0_3 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_3 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_3.x;
var xxxx = es6ImportNamedImportInEs5_0_3.a;
-var es6ImportNamedImportInEs5_0_4 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_4 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_4.x;
-var es6ImportNamedImportInEs5_0_5 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_5 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_5.m;
-var es6ImportNamedImportInEs5_0_6 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_6 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_6.a1;
var xxxx = es6ImportNamedImportInEs5_0_6.x1;
-var es6ImportNamedImportInEs5_0_7 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_7 = require("./es6ImportNamedImportInEs5_0");
var xxxx = es6ImportNamedImportInEs5_0_7.a1;
var xxxx = es6ImportNamedImportInEs5_0_7.x1;
-var es6ImportNamedImportInEs5_0_8 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_8 = require("./es6ImportNamedImportInEs5_0");
var z111 = es6ImportNamedImportInEs5_0_8.z1;
-var es6ImportNamedImportInEs5_0_9 = require("es6ImportNamedImportInEs5_0");
+var es6ImportNamedImportInEs5_0_9 = require("./es6ImportNamedImportInEs5_0");
var z2 = es6ImportNamedImportInEs5_0_9.z2; // z2 shouldn't give redeclare error
diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.symbols b/tests/baselines/reference/es6ImportNamedImportInEs5.symbols
index 546487514ce..f9e949e7efb 100644
--- a/tests/baselines/reference/es6ImportNamedImportInEs5.symbols
+++ b/tests/baselines/reference/es6ImportNamedImportInEs5.symbols
@@ -27,15 +27,15 @@ export var aaaa = 10;
>aaaa : Symbol(aaaa, Decl(es6ImportNamedImportInEs5_0.ts, 8, 10))
=== tests/cases/compiler/es6ImportNamedImportInEs5_1.ts ===
-import { } from "es6ImportNamedImportInEs5_0";
-import { a } from "es6ImportNamedImportInEs5_0";
+import { } from "./es6ImportNamedImportInEs5_0";
+import { a } from "./es6ImportNamedImportInEs5_0";
>a : Symbol(a, Decl(es6ImportNamedImportInEs5_1.ts, 1, 8))
var xxxx = a;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>a : Symbol(a, Decl(es6ImportNamedImportInEs5_1.ts, 1, 8))
-import { a as b } from "es6ImportNamedImportInEs5_0";
+import { a as b } from "./es6ImportNamedImportInEs5_0";
>a : Symbol(b, Decl(es6ImportNamedImportInEs5_1.ts, 3, 8))
>b : Symbol(b, Decl(es6ImportNamedImportInEs5_1.ts, 3, 8))
@@ -43,7 +43,7 @@ var xxxx = b;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>b : Symbol(b, Decl(es6ImportNamedImportInEs5_1.ts, 3, 8))
-import { x, a as y } from "es6ImportNamedImportInEs5_0";
+import { x, a as y } from "./es6ImportNamedImportInEs5_0";
>x : Symbol(x, Decl(es6ImportNamedImportInEs5_1.ts, 5, 8))
>a : Symbol(y, Decl(es6ImportNamedImportInEs5_1.ts, 5, 11))
>y : Symbol(y, Decl(es6ImportNamedImportInEs5_1.ts, 5, 11))
@@ -56,7 +56,7 @@ var xxxx = y;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>y : Symbol(y, Decl(es6ImportNamedImportInEs5_1.ts, 5, 11))
-import { x as z, } from "es6ImportNamedImportInEs5_0";
+import { x as z, } from "./es6ImportNamedImportInEs5_0";
>x : Symbol(z, Decl(es6ImportNamedImportInEs5_1.ts, 8, 8))
>z : Symbol(z, Decl(es6ImportNamedImportInEs5_1.ts, 8, 8))
@@ -64,14 +64,14 @@ var xxxx = z;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>z : Symbol(z, Decl(es6ImportNamedImportInEs5_1.ts, 8, 8))
-import { m, } from "es6ImportNamedImportInEs5_0";
+import { m, } from "./es6ImportNamedImportInEs5_0";
>m : Symbol(m, Decl(es6ImportNamedImportInEs5_1.ts, 10, 8))
var xxxx = m;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>m : Symbol(m, Decl(es6ImportNamedImportInEs5_1.ts, 10, 8))
-import { a1, x1 } from "es6ImportNamedImportInEs5_0";
+import { a1, x1 } from "./es6ImportNamedImportInEs5_0";
>a1 : Symbol(a1, Decl(es6ImportNamedImportInEs5_1.ts, 12, 8))
>x1 : Symbol(x1, Decl(es6ImportNamedImportInEs5_1.ts, 12, 12))
@@ -83,7 +83,7 @@ var xxxx = x1;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>x1 : Symbol(x1, Decl(es6ImportNamedImportInEs5_1.ts, 12, 12))
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImportInEs5_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImportInEs5_0";
>a1 : Symbol(a11, Decl(es6ImportNamedImportInEs5_1.ts, 15, 8))
>a11 : Symbol(a11, Decl(es6ImportNamedImportInEs5_1.ts, 15, 8))
>x1 : Symbol(x11, Decl(es6ImportNamedImportInEs5_1.ts, 15, 19))
@@ -97,14 +97,14 @@ var xxxx = x11;
>xxxx : Symbol(xxxx, Decl(es6ImportNamedImportInEs5_1.ts, 2, 3), Decl(es6ImportNamedImportInEs5_1.ts, 4, 3), Decl(es6ImportNamedImportInEs5_1.ts, 6, 3), Decl(es6ImportNamedImportInEs5_1.ts, 7, 3), Decl(es6ImportNamedImportInEs5_1.ts, 9, 3), Decl(es6ImportNamedImportInEs5_1.ts, 11, 3), Decl(es6ImportNamedImportInEs5_1.ts, 13, 3), Decl(es6ImportNamedImportInEs5_1.ts, 14, 3), Decl(es6ImportNamedImportInEs5_1.ts, 16, 3), Decl(es6ImportNamedImportInEs5_1.ts, 17, 3))
>x11 : Symbol(x11, Decl(es6ImportNamedImportInEs5_1.ts, 15, 19))
-import { z1 } from "es6ImportNamedImportInEs5_0";
+import { z1 } from "./es6ImportNamedImportInEs5_0";
>z1 : Symbol(z1, Decl(es6ImportNamedImportInEs5_1.ts, 18, 8))
var z111 = z1;
>z111 : Symbol(z111, Decl(es6ImportNamedImportInEs5_1.ts, 19, 3))
>z1 : Symbol(z1, Decl(es6ImportNamedImportInEs5_1.ts, 18, 8))
-import { z2 as z3 } from "es6ImportNamedImportInEs5_0";
+import { z2 as z3 } from "./es6ImportNamedImportInEs5_0";
>z2 : Symbol(z3, Decl(es6ImportNamedImportInEs5_1.ts, 20, 8))
>z3 : Symbol(z3, Decl(es6ImportNamedImportInEs5_1.ts, 20, 8))
@@ -113,11 +113,11 @@ var z2 = z3; // z2 shouldn't give redeclare error
>z3 : Symbol(z3, Decl(es6ImportNamedImportInEs5_1.ts, 20, 8))
// These are elided
-import { aaaa } from "es6ImportNamedImportInEs5_0";
+import { aaaa } from "./es6ImportNamedImportInEs5_0";
>aaaa : Symbol(aaaa, Decl(es6ImportNamedImportInEs5_1.ts, 24, 8))
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImportInEs5_0";
+import { aaaa as bbbb } from "./es6ImportNamedImportInEs5_0";
>aaaa : Symbol(bbbb, Decl(es6ImportNamedImportInEs5_1.ts, 26, 8))
>bbbb : Symbol(bbbb, Decl(es6ImportNamedImportInEs5_1.ts, 26, 8))
diff --git a/tests/baselines/reference/es6ImportNamedImportInEs5.types b/tests/baselines/reference/es6ImportNamedImportInEs5.types
index 95f784c5eac..1d55b4bf51e 100644
--- a/tests/baselines/reference/es6ImportNamedImportInEs5.types
+++ b/tests/baselines/reference/es6ImportNamedImportInEs5.types
@@ -33,15 +33,15 @@ export var aaaa = 10;
>10 : number
=== tests/cases/compiler/es6ImportNamedImportInEs5_1.ts ===
-import { } from "es6ImportNamedImportInEs5_0";
-import { a } from "es6ImportNamedImportInEs5_0";
+import { } from "./es6ImportNamedImportInEs5_0";
+import { a } from "./es6ImportNamedImportInEs5_0";
>a : number
var xxxx = a;
>xxxx : number
>a : number
-import { a as b } from "es6ImportNamedImportInEs5_0";
+import { a as b } from "./es6ImportNamedImportInEs5_0";
>a : number
>b : number
@@ -49,7 +49,7 @@ var xxxx = b;
>xxxx : number
>b : number
-import { x, a as y } from "es6ImportNamedImportInEs5_0";
+import { x, a as y } from "./es6ImportNamedImportInEs5_0";
>x : number
>a : number
>y : number
@@ -62,7 +62,7 @@ var xxxx = y;
>xxxx : number
>y : number
-import { x as z, } from "es6ImportNamedImportInEs5_0";
+import { x as z, } from "./es6ImportNamedImportInEs5_0";
>x : number
>z : number
@@ -70,14 +70,14 @@ var xxxx = z;
>xxxx : number
>z : number
-import { m, } from "es6ImportNamedImportInEs5_0";
+import { m, } from "./es6ImportNamedImportInEs5_0";
>m : number
var xxxx = m;
>xxxx : number
>m : number
-import { a1, x1 } from "es6ImportNamedImportInEs5_0";
+import { a1, x1 } from "./es6ImportNamedImportInEs5_0";
>a1 : number
>x1 : number
@@ -89,7 +89,7 @@ var xxxx = x1;
>xxxx : number
>x1 : number
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImportInEs5_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImportInEs5_0";
>a1 : number
>a11 : number
>x1 : number
@@ -103,14 +103,14 @@ var xxxx = x11;
>xxxx : number
>x11 : number
-import { z1 } from "es6ImportNamedImportInEs5_0";
+import { z1 } from "./es6ImportNamedImportInEs5_0";
>z1 : number
var z111 = z1;
>z111 : number
>z1 : number
-import { z2 as z3 } from "es6ImportNamedImportInEs5_0";
+import { z2 as z3 } from "./es6ImportNamedImportInEs5_0";
>z2 : number
>z3 : number
@@ -119,11 +119,11 @@ var z2 = z3; // z2 shouldn't give redeclare error
>z3 : number
// These are elided
-import { aaaa } from "es6ImportNamedImportInEs5_0";
+import { aaaa } from "./es6ImportNamedImportInEs5_0";
>aaaa : number
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImportInEs5_0";
+import { aaaa as bbbb } from "./es6ImportNamedImportInEs5_0";
>aaaa : number
>bbbb : number
diff --git a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.errors.txt b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.errors.txt
index 970c51973b2..fec4d182158 100644
--- a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.errors.txt
@@ -8,7 +8,7 @@ tests/cases/compiler/es6ImportNamedImportInExportAssignment_1.ts(2,1): error TS1
export var a = 10;
==== tests/cases/compiler/es6ImportNamedImportInExportAssignment_1.ts (1 errors) ====
- import { a } from "es6ImportNamedImportInExportAssignment_0";
+ import { a } from "./es6ImportNamedImportInExportAssignment_0";
export = a;
~~~~~~~~~~~
!!! error TS1203: Export assignment cannot be used when targeting ECMAScript 6 or higher. Consider using 'export default' instead.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.js b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.js
index eab345e4e7f..44ac0d188b3 100644
--- a/tests/baselines/reference/es6ImportNamedImportInExportAssignment.js
+++ b/tests/baselines/reference/es6ImportNamedImportInExportAssignment.js
@@ -5,17 +5,17 @@
export var a = 10;
//// [es6ImportNamedImportInExportAssignment_1.ts]
-import { a } from "es6ImportNamedImportInExportAssignment_0";
+import { a } from "./es6ImportNamedImportInExportAssignment_0";
export = a;
//// [es6ImportNamedImportInExportAssignment_0.js]
export var a = 10;
//// [es6ImportNamedImportInExportAssignment_1.js]
-import { a } from "es6ImportNamedImportInExportAssignment_0";
+import { a } from "./es6ImportNamedImportInExportAssignment_0";
//// [es6ImportNamedImportInExportAssignment_0.d.ts]
export declare var a: number;
//// [es6ImportNamedImportInExportAssignment_1.d.ts]
-import { a } from "es6ImportNamedImportInExportAssignment_0";
+import { a } from "./es6ImportNamedImportInExportAssignment_0";
export = a;
diff --git a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.js b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.js
index f457e31f53c..418cd76c907 100644
--- a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.js
+++ b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.js
@@ -8,7 +8,7 @@ export module a {
}
//// [es6ImportNamedImportInIndirectExportAssignment_1.ts]
-import { a } from "es6ImportNamedImportInIndirectExportAssignment_0";
+import { a } from "./es6ImportNamedImportInIndirectExportAssignment_0";
import x = a;
export = x;
@@ -23,7 +23,7 @@ var a;
a.c = c;
})(a = exports.a || (exports.a = {}));
//// [es6ImportNamedImportInIndirectExportAssignment_1.js]
-var es6ImportNamedImportInIndirectExportAssignment_0_1 = require("es6ImportNamedImportInIndirectExportAssignment_0");
+var es6ImportNamedImportInIndirectExportAssignment_0_1 = require("./es6ImportNamedImportInIndirectExportAssignment_0");
var x = es6ImportNamedImportInIndirectExportAssignment_0_1.a;
module.exports = x;
@@ -34,6 +34,6 @@ export declare module a {
}
}
//// [es6ImportNamedImportInIndirectExportAssignment_1.d.ts]
-import { a } from "es6ImportNamedImportInIndirectExportAssignment_0";
+import { a } from "./es6ImportNamedImportInIndirectExportAssignment_0";
import x = a;
export = x;
diff --git a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.symbols b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.symbols
index 2598735d6d8..24eab96f54b 100644
--- a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.symbols
+++ b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.symbols
@@ -9,13 +9,13 @@ export module a {
}
=== tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment_1.ts ===
-import { a } from "es6ImportNamedImportInIndirectExportAssignment_0";
+import { a } from "./es6ImportNamedImportInIndirectExportAssignment_0";
>a : Symbol(a, Decl(es6ImportNamedImportInIndirectExportAssignment_1.ts, 0, 8))
import x = a;
->x : Symbol(x, Decl(es6ImportNamedImportInIndirectExportAssignment_1.ts, 0, 69))
+>x : Symbol(x, Decl(es6ImportNamedImportInIndirectExportAssignment_1.ts, 0, 71))
>a : Symbol(a, Decl(es6ImportNamedImportInIndirectExportAssignment_0.ts, 0, 0))
export = x;
->x : Symbol(x, Decl(es6ImportNamedImportInIndirectExportAssignment_1.ts, 0, 69))
+>x : Symbol(x, Decl(es6ImportNamedImportInIndirectExportAssignment_1.ts, 0, 71))
diff --git a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.types b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.types
index 36792ece82e..d4dd62aacb2 100644
--- a/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.types
+++ b/tests/baselines/reference/es6ImportNamedImportInIndirectExportAssignment.types
@@ -9,7 +9,7 @@ export module a {
}
=== tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment_1.ts ===
-import { a } from "es6ImportNamedImportInIndirectExportAssignment_0";
+import { a } from "./es6ImportNamedImportInIndirectExportAssignment_0";
>a : typeof a
import x = a;
diff --git a/tests/baselines/reference/es6ImportNamedImportMergeErrors.errors.txt b/tests/baselines/reference/es6ImportNamedImportMergeErrors.errors.txt
index b9461b6caca..4fca12ee8e1 100644
--- a/tests/baselines/reference/es6ImportNamedImportMergeErrors.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImportMergeErrors.errors.txt
@@ -12,22 +12,22 @@ tests/cases/compiler/es6ImportNamedImportMergeErrors_1.ts(10,16): error TS2300:
export var z1 = a;
==== tests/cases/compiler/es6ImportNamedImportMergeErrors_1.ts (4 errors) ====
- import { a } from "es6ImportNamedImportMergeErrors_0";
+ import { a } from "./es6ImportNamedImportMergeErrors_0";
interface a { } // shouldnt be error
- import { x as x1 } from "es6ImportNamedImportMergeErrors_0";
+ import { x as x1 } from "./es6ImportNamedImportMergeErrors_0";
interface x1 { } // shouldnt be error
- import { x } from "es6ImportNamedImportMergeErrors_0"; // should be error
+ import { x } from "./es6ImportNamedImportMergeErrors_0"; // should be error
~
!!! error TS2440: Import declaration conflicts with local declaration of 'x'
var x = 10;
- import { x as x44 } from "es6ImportNamedImportMergeErrors_0"; // should be error
+ import { x as x44 } from "./es6ImportNamedImportMergeErrors_0"; // should be error
~~~~~~~~
!!! error TS2440: Import declaration conflicts with local declaration of 'x44'
var x44 = 10;
- import { z } from "es6ImportNamedImportMergeErrors_0"; // should be error
+ import { z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
~
!!! error TS2300: Duplicate identifier 'z'.
- import { z1 as z } from "es6ImportNamedImportMergeErrors_0"; // should be error
+ import { z1 as z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
~
!!! error TS2300: Duplicate identifier 'z'.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImportMergeErrors.js b/tests/baselines/reference/es6ImportNamedImportMergeErrors.js
index fad411f557d..63bf1127a53 100644
--- a/tests/baselines/reference/es6ImportNamedImportMergeErrors.js
+++ b/tests/baselines/reference/es6ImportNamedImportMergeErrors.js
@@ -8,16 +8,16 @@ export var z = a;
export var z1 = a;
//// [es6ImportNamedImportMergeErrors_1.ts]
-import { a } from "es6ImportNamedImportMergeErrors_0";
+import { a } from "./es6ImportNamedImportMergeErrors_0";
interface a { } // shouldnt be error
-import { x as x1 } from "es6ImportNamedImportMergeErrors_0";
+import { x as x1 } from "./es6ImportNamedImportMergeErrors_0";
interface x1 { } // shouldnt be error
-import { x } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { x } from "./es6ImportNamedImportMergeErrors_0"; // should be error
var x = 10;
-import { x as x44 } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { x as x44 } from "./es6ImportNamedImportMergeErrors_0"; // should be error
var x44 = 10;
-import { z } from "es6ImportNamedImportMergeErrors_0"; // should be error
-import { z1 as z } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
+import { z1 as z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
//// [es6ImportNamedImportMergeErrors_0.js]
diff --git a/tests/baselines/reference/es6ImportNamedImportNoExportMember.errors.txt b/tests/baselines/reference/es6ImportNamedImportNoExportMember.errors.txt
index 57a77410cb2..47a836fd422 100644
--- a/tests/baselines/reference/es6ImportNamedImportNoExportMember.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImportNoExportMember.errors.txt
@@ -8,9 +8,9 @@ tests/cases/compiler/es6ImportNamedImport_1.ts(2,10): error TS2305: Module '"tes
export var x = a;
==== tests/cases/compiler/es6ImportNamedImport_1.ts (2 errors) ====
- import { a1 } from "es6ImportNamedImportNoExportMember_0";
+ import { a1 } from "./es6ImportNamedImportNoExportMember_0";
~~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportNamedImportNoExportMember_0"' has no exported member 'a1'.
- import { x1 as x } from "es6ImportNamedImportNoExportMember_0";
+ import { x1 as x } from "./es6ImportNamedImportNoExportMember_0";
~~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportNamedImportNoExportMember_0"' has no exported member 'x1'.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImportNoExportMember.js b/tests/baselines/reference/es6ImportNamedImportNoExportMember.js
index da473fa42a3..ba607b4626f 100644
--- a/tests/baselines/reference/es6ImportNamedImportNoExportMember.js
+++ b/tests/baselines/reference/es6ImportNamedImportNoExportMember.js
@@ -6,8 +6,8 @@ export var a = 10;
export var x = a;
//// [es6ImportNamedImport_1.ts]
-import { a1 } from "es6ImportNamedImportNoExportMember_0";
-import { x1 as x } from "es6ImportNamedImportNoExportMember_0";
+import { a1 } from "./es6ImportNamedImportNoExportMember_0";
+import { x1 as x } from "./es6ImportNamedImportNoExportMember_0";
//// [es6ImportNamedImportNoExportMember_0.js]
exports.a = 10;
diff --git a/tests/baselines/reference/es6ImportNamedImportNoNamedExports.errors.txt b/tests/baselines/reference/es6ImportNamedImportNoNamedExports.errors.txt
index a5abd986ee8..e2cacba59e8 100644
--- a/tests/baselines/reference/es6ImportNamedImportNoNamedExports.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImportNoNamedExports.errors.txt
@@ -8,9 +8,9 @@ tests/cases/compiler/es6ImportNamedImportNoNamedExports_1.ts(2,10): error TS2305
export = a;
==== tests/cases/compiler/es6ImportNamedImportNoNamedExports_1.ts (2 errors) ====
- import { a } from "es6ImportNamedImportNoNamedExports_0";
+ import { a } from "./es6ImportNamedImportNoNamedExports_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportNamedImportNoNamedExports_0"' has no exported member 'a'.
- import { a as x } from "es6ImportNamedImportNoNamedExports_0";
+ import { a as x } from "./es6ImportNamedImportNoNamedExports_0";
~
!!! error TS2305: Module '"tests/cases/compiler/es6ImportNamedImportNoNamedExports_0"' has no exported member 'a'.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImportNoNamedExports.js b/tests/baselines/reference/es6ImportNamedImportNoNamedExports.js
index 524860827e6..273f9a3fc3a 100644
--- a/tests/baselines/reference/es6ImportNamedImportNoNamedExports.js
+++ b/tests/baselines/reference/es6ImportNamedImportNoNamedExports.js
@@ -6,8 +6,8 @@ var a = 10;
export = a;
//// [es6ImportNamedImportNoNamedExports_1.ts]
-import { a } from "es6ImportNamedImportNoNamedExports_0";
-import { a as x } from "es6ImportNamedImportNoNamedExports_0";
+import { a } from "./es6ImportNamedImportNoNamedExports_0";
+import { a as x } from "./es6ImportNamedImportNoNamedExports_0";
//// [es6ImportNamedImportNoNamedExports_0.js]
var a = 10;
diff --git a/tests/baselines/reference/es6ImportNamedImportWithExport.errors.txt b/tests/baselines/reference/es6ImportNamedImportWithExport.errors.txt
index ff8fe604622..a5a4301683e 100644
--- a/tests/baselines/reference/es6ImportNamedImportWithExport.errors.txt
+++ b/tests/baselines/reference/es6ImportNamedImportWithExport.errors.txt
@@ -24,54 +24,54 @@ tests/cases/compiler/client.ts(26,1): error TS1191: An import declaration cannot
export var aaaa = 10;
==== tests/cases/compiler/client.ts (12 errors) ====
- export import { } from "server";
+ export import { } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
- export import { a } from "server";
+ export import { a } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = a;
- export import { a as b } from "server";
+ export import { a as b } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = b;
- export import { x, a as y } from "server";
+ export import { x, a as y } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = x;
export var xxxx = y;
- export import { x as z, } from "server";
+ export import { x as z, } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = z;
- export import { m, } from "server";
+ export import { m, } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = m;
- export import { a1, x1 } from "server";
+ export import { a1, x1 } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = a1;
export var xxxx = x1;
- export import { a1 as a11, x1 as x11 } from "server";
+ export import { a1 as a11, x1 as x11 } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var xxxx = a11;
export var xxxx = x11;
- export import { z1 } from "server";
+ export import { z1 } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var z111 = z1;
- export import { z2 as z3 } from "server";
+ export import { z2 as z3 } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
export var z2 = z3; // z2 shouldn't give redeclare error
// Non referenced imports
- export import { aaaa } from "server";
+ export import { aaaa } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
- export import { aaaa as bbbb } from "server";
+ export import { aaaa as bbbb } from "./server";
~~~~~~
!!! error TS1191: An import declaration cannot have modifiers.
\ No newline at end of file
diff --git a/tests/baselines/reference/es6ImportNamedImportWithExport.js b/tests/baselines/reference/es6ImportNamedImportWithExport.js
index 60ba6bf706b..5175554f0f9 100644
--- a/tests/baselines/reference/es6ImportNamedImportWithExport.js
+++ b/tests/baselines/reference/es6ImportNamedImportWithExport.js
@@ -12,32 +12,32 @@ export var z2 = 10;
export var aaaa = 10;
//// [client.ts]
-export import { } from "server";
-export import { a } from "server";
+export import { } from "./server";
+export import { a } from "./server";
export var xxxx = a;
-export import { a as b } from "server";
+export import { a as b } from "./server";
export var xxxx = b;
-export import { x, a as y } from "server";
+export import { x, a as y } from "./server";
export var xxxx = x;
export var xxxx = y;
-export import { x as z, } from "server";
+export import { x as z, } from "./server";
export var xxxx = z;
-export import { m, } from "server";
+export import { m, } from "./server";
export var xxxx = m;
-export import { a1, x1 } from "server";
+export import { a1, x1 } from "./server";
export var xxxx = a1;
export var xxxx = x1;
-export import { a1 as a11, x1 as x11 } from "server";
+export import { a1 as a11, x1 as x11 } from "./server";
export var xxxx = a11;
export var xxxx = x11;
-export import { z1 } from "server";
+export import { z1 } from "./server";
export var z111 = z1;
-export import { z2 as z3 } from "server";
+export import { z2 as z3 } from "./server";
export var z2 = z3; // z2 shouldn't give redeclare error
// Non referenced imports
-export import { aaaa } from "server";
-export import { aaaa as bbbb } from "server";
+export import { aaaa } from "./server";
+export import { aaaa as bbbb } from "./server";
//// [server.js]
@@ -50,26 +50,26 @@ exports.z1 = 10;
exports.z2 = 10;
exports.aaaa = 10;
//// [client.js]
-var server_1 = require("server");
+var server_1 = require("./server");
exports.xxxx = server_1.a;
-var server_2 = require("server");
+var server_2 = require("./server");
exports.xxxx = server_2.a;
-var server_3 = require("server");
+var server_3 = require("./server");
exports.xxxx = server_3.x;
exports.xxxx = server_3.a;
-var server_4 = require("server");
+var server_4 = require("./server");
exports.xxxx = server_4.x;
-var server_5 = require("server");
+var server_5 = require("./server");
exports.xxxx = server_5.m;
-var server_6 = require("server");
+var server_6 = require("./server");
exports.xxxx = server_6.a1;
exports.xxxx = server_6.x1;
-var server_7 = require("server");
+var server_7 = require("./server");
exports.xxxx = server_7.a1;
exports.xxxx = server_7.x1;
-var server_8 = require("server");
+var server_8 = require("./server");
exports.z111 = server_8.z1;
-var server_9 = require("server");
+var server_9 = require("./server");
exports.z2 = server_9.z2; // z2 shouldn't give redeclare error
diff --git a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.js b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.js
index dcf99c5359a..8593f4e6343 100644
--- a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.js
+++ b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.js
@@ -16,7 +16,7 @@ export class C2 implements I2 {
}
//// [client.ts]
-import { C, I, C2 } from "server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
+import { C, I, C2 } from "./server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
export type cValInterface = I;
export var cVal = new C();
@@ -36,7 +36,7 @@ var C2 = (function () {
})();
exports.C2 = C2;
//// [client.js]
-var server_1 = require("server"); // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
+var server_1 = require("./server"); // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
exports.cVal = new server_1.C();
@@ -54,6 +54,6 @@ export declare class C2 implements I2 {
prop2: string;
}
//// [client.d.ts]
-import { C, I } from "server";
+import { C, I } from "./server";
export declare type cValInterface = I;
export declare var cVal: C;
diff --git a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols
index e294124c6f4..cff0406b220 100644
--- a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols
+++ b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.symbols
@@ -28,13 +28,13 @@ export class C2 implements I2 {
}
=== tests/cases/compiler/client.ts ===
-import { C, I, C2 } from "server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
+import { C, I, C2 } from "./server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
>C : Symbol(C, Decl(client.ts, 0, 8))
>I : Symbol(I, Decl(client.ts, 0, 11))
>C2 : Symbol(C2, Decl(client.ts, 0, 14))
export type cValInterface = I;
->cValInterface : Symbol(cValInterface, Decl(client.ts, 0, 34))
+>cValInterface : Symbol(cValInterface, Decl(client.ts, 0, 36))
>I : Symbol(I, Decl(client.ts, 0, 11))
export var cVal = new C();
diff --git a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types
index 12e5271c8b0..a65a2978e1b 100644
--- a/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types
+++ b/tests/baselines/reference/es6ImportNamedImportWithTypesAndValues.types
@@ -30,7 +30,7 @@ export class C2 implements I2 {
}
=== tests/cases/compiler/client.ts ===
-import { C, I, C2 } from "server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
+import { C, I, C2 } from "./server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
>C : typeof C
>I : any
>C2 : typeof C2
diff --git a/tests/baselines/reference/exportAssignClassAndModule.js b/tests/baselines/reference/exportAssignClassAndModule.js
index 37fecdcc53f..d440fb9a8e5 100644
--- a/tests/baselines/reference/exportAssignClassAndModule.js
+++ b/tests/baselines/reference/exportAssignClassAndModule.js
@@ -12,7 +12,7 @@ export = Foo;
//// [exportAssignClassAndModule_1.ts]
///
-import Foo = require('exportAssignClassAndModule_0');
+import Foo = require('./exportAssignClassAndModule_0');
var z: Foo.Bar;
var zz: Foo;
diff --git a/tests/baselines/reference/exportAssignClassAndModule.symbols b/tests/baselines/reference/exportAssignClassAndModule.symbols
index 9f38ed80b1b..016e91f79a2 100644
--- a/tests/baselines/reference/exportAssignClassAndModule.symbols
+++ b/tests/baselines/reference/exportAssignClassAndModule.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/exportAssignClassAndModule_1.ts ===
///
-import Foo = require('exportAssignClassAndModule_0');
+import Foo = require('./exportAssignClassAndModule_0');
>Foo : Symbol(Foo, Decl(exportAssignClassAndModule_1.ts, 0, 0))
var z: Foo.Bar;
diff --git a/tests/baselines/reference/exportAssignClassAndModule.types b/tests/baselines/reference/exportAssignClassAndModule.types
index aa1ede6b2d4..5517d32badc 100644
--- a/tests/baselines/reference/exportAssignClassAndModule.types
+++ b/tests/baselines/reference/exportAssignClassAndModule.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/exportAssignClassAndModule_1.ts ===
///
-import Foo = require('exportAssignClassAndModule_0');
+import Foo = require('./exportAssignClassAndModule_0');
>Foo : typeof Foo
var z: Foo.Bar;
diff --git a/tests/baselines/reference/exportAssignmentEnum.js b/tests/baselines/reference/exportAssignmentEnum.js
index a484e43738f..06438fb2b53 100644
--- a/tests/baselines/reference/exportAssignmentEnum.js
+++ b/tests/baselines/reference/exportAssignmentEnum.js
@@ -10,7 +10,7 @@ enum E {
export = E;
//// [exportAssignmentEnum_B.ts]
-import EnumE = require("exportAssignmentEnum_A");
+import EnumE = require("./exportAssignmentEnum_A");
var a = EnumE.A;
var b = EnumE.B;
@@ -25,7 +25,7 @@ var E;
})(E || (E = {}));
module.exports = E;
//// [exportAssignmentEnum_B.js]
-var EnumE = require("exportAssignmentEnum_A");
+var EnumE = require("./exportAssignmentEnum_A");
var a = EnumE.A;
var b = EnumE.B;
var c = EnumE.C;
diff --git a/tests/baselines/reference/exportAssignmentEnum.symbols b/tests/baselines/reference/exportAssignmentEnum.symbols
index 07eb5f7b907..dea194b3508 100644
--- a/tests/baselines/reference/exportAssignmentEnum.symbols
+++ b/tests/baselines/reference/exportAssignmentEnum.symbols
@@ -1,5 +1,5 @@
=== tests/cases/compiler/exportAssignmentEnum_B.ts ===
-import EnumE = require("exportAssignmentEnum_A");
+import EnumE = require("./exportAssignmentEnum_A");
>EnumE : Symbol(EnumE, Decl(exportAssignmentEnum_B.ts, 0, 0))
var a = EnumE.A;
diff --git a/tests/baselines/reference/exportAssignmentEnum.types b/tests/baselines/reference/exportAssignmentEnum.types
index 9dfa34d3777..a186cf6f255 100644
--- a/tests/baselines/reference/exportAssignmentEnum.types
+++ b/tests/baselines/reference/exportAssignmentEnum.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/exportAssignmentEnum_B.ts ===
-import EnumE = require("exportAssignmentEnum_A");
+import EnumE = require("./exportAssignmentEnum_A");
>EnumE : typeof EnumE
var a = EnumE.A;
diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt
index f6736e468f0..b0bfac0adfd 100644
--- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt
+++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt
@@ -4,7 +4,7 @@ tests/cases/compiler/exportAssignmentOfDeclaredExternalModule_1.ts(4,9): error T
==== tests/cases/compiler/exportAssignmentOfDeclaredExternalModule_1.ts (2 errors) ====
///
- import Sammy = require('exportAssignmentOfDeclaredExternalModule_0');
+ import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0');
var x = new Sammy(); // error to use as constructor as there is not constructor symbol
~~~~~
!!! error TS2304: Cannot find name 'Sammy'.
diff --git a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js
index c8ba8324ad2..460707a3502 100644
--- a/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js
+++ b/tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js
@@ -9,7 +9,7 @@ export = Sammy;
//// [exportAssignmentOfDeclaredExternalModule_1.ts]
///
-import Sammy = require('exportAssignmentOfDeclaredExternalModule_0');
+import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0');
var x = new Sammy(); // error to use as constructor as there is not constructor symbol
var y = Sammy(); // error to use interface name as call target
var z: Sammy; // no error - z is of type interface Sammy from module 'M'
diff --git a/tests/baselines/reference/exportAssignmentVariable.js b/tests/baselines/reference/exportAssignmentVariable.js
index c20e6ec4f7b..8afbf222e6d 100644
--- a/tests/baselines/reference/exportAssignmentVariable.js
+++ b/tests/baselines/reference/exportAssignmentVariable.js
@@ -6,7 +6,7 @@ var x = 0;
export = x;
//// [exportAssignmentVariable_B.ts]
-import y = require("exportAssignmentVariable_A");
+import y = require("./exportAssignmentVariable_A");
var n: number = y;
@@ -14,5 +14,5 @@ var n: number = y;
var x = 0;
module.exports = x;
//// [exportAssignmentVariable_B.js]
-var y = require("exportAssignmentVariable_A");
+var y = require("./exportAssignmentVariable_A");
var n = y;
diff --git a/tests/baselines/reference/exportAssignmentVariable.symbols b/tests/baselines/reference/exportAssignmentVariable.symbols
index b819678d080..919a96ded33 100644
--- a/tests/baselines/reference/exportAssignmentVariable.symbols
+++ b/tests/baselines/reference/exportAssignmentVariable.symbols
@@ -1,5 +1,5 @@
=== tests/cases/compiler/exportAssignmentVariable_B.ts ===
-import y = require("exportAssignmentVariable_A");
+import y = require("./exportAssignmentVariable_A");
>y : Symbol(y, Decl(exportAssignmentVariable_B.ts, 0, 0))
var n: number = y;
diff --git a/tests/baselines/reference/exportAssignmentVariable.types b/tests/baselines/reference/exportAssignmentVariable.types
index 71f0afdea68..7c6d9b45cce 100644
--- a/tests/baselines/reference/exportAssignmentVariable.types
+++ b/tests/baselines/reference/exportAssignmentVariable.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/exportAssignmentVariable_B.ts ===
-import y = require("exportAssignmentVariable_A");
+import y = require("./exportAssignmentVariable_A");
>y : number
var n: number = y;
diff --git a/tests/baselines/reference/exportEqualMemberMissing.errors.txt b/tests/baselines/reference/exportEqualMemberMissing.errors.txt
index 3e6e7a35a12..4cd142668b9 100644
--- a/tests/baselines/reference/exportEqualMemberMissing.errors.txt
+++ b/tests/baselines/reference/exportEqualMemberMissing.errors.txt
@@ -3,7 +3,7 @@ tests/cases/compiler/exportEqualMemberMissing_1.ts(3,23): error TS2339: Property
==== tests/cases/compiler/exportEqualMemberMissing_1.ts (1 errors) ====
///
- import connect = require('exportEqualMemberMissing_0');
+ import connect = require('./exportEqualMemberMissing_0');
connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''.
~~~~~~
!!! error TS2339: Property 'static' does not exist on type '{ (): connectExport; foo: Date; }'.
diff --git a/tests/baselines/reference/exportEqualMemberMissing.js b/tests/baselines/reference/exportEqualMemberMissing.js
index 583176f12f3..85972ce0945 100644
--- a/tests/baselines/reference/exportEqualMemberMissing.js
+++ b/tests/baselines/reference/exportEqualMemberMissing.js
@@ -17,7 +17,7 @@ export = server;
//// [exportEqualMemberMissing_1.ts]
///
-import connect = require('exportEqualMemberMissing_0');
+import connect = require('./exportEqualMemberMissing_0');
connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''.
@@ -26,5 +26,5 @@ var server;
module.exports = server;
//// [exportEqualMemberMissing_1.js]
///
-var connect = require('exportEqualMemberMissing_0');
+var connect = require('./exportEqualMemberMissing_0');
connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''.
diff --git a/tests/baselines/reference/exportStarFromEmptyModule.errors.txt b/tests/baselines/reference/exportStarFromEmptyModule.errors.txt
index c88ac3b3f19..9d781da2707 100644
--- a/tests/baselines/reference/exportStarFromEmptyModule.errors.txt
+++ b/tests/baselines/reference/exportStarFromEmptyModule.errors.txt
@@ -12,17 +12,17 @@ tests/cases/compiler/exportStarFromEmptyModule_module4.ts(4,5): error TS2339: Pr
// empty
==== tests/cases/compiler/exportStarFromEmptyModule_module3.ts (1 errors) ====
- export * from "exportStarFromEmptyModule_module2";
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ export * from "./exportStarFromEmptyModule_module2";
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2306: File 'exportStarFromEmptyModule_module2.ts' is not a module.
- export * from "exportStarFromEmptyModule_module1";
+ export * from "./exportStarFromEmptyModule_module1";
export class A {
static q;
}
==== tests/cases/compiler/exportStarFromEmptyModule_module4.ts (1 errors) ====
- import * as X from "exportStarFromEmptyModule_module3";
+ import * as X from "./exportStarFromEmptyModule_module3";
var s: X.A;
X.A.q;
X.A.r; // Error
diff --git a/tests/baselines/reference/exportStarFromEmptyModule.js b/tests/baselines/reference/exportStarFromEmptyModule.js
index 9b486af4eae..d433e7b3682 100644
--- a/tests/baselines/reference/exportStarFromEmptyModule.js
+++ b/tests/baselines/reference/exportStarFromEmptyModule.js
@@ -10,15 +10,15 @@ export class A {
// empty
//// [exportStarFromEmptyModule_module3.ts]
-export * from "exportStarFromEmptyModule_module2";
-export * from "exportStarFromEmptyModule_module1";
+export * from "./exportStarFromEmptyModule_module2";
+export * from "./exportStarFromEmptyModule_module1";
export class A {
static q;
}
//// [exportStarFromEmptyModule_module4.ts]
-import * as X from "exportStarFromEmptyModule_module3";
+import * as X from "./exportStarFromEmptyModule_module3";
var s: X.A;
X.A.q;
X.A.r; // Error
@@ -36,8 +36,8 @@ exports.A = A;
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
-__export(require("exportStarFromEmptyModule_module2"));
-__export(require("exportStarFromEmptyModule_module1"));
+__export(require("./exportStarFromEmptyModule_module2"));
+__export(require("./exportStarFromEmptyModule_module1"));
var A = (function () {
function A() {
}
@@ -45,7 +45,7 @@ var A = (function () {
})();
exports.A = A;
//// [exportStarFromEmptyModule_module4.js]
-var X = require("exportStarFromEmptyModule_module3");
+var X = require("./exportStarFromEmptyModule_module3");
var s;
X.A.q;
X.A.r; // Error
@@ -57,8 +57,8 @@ export declare class A {
}
//// [exportStarFromEmptyModule_module2.d.ts]
//// [exportStarFromEmptyModule_module3.d.ts]
-export * from "exportStarFromEmptyModule_module2";
-export * from "exportStarFromEmptyModule_module1";
+export * from "./exportStarFromEmptyModule_module2";
+export * from "./exportStarFromEmptyModule_module1";
export declare class A {
static q: any;
}
diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.js b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.js
index 297a7527ec0..3c05ccc6866 100644
--- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.js
+++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.js
@@ -6,21 +6,21 @@ export class Model {
}
//// [extendingClassFromAliasAndUsageInIndexer_moduleA.ts]
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
//// [extendingClassFromAliasAndUsageInIndexer_moduleB.ts]
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
export class VisualizationModel extends Backbone.Model {
// different interesting stuff here
}
//// [extendingClassFromAliasAndUsageInIndexer_main.ts]
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
-import moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA");
-import moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
+import moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
+import moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
@@ -45,7 +45,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+var Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -60,7 +60,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+var Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
var VisualizationModel = (function (_super) {
__extends(VisualizationModel, _super);
function VisualizationModel() {
@@ -70,8 +70,8 @@ var VisualizationModel = (function (_super) {
})(Backbone.Model);
exports.VisualizationModel = VisualizationModel;
//// [extendingClassFromAliasAndUsageInIndexer_main.js]
-var moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA");
-var moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB");
+var moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
+var moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
var moduleATyped = moduleA;
var moduleMap = {
"moduleA": moduleA,
diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols
index 02d57509a55..33e0c226e67 100644
--- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols
+++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.symbols
@@ -1,15 +1,15 @@
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_main.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 0))
-import moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA");
->moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 79))
+import moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
+>moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 81))
-import moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB");
->moduleB : Symbol(moduleB, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 1, 77))
+import moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
+>moduleB : Symbol(moduleB, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 1, 79))
interface IHasVisualizationModel {
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 77))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 79))
VisualizationModel: typeof Backbone.Model;
>VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 3, 34))
@@ -19,19 +19,19 @@ interface IHasVisualizationModel {
}
var moduleATyped: IHasVisualizationModel = moduleA;
>moduleATyped : Symbol(moduleATyped, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 6, 3))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 77))
->moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 79))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 79))
+>moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 81))
var moduleMap: { [key: string]: IHasVisualizationModel } = {
>moduleMap : Symbol(moduleMap, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 7, 3))
>key : Symbol(key, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 7, 18))
->IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 77))
+>IHasVisualizationModel : Symbol(IHasVisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 2, 79))
"moduleA": moduleA,
->moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 79))
+>moduleA : Symbol(moduleA, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 0, 81))
"moduleB": moduleB
->moduleB : Symbol(moduleB, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 1, 77))
+>moduleB : Symbol(moduleB, Decl(extendingClassFromAliasAndUsageInIndexer_main.ts, 1, 79))
};
var moduleName: string;
@@ -53,11 +53,11 @@ export class Model {
}
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_moduleA.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_moduleA.ts, 0, 79))
+>VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_moduleA.ts, 0, 81))
>Backbone.Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_moduleA.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0))
@@ -66,11 +66,11 @@ export class VisualizationModel extends Backbone.Model {
}
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_moduleB.ts, 0, 0))
export class VisualizationModel extends Backbone.Model {
->VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_moduleB.ts, 0, 79))
+>VisualizationModel : Symbol(VisualizationModel, Decl(extendingClassFromAliasAndUsageInIndexer_moduleB.ts, 0, 81))
>Backbone.Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0))
>Backbone : Symbol(Backbone, Decl(extendingClassFromAliasAndUsageInIndexer_moduleB.ts, 0, 0))
>Model : Symbol(Backbone.Model, Decl(extendingClassFromAliasAndUsageInIndexer_backbone.ts, 0, 0))
diff --git a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types
index b5323ae5c85..e1bfd195698 100644
--- a/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types
+++ b/tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.types
@@ -1,11 +1,11 @@
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_main.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : typeof Backbone
-import moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA");
+import moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
>moduleA : typeof moduleA
-import moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB");
+import moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
>moduleB : typeof moduleB
interface IHasVisualizationModel {
@@ -56,7 +56,7 @@ export class Model {
}
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleA.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
@@ -69,7 +69,7 @@ export class VisualizationModel extends Backbone.Model {
}
=== tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer_moduleB.ts ===
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
>Backbone : typeof Backbone
export class VisualizationModel extends Backbone.Model {
diff --git a/tests/baselines/reference/externalModuleExportingGenericClass.errors.txt b/tests/baselines/reference/externalModuleExportingGenericClass.errors.txt
index c8712b20864..7825345a1b5 100644
--- a/tests/baselines/reference/externalModuleExportingGenericClass.errors.txt
+++ b/tests/baselines/reference/externalModuleExportingGenericClass.errors.txt
@@ -2,7 +2,7 @@ tests/cases/compiler/externalModuleExportingGenericClass_file1.ts(2,8): error TS
==== tests/cases/compiler/externalModuleExportingGenericClass_file1.ts (1 errors) ====
- import a = require('externalModuleExportingGenericClass_file0');
+ import a = require('./externalModuleExportingGenericClass_file0');
var v: a; // this should report error
~
!!! error TS2314: Generic type 'C' requires 1 type argument(s).
diff --git a/tests/baselines/reference/externalModuleExportingGenericClass.js b/tests/baselines/reference/externalModuleExportingGenericClass.js
index 14f18ddfc04..5dc1e9bea1d 100644
--- a/tests/baselines/reference/externalModuleExportingGenericClass.js
+++ b/tests/baselines/reference/externalModuleExportingGenericClass.js
@@ -9,7 +9,7 @@ export = C;
//// [externalModuleExportingGenericClass_file1.ts]
-import a = require('externalModuleExportingGenericClass_file0');
+import a = require('./externalModuleExportingGenericClass_file0');
var v: a; // this should report error
var v2: any = (new a()).foo;
var v3: number = (new a()).foo;
@@ -23,7 +23,7 @@ var C = (function () {
})();
module.exports = C;
//// [externalModuleExportingGenericClass_file1.js]
-var a = require('externalModuleExportingGenericClass_file0');
+var a = require('./externalModuleExportingGenericClass_file0');
var v; // this should report error
var v2 = (new a()).foo;
var v3 = (new a()).foo;
diff --git a/tests/baselines/reference/externalModuleImmutableBindings.errors.txt b/tests/baselines/reference/externalModuleImmutableBindings.errors.txt
index 8ab07c26851..a6040c154f0 100644
--- a/tests/baselines/reference/externalModuleImmutableBindings.errors.txt
+++ b/tests/baselines/reference/externalModuleImmutableBindings.errors.txt
@@ -16,7 +16,7 @@ tests/cases/compiler/f2.ts(41,13): error TS2339: Property 'blah' does not exist
==== tests/cases/compiler/f2.ts (10 errors) ====
// all mutations below are illegal and should be fixed
- import * as stuff from 'f1';
+ import * as stuff from './f1';
var n = 'baz';
diff --git a/tests/baselines/reference/externalModuleImmutableBindings.js b/tests/baselines/reference/externalModuleImmutableBindings.js
index 5e5ba6c2294..47d83ded80c 100644
--- a/tests/baselines/reference/externalModuleImmutableBindings.js
+++ b/tests/baselines/reference/externalModuleImmutableBindings.js
@@ -6,7 +6,7 @@ export var x = 1;
//// [f2.ts]
// all mutations below are illegal and should be fixed
-import * as stuff from 'f1';
+import * as stuff from './f1';
var n = 'baz';
@@ -55,7 +55,7 @@ for ((stuff[n]) of []) {}
exports.x = 1;
//// [f2.js]
// all mutations below are illegal and should be fixed
-var stuff = require('f1');
+var stuff = require('./f1');
var n = 'baz';
stuff.x = 0;
stuff['x'] = 1;
diff --git a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.errors.txt b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.errors.txt
index 588183c6283..a0b34ecbee1 100644
--- a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.errors.txt
+++ b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.errors.txt
@@ -1,13 +1,13 @@
-tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file3.ts(3,7): error TS2339: Property 'foo' does not exist on type 'typeof "externalModuleRefernceResolutionOrderInImportDeclaration_file1"'.
+tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file3.ts(4,7): error TS2339: Property 'bar' does not exist on type 'typeof "tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file1"'.
==== tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file3.ts (1 errors) ====
///
- import file1 = require('externalModuleRefernceResolutionOrderInImportDeclaration_file1');
+ import file1 = require('./externalModuleRefernceResolutionOrderInImportDeclaration_file1');
file1.foo();
- ~~~
-!!! error TS2339: Property 'foo' does not exist on type 'typeof "externalModuleRefernceResolutionOrderInImportDeclaration_file1"'.
file1.bar();
+ ~~~
+!!! error TS2339: Property 'bar' does not exist on type 'typeof "tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file1"'.
==== tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration_file1.ts (0 errors) ====
diff --git a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js
index f1d1d9fb561..48411da4a02 100644
--- a/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js
+++ b/tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js
@@ -11,7 +11,7 @@ declare module "externalModuleRefernceResolutionOrderInImportDeclaration_file1"
//// [externalModuleRefernceResolutionOrderInImportDeclaration_file3.ts]
///
-import file1 = require('externalModuleRefernceResolutionOrderInImportDeclaration_file1');
+import file1 = require('./externalModuleRefernceResolutionOrderInImportDeclaration_file1');
file1.foo();
file1.bar();
@@ -24,6 +24,6 @@ exports.foo = foo;
;
//// [externalModuleRefernceResolutionOrderInImportDeclaration_file3.js]
///
-var file1 = require('externalModuleRefernceResolutionOrderInImportDeclaration_file1');
+var file1 = require('./externalModuleRefernceResolutionOrderInImportDeclaration_file1');
file1.foo();
file1.bar();
diff --git a/tests/baselines/reference/importAsBaseClass.errors.txt b/tests/baselines/reference/importAsBaseClass.errors.txt
index 835fd143f70..8f23baad543 100644
--- a/tests/baselines/reference/importAsBaseClass.errors.txt
+++ b/tests/baselines/reference/importAsBaseClass.errors.txt
@@ -2,7 +2,7 @@ tests/cases/compiler/importAsBaseClass_1.ts(2,21): error TS2507: Type 'typeof "t
==== tests/cases/compiler/importAsBaseClass_1.ts (1 errors) ====
- import Greeter = require("importAsBaseClass_0");
+ import Greeter = require("./importAsBaseClass_0");
class Hello extends Greeter { }
~~~~~~~
!!! error TS2507: Type 'typeof "tests/cases/compiler/importAsBaseClass_0"' is not a constructor function type.
diff --git a/tests/baselines/reference/importAsBaseClass.js b/tests/baselines/reference/importAsBaseClass.js
index b79905911b1..57d71af2cda 100644
--- a/tests/baselines/reference/importAsBaseClass.js
+++ b/tests/baselines/reference/importAsBaseClass.js
@@ -6,7 +6,7 @@ export class Greeter {
}
//// [importAsBaseClass_1.ts]
-import Greeter = require("importAsBaseClass_0");
+import Greeter = require("./importAsBaseClass_0");
class Hello extends Greeter { }
@@ -24,7 +24,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Greeter = require("importAsBaseClass_0");
+var Greeter = require("./importAsBaseClass_0");
var Hello = (function (_super) {
__extends(Hello, _super);
function Hello() {
diff --git a/tests/baselines/reference/importDecl.js b/tests/baselines/reference/importDecl.js
index fb2aa6e0d1f..4b2672c4135 100644
--- a/tests/baselines/reference/importDecl.js
+++ b/tests/baselines/reference/importDecl.js
@@ -29,7 +29,7 @@ export var x: d;
export function foo(): d { return null; }
//// [importDecl_require4.ts]
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
export function foo2(): m4.d { return null; }
//// [importDecl_1.ts]
@@ -38,7 +38,7 @@ export function foo2(): m4.d { return null; }
///
///
///
-import m4 = require("importDecl_require"); // Emit used
+import m4 = require("./importDecl_require"); // Emit used
export var x4 = m4.x;
export var d4 = m4.d;
export var f4 = m4.foo();
@@ -54,16 +54,16 @@ export module m1 {
}
//Emit global only usage
-import glo_m4 = require("importDecl_require1");
+import glo_m4 = require("./importDecl_require1");
export var useGlo_m4_d4 = glo_m4.d;
export var useGlo_m4_f4 = glo_m4.foo();
//Emit even when used just in function type
-import fncOnly_m4 = require("importDecl_require2");
+import fncOnly_m4 = require("./importDecl_require2");
export var useFncOnly_m4_f4 = fncOnly_m4.foo();
// only used privately no need to emit
-import private_m4 = require("importDecl_require3");
+import private_m4 = require("./importDecl_require3");
export module usePrivate_m4_m1 {
var x3 = private_m4.x;
var d3 = private_m4.d;
@@ -71,11 +71,11 @@ export module usePrivate_m4_m1 {
}
// Do not emit unused import
-import m5 = require("importDecl_require4");
+import m5 = require("./importDecl_require4");
export var d = m5.foo2();
// Do not emit multiple used import statements
-import multiImport_m4 = require("importDecl_require"); // Emit used
+import multiImport_m4 = require("./importDecl_require"); // Emit used
export var useMultiImport_m4_x4 = multiImport_m4.x;
export var useMultiImport_m4_d4 = multiImport_m4.d;
export var useMultiImport_m4_f4 = multiImport_m4.foo();
@@ -127,7 +127,7 @@ exports.foo2 = foo2;
///
///
///
-var m4 = require("importDecl_require"); // Emit used
+var m4 = require("./importDecl_require"); // Emit used
exports.x4 = m4.x;
exports.d4 = m4.d;
exports.f4 = m4.foo();
@@ -141,14 +141,14 @@ var m1;
var f3 = m4.foo();
})(m1 = exports.m1 || (exports.m1 = {}));
//Emit global only usage
-var glo_m4 = require("importDecl_require1");
+var glo_m4 = require("./importDecl_require1");
exports.useGlo_m4_d4 = glo_m4.d;
exports.useGlo_m4_f4 = glo_m4.foo();
//Emit even when used just in function type
-var fncOnly_m4 = require("importDecl_require2");
+var fncOnly_m4 = require("./importDecl_require2");
exports.useFncOnly_m4_f4 = fncOnly_m4.foo();
// only used privately no need to emit
-var private_m4 = require("importDecl_require3");
+var private_m4 = require("./importDecl_require3");
var usePrivate_m4_m1;
(function (usePrivate_m4_m1) {
var x3 = private_m4.x;
@@ -156,10 +156,10 @@ var usePrivate_m4_m1;
var f3 = private_m4.foo();
})(usePrivate_m4_m1 = exports.usePrivate_m4_m1 || (exports.usePrivate_m4_m1 = {}));
// Do not emit unused import
-var m5 = require("importDecl_require4");
+var m5 = require("./importDecl_require4");
exports.d = m5.foo2();
// Do not emit multiple used import statements
-var multiImport_m4 = require("importDecl_require"); // Emit used
+var multiImport_m4 = require("./importDecl_require"); // Emit used
exports.useMultiImport_m4_x4 = multiImport_m4.x;
exports.useMultiImport_m4_d4 = multiImport_m4.d;
exports.useMultiImport_m4_f4 = multiImport_m4.foo();
@@ -189,7 +189,7 @@ export declare class d {
export declare var x: d;
export declare function foo(): d;
//// [importDecl_require4.d.ts]
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
export declare function foo2(): m4.d;
//// [importDecl_1.d.ts]
///
@@ -197,7 +197,7 @@ export declare function foo2(): m4.d;
///
///
///
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
export declare var x4: m4.d;
export declare var d4: typeof m4.d;
export declare var f4: m4.d;
@@ -206,10 +206,10 @@ export declare module m1 {
var d2: typeof m4.d;
var f2: m4.d;
}
-import glo_m4 = require("importDecl_require1");
+import glo_m4 = require("./importDecl_require1");
export declare var useGlo_m4_d4: typeof glo_m4.d;
export declare var useGlo_m4_f4: glo_m4.d;
-import fncOnly_m4 = require("importDecl_require2");
+import fncOnly_m4 = require("./importDecl_require2");
export declare var useFncOnly_m4_f4: fncOnly_m4.d;
export declare module usePrivate_m4_m1 {
}
diff --git a/tests/baselines/reference/importDecl.symbols b/tests/baselines/reference/importDecl.symbols
index 2341101b672..32b9f3bb2a7 100644
--- a/tests/baselines/reference/importDecl.symbols
+++ b/tests/baselines/reference/importDecl.symbols
@@ -4,7 +4,7 @@
///
///
///
-import m4 = require("importDecl_require"); // Emit used
+import m4 = require("./importDecl_require"); // Emit used
>m4 : Symbol(m4, Decl(importDecl_1.ts, 0, 0))
export var x4 = m4.x;
@@ -66,7 +66,7 @@ export module m1 {
}
//Emit global only usage
-import glo_m4 = require("importDecl_require1");
+import glo_m4 = require("./importDecl_require1");
>glo_m4 : Symbol(glo_m4, Decl(importDecl_1.ts, 18, 1))
export var useGlo_m4_d4 = glo_m4.d;
@@ -82,7 +82,7 @@ export var useGlo_m4_f4 = glo_m4.foo();
>foo : Symbol(glo_m4.foo, Decl(importDecl_require1.ts, 3, 9))
//Emit even when used just in function type
-import fncOnly_m4 = require("importDecl_require2");
+import fncOnly_m4 = require("./importDecl_require2");
>fncOnly_m4 : Symbol(fncOnly_m4, Decl(importDecl_1.ts, 23, 39))
export var useFncOnly_m4_f4 = fncOnly_m4.foo();
@@ -92,11 +92,11 @@ export var useFncOnly_m4_f4 = fncOnly_m4.foo();
>foo : Symbol(fncOnly_m4.foo, Decl(importDecl_require2.ts, 3, 16))
// only used privately no need to emit
-import private_m4 = require("importDecl_require3");
+import private_m4 = require("./importDecl_require3");
>private_m4 : Symbol(private_m4, Decl(importDecl_1.ts, 27, 47))
export module usePrivate_m4_m1 {
->usePrivate_m4_m1 : Symbol(usePrivate_m4_m1, Decl(importDecl_1.ts, 30, 51))
+>usePrivate_m4_m1 : Symbol(usePrivate_m4_m1, Decl(importDecl_1.ts, 30, 53))
var x3 = private_m4.x;
>x3 : Symbol(x3, Decl(importDecl_1.ts, 32, 7))
@@ -118,17 +118,17 @@ export module usePrivate_m4_m1 {
}
// Do not emit unused import
-import m5 = require("importDecl_require4");
+import m5 = require("./importDecl_require4");
>m5 : Symbol(m5, Decl(importDecl_1.ts, 35, 1))
export var d = m5.foo2();
>d : Symbol(d, Decl(importDecl_1.ts, 39, 10))
->m5.foo2 : Symbol(m5.foo2, Decl(importDecl_require4.ts, 0, 42))
+>m5.foo2 : Symbol(m5.foo2, Decl(importDecl_require4.ts, 0, 44))
>m5 : Symbol(m5, Decl(importDecl_1.ts, 35, 1))
->foo2 : Symbol(m5.foo2, Decl(importDecl_require4.ts, 0, 42))
+>foo2 : Symbol(m5.foo2, Decl(importDecl_require4.ts, 0, 44))
// Do not emit multiple used import statements
-import multiImport_m4 = require("importDecl_require"); // Emit used
+import multiImport_m4 = require("./importDecl_require"); // Emit used
>multiImport_m4 : Symbol(multiImport_m4, Decl(importDecl_1.ts, 39, 25))
export var useMultiImport_m4_x4 = multiImport_m4.x;
@@ -210,11 +210,11 @@ export function foo(): d { return null; }
>d : Symbol(d, Decl(importDecl_require3.ts, 0, 0))
=== tests/cases/compiler/importDecl_require4.ts ===
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
>m4 : Symbol(m4, Decl(importDecl_require4.ts, 0, 0))
export function foo2(): m4.d { return null; }
->foo2 : Symbol(foo2, Decl(importDecl_require4.ts, 0, 42))
+>foo2 : Symbol(foo2, Decl(importDecl_require4.ts, 0, 44))
>m4 : Symbol(m4, Decl(importDecl_require4.ts, 0, 0))
>d : Symbol(m4.d, Decl(importDecl_require.ts, 0, 0))
diff --git a/tests/baselines/reference/importDecl.types b/tests/baselines/reference/importDecl.types
index 58a56281bae..7bf4da78121 100644
--- a/tests/baselines/reference/importDecl.types
+++ b/tests/baselines/reference/importDecl.types
@@ -4,7 +4,7 @@
///
///
///
-import m4 = require("importDecl_require"); // Emit used
+import m4 = require("./importDecl_require"); // Emit used
>m4 : typeof m4
export var x4 = m4.x;
@@ -69,7 +69,7 @@ export module m1 {
}
//Emit global only usage
-import glo_m4 = require("importDecl_require1");
+import glo_m4 = require("./importDecl_require1");
>glo_m4 : typeof glo_m4
export var useGlo_m4_d4 = glo_m4.d;
@@ -86,7 +86,7 @@ export var useGlo_m4_f4 = glo_m4.foo();
>foo : () => glo_m4.d
//Emit even when used just in function type
-import fncOnly_m4 = require("importDecl_require2");
+import fncOnly_m4 = require("./importDecl_require2");
>fncOnly_m4 : typeof fncOnly_m4
export var useFncOnly_m4_f4 = fncOnly_m4.foo();
@@ -97,7 +97,7 @@ export var useFncOnly_m4_f4 = fncOnly_m4.foo();
>foo : () => fncOnly_m4.d
// only used privately no need to emit
-import private_m4 = require("importDecl_require3");
+import private_m4 = require("./importDecl_require3");
>private_m4 : typeof private_m4
export module usePrivate_m4_m1 {
@@ -124,7 +124,7 @@ export module usePrivate_m4_m1 {
}
// Do not emit unused import
-import m5 = require("importDecl_require4");
+import m5 = require("./importDecl_require4");
>m5 : typeof m5
export var d = m5.foo2();
@@ -135,7 +135,7 @@ export var d = m5.foo2();
>foo2 : () => m4.d
// Do not emit multiple used import statements
-import multiImport_m4 = require("importDecl_require"); // Emit used
+import multiImport_m4 = require("./importDecl_require"); // Emit used
>multiImport_m4 : typeof m4
export var useMultiImport_m4_x4 = multiImport_m4.x;
@@ -222,7 +222,7 @@ export function foo(): d { return null; }
>null : null
=== tests/cases/compiler/importDecl_require4.ts ===
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
>m4 : typeof m4
export function foo2(): m4.d { return null; }
diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
index 70244f47381..51839c35df2 100644
--- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
+++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.js
@@ -7,7 +7,7 @@ export class B {
//// [importDeclarationUsedAsTypeQuery_1.ts]
///
-import a = require('importDeclarationUsedAsTypeQuery_require');
+import a = require('./importDeclarationUsedAsTypeQuery_require');
export var x: typeof a;
@@ -27,5 +27,5 @@ export declare class B {
}
//// [importDeclarationUsedAsTypeQuery_1.d.ts]
///
-import a = require('importDeclarationUsedAsTypeQuery_require');
+import a = require('./importDeclarationUsedAsTypeQuery_require');
export declare var x: typeof a;
diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols
index 2664691972f..0cd2498e2af 100644
--- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols
+++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/importDeclarationUsedAsTypeQuery_1.ts ===
///
-import a = require('importDeclarationUsedAsTypeQuery_require');
+import a = require('./importDeclarationUsedAsTypeQuery_require');
>a : Symbol(a, Decl(importDeclarationUsedAsTypeQuery_1.ts, 0, 0))
export var x: typeof a;
diff --git a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types
index 2f449c2aa87..5d4c8efc7d4 100644
--- a/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types
+++ b/tests/baselines/reference/importDeclarationUsedAsTypeQuery.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/importDeclarationUsedAsTypeQuery_1.ts ===
///
-import a = require('importDeclarationUsedAsTypeQuery_require');
+import a = require('./importDeclarationUsedAsTypeQuery_require');
>a : typeof a
export var x: typeof a;
diff --git a/tests/baselines/reference/importUsedInExtendsList1.js b/tests/baselines/reference/importUsedInExtendsList1.js
index e86b1a41456..129e7b44fd7 100644
--- a/tests/baselines/reference/importUsedInExtendsList1.js
+++ b/tests/baselines/reference/importUsedInExtendsList1.js
@@ -5,7 +5,7 @@ export class Super { foo: string; }
//// [importUsedInExtendsList1_1.ts]
///
-import foo = require('importUsedInExtendsList1_require');
+import foo = require('./importUsedInExtendsList1_require');
class Sub extends foo.Super { }
var s: Sub;
var r: string = s.foo;
@@ -25,7 +25,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
///
-var foo = require('importUsedInExtendsList1_require');
+var foo = require('./importUsedInExtendsList1_require');
var Sub = (function (_super) {
__extends(Sub, _super);
function Sub() {
diff --git a/tests/baselines/reference/importUsedInExtendsList1.symbols b/tests/baselines/reference/importUsedInExtendsList1.symbols
index 1b3ac99ee9d..263b4f50ed8 100644
--- a/tests/baselines/reference/importUsedInExtendsList1.symbols
+++ b/tests/baselines/reference/importUsedInExtendsList1.symbols
@@ -1,17 +1,17 @@
=== tests/cases/compiler/importUsedInExtendsList1_1.ts ===
///
-import foo = require('importUsedInExtendsList1_require');
+import foo = require('./importUsedInExtendsList1_require');
>foo : Symbol(foo, Decl(importUsedInExtendsList1_1.ts, 0, 0))
class Sub extends foo.Super { }
->Sub : Symbol(Sub, Decl(importUsedInExtendsList1_1.ts, 1, 57))
+>Sub : Symbol(Sub, Decl(importUsedInExtendsList1_1.ts, 1, 59))
>foo.Super : Symbol(foo.Super, Decl(importUsedInExtendsList1_require.ts, 0, 0))
>foo : Symbol(foo, Decl(importUsedInExtendsList1_1.ts, 0, 0))
>Super : Symbol(foo.Super, Decl(importUsedInExtendsList1_require.ts, 0, 0))
var s: Sub;
>s : Symbol(s, Decl(importUsedInExtendsList1_1.ts, 3, 3))
->Sub : Symbol(Sub, Decl(importUsedInExtendsList1_1.ts, 1, 57))
+>Sub : Symbol(Sub, Decl(importUsedInExtendsList1_1.ts, 1, 59))
var r: string = s.foo;
>r : Symbol(r, Decl(importUsedInExtendsList1_1.ts, 4, 3))
diff --git a/tests/baselines/reference/importUsedInExtendsList1.types b/tests/baselines/reference/importUsedInExtendsList1.types
index 3c1b69f5a83..752f4764976 100644
--- a/tests/baselines/reference/importUsedInExtendsList1.types
+++ b/tests/baselines/reference/importUsedInExtendsList1.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/importUsedInExtendsList1_1.ts ===
///
-import foo = require('importUsedInExtendsList1_require');
+import foo = require('./importUsedInExtendsList1_require');
>foo : typeof foo
class Sub extends foo.Super { }
diff --git a/tests/baselines/reference/localAliasExportAssignment.js b/tests/baselines/reference/localAliasExportAssignment.js
index ce0f57d57cb..686ab4126a2 100644
--- a/tests/baselines/reference/localAliasExportAssignment.js
+++ b/tests/baselines/reference/localAliasExportAssignment.js
@@ -9,7 +9,7 @@ export = server;
//// [localAliasExportAssignment_1.ts]
///
-import connect = require('localAliasExportAssignment_0');
+import connect = require('./localAliasExportAssignment_0');
connect();
@@ -21,5 +21,5 @@ var server;
module.exports = server;
//// [localAliasExportAssignment_1.js]
///
-var connect = require('localAliasExportAssignment_0');
+var connect = require('./localAliasExportAssignment_0');
connect();
diff --git a/tests/baselines/reference/localAliasExportAssignment.symbols b/tests/baselines/reference/localAliasExportAssignment.symbols
index 43c99941384..0c73dfd79de 100644
--- a/tests/baselines/reference/localAliasExportAssignment.symbols
+++ b/tests/baselines/reference/localAliasExportAssignment.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/localAliasExportAssignment_1.ts ===
///
-import connect = require('localAliasExportAssignment_0');
+import connect = require('./localAliasExportAssignment_0');
>connect : Symbol(connect, Decl(localAliasExportAssignment_1.ts, 0, 0))
connect();
diff --git a/tests/baselines/reference/localAliasExportAssignment.types b/tests/baselines/reference/localAliasExportAssignment.types
index 5ea0d3085c1..f83b63fedb7 100644
--- a/tests/baselines/reference/localAliasExportAssignment.types
+++ b/tests/baselines/reference/localAliasExportAssignment.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/localAliasExportAssignment_1.ts ===
///
-import connect = require('localAliasExportAssignment_0');
+import connect = require('./localAliasExportAssignment_0');
>connect : () => any
connect();
diff --git a/tests/baselines/reference/moduleInTypePosition1.errors.txt b/tests/baselines/reference/moduleInTypePosition1.errors.txt
index a5b5076e172..ff5fa2da4eb 100644
--- a/tests/baselines/reference/moduleInTypePosition1.errors.txt
+++ b/tests/baselines/reference/moduleInTypePosition1.errors.txt
@@ -3,7 +3,7 @@ tests/cases/compiler/moduleInTypePosition1_1.ts(3,14): error TS2304: Cannot find
==== tests/cases/compiler/moduleInTypePosition1_1.ts (1 errors) ====
///
- import WinJS = require('moduleInTypePosition1_0');
+ import WinJS = require('./moduleInTypePosition1_0');
var x = (w1: WinJS) => { };
~~~~~
!!! error TS2304: Cannot find name 'WinJS'.
diff --git a/tests/baselines/reference/moduleInTypePosition1.js b/tests/baselines/reference/moduleInTypePosition1.js
index 972bbae63d1..bcce5f74632 100644
--- a/tests/baselines/reference/moduleInTypePosition1.js
+++ b/tests/baselines/reference/moduleInTypePosition1.js
@@ -7,7 +7,7 @@ export class Promise {
//// [moduleInTypePosition1_1.ts]
///
-import WinJS = require('moduleInTypePosition1_0');
+import WinJS = require('./moduleInTypePosition1_0');
var x = (w1: WinJS) => { };
diff --git a/tests/baselines/reference/multiImportExport.js b/tests/baselines/reference/multiImportExport.js
index 06d81f7e984..5a03f3c848d 100644
--- a/tests/baselines/reference/multiImportExport.js
+++ b/tests/baselines/reference/multiImportExport.js
@@ -5,10 +5,10 @@ import Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
//// [Drawing.ts]
-export import Math = require('Math/Math')
+export import Math = require('./Math/Math')
//// [Math.ts]
-import Adder = require('Math/Adder');
+import Adder = require('./Adder');
var Math = {
Adder:Adder
@@ -35,13 +35,13 @@ var Adder = (function () {
})();
module.exports = Adder;
//// [Math.js]
-var Adder = require('Math/Adder');
+var Adder = require('./Adder');
var Math = {
Adder: Adder
};
module.exports = Math;
//// [Drawing.js]
-exports.Math = require('Math/Math');
+exports.Math = require('./Math/Math');
//// [consumer.js]
var Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
@@ -53,11 +53,11 @@ declare class Adder {
}
export = Adder;
//// [Math.d.ts]
-import Adder = require('Math/Adder');
+import Adder = require('./Adder');
declare var Math: {
Adder: typeof Adder;
};
export = Math;
//// [Drawing.d.ts]
-export import Math = require('Math/Math');
+export import Math = require('./Math/Math');
//// [consumer.d.ts]
diff --git a/tests/baselines/reference/multiImportExport.symbols b/tests/baselines/reference/multiImportExport.symbols
index 6601571aabc..45b59752b2a 100644
--- a/tests/baselines/reference/multiImportExport.symbols
+++ b/tests/baselines/reference/multiImportExport.symbols
@@ -11,11 +11,11 @@ var addr = new Drawing.Math.Adder();
>Adder : Symbol(Adder, Decl(Math.ts, 2, 12))
=== tests/cases/compiler/Drawing.ts ===
-export import Math = require('Math/Math')
+export import Math = require('./Math/Math')
>Math : Symbol(Math, Decl(Drawing.ts, 0, 0))
=== tests/cases/compiler/Math/Math.ts ===
-import Adder = require('Math/Adder');
+import Adder = require('./Adder');
>Adder : Symbol(Adder, Decl(Math.ts, 0, 0))
var Math = {
diff --git a/tests/baselines/reference/multiImportExport.types b/tests/baselines/reference/multiImportExport.types
index aac60aaee90..4a94eef9865 100644
--- a/tests/baselines/reference/multiImportExport.types
+++ b/tests/baselines/reference/multiImportExport.types
@@ -12,11 +12,11 @@ var addr = new Drawing.Math.Adder();
>Adder : typeof Adder
=== tests/cases/compiler/Drawing.ts ===
-export import Math = require('Math/Math')
+export import Math = require('./Math/Math')
>Math : { Adder: typeof Adder; }
=== tests/cases/compiler/Math/Math.ts ===
-import Adder = require('Math/Adder');
+import Adder = require('./Adder');
>Adder : typeof Adder
var Math = {
diff --git a/tests/baselines/reference/multipleDefaultExports01.errors.txt b/tests/baselines/reference/multipleDefaultExports01.errors.txt
index 7b49afe1a4e..72898d474e8 100644
--- a/tests/baselines/reference/multipleDefaultExports01.errors.txt
+++ b/tests/baselines/reference/multipleDefaultExports01.errors.txt
@@ -24,7 +24,7 @@ tests/cases/conformance/es6/modules/m2.ts(3,1): error TS2348: Value of type 'typ
!!! error TS2300: Duplicate identifier 'default'.
==== tests/cases/conformance/es6/modules/m2.ts (1 errors) ====
- import Entity from "m1"
+ import Entity from "./m1"
Entity();
~~~~~~~~
diff --git a/tests/baselines/reference/multipleDefaultExports01.js b/tests/baselines/reference/multipleDefaultExports01.js
index e633cf69f55..b1ff3b4353c 100644
--- a/tests/baselines/reference/multipleDefaultExports01.js
+++ b/tests/baselines/reference/multipleDefaultExports01.js
@@ -14,7 +14,7 @@ var x = 10;
export default x;
//// [m2.ts]
-import Entity from "m1"
+import Entity from "./m1"
Entity();
@@ -34,5 +34,5 @@ var x = 10;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = x;
//// [m2.js]
-var m1_1 = require("m1");
+var m1_1 = require("./m1");
m1_1.default();
diff --git a/tests/baselines/reference/multipleDefaultExports02.errors.txt b/tests/baselines/reference/multipleDefaultExports02.errors.txt
index 51220ecfae2..235f8f7c3e3 100644
--- a/tests/baselines/reference/multipleDefaultExports02.errors.txt
+++ b/tests/baselines/reference/multipleDefaultExports02.errors.txt
@@ -17,6 +17,6 @@ tests/cases/conformance/es6/modules/m1.ts(6,25): error TS2393: Duplicate functio
}
==== tests/cases/conformance/es6/modules/m2.ts (0 errors) ====
- import Entity from "m1"
+ import Entity from "./m1"
Entity();
\ No newline at end of file
diff --git a/tests/baselines/reference/multipleDefaultExports02.js b/tests/baselines/reference/multipleDefaultExports02.js
index 3d1b84ff6a6..7b43c43ee60 100644
--- a/tests/baselines/reference/multipleDefaultExports02.js
+++ b/tests/baselines/reference/multipleDefaultExports02.js
@@ -11,7 +11,7 @@ export default function bar() {
}
//// [m2.ts]
-import Entity from "m1"
+import Entity from "./m1"
Entity();
@@ -25,5 +25,5 @@ function bar() {
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = bar;
//// [m2.js]
-var m1_1 = require("m1");
+var m1_1 = require("./m1");
m1_1.default();
diff --git a/tests/baselines/reference/nodeResolution5.errors.txt b/tests/baselines/reference/nodeResolution5.errors.txt
index 1fc4e1cee52..c36cce45b6d 100644
--- a/tests/baselines/reference/nodeResolution5.errors.txt
+++ b/tests/baselines/reference/nodeResolution5.errors.txt
@@ -1,10 +1,10 @@
-tests/cases/compiler/b.ts(1,20): error TS2306: File 'tests/cases/compiler/node_modules/a.d.ts' is not a module.
+tests/cases/compiler/b.ts(1,20): error TS2656: Exported external package typings file 'tests/cases/compiler/node_modules/a.d.ts' is not a module. Please contact the package author to update the package definition.
==== tests/cases/compiler/b.ts (1 errors) ====
import y = require("a");
~~~
-!!! error TS2306: File 'a.d.ts' is not a module.
+!!! error TS2656: Exported external package typings file 'a.d.ts' is not a module. Please contact the package author to update the package definition.
==== tests/cases/compiler/node_modules/a.d.ts (0 errors) ====
diff --git a/tests/baselines/reference/nodeResolution7.errors.txt b/tests/baselines/reference/nodeResolution7.errors.txt
index 1e1f822f0d4..f9e8ef7ac0f 100644
--- a/tests/baselines/reference/nodeResolution7.errors.txt
+++ b/tests/baselines/reference/nodeResolution7.errors.txt
@@ -1,10 +1,10 @@
-tests/cases/compiler/b.ts(1,20): error TS2306: File 'tests/cases/compiler/node_modules/a/index.d.ts' is not a module.
+tests/cases/compiler/b.ts(1,20): error TS2656: Exported external package typings file 'tests/cases/compiler/node_modules/a/index.d.ts' is not a module. Please contact the package author to update the package definition.
==== tests/cases/compiler/b.ts (1 errors) ====
import y = require("a");
~~~
-!!! error TS2306: File 'index.d.ts' is not a module.
+!!! error TS2656: Exported external package typings file 'index.d.ts' is not a module. Please contact the package author to update the package definition.
==== tests/cases/compiler/node_modules/a/index.d.ts (0 errors) ====
diff --git a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt
index 578baa694fd..b5d0ea8223e 100644
--- a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt
+++ b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.errors.txt
@@ -9,7 +9,7 @@ tests/cases/compiler/privacyCannotNameAccessorDeclFile_consumer.ts(66,9): error
==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_consumer.ts (8 errors) ====
- import exporter = require("privacyCannotNameAccessorDeclFile_exporter");
+ import exporter = require("./privacyCannotNameAccessorDeclFile_exporter");
export class publicClassWithWithPrivateGetAccessorTypes {
static get myPublicStaticMethod() { // Error
~~~~~~~~~~~~~~~~~~~~
@@ -144,7 +144,7 @@ tests/cases/compiler/privacyCannotNameAccessorDeclFile_consumer.ts(66,9): error
==== tests/cases/compiler/privacyCannotNameAccessorDeclFile_exporter.ts (0 errors) ====
///
- import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets");
+ import Widgets = require("./privacyCannotNameAccessorDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
diff --git a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js
index 0295e42e654..8c4108ea9e8 100644
--- a/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js
+++ b/tests/baselines/reference/privacyCannotNameAccessorDeclFile.js
@@ -35,7 +35,7 @@ export module SpecializedWidget {
//// [privacyCannotNameAccessorDeclFile_exporter.ts]
///
-import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameAccessorDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -51,7 +51,7 @@ export function createExportedWidget4() {
}
//// [privacyCannotNameAccessorDeclFile_consumer.ts]
-import exporter = require("privacyCannotNameAccessorDeclFile_exporter");
+import exporter = require("./privacyCannotNameAccessorDeclFile_exporter");
export class publicClassWithWithPrivateGetAccessorTypes {
static get myPublicStaticMethod() { // Error
return exporter.createExportedWidget1();
@@ -165,7 +165,7 @@ var SpecializedWidget;
})(SpecializedWidget = exports.SpecializedWidget || (exports.SpecializedWidget = {}));
//// [privacyCannotNameAccessorDeclFile_exporter.js]
///
-var Widgets = require("privacyCannotNameAccessorDeclFile_Widgets");
+var Widgets = require("./privacyCannotNameAccessorDeclFile_Widgets");
var Widgets1 = require("GlobalWidgets");
function createExportedWidget1() {
return Widgets.createWidget1();
@@ -184,7 +184,7 @@ function createExportedWidget4() {
}
exports.createExportedWidget4 = createExportedWidget4;
//// [privacyCannotNameAccessorDeclFile_consumer.js]
-var exporter = require("privacyCannotNameAccessorDeclFile_exporter");
+var exporter = require("./privacyCannotNameAccessorDeclFile_exporter");
var publicClassWithWithPrivateGetAccessorTypes = (function () {
function publicClassWithWithPrivateGetAccessorTypes() {
}
@@ -403,7 +403,7 @@ export declare module SpecializedWidget {
}
//// [privacyCannotNameAccessorDeclFile_exporter.d.ts]
///
-import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameAccessorDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export declare function createExportedWidget1(): Widgets.Widget1;
export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2;
diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt
index 7f155f0e454..e76474d2d33 100644
--- a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt
+++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.errors.txt
@@ -13,7 +13,7 @@ tests/cases/compiler/privacyCannotNameVarTypeDeclFile_consumer.ts(38,12): error
==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_consumer.ts (12 errors) ====
- import exporter = require("privacyCannotNameVarTypeDeclFile_exporter");
+ import exporter = require("./privacyCannotNameVarTypeDeclFile_exporter");
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty = exporter.createExportedWidget1(); // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -120,7 +120,7 @@ tests/cases/compiler/privacyCannotNameVarTypeDeclFile_consumer.ts(38,12): error
==== tests/cases/compiler/privacyCannotNameVarTypeDeclFile_exporter.ts (0 errors) ====
///
- import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets");
+ import Widgets = require("./privacyCannotNameVarTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
diff --git a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js
index d1f04ee3cef..b40d1dc4980 100644
--- a/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js
+++ b/tests/baselines/reference/privacyCannotNameVarTypeDeclFile.js
@@ -36,7 +36,7 @@ export module SpecializedWidget {
//// [privacyCannotNameVarTypeDeclFile_exporter.ts]
///
-import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameVarTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
//// [privacyCannotNameVarTypeDeclFile_consumer.ts]
-import exporter = require("privacyCannotNameVarTypeDeclFile_exporter");
+import exporter = require("./privacyCannotNameVarTypeDeclFile_exporter");
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty = exporter.createExportedWidget1(); // Error
private static myPrivateStaticProperty = exporter.createExportedWidget1();
@@ -129,7 +129,7 @@ var SpecializedWidget;
})(SpecializedWidget = exports.SpecializedWidget || (exports.SpecializedWidget = {}));
//// [privacyCannotNameVarTypeDeclFile_exporter.js]
///
-var Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets");
+var Widgets = require("./privacyCannotNameVarTypeDeclFile_Widgets");
var Widgets1 = require("GlobalWidgets");
function createExportedWidget1() {
return Widgets.createWidget1();
@@ -148,7 +148,7 @@ function createExportedWidget4() {
}
exports.createExportedWidget4 = createExportedWidget4;
//// [privacyCannotNameVarTypeDeclFile_consumer.js]
-var exporter = require("privacyCannotNameVarTypeDeclFile_exporter");
+var exporter = require("./privacyCannotNameVarTypeDeclFile_exporter");
var publicClassWithWithPrivatePropertyTypes = (function () {
function publicClassWithWithPrivatePropertyTypes() {
this.myPublicProperty = exporter.createExportedWidget1(); // Error
@@ -231,7 +231,7 @@ export declare module SpecializedWidget {
}
//// [privacyCannotNameVarTypeDeclFile_exporter.d.ts]
///
-import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameVarTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export declare function createExportedWidget1(): Widgets.Widget1;
export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2;
diff --git a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js
index eeaea58e0ab..8ed0b3cfa1b 100644
--- a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js
+++ b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js
@@ -7,7 +7,7 @@ class Foo {
}
//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts]
-import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
+import Foo = require("./privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
export = Bar;
interface Bar {
foo: Foo;
@@ -31,7 +31,7 @@ declare class Foo {
constructor(a: A);
}
//// [privacyCheckExternalModuleExportAssignmentOfGenericClass_1.d.ts]
-import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
+import Foo = require("./privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
export = Bar;
interface Bar {
foo: Foo;
diff --git a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols
index fed3799f950..75ebd0bff0a 100644
--- a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols
+++ b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.symbols
@@ -1,5 +1,5 @@
=== tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts ===
-import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
+import Foo = require("./privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
>Foo : Symbol(Foo, Decl(privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts, 0, 0))
export = Bar;
diff --git a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.types b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.types
index 2259b039c91..ebf2a0e3ff6 100644
--- a/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.types
+++ b/tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts ===
-import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
+import Foo = require("./privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
>Foo : typeof Foo
export = Bar;
diff --git a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt
index 1e221ccd70a..76fd8b4e80a 100644
--- a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt
+++ b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.errors.txt
@@ -25,7 +25,7 @@ tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts(
==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts (24 errors) ====
- import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter");
+ import exporter = require("./privacyFunctionCannotNameParameterTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -212,7 +212,7 @@ tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts(
==== tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts (0 errors) ====
///
- import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
+ import Widgets = require("./privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
diff --git a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js
index 7acd56927c7..bf2d820e2ea 100644
--- a/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js
+++ b/tests/baselines/reference/privacyFunctionCannotNameParameterTypeDeclFile.js
@@ -36,7 +36,7 @@ export module SpecializedWidget {
//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts]
///
-import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
//// [privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts]
-import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter");
+import exporter = require("./privacyFunctionCannotNameParameterTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error
}
@@ -185,7 +185,7 @@ var SpecializedWidget;
})(SpecializedWidget = exports.SpecializedWidget || (exports.SpecializedWidget = {}));
//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.js]
///
-var Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
+var Widgets = require("./privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
var Widgets1 = require("GlobalWidgets");
function createExportedWidget1() {
return Widgets.createWidget1();
@@ -204,7 +204,7 @@ function createExportedWidget4() {
}
exports.createExportedWidget4 = createExportedWidget4;
//// [privacyFunctionCannotNameParameterTypeDeclFile_consumer.js]
-var exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter");
+var exporter = require("./privacyFunctionCannotNameParameterTypeDeclFile_exporter");
var publicClassWithWithPrivateParmeterTypes = (function () {
function publicClassWithWithPrivateParmeterTypes(param, param1, param2) {
if (param === void 0) { param = exporter.createExportedWidget1(); }
@@ -417,7 +417,7 @@ export declare module SpecializedWidget {
}
//// [privacyFunctionCannotNameParameterTypeDeclFile_exporter.d.ts]
///
-import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export declare function createExportedWidget1(): Widgets.Widget1;
export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2;
diff --git a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt
index 4be9aec9abe..bc6229815f5 100644
--- a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt
+++ b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.errors.txt
@@ -13,7 +13,7 @@ tests/cases/compiler/privacyFunctionReturnTypeDeclFile_consumer.ts(86,17): error
==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_consumer.ts (12 errors) ====
- import exporter = require("privacyFunctionReturnTypeDeclFile_exporter");
+ import exporter = require("./privacyFunctionReturnTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod() { // Error
~~~~~~~~~~~~~~~~~~~~
@@ -183,7 +183,7 @@ tests/cases/compiler/privacyFunctionReturnTypeDeclFile_consumer.ts(86,17): error
==== tests/cases/compiler/privacyFunctionReturnTypeDeclFile_exporter.ts (0 errors) ====
///
- import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets");
+ import Widgets = require("./privacyFunctionReturnTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
diff --git a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js
index 5f822929a48..8de50f4ea8a 100644
--- a/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js
+++ b/tests/baselines/reference/privacyFunctionCannotNameReturnTypeDeclFile.js
@@ -36,7 +36,7 @@ export module SpecializedWidget {
//// [privacyFunctionReturnTypeDeclFile_exporter.ts]
///
-import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionReturnTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
//// [privacyFunctionReturnTypeDeclFile_consumer.ts]
-import exporter = require("privacyFunctionReturnTypeDeclFile_exporter");
+import exporter = require("./privacyFunctionReturnTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod() { // Error
return exporter.createExportedWidget1();
@@ -192,7 +192,7 @@ var SpecializedWidget;
})(SpecializedWidget = exports.SpecializedWidget || (exports.SpecializedWidget = {}));
//// [privacyFunctionReturnTypeDeclFile_exporter.js]
///
-var Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets");
+var Widgets = require("./privacyFunctionReturnTypeDeclFile_Widgets");
var Widgets1 = require("GlobalWidgets");
function createExportedWidget1() {
return Widgets.createWidget1();
@@ -211,7 +211,7 @@ function createExportedWidget4() {
}
exports.createExportedWidget4 = createExportedWidget4;
//// [privacyFunctionReturnTypeDeclFile_consumer.js]
-var exporter = require("privacyFunctionReturnTypeDeclFile_exporter");
+var exporter = require("./privacyFunctionReturnTypeDeclFile_exporter");
var publicClassWithWithPrivateParmeterTypes = (function () {
function publicClassWithWithPrivateParmeterTypes() {
}
@@ -374,7 +374,7 @@ export declare module SpecializedWidget {
}
//// [privacyFunctionReturnTypeDeclFile_exporter.d.ts]
///
-import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionReturnTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export declare function createExportedWidget1(): Widgets.Widget1;
export declare function createExportedWidget2(): Widgets.SpecializedWidget.Widget2;
diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js
index f0ee8c1bb6c..4d184dfe714 100644
--- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js
+++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js
@@ -32,8 +32,8 @@ declare module 'm2' {
///
///
// Privacy errors - importing private elements
-export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
-export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+export import im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
+export import im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
@@ -69,8 +69,8 @@ exports.c_public = c_public;
///
///
// Privacy errors - importing private elements
-exports.im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
-exports.im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+exports.im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
+exports.im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
exports.im_public_mi_public = require("m");
exports.im_public_mu_public = require("m2");
// Usage of privacy error imports
@@ -107,8 +107,8 @@ export declare class c_public {
//// [privacyTopLevelAmbientExternalModuleImportWithExport_core.d.ts]
///
///
-export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
-export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+export import im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
+export import im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
export declare var publicUse_im_public_mi_private: im_public_mi_private.c_public;
diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.symbols b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.symbols
index 3c0bd5ff61b..2dcddbbfa06 100644
--- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.symbols
+++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.symbols
@@ -2,14 +2,14 @@
///
///
// Privacy errors - importing private elements
-export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
+export import im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
>im_public_mi_private : Symbol(im_public_mi_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 0, 0))
-export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
->im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 109))
+export import im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+>im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 111))
export import im_public_mi_public = require("m");
->im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 110))
+>im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 112))
export import im_public_mu_public = require("m2");
>im_public_mu_public : Symbol(im_public_mu_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 5, 49))
@@ -30,37 +30,37 @@ export var publicUse_im_public_mi_private = new im_public_mi_private.c_public();
var privateUse_im_public_mu_private = new im_public_mu_private.c_public();
>privateUse_im_public_mu_private : Symbol(privateUse_im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 11, 3))
>im_public_mu_private.c_public : Symbol(im_public_mu_private.c_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts, 0, 0))
->im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 109))
+>im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 111))
>c_public : Symbol(im_public_mu_private.c_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts, 0, 0))
export var publicUse_im_public_mu_private = new im_public_mu_private.c_public();
>publicUse_im_public_mu_private : Symbol(publicUse_im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 12, 10))
>im_public_mu_private.c_public : Symbol(im_public_mu_private.c_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts, 0, 0))
->im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 109))
+>im_public_mu_private : Symbol(im_public_mu_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 3, 111))
>c_public : Symbol(im_public_mu_private.c_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require1.ts, 0, 0))
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
>privateUse_im_public_mi_public : Symbol(privateUse_im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 13, 3), Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 15, 3))
>im_public_mi_public.c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
->im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 110))
+>im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 112))
>c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();
>publicUse_im_public_mi_public : Symbol(publicUse_im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 14, 10), Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 16, 10))
>im_public_mi_public.c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
->im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 110))
+>im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 112))
>c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
var privateUse_im_public_mi_public = new im_public_mi_public.c_private();
>privateUse_im_public_mi_public : Symbol(privateUse_im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 13, 3), Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 15, 3))
>im_public_mi_public.c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
->im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 110))
+>im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 112))
>c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
export var publicUse_im_public_mi_public = new im_public_mi_public.c_private();
>publicUse_im_public_mi_public : Symbol(publicUse_im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 14, 10), Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 16, 10))
>im_public_mi_public.c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
->im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 110))
+>im_public_mi_public : Symbol(im_public_mi_public, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_core.ts, 4, 112))
>c_private : Symbol(im_public_mi_public.c_private, Decl(privacyTopLevelAmbientExternalModuleImportWithExport_require2.ts, 2, 20))
=== tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport_require.ts ===
diff --git a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types
index b6d3d2967dc..5c082bef5de 100644
--- a/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types
+++ b/tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.types
@@ -2,10 +2,10 @@
///
///
// Privacy errors - importing private elements
-export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
+export import im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
>im_public_mi_private : typeof im_public_mi_private
-export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+export import im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
>im_public_mu_private : typeof im_public_mu_private
export import im_public_mi_public = require("m");
diff --git a/tests/baselines/reference/requireOfAnEmptyFile1.errors.txt b/tests/baselines/reference/requireOfAnEmptyFile1.errors.txt
index 7094bc6699f..d02593feff9 100644
--- a/tests/baselines/reference/requireOfAnEmptyFile1.errors.txt
+++ b/tests/baselines/reference/requireOfAnEmptyFile1.errors.txt
@@ -4,8 +4,8 @@ tests/cases/compiler/requireOfAnEmptyFile1_a.ts(3,21): error TS2306: File 'tests
==== tests/cases/compiler/requireOfAnEmptyFile1_a.ts (1 errors) ====
//requireOfAnEmptyFile1
- import fs = require('requireOfAnEmptyFile1_b');
- ~~~~~~~~~~~~~~~~~~~~~~~~~
+ import fs = require('./requireOfAnEmptyFile1_b');
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2306: File 'requireOfAnEmptyFile1_b.ts' is not a module.
==== tests/cases/compiler/requireOfAnEmptyFile1_b.ts (0 errors) ====
diff --git a/tests/baselines/reference/requireOfAnEmptyFile1.js b/tests/baselines/reference/requireOfAnEmptyFile1.js
index 779bc887140..b2079afa6ef 100644
--- a/tests/baselines/reference/requireOfAnEmptyFile1.js
+++ b/tests/baselines/reference/requireOfAnEmptyFile1.js
@@ -3,7 +3,7 @@
//// [requireOfAnEmptyFile1_a.ts]
//requireOfAnEmptyFile1
-import fs = require('requireOfAnEmptyFile1_b');
+import fs = require('./requireOfAnEmptyFile1_b');
//// [requireOfAnEmptyFile1_b.ts]
diff --git a/tests/baselines/reference/reuseInnerModuleMember.js b/tests/baselines/reference/reuseInnerModuleMember.js
index 8999ccea633..a15ec5e39a2 100644
--- a/tests/baselines/reference/reuseInnerModuleMember.js
+++ b/tests/baselines/reference/reuseInnerModuleMember.js
@@ -9,7 +9,7 @@ declare module bar {
interface alpha { }
}
-import f = require('reuseInnerModuleMember_0');
+import f = require('./reuseInnerModuleMember_0');
module bar {
var x: alpha;
}
diff --git a/tests/baselines/reference/reuseInnerModuleMember.symbols b/tests/baselines/reference/reuseInnerModuleMember.symbols
index 27301f1256b..5dbd830293f 100644
--- a/tests/baselines/reference/reuseInnerModuleMember.symbols
+++ b/tests/baselines/reference/reuseInnerModuleMember.symbols
@@ -1,17 +1,17 @@
=== tests/cases/compiler/reuseInnerModuleMember_1.ts ===
///
declare module bar {
->bar : Symbol(bar, Decl(reuseInnerModuleMember_1.ts, 0, 0), Decl(reuseInnerModuleMember_1.ts, 5, 47))
+>bar : Symbol(bar, Decl(reuseInnerModuleMember_1.ts, 0, 0), Decl(reuseInnerModuleMember_1.ts, 5, 49))
interface alpha { }
>alpha : Symbol(alpha, Decl(reuseInnerModuleMember_1.ts, 1, 20))
}
-import f = require('reuseInnerModuleMember_0');
+import f = require('./reuseInnerModuleMember_0');
>f : Symbol(f, Decl(reuseInnerModuleMember_1.ts, 3, 1))
module bar {
->bar : Symbol(bar, Decl(reuseInnerModuleMember_1.ts, 0, 0), Decl(reuseInnerModuleMember_1.ts, 5, 47))
+>bar : Symbol(bar, Decl(reuseInnerModuleMember_1.ts, 0, 0), Decl(reuseInnerModuleMember_1.ts, 5, 49))
var x: alpha;
>x : Symbol(x, Decl(reuseInnerModuleMember_1.ts, 7, 7))
diff --git a/tests/baselines/reference/reuseInnerModuleMember.types b/tests/baselines/reference/reuseInnerModuleMember.types
index d42e071e16b..433da749b49 100644
--- a/tests/baselines/reference/reuseInnerModuleMember.types
+++ b/tests/baselines/reference/reuseInnerModuleMember.types
@@ -7,7 +7,7 @@ declare module bar {
>alpha : alpha
}
-import f = require('reuseInnerModuleMember_0');
+import f = require('./reuseInnerModuleMember_0');
>f : typeof f
module bar {
diff --git a/tests/baselines/reference/staticInstanceResolution3.js b/tests/baselines/reference/staticInstanceResolution3.js
index 92a4e6522c7..0a41cd77909 100644
--- a/tests/baselines/reference/staticInstanceResolution3.js
+++ b/tests/baselines/reference/staticInstanceResolution3.js
@@ -9,7 +9,7 @@ export class Promise {
//// [staticInstanceResolution3_1.ts]
///
-import WinJS = require('staticInstanceResolution3_0');
+import WinJS = require('./staticInstanceResolution3_0');
WinJS.Promise.timeout(10);
//// [staticInstanceResolution3_0.js]
@@ -24,5 +24,5 @@ var Promise = (function () {
exports.Promise = Promise;
//// [staticInstanceResolution3_1.js]
///
-var WinJS = require('staticInstanceResolution3_0');
+var WinJS = require('./staticInstanceResolution3_0');
WinJS.Promise.timeout(10);
diff --git a/tests/baselines/reference/staticInstanceResolution3.symbols b/tests/baselines/reference/staticInstanceResolution3.symbols
index 8d4fecbaab2..f1afeecd34e 100644
--- a/tests/baselines/reference/staticInstanceResolution3.symbols
+++ b/tests/baselines/reference/staticInstanceResolution3.symbols
@@ -1,6 +1,6 @@
=== tests/cases/compiler/staticInstanceResolution3_1.ts ===
///
-import WinJS = require('staticInstanceResolution3_0');
+import WinJS = require('./staticInstanceResolution3_0');
>WinJS : Symbol(WinJS, Decl(staticInstanceResolution3_1.ts, 0, 0))
WinJS.Promise.timeout(10);
diff --git a/tests/baselines/reference/staticInstanceResolution3.types b/tests/baselines/reference/staticInstanceResolution3.types
index ef5c1cc5166..fe50c659f6d 100644
--- a/tests/baselines/reference/staticInstanceResolution3.types
+++ b/tests/baselines/reference/staticInstanceResolution3.types
@@ -1,6 +1,6 @@
=== tests/cases/compiler/staticInstanceResolution3_1.ts ===
///
-import WinJS = require('staticInstanceResolution3_0');
+import WinJS = require('./staticInstanceResolution3_0');
>WinJS : typeof WinJS
WinJS.Promise.timeout(10);
diff --git a/tests/baselines/reference/topLevelFileModule.js b/tests/baselines/reference/topLevelFileModule.js
index 5d655f78397..a6e7a151eb9 100644
--- a/tests/baselines/reference/topLevelFileModule.js
+++ b/tests/baselines/reference/topLevelFileModule.js
@@ -7,13 +7,13 @@ export var x: number;
export declare var y: number;
//// [foo_1.ts]
-import foo = require("vs/foo_0");
-import fum = require("vs/fum");
+import foo = require("./vs/foo_0");
+import fum = require("./vs/fum");
var z = foo.x + fum.y;
//// [foo_0.js]
//// [foo_1.js]
-var foo = require("vs/foo_0");
-var fum = require("vs/fum");
+var foo = require("./vs/foo_0");
+var fum = require("./vs/fum");
var z = foo.x + fum.y;
diff --git a/tests/baselines/reference/topLevelFileModule.symbols b/tests/baselines/reference/topLevelFileModule.symbols
index a677274ec07..d3961c0fa72 100644
--- a/tests/baselines/reference/topLevelFileModule.symbols
+++ b/tests/baselines/reference/topLevelFileModule.symbols
@@ -1,9 +1,9 @@
=== tests/cases/conformance/externalModules/foo_1.ts ===
-import foo = require("vs/foo_0");
+import foo = require("./vs/foo_0");
>foo : Symbol(foo, Decl(foo_1.ts, 0, 0))
-import fum = require("vs/fum");
->fum : Symbol(fum, Decl(foo_1.ts, 0, 33))
+import fum = require("./vs/fum");
+>fum : Symbol(fum, Decl(foo_1.ts, 0, 35))
var z = foo.x + fum.y;
>z : Symbol(z, Decl(foo_1.ts, 2, 3))
@@ -11,7 +11,7 @@ var z = foo.x + fum.y;
>foo : Symbol(foo, Decl(foo_1.ts, 0, 0))
>x : Symbol(foo.x, Decl(foo_0.ts, 0, 10))
>fum.y : Symbol(fum.y, Decl(fum.d.ts, 0, 18))
->fum : Symbol(fum, Decl(foo_1.ts, 0, 33))
+>fum : Symbol(fum, Decl(foo_1.ts, 0, 35))
>y : Symbol(fum.y, Decl(fum.d.ts, 0, 18))
=== tests/cases/conformance/externalModules/vs/foo_0.ts ===
diff --git a/tests/baselines/reference/topLevelFileModule.types b/tests/baselines/reference/topLevelFileModule.types
index 033dbf197d3..2706fd75670 100644
--- a/tests/baselines/reference/topLevelFileModule.types
+++ b/tests/baselines/reference/topLevelFileModule.types
@@ -1,8 +1,8 @@
=== tests/cases/conformance/externalModules/foo_1.ts ===
-import foo = require("vs/foo_0");
+import foo = require("./vs/foo_0");
>foo : typeof foo
-import fum = require("vs/fum");
+import fum = require("./vs/fum");
>fum : typeof fum
var z = foo.x + fum.y;
diff --git a/tests/baselines/reference/topLevelModuleDeclarationAndFile.errors.txt b/tests/baselines/reference/topLevelModuleDeclarationAndFile.errors.txt
index de343803529..cb555b7a603 100644
--- a/tests/baselines/reference/topLevelModuleDeclarationAndFile.errors.txt
+++ b/tests/baselines/reference/topLevelModuleDeclarationAndFile.errors.txt
@@ -9,7 +9,7 @@ tests/cases/conformance/externalModules/foo_2.ts(3,14): error TS2339: Property '
!!! error TS2339: Property 'x' does not exist on type 'typeof "vs/foo_0"'.
var z2 = foo.y() + 10; // Should resolve
-==== tests/cases/conformance/externalModules/vs/foo_0.ts (0 errors) ====
+==== tests/cases/conformance/externalModules/vs/foo_0/index.ts (0 errors) ====
export var x: number = 42;
==== tests/cases/conformance/externalModules/foo_1.ts (0 errors) ====
diff --git a/tests/baselines/reference/topLevelModuleDeclarationAndFile.js b/tests/baselines/reference/topLevelModuleDeclarationAndFile.js
index c47de516108..e223a293d7c 100644
--- a/tests/baselines/reference/topLevelModuleDeclarationAndFile.js
+++ b/tests/baselines/reference/topLevelModuleDeclarationAndFile.js
@@ -1,6 +1,6 @@
//// [tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts] ////
-//// [foo_0.ts]
+//// [index.ts]
export var x: number = 42;
//// [foo_1.ts]
@@ -17,8 +17,6 @@ var z2 = foo.y() + 10; // Should resolve
//// [foo_1.js]
-//// [foo_0.js]
-exports.x = 42;
//// [foo_2.js]
///
var foo = require("vs/foo_0");
diff --git a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js
index b25ad480a9d..e75fa63c4b7 100644
--- a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js
+++ b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js
@@ -7,7 +7,7 @@ var classes = undefined;
}
//// [file2.ts]
-import f = require('file1');
+import f = require('./file1');
f.foo();
@@ -18,7 +18,7 @@ function foo() {
}
exports.foo = foo;
//// [file2.js]
-var f = require('file1');
+var f = require('./file1');
f.foo();
diff --git a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.symbols b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.symbols
index 2326ee5a8cd..4a4e4ef57da 100644
--- a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.symbols
+++ b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.symbols
@@ -1,5 +1,5 @@
=== tests/cases/compiler/file2.ts ===
-import f = require('file1');
+import f = require('./file1');
>f : Symbol(f, Decl(file2.ts, 0, 0))
f.foo();
diff --git a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types
index 23d2c3167d6..044de70c5cd 100644
--- a/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types
+++ b/tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/file2.ts ===
-import f = require('file1');
+import f = require('./file1');
>f : typeof f
f.foo();
diff --git a/tests/baselines/reference/typeofAmbientExternalModules.errors.txt b/tests/baselines/reference/typeofAmbientExternalModules.errors.txt
index cde3247b7cd..9046972c895 100644
--- a/tests/baselines/reference/typeofAmbientExternalModules.errors.txt
+++ b/tests/baselines/reference/typeofAmbientExternalModules.errors.txt
@@ -7,8 +7,8 @@ tests/cases/compiler/typeofAmbientExternalModules_2.ts(9,1): error TS2322: Type
==== tests/cases/compiler/typeofAmbientExternalModules_2.ts (2 errors) ====
///
///
- import ext = require('typeofAmbientExternalModules_0');
- import exp = require('typeofAmbientExternalModules_1');
+ import ext = require('./typeofAmbientExternalModules_0');
+ import exp = require('./typeofAmbientExternalModules_1');
var y1: typeof ext = ext;
y1 = exp;
diff --git a/tests/baselines/reference/typeofAmbientExternalModules.js b/tests/baselines/reference/typeofAmbientExternalModules.js
index 1bfd549fb04..66e6d7d45ea 100644
--- a/tests/baselines/reference/typeofAmbientExternalModules.js
+++ b/tests/baselines/reference/typeofAmbientExternalModules.js
@@ -10,8 +10,8 @@ export = D;
//// [typeofAmbientExternalModules_2.ts]
///
///
-import ext = require('typeofAmbientExternalModules_0');
-import exp = require('typeofAmbientExternalModules_1');
+import ext = require('./typeofAmbientExternalModules_0');
+import exp = require('./typeofAmbientExternalModules_1');
var y1: typeof ext = ext;
y1 = exp;
@@ -35,8 +35,8 @@ module.exports = D;
//// [typeofAmbientExternalModules_2.js]
///
///
-var ext = require('typeofAmbientExternalModules_0');
-var exp = require('typeofAmbientExternalModules_1');
+var ext = require('./typeofAmbientExternalModules_0');
+var exp = require('./typeofAmbientExternalModules_1');
var y1 = ext;
y1 = exp;
var y2 = exp;
diff --git a/tests/baselines/reference/typeofExternalModules.errors.txt b/tests/baselines/reference/typeofExternalModules.errors.txt
index 05b56c9fe1b..0290a40c326 100644
--- a/tests/baselines/reference/typeofExternalModules.errors.txt
+++ b/tests/baselines/reference/typeofExternalModules.errors.txt
@@ -5,8 +5,8 @@ tests/cases/compiler/typeofExternalModules_core.ts(7,1): error TS2322: Type 'typ
==== tests/cases/compiler/typeofExternalModules_core.ts (2 errors) ====
- import ext = require('typeofExternalModules_external');
- import exp = require('typeofExternalModules_exportAssign');
+ import ext = require('./typeofExternalModules_external');
+ import exp = require('./typeofExternalModules_exportAssign');
var y1: typeof ext = ext;
y1 = exp;
diff --git a/tests/baselines/reference/typeofExternalModules.js b/tests/baselines/reference/typeofExternalModules.js
index 8ffea8ca8ec..676f6f10b9f 100644
--- a/tests/baselines/reference/typeofExternalModules.js
+++ b/tests/baselines/reference/typeofExternalModules.js
@@ -8,8 +8,8 @@ class D { }
export = D;
//// [typeofExternalModules_core.ts]
-import ext = require('typeofExternalModules_external');
-import exp = require('typeofExternalModules_exportAssign');
+import ext = require('./typeofExternalModules_external');
+import exp = require('./typeofExternalModules_exportAssign');
var y1: typeof ext = ext;
y1 = exp;
@@ -31,8 +31,8 @@ var D = (function () {
})();
module.exports = D;
//// [typeofExternalModules_core.js]
-var ext = require('typeofExternalModules_external');
-var exp = require('typeofExternalModules_exportAssign');
+var ext = require('./typeofExternalModules_external');
+var exp = require('./typeofExternalModules_exportAssign');
var y1 = ext;
y1 = exp;
var y2 = exp;
diff --git a/tests/baselines/reference/unusedImportDeclaration.js b/tests/baselines/reference/unusedImportDeclaration.js
index 54885f09e36..04e897c081a 100644
--- a/tests/baselines/reference/unusedImportDeclaration.js
+++ b/tests/baselines/reference/unusedImportDeclaration.js
@@ -7,7 +7,7 @@ class TesterB {
export = TesterB;
//// [unusedImportDeclaration_testerA.ts]
-import B = require("unusedImportDeclaration_testerB");
+import B = require("./unusedImportDeclaration_testerB");
var thingy: B = {
me: "A"
};
diff --git a/tests/baselines/reference/unusedImportDeclaration.symbols b/tests/baselines/reference/unusedImportDeclaration.symbols
index 5506c4ad6b6..a298ba94631 100644
--- a/tests/baselines/reference/unusedImportDeclaration.symbols
+++ b/tests/baselines/reference/unusedImportDeclaration.symbols
@@ -1,5 +1,5 @@
=== tests/cases/compiler/unusedImportDeclaration_testerA.ts ===
-import B = require("unusedImportDeclaration_testerB");
+import B = require("./unusedImportDeclaration_testerB");
>B : Symbol(B, Decl(unusedImportDeclaration_testerA.ts, 0, 0))
var thingy: B = {
diff --git a/tests/baselines/reference/unusedImportDeclaration.types b/tests/baselines/reference/unusedImportDeclaration.types
index dcedf3fd350..c14338756da 100644
--- a/tests/baselines/reference/unusedImportDeclaration.types
+++ b/tests/baselines/reference/unusedImportDeclaration.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/unusedImportDeclaration_testerA.ts ===
-import B = require("unusedImportDeclaration_testerB");
+import B = require("./unusedImportDeclaration_testerB");
>B : typeof B
var thingy: B = {
diff --git a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js
index e3f60cfa17b..660a4017a7f 100644
--- a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js
+++ b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js
@@ -3,8 +3,8 @@
//// [visibilityOfCrossModuleTypeUsage_commands.ts]
//visibilityOfCrossModuleTypeUsage
-import fs = require('visibilityOfCrossModuleTypeUsage_fs');
-import server = require('visibilityOfCrossModuleTypeUsage_server');
+import fs = require('./visibilityOfCrossModuleTypeUsage_fs');
+import server = require('./visibilityOfCrossModuleTypeUsage_server');
export interface IConfiguration {
workspace: server.IWorkspace;
@@ -20,7 +20,7 @@ export interface IWorkspace {
}
//// [visibilityOfCrossModuleTypeUsage_fs.ts]
-import commands = require('visibilityOfCrossModuleTypeUsage_commands');
+import commands = require('./visibilityOfCrossModuleTypeUsage_commands');
function run(configuration: commands.IConfiguration) {
var absoluteWorkspacePath = configuration.workspace.toAbsolutePath(configuration.server);
}
diff --git a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols
index 0fdd5c4fbe1..d1132151097 100644
--- a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols
+++ b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.symbols
@@ -1,12 +1,12 @@
=== tests/cases/compiler/visibilityOfCrossModuleTypeUsage_fs.ts ===
-import commands = require('visibilityOfCrossModuleTypeUsage_commands');
+import commands = require('./visibilityOfCrossModuleTypeUsage_commands');
>commands : Symbol(commands, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 0, 0))
function run(configuration: commands.IConfiguration) {
->run : Symbol(run, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 0, 71))
+>run : Symbol(run, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 0, 73))
>configuration : Symbol(configuration, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 1, 13))
>commands : Symbol(commands, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 0, 0))
->IConfiguration : Symbol(commands.IConfiguration, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 3, 67))
+>IConfiguration : Symbol(commands.IConfiguration, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 3, 69))
var absoluteWorkspacePath = configuration.workspace.toAbsolutePath(configuration.server);
>absoluteWorkspacePath : Symbol(absoluteWorkspacePath, Decl(visibilityOfCrossModuleTypeUsage_fs.ts, 2, 7))
@@ -22,23 +22,23 @@ function run(configuration: commands.IConfiguration) {
=== tests/cases/compiler/visibilityOfCrossModuleTypeUsage_commands.ts ===
//visibilityOfCrossModuleTypeUsage
-import fs = require('visibilityOfCrossModuleTypeUsage_fs');
+import fs = require('./visibilityOfCrossModuleTypeUsage_fs');
>fs : Symbol(fs, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 0, 0))
-import server = require('visibilityOfCrossModuleTypeUsage_server');
->server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 59))
+import server = require('./visibilityOfCrossModuleTypeUsage_server');
+>server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 61))
export interface IConfiguration {
->IConfiguration : Symbol(IConfiguration, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 3, 67))
+>IConfiguration : Symbol(IConfiguration, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 3, 69))
workspace: server.IWorkspace;
>workspace : Symbol(workspace, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 5, 33))
->server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 59))
+>server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 61))
>IWorkspace : Symbol(server.IWorkspace, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 1, 1))
server?: server.IServer;
>server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 6, 33))
->server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 59))
+>server : Symbol(server, Decl(visibilityOfCrossModuleTypeUsage_commands.ts, 2, 61))
>IServer : Symbol(server.IServer, Decl(visibilityOfCrossModuleTypeUsage_server.ts, 0, 0))
}
diff --git a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.types b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.types
index 90cb54fe1e0..2ee7189a77c 100644
--- a/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.types
+++ b/tests/baselines/reference/visibilityOfCrossModuleTypeUsage.types
@@ -1,5 +1,5 @@
=== tests/cases/compiler/visibilityOfCrossModuleTypeUsage_fs.ts ===
-import commands = require('visibilityOfCrossModuleTypeUsage_commands');
+import commands = require('./visibilityOfCrossModuleTypeUsage_commands');
>commands : typeof commands
function run(configuration: commands.IConfiguration) {
@@ -23,10 +23,10 @@ function run(configuration: commands.IConfiguration) {
=== tests/cases/compiler/visibilityOfCrossModuleTypeUsage_commands.ts ===
//visibilityOfCrossModuleTypeUsage
-import fs = require('visibilityOfCrossModuleTypeUsage_fs');
+import fs = require('./visibilityOfCrossModuleTypeUsage_fs');
>fs : typeof fs
-import server = require('visibilityOfCrossModuleTypeUsage_server');
+import server = require('./visibilityOfCrossModuleTypeUsage_server');
>server : typeof server
export interface IConfiguration {
diff --git a/tests/baselines/reference/voidAsNonAmbiguousReturnType.errors.txt b/tests/baselines/reference/voidAsNonAmbiguousReturnType.errors.txt
index aa61a114145..ce8b52f316c 100644
--- a/tests/baselines/reference/voidAsNonAmbiguousReturnType.errors.txt
+++ b/tests/baselines/reference/voidAsNonAmbiguousReturnType.errors.txt
@@ -3,7 +3,7 @@ tests/cases/compiler/voidAsNonAmbiguousReturnType_0.ts(1,17): error TS2394: Over
==== tests/cases/compiler/voidAsNonAmbiguousReturnType_1.ts (0 errors) ====
///
- import fs = require("voidAsNonAmbiguousReturnType_0");
+ import fs = require("./voidAsNonAmbiguousReturnType_0");
function main() {
fs.mkdirSync('test'); // should not error - return types are the same
diff --git a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js
index 713c4ffe47b..0ab15304493 100644
--- a/tests/baselines/reference/voidAsNonAmbiguousReturnType.js
+++ b/tests/baselines/reference/voidAsNonAmbiguousReturnType.js
@@ -6,7 +6,7 @@ export function mkdirSync(path: string, mode?: string): void {}
//// [voidAsNonAmbiguousReturnType_1.ts]
///
-import fs = require("voidAsNonAmbiguousReturnType_0");
+import fs = require("./voidAsNonAmbiguousReturnType_0");
function main() {
fs.mkdirSync('test'); // should not error - return types are the same
@@ -18,7 +18,7 @@ function mkdirSync(path, mode) { }
exports.mkdirSync = mkdirSync;
//// [voidAsNonAmbiguousReturnType_1.js]
///
-var fs = require("voidAsNonAmbiguousReturnType_0");
+var fs = require("./voidAsNonAmbiguousReturnType_0");
function main() {
fs.mkdirSync('test'); // should not error - return types are the same
}
diff --git a/tests/cases/compiler/APISample_compile.ts b/tests/cases/compiler/APISample_compile.ts
index d3cc650dd2a..c63009f7d63 100644
--- a/tests/cases/compiler/APISample_compile.ts
+++ b/tests/cases/compiler/APISample_compile.ts
@@ -1,5 +1,5 @@
// @module: commonjs
-// @includebuiltfile: typescript.d.ts
+// @includebuiltfile: typescript_standalone.d.ts
// @stripInternal:true
/*
diff --git a/tests/cases/compiler/APISample_linter.ts b/tests/cases/compiler/APISample_linter.ts
index 9f9b55a0a67..8cb6934cee3 100644
--- a/tests/cases/compiler/APISample_linter.ts
+++ b/tests/cases/compiler/APISample_linter.ts
@@ -1,5 +1,5 @@
// @module: commonjs
-// @includebuiltfile: typescript.d.ts
+// @includebuiltfile: typescript_standalone.d.ts
// @stripInternal:true
/*
diff --git a/tests/cases/compiler/APISample_transform.ts b/tests/cases/compiler/APISample_transform.ts
index 48e27c4e008..88b9754536a 100644
--- a/tests/cases/compiler/APISample_transform.ts
+++ b/tests/cases/compiler/APISample_transform.ts
@@ -1,5 +1,5 @@
// @module: commonjs
-// @includebuiltfile: typescript.d.ts
+// @includebuiltfile: typescript_standalone.d.ts
// @stripInternal:true
/*
diff --git a/tests/cases/compiler/APISample_watcher.ts b/tests/cases/compiler/APISample_watcher.ts
index b152f86c378..9afa53ddf14 100644
--- a/tests/cases/compiler/APISample_watcher.ts
+++ b/tests/cases/compiler/APISample_watcher.ts
@@ -1,5 +1,5 @@
// @module: commonjs
-// @includebuiltfile: typescript.d.ts
+// @includebuiltfile: typescript_standalone.d.ts
// @stripInternal:true
/*
diff --git a/tests/cases/compiler/aliasAssignments.ts b/tests/cases/compiler/aliasAssignments.ts
index 4a83ee80da7..6a7ed9a9974 100644
--- a/tests/cases/compiler/aliasAssignments.ts
+++ b/tests/cases/compiler/aliasAssignments.ts
@@ -5,7 +5,7 @@ export class someClass {
}
// @Filename: aliasAssignments_1.ts
-import moduleA = require("aliasAssignments_moduleA");
+import moduleA = require("./aliasAssignments_moduleA");
var x = moduleA;
x = 1; // Should be error
var y = 1;
diff --git a/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts b/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts
index 2aeddbad947..c6d1b1480c0 100644
--- a/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts
+++ b/tests/cases/compiler/aliasUsageInAccessorsOfClass.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @target: ES5
// @Filename: aliasUsage1_backbone.ts
export class Model {
@@ -6,14 +6,14 @@ export class Model {
}
// @Filename: aliasUsage1_moduleA.ts
-import Backbone = require("aliasUsage1_backbone");
+import Backbone = require("./aliasUsage1_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsage1_main.ts
-import Backbone = require("aliasUsage1_backbone");
-import moduleA = require("aliasUsage1_moduleA");
+import Backbone = require("./aliasUsage1_backbone");
+import moduleA = require("./aliasUsage1_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInArray.ts b/tests/cases/compiler/aliasUsageInArray.ts
index 9c2e4e64e48..7f71b00e72a 100644
--- a/tests/cases/compiler/aliasUsageInArray.ts
+++ b/tests/cases/compiler/aliasUsageInArray.ts
@@ -5,14 +5,14 @@ export class Model {
}
// @Filename: aliasUsageInArray_moduleA.ts
-import Backbone = require("aliasUsageInArray_backbone");
+import Backbone = require("./aliasUsageInArray_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInArray_main.ts
-import Backbone = require("aliasUsageInArray_backbone");
-import moduleA = require("aliasUsageInArray_moduleA");
+import Backbone = require("./aliasUsageInArray_backbone");
+import moduleA = require("./aliasUsageInArray_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInFunctionExpression.ts b/tests/cases/compiler/aliasUsageInFunctionExpression.ts
index 47b377c5b28..4c9a91b713b 100644
--- a/tests/cases/compiler/aliasUsageInFunctionExpression.ts
+++ b/tests/cases/compiler/aliasUsageInFunctionExpression.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInFunctionExpression_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInFunctionExpression_moduleA.ts
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInFunctionExpression_main.ts
-import Backbone = require("aliasUsageInFunctionExpression_backbone");
-import moduleA = require("aliasUsageInFunctionExpression_moduleA");
+import Backbone = require("./aliasUsageInFunctionExpression_backbone");
+import moduleA = require("./aliasUsageInFunctionExpression_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInGenericFunction.ts b/tests/cases/compiler/aliasUsageInGenericFunction.ts
index d9966dbd299..f153195009c 100644
--- a/tests/cases/compiler/aliasUsageInGenericFunction.ts
+++ b/tests/cases/compiler/aliasUsageInGenericFunction.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInGenericFunction_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInGenericFunction_moduleA.ts
-import Backbone = require("aliasUsageInGenericFunction_backbone");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInGenericFunction_main.ts
-import Backbone = require("aliasUsageInGenericFunction_backbone");
-import moduleA = require("aliasUsageInGenericFunction_moduleA");
+import Backbone = require("./aliasUsageInGenericFunction_backbone");
+import moduleA = require("./aliasUsageInGenericFunction_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInIndexerOfClass.ts b/tests/cases/compiler/aliasUsageInIndexerOfClass.ts
index a6df86fbc99..a9aca7d2970 100644
--- a/tests/cases/compiler/aliasUsageInIndexerOfClass.ts
+++ b/tests/cases/compiler/aliasUsageInIndexerOfClass.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInIndexerOfClass_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInIndexerOfClass_moduleA.ts
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInIndexerOfClass_main.ts
-import Backbone = require("aliasUsageInIndexerOfClass_backbone");
-import moduleA = require("aliasUsageInIndexerOfClass_moduleA");
+import Backbone = require("./aliasUsageInIndexerOfClass_backbone");
+import moduleA = require("./aliasUsageInIndexerOfClass_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInObjectLiteral.ts b/tests/cases/compiler/aliasUsageInObjectLiteral.ts
index a9d2017d50c..e16d5552fe6 100644
--- a/tests/cases/compiler/aliasUsageInObjectLiteral.ts
+++ b/tests/cases/compiler/aliasUsageInObjectLiteral.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInObjectLiteral_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInObjectLiteral_moduleA.ts
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInObjectLiteral_main.ts
-import Backbone = require("aliasUsageInObjectLiteral_backbone");
-import moduleA = require("aliasUsageInObjectLiteral_moduleA");
+import Backbone = require("./aliasUsageInObjectLiteral_backbone");
+import moduleA = require("./aliasUsageInObjectLiteral_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInOrExpression.ts b/tests/cases/compiler/aliasUsageInOrExpression.ts
index e7ddd4014f0..540a3ae91c0 100644
--- a/tests/cases/compiler/aliasUsageInOrExpression.ts
+++ b/tests/cases/compiler/aliasUsageInOrExpression.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInOrExpression_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInOrExpression_moduleA.ts
-import Backbone = require("aliasUsageInOrExpression_backbone");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInOrExpression_main.ts
-import Backbone = require("aliasUsageInOrExpression_backbone");
-import moduleA = require("aliasUsageInOrExpression_moduleA");
+import Backbone = require("./aliasUsageInOrExpression_backbone");
+import moduleA = require("./aliasUsageInOrExpression_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause.ts b/tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause.ts
index 548963ff123..c09c715ed3a 100644
--- a/tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause.ts
+++ b/tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInTypeArgumentOfExtendsClause_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInTypeArgumentOfExtendsClause_moduleA.ts
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInTypeArgumentOfExtendsClause_main.ts
-import Backbone = require("aliasUsageInTypeArgumentOfExtendsClause_backbone");
-import moduleA = require("aliasUsageInTypeArgumentOfExtendsClause_moduleA");
+import Backbone = require("./aliasUsageInTypeArgumentOfExtendsClause_backbone");
+import moduleA = require("./aliasUsageInTypeArgumentOfExtendsClause_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsageInVarAssignment.ts b/tests/cases/compiler/aliasUsageInVarAssignment.ts
index 1644c825a4d..ed14d4241f5 100644
--- a/tests/cases/compiler/aliasUsageInVarAssignment.ts
+++ b/tests/cases/compiler/aliasUsageInVarAssignment.ts
@@ -1,18 +1,18 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsageInVarAssignment_backbone.ts
export class Model {
public someData: string;
}
// @Filename: aliasUsageInVarAssignment_moduleA.ts
-import Backbone = require("aliasUsageInVarAssignment_backbone");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: aliasUsageInVarAssignment_main.ts
-import Backbone = require("aliasUsageInVarAssignment_backbone");
-import moduleA = require("aliasUsageInVarAssignment_moduleA");
+import Backbone = require("./aliasUsageInVarAssignment_backbone");
+import moduleA = require("./aliasUsageInVarAssignment_moduleA");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/aliasUsedAsNameValue.ts b/tests/cases/compiler/aliasUsedAsNameValue.ts
index 20b60b53d1e..2426399252b 100644
--- a/tests/cases/compiler/aliasUsedAsNameValue.ts
+++ b/tests/cases/compiler/aliasUsedAsNameValue.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasUsedAsNameValue_0.ts
export var id: number;
@@ -8,8 +8,8 @@ export function b(a: any): any { return null; }
// @Filename: aliasUsedAsNameValue_2.ts
///
///
-import mod = require("aliasUsedAsNameValue_0");
-import b = require("aliasUsedAsNameValue_1");
+import mod = require("./aliasUsedAsNameValue_0");
+import b = require("./aliasUsedAsNameValue_1");
export var a = function () {
//var x = mod.id; // TODO needed hack that mod is loaded
diff --git a/tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer.ts b/tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer.ts
index f4d818d9562..37a6c42caee 100644
--- a/tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer.ts
+++ b/tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: aliasWithInterfaceExportAssignmentUsedInVarInitializer_0.ts
interface c {
q3: number;
@@ -6,5 +6,5 @@ interface c {
export = c;
// @Filename: aliasWithInterfaceExportAssignmentUsedInVarInitializer_1.ts
-import moduleA = require("aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
+import moduleA = require("./aliasWithInterfaceExportAssignmentUsedInVarInitializer_0");
var d = b.q3;
\ No newline at end of file
diff --git a/tests/cases/compiler/arrayOfExportedClass.ts b/tests/cases/compiler/arrayOfExportedClass.ts
index 020be79408c..794a83fbd83 100644
--- a/tests/cases/compiler/arrayOfExportedClass.ts
+++ b/tests/cases/compiler/arrayOfExportedClass.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: arrayOfExportedClass_0.ts
class Car {
foo: string;
@@ -8,7 +8,7 @@ export = Car;
// @Filename: arrayOfExportedClass_1.ts
///
-import Car = require('arrayOfExportedClass_0');
+import Car = require('./arrayOfExportedClass_0');
class Road {
diff --git a/tests/cases/compiler/chainedImportAlias.ts b/tests/cases/compiler/chainedImportAlias.ts
index 97bf28bf4a5..5b91c58f4bc 100644
--- a/tests/cases/compiler/chainedImportAlias.ts
+++ b/tests/cases/compiler/chainedImportAlias.ts
@@ -1,10 +1,10 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: chainedImportAlias_file0.ts
export module m {
export function foo() { }
}
// @Filename: chainedImportAlias_file1.ts
-import x = require('chainedImportAlias_file0');
+import x = require('./chainedImportAlias_file0');
import y = x;
y.m.foo();
diff --git a/tests/cases/compiler/commentInEmptyParameterList1.ts b/tests/cases/compiler/commentInEmptyParameterList1.ts
index cae197735d5..65ddbca16dd 100644
--- a/tests/cases/compiler/commentInEmptyParameterList1.ts
+++ b/tests/cases/compiler/commentInEmptyParameterList1.ts
@@ -1,3 +1,3 @@
-// @comments:true
+// @removeComments: false
function foo(/** nothing */) {
}
\ No newline at end of file
diff --git a/tests/cases/compiler/commentOnClassMethod1.ts b/tests/cases/compiler/commentOnClassMethod1.ts
index 048e0de984c..a4cca2be8a2 100644
--- a/tests/cases/compiler/commentOnClassMethod1.ts
+++ b/tests/cases/compiler/commentOnClassMethod1.ts
@@ -1,4 +1,4 @@
-// @comments:true
+// @removeComments: false
class WebControls {
/**
* Render a control
diff --git a/tests/cases/compiler/commentOnExpressionStatement1.ts b/tests/cases/compiler/commentOnExpressionStatement1.ts
index 430d226ff70..2f64fbcc08d 100644
--- a/tests/cases/compiler/commentOnExpressionStatement1.ts
+++ b/tests/cases/compiler/commentOnExpressionStatement1.ts
@@ -1,3 +1,3 @@
-// @comments: true
+// @removeComments: false
1 + 1; // Comment.
\ No newline at end of file
diff --git a/tests/cases/compiler/commentOnIfStatement1.ts b/tests/cases/compiler/commentOnIfStatement1.ts
index afff0000c86..295a0f513f7 100644
--- a/tests/cases/compiler/commentOnIfStatement1.ts
+++ b/tests/cases/compiler/commentOnIfStatement1.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
// Test
if (true) {
diff --git a/tests/cases/compiler/commentOnImportStatement1.ts b/tests/cases/compiler/commentOnImportStatement1.ts
index e26faf21fb6..597509075b3 100644
--- a/tests/cases/compiler/commentOnImportStatement1.ts
+++ b/tests/cases/compiler/commentOnImportStatement1.ts
@@ -1,5 +1,5 @@
-//@module: amd
-// @comments: true
+// @module: amd
+// @removeComments: false
/* Copyright */
import foo = require('./foo');
diff --git a/tests/cases/compiler/commentOnImportStatement2.ts b/tests/cases/compiler/commentOnImportStatement2.ts
index 096041f3f5b..ccb5b57887a 100644
--- a/tests/cases/compiler/commentOnImportStatement2.ts
+++ b/tests/cases/compiler/commentOnImportStatement2.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
-// @comments: true
+// @module: commonjs
+// @removeComments: false
/* not copyright */
import foo = require('./foo');
\ No newline at end of file
diff --git a/tests/cases/compiler/commentOnImportStatement3.ts b/tests/cases/compiler/commentOnImportStatement3.ts
index 0cfef3feeff..d60756ecf7e 100644
--- a/tests/cases/compiler/commentOnImportStatement3.ts
+++ b/tests/cases/compiler/commentOnImportStatement3.ts
@@ -1,5 +1,5 @@
-//@module: commonjs
-// @comments: true
+// @module: commonjs
+// @removeComments: false
/* copyright */
/* not copyright */
diff --git a/tests/cases/compiler/commentOnSimpleArrowFunctionBody1.ts b/tests/cases/compiler/commentOnSimpleArrowFunctionBody1.ts
index 548548de3d6..b1edc61cb82 100644
--- a/tests/cases/compiler/commentOnSimpleArrowFunctionBody1.ts
+++ b/tests/cases/compiler/commentOnSimpleArrowFunctionBody1.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
function Foo(x: any)
{
}
diff --git a/tests/cases/compiler/commentsBeforeFunctionExpression1.ts b/tests/cases/compiler/commentsBeforeFunctionExpression1.ts
index 64fe3b7b6ec..d3b21c18475 100644
--- a/tests/cases/compiler/commentsBeforeFunctionExpression1.ts
+++ b/tests/cases/compiler/commentsBeforeFunctionExpression1.ts
@@ -1,4 +1,4 @@
-// @comments:true
+// @removeComments: false
var v = {
f: /**own f*/ (a) => 0
}
diff --git a/tests/cases/compiler/commentsBeforeVariableStatement1.ts b/tests/cases/compiler/commentsBeforeVariableStatement1.ts
index e6c49f17d7f..e4e019cef5e 100644
--- a/tests/cases/compiler/commentsBeforeVariableStatement1.ts
+++ b/tests/cases/compiler/commentsBeforeVariableStatement1.ts
@@ -1,4 +1,4 @@
-//@module: amd
-// @comments: true
+// @module: amd
+// @removeComments: false
/** b's comment*/
export var b: number;
diff --git a/tests/cases/compiler/commentsClass.ts b/tests/cases/compiler/commentsClass.ts
index e9a8f3cee1d..8823f5db6d2 100644
--- a/tests/cases/compiler/commentsClass.ts
+++ b/tests/cases/compiler/commentsClass.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** This is class c2 without constuctor*/
class c2 {
diff --git a/tests/cases/compiler/commentsClassMembers.ts b/tests/cases/compiler/commentsClassMembers.ts
index 92a3a1356f2..414f560c2a7 100644
--- a/tests/cases/compiler/commentsClassMembers.ts
+++ b/tests/cases/compiler/commentsClassMembers.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** This is comment for c1*/
class c1 {
diff --git a/tests/cases/compiler/commentsCommentParsing.ts b/tests/cases/compiler/commentsCommentParsing.ts
index 7bfc9de4fd2..a1fbf50c61f 100644
--- a/tests/cases/compiler/commentsCommentParsing.ts
+++ b/tests/cases/compiler/commentsCommentParsing.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/// This is simple /// comments
function simple() {
diff --git a/tests/cases/compiler/commentsDottedModuleName.ts b/tests/cases/compiler/commentsDottedModuleName.ts
index 136d189d1ac..55266931036 100644
--- a/tests/cases/compiler/commentsDottedModuleName.ts
+++ b/tests/cases/compiler/commentsDottedModuleName.ts
@@ -1,7 +1,7 @@
-//@module: amd
+// @module: amd
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** this is multi declare module*/
export module outerModule.InnerModule {
diff --git a/tests/cases/compiler/commentsEnums.ts b/tests/cases/compiler/commentsEnums.ts
index 2d69c863f2d..d7d654c1e72 100644
--- a/tests/cases/compiler/commentsEnums.ts
+++ b/tests/cases/compiler/commentsEnums.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** Enum of colors*/
enum Colors {
diff --git a/tests/cases/compiler/commentsExternalModules.ts b/tests/cases/compiler/commentsExternalModules.ts
index 86c6b2be8d3..04489611427 100644
--- a/tests/cases/compiler/commentsExternalModules.ts
+++ b/tests/cases/compiler/commentsExternalModules.ts
@@ -1,7 +1,7 @@
-//@module: amd
+// @module: amd
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @Filename: commentsExternalModules_0.ts
/** Module comment*/
diff --git a/tests/cases/compiler/commentsExternalModules2.ts b/tests/cases/compiler/commentsExternalModules2.ts
index 354e74738be..b1dfb04902b 100644
--- a/tests/cases/compiler/commentsExternalModules2.ts
+++ b/tests/cases/compiler/commentsExternalModules2.ts
@@ -1,7 +1,7 @@
-//@module: amd
+// @module: amd
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @Filename: commentsExternalModules2_0.ts
/** Module comment*/
diff --git a/tests/cases/compiler/commentsExternalModules3.ts b/tests/cases/compiler/commentsExternalModules3.ts
index 2f214c5d28c..a59458893ca 100644
--- a/tests/cases/compiler/commentsExternalModules3.ts
+++ b/tests/cases/compiler/commentsExternalModules3.ts
@@ -1,7 +1,7 @@
-//@module: commonjs
+// @module: commonjs
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @Filename: commentsExternalModules2_0.ts
/** Module comment*/
@@ -56,7 +56,7 @@ var myvar2 = new m4.m2.c();
// @Filename: commentsExternalModules_1.ts
/**This is on import declaration*/
-import extMod = require("commentsExternalModules2_0"); // trailing comment 1
+import extMod = require("./commentsExternalModules2_0"); // trailing comment 1
extMod.m1.fooExport();
export var newVar = new extMod.m1.m2.c();
extMod.m4.fooExport();
diff --git a/tests/cases/compiler/commentsFormatting.ts b/tests/cases/compiler/commentsFormatting.ts
index b413f0f92ea..c0f2d3093f9 100644
--- a/tests/cases/compiler/commentsFormatting.ts
+++ b/tests/cases/compiler/commentsFormatting.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
module m {
/** this is first line - aligned to class declaration
diff --git a/tests/cases/compiler/commentsFunction.ts b/tests/cases/compiler/commentsFunction.ts
index b71da4ae085..1b379fd15c6 100644
--- a/tests/cases/compiler/commentsFunction.ts
+++ b/tests/cases/compiler/commentsFunction.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** This comment should appear for foo*/
function foo() {
diff --git a/tests/cases/compiler/commentsInheritance.ts b/tests/cases/compiler/commentsInheritance.ts
index aa4c54ee128..40924851766 100644
--- a/tests/cases/compiler/commentsInheritance.ts
+++ b/tests/cases/compiler/commentsInheritance.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** i1 is interface with properties*/
interface i1 {
diff --git a/tests/cases/compiler/commentsInterface.ts b/tests/cases/compiler/commentsInterface.ts
index b6455e9235d..2e35a95f207 100644
--- a/tests/cases/compiler/commentsInterface.ts
+++ b/tests/cases/compiler/commentsInterface.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** this is interface 1*/
interface i1 {
}
diff --git a/tests/cases/compiler/commentsModules.ts b/tests/cases/compiler/commentsModules.ts
index 29ac0c22373..943ef640545 100644
--- a/tests/cases/compiler/commentsModules.ts
+++ b/tests/cases/compiler/commentsModules.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** Module comment*/
module m1 {
/** b's comment*/
diff --git a/tests/cases/compiler/commentsMultiModuleMultiFile.ts b/tests/cases/compiler/commentsMultiModuleMultiFile.ts
index 2d19f775bda..04066b975ab 100644
--- a/tests/cases/compiler/commentsMultiModuleMultiFile.ts
+++ b/tests/cases/compiler/commentsMultiModuleMultiFile.ts
@@ -1,7 +1,7 @@
-//@module: amd
+// @module: amd
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @Filename: commentsMultiModuleMultiFile_0.ts
/** this is multi declare module*/
diff --git a/tests/cases/compiler/commentsMultiModuleSingleFile.ts b/tests/cases/compiler/commentsMultiModuleSingleFile.ts
index a9871d31dbe..651a3cb07ba 100644
--- a/tests/cases/compiler/commentsMultiModuleSingleFile.ts
+++ b/tests/cases/compiler/commentsMultiModuleSingleFile.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** this is multi declare module*/
module multiM {
diff --git a/tests/cases/compiler/commentsOnObjectLiteral1.ts b/tests/cases/compiler/commentsOnObjectLiteral1.ts
index 7bc92e8664e..79e5aa81205 100644
--- a/tests/cases/compiler/commentsOnObjectLiteral1.ts
+++ b/tests/cases/compiler/commentsOnObjectLiteral1.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
var Person = makeClass(
/**
@scope Person
diff --git a/tests/cases/compiler/commentsOnObjectLiteral2.ts b/tests/cases/compiler/commentsOnObjectLiteral2.ts
index da2ee14b730..952df7ed969 100644
--- a/tests/cases/compiler/commentsOnObjectLiteral2.ts
+++ b/tests/cases/compiler/commentsOnObjectLiteral2.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
var Person = makeClass(
{
/**
diff --git a/tests/cases/compiler/commentsOnObjectLiteral3.ts b/tests/cases/compiler/commentsOnObjectLiteral3.ts
index 6650b21e167..b983364bf1f 100644
--- a/tests/cases/compiler/commentsOnObjectLiteral3.ts
+++ b/tests/cases/compiler/commentsOnObjectLiteral3.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
// @target: ES5
var v = {
diff --git a/tests/cases/compiler/commentsOnObjectLiteral4.ts b/tests/cases/compiler/commentsOnObjectLiteral4.ts
index e13668530c7..d685304f31e 100644
--- a/tests/cases/compiler/commentsOnObjectLiteral4.ts
+++ b/tests/cases/compiler/commentsOnObjectLiteral4.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
// @target: ES5
var v = {
diff --git a/tests/cases/compiler/commentsOnReturnStatement1.ts b/tests/cases/compiler/commentsOnReturnStatement1.ts
index 966d66511b3..0f689fb4681 100644
--- a/tests/cases/compiler/commentsOnReturnStatement1.ts
+++ b/tests/cases/compiler/commentsOnReturnStatement1.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
class DebugClass {
public static debugFunc() {
// Start Debugger Test Code
diff --git a/tests/cases/compiler/commentsOnStaticMembers.ts b/tests/cases/compiler/commentsOnStaticMembers.ts
index 7dc1a41c953..dd5169a972a 100644
--- a/tests/cases/compiler/commentsOnStaticMembers.ts
+++ b/tests/cases/compiler/commentsOnStaticMembers.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
class test {
/**
diff --git a/tests/cases/compiler/commentsOverloads.ts b/tests/cases/compiler/commentsOverloads.ts
index 85a1a9d8064..efb5d73df8f 100644
--- a/tests/cases/compiler/commentsOverloads.ts
+++ b/tests/cases/compiler/commentsOverloads.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** this is signature 1*/
function f1(/**param a*/a: number): number;
function f1(b: string): number;
diff --git a/tests/cases/compiler/commentsPropertySignature1.ts b/tests/cases/compiler/commentsPropertySignature1.ts
index b92b9c6ded7..48ba5c3fda1 100644
--- a/tests/cases/compiler/commentsPropertySignature1.ts
+++ b/tests/cases/compiler/commentsPropertySignature1.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
var a = {
/** own x*/
x: 0
diff --git a/tests/cases/compiler/commentsTypeParameters.ts b/tests/cases/compiler/commentsTypeParameters.ts
index 4fc3a30a192..c1e49280ed0 100644
--- a/tests/cases/compiler/commentsTypeParameters.ts
+++ b/tests/cases/compiler/commentsTypeParameters.ts
@@ -1,5 +1,5 @@
// @declaration: true
-// @comments: true
+// @removeComments: false
class C**docComment for type parameter*/ T> {
method**docComment of method type parameter */ U extends T>(a: U) {
}
diff --git a/tests/cases/compiler/commentsVarDecl.ts b/tests/cases/compiler/commentsVarDecl.ts
index 3b7d56e4078..cb244e94365 100644
--- a/tests/cases/compiler/commentsVarDecl.ts
+++ b/tests/cases/compiler/commentsVarDecl.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** Variable comments*/
var myVariable = 10; // This trailing Comment1
diff --git a/tests/cases/compiler/commentsVariableStatement1.ts b/tests/cases/compiler/commentsVariableStatement1.ts
index 368115af17c..e9c9ca28a08 100644
--- a/tests/cases/compiler/commentsVariableStatement1.ts
+++ b/tests/cases/compiler/commentsVariableStatement1.ts
@@ -1,5 +1,5 @@
// @declaration: true
-// @comments: true
+// @removeComments: false
/** Comment */
var v = 1;
\ No newline at end of file
diff --git a/tests/cases/compiler/commentsdoNotEmitComments.ts b/tests/cases/compiler/commentsdoNotEmitComments.ts
index 6895f67b6b0..e2aaa269e1f 100644
--- a/tests/cases/compiler/commentsdoNotEmitComments.ts
+++ b/tests/cases/compiler/commentsdoNotEmitComments.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: false
+// @removeComments: true
/** Variable comments*/
var myVariable = 10;
diff --git a/tests/cases/compiler/commentsemitComments.ts b/tests/cases/compiler/commentsemitComments.ts
index fdedb787739..b20fbb9641a 100644
--- a/tests/cases/compiler/commentsemitComments.ts
+++ b/tests/cases/compiler/commentsemitComments.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
/** Variable comments*/
var myVariable = 10;
diff --git a/tests/cases/compiler/constEnumToStringNoComments.ts b/tests/cases/compiler/constEnumToStringNoComments.ts
index 802ee9068bb..f98ae8d509e 100644
--- a/tests/cases/compiler/constEnumToStringNoComments.ts
+++ b/tests/cases/compiler/constEnumToStringNoComments.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
const enum Foo {
X = 100,
Y = 0.5,
diff --git a/tests/cases/compiler/constEnumToStringWithComments.ts b/tests/cases/compiler/constEnumToStringWithComments.ts
index e10c3591131..ce85d8b256f 100644
--- a/tests/cases/compiler/constEnumToStringWithComments.ts
+++ b/tests/cases/compiler/constEnumToStringWithComments.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
const enum Foo {
X = 100,
Y = 0.5,
diff --git a/tests/cases/compiler/declFileAccessors.ts b/tests/cases/compiler/declFileAccessors.ts
index ea9b05f2fef..bc41722f77d 100644
--- a/tests/cases/compiler/declFileAccessors.ts
+++ b/tests/cases/compiler/declFileAccessors.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileAccessors_0.ts
diff --git a/tests/cases/compiler/declFileAliasUseBeforeDeclaration.ts b/tests/cases/compiler/declFileAliasUseBeforeDeclaration.ts
index c803f65cf7c..63cd2761a9e 100644
--- a/tests/cases/compiler/declFileAliasUseBeforeDeclaration.ts
+++ b/tests/cases/compiler/declFileAliasUseBeforeDeclaration.ts
@@ -1,9 +1,9 @@
-//@module: commonjs
-//@declaration: true
+// @module: commonjs
+// @declaration: true
// @Filename: declFileAliasUseBeforeDeclaration_foo.ts
export class Foo { }
// @Filename: declFileAliasUseBeforeDeclaration_test.ts
export function bar(a: foo.Foo) { }
-import foo = require("declFileAliasUseBeforeDeclaration_foo");
\ No newline at end of file
+import foo = require("./declFileAliasUseBeforeDeclaration_foo");
\ No newline at end of file
diff --git a/tests/cases/compiler/declFileCallSignatures.ts b/tests/cases/compiler/declFileCallSignatures.ts
index 9ff74730fbf..4225c580755 100644
--- a/tests/cases/compiler/declFileCallSignatures.ts
+++ b/tests/cases/compiler/declFileCallSignatures.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileCallSignatures_0.ts
diff --git a/tests/cases/compiler/declFileConstructSignatures.ts b/tests/cases/compiler/declFileConstructSignatures.ts
index b81e4f831ea..717619e8b2f 100644
--- a/tests/cases/compiler/declFileConstructSignatures.ts
+++ b/tests/cases/compiler/declFileConstructSignatures.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileConstructSignatures_0.ts
diff --git a/tests/cases/compiler/declFileConstructors.ts b/tests/cases/compiler/declFileConstructors.ts
index c1f4862e44c..8a6a8a6c473 100644
--- a/tests/cases/compiler/declFileConstructors.ts
+++ b/tests/cases/compiler/declFileConstructors.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileConstructors_0.ts
diff --git a/tests/cases/compiler/declFileForExportedImport.ts b/tests/cases/compiler/declFileForExportedImport.ts
index ec286c2711e..8809d0baa37 100644
--- a/tests/cases/compiler/declFileForExportedImport.ts
+++ b/tests/cases/compiler/declFileForExportedImport.ts
@@ -5,7 +5,7 @@ export var x: number;
// @Filename: declFileForExportedImport_1.ts
///
-export import a = require('declFileForExportedImport_0');
+export import a = require('./declFileForExportedImport_0');
var y = a.x;
export import b = a;
diff --git a/tests/cases/compiler/declFileFunctions.ts b/tests/cases/compiler/declFileFunctions.ts
index 7b9c55e9214..4217fdf6e95 100644
--- a/tests/cases/compiler/declFileFunctions.ts
+++ b/tests/cases/compiler/declFileFunctions.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileFunctions_0.ts
diff --git a/tests/cases/compiler/declFileImportModuleWithExportAssignment.ts b/tests/cases/compiler/declFileImportModuleWithExportAssignment.ts
index 3e00557eec5..3a619905768 100644
--- a/tests/cases/compiler/declFileImportModuleWithExportAssignment.ts
+++ b/tests/cases/compiler/declFileImportModuleWithExportAssignment.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @declaration: true
// @Filename: declFileImportModuleWithExportAssignment_0.ts
@@ -21,6 +21,6 @@ export = m2;
// @Filename: declFileImportModuleWithExportAssignment_1.ts
/**This is on import declaration*/
-import a1 = require("declFileImportModuleWithExportAssignment_0");
+import a1 = require("./declFileImportModuleWithExportAssignment_0");
export var a = a1;
a.test1(null, null, null);
diff --git a/tests/cases/compiler/declFileIndexSignatures.ts b/tests/cases/compiler/declFileIndexSignatures.ts
index 3c9aaf34bfc..efc43f80e1f 100644
--- a/tests/cases/compiler/declFileIndexSignatures.ts
+++ b/tests/cases/compiler/declFileIndexSignatures.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileIndexSignatures_0.ts
diff --git a/tests/cases/compiler/declFileMethods.ts b/tests/cases/compiler/declFileMethods.ts
index a5c31728ccd..50add66d97c 100644
--- a/tests/cases/compiler/declFileMethods.ts
+++ b/tests/cases/compiler/declFileMethods.ts
@@ -1,6 +1,6 @@
// @target: ES5
// @declaration: true
-// @comments: true
+// @removeComments: false
// @module: commonjs
// @Filename: declFileMethods_0.ts
diff --git a/tests/cases/compiler/declarationEmit_exportAssignment.ts b/tests/cases/compiler/declarationEmit_exportAssignment.ts
index 166f4abe8e7..bf9e443c85a 100644
--- a/tests/cases/compiler/declarationEmit_exportAssignment.ts
+++ b/tests/cases/compiler/declarationEmit_exportAssignment.ts
@@ -8,5 +8,5 @@ export function bar() { }
export interface Buzz { }
// @filename: index.ts
-import {foo} from "utils";
+import {foo} from "./utils";
export = foo;
\ No newline at end of file
diff --git a/tests/cases/compiler/declarationEmit_exportDeclaration.ts b/tests/cases/compiler/declarationEmit_exportDeclaration.ts
index a9e0bda761f..c7cff923b08 100644
--- a/tests/cases/compiler/declarationEmit_exportDeclaration.ts
+++ b/tests/cases/compiler/declarationEmit_exportDeclaration.ts
@@ -8,7 +8,7 @@ export function bar() { }
export interface Buzz { }
// @filename: index.ts
-import {foo, bar, Buzz} from "utils";
+import {foo, bar, Buzz} from "./utils";
foo();
let obj: Buzz;
diff --git a/tests/cases/compiler/declarationEmit_nameConflicts.ts b/tests/cases/compiler/declarationEmit_nameConflicts.ts
index 66eb732ddae..a30f4b2ff1b 100644
--- a/tests/cases/compiler/declarationEmit_nameConflicts.ts
+++ b/tests/cases/compiler/declarationEmit_nameConflicts.ts
@@ -5,7 +5,7 @@ module f { export class c { } }
export = f;
// @Filename: declarationEmit_nameConflicts_0.ts
-import im = require('declarationEmit_nameConflicts_1');
+import im = require('./declarationEmit_nameConflicts_1');
export module M {
export function f() { }
export class C { }
diff --git a/tests/cases/compiler/doNotEmitDetachedComments.ts b/tests/cases/compiler/doNotEmitDetachedComments.ts
index 412dbeac19b..13facb6625e 100644
--- a/tests/cases/compiler/doNotEmitDetachedComments.ts
+++ b/tests/cases/compiler/doNotEmitDetachedComments.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
/*
multi line
diff --git a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfConstructor.ts b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfConstructor.ts
index 1ea96993a5e..094d624df40 100644
--- a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfConstructor.ts
+++ b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfConstructor.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
class A {
constructor() {
// Single Line Comment
diff --git a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfFunctionBody.ts b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfFunctionBody.ts
index 31adbc18de8..83dd8716df2 100644
--- a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfFunctionBody.ts
+++ b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfFunctionBody.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
function foo1() {
// Single line comment
diff --git a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfLambdaFunction.ts b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfLambdaFunction.ts
index c6a9cfc9e25..be6cd7b37ce 100644
--- a/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfLambdaFunction.ts
+++ b/tests/cases/compiler/doNotEmitDetachedCommentsAtStartOfLambdaFunction.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
() => {
// Single line comment
diff --git a/tests/cases/compiler/doNotEmitPinnedCommentNotOnTopOfFile.ts b/tests/cases/compiler/doNotEmitPinnedCommentNotOnTopOfFile.ts
index 0fbb1fddd81..bae1654af87 100644
--- a/tests/cases/compiler/doNotEmitPinnedCommentNotOnTopOfFile.ts
+++ b/tests/cases/compiler/doNotEmitPinnedCommentNotOnTopOfFile.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
var x = 10;
/*!
diff --git a/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNode.ts b/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNode.ts
index 48e02a372f7..23a1000fa11 100644
--- a/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNode.ts
+++ b/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNode.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
class C {
/*! remove pinned comment anywhere else */
diff --git a/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNodets.ts b/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNodets.ts
index a59e13df55c..27c5c5f6b7b 100644
--- a/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNodets.ts
+++ b/tests/cases/compiler/doNotEmitPinnedCommentOnNotEmittedNodets.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
class C {
/*! remove pinned comment anywhere else */
diff --git a/tests/cases/compiler/doNotEmitPinnedDetachedComments.ts b/tests/cases/compiler/doNotEmitPinnedDetachedComments.ts
index 534963cf4b7..f30dc9299ee 100644
--- a/tests/cases/compiler/doNotEmitPinnedDetachedComments.ts
+++ b/tests/cases/compiler/doNotEmitPinnedDetachedComments.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
var x = 10;
/*! Single Line comment */
diff --git a/tests/cases/compiler/doNotEmitTripleSlashCommentsInEmptyFile.ts b/tests/cases/compiler/doNotEmitTripleSlashCommentsInEmptyFile.ts
index 047510e2ec9..357ce67dbed 100644
--- a/tests/cases/compiler/doNotEmitTripleSlashCommentsInEmptyFile.ts
+++ b/tests/cases/compiler/doNotEmitTripleSlashCommentsInEmptyFile.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
// @Filename: file0.ts
diff --git a/tests/cases/compiler/doNotEmitTripleSlashCommentsOnNotEmittedNode.ts b/tests/cases/compiler/doNotEmitTripleSlashCommentsOnNotEmittedNode.ts
index 91941a6cf81..bfa5c5ffc67 100644
--- a/tests/cases/compiler/doNotEmitTripleSlashCommentsOnNotEmittedNode.ts
+++ b/tests/cases/compiler/doNotEmitTripleSlashCommentsOnNotEmittedNode.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
// @Filename: file0.ts
///
diff --git a/tests/cases/compiler/doNotemitTripleSlashComments.ts b/tests/cases/compiler/doNotemitTripleSlashComments.ts
index f3b90662159..14fdfda2d72 100644
--- a/tests/cases/compiler/doNotemitTripleSlashComments.ts
+++ b/tests/cases/compiler/doNotemitTripleSlashComments.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
// @Filename: file0.ts
///
diff --git a/tests/cases/compiler/elidingImportNames.ts b/tests/cases/compiler/elidingImportNames.ts
index b5893461664..f9cbf457d53 100644
--- a/tests/cases/compiler/elidingImportNames.ts
+++ b/tests/cases/compiler/elidingImportNames.ts
@@ -1,10 +1,10 @@
// @module: commonjs
// @Filename: elidingImportNames_test.ts
-import a = require('elidingImportNames_main'); // alias used in typeof
+import a = require('./elidingImportNames_main'); // alias used in typeof
var b = a;
var x: typeof a;
-import a2 = require('elidingImportNames_main1'); // alias not used in typeof
+import a2 = require('./elidingImportNames_main1'); // alias not used in typeof
var b2 = a2;
diff --git a/tests/cases/compiler/emitCommentsOnlyFile.ts b/tests/cases/compiler/emitCommentsOnlyFile.ts
index 9ded82be8e9..bcdf34c57b8 100644
--- a/tests/cases/compiler/emitCommentsOnlyFile.ts
+++ b/tests/cases/compiler/emitCommentsOnlyFile.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
/**
* @name Foo
diff --git a/tests/cases/compiler/emitPinnedCommentsOnTopOfFile.ts b/tests/cases/compiler/emitPinnedCommentsOnTopOfFile.ts
index bbe6c400601..985a5f638b8 100644
--- a/tests/cases/compiler/emitPinnedCommentsOnTopOfFile.ts
+++ b/tests/cases/compiler/emitPinnedCommentsOnTopOfFile.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
/*!
multi line
diff --git a/tests/cases/compiler/emitPostComments.ts b/tests/cases/compiler/emitPostComments.ts
index b76f8dcb2bb..767bf033295 100644
--- a/tests/cases/compiler/emitPostComments.ts
+++ b/tests/cases/compiler/emitPostComments.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
var y = 10;
/**
diff --git a/tests/cases/compiler/emitPreComments.ts b/tests/cases/compiler/emitPreComments.ts
index e43c4baaa3b..2d98231e000 100644
--- a/tests/cases/compiler/emitPreComments.ts
+++ b/tests/cases/compiler/emitPreComments.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
// This is pre comment
var y = 10;
diff --git a/tests/cases/compiler/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.ts b/tests/cases/compiler/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.ts
index 20c04702544..56f7814104d 100644
--- a/tests/cases/compiler/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.ts
+++ b/tests/cases/compiler/emitTopOfFileTripleSlashCommentOnNotEmittedNodeIfRemoveCommentsIsFalse.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
// @Filename: file0.ts
var x = 10
diff --git a/tests/cases/compiler/emptyModuleName.ts b/tests/cases/compiler/emptyModuleName.ts
new file mode 100644
index 00000000000..d82ff2ba608
--- /dev/null
+++ b/tests/cases/compiler/emptyModuleName.ts
@@ -0,0 +1,4 @@
+// @module: commonjs
+import * as A from "";
+class B extends A {
+}
\ No newline at end of file
diff --git a/tests/cases/compiler/enumFromExternalModule.ts b/tests/cases/compiler/enumFromExternalModule.ts
index 3047dd52db3..2e943caf413 100644
--- a/tests/cases/compiler/enumFromExternalModule.ts
+++ b/tests/cases/compiler/enumFromExternalModule.ts
@@ -1,9 +1,9 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: enumFromExternalModule_0.ts
export enum Mode { Open }
// @Filename: enumFromExternalModule_1.ts
///
-import f = require('enumFromExternalModule_0');
+import f = require('./enumFromExternalModule_0');
var x = f.Mode.Open;
diff --git a/tests/cases/compiler/errorWithTruncatedType.ts b/tests/cases/compiler/errorWithTruncatedType.ts
index 307ff642ed9..c615ff928e4 100644
--- a/tests/cases/compiler/errorWithTruncatedType.ts
+++ b/tests/cases/compiler/errorWithTruncatedType.ts
@@ -1,4 +1,4 @@
-// @errortruncation: true
+// @noErrorTruncation: false
var x: {
propertyWithAnExceedinglyLongName1: string;
diff --git a/tests/cases/compiler/errorsOnImportedSymbol.ts b/tests/cases/compiler/errorsOnImportedSymbol.ts
index 17f3e5fb92c..b3da9da162e 100644
--- a/tests/cases/compiler/errorsOnImportedSymbol.ts
+++ b/tests/cases/compiler/errorsOnImportedSymbol.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @target: ES5
// @Filename: errorsOnImportedSymbol_0.ts
@@ -9,7 +9,7 @@ interface Sammy {
export = Sammy;
// @Filename: errorsOnImportedSymbol_1.ts
-import Sammy = require("errorsOnImportedSymbol_0");
+import Sammy = require("./errorsOnImportedSymbol_0");
var x = new Sammy.Sammy();
var y = Sammy.Sammy();
-
+
diff --git a/tests/cases/compiler/es6ExportAllInEs5.ts b/tests/cases/compiler/es6ExportAllInEs5.ts
index ed754e5cacb..3ee95e1a217 100644
--- a/tests/cases/compiler/es6ExportAllInEs5.ts
+++ b/tests/cases/compiler/es6ExportAllInEs5.ts
@@ -15,4 +15,4 @@ export module uninstantiated {
}
// @filename: client.ts
-export * from "server";
\ No newline at end of file
+export * from "./server";
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ExportClauseWithoutModuleSpecifierInEs5.ts b/tests/cases/compiler/es6ExportClauseWithoutModuleSpecifierInEs5.ts
index 6361c013367..24dbc77e98f 100644
--- a/tests/cases/compiler/es6ExportClauseWithoutModuleSpecifierInEs5.ts
+++ b/tests/cases/compiler/es6ExportClauseWithoutModuleSpecifierInEs5.ts
@@ -15,8 +15,8 @@ export module uninstantiated {
}
// @filename: client.ts
-export { c } from "server";
-export { c as c2 } from "server";
-export { i, m as instantiatedModule } from "server";
-export { uninstantiated } from "server";
-export { x } from "server";
\ No newline at end of file
+export { c } from "./server";
+export { c as c2 } from "./server";
+export { i, m as instantiatedModule } from "./server";
+export { uninstantiated } from "./server";
+export { x } from "./server";
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingDts.ts b/tests/cases/compiler/es6ImportDefaultBindingDts.ts
index 8b8a9787fdd..b4b82768691 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingDts.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingDts.ts
@@ -7,6 +7,6 @@ class c { }
export default c;
// @filename: client.ts
-import defaultBinding from "server";
+import defaultBinding from "./server";
export var x = new defaultBinding();
-import defaultBinding2 from "server"; // elide this import since defaultBinding2 is not used
+import defaultBinding2 from "./server"; // elide this import since defaultBinding2 is not used
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport.ts
index 9a6e1a8ebf5..cb84036af5e 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport.ts
@@ -9,15 +9,15 @@ export var m = a;
export default {};
// @filename: es6ImportDefaultBindingFollowedWithNamedImport_1.ts
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = a;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = b;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = x;
var x1: number = y;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = z;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport_0";
var x1: number = m;
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.ts
index d5c9a6a395d..fc13b26e737 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1InEs5.ts
@@ -7,15 +7,15 @@ var a = 10;
export default a;
// @filename: es6ImportDefaultBindingFollowedWithNamedImport1InEs5_1.ts
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding1;
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding2;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding3;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding4;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding5;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImport1InEs5_0";
var x: number = defaultBinding6;
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.ts
index 23ec8767d94..ca2b0561433 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImport1WithExport.ts
@@ -7,15 +7,15 @@ var a = 10;
export default a;
// @filename: client.ts
-export import defaultBinding1, { } from "server";
+export import defaultBinding1, { } from "./server";
export var x1: number = defaultBinding1;
-export import defaultBinding2, { a } from "server";
+export import defaultBinding2, { a } from "./server";
export var x1: number = defaultBinding2;
-export import defaultBinding3, { a as b } from "server";
+export import defaultBinding3, { a as b } from "./server";
export var x1: number = defaultBinding3;
-export import defaultBinding4, { x, a as y } from "server";
+export import defaultBinding4, { x, a as y } from "./server";
export var x1: number = defaultBinding4;
-export import defaultBinding5, { x as z, } from "server";
+export import defaultBinding5, { x as z, } from "./server";
export var x1: number = defaultBinding5;
-export import defaultBinding6, { m, } from "server";
+export import defaultBinding6, { m, } from "./server";
export var x1: number = defaultBinding6;
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts
index a84dab94033..87782d66aff 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts.ts
@@ -10,15 +10,15 @@ export class a12 { }
export class x11 { }
// @filename: client.ts
-import defaultBinding1, { } from "server";
-import defaultBinding2, { a } from "server";
+import defaultBinding1, { } from "./server";
+import defaultBinding2, { a } from "./server";
export var x1 = new a();
-import defaultBinding3, { a11 as b } from "server";
+import defaultBinding3, { a11 as b } from "./server";
export var x2 = new b();
-import defaultBinding4, { x, a12 as y } from "server";
+import defaultBinding4, { x, a12 as y } from "./server";
export var x4 = new x();
export var x5 = new y();
-import defaultBinding5, { x11 as z, } from "server";
+import defaultBinding5, { x11 as z, } from "./server";
export var x3 = new z();
-import defaultBinding6, { m, } from "server";
+import defaultBinding6, { m, } from "./server";
export var x6 = new m();
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts1.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts1.ts
index 7940f211ec7..64e771bebd1 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts1.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportDts1.ts
@@ -7,15 +7,15 @@ class a { }
export default a;
// @filename: client.ts
-import defaultBinding1, { } from "server";
+import defaultBinding1, { } from "./server";
export var x1 = new defaultBinding1();
-import defaultBinding2, { a } from "server";
+import defaultBinding2, { a } from "./server";
export var x2 = new defaultBinding2();
-import defaultBinding3, { a as b } from "server";
+import defaultBinding3, { a as b } from "./server";
export var x3 = new defaultBinding3();
-import defaultBinding4, { x, a as y } from "server";
+import defaultBinding4, { x, a as y } from "./server";
export var x4 = new defaultBinding4();
-import defaultBinding5, { x as z, } from "server";
+import defaultBinding5, { x as z, } from "./server";
export var x5 = new defaultBinding5();
-import defaultBinding6, { m, } from "server";
+import defaultBinding6, { m, } from "./server";
export var x6 = new defaultBinding6();
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5.ts
index 6e42898d1bc..9a7902d66a0 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamedImportInEs5.ts
@@ -8,15 +8,15 @@ export var x = a;
export var m = a;
// @filename: es6ImportDefaultBindingFollowedWithNamedImportInEs5_1.ts
-import defaultBinding1, { } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
-import defaultBinding2, { a } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding1, { } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding2, { a } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = a;
-import defaultBinding3, { a as b } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding3, { a as b } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = b;
-import defaultBinding4, { x, a as y } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding4, { x, a as y } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = x;
var x1: number = y;
-import defaultBinding5, { x as z, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding5, { x as z, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = z;
-import defaultBinding6, { m, } from "es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
+import defaultBinding6, { m, } from "./es6ImportDefaultBindingFollowedWithNamedImportInEs5_0";
var x1: number = m;
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.ts
index 6195b279f72..133abf147cb 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBinding1InEs5.ts
@@ -7,5 +7,5 @@ var a = 10;
export default a;
// @filename: es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
var x: number = defaultBinding;
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.ts
index 732f7ef7ba0..c9bb1a6dd10 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingDts.ts
@@ -5,5 +5,5 @@
export class a { }
// @filename: client.ts
-import defaultBinding, * as nameSpaceBinding from "server";
+import defaultBinding, * as nameSpaceBinding from "./server";
export var x = new nameSpaceBinding.a();
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.ts
index c58ba286e0a..cdc1590ec8f 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5.ts
@@ -6,5 +6,5 @@
export var a = 10;
// @filename: es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_1.ts
-import defaultBinding, * as nameSpaceBinding from "es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
+import defaultBinding, * as nameSpaceBinding from "./es6ImportDefaultBindingFollowedWithNamespaceBindingInEs5_0";
var x: number = nameSpaceBinding.a;
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.ts b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.ts
index cafcace08a0..768386f67f6 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.ts
@@ -5,5 +5,5 @@
export var a = 10;
// @filename: client.ts
-export import defaultBinding, * as nameSpaceBinding from "server";
+export import defaultBinding, * as nameSpaceBinding from "./server";
export var x: number = nameSpaceBinding.a;
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingInEs5.ts b/tests/cases/compiler/es6ImportDefaultBindingInEs5.ts
index e0877bd74c1..261c1b6079c 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingInEs5.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingInEs5.ts
@@ -7,4 +7,4 @@ var a = 10;
export = a;
// @filename: es6ImportDefaultBindingInEs5_1.ts
-import defaultBinding from "es6ImportDefaultBindingInEs5_0";
\ No newline at end of file
+import defaultBinding from "./es6ImportDefaultBindingInEs5_0";
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportDefaultBindingMergeErrors.ts b/tests/cases/compiler/es6ImportDefaultBindingMergeErrors.ts
index 1d87fde5784..3d637abd798 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingMergeErrors.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingMergeErrors.ts
@@ -6,11 +6,11 @@ var a = 10;
export default a;
// @filename: es6ImportDefaultBindingMergeErrors_1.ts
-import defaultBinding from "es6ImportDefaultBindingMergeErrors_0";
+import defaultBinding from "./es6ImportDefaultBindingMergeErrors_0";
interface defaultBinding { // This is ok
}
var x = defaultBinding;
-import defaultBinding2 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
+import defaultBinding2 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
var defaultBinding2 = "hello world";
-import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // Should be error
-import defaultBinding3 from "es6ImportDefaultBindingMergeErrors_0"; // SHould be error
+import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // Should be error
+import defaultBinding3 from "./es6ImportDefaultBindingMergeErrors_0"; // SHould be error
diff --git a/tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty.ts b/tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty.ts
index 5ab1c743721..74b2abfa83c 100644
--- a/tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty.ts
+++ b/tests/cases/compiler/es6ImportDefaultBindingNoDefaultProperty.ts
@@ -4,4 +4,4 @@
export var a = 10;
// @filename: es6ImportDefaultBindingNoDefaultProperty_1.ts
-import defaultBinding from "es6ImportDefaultBindingNoDefaultProperty_0";
+import defaultBinding from "./es6ImportDefaultBindingNoDefaultProperty_0";
diff --git a/tests/cases/compiler/es6ImportNameSpaceImport.ts b/tests/cases/compiler/es6ImportNameSpaceImport.ts
index 0c831d323d1..87fc59fdbaa 100644
--- a/tests/cases/compiler/es6ImportNameSpaceImport.ts
+++ b/tests/cases/compiler/es6ImportNameSpaceImport.ts
@@ -6,6 +6,6 @@
export var a = 10;
// @filename: es6ImportNameSpaceImport_1.ts
-import * as nameSpaceBinding from "es6ImportNameSpaceImport_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImport_0";
var x = nameSpaceBinding.a;
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImport_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImport_0"; // elide this
diff --git a/tests/cases/compiler/es6ImportNameSpaceImportDts.ts b/tests/cases/compiler/es6ImportNameSpaceImportDts.ts
index 95b85e53edc..77e65123e78 100644
--- a/tests/cases/compiler/es6ImportNameSpaceImportDts.ts
+++ b/tests/cases/compiler/es6ImportNameSpaceImportDts.ts
@@ -5,6 +5,6 @@
export class c { };
// @filename: client.ts
-import * as nameSpaceBinding from "server";
+import * as nameSpaceBinding from "./server";
export var x = new nameSpaceBinding.c();
-import * as nameSpaceBinding2 from "server"; // unreferenced
\ No newline at end of file
+import * as nameSpaceBinding2 from "./server"; // unreferenced
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNameSpaceImportInEs5.ts b/tests/cases/compiler/es6ImportNameSpaceImportInEs5.ts
index 8104fe8b3c0..7900e5b5a2b 100644
--- a/tests/cases/compiler/es6ImportNameSpaceImportInEs5.ts
+++ b/tests/cases/compiler/es6ImportNameSpaceImportInEs5.ts
@@ -6,6 +6,6 @@
export var a = 10;
// @filename: es6ImportNameSpaceImportInEs5_1.ts
-import * as nameSpaceBinding from "es6ImportNameSpaceImportInEs5_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportInEs5_0";
var x = nameSpaceBinding.a;
-import * as nameSpaceBinding2 from "es6ImportNameSpaceImportInEs5_0"; // elide this
+import * as nameSpaceBinding2 from "./es6ImportNameSpaceImportInEs5_0"; // elide this
diff --git a/tests/cases/compiler/es6ImportNameSpaceImportMergeErrors.ts b/tests/cases/compiler/es6ImportNameSpaceImportMergeErrors.ts
index d4b69e8bcf4..cdedbe3fe9b 100644
--- a/tests/cases/compiler/es6ImportNameSpaceImportMergeErrors.ts
+++ b/tests/cases/compiler/es6ImportNameSpaceImportMergeErrors.ts
@@ -5,11 +5,11 @@
export var a = 10;
// @filename: es6ImportNameSpaceImportMergeErrors_1.ts
-import * as nameSpaceBinding from "es6ImportNameSpaceImportMergeErrors_0";
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportMergeErrors_0";
interface nameSpaceBinding { } // this should be ok
-import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
-import * as nameSpaceBinding1 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding1 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
-import * as nameSpaceBinding3 from "es6ImportNameSpaceImportMergeErrors_0"; // should be error
+import * as nameSpaceBinding3 from "./es6ImportNameSpaceImportMergeErrors_0"; // should be error
var nameSpaceBinding3 = 10;
diff --git a/tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports.ts b/tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports.ts
index 7d3bdcec94c..fe471dbc6c7 100644
--- a/tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports.ts
+++ b/tests/cases/compiler/es6ImportNameSpaceImportNoNamedExports.ts
@@ -6,4 +6,4 @@ var a = 10;
export = a;
// @filename: es6ImportNameSpaceImportNoNamedExports_1.ts
-import * as nameSpaceBinding from "es6ImportNameSpaceImportNoNamedExports_0"; // error
\ No newline at end of file
+import * as nameSpaceBinding from "./es6ImportNameSpaceImportNoNamedExports_0"; // error
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNamedImport.ts b/tests/cases/compiler/es6ImportNamedImport.ts
index 0a12e10169b..d71b27eeede 100644
--- a/tests/cases/compiler/es6ImportNamedImport.ts
+++ b/tests/cases/compiler/es6ImportNamedImport.ts
@@ -13,30 +13,30 @@ export var z2 = 10;
export var aaaa = 10;
// @filename: es6ImportNamedImport_1.ts
-import { } from "es6ImportNamedImport_0";
-import { a } from "es6ImportNamedImport_0";
+import { } from "./es6ImportNamedImport_0";
+import { a } from "./es6ImportNamedImport_0";
var xxxx = a;
-import { a as b } from "es6ImportNamedImport_0";
+import { a as b } from "./es6ImportNamedImport_0";
var xxxx = b;
-import { x, a as y } from "es6ImportNamedImport_0";
+import { x, a as y } from "./es6ImportNamedImport_0";
var xxxx = x;
var xxxx = y;
-import { x as z, } from "es6ImportNamedImport_0";
+import { x as z, } from "./es6ImportNamedImport_0";
var xxxx = z;
-import { m, } from "es6ImportNamedImport_0";
+import { m, } from "./es6ImportNamedImport_0";
var xxxx = m;
-import { a1, x1 } from "es6ImportNamedImport_0";
+import { a1, x1 } from "./es6ImportNamedImport_0";
var xxxx = a1;
var xxxx = x1;
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImport_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImport_0";
var xxxx = a11;
var xxxx = x11;
-import { z1 } from "es6ImportNamedImport_0";
+import { z1 } from "./es6ImportNamedImport_0";
var z111 = z1;
-import { z2 as z3 } from "es6ImportNamedImport_0";
+import { z2 as z3 } from "./es6ImportNamedImport_0";
var z2 = z3; // z2 shouldn't give redeclare error
// These are elided
-import { aaaa } from "es6ImportNamedImport_0";
+import { aaaa } from "./es6ImportNamedImport_0";
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImport_0";
+import { aaaa as bbbb } from "./es6ImportNamedImport_0";
diff --git a/tests/cases/compiler/es6ImportNamedImportDts.ts b/tests/cases/compiler/es6ImportNamedImportDts.ts
index d83672f3754..b98a20ecfa1 100644
--- a/tests/cases/compiler/es6ImportNamedImportDts.ts
+++ b/tests/cases/compiler/es6ImportNamedImportDts.ts
@@ -18,29 +18,29 @@ export class aaaa { }
export class aaaa1 { }
// @filename: client.ts
-import { } from "server";
-import { a } from "server";
+import { } from "./server";
+import { a } from "./server";
export var xxxx = new a();
-import { a11 as b } from "server";
+import { a11 as b } from "./server";
export var xxxx1 = new b();
-import { x, a12 as y } from "server";
+import { x, a12 as y } from "./server";
export var xxxx2 = new x();
export var xxxx3 = new y();
-import { x11 as z, } from "server";
+import { x11 as z, } from "./server";
export var xxxx4 = new z();
-import { m, } from "server";
+import { m, } from "./server";
export var xxxx5 = new m();
-import { a1, x1 } from "server";
+import { a1, x1 } from "./server";
export var xxxx6 = new a1();
export var xxxx7 = new x1();
-import { a111 as a11, x111 as x11 } from "server";
+import { a111 as a11, x111 as x11 } from "./server";
export var xxxx8 = new a11();
export var xxxx9 = new x11();
-import { z1 } from "server";
+import { z1 } from "./server";
export var z111 = new z1();
-import { z2 as z3 } from "server";
+import { z2 as z3 } from "./server";
export var z2 = new z3(); // z2 shouldn't give redeclare error
// not referenced
-import { aaaa } from "server";
-import { aaaa1 as bbbb } from "server";
+import { aaaa } from "./server";
+import { aaaa1 as bbbb } from "./server";
diff --git a/tests/cases/compiler/es6ImportNamedImportInEs5.ts b/tests/cases/compiler/es6ImportNamedImportInEs5.ts
index e12a8d032d3..428ad235329 100644
--- a/tests/cases/compiler/es6ImportNamedImportInEs5.ts
+++ b/tests/cases/compiler/es6ImportNamedImportInEs5.ts
@@ -13,30 +13,30 @@ export var z2 = 10;
export var aaaa = 10;
// @filename: es6ImportNamedImportInEs5_1.ts
-import { } from "es6ImportNamedImportInEs5_0";
-import { a } from "es6ImportNamedImportInEs5_0";
+import { } from "./es6ImportNamedImportInEs5_0";
+import { a } from "./es6ImportNamedImportInEs5_0";
var xxxx = a;
-import { a as b } from "es6ImportNamedImportInEs5_0";
+import { a as b } from "./es6ImportNamedImportInEs5_0";
var xxxx = b;
-import { x, a as y } from "es6ImportNamedImportInEs5_0";
+import { x, a as y } from "./es6ImportNamedImportInEs5_0";
var xxxx = x;
var xxxx = y;
-import { x as z, } from "es6ImportNamedImportInEs5_0";
+import { x as z, } from "./es6ImportNamedImportInEs5_0";
var xxxx = z;
-import { m, } from "es6ImportNamedImportInEs5_0";
+import { m, } from "./es6ImportNamedImportInEs5_0";
var xxxx = m;
-import { a1, x1 } from "es6ImportNamedImportInEs5_0";
+import { a1, x1 } from "./es6ImportNamedImportInEs5_0";
var xxxx = a1;
var xxxx = x1;
-import { a1 as a11, x1 as x11 } from "es6ImportNamedImportInEs5_0";
+import { a1 as a11, x1 as x11 } from "./es6ImportNamedImportInEs5_0";
var xxxx = a11;
var xxxx = x11;
-import { z1 } from "es6ImportNamedImportInEs5_0";
+import { z1 } from "./es6ImportNamedImportInEs5_0";
var z111 = z1;
-import { z2 as z3 } from "es6ImportNamedImportInEs5_0";
+import { z2 as z3 } from "./es6ImportNamedImportInEs5_0";
var z2 = z3; // z2 shouldn't give redeclare error
// These are elided
-import { aaaa } from "es6ImportNamedImportInEs5_0";
+import { aaaa } from "./es6ImportNamedImportInEs5_0";
// These are elided
-import { aaaa as bbbb } from "es6ImportNamedImportInEs5_0";
+import { aaaa as bbbb } from "./es6ImportNamedImportInEs5_0";
diff --git a/tests/cases/compiler/es6ImportNamedImportInExportAssignment.ts b/tests/cases/compiler/es6ImportNamedImportInExportAssignment.ts
index 7a4519c68bb..e3f64e1e747 100644
--- a/tests/cases/compiler/es6ImportNamedImportInExportAssignment.ts
+++ b/tests/cases/compiler/es6ImportNamedImportInExportAssignment.ts
@@ -6,5 +6,5 @@
export var a = 10;
// @filename: es6ImportNamedImportInExportAssignment_1.ts
-import { a } from "es6ImportNamedImportInExportAssignment_0";
+import { a } from "./es6ImportNamedImportInExportAssignment_0";
export = a;
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment.ts b/tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment.ts
index 16d11d4e19f..381a21f58ea 100644
--- a/tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment.ts
+++ b/tests/cases/compiler/es6ImportNamedImportInIndirectExportAssignment.ts
@@ -8,6 +8,6 @@ export module a {
}
// @filename: es6ImportNamedImportInIndirectExportAssignment_1.ts
-import { a } from "es6ImportNamedImportInIndirectExportAssignment_0";
+import { a } from "./es6ImportNamedImportInIndirectExportAssignment_0";
import x = a;
export = x;
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNamedImportMergeErrors.ts b/tests/cases/compiler/es6ImportNamedImportMergeErrors.ts
index 54e30be1e23..60f13d51355 100644
--- a/tests/cases/compiler/es6ImportNamedImportMergeErrors.ts
+++ b/tests/cases/compiler/es6ImportNamedImportMergeErrors.ts
@@ -7,13 +7,13 @@ export var z = a;
export var z1 = a;
// @filename: es6ImportNamedImportMergeErrors_1.ts
-import { a } from "es6ImportNamedImportMergeErrors_0";
+import { a } from "./es6ImportNamedImportMergeErrors_0";
interface a { } // shouldnt be error
-import { x as x1 } from "es6ImportNamedImportMergeErrors_0";
+import { x as x1 } from "./es6ImportNamedImportMergeErrors_0";
interface x1 { } // shouldnt be error
-import { x } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { x } from "./es6ImportNamedImportMergeErrors_0"; // should be error
var x = 10;
-import { x as x44 } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { x as x44 } from "./es6ImportNamedImportMergeErrors_0"; // should be error
var x44 = 10;
-import { z } from "es6ImportNamedImportMergeErrors_0"; // should be error
-import { z1 as z } from "es6ImportNamedImportMergeErrors_0"; // should be error
+import { z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
+import { z1 as z } from "./es6ImportNamedImportMergeErrors_0"; // should be error
diff --git a/tests/cases/compiler/es6ImportNamedImportNoExportMember.ts b/tests/cases/compiler/es6ImportNamedImportNoExportMember.ts
index bd507308d8d..48f8036a753 100644
--- a/tests/cases/compiler/es6ImportNamedImportNoExportMember.ts
+++ b/tests/cases/compiler/es6ImportNamedImportNoExportMember.ts
@@ -5,5 +5,5 @@ export var a = 10;
export var x = a;
// @filename: es6ImportNamedImport_1.ts
-import { a1 } from "es6ImportNamedImportNoExportMember_0";
-import { x1 as x } from "es6ImportNamedImportNoExportMember_0";
\ No newline at end of file
+import { a1 } from "./es6ImportNamedImportNoExportMember_0";
+import { x1 as x } from "./es6ImportNamedImportNoExportMember_0";
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNamedImportNoNamedExports.ts b/tests/cases/compiler/es6ImportNamedImportNoNamedExports.ts
index 9dd243ff36d..9e46253cc9c 100644
--- a/tests/cases/compiler/es6ImportNamedImportNoNamedExports.ts
+++ b/tests/cases/compiler/es6ImportNamedImportNoNamedExports.ts
@@ -6,5 +6,5 @@ var a = 10;
export = a;
// @filename: es6ImportNamedImportNoNamedExports_1.ts
-import { a } from "es6ImportNamedImportNoNamedExports_0";
-import { a as x } from "es6ImportNamedImportNoNamedExports_0";
\ No newline at end of file
+import { a } from "./es6ImportNamedImportNoNamedExports_0";
+import { a as x } from "./es6ImportNamedImportNoNamedExports_0";
\ No newline at end of file
diff --git a/tests/cases/compiler/es6ImportNamedImportWithExport.ts b/tests/cases/compiler/es6ImportNamedImportWithExport.ts
index f25a3779b99..9643a82b9b9 100644
--- a/tests/cases/compiler/es6ImportNamedImportWithExport.ts
+++ b/tests/cases/compiler/es6ImportNamedImportWithExport.ts
@@ -12,29 +12,29 @@ export var z2 = 10;
export var aaaa = 10;
// @filename: client.ts
-export import { } from "server";
-export import { a } from "server";
+export import { } from "./server";
+export import { a } from "./server";
export var xxxx = a;
-export import { a as b } from "server";
+export import { a as b } from "./server";
export var xxxx = b;
-export import { x, a as y } from "server";
+export import { x, a as y } from "./server";
export var xxxx = x;
export var xxxx = y;
-export import { x as z, } from "server";
+export import { x as z, } from "./server";
export var xxxx = z;
-export import { m, } from "server";
+export import { m, } from "./server";
export var xxxx = m;
-export import { a1, x1 } from "server";
+export import { a1, x1 } from "./server";
export var xxxx = a1;
export var xxxx = x1;
-export import { a1 as a11, x1 as x11 } from "server";
+export import { a1 as a11, x1 as x11 } from "./server";
export var xxxx = a11;
export var xxxx = x11;
-export import { z1 } from "server";
+export import { z1 } from "./server";
export var z111 = z1;
-export import { z2 as z3 } from "server";
+export import { z2 as z3 } from "./server";
export var z2 = z3; // z2 shouldn't give redeclare error
// Non referenced imports
-export import { aaaa } from "server";
-export import { aaaa as bbbb } from "server";
+export import { aaaa } from "./server";
+export import { aaaa as bbbb } from "./server";
diff --git a/tests/cases/compiler/es6ImportNamedImportWithTypesAndValues.ts b/tests/cases/compiler/es6ImportNamedImportWithTypesAndValues.ts
index 08294e57232..4b5a2f17ab0 100644
--- a/tests/cases/compiler/es6ImportNamedImportWithTypesAndValues.ts
+++ b/tests/cases/compiler/es6ImportNamedImportWithTypesAndValues.ts
@@ -16,6 +16,6 @@ export class C2 implements I2 {
}
// @filename: client.ts
-import { C, I, C2 } from "server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
+import { C, I, C2 } from "./server"; // Shouldnt emit I and C2 into the js file and emit C and I in .d.ts file
export type cValInterface = I;
export var cVal = new C();
\ No newline at end of file
diff --git a/tests/cases/compiler/exportAssignClassAndModule.ts b/tests/cases/compiler/exportAssignClassAndModule.ts
index 1124234ae8d..0ac65454b00 100644
--- a/tests/cases/compiler/exportAssignClassAndModule.ts
+++ b/tests/cases/compiler/exportAssignClassAndModule.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: exportAssignClassAndModule_0.ts
class Foo {
x: Foo.Bar;
@@ -11,7 +11,7 @@ export = Foo;
// @Filename: exportAssignClassAndModule_1.ts
///
-import Foo = require('exportAssignClassAndModule_0');
+import Foo = require('./exportAssignClassAndModule_0');
var z: Foo.Bar;
var zz: Foo;
diff --git a/tests/cases/compiler/exportAssignmentEnum.ts b/tests/cases/compiler/exportAssignmentEnum.ts
index debaab1e5e8..dff61fdb5df 100644
--- a/tests/cases/compiler/exportAssignmentEnum.ts
+++ b/tests/cases/compiler/exportAssignmentEnum.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: exportAssignmentEnum_A.ts
enum E {
A,
@@ -9,7 +9,7 @@ enum E {
export = E;
// @Filename: exportAssignmentEnum_B.ts
-import EnumE = require("exportAssignmentEnum_A");
+import EnumE = require("./exportAssignmentEnum_A");
var a = EnumE.A;
var b = EnumE.B;
diff --git a/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts b/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts
index 63c1f01eb28..fd6b55c9c08 100644
--- a/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts
+++ b/tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: exportAssignmentOfDeclaredExternalModule_0.ts
interface Sammy {
new (): any; // a constructor signature
@@ -8,7 +8,7 @@ export = Sammy;
// @Filename: exportAssignmentOfDeclaredExternalModule_1.ts
///
-import Sammy = require('exportAssignmentOfDeclaredExternalModule_0');
+import Sammy = require('./exportAssignmentOfDeclaredExternalModule_0');
var x = new Sammy(); // error to use as constructor as there is not constructor symbol
var y = Sammy(); // error to use interface name as call target
var z: Sammy; // no error - z is of type interface Sammy from module 'M'
diff --git a/tests/cases/compiler/exportAssignmentVariable.ts b/tests/cases/compiler/exportAssignmentVariable.ts
index b1ba2452884..9bb53a7c89d 100644
--- a/tests/cases/compiler/exportAssignmentVariable.ts
+++ b/tests/cases/compiler/exportAssignmentVariable.ts
@@ -1,10 +1,10 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: exportAssignmentVariable_A.ts
var x = 0;
export = x;
// @Filename: exportAssignmentVariable_B.ts
-import y = require("exportAssignmentVariable_A");
+import y = require("./exportAssignmentVariable_A");
var n: number = y;
\ No newline at end of file
diff --git a/tests/cases/compiler/exportEqualMemberMissing.ts b/tests/cases/compiler/exportEqualMemberMissing.ts
index 6f916b65260..89b328f0536 100644
--- a/tests/cases/compiler/exportEqualMemberMissing.ts
+++ b/tests/cases/compiler/exportEqualMemberMissing.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: exportEqualMemberMissing_0.ts
module server {
export interface connectModule {
@@ -16,5 +16,5 @@ export = server;
// @Filename: exportEqualMemberMissing_1.ts
///
-import connect = require('exportEqualMemberMissing_0');
+import connect = require('./exportEqualMemberMissing_0');
connect().use(connect.static('foo')); // Error 1 The property 'static' does not exist on value of type ''.
diff --git a/tests/cases/compiler/exportStarFromEmptyModule.ts b/tests/cases/compiler/exportStarFromEmptyModule.ts
index 163576f1c08..8e4ea8a7b21 100644
--- a/tests/cases/compiler/exportStarFromEmptyModule.ts
+++ b/tests/cases/compiler/exportStarFromEmptyModule.ts
@@ -11,15 +11,15 @@ export class A {
// empty
// @filename: exportStarFromEmptyModule_module3.ts
-export * from "exportStarFromEmptyModule_module2";
-export * from "exportStarFromEmptyModule_module1";
+export * from "./exportStarFromEmptyModule_module2";
+export * from "./exportStarFromEmptyModule_module1";
export class A {
static q;
}
// @filename: exportStarFromEmptyModule_module4.ts
-import * as X from "exportStarFromEmptyModule_module3";
+import * as X from "./exportStarFromEmptyModule_module3";
var s: X.A;
X.A.q;
X.A.r; // Error
\ No newline at end of file
diff --git a/tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer.ts b/tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer.ts
index 9cd73deb90d..4e5a67665d9 100644
--- a/tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer.ts
+++ b/tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer.ts
@@ -1,25 +1,25 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: extendingClassFromAliasAndUsageInIndexer_backbone.ts
export class Model {
public someData: string;
}
// @Filename: extendingClassFromAliasAndUsageInIndexer_moduleA.ts
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
export class VisualizationModel extends Backbone.Model {
// interesting stuff here
}
// @Filename: extendingClassFromAliasAndUsageInIndexer_moduleB.ts
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
export class VisualizationModel extends Backbone.Model {
// different interesting stuff here
}
// @Filename: extendingClassFromAliasAndUsageInIndexer_main.ts
-import Backbone = require("extendingClassFromAliasAndUsageInIndexer_backbone");
-import moduleA = require("extendingClassFromAliasAndUsageInIndexer_moduleA");
-import moduleB = require("extendingClassFromAliasAndUsageInIndexer_moduleB");
+import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
+import moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
+import moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
interface IHasVisualizationModel {
VisualizationModel: typeof Backbone.Model;
}
diff --git a/tests/cases/compiler/externalModuleExportingGenericClass.ts b/tests/cases/compiler/externalModuleExportingGenericClass.ts
index 882dd1c5603..b20afb56013 100644
--- a/tests/cases/compiler/externalModuleExportingGenericClass.ts
+++ b/tests/cases/compiler/externalModuleExportingGenericClass.ts
@@ -8,7 +8,7 @@ export = C;
// @Filename: externalModuleExportingGenericClass_file1.ts
-import a = require('externalModuleExportingGenericClass_file0');
+import a = require('./externalModuleExportingGenericClass_file0');
var v: a; // this should report error
var v2: any = (new a()).foo;
var v3: number = (new a()).foo;
diff --git a/tests/cases/compiler/externalModuleImmutableBindings.ts b/tests/cases/compiler/externalModuleImmutableBindings.ts
index 2321961f6f8..33e1b9894e1 100644
--- a/tests/cases/compiler/externalModuleImmutableBindings.ts
+++ b/tests/cases/compiler/externalModuleImmutableBindings.ts
@@ -5,7 +5,7 @@ export var x = 1;
// @Filename: f2.ts
// all mutations below are illegal and should be fixed
-import * as stuff from 'f1';
+import * as stuff from './f1';
var n = 'baz';
diff --git a/tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration.ts b/tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration.ts
index 79cf425bdda..55922da6ca8 100644
--- a/tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration.ts
+++ b/tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: externalModuleRefernceResolutionOrderInImportDeclaration_file1.ts
export function foo() { };
@@ -10,7 +10,7 @@ declare module "externalModuleRefernceResolutionOrderInImportDeclaration_file1"
// @Filename: externalModuleRefernceResolutionOrderInImportDeclaration_file3.ts
///
-import file1 = require('externalModuleRefernceResolutionOrderInImportDeclaration_file1');
+import file1 = require('./externalModuleRefernceResolutionOrderInImportDeclaration_file1');
file1.foo();
file1.bar();
diff --git a/tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts b/tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts
index 4283e3d32a9..875e3205407 100644
--- a/tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts
+++ b/tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts
@@ -1,4 +1,3 @@
-// @module: unspecified
// Not on line 0 because we want to verify the error is placed in the appropriate location.
export module M {
diff --git a/tests/cases/compiler/importAsBaseClass.ts b/tests/cases/compiler/importAsBaseClass.ts
index b533453773c..4077ca952b9 100644
--- a/tests/cases/compiler/importAsBaseClass.ts
+++ b/tests/cases/compiler/importAsBaseClass.ts
@@ -1,9 +1,9 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: importAsBaseClass_0.ts
export class Greeter {
greet() { return 'greet' }
}
// @Filename: importAsBaseClass_1.ts
-import Greeter = require("importAsBaseClass_0");
+import Greeter = require("./importAsBaseClass_0");
class Hello extends Greeter { }
diff --git a/tests/cases/compiler/importDecl.ts b/tests/cases/compiler/importDecl.ts
index c28b332eb43..e7c3a0789ce 100644
--- a/tests/cases/compiler/importDecl.ts
+++ b/tests/cases/compiler/importDecl.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @declaration: true
// @Filename: importDecl_require.ts
export class d {
@@ -29,7 +29,7 @@ export var x: d;
export function foo(): d { return null; }
// @Filename: importDecl_require4.ts
-import m4 = require("importDecl_require");
+import m4 = require("./importDecl_require");
export function foo2(): m4.d { return null; }
// @Filename: importDecl_1.ts
@@ -38,7 +38,7 @@ export function foo2(): m4.d { return null; }
///
///
///
-import m4 = require("importDecl_require"); // Emit used
+import m4 = require("./importDecl_require"); // Emit used
export var x4 = m4.x;
export var d4 = m4.d;
export var f4 = m4.foo();
@@ -54,16 +54,16 @@ export module m1 {
}
//Emit global only usage
-import glo_m4 = require("importDecl_require1");
+import glo_m4 = require("./importDecl_require1");
export var useGlo_m4_d4 = glo_m4.d;
export var useGlo_m4_f4 = glo_m4.foo();
//Emit even when used just in function type
-import fncOnly_m4 = require("importDecl_require2");
+import fncOnly_m4 = require("./importDecl_require2");
export var useFncOnly_m4_f4 = fncOnly_m4.foo();
// only used privately no need to emit
-import private_m4 = require("importDecl_require3");
+import private_m4 = require("./importDecl_require3");
export module usePrivate_m4_m1 {
var x3 = private_m4.x;
var d3 = private_m4.d;
@@ -71,11 +71,11 @@ export module usePrivate_m4_m1 {
}
// Do not emit unused import
-import m5 = require("importDecl_require4");
+import m5 = require("./importDecl_require4");
export var d = m5.foo2();
// Do not emit multiple used import statements
-import multiImport_m4 = require("importDecl_require"); // Emit used
+import multiImport_m4 = require("./importDecl_require"); // Emit used
export var useMultiImport_m4_x4 = multiImport_m4.x;
export var useMultiImport_m4_d4 = multiImport_m4.d;
export var useMultiImport_m4_f4 = multiImport_m4.foo();
diff --git a/tests/cases/compiler/importDeclarationUsedAsTypeQuery.ts b/tests/cases/compiler/importDeclarationUsedAsTypeQuery.ts
index aea205dd447..5fc77ca1a8e 100644
--- a/tests/cases/compiler/importDeclarationUsedAsTypeQuery.ts
+++ b/tests/cases/compiler/importDeclarationUsedAsTypeQuery.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @declaration: true
// @Filename: importDeclarationUsedAsTypeQuery_require.ts
export class B {
@@ -7,5 +7,5 @@ export class B {
// @Filename: importDeclarationUsedAsTypeQuery_1.ts
///
-import a = require('importDeclarationUsedAsTypeQuery_require');
+import a = require('./importDeclarationUsedAsTypeQuery_require');
export var x: typeof a;
diff --git a/tests/cases/compiler/importUsedInExtendsList1.ts b/tests/cases/compiler/importUsedInExtendsList1.ts
index f76ccc874c9..f5e3b77f1e3 100644
--- a/tests/cases/compiler/importUsedInExtendsList1.ts
+++ b/tests/cases/compiler/importUsedInExtendsList1.ts
@@ -1,10 +1,10 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: importUsedInExtendsList1_require.ts
export class Super { foo: string; }
// @Filename: importUsedInExtendsList1_1.ts
///
-import foo = require('importUsedInExtendsList1_require');
+import foo = require('./importUsedInExtendsList1_require');
class Sub extends foo.Super { }
var s: Sub;
var r: string = s.foo;
diff --git a/tests/cases/compiler/lambdaASIEmit.ts b/tests/cases/compiler/lambdaASIEmit.ts
index 44ee992ff47..c803b87411d 100644
--- a/tests/cases/compiler/lambdaASIEmit.ts
+++ b/tests/cases/compiler/lambdaASIEmit.ts
@@ -1,4 +1,4 @@
-// @comments: true
+// @removeComments: false
function Foo(x: any)
{
diff --git a/tests/cases/compiler/localAliasExportAssignment.ts b/tests/cases/compiler/localAliasExportAssignment.ts
index 8e6df40403b..9fe29ba91d1 100644
--- a/tests/cases/compiler/localAliasExportAssignment.ts
+++ b/tests/cases/compiler/localAliasExportAssignment.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: localAliasExportAssignment_0.ts
var server: {
(): any;
@@ -8,7 +8,7 @@ export = server;
// @Filename: localAliasExportAssignment_1.ts
///
-import connect = require('localAliasExportAssignment_0');
+import connect = require('./localAliasExportAssignment_0');
connect();
diff --git a/tests/cases/compiler/moduleInTypePosition1.ts b/tests/cases/compiler/moduleInTypePosition1.ts
index 170afc1f876..51481a5c0ea 100644
--- a/tests/cases/compiler/moduleInTypePosition1.ts
+++ b/tests/cases/compiler/moduleInTypePosition1.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: moduleInTypePosition1_0.ts
export class Promise {
foo: string;
@@ -6,5 +6,5 @@ export class Promise {
// @Filename: moduleInTypePosition1_1.ts
///
-import WinJS = require('moduleInTypePosition1_0');
+import WinJS = require('./moduleInTypePosition1_0');
var x = (w1: WinJS) => { };
diff --git a/tests/cases/compiler/multiImportExport.ts b/tests/cases/compiler/multiImportExport.ts
index 939a6e1061e..fe253e282ad 100644
--- a/tests/cases/compiler/multiImportExport.ts
+++ b/tests/cases/compiler/multiImportExport.ts
@@ -5,10 +5,10 @@ import Drawing = require('./Drawing');
var addr = new Drawing.Math.Adder();
// @Filename: Drawing.ts
-export import Math = require('Math/Math')
+export import Math = require('./Math/Math')
// @Filename: Math/Math.ts
-import Adder = require('Math/Adder');
+import Adder = require('./Adder');
var Math = {
Adder:Adder
diff --git a/tests/cases/compiler/out-flag.ts b/tests/cases/compiler/out-flag.ts
index 45a8d92805c..07cd55224a5 100644
--- a/tests/cases/compiler/out-flag.ts
+++ b/tests/cases/compiler/out-flag.ts
@@ -3,7 +3,7 @@
// @declaration: true
// @module: commonjs
//// @out: bin\
-// @comments: true
+// @removeComments: false
// my class comments
class MyClass
diff --git a/tests/cases/compiler/pinnedComments1.ts b/tests/cases/compiler/pinnedComments1.ts
index 4de91b33e56..1bf99943c5b 100644
--- a/tests/cases/compiler/pinnedComments1.ts
+++ b/tests/cases/compiler/pinnedComments1.ts
@@ -1,4 +1,4 @@
-// @comments: false
+// @removeComments: true
/*!=========
Keep this pinned comment
=========
diff --git a/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts b/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts
index 1150cf963bf..70369c47895 100644
--- a/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts
+++ b/tests/cases/compiler/privacyCannotNameAccessorDeclFile.ts
@@ -36,7 +36,7 @@ export module SpecializedWidget {
// @Filename:privacyCannotNameAccessorDeclFile_exporter.ts
///
-import Widgets = require("privacyCannotNameAccessorDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameAccessorDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
// @Filename:privacyCannotNameAccessorDeclFile_consumer.ts
-import exporter = require("privacyCannotNameAccessorDeclFile_exporter");
+import exporter = require("./privacyCannotNameAccessorDeclFile_exporter");
export class publicClassWithWithPrivateGetAccessorTypes {
static get myPublicStaticMethod() { // Error
return exporter.createExportedWidget1();
diff --git a/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts b/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts
index e49d31946c6..1135e3c86f4 100644
--- a/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts
+++ b/tests/cases/compiler/privacyCannotNameVarTypeDeclFile.ts
@@ -36,7 +36,7 @@ export module SpecializedWidget {
// @Filename:privacyCannotNameVarTypeDeclFile_exporter.ts
///
-import Widgets = require("privacyCannotNameVarTypeDeclFile_Widgets");
+import Widgets = require("./privacyCannotNameVarTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
// @Filename:privacyCannotNameVarTypeDeclFile_consumer.ts
-import exporter = require("privacyCannotNameVarTypeDeclFile_exporter");
+import exporter = require("./privacyCannotNameVarTypeDeclFile_exporter");
export class publicClassWithWithPrivatePropertyTypes {
static myPublicStaticProperty = exporter.createExportedWidget1(); // Error
private static myPrivateStaticProperty = exporter.createExportedWidget1();
diff --git a/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts b/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts
index b412622ad40..a214104fafb 100644
--- a/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts
+++ b/tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts
@@ -1,5 +1,5 @@
-//@module: commonjs
-//@declaration: true
+// @module: commonjs
+// @declaration: true
// @Filename: privacyCheckExternalModuleExportAssignmentOfGenericClass_0.ts
export = Foo;
class Foo {
@@ -7,7 +7,7 @@ class Foo {
}
// @Filename: privacyCheckExternalModuleExportAssignmentOfGenericClass_1.ts
-import Foo = require("privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
+import Foo = require("./privacyCheckExternalModuleExportAssignmentOfGenericClass_0");
export = Bar;
interface Bar {
foo: Foo;
diff --git a/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts b/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts
index f24ed8ea32b..dd5eaf82bdf 100644
--- a/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts
+++ b/tests/cases/compiler/privacyFunctionCannotNameParameterTypeDeclFile.ts
@@ -36,7 +36,7 @@ export module SpecializedWidget {
// @Filename:privacyFunctionCannotNameParameterTypeDeclFile_exporter.ts
///
-import Widgets = require("privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionCannotNameParameterTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
// @Filename:privacyFunctionCannotNameParameterTypeDeclFile_consumer.ts
-import exporter = require("privacyFunctionCannotNameParameterTypeDeclFile_exporter");
+import exporter = require("./privacyFunctionCannotNameParameterTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod(param = exporter.createExportedWidget1()) { // Error
}
diff --git a/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts b/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts
index 2eff22327b5..cb1993286a4 100644
--- a/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts
+++ b/tests/cases/compiler/privacyFunctionCannotNameReturnTypeDeclFile.ts
@@ -36,7 +36,7 @@ export module SpecializedWidget {
// @Filename:privacyFunctionReturnTypeDeclFile_exporter.ts
///
-import Widgets = require("privacyFunctionReturnTypeDeclFile_Widgets");
+import Widgets = require("./privacyFunctionReturnTypeDeclFile_Widgets");
import Widgets1 = require("GlobalWidgets");
export function createExportedWidget1() {
return Widgets.createWidget1();
@@ -52,7 +52,7 @@ export function createExportedWidget4() {
}
// @Filename:privacyFunctionReturnTypeDeclFile_consumer.ts
-import exporter = require("privacyFunctionReturnTypeDeclFile_exporter");
+import exporter = require("./privacyFunctionReturnTypeDeclFile_exporter");
export class publicClassWithWithPrivateParmeterTypes {
static myPublicStaticMethod() { // Error
return exporter.createExportedWidget1();
diff --git a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts
index 16c6e19fb59..1ea30d1f3c4 100644
--- a/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts
+++ b/tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts
@@ -1,5 +1,5 @@
-//@module: commonjs
-//@declaration: true
+// @module: commonjs
+// @declaration: true
// @Filename: privacyTopLevelAmbientExternalModuleImportWithExport_require.ts
// Public elements
export class c_public {
@@ -32,8 +32,8 @@ declare module 'm2' {
///
///
// Privacy errors - importing private elements
-export import im_public_mi_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require");
-export import im_public_mu_private = require("privacyTopLevelAmbientExternalModuleImportWithExport_require1");
+export import im_public_mi_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require");
+export import im_public_mu_private = require("./privacyTopLevelAmbientExternalModuleImportWithExport_require1");
export import im_public_mi_public = require("m");
export import im_public_mu_public = require("m2");
diff --git a/tests/cases/compiler/requireOfAnEmptyFile1.ts b/tests/cases/compiler/requireOfAnEmptyFile1.ts
index 365817f1339..98d5003ad67 100644
--- a/tests/cases/compiler/requireOfAnEmptyFile1.ts
+++ b/tests/cases/compiler/requireOfAnEmptyFile1.ts
@@ -1,7 +1,7 @@
-//@module: commonjs
+// @module: commonjs
//requireOfAnEmptyFile1
// @Filename: requireOfAnEmptyFile1_a.ts
-import fs = require('requireOfAnEmptyFile1_b');
+import fs = require('./requireOfAnEmptyFile1_b');
// @Filename: requireOfAnEmptyFile1_b.ts
diff --git a/tests/cases/compiler/reuseInnerModuleMember.ts b/tests/cases/compiler/reuseInnerModuleMember.ts
index ebffcad6060..e2f9900e73f 100644
--- a/tests/cases/compiler/reuseInnerModuleMember.ts
+++ b/tests/cases/compiler/reuseInnerModuleMember.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: reuseInnerModuleMember_0.ts
export module M { }
@@ -8,7 +8,7 @@ declare module bar {
interface alpha { }
}
-import f = require('reuseInnerModuleMember_0');
+import f = require('./reuseInnerModuleMember_0');
module bar {
var x: alpha;
}
diff --git a/tests/cases/compiler/sourceMap-FileWithComments.ts b/tests/cases/compiler/sourceMap-FileWithComments.ts
index a3e5930d7c1..5dcf602c3de 100644
--- a/tests/cases/compiler/sourceMap-FileWithComments.ts
+++ b/tests/cases/compiler/sourceMap-FileWithComments.ts
@@ -1,5 +1,5 @@
// @sourcemap: true
-// @comments: true
+// @removeComments: false
// Interface
interface IPoint {
diff --git a/tests/cases/compiler/staticInstanceResolution3.ts b/tests/cases/compiler/staticInstanceResolution3.ts
index ae8cefc8102..bc4586b2adf 100644
--- a/tests/cases/compiler/staticInstanceResolution3.ts
+++ b/tests/cases/compiler/staticInstanceResolution3.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: staticInstanceResolution3_0.ts
export class Promise {
static timeout(delay: number): Promise {
@@ -8,5 +8,5 @@ export class Promise {
// @Filename: staticInstanceResolution3_1.ts
///
-import WinJS = require('staticInstanceResolution3_0');
+import WinJS = require('./staticInstanceResolution3_0');
WinJS.Promise.timeout(10);
\ No newline at end of file
diff --git a/tests/cases/compiler/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.ts b/tests/cases/compiler/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.ts
index 28a9e821131..70be28f74eb 100644
--- a/tests/cases/compiler/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.ts
+++ b/tests/cases/compiler/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @declaration: true
// @Filename: file1.ts
export function foo() {
@@ -7,5 +7,5 @@ var classes = undefined;
}
// @Filename: file2.ts
-import f = require('file1');
+import f = require('./file1');
f.foo();
diff --git a/tests/cases/compiler/typeofAmbientExternalModules.ts b/tests/cases/compiler/typeofAmbientExternalModules.ts
index df3283bfb45..b6b8237dac6 100644
--- a/tests/cases/compiler/typeofAmbientExternalModules.ts
+++ b/tests/cases/compiler/typeofAmbientExternalModules.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: typeofAmbientExternalModules_0.ts
export class C { foo: string; }
@@ -9,8 +9,8 @@ export = D;
// @Filename: typeofAmbientExternalModules_2.ts
///
///
-import ext = require('typeofAmbientExternalModules_0');
-import exp = require('typeofAmbientExternalModules_1');
+import ext = require('./typeofAmbientExternalModules_0');
+import exp = require('./typeofAmbientExternalModules_1');
var y1: typeof ext = ext;
y1 = exp;
diff --git a/tests/cases/compiler/typeofExternalModules.ts b/tests/cases/compiler/typeofExternalModules.ts
index fe3dfad5d86..32475215e24 100644
--- a/tests/cases/compiler/typeofExternalModules.ts
+++ b/tests/cases/compiler/typeofExternalModules.ts
@@ -1,4 +1,4 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: typeofExternalModules_external.ts
export class C { }
@@ -7,8 +7,8 @@ class D { }
export = D;
// @Filename: typeofExternalModules_core.ts
-import ext = require('typeofExternalModules_external');
-import exp = require('typeofExternalModules_exportAssign');
+import ext = require('./typeofExternalModules_external');
+import exp = require('./typeofExternalModules_exportAssign');
var y1: typeof ext = ext;
y1 = exp;
diff --git a/tests/cases/compiler/unusedImportDeclaration.ts b/tests/cases/compiler/unusedImportDeclaration.ts
index 263b355f69c..71fe5aae5a3 100644
--- a/tests/cases/compiler/unusedImportDeclaration.ts
+++ b/tests/cases/compiler/unusedImportDeclaration.ts
@@ -1,5 +1,5 @@
-//@module: commonjs
-//@declaration: true
+// @module: commonjs
+// @declaration: true
// @Filename: unusedImportDeclaration_testerB.ts
class TesterB {
me: string;
@@ -7,7 +7,7 @@ class TesterB {
export = TesterB;
// @Filename: unusedImportDeclaration_testerA.ts
-import B = require("unusedImportDeclaration_testerB");
+import B = require("./unusedImportDeclaration_testerB");
var thingy: B = {
me: "A"
};
diff --git a/tests/cases/compiler/visibilityOfCrossModuleTypeUsage.ts b/tests/cases/compiler/visibilityOfCrossModuleTypeUsage.ts
index ff9610a2f65..ee22e3a4172 100644
--- a/tests/cases/compiler/visibilityOfCrossModuleTypeUsage.ts
+++ b/tests/cases/compiler/visibilityOfCrossModuleTypeUsage.ts
@@ -1,9 +1,9 @@
-//@module: commonjs
+// @module: commonjs
//visibilityOfCrossModuleTypeUsage
// @Filename: visibilityOfCrossModuleTypeUsage_commands.ts
-import fs = require('visibilityOfCrossModuleTypeUsage_fs');
-import server = require('visibilityOfCrossModuleTypeUsage_server');
+import fs = require('./visibilityOfCrossModuleTypeUsage_fs');
+import server = require('./visibilityOfCrossModuleTypeUsage_server');
export interface IConfiguration {
workspace: server.IWorkspace;
@@ -19,7 +19,7 @@ export interface IWorkspace {
}
// @Filename: visibilityOfCrossModuleTypeUsage_fs.ts
-import commands = require('visibilityOfCrossModuleTypeUsage_commands');
+import commands = require('./visibilityOfCrossModuleTypeUsage_commands');
function run(configuration: commands.IConfiguration) {
var absoluteWorkspacePath = configuration.workspace.toAbsolutePath(configuration.server);
}
\ No newline at end of file
diff --git a/tests/cases/compiler/voidAsNonAmbiguousReturnType.ts b/tests/cases/compiler/voidAsNonAmbiguousReturnType.ts
index d20f9941fbf..c00ef99e1aa 100644
--- a/tests/cases/compiler/voidAsNonAmbiguousReturnType.ts
+++ b/tests/cases/compiler/voidAsNonAmbiguousReturnType.ts
@@ -1,11 +1,11 @@
-//@module: commonjs
+// @module: commonjs
// @Filename: voidAsNonAmbiguousReturnType_0.ts
export function mkdirSync(path: string, mode?: number): void;
export function mkdirSync(path: string, mode?: string): void {}
// @Filename: voidAsNonAmbiguousReturnType_1.ts
///
-import fs = require("voidAsNonAmbiguousReturnType_0");
+import fs = require("./voidAsNonAmbiguousReturnType_0");
function main() {
fs.mkdirSync('test'); // should not error - return types are the same
diff --git a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts
index 64b198b0916..90e25765847 100644
--- a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter01.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f([]) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts
index 39663a4bed7..e9e99c6d0eb 100644
--- a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter02.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f(a, []) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts
index 39663a4bed7..e9e99c6d0eb 100644
--- a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter03.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f(a, []) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts
index 313d4fe6708..7f57c6a6acf 100644
--- a/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyArrayBindingPatternParameter04.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f([] = [1,2,3,4]) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES5.ts
index dd10e552615..44175dbb63a 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES5.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES5.ts
@@ -1,4 +1,5 @@
// @target: es5
+// @declaration: true
var a: any;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES6.ts
index 043f0cf1108..4f367ee8853 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES6.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns01_ES6.ts
@@ -1,4 +1,5 @@
// @target: es6
+// @declaration: true
var a: any;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES5.ts
index 60fe89758d6..1d291425e67 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES5.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES5.ts
@@ -1,4 +1,5 @@
// @target: es5
+// @declaration: true
var a: any;
let x, y, z, a1, a2, a3;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES6.ts
index 295401545d4..b156883f7d2 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES6.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns02_ES6.ts
@@ -1,4 +1,5 @@
// @target: es6
+// @declaration: true
var a: any;
let x, y, z, a1, a2, a3;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES5.ts
index 080c828ad62..dbe79355cd8 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES5.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES5.ts
@@ -1,4 +1,5 @@
// @target: es5
+// @declaration: true
var a: any;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES6.ts
index 10d67254cd8..d86f01f5c79 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES6.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns03_ES6.ts
@@ -1,4 +1,5 @@
// @target: es6
+// @declaration: true
var a: any;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES5.ts
index 0233ddcda70..ac79e87a11c 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES5.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES5.ts
@@ -1,4 +1,5 @@
// @target: es5
+// @declaration: true
var a: any;
let x, y, z, a1, a2, a3;
diff --git a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES6.ts
index 3380a56aaa7..25e56c353b9 100644
--- a/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES6.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyAssignmentPatterns04_ES6.ts
@@ -1,4 +1,5 @@
// @target: es6
+// @declaration: true
var a: any;
let x, y, z, a1, a2, a3;
diff --git a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts
index 01aa5b54230..270d7f10227 100644
--- a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter01.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f({}) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts
index f34503c1152..79d026eac9e 100644
--- a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter02.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f(a, {}) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts
index a940c659703..c5d51b20cfa 100644
--- a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter03.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f({}, a) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts
index da05e5cb428..0273e174de0 100644
--- a/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts
+++ b/tests/cases/conformance/es6/destructuring/emptyObjectBindingPatternParameter04.ts
@@ -1,4 +1,4 @@
-
+// @declaration: true
function f({} = {a: 1, b: "2", c: true}) {
var x, y, z;
diff --git a/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES5.ts
new file mode 100644
index 00000000000..bc7a729fd1e
--- /dev/null
+++ b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES5.ts
@@ -0,0 +1,50 @@
+// @target: es5
+
+(function () {
+ var a: any;
+
+ var {} = a;
+ let {} = a;
+ const {} = a;
+
+ var [] = a;
+ let [] = a;
+ const [] = a;
+
+ var {} = a, [] = a;
+ let {} = a, [] = a;
+ const {} = a, [] = a;
+
+ var { p1: {}, p2: [] } = a;
+ let { p1: {}, p2: [] } = a;
+ const { p1: {}, p2: [] } = a;
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+
+ for (var {} of ns) {
+ }
+
+ for (let {} of ns) {
+ }
+
+ for (const {} of ns) {
+ }
+
+ for (var [] of ns) {
+ }
+
+ for (let [] of ns) {
+ }
+
+ for (const [] of ns) {
+ }
+})();
\ No newline at end of file
diff --git a/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES6.ts
new file mode 100644
index 00000000000..9f2a9905480
--- /dev/null
+++ b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns01_ES6.ts
@@ -0,0 +1,50 @@
+// @target: es6
+
+(function () {
+ var a: any;
+
+ var {} = a;
+ let {} = a;
+ const {} = a;
+
+ var [] = a;
+ let [] = a;
+ const [] = a;
+
+ var {} = a, [] = a;
+ let {} = a, [] = a;
+ const {} = a, [] = a;
+
+ var { p1: {}, p2: [] } = a;
+ let { p1: {}, p2: [] } = a;
+ const { p1: {}, p2: [] } = a;
+
+ for (var {} = {}, {} = {}; false; void 0) {
+ }
+
+ function f({} = a, [] = a, { p: {} = a} = a) {
+ return ({} = a, [] = a, { p: {} = a } = a) => a;
+ }
+})();
+
+(function () {
+ const ns: number[][] = [];
+
+ for (var {} of ns) {
+ }
+
+ for (let {} of ns) {
+ }
+
+ for (const {} of ns) {
+ }
+
+ for (var [] of ns) {
+ }
+
+ for (let [] of ns) {
+ }
+
+ for (const [] of ns) {
+ }
+})();
\ No newline at end of file
diff --git a/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts
new file mode 100644
index 00000000000..34c05e1838f
--- /dev/null
+++ b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES5.ts
@@ -0,0 +1,12 @@
+// @target: es5
+// @declaration: true
+
+(function () {
+ var {};
+ let {};
+ const {};
+
+ var [];
+ let [];
+ const [];
+})();
\ No newline at end of file
diff --git a/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts
new file mode 100644
index 00000000000..3146fec4cb7
--- /dev/null
+++ b/tests/cases/conformance/es6/destructuring/emptyVariableDeclarationBindingPatterns02_ES6.ts
@@ -0,0 +1,12 @@
+// @target: es6
+// @declaration: true
+
+(function () {
+ var {};
+ let {};
+ const {};
+
+ var [];
+ let [];
+ const [];
+})();
\ No newline at end of file
diff --git a/tests/cases/conformance/es6/modules/multipleDefaultExports01.ts b/tests/cases/conformance/es6/modules/multipleDefaultExports01.ts
index 84172248e93..e6a467820b4 100644
--- a/tests/cases/conformance/es6/modules/multipleDefaultExports01.ts
+++ b/tests/cases/conformance/es6/modules/multipleDefaultExports01.ts
@@ -14,6 +14,6 @@ var x = 10;
export default x;
// @filename: m2.ts
-import Entity from "m1"
+import Entity from "./m1"
Entity();
\ No newline at end of file
diff --git a/tests/cases/conformance/es6/modules/multipleDefaultExports02.ts b/tests/cases/conformance/es6/modules/multipleDefaultExports02.ts
index 1e9c8dabc13..d642b72b6f3 100644
--- a/tests/cases/conformance/es6/modules/multipleDefaultExports02.ts
+++ b/tests/cases/conformance/es6/modules/multipleDefaultExports02.ts
@@ -11,6 +11,6 @@ export default function bar() {
}
// @filename: m2.ts
-import Entity from "m1"
+import Entity from "./m1"
Entity();
\ No newline at end of file
diff --git a/tests/cases/conformance/externalModules/topLevelFileModule.ts b/tests/cases/conformance/externalModules/topLevelFileModule.ts
index 7f694f6f98d..e6680889d26 100644
--- a/tests/cases/conformance/externalModules/topLevelFileModule.ts
+++ b/tests/cases/conformance/externalModules/topLevelFileModule.ts
@@ -6,6 +6,6 @@ export var x: number;
export declare var y: number;
// @Filename: foo_1.ts
-import foo = require("vs/foo_0");
-import fum = require("vs/fum");
+import foo = require("./vs/foo_0");
+import fum = require("./vs/fum");
var z = foo.x + fum.y;
diff --git a/tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts b/tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts
index db0e2ce742c..456527acfae 100644
--- a/tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts
+++ b/tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts
@@ -1,5 +1,5 @@
// @module: commonjs
-// @Filename: vs/foo_0.ts
+// @Filename: vs/foo_0/index.ts
export var x: number = 42;
// @Filename: foo_1.ts
diff --git a/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts b/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts
new file mode 100644
index 00000000000..0b2646291da
--- /dev/null
+++ b/tests/cases/fourslash/genericTypeAliasIntersectionCompletions.ts
@@ -0,0 +1,33 @@
+///
+
+//// type MixinCtor = new () => A & B & { constructor: MixinCtor };
+//// function merge(a: { prototype: A }, b: { prototype: B }): MixinCtor {
+//// let merged = function() { }
+//// Object.assign(merged.prototype, a.prototype, b.prototype);
+//// return >merged;
+//// }
+////
+//// class TreeNode {
+//// value: any;
+//// }
+////
+//// abstract class LeftSideNode extends TreeNode {
+//// abstract right(): TreeNode;
+//// left(): TreeNode {
+//// return null;
+//// }
+//// }
+////
+//// abstract class RightSideNode extends TreeNode {
+//// abstract left(): TreeNode;
+//// right(): TreeNode {
+//// return null;
+//// };
+//// }
+////
+//// var obj = new (merge(LeftSideNode, RightSideNode))();
+//// obj./**/
+
+goTo.marker();
+verify.completionListContains("left");
+verify.completionListContains("right");
diff --git a/tests/cases/unittests/services/preProcessFile.ts b/tests/cases/unittests/services/preProcessFile.ts
index 982c45f0f2d..a3f8db5528f 100644
--- a/tests/cases/unittests/services/preProcessFile.ts
+++ b/tests/cases/unittests/services/preProcessFile.ts
@@ -173,6 +173,20 @@ describe('PreProcessFile:', function () {
isLibFile: false
})
});
+
+ it("Correctly handles export import declarations", function () {
+ test("export import a = require(\"m1\");",
+ true,
+ {
+ referencedFiles: [],
+ importedFiles: [
+ { fileName: "m1", pos: 26, end: 28 }
+ ],
+ ambientExternalModules: undefined,
+ isLibFile: false
+ })
+ });
+
});
});