Merge branch 'transforms' into transforms-importHelpers
This commit is contained in:
commit
d5f5d927af
|
@ -794,13 +794,14 @@ function runConsoleTests(defaultReporter, runInParallel) {
|
|||
colors = process.env.colors || process.env.color;
|
||||
colors = colors ? ' --no-colors ' : ' --colors ';
|
||||
reporter = process.env.reporter || process.env.r || defaultReporter;
|
||||
var bail = (process.env.bail || process.env.b) ? "--bail" : "";
|
||||
var lintFlag = process.env.lint !== 'false';
|
||||
|
||||
// timeout normally isn't necessary but Travis-CI has been timing out on compiler baselines occasionally
|
||||
// default timeout is 2sec which really should be enough, but maybe we just need a small amount longer
|
||||
if(!runInParallel) {
|
||||
tests = tests ? ' -g "' + tests + '"' : '';
|
||||
var cmd = "mocha" + (debug ? " --debug-brk" : "") + " -R " + reporter + tests + colors + ' -t ' + testTimeout + ' ' + run;
|
||||
var cmd = "mocha" + (debug ? " --debug-brk" : "") + " -R " + reporter + tests + colors + bail + ' -t ' + testTimeout + ' ' + run;
|
||||
console.log(cmd);
|
||||
|
||||
var savedNodeEnv = process.env.NODE_ENV;
|
||||
|
@ -865,7 +866,7 @@ task("runtests-parallel", ["build-rules", "tests", builtLocalDirectory], functio
|
|||
runConsoleTests('min', /*runInParallel*/ true);
|
||||
}, {async: true});
|
||||
|
||||
desc("Runs the tests using the built run.js file. Optional arguments are: t[ests]=regex r[eporter]=[list|spec|json|<more>] d[ebug]=true color[s]=false lint=true dirty=false.");
|
||||
desc("Runs the tests using the built run.js file. Optional arguments are: t[ests]=regex r[eporter]=[list|spec|json|<more>] d[ebug]=true color[s]=false lint=true bail=false dirty=false.");
|
||||
task("runtests", ["build-rules", "tests", builtLocalDirectory], function() {
|
||||
runConsoleTests('mocha-fivemat-progress-reporter', /*runInParallel*/ false);
|
||||
}, {async: true});
|
||||
|
|
|
@ -193,7 +193,6 @@ function runTests(taskConfigsFolder, run, options, cb) {
|
|||
counter--;
|
||||
|
||||
if (counter <= 0) {
|
||||
var failed = 0;
|
||||
var reporter = new Base(),
|
||||
stats = reporter.stats,
|
||||
failures = reporter.failures;
|
||||
|
@ -224,8 +223,8 @@ function runTests(taskConfigsFolder, run, options, cb) {
|
|||
reporter.epilogue();
|
||||
}
|
||||
|
||||
if (failed) {
|
||||
return cb(new Error("Test failures reported: " + failed));
|
||||
if (stats.failures) {
|
||||
return cb(new Error("Test failures reported: " + stats.failures));
|
||||
}
|
||||
else {
|
||||
return cb();
|
||||
|
|
|
@ -1985,7 +1985,7 @@ namespace ts {
|
|||
classPrototype.parent = leftSideOfAssignment;
|
||||
|
||||
const funcSymbol = container.locals[constructorFunction.text];
|
||||
if (!funcSymbol || !(funcSymbol.flags & SymbolFlags.Function)) {
|
||||
if (!funcSymbol || !(funcSymbol.flags & SymbolFlags.Function || isDeclarationOfFunctionExpression(funcSymbol))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -11500,8 +11500,12 @@ namespace ts {
|
|||
// When resolved signature is a call signature (and not a construct signature) the result type is any, unless
|
||||
// the declaring function had members created through 'x.prototype.y = expr' or 'this.y = expr' psuedodeclarations
|
||||
// in a JS file
|
||||
const funcSymbol = checkExpression(node.expression).symbol;
|
||||
if (funcSymbol && funcSymbol.members && (funcSymbol.flags & SymbolFlags.Function)) {
|
||||
// Note:JS inferred classes might come from a variable declaration instead of a function declaration.
|
||||
// In this case, using getResolvedSymbol directly is required to avoid losing the members from the declaration.
|
||||
const funcSymbol = node.expression.kind === SyntaxKind.Identifier ?
|
||||
getResolvedSymbol(node.expression as Identifier) :
|
||||
checkExpression(node.expression).symbol;
|
||||
if (funcSymbol && funcSymbol.members && (funcSymbol.flags & SymbolFlags.Function || isDeclarationOfFunctionExpression(funcSymbol))) {
|
||||
return getInferredClassType(funcSymbol);
|
||||
}
|
||||
else if (compilerOptions.noImplicitAny) {
|
||||
|
|
|
@ -342,8 +342,13 @@ namespace ts {
|
|||
}
|
||||
},
|
||||
{
|
||||
name: "typesRoot",
|
||||
type: "string"
|
||||
name: "typeRoots",
|
||||
type: "list",
|
||||
element: {
|
||||
name: "typeRoots",
|
||||
type: "string",
|
||||
isFilePath: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "types",
|
||||
|
@ -498,13 +503,20 @@ namespace ts {
|
|||
}
|
||||
|
||||
/* @internal */
|
||||
export function parseListTypeOption(opt: CommandLineOptionOfListType, value: string, errors: Diagnostic[]): (string | number)[] {
|
||||
const values = trimString((value || "")).split(",");
|
||||
export function parseListTypeOption(opt: CommandLineOptionOfListType, value = "", errors: Diagnostic[]): (string | number)[] | undefined {
|
||||
value = trimString(value);
|
||||
if (startsWith(value, "-")) {
|
||||
return undefined;
|
||||
}
|
||||
if (value === "") {
|
||||
return [];
|
||||
}
|
||||
const values = value.split(",");
|
||||
switch (opt.element.type) {
|
||||
case "number":
|
||||
return ts.map(values, parseInt);
|
||||
return map(values, parseInt);
|
||||
case "string":
|
||||
return ts.map(values, v => v || "");
|
||||
return map(values, v => v || "");
|
||||
default:
|
||||
return filter(map(values, v => parseCustomTypeOption(<CommandLineOptionOfCustomType>opt.element, v, errors)), v => !!v);
|
||||
}
|
||||
|
@ -565,8 +577,11 @@ namespace ts {
|
|||
i++;
|
||||
break;
|
||||
case "list":
|
||||
options[opt.name] = parseListTypeOption(<CommandLineOptionOfListType>opt, args[i], errors);
|
||||
i++;
|
||||
const result = parseListTypeOption(<CommandLineOptionOfListType>opt, args[i], errors);
|
||||
options[opt.name] = result || [];
|
||||
if (result) {
|
||||
i++;
|
||||
}
|
||||
break;
|
||||
// If not a primitive, the possible types are specified in what is effectively a map of options.
|
||||
default:
|
||||
|
|
|
@ -1931,6 +1931,10 @@
|
|||
"category": "Error",
|
||||
"code": 2687
|
||||
},
|
||||
"Cannot find type definition file for '{0}'.": {
|
||||
"category": "Error",
|
||||
"code": 2688
|
||||
},
|
||||
"Import declaration '{0}' is using private name '{1}'.": {
|
||||
"category": "Error",
|
||||
"code": 4000
|
||||
|
|
|
@ -4,16 +4,11 @@
|
|||
|
||||
namespace ts {
|
||||
/** The version of the TypeScript compiler release */
|
||||
export const version = "1.9.0";
|
||||
|
||||
const emptyArray: any[] = [];
|
||||
|
||||
const defaultLibrarySearchPaths = [
|
||||
"types/",
|
||||
"node_modules/",
|
||||
"node_modules/@types/",
|
||||
];
|
||||
|
||||
export const version = "1.9.0";
|
||||
const defaultTypeRoots = ["node_modules/@types"];
|
||||
|
||||
export function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean): string {
|
||||
while (true) {
|
||||
|
@ -178,6 +173,11 @@ namespace ts {
|
|||
|
||||
const typeReferenceExtensions = [".d.ts"];
|
||||
|
||||
function getEffectiveTypeRoots(options: CompilerOptions, host: ModuleResolutionHost) {
|
||||
return options.typeRoots ||
|
||||
defaultTypeRoots.map(d => combinePaths(options.configFilePath ? getDirectoryPath(options.configFilePath) : host.getCurrentDirectory(), d));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.
|
||||
* This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups
|
||||
|
@ -192,24 +192,22 @@ namespace ts {
|
|||
traceEnabled
|
||||
};
|
||||
|
||||
// use typesRoot and fallback to directory that contains tsconfig or current directory if typesRoot is not set
|
||||
const rootDir = options.typesRoot || (options.configFilePath ? getDirectoryPath(options.configFilePath) : (host.getCurrentDirectory && host.getCurrentDirectory()));
|
||||
|
||||
const typeRoots = getEffectiveTypeRoots(options, host);
|
||||
if (traceEnabled) {
|
||||
if (containingFile === undefined) {
|
||||
if (rootDir === undefined) {
|
||||
if (typeRoots === undefined) {
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set, typeReferenceDirectiveName);
|
||||
}
|
||||
else {
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1, typeReferenceDirectiveName, rootDir);
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1, typeReferenceDirectiveName, typeRoots);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (rootDir === undefined) {
|
||||
if (typeRoots === undefined) {
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set, typeReferenceDirectiveName, containingFile);
|
||||
}
|
||||
else {
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_2, typeReferenceDirectiveName, containingFile, rootDir);
|
||||
trace(host, Diagnostics.Resolving_type_reference_directive_0_containing_file_1_root_directory_2, typeReferenceDirectiveName, containingFile, typeRoots);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -217,14 +215,13 @@ namespace ts {
|
|||
const failedLookupLocations: string[] = [];
|
||||
|
||||
// Check primary library paths
|
||||
if (rootDir !== undefined) {
|
||||
const effectivePrimarySearchPaths = options.typesSearchPaths || defaultLibrarySearchPaths;
|
||||
for (const searchPath of effectivePrimarySearchPaths) {
|
||||
const primaryPath = combinePaths(rootDir, searchPath);
|
||||
if (traceEnabled) {
|
||||
trace(host, Diagnostics.Resolving_with_primary_search_path_0, primaryPath);
|
||||
}
|
||||
const candidate = combinePaths(primaryPath, typeReferenceDirectiveName);
|
||||
if (typeRoots.length) {
|
||||
if (traceEnabled) {
|
||||
trace(host, Diagnostics.Resolving_with_primary_search_path_0, typeRoots.join(", "));
|
||||
}
|
||||
const primarySearchPaths = typeRoots;
|
||||
for (const typeRoot of primarySearchPaths) {
|
||||
const candidate = combinePaths(typeRoot, typeReferenceDirectiveName);
|
||||
const candidateDirectory = getDirectoryPath(candidate);
|
||||
const resolvedFile = loadNodeModuleFromDirectory(typeReferenceExtensions, candidate, failedLookupLocations,
|
||||
!directoryProbablyExists(candidateDirectory, host), moduleResolutionState);
|
||||
|
@ -251,9 +248,6 @@ namespace ts {
|
|||
if (containingFile) {
|
||||
initialLocationForSecondaryLookup = getDirectoryPath(containingFile);
|
||||
}
|
||||
else {
|
||||
initialLocationForSecondaryLookup = rootDir;
|
||||
}
|
||||
|
||||
if (initialLocationForSecondaryLookup !== undefined) {
|
||||
// check secondary locations
|
||||
|
@ -932,19 +926,6 @@ namespace ts {
|
|||
}
|
||||
}
|
||||
|
||||
function getDefaultTypeDirectiveNames(rootPath: string): string[] {
|
||||
const localTypes = combinePaths(rootPath, "types");
|
||||
const npmTypes = combinePaths(rootPath, "node_modules/@types");
|
||||
let result: string[] = [];
|
||||
if (sys.directoryExists(localTypes)) {
|
||||
result = result.concat(sys.getDirectories(localTypes));
|
||||
}
|
||||
if (sys.directoryExists(npmTypes)) {
|
||||
result = result.concat(sys.getDirectories(npmTypes));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function getDefaultLibLocation(): string {
|
||||
return getDirectoryPath(normalizePath(sys.getExecutingFilePath()));
|
||||
}
|
||||
|
@ -953,7 +934,6 @@ namespace ts {
|
|||
const realpath = sys.realpath && ((path: string) => sys.realpath(path));
|
||||
|
||||
return {
|
||||
getDefaultTypeDirectiveNames,
|
||||
getSourceFile,
|
||||
getDefaultLibLocation,
|
||||
getDefaultLibFileName: options => combinePaths(getDefaultLibLocation(), getDefaultLibFileName(options)),
|
||||
|
@ -967,7 +947,8 @@ namespace ts {
|
|||
trace: (s: string) => sys.write(s + newLine),
|
||||
directoryExists: directoryName => sys.directoryExists(directoryName),
|
||||
realpath,
|
||||
getEnvironmentVariable: name => getEnvironmentVariable(name, /*host*/ undefined)
|
||||
getEnvironmentVariable: name => getEnvironmentVariable(name, /*host*/ undefined),
|
||||
getDirectories: (path: string) => sys.getDirectories(path),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1030,21 +1011,35 @@ namespace ts {
|
|||
return resolutions;
|
||||
}
|
||||
|
||||
export function getDefaultTypeDirectiveNames(options: CompilerOptions, rootFiles: string[], host: CompilerHost): string[] {
|
||||
function getInferredTypesRoot(options: CompilerOptions, rootFiles: string[], host: CompilerHost) {
|
||||
return computeCommonSourceDirectoryOfFilenames(rootFiles, host.getCurrentDirectory(), f => host.getCanonicalFileName(f));
|
||||
}
|
||||
|
||||
/**
|
||||
* Given a set of options and a set of root files, returns the set of type directive names
|
||||
* that should be included for this program automatically.
|
||||
* This list could either come from the config file,
|
||||
* or from enumerating the types root + initial secondary types lookup location.
|
||||
* More type directives might appear in the program later as a result of loading actual source files;
|
||||
* this list is only the set of defaults that are implicitly included.
|
||||
*/
|
||||
export function getAutomaticTypeDirectiveNames(options: CompilerOptions, rootFiles: string[], host: CompilerHost): string[] {
|
||||
// Use explicit type list from tsconfig.json
|
||||
if (options.types) {
|
||||
return options.types;
|
||||
}
|
||||
|
||||
// or load all types from the automatic type import fields
|
||||
if (host && host.getDefaultTypeDirectiveNames) {
|
||||
const commonRoot = computeCommonSourceDirectoryOfFilenames(rootFiles, host.getCurrentDirectory(), f => host.getCanonicalFileName(f));
|
||||
if (commonRoot) {
|
||||
return host.getDefaultTypeDirectiveNames(commonRoot);
|
||||
// Walk the primary type lookup locations
|
||||
let result: string[] = [];
|
||||
if (host.directoryExists && host.getDirectories) {
|
||||
const typeRoots = getEffectiveTypeRoots(options, host);
|
||||
for (const root of typeRoots) {
|
||||
if (host.directoryExists(root)) {
|
||||
result = result.concat(host.getDirectories(root));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
return result;
|
||||
}
|
||||
|
||||
export function createProgram(rootNames: string[], options: CompilerOptions, host?: CompilerHost, oldProgram?: Program): Program {
|
||||
|
@ -1096,11 +1091,13 @@ namespace ts {
|
|||
if (!tryReuseStructureFromOldProgram()) {
|
||||
forEach(rootNames, name => processRootFile(name, /*isDefaultLib*/ false));
|
||||
|
||||
// load type declarations specified via 'types' argument
|
||||
const typeReferences: string[] = getDefaultTypeDirectiveNames(options, rootNames, host);
|
||||
// load type declarations specified via 'types' argument or implicitly from types/ and node_modules/@types folders
|
||||
const typeReferences: string[] = getAutomaticTypeDirectiveNames(options, rootNames, host);
|
||||
|
||||
if (typeReferences) {
|
||||
const resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, /*containingFile*/ undefined);
|
||||
const inferredRoot = getInferredTypesRoot(options, rootNames, host);
|
||||
const containingFilename = combinePaths(inferredRoot, "__inferred type names__.ts");
|
||||
const resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, containingFilename);
|
||||
for (let i = 0; i < typeReferences.length; i++) {
|
||||
processTypeReferenceDirective(typeReferences[i], resolutions[i]);
|
||||
}
|
||||
|
@ -1208,10 +1205,9 @@ namespace ts {
|
|||
(oldOptions.jsx !== options.jsx) ||
|
||||
(oldOptions.allowJs !== options.allowJs) ||
|
||||
(oldOptions.rootDir !== options.rootDir) ||
|
||||
(oldOptions.typesSearchPaths !== options.typesSearchPaths) ||
|
||||
(oldOptions.configFilePath !== options.configFilePath) ||
|
||||
(oldOptions.baseUrl !== options.baseUrl) ||
|
||||
(oldOptions.typesRoot !== options.typesRoot) ||
|
||||
!arrayIsEqualTo(oldOptions.typeRoots, oldOptions.typeRoots) ||
|
||||
!arrayIsEqualTo(oldOptions.rootDirs, options.rootDirs) ||
|
||||
!mapIsEqualTo(oldOptions.paths, options.paths)) {
|
||||
return false;
|
||||
|
@ -1978,7 +1974,7 @@ namespace ts {
|
|||
}
|
||||
}
|
||||
else {
|
||||
fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, Diagnostics.Cannot_find_name_0, typeReferenceDirective));
|
||||
fileProcessingDiagnostics.add(createDiagnostic(refFile, refPos, refEnd, Diagnostics.Cannot_find_type_definition_file_for_0, typeReferenceDirective));
|
||||
}
|
||||
|
||||
if (saveResolution) {
|
||||
|
|
|
@ -2633,9 +2633,9 @@ namespace ts {
|
|||
target?: ScriptTarget;
|
||||
traceResolution?: boolean;
|
||||
types?: string[];
|
||||
/* @internal */ typesRoot?: string;
|
||||
/** Paths used to used to compute primary types search locations */
|
||||
typeRoots?: string[];
|
||||
typesSearchPaths?: string[];
|
||||
/* @internal */ useLegacyEmitter?: boolean;
|
||||
/*@internal*/ version?: boolean;
|
||||
/*@internal*/ watch?: boolean;
|
||||
|
||||
|
@ -2943,6 +2943,7 @@ namespace ts {
|
|||
getDefaultTypeDirectiveNames?(rootPath: string): string[];
|
||||
writeFile: WriteFileCallback;
|
||||
getCurrentDirectory(): string;
|
||||
getDirectories(path: string): string[];
|
||||
getCanonicalFileName(fileName: string): string;
|
||||
useCaseSensitiveFileNames(): boolean;
|
||||
getNewLine(): string;
|
||||
|
|
|
@ -1364,6 +1364,18 @@ namespace ts {
|
|||
return charCode === CharacterCodes.singleQuote || charCode === CharacterCodes.doubleQuote;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the node is a variable declaration whose initializer is a function expression.
|
||||
* This function does not test if the node is in a JavaScript file or not.
|
||||
*/
|
||||
export function isDeclarationOfFunctionExpression(s: Symbol) {
|
||||
if (s.valueDeclaration && s.valueDeclaration.kind === SyntaxKind.VariableDeclaration) {
|
||||
const declaration = s.valueDeclaration as VariableDeclaration;
|
||||
return declaration.initializer && declaration.initializer.kind === SyntaxKind.FunctionExpression;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Given a BinaryExpression, returns SpecialPropertyAssignmentKind for the various kinds of property
|
||||
/// assignments we treat as special in the binder
|
||||
export function getSpecialPropertyAssignmentKind(expression: Node): SpecialPropertyAssignmentKind {
|
||||
|
|
|
@ -246,8 +246,8 @@ namespace FourSlash {
|
|||
// Create a new Services Adapter
|
||||
this.cancellationToken = new TestCancellationToken();
|
||||
const compilationOptions = convertGlobalOptionsToCompilerOptions(this.testData.globalOptions);
|
||||
if (compilationOptions.typesRoot) {
|
||||
compilationOptions.typesRoot = ts.getNormalizedAbsolutePath(compilationOptions.typesRoot, this.basePath);
|
||||
if (compilationOptions.typeRoots) {
|
||||
compilationOptions.typeRoots = compilationOptions.typeRoots.map(p => ts.getNormalizedAbsolutePath(p, this.basePath));
|
||||
}
|
||||
|
||||
const languageServiceAdapter = this.getLanguageServiceAdapter(testType, this.cancellationToken, compilationOptions);
|
||||
|
@ -717,6 +717,8 @@ namespace FourSlash {
|
|||
public verifyCompletionEntryDetails(entryName: string, expectedText: string, expectedDocumentation?: string, kind?: string) {
|
||||
const details = this.getCompletionEntryDetails(entryName);
|
||||
|
||||
assert(details, "no completion entry available");
|
||||
|
||||
assert.equal(ts.displayPartsToString(details.displayParts), expectedText, this.assertionMessageAtLastKnownMarker("completion entry details text"));
|
||||
|
||||
if (expectedDocumentation !== undefined) {
|
||||
|
@ -728,7 +730,7 @@ namespace FourSlash {
|
|||
}
|
||||
}
|
||||
|
||||
public verifyReferencesAtPositionListContains(fileName: string, start: number, end: number, isWriteAccess?: boolean) {
|
||||
public verifyReferencesAtPositionListContains(fileName: string, start: number, end: number, isWriteAccess?: boolean, isDefinition?: boolean) {
|
||||
const references = this.getReferencesAtCaret();
|
||||
|
||||
if (!references || references.length === 0) {
|
||||
|
@ -741,11 +743,14 @@ namespace FourSlash {
|
|||
if (typeof isWriteAccess !== "undefined" && reference.isWriteAccess !== isWriteAccess) {
|
||||
this.raiseError(`verifyReferencesAtPositionListContains failed - item isWriteAccess value does not match, actual: ${reference.isWriteAccess}, expected: ${isWriteAccess}.`);
|
||||
}
|
||||
if (typeof isDefinition !== "undefined" && reference.isDefinition !== isDefinition) {
|
||||
this.raiseError(`verifyReferencesAtPositionListContains failed - item isDefinition value does not match, actual: ${reference.isDefinition}, expected: ${isDefinition}.`);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const missingItem = { fileName: fileName, start: start, end: end, isWriteAccess: isWriteAccess };
|
||||
const missingItem = { fileName, start, end, isWriteAccess, isDefinition };
|
||||
this.raiseError(`verifyReferencesAtPositionListContains failed - could not find the item: ${stringify(missingItem)} in the returned list: (${stringify(references)})`);
|
||||
}
|
||||
|
||||
|
@ -2835,8 +2840,8 @@ namespace FourSlashInterface {
|
|||
this.state.verifyReferencesCountIs(count, /*localFilesOnly*/ false);
|
||||
}
|
||||
|
||||
public referencesAtPositionContains(range: FourSlash.Range, isWriteAccess?: boolean) {
|
||||
this.state.verifyReferencesAtPositionListContains(range.fileName, range.start, range.end, isWriteAccess);
|
||||
public referencesAtPositionContains(range: FourSlash.Range, isWriteAccess?: boolean, isDefinition?: boolean) {
|
||||
this.state.verifyReferencesAtPositionListContains(range.fileName, range.start, range.end, isWriteAccess, isDefinition);
|
||||
}
|
||||
|
||||
public signatureHelpPresent() {
|
||||
|
|
|
@ -486,6 +486,7 @@ namespace Harness {
|
|||
readFile(path: string): string;
|
||||
writeFile(path: string, contents: string): void;
|
||||
directoryName(path: string): string;
|
||||
getDirectories(path: string): string[];
|
||||
createDirectory(path: string): void;
|
||||
fileExists(fileName: string): boolean;
|
||||
directoryExists(path: string): boolean;
|
||||
|
@ -533,6 +534,7 @@ namespace Harness {
|
|||
export const readFile: typeof IO.readFile = path => ts.sys.readFile(path);
|
||||
export const writeFile: typeof IO.writeFile = (path, content) => ts.sys.writeFile(path, content);
|
||||
export const directoryName: typeof IO.directoryName = fso.GetParentFolderName;
|
||||
export const getDirectories: typeof IO.getDirectories = dir => ts.sys.getDirectories(dir);
|
||||
export const directoryExists: typeof IO.directoryExists = fso.FolderExists;
|
||||
export const fileExists: typeof IO.fileExists = fso.FileExists;
|
||||
export const log: typeof IO.log = global.WScript && global.WScript.StdOut.WriteLine;
|
||||
|
@ -600,6 +602,7 @@ namespace Harness {
|
|||
export const args = () => ts.sys.args;
|
||||
export const getExecutingFilePath = () => ts.sys.getExecutingFilePath();
|
||||
export const exit = (exitCode: number) => ts.sys.exit(exitCode);
|
||||
export const getDirectories: typeof IO.getDirectories = path => ts.sys.getDirectories(path);
|
||||
|
||||
export const readFile: typeof IO.readFile = path => ts.sys.readFile(path);
|
||||
export const writeFile: typeof IO.writeFile = (path, content) => ts.sys.writeFile(path, content);
|
||||
|
@ -680,6 +683,7 @@ namespace Harness {
|
|||
export const args = () => <string[]>[];
|
||||
export const getExecutingFilePath = () => "";
|
||||
export const exit = (exitCode: number) => { };
|
||||
export const getDirectories = () => <string[]>[];
|
||||
|
||||
export let log = (s: string) => console.log(s);
|
||||
|
||||
|
@ -936,7 +940,7 @@ namespace Harness {
|
|||
// Local get canonical file name function, that depends on passed in parameter for useCaseSensitiveFileNames
|
||||
const getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
|
||||
|
||||
let realPathMap: ts.FileMap<string>;
|
||||
const realPathMap: ts.FileMap<string> = ts.createFileMap<string>();
|
||||
const fileMap: ts.FileMap<() => ts.SourceFile> = ts.createFileMap<() => ts.SourceFile>();
|
||||
for (const file of inputFiles) {
|
||||
if (file.content !== undefined) {
|
||||
|
@ -945,9 +949,6 @@ namespace Harness {
|
|||
if (file.fileOptions && file.fileOptions["symlink"]) {
|
||||
const link = file.fileOptions["symlink"];
|
||||
const linkPath = ts.toPath(link, currentDirectory, getCanonicalFileName);
|
||||
if (!realPathMap) {
|
||||
realPathMap = ts.createFileMap<string>();
|
||||
}
|
||||
realPathMap.set(linkPath, fileName);
|
||||
fileMap.set(path, (): ts.SourceFile => { throw new Error("Symlinks should always be resolved to a realpath first"); });
|
||||
}
|
||||
|
@ -981,20 +982,6 @@ namespace Harness {
|
|||
|
||||
|
||||
return {
|
||||
getDefaultTypeDirectiveNames: (path: string) => {
|
||||
const results: string[] = [];
|
||||
fileMap.forEachValue((key, value) => {
|
||||
const rx = /node_modules\/@types\/(\w+)/;
|
||||
const typeNameResult = rx.exec(key);
|
||||
if (typeNameResult) {
|
||||
const typeName = typeNameResult[1];
|
||||
if (results.indexOf(typeName) < 0) {
|
||||
results.push(typeName);
|
||||
}
|
||||
}
|
||||
});
|
||||
return results;
|
||||
},
|
||||
getCurrentDirectory: () => currentDirectory,
|
||||
getSourceFile,
|
||||
getDefaultLibFileName,
|
||||
|
@ -1012,7 +999,37 @@ namespace Harness {
|
|||
realpath: realPathMap && ((f: string) => {
|
||||
const path = ts.toPath(f, currentDirectory, getCanonicalFileName);
|
||||
return realPathMap.contains(path) ? realPathMap.get(path) : path;
|
||||
})
|
||||
}),
|
||||
directoryExists: dir => {
|
||||
let path = ts.toPath(dir, currentDirectory, getCanonicalFileName);
|
||||
// Strip trailing /, which may exist if the path is a drive root
|
||||
if (path[path.length - 1] === "/") {
|
||||
path = <ts.Path>path.substr(0, path.length - 1);
|
||||
}
|
||||
let exists = false;
|
||||
fileMap.forEachValue(key => {
|
||||
if (key.indexOf(path) === 0 && key[path.length] === "/") {
|
||||
exists = true;
|
||||
}
|
||||
});
|
||||
return exists;
|
||||
},
|
||||
getDirectories: d => {
|
||||
const path = ts.toPath(d, currentDirectory, getCanonicalFileName);
|
||||
const result: string[] = [];
|
||||
fileMap.forEachValue((key, value) => {
|
||||
if (key.indexOf(path) === 0 && key.lastIndexOf("/") > path.length) {
|
||||
let dirName = key.substr(path.length, key.indexOf("/", path.length + 1) - path.length);
|
||||
if (dirName[0] === "/") {
|
||||
dirName = dirName.substr(1);
|
||||
}
|
||||
if (result.indexOf(dirName) < 0) {
|
||||
result.push(dirName);
|
||||
}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1111,7 +1128,9 @@ namespace Harness {
|
|||
options.noErrorTruncation = true;
|
||||
options.skipDefaultLibCheck = true;
|
||||
|
||||
currentDirectory = currentDirectory || Harness.IO.getCurrentDirectory();
|
||||
if (typeof currentDirectory === "undefined") {
|
||||
currentDirectory = Harness.IO.getCurrentDirectory();
|
||||
}
|
||||
|
||||
// Parse settings
|
||||
if (harnessSettings) {
|
||||
|
@ -1770,4 +1789,4 @@ namespace Harness {
|
|||
}
|
||||
|
||||
if (Error) (<any>Error).stackTraceLimit = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -246,16 +246,21 @@ namespace Harness.LanguageService {
|
|||
};
|
||||
this.getTypeReferenceDirectiveResolutionsForFile = (fileName) => {
|
||||
const scriptInfo = this.getScriptInfo(fileName);
|
||||
const preprocessInfo = ts.preProcessFile(scriptInfo.content, /*readImportFiles*/ false);
|
||||
const resolutions: ts.Map<ts.ResolvedTypeReferenceDirective> = {};
|
||||
const settings = this.nativeHost.getCompilationSettings();
|
||||
for (const typeReferenceDirective of preprocessInfo.typeReferenceDirectives) {
|
||||
const resolutionInfo = ts.resolveTypeReferenceDirective(typeReferenceDirective.fileName, fileName, settings, moduleResolutionHost);
|
||||
if (resolutionInfo.resolvedTypeReferenceDirective.resolvedFileName) {
|
||||
resolutions[typeReferenceDirective.fileName] = resolutionInfo.resolvedTypeReferenceDirective;
|
||||
if (scriptInfo) {
|
||||
const preprocessInfo = ts.preProcessFile(scriptInfo.content, /*readImportFiles*/ false);
|
||||
const resolutions: ts.Map<ts.ResolvedTypeReferenceDirective> = {};
|
||||
const settings = this.nativeHost.getCompilationSettings();
|
||||
for (const typeReferenceDirective of preprocessInfo.typeReferenceDirectives) {
|
||||
const resolutionInfo = ts.resolveTypeReferenceDirective(typeReferenceDirective.fileName, fileName, settings, moduleResolutionHost);
|
||||
if (resolutionInfo.resolvedTypeReferenceDirective.resolvedFileName) {
|
||||
resolutions[typeReferenceDirective.fileName] = resolutionInfo.resolvedTypeReferenceDirective;
|
||||
}
|
||||
}
|
||||
return JSON.stringify(resolutions);
|
||||
}
|
||||
else {
|
||||
return "[]";
|
||||
}
|
||||
return JSON.stringify(resolutions);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -185,7 +185,8 @@ class ProjectRunner extends RunnerBase {
|
|||
useCaseSensitiveFileNames: () => Harness.IO.useCaseSensitiveFileNames(),
|
||||
getNewLine: () => Harness.IO.newLine(),
|
||||
fileExists: fileName => fileName === Harness.Compiler.defaultLibFileName || getSourceFileText(fileName) !== undefined,
|
||||
readFile: fileName => Harness.IO.readFile(fileName)
|
||||
readFile: fileName => Harness.IO.readFile(fileName),
|
||||
getDirectories: path => Harness.IO.getDirectories(path)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -376,6 +376,7 @@ namespace ts.server {
|
|||
fileName: fileName,
|
||||
textSpan: ts.createTextSpanFromBounds(start, end),
|
||||
isWriteAccess: entry.isWriteAccess,
|
||||
isDefinition: entry.isDefinition,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -536,6 +537,7 @@ namespace ts.server {
|
|||
fileName,
|
||||
textSpan: ts.createTextSpanFromBounds(start, end),
|
||||
isWriteAccess: entry.isWriteAccess,
|
||||
isDefinition: false
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
@ -315,6 +315,10 @@ namespace ts.server {
|
|||
return this.host.directoryExists(path);
|
||||
}
|
||||
|
||||
getDirectories(path: string): string[] {
|
||||
return this.host.getDirectories(path);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param line 1 based index
|
||||
*/
|
||||
|
|
5
src/server/protocol.d.ts
vendored
5
src/server/protocol.d.ts
vendored
|
@ -304,6 +304,11 @@ declare namespace ts.server.protocol {
|
|||
* True if reference is a write location, false otherwise.
|
||||
*/
|
||||
isWriteAccess: boolean;
|
||||
|
||||
/**
|
||||
* True if reference is a definition, false otherwise.
|
||||
*/
|
||||
isDefinition: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -379,7 +379,7 @@ namespace ts.server {
|
|||
start,
|
||||
end,
|
||||
file: fileName,
|
||||
isWriteAccess
|
||||
isWriteAccess,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -555,7 +555,8 @@ namespace ts.server {
|
|||
start: start,
|
||||
lineText: lineText,
|
||||
end: compilerService.host.positionToLineOffset(ref.fileName, ts.textSpanEnd(ref.textSpan)),
|
||||
isWriteAccess: ref.isWriteAccess
|
||||
isWriteAccess: ref.isWriteAccess,
|
||||
isDefinition: ref.isDefinition
|
||||
};
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1083,6 +1083,7 @@ namespace ts {
|
|||
resolveModuleNames?(moduleNames: string[], containingFile: string): ResolvedModule[];
|
||||
resolveTypeReferenceDirectives?(typeDirectiveNames: string[], containingFile: string): ResolvedTypeReferenceDirective[];
|
||||
directoryExists?(directoryName: string): boolean;
|
||||
getDirectories?(directoryName: string): string[];
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -1214,6 +1215,7 @@ namespace ts {
|
|||
textSpan: TextSpan;
|
||||
fileName: string;
|
||||
isWriteAccess: boolean;
|
||||
isDefinition: boolean;
|
||||
}
|
||||
|
||||
export interface DocumentHighlights {
|
||||
|
@ -1949,17 +1951,11 @@ namespace ts {
|
|||
|
||||
let commandLineOptionsStringToEnum: CommandLineOptionOfCustomType[];
|
||||
|
||||
/**
|
||||
* Convert an option's string name of enum-value in compiler-options, "options", into its corresponding enum value if possible.
|
||||
* This is necessary because JS users may pass in string values for enum compiler options (e.g. ModuleKind).
|
||||
*
|
||||
* @param options a compiler-options used in transpilation which can contain string value to specify instead of enum values
|
||||
* @param diagnostics a list of Diagnostic which occur during conversion (e.g invalid option's value)
|
||||
*/
|
||||
function ConvertStringForEnumNameInCompilerOptionsToEnumValue(options: CompilerOptions, diagnostics: Diagnostic[]): CompilerOptions {
|
||||
/** JS users may pass in string values for enum compiler options (such as ModuleKind), so convert. */
|
||||
function fixupCompilerOptions(options: CompilerOptions, diagnostics: Diagnostic[]): CompilerOptions {
|
||||
// Lazily create this value to fix module loading errors.
|
||||
commandLineOptionsStringToEnum = commandLineOptionsStringToEnum || <CommandLineOptionOfCustomType[]>filter(optionDeclarations, o =>
|
||||
typeof o.type === "object" && !forEachValue(<Map<number | string>> o.type, v => typeof v !== "number"));
|
||||
typeof o.type === "object" && !forEachValue(<Map<any>> o.type, v => typeof v !== "number"));
|
||||
|
||||
options = clone(options);
|
||||
|
||||
|
@ -1997,7 +1993,7 @@ namespace ts {
|
|||
export function transpileModule(input: string, transpileOptions: TranspileOptions): TranspileOutput {
|
||||
const diagnostics: Diagnostic[] = [];
|
||||
|
||||
const options: CompilerOptions = transpileOptions.compilerOptions ? ConvertStringForEnumNameInCompilerOptionsToEnumValue(transpileOptions.compilerOptions, diagnostics) : getDefaultCompilerOptions();
|
||||
const options: CompilerOptions = transpileOptions.compilerOptions ? fixupCompilerOptions(transpileOptions.compilerOptions, diagnostics) : getDefaultCompilerOptions();
|
||||
|
||||
options.isolatedModules = true;
|
||||
|
||||
|
@ -2050,7 +2046,8 @@ namespace ts {
|
|||
getNewLine: () => newLine,
|
||||
fileExists: (fileName): boolean => fileName === inputFileName,
|
||||
readFile: (fileName): string => "",
|
||||
directoryExists: directoryExists => true
|
||||
directoryExists: directoryExists => true,
|
||||
getDirectories: (path: string) => []
|
||||
};
|
||||
|
||||
// If there is an error from converting string in compiler-options to its corresponding enum value,
|
||||
|
@ -2156,7 +2153,7 @@ namespace ts {
|
|||
const getCanonicalFileName = createGetCanonicalFileName(!!useCaseSensitiveFileNames);
|
||||
|
||||
function getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey {
|
||||
return <DocumentRegistryBucketKey>`_${settings.target}|${settings.module}|${settings.noResolve}|${settings.jsx}|${settings.allowJs}|${settings.baseUrl}|${settings.typesRoot}|${settings.typesSearchPaths}|${JSON.stringify(settings.rootDirs)}|${JSON.stringify(settings.paths)}`;
|
||||
return <DocumentRegistryBucketKey>`_${settings.target}|${settings.module}|${settings.noResolve}|${settings.jsx}|${settings.allowJs}|${settings.baseUrl}|${JSON.stringify(settings.typeRoots)}|${JSON.stringify(settings.rootDirs)}|${JSON.stringify(settings.paths)}`;
|
||||
}
|
||||
|
||||
function getBucketForCompilationSettings(key: DocumentRegistryBucketKey, createIfMissing: boolean): FileMap<DocumentRegistryEntry> {
|
||||
|
@ -3016,8 +3013,10 @@ namespace ts {
|
|||
return entry && entry.scriptSnapshot.getText(0, entry.scriptSnapshot.getLength());
|
||||
},
|
||||
directoryExists: directoryName => {
|
||||
Debug.assert(!host.resolveModuleNames || !host.resolveTypeReferenceDirectives);
|
||||
return directoryProbablyExists(directoryName, host);
|
||||
},
|
||||
getDirectories: path => {
|
||||
return host.getDirectories ? host.getDirectories(path) : [];
|
||||
}
|
||||
};
|
||||
if (host.trace) {
|
||||
|
@ -4154,7 +4153,7 @@ namespace ts {
|
|||
|
||||
if (!uniqueNames[name]) {
|
||||
uniqueNames[name] = name;
|
||||
const displayName = getCompletionEntryDisplayName(name, target, /*performCharacterChecks*/ true);
|
||||
const displayName = getCompletionEntryDisplayName(unescapeIdentifier(name), target, /*performCharacterChecks*/ true);
|
||||
if (displayName) {
|
||||
const entry = {
|
||||
name: displayName,
|
||||
|
@ -5766,7 +5765,8 @@ namespace ts {
|
|||
result.push({
|
||||
fileName: entry.fileName,
|
||||
textSpan: highlightSpan.textSpan,
|
||||
isWriteAccess: highlightSpan.kind === HighlightSpanKind.writtenReference
|
||||
isWriteAccess: highlightSpan.kind === HighlightSpanKind.writtenReference,
|
||||
isDefinition: false
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -6200,7 +6200,8 @@ namespace ts {
|
|||
references: [{
|
||||
fileName: sourceFile.fileName,
|
||||
textSpan: createTextSpan(position, searchText.length),
|
||||
isWriteAccess: false
|
||||
isWriteAccess: false,
|
||||
isDefinition: false
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
@ -6754,7 +6755,8 @@ namespace ts {
|
|||
return {
|
||||
fileName: node.getSourceFile().fileName,
|
||||
textSpan: createTextSpanFromBounds(start, end),
|
||||
isWriteAccess: isWriteAccess(node)
|
||||
isWriteAccess: isWriteAccess(node),
|
||||
isDefinition: isDeclarationName(node) || isLiteralComputedPropertyDeclarationName(node)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@ namespace ts {
|
|||
|
||||
/**
|
||||
* Returns a JSON-encoded value of the type:
|
||||
* { fileName: string; textSpan: { start: number; length: number}; isWriteAccess: boolean }[]
|
||||
* { fileName: string; textSpan: { start: number; length: number}; isWriteAccess: boolean, isDefinition?: boolean }[]
|
||||
*/
|
||||
getReferencesAtPosition(fileName: string, position: number): string;
|
||||
|
||||
|
@ -1141,4 +1141,4 @@ namespace TypeScript.Services {
|
|||
/* @internal */
|
||||
const toolsVersion = "1.9";
|
||||
|
||||
/* tslint:enable:no-unused-variable */
|
||||
/* tslint:enable:no-unused-variable */
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
//// [tests/cases/compiler/commonSourceDir5.ts] ////
|
||||
|
||||
//// [bar.ts]
|
||||
|
||||
import {z} from "./foo";
|
||||
export var x = z + z;
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
=== A:/bar.ts ===
|
||||
|
||||
import {z} from "./foo";
|
||||
>z : Symbol(z, Decl(bar.ts, 0, 8))
|
||||
>z : Symbol(z, Decl(bar.ts, 1, 8))
|
||||
|
||||
export var x = z + z;
|
||||
>x : Symbol(x, Decl(bar.ts, 1, 10))
|
||||
>z : Symbol(z, Decl(bar.ts, 0, 8))
|
||||
>z : Symbol(z, Decl(bar.ts, 0, 8))
|
||||
>x : Symbol(x, Decl(bar.ts, 2, 10))
|
||||
>z : Symbol(z, Decl(bar.ts, 1, 8))
|
||||
>z : Symbol(z, Decl(bar.ts, 1, 8))
|
||||
|
||||
=== A:/foo.ts ===
|
||||
import {pi} from "B:/baz";
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
=== A:/bar.ts ===
|
||||
|
||||
import {z} from "./foo";
|
||||
>z : number
|
||||
|
||||
|
|
59
tests/baselines/reference/decoratorMetadataPromise.js
Normal file
59
tests/baselines/reference/decoratorMetadataPromise.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
//// [decoratorMetadataPromise.ts]
|
||||
|
||||
declare const decorator: MethodDecorator;
|
||||
|
||||
class A {
|
||||
@decorator
|
||||
async foo() {}
|
||||
@decorator
|
||||
async bar(): Promise<number> { return 0; }
|
||||
@decorator
|
||||
baz(n: Promise<number>): Promise<number> { return n; }
|
||||
}
|
||||
|
||||
|
||||
//// [decoratorMetadataPromise.js]
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments)).next());
|
||||
});
|
||||
};
|
||||
class A {
|
||||
foo() {
|
||||
return __awaiter(this, void 0, void 0, function* () { });
|
||||
}
|
||||
bar() {
|
||||
return __awaiter(this, void 0, void 0, function* () { return 0; });
|
||||
}
|
||||
baz(n) { return n; }
|
||||
}
|
||||
__decorate([
|
||||
decorator,
|
||||
__metadata('design:type', Function),
|
||||
__metadata('design:paramtypes', []),
|
||||
__metadata('design:returntype', Promise)
|
||||
], A.prototype, "foo", null);
|
||||
__decorate([
|
||||
decorator,
|
||||
__metadata('design:type', Function),
|
||||
__metadata('design:paramtypes', []),
|
||||
__metadata('design:returntype', Promise)
|
||||
], A.prototype, "bar", null);
|
||||
__decorate([
|
||||
decorator,
|
||||
__metadata('design:type', Function),
|
||||
__metadata('design:paramtypes', [Promise]),
|
||||
__metadata('design:returntype', Promise)
|
||||
], A.prototype, "baz", null);
|
33
tests/baselines/reference/decoratorMetadataPromise.symbols
Normal file
33
tests/baselines/reference/decoratorMetadataPromise.symbols
Normal file
|
@ -0,0 +1,33 @@
|
|||
=== tests/cases/compiler/decoratorMetadataPromise.ts ===
|
||||
|
||||
declare const decorator: MethodDecorator;
|
||||
>decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 1, 13))
|
||||
>MethodDecorator : Symbol(MethodDecorator, Decl(lib.es5.d.ts, --, --))
|
||||
|
||||
class A {
|
||||
>A : Symbol(A, Decl(decoratorMetadataPromise.ts, 1, 41))
|
||||
|
||||
@decorator
|
||||
>decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 1, 13))
|
||||
|
||||
async foo() {}
|
||||
>foo : Symbol(A.foo, Decl(decoratorMetadataPromise.ts, 3, 9))
|
||||
|
||||
@decorator
|
||||
>decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 1, 13))
|
||||
|
||||
async bar(): Promise<number> { return 0; }
|
||||
>bar : Symbol(A.bar, Decl(decoratorMetadataPromise.ts, 5, 18))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
@decorator
|
||||
>decorator : Symbol(decorator, Decl(decoratorMetadataPromise.ts, 1, 13))
|
||||
|
||||
baz(n: Promise<number>): Promise<number> { return n; }
|
||||
>baz : Symbol(A.baz, Decl(decoratorMetadataPromise.ts, 7, 46))
|
||||
>n : Symbol(n, Decl(decoratorMetadataPromise.ts, 9, 8))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
>n : Symbol(n, Decl(decoratorMetadataPromise.ts, 9, 8))
|
||||
}
|
||||
|
34
tests/baselines/reference/decoratorMetadataPromise.types
Normal file
34
tests/baselines/reference/decoratorMetadataPromise.types
Normal file
|
@ -0,0 +1,34 @@
|
|||
=== tests/cases/compiler/decoratorMetadataPromise.ts ===
|
||||
|
||||
declare const decorator: MethodDecorator;
|
||||
>decorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
>MethodDecorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
class A {
|
||||
>A : A
|
||||
|
||||
@decorator
|
||||
>decorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
async foo() {}
|
||||
>foo : () => Promise<void>
|
||||
|
||||
@decorator
|
||||
>decorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
async bar(): Promise<number> { return 0; }
|
||||
>bar : () => Promise<number>
|
||||
>Promise : Promise<T>
|
||||
>0 : number
|
||||
|
||||
@decorator
|
||||
>decorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
baz(n: Promise<number>): Promise<number> { return n; }
|
||||
>baz : (n: Promise<number>) => Promise<number>
|
||||
>n : Promise<number>
|
||||
>Promise : Promise<T>
|
||||
>Promise : Promise<T>
|
||||
>n : Promise<number>
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
//// [disallowAsyncModifierInES5.ts]
|
||||
|
||||
async function foo() { return 42; } // ERROR: Async functions are only available in ES6+
|
||||
let bar = async function () { return 42; } // OK, but should be an error
|
||||
|
||||
async function foo() { return 42; } // ERROR: Async functions are only available in ES6+
|
||||
let bar = async function () { return 42; } // OK, but should be an error
|
||||
let baz = async () => 42; // OK, but should be an error
|
||||
|
||||
//// [disallowAsyncModifierInES5.js]
|
||||
|
@ -20,4 +20,4 @@ function foo() {
|
|||
var bar = function () {
|
||||
return __awaiter(this, void 0, void 0, function* () { return 42; });
|
||||
}; // OK, but should be an error
|
||||
var baz = function () { return __awaiter(_this, void 0, void 0, function* () { return 42; }); }; // OK, but should be an error
|
||||
var baz = function () { return __awaiter(_this, void 0, void 0, function* () { return 42; }); }; // OK, but should be an error
|
80
tests/baselines/reference/emitDecoratorMetadata_restArgs.js
Normal file
80
tests/baselines/reference/emitDecoratorMetadata_restArgs.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
//// [emitDecoratorMetadata_restArgs.ts]
|
||||
|
||||
declare const MyClassDecorator: ClassDecorator;
|
||||
declare const MyMethodDecorator: MethodDecorator;
|
||||
|
||||
@MyClassDecorator
|
||||
class A {
|
||||
constructor(...args) {}
|
||||
@MyMethodDecorator
|
||||
method(...args) {}
|
||||
}
|
||||
|
||||
@MyClassDecorator
|
||||
class B {
|
||||
constructor(...args: number[]) {}
|
||||
@MyMethodDecorator
|
||||
method(...args: string[]) {}
|
||||
}
|
||||
|
||||
|
||||
//// [emitDecoratorMetadata_restArgs.js]
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var A = (function () {
|
||||
function A() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i - 0] = arguments[_i];
|
||||
}
|
||||
}
|
||||
A.prototype.method = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i - 0] = arguments[_i];
|
||||
}
|
||||
};
|
||||
__decorate([
|
||||
MyMethodDecorator,
|
||||
__metadata('design:type', Function),
|
||||
__metadata('design:paramtypes', [Object]),
|
||||
__metadata('design:returntype', void 0)
|
||||
], A.prototype, "method", null);
|
||||
A = __decorate([
|
||||
MyClassDecorator,
|
||||
__metadata('design:paramtypes', [Object])
|
||||
], A);
|
||||
return A;
|
||||
}());
|
||||
var B = (function () {
|
||||
function B() {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i - 0] = arguments[_i];
|
||||
}
|
||||
}
|
||||
B.prototype.method = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i - 0] = arguments[_i];
|
||||
}
|
||||
};
|
||||
__decorate([
|
||||
MyMethodDecorator,
|
||||
__metadata('design:type', Function),
|
||||
__metadata('design:paramtypes', [String]),
|
||||
__metadata('design:returntype', void 0)
|
||||
], B.prototype, "method", null);
|
||||
B = __decorate([
|
||||
MyClassDecorator,
|
||||
__metadata('design:paramtypes', [Number])
|
||||
], B);
|
||||
return B;
|
||||
}());
|
|
@ -0,0 +1,44 @@
|
|||
=== tests/cases/compiler/emitDecoratorMetadata_restArgs.ts ===
|
||||
|
||||
declare const MyClassDecorator: ClassDecorator;
|
||||
>MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 1, 13))
|
||||
>ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --))
|
||||
|
||||
declare const MyMethodDecorator: MethodDecorator;
|
||||
>MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 2, 13))
|
||||
>MethodDecorator : Symbol(MethodDecorator, Decl(lib.d.ts, --, --))
|
||||
|
||||
@MyClassDecorator
|
||||
>MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 1, 13))
|
||||
|
||||
class A {
|
||||
>A : Symbol(A, Decl(emitDecoratorMetadata_restArgs.ts, 2, 49))
|
||||
|
||||
constructor(...args) {}
|
||||
>args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 6, 16))
|
||||
|
||||
@MyMethodDecorator
|
||||
>MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 2, 13))
|
||||
|
||||
method(...args) {}
|
||||
>method : Symbol(A.method, Decl(emitDecoratorMetadata_restArgs.ts, 6, 27))
|
||||
>args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 8, 11))
|
||||
}
|
||||
|
||||
@MyClassDecorator
|
||||
>MyClassDecorator : Symbol(MyClassDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 1, 13))
|
||||
|
||||
class B {
|
||||
>B : Symbol(B, Decl(emitDecoratorMetadata_restArgs.ts, 9, 1))
|
||||
|
||||
constructor(...args: number[]) {}
|
||||
>args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 13, 16))
|
||||
|
||||
@MyMethodDecorator
|
||||
>MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 2, 13))
|
||||
|
||||
method(...args: string[]) {}
|
||||
>method : Symbol(B.method, Decl(emitDecoratorMetadata_restArgs.ts, 13, 37))
|
||||
>args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 15, 11))
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
=== tests/cases/compiler/emitDecoratorMetadata_restArgs.ts ===
|
||||
|
||||
declare const MyClassDecorator: ClassDecorator;
|
||||
>MyClassDecorator : <TFunction extends Function>(target: TFunction) => TFunction | void
|
||||
>ClassDecorator : <TFunction extends Function>(target: TFunction) => TFunction | void
|
||||
|
||||
declare const MyMethodDecorator: MethodDecorator;
|
||||
>MyMethodDecorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
>MethodDecorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
@MyClassDecorator
|
||||
>MyClassDecorator : <TFunction extends Function>(target: TFunction) => TFunction | void
|
||||
|
||||
class A {
|
||||
>A : A
|
||||
|
||||
constructor(...args) {}
|
||||
>args : any[]
|
||||
|
||||
@MyMethodDecorator
|
||||
>MyMethodDecorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
method(...args) {}
|
||||
>method : (...args: any[]) => void
|
||||
>args : any[]
|
||||
}
|
||||
|
||||
@MyClassDecorator
|
||||
>MyClassDecorator : <TFunction extends Function>(target: TFunction) => TFunction | void
|
||||
|
||||
class B {
|
||||
>B : B
|
||||
|
||||
constructor(...args: number[]) {}
|
||||
>args : number[]
|
||||
|
||||
@MyMethodDecorator
|
||||
>MyMethodDecorator : <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void
|
||||
|
||||
method(...args: string[]) {}
|
||||
>method : (...args: string[]) => void
|
||||
>args : string[]
|
||||
}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
=== /consumer.ts ===
|
||||
=== /src/consumer.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.foo();
|
||||
>$.foo : Symbol(foo, Decl(index.d.ts, 3, 16))
|
||||
>$ : Symbol($, Decl(index.d.ts, 3, 11))
|
||||
>foo : Symbol(foo, Decl(index.d.ts, 3, 16))
|
||||
|
||||
=== /types/jquery/index.d.ts ===
|
||||
=== /src/types/jquery/index.d.ts ===
|
||||
|
||||
// We can find typings in the ./types folder
|
||||
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/jquery/package.json' does not exist.",
|
||||
"File '/types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/types/jquery/index.d.ts', primary: true. ========"
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/jquery/package.json' does not exist.",
|
||||
"File 'types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to 'types/jquery/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/__inferred type names__.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/jquery/package.json' does not exist.",
|
||||
"File 'types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to 'types/jquery/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,4 +1,4 @@
|
|||
=== /consumer.ts ===
|
||||
=== /src/consumer.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.foo();
|
||||
>$.foo() : void
|
||||
|
@ -6,7 +6,7 @@ $.foo();
|
|||
>$ : { foo(): void; }
|
||||
>foo : () => void
|
||||
|
||||
=== /types/jquery/index.d.ts ===
|
||||
=== /src/types/jquery/index.d.ts ===
|
||||
|
||||
// We can find typings in the ./types folder
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
=== /consumer.ts ===
|
||||
=== /foo/consumer.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.foo();
|
||||
>$.foo : Symbol(foo, Decl(jquery.d.ts, 0, 16))
|
||||
>$ : Symbol($, Decl(jquery.d.ts, 0, 11))
|
||||
>foo : Symbol(foo, Decl(jquery.d.ts, 0, 16))
|
||||
|
||||
=== /types/jquery/jquery.d.ts ===
|
||||
=== /foo/types/jquery/jquery.d.ts ===
|
||||
declare var $: { foo(): void };
|
||||
>$ : Symbol($, Decl(jquery.d.ts, 0, 11))
|
||||
>foo : Symbol(foo, Decl(jquery.d.ts, 0, 16))
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"Found 'package.json' at '/types/jquery/package.json'.",
|
||||
"'package.json' has 'typings' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.",
|
||||
"File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/types/jquery/jquery.d.ts', primary: true. ========"
|
||||
"======== Resolving type reference directive 'jquery', containing file '/foo/consumer.ts', root directory './types'. ========",
|
||||
"Resolving with primary search path './types'",
|
||||
"Found 'package.json' at './types/jquery/package.json'.",
|
||||
"'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.",
|
||||
"File 'types/jquery/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to 'types/jquery/jquery.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/foo/__inferred type names__.ts', root directory './types'. ========",
|
||||
"Resolving with primary search path './types'",
|
||||
"Found 'package.json' at './types/jquery/package.json'.",
|
||||
"'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.",
|
||||
"File 'types/jquery/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to 'types/jquery/jquery.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,4 +1,4 @@
|
|||
=== /consumer.ts ===
|
||||
=== /foo/consumer.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.foo();
|
||||
>$.foo() : void
|
||||
|
@ -6,7 +6,7 @@ $.foo();
|
|||
>$ : { foo(): void; }
|
||||
>foo : () => void
|
||||
|
||||
=== /types/jquery/jquery.d.ts ===
|
||||
=== /foo/types/jquery/jquery.d.ts ===
|
||||
declare var $: { foo(): void };
|
||||
>$ : { foo(): void; }
|
||||
>foo : () => void
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/jquery/package.json' does not exist.",
|
||||
"File '/types/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/a/b'",
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/jquery/package.json' does not exist.",
|
||||
"File '/types/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/consumer.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/a/b'",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file not set, root directory '/a'. ========",
|
||||
"Resolving with primary search path '/a/types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory '/a/types'. ========",
|
||||
"Resolving with primary search path '/a/types'",
|
||||
"File '/a/types/jquery/package.json' does not exist.",
|
||||
"File '/a/types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/a/types/jquery/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file not set, root directory '/a'. ========",
|
||||
"Resolving with primary search path '/a/types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory '/a/types'. ========",
|
||||
"Resolving with primary search path '/a/types'",
|
||||
"File '/a/types/jquery/package.json' does not exist.",
|
||||
"File '/a/types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/a/types/jquery/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
error TS2304: Cannot find name 'jquery'.
|
||||
/a/b/consumer.ts(1,1): error TS2304: Cannot find name '$'.
|
||||
/a/b/consumer.ts(2,1): error TS2304: Cannot find name '$2'.
|
||||
|
||||
|
||||
!!! error TS2304: Cannot find name 'jquery'.
|
||||
==== /a/b/consumer.ts (1 errors) ====
|
||||
$.foo();
|
||||
~
|
||||
!!! error TS2304: Cannot find name '$'.
|
||||
|
||||
$.foo(); // should OK
|
||||
$2.foo(); // should error
|
||||
~~
|
||||
!!! error TS2304: Cannot find name '$2'.
|
||||
==== /a/types/jquery/index.d.ts (0 errors) ====
|
||||
|
||||
declare var $: { foo(): void };
|
||||
|
||||
==== /a/types/jquery2/index.d.ts (0 errors) ====
|
||||
declare var $2: { foo(): void };
|
||||
|
|
@ -3,11 +3,14 @@
|
|||
//// [index.d.ts]
|
||||
|
||||
declare var $: { foo(): void };
|
||||
|
||||
|
||||
//// [index.d.ts]
|
||||
declare var $2: { foo(): void };
|
||||
|
||||
//// [consumer.ts]
|
||||
$.foo();
|
||||
|
||||
$.foo(); // should OK
|
||||
$2.foo(); // should error
|
||||
|
||||
//// [consumer.js]
|
||||
$.foo();
|
||||
$.foo(); // should OK
|
||||
$2.foo(); // should error
|
||||
|
|
|
@ -1,24 +1,7 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file not set, root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/jquery/package.json' does not exist.",
|
||||
"File '/types/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/'",
|
||||
"File '/node_modules/jquery.ts' does not exist.",
|
||||
"File '/node_modules/jquery.d.ts' does not exist.",
|
||||
"File '/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/jquery/index.ts' does not exist.",
|
||||
"File '/node_modules/jquery/index.d.ts' does not exist.",
|
||||
"File '/node_modules/@types/jquery.ts' does not exist.",
|
||||
"File '/node_modules/@types/jquery.d.ts' does not exist.",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.ts' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"======== Type reference directive 'jquery' was not resolved. ========"
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a/b/__inferred type names__.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/jquery/package.json' does not exist.",
|
||||
"File 'types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to 'types/jquery/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,6 +1,12 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/consumer.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"Found 'package.json' at '/types/jquery/package.json'.",
|
||||
"'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.",
|
||||
"File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/types/jquery/jquery.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"Found 'package.json' at '/types/jquery/package.json'.",
|
||||
"'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.",
|
||||
"File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/src'. ========",
|
||||
"Resolving with primary search path '/src/types/'",
|
||||
"File '/src/types/jquery/package.json' does not exist.",
|
||||
"File '/src/types/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/src/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/src/node_modules/@types'",
|
||||
"File '/src/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
"File '/src/node_modules/jquery.ts' does not exist.",
|
||||
"File '/src/node_modules/jquery.d.ts' does not exist.",
|
||||
"File '/src/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/src/node_modules/jquery/index.ts' does not exist.",
|
||||
"File '/src/node_modules/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: true. ========"
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: false. ========"
|
||||
]
|
|
@ -1,14 +1,8 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'foo', containing file '/src/root.ts', root directory '/src'. ========",
|
||||
"Resolving with primary search path '/src/types/'",
|
||||
"File '/src/types/foo/package.json' does not exist.",
|
||||
"File '/src/types/foo/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/'",
|
||||
"File '/src/node_modules/foo/package.json' does not exist.",
|
||||
"File '/src/node_modules/foo/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/@types/'",
|
||||
"File '/src/node_modules/@types/foo/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/foo/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src'",
|
||||
"File '/src/foo/package.json' does not exist.",
|
||||
"File '/src/foo/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
"File '/src/node_modules/foo.ts' does not exist.",
|
||||
"File '/src/node_modules/foo.d.ts' does not exist.",
|
||||
|
@ -27,15 +21,9 @@
|
|||
"File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'bar', containing file '/src/root.ts', root directory '/src'. ========",
|
||||
"Resolving with primary search path '/src/types/'",
|
||||
"File '/src/types/bar/package.json' does not exist.",
|
||||
"File '/src/types/bar/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/'",
|
||||
"File '/src/node_modules/bar/package.json' does not exist.",
|
||||
"File '/src/node_modules/bar/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/@types/'",
|
||||
"File '/src/node_modules/@types/bar/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/bar/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src'",
|
||||
"File '/src/bar/package.json' does not exist.",
|
||||
"File '/src/bar/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
"File '/src/node_modules/bar.ts' does not exist.",
|
||||
"File '/src/node_modules/bar.d.ts' does not exist.",
|
||||
|
@ -54,15 +42,9 @@
|
|||
"File '/node_modules/bar/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory '/src'. ========",
|
||||
"Resolving with primary search path '/src/types/'",
|
||||
"File '/src/types/alpha/package.json' does not exist.",
|
||||
"File '/src/types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/'",
|
||||
"File '/src/node_modules/alpha/package.json' does not exist.",
|
||||
"File '/src/node_modules/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/@types/'",
|
||||
"File '/src/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src'",
|
||||
"File '/src/alpha/package.json' does not exist.",
|
||||
"File '/src/alpha/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/node_modules/foo'",
|
||||
"File '/node_modules/foo/node_modules/alpha.ts' does not exist.",
|
||||
"File '/node_modules/foo/node_modules/alpha.d.ts' does not exist.",
|
||||
|
@ -71,15 +53,9 @@
|
|||
"File '/node_modules/foo/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory '/src'. ========",
|
||||
"Resolving with primary search path '/src/types/'",
|
||||
"File '/src/types/alpha/package.json' does not exist.",
|
||||
"File '/src/types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/'",
|
||||
"File '/src/node_modules/alpha/package.json' does not exist.",
|
||||
"File '/src/node_modules/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src/node_modules/@types/'",
|
||||
"File '/src/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/src'",
|
||||
"File '/src/alpha/package.json' does not exist.",
|
||||
"File '/src/alpha/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/node_modules/bar'",
|
||||
"File '/node_modules/bar/node_modules/alpha.ts' does not exist.",
|
||||
"File '/node_modules/bar/node_modules/alpha.d.ts' does not exist.",
|
||||
|
|
|
@ -1,30 +1,50 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'foo', containing file '/src/root.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/foo/package.json' does not exist.",
|
||||
"File '/types/foo/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"======== Resolving type reference directive 'foo', containing file '/src/root.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/foo/package.json' does not exist.",
|
||||
"File 'types/foo/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
"File '/src/node_modules/foo.ts' does not exist.",
|
||||
"File '/src/node_modules/foo.d.ts' does not exist.",
|
||||
"File '/src/node_modules/foo/package.json' does not exist.",
|
||||
"File '/src/node_modules/foo/index.ts' does not exist.",
|
||||
"File '/src/node_modules/foo/index.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/foo.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/foo.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/foo/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/foo/index.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/foo/index.d.ts' does not exist.",
|
||||
"File '/node_modules/foo.ts' does not exist.",
|
||||
"File '/node_modules/foo.d.ts' does not exist.",
|
||||
"File '/node_modules/foo/package.json' does not exist.",
|
||||
"File '/node_modules/foo/index.ts' does not exist.",
|
||||
"File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'bar', containing file '/src/root.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/bar/package.json' does not exist.",
|
||||
"File '/types/bar/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"======== Type reference directive 'foo' was successfully resolved to '/node_modules/foo/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'bar', containing file '/src/root.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/bar/package.json' does not exist.",
|
||||
"File 'types/bar/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
"File '/src/node_modules/bar.ts' does not exist.",
|
||||
"File '/src/node_modules/bar.d.ts' does not exist.",
|
||||
"File '/src/node_modules/bar/package.json' does not exist.",
|
||||
"File '/src/node_modules/bar/index.ts' does not exist.",
|
||||
"File '/src/node_modules/bar/index.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/bar.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/bar.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/bar/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/bar/index.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/bar/index.d.ts' does not exist.",
|
||||
"File '/node_modules/bar.ts' does not exist.",
|
||||
"File '/node_modules/bar.d.ts' does not exist.",
|
||||
"File '/node_modules/bar/package.json' does not exist.",
|
||||
"File '/node_modules/bar/index.ts' does not exist.",
|
||||
"File '/node_modules/bar/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/alpha/package.json' does not exist.",
|
||||
"File '/types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"File '/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/@types/alpha/index.d.ts' does not exist.",
|
||||
"======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/alpha/package.json' does not exist.",
|
||||
"File 'types/alpha/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/node_modules/foo'",
|
||||
"File '/node_modules/foo/node_modules/alpha.ts' does not exist.",
|
||||
"File '/node_modules/foo/node_modules/alpha.d.ts' does not exist.",
|
||||
|
@ -32,16 +52,10 @@
|
|||
"File '/node_modules/foo/node_modules/alpha/index.ts' does not exist.",
|
||||
"File '/node_modules/foo/node_modules/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/alpha/package.json' does not exist.",
|
||||
"File '/types/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/alpha/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"File '/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/@types/alpha/index.d.ts' does not exist.",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory 'types'. ========",
|
||||
"Resolving with primary search path 'types'",
|
||||
"File 'types/alpha/package.json' does not exist.",
|
||||
"File 'types/alpha/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/node_modules/bar'",
|
||||
"File '/node_modules/bar/node_modules/alpha.ts' does not exist.",
|
||||
"File '/node_modules/bar/node_modules/alpha.d.ts' does not exist.",
|
||||
|
|
|
@ -6,7 +6,7 @@ var x: string = alpha.a;
|
|||
>alpha : Symbol(alpha, Decl(index.d.ts, 3, 11))
|
||||
>a : Symbol(a, Decl(index.d.ts, 3, 20))
|
||||
|
||||
=== /types/alpha/index.d.ts ===
|
||||
=== /node_modules/@types/alpha/index.d.ts ===
|
||||
|
||||
// The primary lookup folder is relative to tsconfig.json, if present
|
||||
|
||||
|
|
|
@ -1,7 +1,12 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'alpha', containing file '/src/foo.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/alpha/package.json' does not exist.",
|
||||
"File '/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/types/alpha/index.d.ts', primary: true. ========"
|
||||
"======== Resolving type reference directive 'alpha', containing file '/src/foo.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/@types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/node_modules/@types/alpha/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/src/__inferred type names__.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/alpha/package.json' does not exist.",
|
||||
"File '/node_modules/@types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/node_modules/@types/alpha/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -6,7 +6,7 @@ var x: string = alpha.a;
|
|||
>alpha : { a: string; }
|
||||
>a : string
|
||||
|
||||
=== /types/alpha/index.d.ts ===
|
||||
=== /node_modules/@types/alpha/index.d.ts ===
|
||||
|
||||
// The primary lookup folder is relative to tsconfig.json, if present
|
||||
|
||||
|
|
|
@ -1,12 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/jquery/package.json' does not exist.",
|
||||
"File '/types/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/'",
|
||||
"File '/node_modules/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/jquery/index.d.ts' does not exist.",
|
||||
"Resolving with primary search path '/node_modules/@types/'",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/src/consumer.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' does not exist.",
|
||||
"Looking up in 'node_modules' folder, initial location '/src'",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
=== /foo.ts ===
|
||||
=== /test/foo.ts ===
|
||||
/// <reference types="alpha" />
|
||||
/// <reference types="beta" />
|
||||
var x: string = alpha.a + beta.b;
|
||||
|
@ -11,7 +11,7 @@ var x: string = alpha.a + beta.b;
|
|||
>b : Symbol(b, Decl(index.d.ts, 1, 19))
|
||||
|
||||
|
||||
=== /types/alpha/index.d.ts ===
|
||||
=== /test/types/alpha/index.d.ts ===
|
||||
|
||||
// Don't crash in circular library reference situations
|
||||
|
||||
|
@ -20,7 +20,7 @@ declare var alpha: { a: string };
|
|||
>alpha : Symbol(alpha, Decl(index.d.ts, 4, 11))
|
||||
>a : Symbol(a, Decl(index.d.ts, 4, 20))
|
||||
|
||||
=== /types/beta/index.d.ts ===
|
||||
=== /test/types/beta/index.d.ts ===
|
||||
/// <reference types="alpha" />
|
||||
declare var beta: { b: string };
|
||||
>beta : Symbol(beta, Decl(index.d.ts, 1, 11))
|
||||
|
|
|
@ -1,22 +1,32 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'alpha', containing file '/foo.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/alpha/package.json' does not exist.",
|
||||
"File '/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/types/alpha/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'beta', containing file '/foo.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/beta/package.json' does not exist.",
|
||||
"File '/types/beta/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'beta' was successfully resolved to '/types/beta/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'beta', containing file '/types/alpha/index.d.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/beta/package.json' does not exist.",
|
||||
"File '/types/beta/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'beta' was successfully resolved to '/types/beta/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/types/beta/index.d.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"File '/types/alpha/package.json' does not exist.",
|
||||
"File '/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/types/alpha/index.d.ts', primary: true. ========"
|
||||
"======== Resolving type reference directive 'alpha', containing file '/test/foo.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/alpha/package.json' does not exist.",
|
||||
"File '/test/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/test/types/alpha/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'beta', containing file '/test/foo.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/beta/package.json' does not exist.",
|
||||
"File '/test/types/beta/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'beta' was successfully resolved to '/test/types/beta/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'beta', containing file '/test/types/alpha/index.d.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/beta/package.json' does not exist.",
|
||||
"File '/test/types/beta/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'beta' was successfully resolved to '/test/types/beta/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/test/types/beta/index.d.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/alpha/package.json' does not exist.",
|
||||
"File '/test/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/test/types/alpha/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'alpha', containing file '/test/__inferred type names__.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/alpha/package.json' does not exist.",
|
||||
"File '/test/types/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/test/types/alpha/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'beta', containing file '/test/__inferred type names__.ts', root directory '/test/types'. ========",
|
||||
"Resolving with primary search path '/test/types'",
|
||||
"File '/test/types/beta/package.json' does not exist.",
|
||||
"File '/test/types/beta/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'beta' was successfully resolved to '/test/types/beta/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,4 +1,4 @@
|
|||
=== /foo.ts ===
|
||||
=== /test/foo.ts ===
|
||||
/// <reference types="alpha" />
|
||||
/// <reference types="beta" />
|
||||
var x: string = alpha.a + beta.b;
|
||||
|
@ -12,7 +12,7 @@ var x: string = alpha.a + beta.b;
|
|||
>b : string
|
||||
|
||||
|
||||
=== /types/alpha/index.d.ts ===
|
||||
=== /test/types/alpha/index.d.ts ===
|
||||
|
||||
// Don't crash in circular library reference situations
|
||||
|
||||
|
@ -21,7 +21,7 @@ declare var alpha: { a: string };
|
|||
>alpha : { a: string; }
|
||||
>a : string
|
||||
|
||||
=== /types/beta/index.d.ts ===
|
||||
=== /test/types/beta/index.d.ts ===
|
||||
/// <reference types="alpha" />
|
||||
declare var beta: { b: string };
|
||||
>beta : { b: string; }
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
//// [tests/cases/conformance/references/library-reference-9.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
|
||||
// Use types search path
|
||||
|
||||
declare var alpha: { a: string };
|
||||
|
||||
//// [foo.ts]
|
||||
/// <reference types="alpha" />
|
||||
var x: string = alpha.a;
|
||||
|
||||
|
||||
//// [foo.js]
|
||||
/// <reference types="alpha" />
|
||||
var x = alpha.a;
|
|
@ -1,16 +0,0 @@
|
|||
=== /base/src/foo.ts ===
|
||||
/// <reference types="alpha" />
|
||||
var x: string = alpha.a;
|
||||
>x : Symbol(x, Decl(foo.ts, 1, 3))
|
||||
>alpha.a : Symbol(a, Decl(index.d.ts, 3, 20))
|
||||
>alpha : Symbol(alpha, Decl(index.d.ts, 3, 11))
|
||||
>a : Symbol(a, Decl(index.d.ts, 3, 20))
|
||||
|
||||
=== /share/typelib/alpha/index.d.ts ===
|
||||
|
||||
// Use types search path
|
||||
|
||||
declare var alpha: { a: string };
|
||||
>alpha : Symbol(alpha, Decl(index.d.ts, 3, 11))
|
||||
>a : Symbol(a, Decl(index.d.ts, 3, 20))
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'alpha', containing file '/base/src/foo.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/share/typelib'",
|
||||
"File '/share/typelib/alpha/package.json' does not exist.",
|
||||
"File '/share/typelib/alpha/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'alpha' was successfully resolved to '/share/typelib/alpha/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,16 +0,0 @@
|
|||
=== /base/src/foo.ts ===
|
||||
/// <reference types="alpha" />
|
||||
var x: string = alpha.a;
|
||||
>x : string
|
||||
>alpha.a : string
|
||||
>alpha : { a: string; }
|
||||
>a : string
|
||||
|
||||
=== /share/typelib/alpha/index.d.ts ===
|
||||
|
||||
// Use types search path
|
||||
|
||||
declare var alpha: { a: string };
|
||||
>alpha : { a: string; }
|
||||
>a : string
|
||||
|
|
@ -3,11 +3,13 @@
|
|||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/src/a'.",
|
||||
"File '/src/a.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/src/a.ts', result '/src/a.ts'",
|
||||
"======== Module name './a' was successfully resolved to '/src/a.ts'. ========",
|
||||
"======== Resolving module './a.ts' from '/src/c.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/src/a.ts'.",
|
||||
"File '/src/a.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/src/a.ts', result '/src/a.ts'",
|
||||
"======== Module name './a.ts' was successfully resolved to '/src/a.ts'. ========",
|
||||
"======== Resolving module './a.js' from '/src/d.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -17,6 +19,7 @@
|
|||
"File '/src/a.js.d.ts' does not exist.",
|
||||
"File name '/src/a.js' has a '.js' extension - stripping it",
|
||||
"File '/src/a.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/src/a.ts', result '/src/a.ts'",
|
||||
"======== Module name './a.js' was successfully resolved to '/src/a.ts'. ========",
|
||||
"======== Resolving module './jquery.js' from '/src/jquery_user_1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -28,5 +31,6 @@
|
|||
"File '/src/jquery.ts' does not exist.",
|
||||
"File '/src/jquery.tsx' does not exist.",
|
||||
"File '/src/jquery.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/src/jquery.d.ts', result '/src/jquery.d.ts'",
|
||||
"======== Module name './jquery.js' was successfully resolved to '/src/jquery.d.ts'. ========"
|
||||
]
|
|
@ -0,0 +1,21 @@
|
|||
/src/library-b/index.ts(1,23): error TS2307: Cannot find module 'library-a'.
|
||||
|
||||
|
||||
==== /src/app.ts (0 errors) ====
|
||||
import { MyClass } from "./library-a";
|
||||
import { MyClass2 } from "./library-b";
|
||||
|
||||
let x: MyClass;
|
||||
let y: MyClass2;
|
||||
x = y;
|
||||
y = x;
|
||||
==== /src/library-a/index.ts (0 errors) ====
|
||||
|
||||
export class MyClass{}
|
||||
|
||||
==== /src/library-b/index.ts (1 errors) ====
|
||||
import {MyClass} from "library-a";
|
||||
~~~~~~~~~~~
|
||||
!!! error TS2307: Cannot find module 'library-a'.
|
||||
export { MyClass as MyClass2 }
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
=== /src/app.ts ===
|
||||
import { MyClass } from "./library-a";
|
||||
>MyClass : Symbol(MyClass, Decl(app.ts, 0, 8))
|
||||
|
||||
import { MyClass2 } from "./library-b";
|
||||
>MyClass2 : Symbol(MyClass2, Decl(app.ts, 1, 8))
|
||||
|
||||
let x: MyClass;
|
||||
>x : Symbol(x, Decl(app.ts, 3, 3))
|
||||
>MyClass : Symbol(MyClass, Decl(app.ts, 0, 8))
|
||||
|
||||
let y: MyClass2;
|
||||
>y : Symbol(y, Decl(app.ts, 4, 3))
|
||||
>MyClass2 : Symbol(MyClass2, Decl(app.ts, 1, 8))
|
||||
|
||||
x = y;
|
||||
>x : Symbol(x, Decl(app.ts, 3, 3))
|
||||
>y : Symbol(y, Decl(app.ts, 4, 3))
|
||||
|
||||
y = x;
|
||||
>y : Symbol(y, Decl(app.ts, 4, 3))
|
||||
>x : Symbol(x, Decl(app.ts, 3, 3))
|
||||
|
||||
=== /src/library-a/index.ts ===
|
||||
|
||||
export class MyClass{}
|
||||
>MyClass : Symbol(MyClass, Decl(index.ts, 0, 0))
|
||||
|
||||
=== /src/library-b/index.ts ===
|
||||
import {MyClass} from "library-a";
|
||||
>MyClass : Symbol(MyClass, Decl(index.ts, 0, 8))
|
||||
|
||||
export { MyClass as MyClass2 }
|
||||
>MyClass : Symbol(MyClass2, Decl(index.ts, 1, 8))
|
||||
>MyClass2 : Symbol(MyClass2, Decl(index.ts, 1, 8))
|
||||
|
|
@ -26,7 +26,43 @@
|
|||
"File '/src/library-b/node_modules/library-a.tsx' does not exist.",
|
||||
"File '/src/library-b/node_modules/library-a.d.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/library-a/package.json' does not exist.",
|
||||
"File '/src/library-b/node_modules/library-a/index.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/src/library-b/node_modules/library-a/index.ts', result '/src/library-a/index.ts'",
|
||||
"======== Module name 'library-a' was successfully resolved to '/src/library-a/index.ts'. ========"
|
||||
"File '/src/library-b/node_modules/library-a/index.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/library-a/index.tsx' does not exist.",
|
||||
"File '/src/library-b/node_modules/library-a/index.d.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a.tsx' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a.d.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a/package.json' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a/index.ts' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a/index.tsx' does not exist.",
|
||||
"File '/src/library-b/node_modules/@types/library-a/index.d.ts' does not exist.",
|
||||
"File '/src/node_modules/library-a.ts' does not exist.",
|
||||
"File '/src/node_modules/library-a.tsx' does not exist.",
|
||||
"File '/src/node_modules/library-a.d.ts' does not exist.",
|
||||
"File '/src/node_modules/library-a/package.json' does not exist.",
|
||||
"File '/src/node_modules/library-a/index.ts' does not exist.",
|
||||
"File '/src/node_modules/library-a/index.tsx' does not exist.",
|
||||
"File '/src/node_modules/library-a/index.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a.tsx' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a.d.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a/package.json' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a/index.ts' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a/index.tsx' does not exist.",
|
||||
"File '/src/node_modules/@types/library-a/index.d.ts' does not exist.",
|
||||
"File '/node_modules/library-a.ts' does not exist.",
|
||||
"File '/node_modules/library-a.tsx' does not exist.",
|
||||
"File '/node_modules/library-a.d.ts' does not exist.",
|
||||
"File '/node_modules/library-a/package.json' does not exist.",
|
||||
"File '/node_modules/library-a/index.ts' does not exist.",
|
||||
"File '/node_modules/library-a/index.tsx' does not exist.",
|
||||
"File '/node_modules/library-a/index.d.ts' does not exist.",
|
||||
"File '/node_modules/@types/library-a.ts' does not exist.",
|
||||
"File '/node_modules/@types/library-a.tsx' does not exist.",
|
||||
"File '/node_modules/@types/library-a.d.ts' does not exist.",
|
||||
"File '/node_modules/@types/library-a/package.json' does not exist.",
|
||||
"File '/node_modules/@types/library-a/index.ts' does not exist.",
|
||||
"File '/node_modules/@types/library-a/index.tsx' does not exist.",
|
||||
"File '/node_modules/@types/library-a/index.d.ts' does not exist.",
|
||||
"======== Module name 'library-a' was not resolved. ========"
|
||||
]
|
|
@ -1,38 +0,0 @@
|
|||
=== /src/app.ts ===
|
||||
import { MyClass } from "./library-a";
|
||||
>MyClass : typeof MyClass
|
||||
|
||||
import { MyClass2 } from "./library-b";
|
||||
>MyClass2 : typeof MyClass
|
||||
|
||||
let x: MyClass;
|
||||
>x : MyClass
|
||||
>MyClass : MyClass
|
||||
|
||||
let y: MyClass2;
|
||||
>y : MyClass
|
||||
>MyClass2 : MyClass
|
||||
|
||||
x = y;
|
||||
>x = y : MyClass
|
||||
>x : MyClass
|
||||
>y : MyClass
|
||||
|
||||
y = x;
|
||||
>y = x : MyClass
|
||||
>y : MyClass
|
||||
>x : MyClass
|
||||
|
||||
=== /src/library-a/index.ts ===
|
||||
|
||||
export class MyClass{}
|
||||
>MyClass : MyClass
|
||||
|
||||
=== /src/library-b/index.ts ===
|
||||
import {MyClass} from "library-a";
|
||||
>MyClass : typeof MyClass
|
||||
|
||||
export { MyClass as MyClass2 }
|
||||
>MyClass : typeof MyClass
|
||||
>MyClass2 : typeof MyClass
|
||||
|
|
@ -5,11 +5,13 @@
|
|||
"Resolving module name 'folder2/file2' relative to base url 'c:/root' - 'c:/root/folder2/file2'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/folder2/file2'.",
|
||||
"File 'c:/root/folder2/file2.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/folder2/file2.ts', result 'c:/root/folder2/file2.ts'",
|
||||
"======== Module name 'folder2/file2' was successfully resolved to 'c:/root/folder2/file2.ts'. ========",
|
||||
"======== Resolving module './file3' from 'c:/root/folder2/file2.ts'. ========",
|
||||
"Explicitly specified module resolution kind: 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/folder2/file3'.",
|
||||
"File 'c:/root/folder2/file3.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/folder2/file3.ts', result 'c:/root/folder2/file3.ts'",
|
||||
"======== Module name './file3' was successfully resolved to 'c:/root/folder2/file3.ts'. ========",
|
||||
"======== Resolving module 'file4' from 'c:/root/folder2/file2.ts'. ========",
|
||||
"Explicitly specified module resolution kind: 'NodeJs'.",
|
||||
|
@ -59,5 +61,6 @@
|
|||
"File 'c:/node_modules/file4/index.ts' does not exist.",
|
||||
"File 'c:/node_modules/file4/index.tsx' does not exist.",
|
||||
"File 'c:/node_modules/file4/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'",
|
||||
"======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========"
|
||||
]
|
|
@ -5,11 +5,13 @@
|
|||
"Resolving module name 'folder2/file2' relative to base url 'c:/root' - 'c:/root/folder2/file2'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/folder2/file2'.",
|
||||
"File 'c:/root/folder2/file2.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/folder2/file2.ts', result 'c:/root/folder2/file2.ts'",
|
||||
"======== Module name 'folder2/file2' was successfully resolved to 'c:/root/folder2/file2.ts'. ========",
|
||||
"======== Resolving module './file3' from 'c:/root/folder2/file2.ts'. ========",
|
||||
"Explicitly specified module resolution kind: 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/folder2/file3'.",
|
||||
"File 'c:/root/folder2/file3.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/folder2/file3.ts', result 'c:/root/folder2/file3.ts'",
|
||||
"======== Module name './file3' was successfully resolved to 'c:/root/folder2/file3.ts'. ========",
|
||||
"======== Resolving module 'file4' from 'c:/root/folder2/file2.ts'. ========",
|
||||
"Explicitly specified module resolution kind: 'NodeJs'.",
|
||||
|
@ -59,5 +61,6 @@
|
|||
"File 'c:/node_modules/file4/index.ts' does not exist.",
|
||||
"File 'c:/node_modules/file4/index.tsx' does not exist.",
|
||||
"File 'c:/node_modules/file4/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'",
|
||||
"======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========"
|
||||
]
|
|
@ -7,6 +7,7 @@
|
|||
"Trying substitution '*', candidate module location: 'folder2/file1'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/folder2/file1'.",
|
||||
"File 'c:/root/folder2/file1.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/folder2/file1.ts', result 'c:/root/folder2/file1.ts'",
|
||||
"======== Module name 'folder2/file1' was successfully resolved to 'c:/root/folder2/file1.ts'. ========",
|
||||
"======== Resolving module 'folder3/file2' from 'c:/root/folder1/file1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -25,6 +26,7 @@
|
|||
"Trying substitution 'generated/*', candidate module location: 'generated/folder3/file2'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/generated/folder3/file2'.",
|
||||
"File 'c:/root/generated/folder3/file2.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/generated/folder3/file2.ts', result 'c:/root/generated/folder3/file2.ts'",
|
||||
"======== Module name 'folder3/file2' was successfully resolved to 'c:/root/generated/folder3/file2.ts'. ========",
|
||||
"======== Resolving module 'components/file3' from 'c:/root/folder1/file1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -40,6 +42,7 @@
|
|||
"File 'c:/root/shared/components/file3/index.ts' does not exist.",
|
||||
"File 'c:/root/shared/components/file3/index.tsx' does not exist.",
|
||||
"File 'c:/root/shared/components/file3/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/shared/components/file3/index.d.ts', result 'c:/root/shared/components/file3/index.d.ts'",
|
||||
"======== Module name 'components/file3' was successfully resolved to 'c:/root/shared/components/file3/index.d.ts'. ========",
|
||||
"======== Resolving module 'file4' from 'c:/root/folder1/file1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -94,5 +97,6 @@
|
|||
"File 'c:/root/node_modules/@types/file4/index.tsx' does not exist.",
|
||||
"File 'c:/root/node_modules/@types/file4/index.d.ts' does not exist.",
|
||||
"File 'c:/node_modules/file4.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/node_modules/file4.ts', result 'c:/node_modules/file4.ts'",
|
||||
"======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4.ts'. ========"
|
||||
]
|
|
@ -18,6 +18,7 @@
|
|||
"Loading 'project/file3' from the root dir 'c:/root/generated/src', candidate location 'c:/root/generated/src/project/file3'",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file3'.",
|
||||
"File 'c:/root/generated/src/project/file3.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/generated/src/project/file3.ts', result 'c:/root/generated/src/project/file3.ts'",
|
||||
"======== Module name './project/file3' was successfully resolved to 'c:/root/generated/src/project/file3.ts'. ========",
|
||||
"======== Resolving module '../file2' from 'c:/root/generated/src/project/file3.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -44,5 +45,6 @@
|
|||
"File 'c:/root/src/file2/index.ts' does not exist.",
|
||||
"File 'c:/root/src/file2/index.tsx' does not exist.",
|
||||
"File 'c:/root/src/file2/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/src/file2/index.d.ts', result 'c:/root/src/file2/index.d.ts'",
|
||||
"======== Module name '../file2' was successfully resolved to 'c:/root/src/file2/index.d.ts'. ========"
|
||||
]
|
|
@ -18,6 +18,7 @@
|
|||
"Loading 'project/file2' from the root dir 'c:/root/generated/src', candidate location 'c:/root/generated/src/project/file2'",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/generated/src/project/file2'.",
|
||||
"File 'c:/root/generated/src/project/file2.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/generated/src/project/file2.ts', result 'c:/root/generated/src/project/file2.ts'",
|
||||
"======== Module name './project/file2' was successfully resolved to 'c:/root/generated/src/project/file2.ts'. ========",
|
||||
"======== Resolving module 'module3' from 'c:/root/src/file1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -74,6 +75,7 @@
|
|||
"File 'c:/node_modules/module3.ts' does not exist.",
|
||||
"File 'c:/node_modules/module3.tsx' does not exist.",
|
||||
"File 'c:/node_modules/module3.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/node_modules/module3.d.ts', result 'c:/node_modules/module3.d.ts'",
|
||||
"======== Module name 'module3' was successfully resolved to 'c:/node_modules/module3.d.ts'. ========",
|
||||
"======== Resolving module 'module1' from 'c:/root/generated/src/project/file2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -98,6 +100,7 @@
|
|||
"File 'c:/shared/module1/index.ts' does not exist.",
|
||||
"File 'c:/shared/module1/index.tsx' does not exist.",
|
||||
"File 'c:/shared/module1/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/shared/module1/index.d.ts', result 'c:/shared/module1/index.d.ts'",
|
||||
"======== Module name 'module1' was successfully resolved to 'c:/shared/module1/index.d.ts'. ========",
|
||||
"======== Resolving module 'templates/module2' from 'c:/root/generated/src/project/file2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -107,6 +110,7 @@
|
|||
"Trying substitution 'generated/src/templates/*', candidate module location: 'generated/src/templates/module2'.",
|
||||
"Loading module as file / folder, candidate module location 'c:/root/generated/src/templates/module2'.",
|
||||
"File 'c:/root/generated/src/templates/module2.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/generated/src/templates/module2.ts', result 'c:/root/generated/src/templates/module2.ts'",
|
||||
"======== Module name 'templates/module2' was successfully resolved to 'c:/root/generated/src/templates/module2.ts'. ========",
|
||||
"======== Resolving module '../file3' from 'c:/root/generated/src/project/file2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
|
@ -133,5 +137,6 @@
|
|||
"File 'c:/root/src/file3/index.ts' does not exist.",
|
||||
"File 'c:/root/src/file3/index.tsx' does not exist.",
|
||||
"File 'c:/root/src/file3/index.d.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for 'c:/root/src/file3/index.d.ts', result 'c:/root/src/file3/index.d.ts'",
|
||||
"======== Module name '../file3' was successfully resolved to 'c:/root/src/file3/index.d.ts'. ========"
|
||||
]
|
|
@ -0,0 +1,21 @@
|
|||
//// [shorthandOfExportedEntity01_targetES2015_CommonJS.ts]
|
||||
|
||||
export const test = "test";
|
||||
|
||||
export function foo () {
|
||||
const x = { test };
|
||||
}
|
||||
|
||||
|
||||
//// [shorthandOfExportedEntity01_targetES2015_CommonJS.js]
|
||||
"use strict";
|
||||
exports.test = "test";
|
||||
function foo() {
|
||||
const x = { test: exports.test };
|
||||
}
|
||||
exports.foo = foo;
|
||||
|
||||
|
||||
//// [shorthandOfExportedEntity01_targetES2015_CommonJS.d.ts]
|
||||
export declare const test: string;
|
||||
export declare function foo(): void;
|
|
@ -0,0 +1,13 @@
|
|||
=== tests/cases/compiler/shorthandOfExportedEntity01_targetES2015_CommonJS.ts ===
|
||||
|
||||
export const test = "test";
|
||||
>test : Symbol(test, Decl(shorthandOfExportedEntity01_targetES2015_CommonJS.ts, 1, 12))
|
||||
|
||||
export function foo () {
|
||||
>foo : Symbol(foo, Decl(shorthandOfExportedEntity01_targetES2015_CommonJS.ts, 1, 27))
|
||||
|
||||
const x = { test };
|
||||
>x : Symbol(x, Decl(shorthandOfExportedEntity01_targetES2015_CommonJS.ts, 4, 7))
|
||||
>test : Symbol(test, Decl(shorthandOfExportedEntity01_targetES2015_CommonJS.ts, 4, 13))
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
=== tests/cases/compiler/shorthandOfExportedEntity01_targetES2015_CommonJS.ts ===
|
||||
|
||||
export const test = "test";
|
||||
>test : string
|
||||
>"test" : string
|
||||
|
||||
export function foo () {
|
||||
>foo : () => void
|
||||
|
||||
const x = { test };
|
||||
>x : { test: string; }
|
||||
>{ test } : { test: string; }
|
||||
>test : string
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
//// [shorthandOfExportedEntity02_targetES5_CommonJS.ts]
|
||||
|
||||
export const test = "test";
|
||||
|
||||
export function foo () {
|
||||
const x = { test };
|
||||
}
|
||||
|
||||
|
||||
//// [shorthandOfExportedEntity02_targetES5_CommonJS.js]
|
||||
"use strict";
|
||||
exports.test = "test";
|
||||
function foo() {
|
||||
var x = { test: exports.test };
|
||||
}
|
||||
exports.foo = foo;
|
||||
|
||||
|
||||
//// [shorthandOfExportedEntity02_targetES5_CommonJS.d.ts]
|
||||
export declare const test: string;
|
||||
export declare function foo(): void;
|
|
@ -0,0 +1,13 @@
|
|||
=== tests/cases/compiler/shorthandOfExportedEntity02_targetES5_CommonJS.ts ===
|
||||
|
||||
export const test = "test";
|
||||
>test : Symbol(test, Decl(shorthandOfExportedEntity02_targetES5_CommonJS.ts, 1, 12))
|
||||
|
||||
export function foo () {
|
||||
>foo : Symbol(foo, Decl(shorthandOfExportedEntity02_targetES5_CommonJS.ts, 1, 27))
|
||||
|
||||
const x = { test };
|
||||
>x : Symbol(x, Decl(shorthandOfExportedEntity02_targetES5_CommonJS.ts, 4, 7))
|
||||
>test : Symbol(test, Decl(shorthandOfExportedEntity02_targetES5_CommonJS.ts, 4, 13))
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
=== tests/cases/compiler/shorthandOfExportedEntity02_targetES5_CommonJS.ts ===
|
||||
|
||||
export const test = "test";
|
||||
>test : string
|
||||
>"test" : string
|
||||
|
||||
export function foo () {
|
||||
>foo : () => void
|
||||
|
||||
const x = { test };
|
||||
>x : { test: string; }
|
||||
>{ test } : { test: string; }
|
||||
>test : string
|
||||
}
|
||||
|
|
@ -1,6 +1,11 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
|
@ -10,5 +10,11 @@
|
|||
"File '/ref.ts' does not exist.",
|
||||
"File '/ref.tsx' does not exist.",
|
||||
"File '/ref.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========"
|
||||
"Resolving real path for '/ref.d.ts', result '/ref.d.ts'",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -2,9 +2,10 @@
|
|||
"======== Resolving module './mod1' from '/mod2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'Classic'.",
|
||||
"File '/mod1.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/mod1.ts', result '/mod1.ts'",
|
||||
"======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file not set, root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -2,18 +2,26 @@
|
|||
"======== Resolving module './main' from '/mod2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'Classic'.",
|
||||
"File '/main.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/main.ts', result '/main.ts'",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========",
|
||||
"======== Resolving module './mod1' from '/mod2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'Classic'.",
|
||||
"File '/mod1.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/mod1.ts', result '/mod1.ts'",
|
||||
"======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving module './main' from '/mod1.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'Classic'.",
|
||||
"File '/main.ts' exist - use it as a name resolution result.",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========"
|
||||
"Resolving real path for '/main.ts', result '/main.ts'",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
|
@ -10,5 +10,11 @@
|
|||
"File '/ref.ts' does not exist.",
|
||||
"File '/ref.tsx' does not exist.",
|
||||
"File '/ref.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========"
|
||||
"Resolving real path for '/ref.d.ts', result '/ref.d.ts'",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file not set, root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
|
@ -10,5 +10,11 @@
|
|||
"File '/ref.ts' does not exist.",
|
||||
"File '/ref.tsx' does not exist.",
|
||||
"File '/ref.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========"
|
||||
"Resolving real path for '/ref.d.ts', result '/ref.d.ts'",
|
||||
"======== Module name './ref' was successfully resolved to '/ref.d.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,6 +1,11 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/app.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/mod1'.",
|
||||
"File '/mod1.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/mod1.ts', result '/mod1.ts'",
|
||||
"======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file not set, root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
|
|
|
@ -3,14 +3,16 @@
|
|||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/main'.",
|
||||
"File '/main.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/main.ts', result '/main.ts'",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========",
|
||||
"======== Resolving module './mod1' from '/mod2.ts'. ========",
|
||||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/mod1'.",
|
||||
"File '/mod1.ts' exist - use it as a name resolution result.",
|
||||
"Resolving real path for '/mod1.ts', result '/mod1.ts'",
|
||||
"======== Module name './mod1' was successfully resolved to '/mod1.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/'. ========",
|
||||
"Resolving with primary search path '/types/'",
|
||||
"======== Resolving type reference directive 'lib', containing file '/mod1.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========",
|
||||
|
@ -18,5 +20,11 @@
|
|||
"Module resolution kind is not specified, using 'NodeJs'.",
|
||||
"Loading module as file / folder, candidate module location '/main'.",
|
||||
"File '/main.ts' exist - use it as a name resolution result.",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========"
|
||||
"Resolving real path for '/main.ts', result '/main.ts'",
|
||||
"======== Module name './main' was successfully resolved to '/main.ts'. ========",
|
||||
"======== Resolving type reference directive 'lib', containing file '/__inferred type names__.ts', root directory '/types'. ========",
|
||||
"Resolving with primary search path '/types'",
|
||||
"File '/types/lib/package.json' does not exist.",
|
||||
"File '/types/lib/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'lib' was successfully resolved to '/types/lib/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -4,8 +4,10 @@
|
|||
declare var $: { x: any };
|
||||
|
||||
//// [a.ts]
|
||||
/// <reference types="jquery" />
|
||||
$.x;
|
||||
|
||||
|
||||
//// [a.js]
|
||||
/// <reference types="jquery" />
|
||||
$.x;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
=== tests/cases/conformance/typings/a.ts ===
|
||||
=== /a.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.x;
|
||||
>$.x : Symbol(x, Decl(index.d.ts, 0, 16))
|
||||
>$ : Symbol($, Decl(index.d.ts, 0, 11))
|
||||
>x : Symbol(x, Decl(index.d.ts, 0, 16))
|
||||
|
||||
=== tests/cases/conformance/typings/node_modules/@types/jquery/index.d.ts ===
|
||||
=== /node_modules/@types/jquery/index.d.ts ===
|
||||
declare var $: { x: any };
|
||||
>$ : Symbol($, Decl(index.d.ts, 0, 11))
|
||||
>x : Symbol(x, Decl(index.d.ts, 0, 16))
|
||||
|
|
12
tests/baselines/reference/typingsLookup1.trace.json
Normal file
12
tests/baselines/reference/typingsLookup1.trace.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
[
|
||||
"======== Resolving type reference directive 'jquery', containing file '/a.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========",
|
||||
"======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========",
|
||||
"Resolving with primary search path '/node_modules/@types'",
|
||||
"File '/node_modules/@types/jquery/package.json' does not exist.",
|
||||
"File '/node_modules/@types/jquery/index.d.ts' exist - use it as a name resolution result.",
|
||||
"======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========"
|
||||
]
|
|
@ -1,10 +1,11 @@
|
|||
=== tests/cases/conformance/typings/a.ts ===
|
||||
=== /a.ts ===
|
||||
/// <reference types="jquery" />
|
||||
$.x;
|
||||
>$.x : any
|
||||
>$ : { x: any; }
|
||||
>x : any
|
||||
|
||||
=== tests/cases/conformance/typings/node_modules/@types/jquery/index.d.ts ===
|
||||
=== /node_modules/@types/jquery/index.d.ts ===
|
||||
declare var $: { x: any };
|
||||
>$ : { x: any; }
|
||||
>x : any
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// @outFile: concat.js
|
||||
// @module: amd
|
||||
// @moduleResolution: node
|
||||
|
||||
// @Filename: A:/bar.ts
|
||||
import {z} from "./foo";
|
||||
export var x = z + z;
|
||||
|
|
14
tests/cases/compiler/decoratorMetadataPromise.ts
Normal file
14
tests/cases/compiler/decoratorMetadataPromise.ts
Normal file
|
@ -0,0 +1,14 @@
|
|||
// @experimentaldecorators: true
|
||||
// @emitdecoratormetadata: true
|
||||
// @target: es6
|
||||
|
||||
declare const decorator: MethodDecorator;
|
||||
|
||||
class A {
|
||||
@decorator
|
||||
async foo() {}
|
||||
@decorator
|
||||
async bar(): Promise<number> { return 0; }
|
||||
@decorator
|
||||
baz(n: Promise<number>): Promise<number> { return n; }
|
||||
}
|
20
tests/cases/compiler/emitDecoratorMetadata_restArgs.ts
Normal file
20
tests/cases/compiler/emitDecoratorMetadata_restArgs.ts
Normal file
|
@ -0,0 +1,20 @@
|
|||
// @experimentaldecorators: true
|
||||
// @emitdecoratormetadata: true
|
||||
// @target: ES5
|
||||
|
||||
declare const MyClassDecorator: ClassDecorator;
|
||||
declare const MyMethodDecorator: MethodDecorator;
|
||||
|
||||
@MyClassDecorator
|
||||
class A {
|
||||
constructor(...args) {}
|
||||
@MyMethodDecorator
|
||||
method(...args) {}
|
||||
}
|
||||
|
||||
@MyClassDecorator
|
||||
class B {
|
||||
constructor(...args: number[]) {}
|
||||
@MyMethodDecorator
|
||||
method(...args: string[]) {}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
// @target: ES2015
|
||||
// @module: commonjs
|
||||
// @declaration: true
|
||||
|
||||
export const test = "test";
|
||||
|
||||
export function foo () {
|
||||
const x = { test };
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
// @target: ES5
|
||||
// @module: commonjs
|
||||
// @declaration: true
|
||||
|
||||
export const test = "test";
|
||||
|
||||
export function foo () {
|
||||
const x = { test };
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
// @noImplicitReferences: true
|
||||
// @traceResolution: true
|
||||
// @declaration: true
|
||||
// @typesRoot: /
|
||||
// @typeRoots: /types
|
||||
|
||||
|
||||
// @filename: /types/lib/index.d.ts
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @noImplicitReferences: true
|
||||
// @declaration: true
|
||||
// @typesRoot: /
|
||||
// @typeRoots: /types
|
||||
// @traceResolution: true
|
||||
|
||||
// @filename: /ref.d.ts
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @noImplicitReferences: true
|
||||
// @declaration: true
|
||||
// @typesRoot: /
|
||||
// @typeRoots: /types
|
||||
// @traceResolution: true
|
||||
// @types: lib
|
||||
// @out: output.js
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @noImplicitReferences: true
|
||||
// @declaration: true
|
||||
// @typesRoot: /
|
||||
// @typeRoots: /types
|
||||
// @traceResolution: true
|
||||
// @out: output.js
|
||||
// @module: amd
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// @noImplicitReferences: true
|
||||
// @declaration: true
|
||||
// @typesRoot: /
|
||||
// @typeRoots: /types
|
||||
// @traceResolution: true
|
||||
|
||||
// @filename: /ref.d.ts
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue