mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge branch 'master' into esau-squash
This commit is contained in:
@@ -23,6 +23,8 @@ tests/services/browser/typescriptServices.js
|
||||
src/harness/*.js
|
||||
src/compiler/diagnosticInformationMap.generated.ts
|
||||
src/compiler/diagnosticMessages.generated.json
|
||||
src/parser/diagnosticInformationMap.generated.ts
|
||||
src/parser/diagnosticMessages.generated.json
|
||||
rwc-report.html
|
||||
*.swp
|
||||
build.json
|
||||
|
||||
@@ -60,7 +60,7 @@ function checkForUniqueCodes(diagnosticTable: InputDiagnosticMessageTable) {
|
||||
function buildInfoFileOutput(messageTable: InputDiagnosticMessageTable, inputFilePathRel: string, thisFilePathRel: string): string {
|
||||
let result =
|
||||
"// <auto-generated />\r\n" +
|
||||
"// generated from '" + inputFilePathRel + "' by '" + thisFilePathRel + "'\r\n" +
|
||||
"// generated from '" + inputFilePathRel + "' by '" + thisFilePathRel.replace(/\\/g, '/') + "'\r\n" +
|
||||
"/* @internal */\r\n" +
|
||||
"namespace ts {\r\n" +
|
||||
" function diag(code: number, category: DiagnosticCategory, key: string, message: string, reportsUnnecessary?: {}): DiagnosticMessage {\r\n" +
|
||||
@@ -119,4 +119,4 @@ function convertPropertyName(origName: string): string {
|
||||
return result;
|
||||
}
|
||||
|
||||
main();
|
||||
main();
|
||||
|
||||
@@ -2514,11 +2514,12 @@ namespace ts {
|
||||
return true;
|
||||
}
|
||||
const node = symbol.valueDeclaration;
|
||||
const init = !node ? undefined :
|
||||
let init = !node ? undefined :
|
||||
isVariableDeclaration(node) ? node.initializer :
|
||||
isBinaryExpression(node) ? node.right :
|
||||
isPropertyAccessExpression(node) && isBinaryExpression(node.parent) ? node.parent.right :
|
||||
undefined;
|
||||
init = init && getRightMostAssignedExpression(init);
|
||||
if (init) {
|
||||
const isPrototypeAssignment = isPrototypeAccess(isVariableDeclaration(node) ? node.name : isBinaryExpression(node) ? node.left : node);
|
||||
return !!getJavascriptInitializer(isBinaryExpression(init) && init.operatorToken.kind === SyntaxKind.BarBarToken ? init.right : init, isPrototypeAssignment);
|
||||
|
||||
+139
-78
@@ -4091,7 +4091,14 @@ namespace ts {
|
||||
}
|
||||
else {
|
||||
const contextFile = getSourceFileOfNode(getOriginalNode(context!.enclosingDeclaration))!;
|
||||
return `"${file.moduleName || moduleSpecifiers.getModuleSpecifier(compilerOptions, contextFile, contextFile.path, file.path, context!.tracker.moduleResolverHost!)}"`;
|
||||
return `"${file.moduleName || moduleSpecifiers.getModuleSpecifiers(
|
||||
symbol,
|
||||
compilerOptions,
|
||||
contextFile,
|
||||
context!.tracker.moduleResolverHost!,
|
||||
context!.tracker.moduleResolverHost!.getSourceFiles!(),
|
||||
{ importModuleSpecifierPreference: "non-relative" }
|
||||
)[0]}"`;
|
||||
}
|
||||
}
|
||||
const declaration = symbol.declarations[0];
|
||||
@@ -4868,7 +4875,10 @@ namespace ts {
|
||||
// binding pattern [x, s = ""]. Because the contextual type is a tuple type, the resulting type of [1, "one"] is the
|
||||
// tuple type [number, string]. Thus, the type inferred for 'x' is number and the type inferred for 's' is string.
|
||||
function getWidenedTypeForVariableLikeDeclaration(declaration: ParameterDeclaration | PropertyDeclaration | PropertySignature | VariableDeclaration | BindingElement, reportErrors?: boolean): Type {
|
||||
let type = getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true);
|
||||
return widenTypeForVariableLikeDeclaration(getTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true), declaration, reportErrors);
|
||||
}
|
||||
|
||||
function widenTypeForVariableLikeDeclaration(type: Type | undefined, declaration: any, reportErrors?: boolean) {
|
||||
if (type) {
|
||||
if (reportErrors) {
|
||||
reportErrorsFromWidening(declaration, type);
|
||||
@@ -4931,59 +4941,48 @@ namespace ts {
|
||||
if (declaration.kind === SyntaxKind.ExportAssignment) {
|
||||
return links.type = checkExpression((<ExportAssignment>declaration).expression);
|
||||
}
|
||||
if (isInJavaScriptFile(declaration) && isJSDocPropertyLikeTag(declaration) && declaration.typeExpression) {
|
||||
return links.type = getTypeFromTypeNode(declaration.typeExpression.type);
|
||||
}
|
||||
// Handle variable, parameter or property
|
||||
if (!pushTypeResolution(symbol, TypeSystemPropertyName.Type)) {
|
||||
return errorType;
|
||||
}
|
||||
|
||||
let type: Type;
|
||||
// Handle certain special assignment kinds, which happen to union across multiple declarations:
|
||||
// * module.exports = expr
|
||||
// * exports.p = expr
|
||||
// * this.p = expr
|
||||
// * className.prototype.method = expr
|
||||
if (declaration.kind === SyntaxKind.BinaryExpression ||
|
||||
declaration.kind === SyntaxKind.PropertyAccessExpression && declaration.parent.kind === SyntaxKind.BinaryExpression) {
|
||||
type = getWidenedTypeFromJSSpecialPropertyDeclarations(symbol);
|
||||
}
|
||||
else if (isJSDocPropertyLikeTag(declaration)
|
||||
|| isPropertyAccessExpression(declaration)
|
||||
|| isIdentifier(declaration)
|
||||
|| isClassDeclaration(declaration)
|
||||
|| isFunctionDeclaration(declaration)
|
||||
|| (isMethodDeclaration(declaration) && !isObjectLiteralMethod(declaration))
|
||||
|| isMethodSignature(declaration)) {
|
||||
|
||||
// Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty`
|
||||
if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)) {
|
||||
return getTypeOfFuncClassEnumModule(symbol);
|
||||
let type = getJSSpecialType(symbol, declaration);
|
||||
if (!type) {
|
||||
if (isJSDocPropertyLikeTag(declaration)
|
||||
|| isPropertyAccessExpression(declaration)
|
||||
|| isIdentifier(declaration)
|
||||
|| isClassDeclaration(declaration)
|
||||
|| isFunctionDeclaration(declaration)
|
||||
|| (isMethodDeclaration(declaration) && !isObjectLiteralMethod(declaration))
|
||||
|| isMethodSignature(declaration)) {
|
||||
// Symbol is property of some kind that is merged with something - should use `getTypeOfFuncClassEnumModule` and not `getTypeOfVariableOrParameterOrProperty`
|
||||
if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)) {
|
||||
return getTypeOfFuncClassEnumModule(symbol);
|
||||
}
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || anyType;
|
||||
}
|
||||
else if (isPropertyAssignment(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkPropertyAssignment(declaration);
|
||||
}
|
||||
else if (isJsxAttribute(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkJsxAttribute(declaration);
|
||||
}
|
||||
else if (isShorthandPropertyAssignment(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionForMutableLocation(declaration.name, CheckMode.Normal);
|
||||
}
|
||||
else if (isObjectLiteralMethod(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkObjectLiteralMethod(declaration, CheckMode.Normal);
|
||||
}
|
||||
else if (isParameter(declaration)
|
||||
|| isPropertyDeclaration(declaration)
|
||||
|| isPropertySignature(declaration)
|
||||
|| isVariableDeclaration(declaration)
|
||||
|| isBindingElement(declaration)) {
|
||||
type = getWidenedTypeForVariableLikeDeclaration(declaration, /*includeOptionality*/ true);
|
||||
}
|
||||
else {
|
||||
return Debug.fail("Unhandled declaration kind! " + Debug.showSyntaxKind(declaration) + " for " + Debug.showSymbol(symbol));
|
||||
}
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || anyType;
|
||||
}
|
||||
else if (isPropertyAssignment(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkPropertyAssignment(declaration);
|
||||
}
|
||||
else if (isJsxAttribute(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkJsxAttribute(declaration);
|
||||
}
|
||||
else if (isShorthandPropertyAssignment(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkExpressionForMutableLocation(declaration.name, CheckMode.Normal);
|
||||
}
|
||||
else if (isObjectLiteralMethod(declaration)) {
|
||||
type = tryGetTypeFromEffectiveTypeNode(declaration) || checkObjectLiteralMethod(declaration, CheckMode.Normal);
|
||||
}
|
||||
else if (isParameter(declaration)
|
||||
|| isPropertyDeclaration(declaration)
|
||||
|| isPropertySignature(declaration)
|
||||
|| isVariableDeclaration(declaration)
|
||||
|| isBindingElement(declaration)) {
|
||||
type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true);
|
||||
}
|
||||
else {
|
||||
return Debug.fail("Unhandled declaration kind! " + Debug.showSyntaxKind(declaration) + " for " + Debug.showSymbol(symbol));
|
||||
}
|
||||
|
||||
if (!popTypeResolution()) {
|
||||
@@ -4994,6 +4993,56 @@ namespace ts {
|
||||
return links.type;
|
||||
}
|
||||
|
||||
function getJSSpecialType(symbol: Symbol, decl: Declaration): Type | undefined {
|
||||
if (!isInJavaScriptFile(decl)) {
|
||||
return undefined;
|
||||
}
|
||||
else if (isJSDocPropertyLikeTag(decl) && decl.typeExpression) {
|
||||
return getTypeFromTypeNode(decl.typeExpression.type);
|
||||
}
|
||||
// Handle certain special assignment kinds, which happen to union across multiple declarations:
|
||||
// * module.exports = expr
|
||||
// * exports.p = expr
|
||||
// * this.p = expr
|
||||
// * className.prototype.method = expr
|
||||
else if (isBinaryExpression(decl) ||
|
||||
isPropertyAccessExpression(decl) && isBinaryExpression(decl.parent)) {
|
||||
return getJSInitializerType(decl, symbol, getAssignedJavascriptInitializer(isBinaryExpression(decl) ? decl.left : decl)) ||
|
||||
getWidenedTypeFromJSSpecialPropertyDeclarations(symbol);
|
||||
}
|
||||
else if (isParameter(decl)
|
||||
|| isPropertyDeclaration(decl)
|
||||
|| isPropertySignature(decl)
|
||||
|| isVariableDeclaration(decl)
|
||||
|| isBindingElement(decl)) {
|
||||
// Use type from type annotation if one is present
|
||||
const isOptional = isParameter(decl) && isJSDocOptionalParameter(decl) ||
|
||||
!isBindingElement(decl) && !isVariableDeclaration(decl) && !!decl.questionToken;
|
||||
const declaredType = tryGetTypeFromEffectiveTypeNode(decl);
|
||||
return declaredType && addOptionality(declaredType, isOptional) ||
|
||||
getJSInitializerType(decl, symbol, getDeclaredJavascriptInitializer(decl)) ||
|
||||
getWidenedTypeForVariableLikeDeclaration(decl, /*includeOptionality*/ true);
|
||||
}
|
||||
}
|
||||
|
||||
function getJSInitializerType(decl: Node, symbol: Symbol, init: Expression | undefined): Type | undefined {
|
||||
if (init && isInJavaScriptFile(init) && isObjectLiteralExpression(init)) {
|
||||
const exports = createSymbolTable();
|
||||
while (isBinaryExpression(decl) || isPropertyAccessExpression(decl)) {
|
||||
const s = getSymbolOfNode(decl);
|
||||
if (s && hasEntries(s.exports)) {
|
||||
mergeSymbolTable(exports, s.exports);
|
||||
}
|
||||
decl = isBinaryExpression(decl) ? decl.parent : decl.parent.parent;
|
||||
}
|
||||
const s = getSymbolOfNode(decl);
|
||||
if (s && hasEntries(s.exports)) {
|
||||
mergeSymbolTable(exports, s.exports);
|
||||
}
|
||||
return createAnonymousType(symbol, exports, emptyArray, emptyArray, jsObjectLiteralIndexInfo, undefined);
|
||||
}
|
||||
}
|
||||
|
||||
function getAnnotatedAccessorType(accessor: AccessorDeclaration | undefined): Type | undefined {
|
||||
if (accessor) {
|
||||
if (accessor.kind === SyntaxKind.GetAccessor) {
|
||||
@@ -12181,14 +12230,6 @@ namespace ts {
|
||||
// widen accessor based properties here.
|
||||
return prop;
|
||||
}
|
||||
if (prop.flags & SymbolFlags.JSContainer) {
|
||||
const node = prop.declarations && first(prop.declarations);
|
||||
const init = getAssignedJavascriptInitializer(node);
|
||||
if (init && init.kind !== SyntaxKind.ObjectLiteralExpression) {
|
||||
// for JS special declarations, the only kind of initializer that will widen is object literals
|
||||
return prop;
|
||||
}
|
||||
}
|
||||
const original = getTypeOfSymbol(prop);
|
||||
const propContext = context && createWideningContext(context, prop.escapedName, /*siblings*/ undefined);
|
||||
const widened = getWidenedTypeWithContext(original, propContext);
|
||||
@@ -14849,6 +14890,10 @@ namespace ts {
|
||||
return getTypeFromTypeNode(jsDocFunctionType.parameters[0].type!);
|
||||
}
|
||||
}
|
||||
const thisTag = getJSDocThisTag(node);
|
||||
if (thisTag && thisTag.typeExpression) {
|
||||
return getTypeFromTypeNode(thisTag.typeExpression);
|
||||
}
|
||||
}
|
||||
|
||||
function isInConstructorArgumentInitializer(node: Node, constructorDecl: Node): boolean {
|
||||
@@ -15996,19 +16041,6 @@ namespace ts {
|
||||
let patternWithComputedProperties = false;
|
||||
let hasComputedStringProperty = false;
|
||||
let hasComputedNumberProperty = false;
|
||||
|
||||
if (isInJSFile) {
|
||||
const decl = getDeclarationOfJSInitializer(node);
|
||||
if (decl) {
|
||||
// a JS object literal whose declaration's symbol has exports is a JS namespace
|
||||
const symbol = getSymbolOfNode(decl);
|
||||
if (symbol && hasEntries(symbol.exports)) {
|
||||
propertiesTable = symbol.exports;
|
||||
symbol.exports.forEach(s => propertiesArray.push(getMergedSymbol(s)));
|
||||
return createObjectLiteralType();
|
||||
}
|
||||
}
|
||||
}
|
||||
propertiesTable = createSymbolTable();
|
||||
|
||||
let offset = 0;
|
||||
@@ -20440,9 +20472,15 @@ namespace ts {
|
||||
getUnionType([removeDefinitelyFalsyTypes(leftType), rightType], UnionReduction.Subtype) :
|
||||
leftType;
|
||||
case SyntaxKind.EqualsToken:
|
||||
checkSpecialAssignment(left, right);
|
||||
checkAssignmentOperator(rightType);
|
||||
return getRegularTypeOfObjectLiteral(rightType);
|
||||
const special = getSpecialPropertyAssignmentKind(left.parent as BinaryExpression);
|
||||
checkSpecialAssignment(special, right);
|
||||
if (isJSSpecialPropertyAssignment(special)) {
|
||||
return leftType;
|
||||
}
|
||||
else {
|
||||
checkAssignmentOperator(rightType);
|
||||
return getRegularTypeOfObjectLiteral(rightType);
|
||||
}
|
||||
case SyntaxKind.CommaToken:
|
||||
if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left) && !isEvalNode(right)) {
|
||||
error(left, Diagnostics.Left_side_of_comma_operator_is_unused_and_has_no_side_effects);
|
||||
@@ -20453,8 +20491,7 @@ namespace ts {
|
||||
return Debug.fail();
|
||||
}
|
||||
|
||||
function checkSpecialAssignment(left: Node, right: Expression) {
|
||||
const special = getSpecialPropertyAssignmentKind(left.parent as BinaryExpression);
|
||||
function checkSpecialAssignment(special: SpecialPropertyAssignmentKind, right: Expression) {
|
||||
if (special === SpecialPropertyAssignmentKind.ModuleExports) {
|
||||
const rightType = checkExpression(right, checkMode);
|
||||
for (const prop of getPropertiesOfObjectType(rightType)) {
|
||||
@@ -20513,6 +20550,7 @@ namespace ts {
|
||||
// requires VarExpr to be classified as a reference
|
||||
// A compound assignment furthermore requires VarExpr to be classified as a reference (section 4.1)
|
||||
// and the type of the non-compound operation to be assignable to the type of VarExpr.
|
||||
|
||||
if (checkReferenceExpression(left, Diagnostics.The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access)
|
||||
&& (!isIdentifier(left) || unescapeLeadingUnderscores(left.escapedText) !== "exports")) {
|
||||
// to avoid cascading errors check assignability only if 'isReference' check succeeded and no errors were reported
|
||||
@@ -20521,6 +20559,23 @@ namespace ts {
|
||||
}
|
||||
}
|
||||
|
||||
function isJSSpecialPropertyAssignment(special: SpecialPropertyAssignmentKind) {
|
||||
switch (special) {
|
||||
case SpecialPropertyAssignmentKind.ExportsProperty:
|
||||
case SpecialPropertyAssignmentKind.ModuleExports:
|
||||
case SpecialPropertyAssignmentKind.Property:
|
||||
case SpecialPropertyAssignmentKind.Prototype:
|
||||
case SpecialPropertyAssignmentKind.PrototypeProperty:
|
||||
case SpecialPropertyAssignmentKind.ThisProperty:
|
||||
const symbol = getSymbolOfNode(left);
|
||||
const init = getAssignedJavascriptInitializer(right);
|
||||
return init && isObjectLiteralExpression(init) &&
|
||||
symbol && hasEntries(symbol.exports);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function reportOperatorError() {
|
||||
error(errorNode || operatorToken, Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, tokenToString(operatorToken.kind), typeToString(leftType), typeToString(rightType));
|
||||
}
|
||||
@@ -23297,9 +23352,15 @@ namespace ts {
|
||||
// Node is the primary declaration of the symbol, just validate the initializer
|
||||
// Don't validate for-in initializer as it is already an error
|
||||
const initializer = getEffectiveInitializer(node);
|
||||
if (initializer && node.parent.parent.kind !== SyntaxKind.ForInStatement) {
|
||||
checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined);
|
||||
checkParameterInitializer(node);
|
||||
if (initializer) {
|
||||
const isJSObjectLiteralInitializer = isInJavaScriptFile(node) &&
|
||||
isObjectLiteralExpression(initializer) &&
|
||||
(initializer.properties.length === 0 || isPrototypeAccess(node.name)) &&
|
||||
hasEntries(symbol.exports);
|
||||
if (!isJSObjectLiteralInitializer && node.parent.parent.kind !== SyntaxKind.ForInStatement) {
|
||||
checkTypeAssignableTo(checkExpressionCached(initializer), type, node, /*headMessage*/ undefined);
|
||||
checkParameterInitializer(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -475,7 +475,6 @@ namespace ts {
|
||||
{
|
||||
name: "sourceRoot",
|
||||
type: "string",
|
||||
isFilePath: true,
|
||||
paramType: Diagnostics.LOCATION,
|
||||
category: Diagnostics.Source_Map_Options,
|
||||
description: Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,
|
||||
@@ -483,7 +482,6 @@ namespace ts {
|
||||
{
|
||||
name: "mapRoot",
|
||||
type: "string",
|
||||
isFilePath: true,
|
||||
paramType: Diagnostics.LOCATION,
|
||||
category: Diagnostics.Source_Map_Options,
|
||||
description: Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations,
|
||||
|
||||
@@ -15,17 +15,20 @@ namespace ts.moduleSpecifiers {
|
||||
// For each symlink/original for a module, returns a list of ways to import that file.
|
||||
export function getModuleSpecifiers(
|
||||
moduleSymbol: Symbol,
|
||||
program: Program,
|
||||
compilerOptions: CompilerOptions,
|
||||
importingSourceFile: SourceFile,
|
||||
host: ModuleSpecifierResolutionHost,
|
||||
files: ReadonlyArray<SourceFile>,
|
||||
preferences: ModuleSpecifierPreferences,
|
||||
): ReadonlyArray<ReadonlyArray<string>> {
|
||||
const ambient = tryGetModuleNameFromAmbientModule(moduleSymbol);
|
||||
if (ambient) return [[ambient]];
|
||||
|
||||
const compilerOptions = program.getCompilerOptions();
|
||||
const info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.fileName, host);
|
||||
const modulePaths = getAllModulePaths(program, getSourceFileOfNode(moduleSymbol.valueDeclaration));
|
||||
const info = getInfo(compilerOptions, importingSourceFile, importingSourceFile.path, host);
|
||||
if (!files) {
|
||||
return Debug.fail("Files list must be present to resolve symlinks in specifier resolution");
|
||||
}
|
||||
const modulePaths = getAllModulePaths(files, getSourceFileOfNode(moduleSymbol.valueDeclaration), info.getCanonicalFileName, host);
|
||||
|
||||
const global = mapDefined(modulePaths, moduleFileName => getGlobalModuleSpecifier(moduleFileName, info, host, compilerOptions));
|
||||
return global.length ? global.map(g => [g]) : modulePaths.map(moduleFileName =>
|
||||
@@ -130,15 +133,57 @@ namespace ts.moduleSpecifiers {
|
||||
return firstDefined(imports, ({ text }) => pathIsRelative(text) ? fileExtensionIs(text, Extension.Js) : undefined) || false;
|
||||
}
|
||||
|
||||
function discoverProbableSymlinks(files: ReadonlyArray<SourceFile>) {
|
||||
const symlinks = mapDefined(files, sf =>
|
||||
sf.resolvedModules && firstDefinedIterator(sf.resolvedModules.values(), res =>
|
||||
res && res.originalPath && res.resolvedFileName !== res.originalPath ? [res.resolvedFileName, res.originalPath] : undefined));
|
||||
const result = createMap<string>();
|
||||
if (symlinks) {
|
||||
for (const [resolvedPath, originalPath] of symlinks) {
|
||||
const resolvedParts = getPathComponents(resolvedPath);
|
||||
const originalParts = getPathComponents(originalPath);
|
||||
while (resolvedParts[resolvedParts.length - 1] === originalParts[originalParts.length - 1]) {
|
||||
resolvedParts.pop();
|
||||
originalParts.pop();
|
||||
}
|
||||
result.set(getPathFromPathComponents(originalParts), getPathFromPathComponents(resolvedParts));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function getAllModulePathsUsingIndirectSymlinks(files: ReadonlyArray<SourceFile>, target: string, getCanonicalFileName: (file: string) => string, host: ModuleSpecifierResolutionHost) {
|
||||
const links = discoverProbableSymlinks(files);
|
||||
const paths = arrayFrom(links.keys());
|
||||
let options: string[] | undefined;
|
||||
for (const path of paths) {
|
||||
const resolved = links.get(path)!;
|
||||
if (startsWith(target, resolved + "/")) {
|
||||
const relative = getRelativePathFromDirectory(resolved, target, getCanonicalFileName);
|
||||
const option = resolvePath(path, relative);
|
||||
if (!host.fileExists || host.fileExists(option)) {
|
||||
if (!options) options = [];
|
||||
options.push(option);
|
||||
}
|
||||
}
|
||||
}
|
||||
const resolvedtarget = host.getCurrentDirectory ? resolvePath(host.getCurrentDirectory(), target) : target;
|
||||
if (options) {
|
||||
options.push(resolvedtarget); // Since these are speculative, we also include the original resolved name as a possibility
|
||||
return options;
|
||||
}
|
||||
return [resolvedtarget];
|
||||
}
|
||||
|
||||
/**
|
||||
* Looks for a existing imports that use symlinks to this module.
|
||||
* Only if no symlink is available, the real path will be used.
|
||||
*/
|
||||
function getAllModulePaths(program: Program, { fileName }: SourceFile): ReadonlyArray<string> {
|
||||
const symlinks = mapDefined(program.getSourceFiles(), sf =>
|
||||
function getAllModulePaths(files: ReadonlyArray<SourceFile>, { fileName }: SourceFile, getCanonicalFileName: (file: string) => string, host: ModuleSpecifierResolutionHost): ReadonlyArray<string> {
|
||||
const symlinks = mapDefined(files, sf =>
|
||||
sf.resolvedModules && firstDefinedIterator(sf.resolvedModules.values(), res =>
|
||||
res && res.resolvedFileName === fileName ? res.originalPath : undefined));
|
||||
return symlinks.length === 0 ? [fileName] : symlinks;
|
||||
return symlinks.length === 0 ? getAllModulePathsUsingIndirectSymlinks(files, fileName, getCanonicalFileName, host) : symlinks;
|
||||
}
|
||||
|
||||
function getRelativePathNParents(relativePath: string): number {
|
||||
|
||||
@@ -491,6 +491,8 @@ namespace ts {
|
||||
case SyntaxKind.JSDocCallbackTag:
|
||||
return visitNode(cbNode, (node as JSDocCallbackTag).fullName) ||
|
||||
visitNode(cbNode, (node as JSDocCallbackTag).typeExpression);
|
||||
case SyntaxKind.JSDocThisTag:
|
||||
return visitNode(cbNode, (node as JSDocThisTag).typeExpression);
|
||||
case SyntaxKind.JSDocSignature:
|
||||
return visitNodes(cbNode, cbNodes, node.decorators) ||
|
||||
visitNodes(cbNode, cbNodes, node.modifiers) ||
|
||||
@@ -6497,6 +6499,9 @@ namespace ts {
|
||||
case "constructor":
|
||||
tag = parseClassTag(atToken, tagName);
|
||||
break;
|
||||
case "this":
|
||||
tag = parseThisTag(atToken, tagName);
|
||||
break;
|
||||
case "arg":
|
||||
case "argument":
|
||||
case "param":
|
||||
@@ -6768,6 +6773,15 @@ namespace ts {
|
||||
return finishNode(tag);
|
||||
}
|
||||
|
||||
function parseThisTag(atToken: AtToken, tagName: Identifier): JSDocThisTag {
|
||||
const tag = <JSDocThisTag>createNode(SyntaxKind.JSDocThisTag, atToken.pos);
|
||||
tag.atToken = atToken;
|
||||
tag.tagName = tagName;
|
||||
tag.typeExpression = parseJSDocTypeExpression(/*mayOmitBraces*/ true);
|
||||
skipWhitespace();
|
||||
return finishNode(tag);
|
||||
}
|
||||
|
||||
function parseTypedefTag(atToken: AtToken, tagName: Identifier, indent: number): JSDocTypedefTag {
|
||||
const typeExpression = tryParseTypeExpression();
|
||||
skipWhitespace();
|
||||
|
||||
@@ -616,7 +616,7 @@ namespace ts {
|
||||
const filesByNameIgnoreCase = host.useCaseSensitiveFileNames() ? createMap<SourceFile>() : undefined;
|
||||
|
||||
// A parallel array to projectReferences storing the results of reading in the referenced tsconfig files
|
||||
const resolvedProjectReferences: (ResolvedProjectReference | undefined)[] | undefined = projectReferences ? [] : undefined;
|
||||
let resolvedProjectReferences: (ResolvedProjectReference | undefined)[] | undefined = projectReferences ? [] : undefined;
|
||||
const projectReferenceRedirects: Map<string> = createMap();
|
||||
|
||||
const shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options);
|
||||
@@ -1190,6 +1190,7 @@ namespace ts {
|
||||
fileProcessingDiagnostics.reattachFileDiagnostics(modifiedFile.newFile);
|
||||
}
|
||||
resolvedTypeReferenceDirectives = oldProgram.getResolvedTypeReferenceDirectives();
|
||||
resolvedProjectReferences = oldProgram.getProjectReferences();
|
||||
|
||||
sourceFileToPackageName = oldProgram.sourceFileToPackageName;
|
||||
redirectTargetsSet = oldProgram.redirectTargetsSet;
|
||||
|
||||
@@ -371,6 +371,7 @@ namespace ts {
|
||||
JSDocCallbackTag,
|
||||
JSDocParameterTag,
|
||||
JSDocReturnTag,
|
||||
JSDocThisTag,
|
||||
JSDocTypeTag,
|
||||
JSDocTemplateTag,
|
||||
JSDocTypedefTag,
|
||||
@@ -2323,6 +2324,11 @@ namespace ts {
|
||||
kind: SyntaxKind.JSDocClassTag;
|
||||
}
|
||||
|
||||
export interface JSDocThisTag extends JSDocTag {
|
||||
kind: SyntaxKind.JSDocThisTag;
|
||||
typeExpression?: JSDocTypeExpression;
|
||||
}
|
||||
|
||||
export interface JSDocTemplateTag extends JSDocTag {
|
||||
kind: SyntaxKind.JSDocTemplateTag;
|
||||
typeParameters: NodeArray<TypeParameterDeclaration>;
|
||||
@@ -5255,6 +5261,7 @@ namespace ts {
|
||||
useCaseSensitiveFileNames?(): boolean;
|
||||
fileExists?(path: string): boolean;
|
||||
readFile?(path: string): string | undefined;
|
||||
getSourceFiles?(): ReadonlyArray<SourceFile>; // Used for cached resolutions to find symlinks without traversing the fs (again)
|
||||
}
|
||||
|
||||
/** @deprecated See comment on SymbolWriter */
|
||||
|
||||
@@ -1757,6 +1757,12 @@ namespace ts {
|
||||
return node.initializer;
|
||||
}
|
||||
|
||||
/** Get the declaration initializer when it is container-like (See getJavascriptInitializer). */
|
||||
export function getDeclaredJavascriptInitializer(node: HasExpressionInitializer) {
|
||||
const init = getEffectiveInitializer(node);
|
||||
return init && getJavascriptInitializer(init, isPrototypeAccess(node.name));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the assignment 'initializer' -- the righthand side-- when the initializer is container-like (See getJavascriptInitializer).
|
||||
* We treat the right hand side of assignments with container-like initalizers as declarations.
|
||||
@@ -4325,6 +4331,8 @@ namespace ts {
|
||||
switch (options.target) {
|
||||
case ScriptTarget.ESNext:
|
||||
return "lib.esnext.full.d.ts";
|
||||
case ScriptTarget.ES2018:
|
||||
return "lib.es2018.full.d.ts";
|
||||
case ScriptTarget.ES2017:
|
||||
return "lib.es2017.full.d.ts";
|
||||
case ScriptTarget.ES2016:
|
||||
@@ -4962,6 +4970,11 @@ namespace ts {
|
||||
return getFirstJSDocTag(node, isJSDocClassTag);
|
||||
}
|
||||
|
||||
/** Gets the JSDoc this tag for the node if present */
|
||||
export function getJSDocThisTag(node: Node): JSDocThisTag | undefined {
|
||||
return getFirstJSDocTag(node, isJSDocThisTag);
|
||||
}
|
||||
|
||||
/** Gets the JSDoc return tag for the node if present */
|
||||
export function getJSDocReturnTag(node: Node): JSDocReturnTag | undefined {
|
||||
return getFirstJSDocTag(node, isJSDocReturnTag);
|
||||
@@ -5693,6 +5706,10 @@ namespace ts {
|
||||
return node.kind === SyntaxKind.JSDocClassTag;
|
||||
}
|
||||
|
||||
export function isJSDocThisTag(node: Node): node is JSDocThisTag {
|
||||
return node.kind === SyntaxKind.JSDocThisTag;
|
||||
}
|
||||
|
||||
export function isJSDocParameterTag(node: Node): node is JSDocParameterTag {
|
||||
return node.kind === SyntaxKind.JSDocParameterTag;
|
||||
}
|
||||
|
||||
+18
-4
@@ -1108,6 +1108,7 @@ namespace Harness {
|
||||
{ name: "noImplicitReferences", type: "boolean" },
|
||||
{ name: "currentDirectory", type: "string" },
|
||||
{ name: "symlink", type: "string" },
|
||||
{ name: "link", type: "string" },
|
||||
// Emitted js baseline will print full paths for every output file
|
||||
{ name: "fullEmitPaths", type: "boolean" }
|
||||
];
|
||||
@@ -1179,7 +1180,9 @@ namespace Harness {
|
||||
harnessSettings: TestCaseParser.CompilerSettings | undefined,
|
||||
compilerOptions: ts.CompilerOptions | undefined,
|
||||
// Current directory is needed for rwcRunner to be able to use currentDirectory defined in json file
|
||||
currentDirectory: string | undefined): compiler.CompilationResult {
|
||||
currentDirectory: string | undefined,
|
||||
symlinks?: vfs.FileSet
|
||||
): compiler.CompilationResult {
|
||||
const options: ts.CompilerOptions & HarnessOptions = compilerOptions ? ts.cloneCompilerOptions(compilerOptions) : { noResolve: false };
|
||||
options.target = options.target || ts.ScriptTarget.ES3;
|
||||
options.newLine = options.newLine || ts.NewLineKind.CarriageReturnLineFeed;
|
||||
@@ -1216,6 +1219,9 @@ namespace Harness {
|
||||
|
||||
const docs = inputFiles.concat(otherFiles).map(documents.TextDocument.fromTestFile);
|
||||
const fs = vfs.createFromFileSystem(IO, !useCaseSensitiveFileNames, { documents: docs, cwd: currentDirectory });
|
||||
if (symlinks) {
|
||||
fs.apply(symlinks);
|
||||
}
|
||||
const host = new fakes.CompilerHost(fs, options);
|
||||
return compiler.compileFiles(host, programFileNames, options);
|
||||
}
|
||||
@@ -1836,6 +1842,7 @@ namespace Harness {
|
||||
|
||||
// Regex for parsing options in the format "@Alpha: Value of any sort"
|
||||
const optionRegex = /^[\/]{2}\s*@(\w+)\s*:\s*([^\r\n]*)/gm; // multiple matches on multiple lines
|
||||
const linkRegex = /^[\/]{2}\s*@link\s*:\s*([^\r\n]*)\s*->\s*([^\r\n]*)/gm; // multiple matches on multiple lines
|
||||
|
||||
export function extractCompilerSettings(content: string): CompilerSettings {
|
||||
const opts: CompilerSettings = {};
|
||||
@@ -1855,6 +1862,7 @@ namespace Harness {
|
||||
testUnitData: TestUnitData[];
|
||||
tsConfig: ts.ParsedCommandLine | undefined;
|
||||
tsConfigFileUnitData: TestUnitData | undefined;
|
||||
symlinks?: vfs.FileSet;
|
||||
}
|
||||
|
||||
/** Given a test file containing // @FileName directives, return an array of named units of code to be added to an existing compiler instance */
|
||||
@@ -1869,10 +1877,16 @@ namespace Harness {
|
||||
let currentFileOptions: any = {};
|
||||
let currentFileName: any;
|
||||
let refs: string[] = [];
|
||||
let symlinks: vfs.FileSet | undefined;
|
||||
|
||||
for (const line of lines) {
|
||||
const testMetaData = optionRegex.exec(line);
|
||||
if (testMetaData) {
|
||||
let testMetaData: RegExpExecArray | null;
|
||||
const linkMetaData = linkRegex.exec(line);
|
||||
if (linkMetaData) {
|
||||
if (!symlinks) symlinks = {};
|
||||
symlinks[linkMetaData[2].trim()] = new vfs.Symlink(linkMetaData[1].trim());
|
||||
}
|
||||
else if (testMetaData = optionRegex.exec(line)) {
|
||||
// Comment line, check for global/file @options and record them
|
||||
optionRegex.lastIndex = 0;
|
||||
const metaDataName = testMetaData[1].toLowerCase();
|
||||
@@ -1961,7 +1975,7 @@ namespace Harness {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return { settings, testUnitData, tsConfig, tsConfigFileUnitData };
|
||||
return { settings, testUnitData, tsConfig, tsConfigFileUnitData, symlinks };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+258
-24
@@ -126,6 +126,24 @@ namespace vfs {
|
||||
return this._shadowRoot;
|
||||
}
|
||||
|
||||
/**
|
||||
* Snapshots the current file system, effectively shadowing itself. This is useful for
|
||||
* generating file system patches using `.diff()` from one snapshot to the next. Performs
|
||||
* no action if this file system is read-only.
|
||||
*/
|
||||
public snapshot() {
|
||||
if (this.isReadonly) return;
|
||||
const fs = new FileSystem(this.ignoreCase, { time: this._time });
|
||||
fs._lazy = this._lazy;
|
||||
fs._cwd = this._cwd;
|
||||
fs._time = this._time;
|
||||
fs._shadowRoot = this._shadowRoot;
|
||||
fs._dirStack = this._dirStack;
|
||||
fs.makeReadonly();
|
||||
this._lazy = {};
|
||||
this._shadowRoot = fs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a shadow copy of this file system. Changes to the shadow copy do not affect the
|
||||
* original, allowing multiple copies of the same core file system without multiple copies
|
||||
@@ -671,6 +689,160 @@ namespace vfs {
|
||||
node.ctimeMs = time;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a `FileSet` patch containing all the entries in this `FileSystem` that are not in `base`.
|
||||
* @param base The base file system. If not provided, this file system's `shadowRoot` is used (if present).
|
||||
*/
|
||||
public diff(base = this.shadowRoot) {
|
||||
const differences: FileSet = {};
|
||||
const hasDifferences = base ? FileSystem.rootDiff(differences, this, base) : FileSystem.trackCreatedInodes(differences, this, this._getRootLinks());
|
||||
return hasDifferences ? differences : undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a `FileSet` patch containing all the entries in `chagned` that are not in `base`.
|
||||
*/
|
||||
public static diff(changed: FileSystem, base: FileSystem) {
|
||||
const differences: FileSet = {};
|
||||
return FileSystem.rootDiff(differences, changed, base) ? differences : undefined;
|
||||
}
|
||||
|
||||
private static diffWorker(container: FileSet, changed: FileSystem, changedLinks: ReadonlyMap<string, Inode> | undefined, base: FileSystem, baseLinks: ReadonlyMap<string, Inode> | undefined) {
|
||||
if (changedLinks && !baseLinks) return FileSystem.trackCreatedInodes(container, changed, changedLinks);
|
||||
if (baseLinks && !changedLinks) return FileSystem.trackDeletedInodes(container, baseLinks);
|
||||
if (changedLinks && baseLinks) {
|
||||
let hasChanges = false;
|
||||
// track base items missing in changed
|
||||
baseLinks.forEach((node, basename) => {
|
||||
if (!changedLinks.has(basename)) {
|
||||
container[basename] = isDirectory(node) ? new Rmdir() : new Unlink();
|
||||
hasChanges = true;
|
||||
}
|
||||
});
|
||||
// track changed items missing or differing in base
|
||||
changedLinks.forEach((changedNode, basename) => {
|
||||
const baseNode = baseLinks.get(basename);
|
||||
if (baseNode) {
|
||||
if (isDirectory(changedNode) && isDirectory(baseNode)) {
|
||||
return hasChanges = FileSystem.directoryDiff(container, basename, changed, changedNode, base, baseNode) || hasChanges;
|
||||
}
|
||||
if (isFile(changedNode) && isFile(baseNode)) {
|
||||
return hasChanges = FileSystem.fileDiff(container, basename, changed, changedNode, base, baseNode) || hasChanges;
|
||||
}
|
||||
if (isSymlink(changedNode) && isSymlink(baseNode)) {
|
||||
return hasChanges = FileSystem.symlinkDiff(container, basename, changedNode, baseNode) || hasChanges;
|
||||
}
|
||||
}
|
||||
return hasChanges = FileSystem.trackCreatedInode(container, basename, changed, changedNode) || hasChanges;
|
||||
});
|
||||
return hasChanges;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static rootDiff(container: FileSet, changed: FileSystem, base: FileSystem) {
|
||||
while (!changed._lazy.links && changed._shadowRoot) changed = changed._shadowRoot;
|
||||
while (!base._lazy.links && base._shadowRoot) base = base._shadowRoot;
|
||||
|
||||
// no difference if the file systems are the same reference
|
||||
if (changed === base) return false;
|
||||
|
||||
// no difference if the root links are empty and unshadowed
|
||||
if (!changed._lazy.links && !changed._shadowRoot && !base._lazy.links && !base._shadowRoot) return false;
|
||||
|
||||
return FileSystem.diffWorker(container, changed, changed._getRootLinks(), base, base._getRootLinks());
|
||||
}
|
||||
|
||||
private static directoryDiff(container: FileSet, basename: string, changed: FileSystem, changedNode: DirectoryInode, base: FileSystem, baseNode: DirectoryInode) {
|
||||
while (!changedNode.links && changedNode.shadowRoot) changedNode = changedNode.shadowRoot;
|
||||
while (!baseNode.links && baseNode.shadowRoot) baseNode = baseNode.shadowRoot;
|
||||
|
||||
// no difference if the nodes are the same reference
|
||||
if (changedNode === baseNode) return false;
|
||||
|
||||
// no difference if both nodes are non shadowed and have no entries
|
||||
if (isEmptyNonShadowedDirectory(changedNode) && isEmptyNonShadowedDirectory(baseNode)) return false;
|
||||
|
||||
// no difference if both nodes are unpopulated and point to the same mounted file system
|
||||
if (!changedNode.links && !baseNode.links &&
|
||||
changedNode.resolver && changedNode.source !== undefined &&
|
||||
baseNode.resolver === changedNode.resolver && baseNode.source === changedNode.source) return false;
|
||||
|
||||
// no difference if both nodes have identical children
|
||||
const children: FileSet = {};
|
||||
if (!FileSystem.diffWorker(children, changed, changed._getLinks(changedNode), base, base._getLinks(baseNode))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
container[basename] = new Directory(children);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static fileDiff(container: FileSet, basename: string, changed: FileSystem, changedNode: FileInode, base: FileSystem, baseNode: FileInode) {
|
||||
while (!changedNode.buffer && changedNode.shadowRoot) changedNode = changedNode.shadowRoot;
|
||||
while (!baseNode.buffer && baseNode.shadowRoot) baseNode = baseNode.shadowRoot;
|
||||
|
||||
// no difference if the nodes are the same reference
|
||||
if (changedNode === baseNode) return false;
|
||||
|
||||
// no difference if both nodes are non shadowed and have no entries
|
||||
if (isEmptyNonShadowedFile(changedNode) && isEmptyNonShadowedFile(baseNode)) return false;
|
||||
|
||||
// no difference if both nodes are unpopulated and point to the same mounted file system
|
||||
if (!changedNode.buffer && !baseNode.buffer &&
|
||||
changedNode.resolver && changedNode.source !== undefined &&
|
||||
baseNode.resolver === changedNode.resolver && baseNode.source === changedNode.source) return false;
|
||||
|
||||
const changedBuffer = changed._getBuffer(changedNode);
|
||||
const baseBuffer = base._getBuffer(baseNode);
|
||||
|
||||
// no difference if both buffers are the same reference
|
||||
if (changedBuffer === baseBuffer) return false;
|
||||
|
||||
// no difference if both buffers are identical
|
||||
if (Buffer.compare(changedBuffer, baseBuffer) === 0) return false;
|
||||
|
||||
container[basename] = new File(changedBuffer);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static symlinkDiff(container: FileSet, basename: string, changedNode: SymlinkInode, baseNode: SymlinkInode) {
|
||||
// no difference if the nodes are the same reference
|
||||
if (changedNode.symlink === baseNode.symlink) return false;
|
||||
container[basename] = new Symlink(changedNode.symlink);
|
||||
return true;
|
||||
}
|
||||
|
||||
private static trackCreatedInode(container: FileSet, basename: string, changed: FileSystem, node: Inode) {
|
||||
if (isDirectory(node)) {
|
||||
const children: FileSet = {};
|
||||
FileSystem.trackCreatedInodes(children, changed, changed._getLinks(node));
|
||||
container[basename] = new Directory(children);
|
||||
}
|
||||
else if (isSymlink(node)) {
|
||||
container[basename] = new Symlink(node.symlink);
|
||||
}
|
||||
else {
|
||||
container[basename] = new File(node.buffer || "");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static trackCreatedInodes(container: FileSet, changed: FileSystem, changedLinks: ReadonlyMap<string, Inode>) {
|
||||
// no difference if links are empty
|
||||
if (!changedLinks.size) return false;
|
||||
|
||||
changedLinks.forEach((node, basename) => { FileSystem.trackCreatedInode(container, basename, changed, node); });
|
||||
return true;
|
||||
}
|
||||
|
||||
private static trackDeletedInodes(container: FileSet, baseLinks: ReadonlyMap<string, Inode>) {
|
||||
// no difference if links are empty
|
||||
if (!baseLinks.size) return false;
|
||||
baseLinks.forEach((node, basename) => { container[basename] = isDirectory(node) ? new Rmdir() : new Unlink(); });
|
||||
return true;
|
||||
}
|
||||
|
||||
private _mknod(dev: number, type: typeof S_IFREG, mode: number, time?: number): FileInode;
|
||||
private _mknod(dev: number, type: typeof S_IFDIR, mode: number, time?: number): DirectoryInode;
|
||||
private _mknod(dev: number, type: typeof S_IFLNK, mode: number, time?: number): SymlinkInode;
|
||||
@@ -911,7 +1083,7 @@ namespace vfs {
|
||||
if (this.stringComparer(vpath.dirname(path), path) === 0) {
|
||||
throw new TypeError("Roots cannot be symbolic links.");
|
||||
}
|
||||
this.symlinkSync(entry.symlink, path);
|
||||
this.symlinkSync(vpath.resolve(dirname, entry.symlink), path);
|
||||
this._applyFileExtendedOptions(path, entry);
|
||||
}
|
||||
else if (entry instanceof Link) {
|
||||
@@ -940,10 +1112,10 @@ namespace vfs {
|
||||
|
||||
private _applyFilesWorker(files: FileSet, dirname: string, deferred: [Symlink | Link | Mount, string][]) {
|
||||
for (const key of Object.keys(files)) {
|
||||
const value = this._normalizeFileSetEntry(files[key]);
|
||||
const value = normalizeFileSetEntry(files[key]);
|
||||
const path = dirname ? vpath.resolve(dirname, key) : key;
|
||||
vpath.validate(path, vpath.ValidationFlags.Absolute);
|
||||
if (value === null || value === undefined) {
|
||||
if (value === null || value === undefined || value instanceof Rmdir || value instanceof Unlink) {
|
||||
if (this.stringComparer(vpath.dirname(path), path) === 0) {
|
||||
throw new TypeError("Roots cannot be deleted.");
|
||||
}
|
||||
@@ -967,19 +1139,6 @@ namespace vfs {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private _normalizeFileSetEntry(value: FileSet[string]) {
|
||||
if (value === undefined ||
|
||||
value === null ||
|
||||
value instanceof Directory ||
|
||||
value instanceof File ||
|
||||
value instanceof Link ||
|
||||
value instanceof Symlink ||
|
||||
value instanceof Mount) {
|
||||
return value;
|
||||
}
|
||||
return typeof value === "string" || Buffer.isBuffer(value) ? new File(value) : new Directory(value);
|
||||
}
|
||||
}
|
||||
|
||||
export interface FileSystemOptions {
|
||||
@@ -997,12 +1156,9 @@ namespace vfs {
|
||||
meta?: Record<string, any>;
|
||||
}
|
||||
|
||||
export interface FileSystemCreateOptions {
|
||||
export interface FileSystemCreateOptions extends FileSystemOptions {
|
||||
// Sets the documents to add to the file system.
|
||||
documents?: ReadonlyArray<documents.TextDocument>;
|
||||
|
||||
// Sets the initial working directory for the file system.
|
||||
cwd?: string;
|
||||
}
|
||||
|
||||
export type Axis = "ancestors" | "ancestors-or-self" | "self" | "descendants-or-self" | "descendants";
|
||||
@@ -1062,8 +1218,16 @@ namespace vfs {
|
||||
*
|
||||
* Unless overridden, `/.src` will be the current working directory for the virtual file system.
|
||||
*/
|
||||
export function createFromFileSystem(host: FileSystemResolverHost, ignoreCase: boolean, { documents, cwd }: FileSystemCreateOptions = {}) {
|
||||
export function createFromFileSystem(host: FileSystemResolverHost, ignoreCase: boolean, { documents, files, cwd, time, meta }: FileSystemCreateOptions = {}) {
|
||||
const fs = getBuiltLocal(host, ignoreCase).shadow();
|
||||
if (meta) {
|
||||
for (const key of Object.keys(meta)) {
|
||||
fs.meta.set(key, meta[key]);
|
||||
}
|
||||
}
|
||||
if (time) {
|
||||
fs.time(time);
|
||||
}
|
||||
if (cwd) {
|
||||
fs.mkdirpSync(cwd);
|
||||
fs.chdir(cwd);
|
||||
@@ -1078,12 +1242,14 @@ namespace vfs {
|
||||
if (symlink) {
|
||||
for (const link of symlink.split(",").map(link => link.trim())) {
|
||||
fs.mkdirpSync(vpath.dirname(link));
|
||||
fs.symlinkSync(document.file, link);
|
||||
fs.filemeta(link).set("document", document);
|
||||
fs.symlinkSync(vpath.resolve(fs.cwd(), document.file), link);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (files) {
|
||||
fs.apply(files);
|
||||
}
|
||||
return fs;
|
||||
}
|
||||
|
||||
@@ -1166,7 +1332,7 @@ namespace vfs {
|
||||
* A template used to populate files, directories, links, etc. in a virtual file system.
|
||||
*/
|
||||
export interface FileSet {
|
||||
[name: string]: DirectoryLike | FileLike | Link | Symlink | Mount | null | undefined;
|
||||
[name: string]: DirectoryLike | FileLike | Link | Symlink | Mount | Rmdir | Unlink | null | undefined;
|
||||
}
|
||||
|
||||
export type DirectoryLike = FileSet | Directory;
|
||||
@@ -1202,6 +1368,16 @@ namespace vfs {
|
||||
}
|
||||
}
|
||||
|
||||
/** Removes a directory in a `FileSet` */
|
||||
export class Rmdir {
|
||||
public _rmdirBrand?: never; // brand necessary for proper type guards
|
||||
}
|
||||
|
||||
/** Unlinks a file in a `FileSet` */
|
||||
export class Unlink {
|
||||
public _unlinkBrand?: never; // brand necessary for proper type guards
|
||||
}
|
||||
|
||||
/** Extended options for a symbolic link in a `FileSet` */
|
||||
export class Symlink {
|
||||
public readonly symlink: string;
|
||||
@@ -1274,6 +1450,14 @@ namespace vfs {
|
||||
meta?: collections.Metadata;
|
||||
}
|
||||
|
||||
function isEmptyNonShadowedDirectory(node: DirectoryInode) {
|
||||
return !node.links && !node.shadowRoot && !node.resolver && !node.source;
|
||||
}
|
||||
|
||||
function isEmptyNonShadowedFile(node: FileInode) {
|
||||
return !node.buffer && !node.shadowRoot && !node.resolver && !node.source;
|
||||
}
|
||||
|
||||
function isFile(node: Inode | undefined): node is FileInode {
|
||||
return node !== undefined && (node.mode & S_IFMT) === S_IFREG;
|
||||
}
|
||||
@@ -1325,5 +1509,55 @@ namespace vfs {
|
||||
}
|
||||
return builtLocalCS;
|
||||
}
|
||||
|
||||
function normalizeFileSetEntry(value: FileSet[string]) {
|
||||
if (value === undefined ||
|
||||
value === null ||
|
||||
value instanceof Directory ||
|
||||
value instanceof File ||
|
||||
value instanceof Link ||
|
||||
value instanceof Symlink ||
|
||||
value instanceof Mount ||
|
||||
value instanceof Rmdir ||
|
||||
value instanceof Unlink) {
|
||||
return value;
|
||||
}
|
||||
return typeof value === "string" || Buffer.isBuffer(value) ? new File(value) : new Directory(value);
|
||||
}
|
||||
|
||||
export function formatPatch(patch: FileSet) {
|
||||
return formatPatchWorker("", patch);
|
||||
}
|
||||
|
||||
function formatPatchWorker(dirname: string, container: FileSet): string {
|
||||
let text = "";
|
||||
for (const name of Object.keys(container)) {
|
||||
const entry = normalizeFileSetEntry(container[name]);
|
||||
const file = dirname ? vpath.combine(dirname, name) : name;
|
||||
if (entry === null || entry === undefined || entry instanceof Unlink || entry instanceof Rmdir) {
|
||||
text += `//// [${file}] unlink\r\n`;
|
||||
}
|
||||
else if (entry instanceof Rmdir) {
|
||||
text += `//// [${vpath.addTrailingSeparator(file)}] rmdir\r\n`;
|
||||
}
|
||||
else if (entry instanceof Directory) {
|
||||
text += formatPatchWorker(file, entry.files);
|
||||
}
|
||||
else if (entry instanceof File) {
|
||||
const content = typeof entry.data === "string" ? entry.data : entry.data.toString("utf8");
|
||||
text += `//// [${file}]\r\n${content}\r\n\r\n`;
|
||||
}
|
||||
else if (entry instanceof Link) {
|
||||
text += `//// [${file}] link(${entry.path})\r\n`;
|
||||
}
|
||||
else if (entry instanceof Symlink) {
|
||||
text += `//// [${file}] symlink(${entry.symlink})\r\n`;
|
||||
}
|
||||
else if (entry instanceof Mount) {
|
||||
text += `//// [${file}] mount(${entry.source})\r\n`;
|
||||
}
|
||||
}
|
||||
return text;
|
||||
}
|
||||
}
|
||||
// tslint:enable:no-null-keyword
|
||||
@@ -486,12 +486,18 @@
|
||||
<Item ItemId=";A_non_dry_build_would_build_project_0_6357" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would build project '{0}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[非 DRY 的組建會建置專案 '{0}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_delete_the_following_files_Colon_0_6356" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would delete the following files: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[非 DRY 的組建會刪除下列檔案: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -960,6 +966,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[將大括號新增至箭號函式]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1029,6 +1044,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[在箭號函式中新增或移除大括號]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1773,18 +1797,27 @@
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[建置包括似乎已是最新狀態的所有專案]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[若已過期,則建置一或多個專案及其相依性]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Building_project_0_6358" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Building project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[正在建置專案 '{0}'...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -2865,6 +2898,9 @@
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[刪除所有專案的輸出]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -3327,6 +3363,9 @@
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[啟用詳細資訊記錄]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5760,6 +5799,9 @@
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[選項 '--build' 必須是第一個命令列引數。]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5802,6 +5844,9 @@
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[無法合併選項 '{0}' 與 '{1}'。]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6240,42 +6285,63 @@
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為專案 '{0}' 的相依性 '{1}' 發生錯誤,所以無法建置該專案]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為專案 '{0}' 的相依性 '{1}' 已過期,所以該專案已過期]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為最舊的輸出 '{1}' 早於最新的輸入 '{2}',所以專案 '{0}' 已過期]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為輸出檔案 '{1}' 不存在,所以專案 '{0}' 已過期]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[專案 '{0}' 為最新狀態]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為最新的輸入 '{1}' 早於最舊的輸出 '{2}',所以專案 '{0}' 為最新狀態]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[專案 '{0}' 為最新狀態,且有來自其相依性的 .d.ts 檔案]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6291,6 +6357,9 @@
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[此組建中的專案: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6756,6 +6825,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[從箭號函式移除大括號]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7332,6 +7410,9 @@
|
||||
<Item ItemId=";Show_what_would_be_built_or_deleted_if_specified_with_clean_6367" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Show what would be built (or deleted, if specified with '--clean')]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[顯示將會建置 (或刪除 - 若是指定有 '--clean') 的內容]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -7356,12 +7437,18 @@
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為專案 '{0}' 的相依性 '{1}' 發生錯誤,所以跳過建置該專案]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_clean_because_not_all_projects_could_be_located_6371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping clean because not all projects could be located]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[因為並非所有專案都可找到,所以跳過清理]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -8976,6 +9063,9 @@
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[正在更新專案 '{0}' 的輸出時間戳記...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -9531,6 +9621,9 @@
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[刪除此項目 - 因為先前已建置專案 '{0}',所以其為最新狀態]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
|
||||
@@ -495,12 +495,18 @@
|
||||
<Item ItemId=";A_non_dry_build_would_build_project_0_6357" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would build project '{0}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Una compilación no DRY compilaría el proyecto "{0}"]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_delete_the_following_files_Colon_0_6356" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would delete the following files: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Una compilación no DRY eliminaría los siguientes archivos: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -969,6 +975,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Agregar llaves a la función de flecha]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1041,6 +1056,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Agregar o quitar llaves en una función de flecha]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1785,18 +1809,27 @@
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Compilar todos los proyectos, incluidos los que aparecen actualizados]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Generar uno o varios proyectos y sus dependencias, si no están actualizados]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Building_project_0_6358" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Building project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Compilando el proyecto "{0}"...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -2877,6 +2910,9 @@
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Eliminar las salidas de todos los proyectos]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -3339,6 +3375,9 @@
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Habilitar el registro detallado]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5772,6 +5811,9 @@
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[La opción "--build" debe ser el primer argumento de la línea de comandos.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5814,6 +5856,9 @@
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA["{0}" y "{1}" no se pueden combinar.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6252,42 +6297,63 @@
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" no puede generarse porque su dependencia "{1}" tiene errores]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está obsoleto porque su dependencia "{1}" no está actualizada]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está obsoleto porque la salida más antigua "{1}" es anterior a la entrada más reciente "{2}"]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está obsoleto porque el archivo de salida "{1}" no existe]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está actualizado]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está actualizado porque la entrada más reciente "{1}" es anterior a la salida más antigua "{2}"]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[El proyecto "{0}" está actualizado con archivos .d.ts de sus dependencias]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6303,6 +6369,9 @@
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Proyectos de esta compilación: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6768,6 +6837,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Quitar las llaves de la función de flecha]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7344,6 +7422,9 @@
|
||||
<Item ItemId=";Show_what_would_be_built_or_deleted_if_specified_with_clean_6367" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Show what would be built (or deleted, if specified with '--clean')]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Mostrar lo que podría compilarse (o eliminarse, si se especifica con "--clean")]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -7368,12 +7449,18 @@
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Omitiendo la compilación del proyecto "{0}" porque su dependencia "{1}" tiene errores]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_clean_because_not_all_projects_could_be_located_6371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping clean because not all projects could be located]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Omitiendo la limpieza porque no se encontraron todos los proyectos]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -8988,6 +9075,9 @@
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Actualizando las marcas de hora de salida del proyecto "{0}"...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -9543,6 +9633,9 @@
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[eliminar esto - El proyecto "{0}" está actualizado porque se compiló previamente]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
|
||||
@@ -495,12 +495,18 @@
|
||||
<Item ItemId=";A_non_dry_build_would_build_project_0_6357" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would build project '{0}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Une build non-DRY générerait le projet '{0}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_delete_the_following_files_Colon_0_6356" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would delete the following files: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Une build non-DRY supprimerait les fichiers suivants : {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -969,6 +975,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Ajouter des accolades à la fonction arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1041,6 +1056,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Ajouter ou supprimer les accolades dans une fonction arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1785,18 +1809,27 @@
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Générer tous les projets, même ceux qui semblent être à jour]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Générer un ou plusieurs projets et leurs dépendances (s'ils sont obsolètes)]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Building_project_0_6358" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Building project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Génération du projet '{0}'...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -2877,6 +2910,9 @@
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Supprimer les sorties de tous les projets]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -3339,6 +3375,9 @@
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Activer la journalisation détaillée]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5772,6 +5811,9 @@
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[L'option '--build' doit être le premier argument de ligne de commande.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5814,6 +5856,9 @@
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Impossible de combiner les options '{0}' et '{1}'.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6252,42 +6297,63 @@
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Impossible de générer le projet '{0}' car sa dépendance '{1}' comporte des erreurs]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est obsolète car sa dépendance '{1}' est obsolète]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est obsolète car la sortie la plus ancienne ('{1}') est antérieure à l'entrée la plus récente '{2}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est obsolète car le fichier de sortie '{1}' n'existe pas]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est à jour]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est à jour car l'entrée la plus récente ('{1}') est antérieure à la sortie la plus ancienne ('{2}')]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Le projet '{0}' est à jour avec les fichiers .d.ts de ses dépendances]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6303,6 +6369,9 @@
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projets dans cette build : {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6768,6 +6837,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Supprimer les accolades de la fonction arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7344,6 +7422,9 @@
|
||||
<Item ItemId=";Show_what_would_be_built_or_deleted_if_specified_with_clean_6367" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Show what would be built (or deleted, if specified with '--clean')]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Montrer ce qui serait généré (ou supprimé si '--clean' est spécifié)]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -7368,12 +7449,18 @@
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Ignorer la génération du projet '{0}' car sa dépendance '{1}' comporte des erreurs]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_clean_because_not_all_projects_could_be_located_6371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping clean because not all projects could be located]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Ignorer le nettoyage car tous les projets ne peuvent pas être localisés]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -8988,6 +9075,9 @@
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Mise à jour des horodatages de sortie du projet '{0}'...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -9543,6 +9633,9 @@
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[supprimer ceci - Le projet '{0}' est à jour car il a déjà été généré]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
|
||||
@@ -483,6 +483,24 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_build_project_0_6357" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would build project '{0}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Se si esegue una compilazione non di prova, verrà compilato il progetto '{0}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_delete_the_following_files_Colon_0_6356" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would delete the following files: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Se si esegue una compilazione non di prova, i file seguenti verranno eliminati: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A parameter initializer is only allowed in a function or constructor implementation.]]></Val>
|
||||
@@ -948,6 +966,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Aggiungere le parentesi graffe alla funzione arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1017,6 +1044,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Aggiungere o rimuovere le parentesi graffe in una funzione arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1758,6 +1794,33 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Compilare tutti i progetti, anche quelli che sembrano aggiornati]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Compilare uno o più progetti e le relative dipendenze, se non aggiornate]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Building_project_0_6358" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Building project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Compilazione del progetto '{0}'...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Call_decorator_expression_90028" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Call decorator expression]]></Val>
|
||||
@@ -2832,6 +2895,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Eliminare gli output di tutti i progetti]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[[Deprecated]5D; Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit]]></Val>
|
||||
@@ -3288,6 +3360,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Abilitare la registrazione dettagliata]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.]]></Val>
|
||||
@@ -5715,6 +5796,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[L'opzione '--build' deve essere il primo argomento della riga di comando.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.]]></Val>
|
||||
@@ -5751,6 +5841,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Non è possibile combinare le opzioni '{0}' e '{1}'.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Options_Colon_6027" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options:]]></Val>
|
||||
@@ -6183,6 +6282,69 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Non è possibile compilare il progetto '{0}' perché la dipendenza '{1}' contiene errori]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' non è aggiornato perché la dipendenza '{1}' non è aggiornata]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' non è aggiornato perché l'output meno recente '{1}' è meno recente dell'input più recente '{2}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' non è aggiornato perché il file di output '{1}' non esiste]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' è aggiornato]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' è aggiornato perché l'input più recente '{1}' è meno recente dell'output meno recente '{2}']]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Il progetto '{0}' è aggiornato con i file con estensione d.ts delle relative dipendenze]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project references may not form a circular graph. Cycle detected: {0}]]></Val>
|
||||
@@ -6192,6 +6354,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Progetti in questa compilazione: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Projects_to_reference_6300" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects to reference]]></Val>
|
||||
@@ -6654,6 +6825,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Rimuovere le parentesi graffe dalla funzione arrow]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7227,6 +7407,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Show_what_would_be_built_or_deleted_if_specified_with_clean_6367" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Show what would be built (or deleted, if specified with '--clean')]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Mostra gli elementi che vengono compilati (o eliminati, se specificati con l'opzione '--clean')]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Signature_0_must_be_a_type_predicate_1224" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Signature '{0}' must be a type predicate.]]></Val>
|
||||
@@ -7245,6 +7434,24 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[La compilazione del progetto '{0}' verrà ignorata perché la dipendenza '{1}' contiene errori]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_clean_because_not_all_projects_could_be_located_6371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping clean because not all projects could be located]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[La pulizia verrà ignorata perché non è stato possibile individuare tutti i progetti]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Source_Map_Options_6175" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Source Map Options]]></Val>
|
||||
@@ -8853,6 +9060,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Aggiornamento dei timestamp di output del progetto '{0}'...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Use_synthetic_default_member_95016" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Use synthetic 'default' member.]]></Val>
|
||||
@@ -9402,6 +9618,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[eliminare - Il progetto '{0}' è aggiornato perché è stato compilato in precedenza]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";enum_declarations_can_only_be_used_in_a_ts_file_8015" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA['enum declarations' can only be used in a .ts file.]]></Val>
|
||||
|
||||
@@ -950,6 +950,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Dodaj nawiasy klamrowe do funkcji strzałki]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1019,6 +1028,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Dodaj lub usuń nawiasy klamrowe w funkcji strzałki]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1763,12 +1781,18 @@
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Kompiluj wszystkie projekty, łącznie z tymi, które wydają się być aktualne]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Kompiluj co najmniej jeden projekt i jego zależności, jeśli są nieaktualne]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -2855,6 +2879,9 @@
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Usuń dane wyjściowe wszystkich projektów]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -3317,6 +3344,9 @@
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Włącz pełne rejestrowanie]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5750,6 +5780,9 @@
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Opcja „--build” musi być pierwszym argumentem wiersza polecenia.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -5792,6 +5825,9 @@
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Nie można połączyć opcji „{0}” i „{1}”.]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6227,30 +6263,45 @@
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Nie można skompilować projektu „{0}”, ponieważ jego zależność „{1}” zawiera błędy]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekt „{0}” jest nieaktualny, ponieważ jego zależność „{1}” jest nieaktualna]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekt „{0}” jest nieaktualny, ponieważ najstarsze dane wyjściowe „{1}” są starsze niż najnowsze dane wejściowe „{2}”]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekt „{0}” jest nieaktualny, ponieważ plik wyjściowy „{1}” nie istnieje]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekt „{0}” jest aktualny]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6263,6 +6314,9 @@
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekt „{0}” jest aktualny z plikami .d.ts z jego zależności]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6278,6 +6332,9 @@
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Projekty w tej kompilacji: {0}]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -6743,6 +6800,15 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Usuń nawiasy klamrowe z funkcji strzałki]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7343,6 +7409,9 @@
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Pomijanie kompilacji projektu „{0}”, ponieważ jego zależność „{1}” zawiera błędy]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -8963,6 +9032,9 @@
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Trwa aktualizowanie sygnatury czasowej danych wyjściowych projektu „{0}”...]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -9518,6 +9590,9 @@
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[usuń to — projekt „{0}” jest aktualny, ponieważ został wcześniej skompilowany]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
|
||||
@@ -1970,6 +1970,9 @@
|
||||
<Item ItemId=";Cannot_find_lib_definition_for_0_Did_you_mean_1_2727" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Cannot find lib definition for '{0}'. Did you mean '{1}'?]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Não é possível encontrar a definição de lib para '{0}'. Você quis dizer '{1}'?]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
|
||||
@@ -482,6 +482,18 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_build_project_0_6357" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would build project '{0}']]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_non_dry_build_would_delete_the_following_files_Colon_0_6356" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A non-dry build would delete the following files: {0}]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[A parameter initializer is only allowed in a function or constructor implementation.]]></Val>
|
||||
@@ -947,6 +959,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_braces_to_arrow_function_95059" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add braces to arrow function]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_definite_assignment_assertion_to_property_0_95020" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add definite assignment assertion to property '{0}']]></Val>
|
||||
@@ -1016,6 +1034,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_or_remove_braces_in_an_arrow_function_95058" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add or remove braces in an arrow function]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Add qualifier to all unresolved variables matching a member name]]></Val>
|
||||
@@ -1757,6 +1781,24 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_all_projects_including_those_that_appear_to_be_up_to_date_6368" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build all projects, including those that appear to be up to date]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Build one or more projects and their dependencies, if out of date]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Building_project_0_6358" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Building project '{0}'...]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Call_decorator_expression_90028" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Call decorator expression]]></Val>
|
||||
@@ -1937,12 +1979,18 @@
|
||||
<Item ItemId=";Cannot_find_lib_definition_for_0_2726" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Cannot find lib definition for '{0}'.]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Не удается найти определение lib для "{0}".]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Cannot_find_lib_definition_for_0_Did_you_mean_1_2727" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Cannot find lib definition for '{0}'. Did you mean '{1}'?]]></Val>
|
||||
<Tgt Cat="Text" Stat="Loc" Orig="New">
|
||||
<Val><![CDATA[Не удается найти определение lib для "{0}". Вы имели в виду "{1}"?]]></Val>
|
||||
</Tgt>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
@@ -2825,6 +2873,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Delete_the_outputs_of_all_projects_6365" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Delete the outputs of all projects]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[[Deprecated]5D; Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit]]></Val>
|
||||
@@ -3281,6 +3335,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Enable_verbose_logging_6366" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enable verbose logging]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'.]]></Val>
|
||||
@@ -5708,6 +5768,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Option_build_must_be_the_first_command_line_argument_6369" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option '--build' must be the first command line argument.]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher.]]></Val>
|
||||
@@ -5744,6 +5810,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Options_0_and_1_cannot_be_combined_6370" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options '{0}' and '{1}' cannot be combined.]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Options_Colon_6027" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Options:]]></Val>
|
||||
@@ -6176,6 +6248,48 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' can't be built because its dependency '{1}' has errors]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because its dependency '{1}' is out of date]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}']]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is out of date because output file '{1}' does not exist]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_6361" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}']]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project '{0}' is up to date with .d.ts files from its dependencies]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Project references may not form a circular graph. Cycle detected: {0}]]></Val>
|
||||
@@ -6185,6 +6299,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Projects_in_this_build_Colon_0_6355" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects in this build: {0}]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Projects_to_reference_6300" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Projects to reference]]></Val>
|
||||
@@ -6647,6 +6767,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_braces_from_arrow_function_95060" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove braces from arrow function]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Remove_declaration_for_Colon_0_90004" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Remove declaration for: '{0}']]></Val>
|
||||
@@ -7220,6 +7346,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Show_what_would_be_built_or_deleted_if_specified_with_clean_6367" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Show what would be built (or deleted, if specified with '--clean')]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Signature_0_must_be_a_type_predicate_1224" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Signature '{0}' must be a type predicate.]]></Val>
|
||||
@@ -7238,6 +7370,18 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping build of project '{0}' because its dependency '{1}' has errors]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Skipping_clean_because_not_all_projects_could_be_located_6371" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Skipping clean because not all projects could be located]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Source_Map_Options_6175" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Source Map Options]]></Val>
|
||||
@@ -8846,6 +8990,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Updating_output_timestamps_of_project_0_6359" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Updating output timestamps of project '{0}'...]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";Use_synthetic_default_member_95016" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[Use synthetic 'default' member.]]></Val>
|
||||
@@ -9395,6 +9545,12 @@
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA[delete this - Project '{0}' is up to date because it was previously built]]></Val>
|
||||
</Str>
|
||||
<Disp Icon="Str" />
|
||||
</Item>
|
||||
<Item ItemId=";enum_declarations_can_only_be_used_in_a_ts_file_8015" ItemType="0" PsrId="306" Leaf="true">
|
||||
<Str Cat="Text">
|
||||
<Val><![CDATA['enum declarations' can only be used in a .ts file.]]></Val>
|
||||
|
||||
@@ -247,7 +247,7 @@ namespace ts.codefix {
|
||||
preferences: UserPreferences,
|
||||
): ReadonlyArray<NewImportInfo> {
|
||||
const choicesForEachExportingModule = flatMap<SymbolExportInfo, NewImportInfo[]>(moduleSymbols, ({ moduleSymbol, importKind }) => {
|
||||
const modulePathsGroups = moduleSpecifiers.getModuleSpecifiers(moduleSymbol, program, sourceFile, host, preferences);
|
||||
const modulePathsGroups = moduleSpecifiers.getModuleSpecifiers(moduleSymbol, program.getCompilerOptions(), sourceFile, host, program.getSourceFiles(), preferences);
|
||||
return modulePathsGroups.map(group => group.map(moduleSpecifier => ({ moduleSpecifier, importKind })));
|
||||
});
|
||||
// Sort to keep the shortest paths first, but keep [relativePath, importRelativeToBaseUrl] groups together
|
||||
|
||||
@@ -366,7 +366,7 @@ namespace ts.SignatureHelp {
|
||||
return invocation.kind === InvocationKind.Call ? getInvokedExpression(invocation.node) : invocation.called;
|
||||
}
|
||||
|
||||
const signatureHelpNodeBuilderFlags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors;
|
||||
const signatureHelpNodeBuilderFlags = NodeBuilderFlags.OmitParameterModifiers | NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope;
|
||||
function createSignatureHelpItems(candidates: ReadonlyArray<Signature>, resolvedSignature: Signature, argumentListInfo: ArgumentListInfo, sourceFile: SourceFile, typeChecker: TypeChecker): SignatureHelpItems {
|
||||
const { argumentCount, argumentsSpan: applicableSpan, invocation, argumentIndex } = argumentListInfo;
|
||||
const isTypeParameterList = argumentListInfo.kind === ArgumentListKind.TypeArguments;
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace ts.sourcemaps {
|
||||
};
|
||||
|
||||
function getGeneratedPosition(loc: SourceMappableLocation): SourceMappableLocation {
|
||||
const maps = getGeneratedOrderedMappings();
|
||||
const maps = getSourceOrderedMappings();
|
||||
if (!length(maps)) return loc;
|
||||
let targetIndex = binarySearch(maps, { sourcePath: loc.fileName, sourcePosition: loc.position }, identity, compareProcessedPositionSourcePositions);
|
||||
if (targetIndex < 0 && maps.length > 0) {
|
||||
@@ -56,7 +56,7 @@ namespace ts.sourcemaps {
|
||||
}
|
||||
|
||||
function getOriginalPosition(loc: SourceMappableLocation): SourceMappableLocation {
|
||||
const maps = getSourceOrderedMappings();
|
||||
const maps = getGeneratedOrderedMappings();
|
||||
if (!length(maps)) return loc;
|
||||
let targetIndex = binarySearch(maps, { emittedPosition: loc.position }, identity, compareProcessedPositionEmittedPositions);
|
||||
if (targetIndex < 0 && maps.length > 0) {
|
||||
|
||||
@@ -179,7 +179,9 @@ class CompilerTest {
|
||||
this.otherFiles,
|
||||
this.harnessSettings,
|
||||
/*options*/ tsConfigOptions,
|
||||
/*currentDirectory*/ this.harnessSettings.currentDirectory);
|
||||
/*currentDirectory*/ this.harnessSettings.currentDirectory,
|
||||
testCaseContent.symlinks
|
||||
);
|
||||
|
||||
this.options = this.result.options;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace ts {
|
||||
|
||||
export namespace Sample1 {
|
||||
tick();
|
||||
const projFs = loadProjectFromDisk("../../tests/projects/sample1");
|
||||
const projFs = loadProjectFromDisk("tests/projects/sample1");
|
||||
|
||||
const allExpectedOutputs = ["/src/tests/index.js",
|
||||
"/src/core/index.js", "/src/core/index.d.ts",
|
||||
@@ -236,40 +236,33 @@ namespace ts {
|
||||
}
|
||||
|
||||
export namespace OutFile {
|
||||
const outFileFs = loadProjectFromDisk("../../tests/projects/outfile-concat");
|
||||
const outFileFs = loadProjectFromDisk("tests/projects/outfile-concat");
|
||||
|
||||
describe("tsbuild - baseline sectioned sourcemaps", () => {
|
||||
const fs = outFileFs.shadow();
|
||||
const host = new fakes.CompilerHost(fs);
|
||||
const builder = createSolutionBuilder(host, buildHost, ["/src/third"], { dry: false, force: false, verbose: false });
|
||||
clearDiagnostics();
|
||||
builder.buildAllProjects();
|
||||
assertDiagnosticMessages(/*none*/);
|
||||
|
||||
const files = [
|
||||
"/src/third/thirdjs/output/third-output.js",
|
||||
"/src/third/thirdjs/output/third-output.js.map"
|
||||
];
|
||||
|
||||
for (const file of files) {
|
||||
it(`Generates files matching the baseline - ${file}`, () => {
|
||||
Harness.Baseline.runBaseline(getBaseFileName(file), () => {
|
||||
return fs.readFileSync(file, "utf-8");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
it(`Generates files matching the baseline - file listing for outFile-concat`, () => {
|
||||
Harness.Baseline.runBaseline("outfile-concat-fileListing.txt", () => {
|
||||
return fs.getFileListing();
|
||||
let fs: vfs.FileSystem | undefined;
|
||||
before(() => {
|
||||
fs = outFileFs.shadow();
|
||||
const host = new fakes.CompilerHost(fs);
|
||||
const builder = createSolutionBuilder(host, buildHost, ["/src/third"], { dry: false, force: false, verbose: false });
|
||||
clearDiagnostics();
|
||||
builder.buildAllProjects();
|
||||
assertDiagnosticMessages(/*none*/);
|
||||
});
|
||||
after(() => {
|
||||
fs = undefined;
|
||||
});
|
||||
it(`Generates files matching the baseline`, () => {
|
||||
Harness.Baseline.runBaseline("outfile-concat.js", () => {
|
||||
const patch = fs!.diff();
|
||||
// tslint:disable-next-line:no-null-keyword
|
||||
return patch ? vfs.formatPatch(patch) : null;
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
describe("tsbuild - graph-ordering", () => {
|
||||
const fs = new vfs.FileSystem(false);
|
||||
const host = new fakes.CompilerHost(fs);
|
||||
let host: fakes.CompilerHost | undefined;
|
||||
const deps: [string, string][] = [
|
||||
["A", "B"],
|
||||
["B", "C"],
|
||||
@@ -280,7 +273,15 @@ namespace ts {
|
||||
["F", "E"]
|
||||
];
|
||||
|
||||
writeProjects(fs, ["A", "B", "C", "D", "E", "F", "G"], deps);
|
||||
before(() => {
|
||||
const fs = new vfs.FileSystem(false);
|
||||
host = new fakes.CompilerHost(fs);
|
||||
writeProjects(fs, ["A", "B", "C", "D", "E", "F", "G"], deps);
|
||||
});
|
||||
|
||||
after(() => {
|
||||
host = undefined;
|
||||
});
|
||||
|
||||
it("orders the graph correctly - specify two roots", () => {
|
||||
checkGraphOrdering(["A", "G"], ["A", "B", "C", "D", "E", "G"]);
|
||||
@@ -299,7 +300,7 @@ namespace ts {
|
||||
});
|
||||
|
||||
function checkGraphOrdering(rootNames: string[], expectedBuildSet: string[]) {
|
||||
const builder = createSolutionBuilder(host, buildHost, rootNames, { dry: true, force: false, verbose: false });
|
||||
const builder = createSolutionBuilder(host!, buildHost, rootNames, { dry: true, force: false, verbose: false });
|
||||
|
||||
const projFileNames = rootNames.map(getProjectFileName);
|
||||
const graph = builder.getBuildGraph(projFileNames);
|
||||
@@ -394,32 +395,17 @@ namespace ts {
|
||||
}
|
||||
|
||||
function loadProjectFromDisk(root: string): vfs.FileSystem {
|
||||
const fs = new vfs.FileSystem(/*ignoreCase*/ false, { time });
|
||||
const rootPath = resolvePath(__dirname, root);
|
||||
loadFsMirror(fs, rootPath, "/src");
|
||||
fs.mkdirpSync("/lib");
|
||||
const libs = ["es5", "dom", "webworker.importscripts", "scripthost"];
|
||||
for (const lib of libs) {
|
||||
const content = Harness.IO.readFile(combinePaths(Harness.libFolder, `lib.${lib}.d.ts`));
|
||||
if (content === undefined) {
|
||||
throw new Error(`Failed to read lib ${lib}`);
|
||||
}
|
||||
fs.writeFileSync(`/lib/lib.${lib}.d.ts`, content);
|
||||
}
|
||||
fs.writeFileSync("/lib/lib.d.ts", Harness.IO.readFile(combinePaths(Harness.libFolder, "lib.d.ts"))!);
|
||||
fs.meta.set("defaultLibLocation", "/lib");
|
||||
const resolver = vfs.createResolver(Harness.IO);
|
||||
const fs = new vfs.FileSystem(/*ignoreCase*/ true, {
|
||||
files: {
|
||||
["/lib"]: new vfs.Mount(vpath.resolve(Harness.IO.getWorkspaceRoot(), "built/local"), resolver),
|
||||
["/src"]: new vfs.Mount(vpath.resolve(Harness.IO.getWorkspaceRoot(), root), resolver)
|
||||
},
|
||||
cwd: "/",
|
||||
meta: { defaultLibLocation: "/lib" },
|
||||
time
|
||||
});
|
||||
fs.makeReadonly();
|
||||
return fs;
|
||||
}
|
||||
|
||||
function loadFsMirror(vfs: vfs.FileSystem, localRoot: string, virtualRoot: string) {
|
||||
vfs.mkdirpSync(virtualRoot);
|
||||
for (const path of Harness.IO.readDirectory(localRoot)) {
|
||||
const file = getBaseFileName(path);
|
||||
vfs.writeFileSync(virtualRoot + "/" + file, Harness.IO.readFile(localRoot + "/" + file)!);
|
||||
}
|
||||
for (const dir of Harness.IO.getDirectories(localRoot)) {
|
||||
loadFsMirror(vfs, localRoot + "/" + dir, virtualRoot + "/" + dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_Watch.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_Watch.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher
|
||||
* at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -79,7 +86,7 @@ watchMain();
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher
|
||||
* at: https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
//// [tests/cases/compiler/APISample_WatchWithDefaults.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_WatchWithDefaults.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. This uses default sys interface without having to pass anything
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
//// [tests/cases/compiler/APISample_WatchWithOwnWatchHost.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_WatchWithOwnWatchHost.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files
|
||||
* Note: This test is a public API sample. This sample verifies creating abstract builder to watch list of root files
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_compile.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_compile.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -42,7 +49,7 @@ compile(process.argv.slice(2), {
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
//// [tests/cases/compiler/APISample_jsdoc.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_jsdoc.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The original sources can be found
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_linter.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_linter.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -67,7 +74,7 @@ fileNames.forEach(fileName => {
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#traversing-the-ast-with-a-little-linter
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_parseConfig.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_parseConfig.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -39,7 +46,7 @@ export function createProgram(rootFiles: string[], compilerOptionsJson: string):
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_transform.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_transform.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -19,7 +26,7 @@ console.log(JSON.stringify(result));
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-simple-transform-function
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
//// [tests/cases/compiler/APISample_watcher.ts] ////
|
||||
|
||||
//// [index.d.ts]
|
||||
declare module "typescript" {
|
||||
export = ts;
|
||||
}
|
||||
|
||||
//// [APISample_watcher.ts]
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
|
||||
@@ -113,7 +120,7 @@ watch(currentDirectoryFiles, { module: ts.ModuleKind.CommonJS });
|
||||
"use strict";
|
||||
/*
|
||||
* Note: This test is a public API sample. The sample sources can be found
|
||||
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services
|
||||
* at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#incremental-build-support-using-the-language-services
|
||||
* Please log a "breaking change" issue for any API breaking change affecting this issue
|
||||
*/
|
||||
exports.__esModule = true;
|
||||
|
||||
+26
-15
File diff suppressed because one or more lines are too long
@@ -86,9 +86,9 @@ A.prototype = B.prototype = {
|
||||
>A : typeof A
|
||||
>prototype : { [x: string]: any; m(n: number): number; }
|
||||
>B.prototype = { /** @param {number} n */ m(n) { return n + 1 }} : { [x: string]: any; m(n: number): number; }
|
||||
>B.prototype : { [x: string]: any; m(n: number): number; }
|
||||
>B.prototype : { [x: string]: any; }
|
||||
>B : typeof B
|
||||
>prototype : { [x: string]: any; m(n: number): number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{ /** @param {number} n */ m(n) { return n + 1 }} : { [x: string]: any; m(n: number): number; }
|
||||
|
||||
/** @param {number} n */
|
||||
|
||||
@@ -24,7 +24,7 @@ exports.__esModule = true;
|
||||
var foo_1 = require("foo");
|
||||
var bar_1 = require("bar");
|
||||
foo_1.x + bar_1.y;
|
||||
//# sourceMappingURL=/app/myMapRoot/index.js.map
|
||||
//# sourceMappingURL=../myMapRoot/index.js.map
|
||||
|
||||
//// [/app/bin/index.d.ts]
|
||||
/// <reference path="../../types/bar.d.ts" />
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
//// [/app/bin/index.js.map]
|
||||
{"version":3,"file":"index.js","sourceRoot":"/app/mySourceRoot/","sources":["index.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,2BAAwB;AACxB,2BAAwB;AACxB,OAAC,GAAG,OAAC,CAAC"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"mySourceRoot/","sources":["index.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,2BAAwB;AACxB,2BAAwB;AACxB,OAAC,GAAG,OAAC,CAAC"}
|
||||
@@ -1,7 +1,7 @@
|
||||
===================================================================
|
||||
JsFile: index.js
|
||||
mapUrl: /app/myMapRoot/index.js.map
|
||||
sourceRoot: /app/mySourceRoot/
|
||||
mapUrl: ../myMapRoot/index.js.map
|
||||
sourceRoot: mySourceRoot/
|
||||
sources: index.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
@@ -43,7 +43,7 @@ sourceFile:index.ts
|
||||
3 > ^^^
|
||||
4 > ^^^^^^^
|
||||
5 > ^
|
||||
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>
|
||||
2 >x
|
||||
@@ -56,4 +56,4 @@ sourceFile:index.ts
|
||||
4 >Emitted(6, 18) Source(4, 6) + SourceIndex(0)
|
||||
5 >Emitted(6, 19) Source(4, 7) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=/app/myMapRoot/index.js.map
|
||||
>>>//# sourceMappingURL=../myMapRoot/index.js.map
|
||||
@@ -15,7 +15,7 @@ export const x = y;
|
||||
exports.__esModule = true;
|
||||
/// <reference path="../lib/bar.d.ts" />
|
||||
exports.x = y;
|
||||
//# sourceMappingURL=/app/myMapRoot/index.js.map
|
||||
//# sourceMappingURL=../src/myMapRoot/index.js.map
|
||||
|
||||
//// [/app/bin/index.d.ts]
|
||||
/// <reference path="../lib/bar.d.ts" />
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
//// [/app/bin/index.js.map]
|
||||
{"version":3,"file":"index.js","sourceRoot":"/app/mySourceRoot/","sources":["index.ts"],"names":[],"mappings":";;AAAA,wCAAwC;AAC3B,QAAA,CAAC,GAAG,CAAC,CAAC"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"mySourceRoot/","sources":["index.ts"],"names":[],"mappings":";;AAAA,wCAAwC;AAC3B,QAAA,CAAC,GAAG,CAAC,CAAC"}
|
||||
@@ -1,7 +1,7 @@
|
||||
===================================================================
|
||||
JsFile: index.js
|
||||
mapUrl: /app/myMapRoot/index.js.map
|
||||
sourceRoot: /app/mySourceRoot/
|
||||
mapUrl: ../src/myMapRoot/index.js.map
|
||||
sourceRoot: mySourceRoot/
|
||||
sources: index.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
@@ -25,7 +25,7 @@ sourceFile:index.ts
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^
|
||||
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>export const
|
||||
2 >
|
||||
@@ -40,4 +40,4 @@ sourceFile:index.ts
|
||||
5 >Emitted(4, 14) Source(2, 19) + SourceIndex(0)
|
||||
6 >Emitted(4, 15) Source(2, 20) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=/app/myMapRoot/index.js.map
|
||||
>>>//# sourceMappingURL=../src/myMapRoot/index.js.map
|
||||
@@ -0,0 +1,9 @@
|
||||
//// [es2018ObjectAssign.ts]
|
||||
const test = Object.assign({}, { test: true });
|
||||
|
||||
declare const p: Promise<number>;
|
||||
p.finally();
|
||||
|
||||
//// [es2018ObjectAssign.js]
|
||||
const test = Object.assign({}, { test: true });
|
||||
p.finally();
|
||||
@@ -0,0 +1,17 @@
|
||||
=== tests/cases/compiler/es2018ObjectAssign.ts ===
|
||||
const test = Object.assign({}, { test: true });
|
||||
>test : Symbol(test, Decl(es2018ObjectAssign.ts, 0, 5))
|
||||
>Object.assign : Symbol(ObjectConstructor.assign, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --))
|
||||
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
|
||||
>assign : Symbol(ObjectConstructor.assign, Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --))
|
||||
>test : Symbol(test, Decl(es2018ObjectAssign.ts, 0, 32))
|
||||
|
||||
declare const p: Promise<number>;
|
||||
>p : Symbol(p, Decl(es2018ObjectAssign.ts, 2, 13))
|
||||
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
|
||||
|
||||
p.finally();
|
||||
>p.finally : Symbol(Promise.finally, Decl(lib.es2018.promise.d.ts, --, --))
|
||||
>p : Symbol(p, Decl(es2018ObjectAssign.ts, 2, 13))
|
||||
>finally : Symbol(Promise.finally, Decl(lib.es2018.promise.d.ts, --, --))
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
=== tests/cases/compiler/es2018ObjectAssign.ts ===
|
||||
const test = Object.assign({}, { test: true });
|
||||
>test : { test: boolean; }
|
||||
>Object.assign({}, { test: true }) : { test: boolean; }
|
||||
>Object.assign : { <T, U>(target: T, source: U): T & U; <T, U, V>(target: T, source1: U, source2: V): T & U & V; <T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; }
|
||||
>Object : ObjectConstructor
|
||||
>assign : { <T, U>(target: T, source: U): T & U; <T, U, V>(target: T, source1: U, source2: V): T & U & V; <T, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; }
|
||||
>{} : {}
|
||||
>{ test: true } : { test: true; }
|
||||
>test : true
|
||||
>true : true
|
||||
|
||||
declare const p: Promise<number>;
|
||||
>p : Promise<number>
|
||||
>Promise : Promise<T>
|
||||
|
||||
p.finally();
|
||||
>p.finally() : Promise<number>
|
||||
>p.finally : (onfinally?: () => void) => Promise<number>
|
||||
>p : Promise<number>
|
||||
>finally : (onfinally?: () => void) => Promise<number>
|
||||
|
||||
@@ -12,7 +12,7 @@ exports.n.K = function () {
|
||||
>K : Symbol(n.K, Decl(mod.js, 0, 15))
|
||||
|
||||
this.x = 10;
|
||||
>this : Symbol(__object, Decl(mod.js, 0, 11))
|
||||
>this : Symbol(n, Decl(mod.js, 0, 0), Decl(mod.js, 1, 8))
|
||||
>x : Symbol(K.x, Decl(mod.js, 1, 27))
|
||||
}
|
||||
exports.Classic = class {
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
=== tests/cases/conformance/salsa/mod.js ===
|
||||
exports.n = {};
|
||||
>exports.n = {} : { [x: string]: any; K: typeof K; }
|
||||
>exports.n : { [x: string]: any; K: typeof K; }
|
||||
>exports.n = {} : typeof n
|
||||
>exports.n : typeof n
|
||||
>exports : typeof import("tests/cases/conformance/salsa/mod")
|
||||
>n : { [x: string]: any; K: typeof K; }
|
||||
>{} : { [x: string]: any; K: typeof K; }
|
||||
>n : typeof n
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
exports.n.K = function () {
|
||||
>exports.n.K = function () { this.x = 10;} : typeof K
|
||||
>exports.n.K : typeof K
|
||||
>exports.n : { [x: string]: any; K: typeof K; }
|
||||
>exports.n : typeof n
|
||||
>exports : typeof import("tests/cases/conformance/salsa/mod")
|
||||
>n : { [x: string]: any; K: typeof K; }
|
||||
>n : typeof n
|
||||
>K : typeof K
|
||||
>function () { this.x = 10;} : typeof K
|
||||
|
||||
this.x = 10;
|
||||
>this.x = 10 : 10
|
||||
>this.x : any
|
||||
>this : { [x: string]: any; K: typeof K; }
|
||||
>this : typeof n
|
||||
>x : any
|
||||
>10 : 10
|
||||
}
|
||||
@@ -47,9 +47,9 @@ var k = new s.n.K()
|
||||
>k : K
|
||||
>new s.n.K() : K
|
||||
>s.n.K : typeof K
|
||||
>s.n : { [x: string]: any; K: typeof K; }
|
||||
>s.n : typeof s.n
|
||||
>s : typeof s
|
||||
>n : { [x: string]: any; K: typeof K; }
|
||||
>n : typeof s.n
|
||||
>K : typeof K
|
||||
|
||||
k.x
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
// #24131
|
||||
const a = {};
|
||||
>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; }
|
||||
>{} : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; }
|
||||
>a : typeof a
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
a.d = function() {};
|
||||
>a.d = function() {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
>a.d : { (): void; prototype: { [x: string]: any; }; }
|
||||
>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; }
|
||||
>a : typeof a
|
||||
>d : { (): void; prototype: { [x: string]: any; }; }
|
||||
>function() {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
|
||||
@@ -16,7 +16,7 @@ a.d.prototype = {};
|
||||
>a.d.prototype = {} : { [x: string]: any; }
|
||||
>a.d.prototype : { [x: string]: any; }
|
||||
>a.d : { (): void; prototype: { [x: string]: any; }; }
|
||||
>a : { [x: string]: any; d: { (): void; prototype: { [x: string]: any; }; }; }
|
||||
>a : typeof a
|
||||
>d : { (): void; prototype: { [x: string]: any; }; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
@@ -5,7 +5,7 @@ declare class A {}
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
const A = { };
|
||||
>A : typeof A
|
||||
>{ } : { [x: string]: any; prototype: A; d: { [x: string]: any; }; }
|
||||
>{ } : { [x: string]: any; }
|
||||
|
||||
A.d = { };
|
||||
>A.d = { } : { [x: string]: any; }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var variable = {};
|
||||
>variable : { [x: string]: any; a: number; }
|
||||
>{} : { [x: string]: any; a: number; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
variable.a = 0;
|
||||
>variable.a = 0 : 0
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
=== tests/cases/conformance/salsa/mod.js ===
|
||||
module.exports.n = {};
|
||||
>module.exports.n = {} : { [x: string]: any; K: typeof C; }
|
||||
>module.exports.n = {} : any
|
||||
>module.exports.n : any
|
||||
>module.exports : any
|
||||
>module : any
|
||||
>exports : any
|
||||
>n : any
|
||||
>{} : { [x: string]: any; K: typeof C; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
module.exports.n.K = function C() {
|
||||
>module.exports.n.K = function C() { this.x = 10;} : typeof C
|
||||
@@ -54,9 +54,9 @@ var k = new s.n.K()
|
||||
>k : C
|
||||
>new s.n.K() : C
|
||||
>s.n.K : typeof C
|
||||
>s.n : { [x: string]: any; K: typeof C; }
|
||||
>s.n : typeof s.n
|
||||
>s : typeof s
|
||||
>n : { [x: string]: any; K: typeof C; }
|
||||
>n : typeof s.n
|
||||
>K : typeof C
|
||||
|
||||
k.x
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
=== tests/cases/conformance/salsa/mod.js ===
|
||||
// #24111 -- shouldn't assert
|
||||
C.prototype = {}
|
||||
>C.prototype = {} : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>C.prototype : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>C.prototype = {} : typeof C.prototype
|
||||
>C.prototype : typeof C.prototype
|
||||
>C : typeof C
|
||||
>prototype : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>{} : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>prototype : typeof C.prototype
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
C.prototype.bar.foo = {};
|
||||
>C.prototype.bar.foo = {} : { [x: string]: any; }
|
||||
>C.prototype.bar.foo : { [x: string]: any; }
|
||||
>C.prototype.bar : typeof C.prototype.bar
|
||||
>C.prototype : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>C.prototype : typeof C.prototype
|
||||
>C : typeof C
|
||||
>prototype : { [x: string]: any; bar: typeof C.prototype.bar; }
|
||||
>prototype : typeof C.prototype
|
||||
>bar : typeof C.prototype.bar
|
||||
>foo : { [x: string]: any; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
*/
|
||||
/lib/
|
||||
/lib/lib.d.ts
|
||||
/lib/lib.dom.d.ts
|
||||
/lib/lib.es5.d.ts
|
||||
/lib/lib.scripthost.d.ts
|
||||
/lib/lib.webworker.importscripts.d.ts
|
||||
/src/
|
||||
/src/2/
|
||||
/src/2/second-output.d.ts
|
||||
/src/2/second-output.d.ts.map
|
||||
/src/2/second-output.js
|
||||
/src/2/second-output.js.map
|
||||
/src/first/
|
||||
/src/first/bin/
|
||||
/src/first/bin/first-output.d.ts
|
||||
/src/first/bin/first-output.d.ts.map
|
||||
/src/first/bin/first-output.js
|
||||
/src/first/bin/first-output.js.map
|
||||
/src/first/first_part1.ts
|
||||
/src/first/first_part2.ts
|
||||
/src/first/first_part3.ts
|
||||
/src/first/tsconfig.json
|
||||
/src/first_part1.ts
|
||||
/src/first_part2.ts
|
||||
/src/first_part3.ts
|
||||
/src/second/
|
||||
/src/second/second_part1.ts
|
||||
/src/second/second_part2.ts
|
||||
/src/second/tsconfig.json
|
||||
/src/second_part1.ts
|
||||
/src/second_part2.ts
|
||||
/src/third/
|
||||
/src/third/third_part1.ts
|
||||
/src/third/thirdjs/
|
||||
/src/third/thirdjs/output/
|
||||
/src/third/thirdjs/output/third-output.d.ts
|
||||
/src/third/thirdjs/output/third-output.d.ts.map
|
||||
/src/third/thirdjs/output/third-output.js
|
||||
/src/third/thirdjs/output/third-output.js.map
|
||||
/src/third/tsconfig.json
|
||||
/src/third_part1.ts
|
||||
/src/tsconfig.json
|
||||
@@ -1,3 +1,88 @@
|
||||
//// [/src/2/second-output.d.ts]
|
||||
declare namespace N {
|
||||
}
|
||||
declare namespace N {
|
||||
}
|
||||
declare class C {
|
||||
doSomething(): void;
|
||||
}
|
||||
//# sourceMappingURL=second-output.d.ts.map
|
||||
|
||||
//// [/src/2/second-output.d.ts.map]
|
||||
{"version":3,"file":"second-output.d.ts","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAAA,kBAAU,CAAC,CAAC;CAEX;AAED,kBAAU,CAAC,CAAC;CAMX;ACVD;IACI,WAAW;CAGd"}
|
||||
|
||||
//// [/src/2/second-output.js]
|
||||
var N;
|
||||
(function (N) {
|
||||
function f() {
|
||||
console.log('testing');
|
||||
}
|
||||
f();
|
||||
})(N || (N = {}));
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
C.prototype.doSomething = function () {
|
||||
console.log("something got done");
|
||||
};
|
||||
return C;
|
||||
}());
|
||||
//# sourceMappingURL=second-output.js.map
|
||||
|
||||
//// [/src/2/second-output.js.map]
|
||||
{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP;QACI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"}
|
||||
|
||||
//// [/src/first/bin/first-output.d.ts]
|
||||
interface TheFirst {
|
||||
none: any;
|
||||
}
|
||||
declare const s = "Hello, world";
|
||||
interface NoJsForHereEither {
|
||||
none: any;
|
||||
}
|
||||
declare function f(): string;
|
||||
//# sourceMappingURL=first-output.d.ts.map
|
||||
|
||||
//// [/src/first/bin/first-output.d.ts.map]
|
||||
{"version":3,"file":"first-output.d.ts","sourceRoot":"","sources":["../first_part1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IACd,IAAI,EAAE,GAAG,CAAC;CACb;AAED,QAAA,MAAM,CAAC,iBAAiB,CAAC;AAEzB,UAAU,iBAAiB;IACvB,IAAI,EAAE,GAAG,CAAC;CACb;AERD,6BAEC"}
|
||||
|
||||
//// [/src/first/bin/first-output.js]
|
||||
var s = "Hello, world";
|
||||
console.log(s);
|
||||
console.log(f());
|
||||
function f() {
|
||||
return "JS does hoists";
|
||||
}
|
||||
//# sourceMappingURL=first-output.js.map
|
||||
|
||||
//// [/src/first/bin/first-output.js.map]
|
||||
{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_part1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB;IACI,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
|
||||
|
||||
//// [/src/third/thirdjs/output/third-output.d.ts]
|
||||
interface TheFirst {
|
||||
none: any;
|
||||
}
|
||||
declare const s = "Hello, world";
|
||||
interface NoJsForHereEither {
|
||||
none: any;
|
||||
}
|
||||
declare function f(): string;
|
||||
//# sourceMappingURL=first-output.d.ts.map
|
||||
declare namespace N {
|
||||
}
|
||||
declare namespace N {
|
||||
}
|
||||
declare class C {
|
||||
doSomething(): void;
|
||||
}
|
||||
//# sourceMappingURL=second-output.d.ts.map
|
||||
declare var c: C;
|
||||
//# sourceMappingURL=third-output.d.ts.map
|
||||
|
||||
//// [/src/third/thirdjs/output/third-output.d.ts.map]
|
||||
{"version":3,"file":"third-output.d.ts","sections":[{"offset":{"line":0,"column":0},"map":{"version":3,"file":"first-output.d.ts","sourceRoot":"","sources":["../first_part1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IACd,IAAI,EAAE,GAAG,CAAC;CACb;AAED,QAAA,MAAM,CAAC,iBAAiB,CAAC;AAEzB,UAAU,iBAAiB;IACvB,IAAI,EAAE,GAAG,CAAC;CACb;AERD,6BAEC"}},{"offset":{"line":9,"column":0},"map":{"version":3,"file":"second-output.d.ts","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAAA,kBAAU,CAAC,CAAC;CAEX;AAED,kBAAU,CAAC,CAAC;CAMX;ACVD;IACI,WAAW;CAGd"}},{"offset":{"line":16,"column":43},"map":{"version":3,"file":"third-output.d.ts","sourceRoot":"","sources":["../../third_part1.ts"],"names":[],"mappings":";AAAA,QAAA,IAAI,CAAC,GAAU,CAAC"}}]}
|
||||
|
||||
//// [/src/third/thirdjs/output/third-output.js]
|
||||
var s = "Hello, world";
|
||||
console.log(s);
|
||||
console.log(f());
|
||||
@@ -23,4 +108,8 @@ var C = (function () {
|
||||
//# sourceMappingURL=second-output.js.map
|
||||
var c = new C();
|
||||
c.doSomething();
|
||||
//# sourceMappingURL=third-output.js.map
|
||||
//# sourceMappingURL=third-output.js.map
|
||||
|
||||
//// [/src/third/thirdjs/output/third-output.js.map]
|
||||
{"version":3,"file":"third-output.js","sections":[{"offset":{"line":0,"column":0},"map":{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_part1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB;IACI,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}},{"offset":{"line":7,"column":0},"map":{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP;QACI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"}},{"offset":{"line":22,"column":41},"map":{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../third_part1.ts"],"names":[],"mappings":";AAAA,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"}}]}
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"third-output.js","sections":[{"offset":{"line":0,"column":0},"map":{"version":3,"file":"first-output.js","sourceRoot":"","sources":["first_part1.ts","first_part2.ts","first_part3.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB;IACI,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}},{"offset":{"line":7,"column":0},"map":{"version":3,"file":"second-output.js","sourceRoot":"","sources":["second_part1.ts","second_part2.ts"],"names":[],"mappings":"AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP;QACI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"}},{"offset":{"line":22,"column":41},"map":{"version":3,"file":"third-output.js","sourceRoot":"","sources":["third_part1.ts"],"names":[],"mappings":";AAAA,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"}}]}
|
||||
@@ -0,0 +1,116 @@
|
||||
//// [tests/cases/compiler/symbolLinkDeclarationEmitModuleNames.ts] ////
|
||||
|
||||
//// [application.ts]
|
||||
import { Constructor } from "@loopback/context";
|
||||
export type ControllerClass = Constructor<any>;
|
||||
//// [usage.ts]
|
||||
import { ControllerClass } from './application';
|
||||
import { BindingKey } from '@loopback/context';
|
||||
|
||||
export const CONTROLLER_CLASS = BindingKey.create<ControllerClass>(null as any); // line in question
|
||||
//// [value-promise.ts]
|
||||
export type Constructor<T> = (...args: any[]) => T;
|
||||
//// [bindingkey.ts]
|
||||
import { Constructor } from "@loopback/context"
|
||||
export class BindingKey<T> {
|
||||
readonly __type: T;
|
||||
static create<T extends Constructor<any>>(ctor: T) {
|
||||
return new BindingKey<T>();
|
||||
}
|
||||
}
|
||||
|
||||
//// [index.ts]
|
||||
export * from "./src/value-promise";
|
||||
export * from "./src/bindingkey";
|
||||
|
||||
|
||||
//// [value-promise.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [bindingkey.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var BindingKey = /** @class */ (function () {
|
||||
function BindingKey() {
|
||||
}
|
||||
BindingKey.create = function (ctor) {
|
||||
return new BindingKey();
|
||||
};
|
||||
return BindingKey;
|
||||
}());
|
||||
exports.BindingKey = BindingKey;
|
||||
//// [index.js]
|
||||
"use strict";
|
||||
function __export(m) {
|
||||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
||||
}
|
||||
exports.__esModule = true;
|
||||
__export(require("./src/bindingkey"));
|
||||
//// [application.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
//// [usage.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var context_1 = require("@loopback/context");
|
||||
exports.CONTROLLER_CLASS = context_1.BindingKey.create(null); // line in question
|
||||
|
||||
|
||||
//// [value-promise.d.ts]
|
||||
export declare type Constructor<T> = (...args: any[]) => T;
|
||||
//// [bindingkey.d.ts]
|
||||
import { Constructor } from "@loopback/context";
|
||||
export declare class BindingKey<T> {
|
||||
readonly __type: T;
|
||||
static create<T extends Constructor<any>>(ctor: T): BindingKey<T>;
|
||||
}
|
||||
//// [index.d.ts]
|
||||
export * from "./src/value-promise";
|
||||
export * from "./src/bindingkey";
|
||||
//// [application.d.ts]
|
||||
import { Constructor } from "@loopback/context";
|
||||
export declare type ControllerClass = Constructor<any>;
|
||||
//// [usage.d.ts]
|
||||
import { BindingKey } from '@loopback/context';
|
||||
export declare const CONTROLLER_CLASS: BindingKey<import("@loopback/context/src/value-promise").Constructor<any>>;
|
||||
|
||||
|
||||
//// [DtsFileErrors]
|
||||
|
||||
|
||||
tests/cases/compiler/monorepo/context/src/bindingkey.d.ts(1,29): error TS2307: Cannot find module '@loopback/context'.
|
||||
tests/cases/compiler/monorepo/core/src/application.d.ts(1,29): error TS2307: Cannot find module '@loopback/context'.
|
||||
tests/cases/compiler/monorepo/core/src/usage.d.ts(1,28): error TS2307: Cannot find module '@loopback/context'.
|
||||
tests/cases/compiler/monorepo/core/src/usage.d.ts(2,51): error TS2307: Cannot find module '@loopback/context/src/value-promise'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/monorepo/core/src/application.d.ts (1 errors) ====
|
||||
import { Constructor } from "@loopback/context";
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2307: Cannot find module '@loopback/context'.
|
||||
export declare type ControllerClass = Constructor<any>;
|
||||
|
||||
==== tests/cases/compiler/monorepo/core/src/usage.d.ts (2 errors) ====
|
||||
import { BindingKey } from '@loopback/context';
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2307: Cannot find module '@loopback/context'.
|
||||
export declare const CONTROLLER_CLASS: BindingKey<import("@loopback/context/src/value-promise").Constructor<any>>;
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2307: Cannot find module '@loopback/context/src/value-promise'.
|
||||
|
||||
==== /.src/tests/cases/compiler/monorepo/context/src/value-promise.d.ts (0 errors) ====
|
||||
export declare type Constructor<T> = (...args: any[]) => T;
|
||||
|
||||
==== /.src/tests/cases/compiler/monorepo/context/src/bindingkey.d.ts (1 errors) ====
|
||||
import { Constructor } from "@loopback/context";
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2307: Cannot find module '@loopback/context'.
|
||||
export declare class BindingKey<T> {
|
||||
readonly __type: T;
|
||||
static create<T extends Constructor<any>>(ctor: T): BindingKey<T>;
|
||||
}
|
||||
|
||||
==== /.src/tests/cases/compiler/monorepo/context/index.d.ts (0 errors) ====
|
||||
export * from "./src/value-promise";
|
||||
export * from "./src/bindingkey";
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
=== tests/cases/compiler/monorepo/core/src/application.ts ===
|
||||
import { Constructor } from "@loopback/context";
|
||||
>Constructor : Symbol(Constructor, Decl(application.ts, 0, 8))
|
||||
|
||||
export type ControllerClass = Constructor<any>;
|
||||
>ControllerClass : Symbol(ControllerClass, Decl(application.ts, 0, 48))
|
||||
>Constructor : Symbol(Constructor, Decl(application.ts, 0, 8))
|
||||
|
||||
=== tests/cases/compiler/monorepo/core/src/usage.ts ===
|
||||
import { ControllerClass } from './application';
|
||||
>ControllerClass : Symbol(ControllerClass, Decl(usage.ts, 0, 8))
|
||||
|
||||
import { BindingKey } from '@loopback/context';
|
||||
>BindingKey : Symbol(BindingKey, Decl(usage.ts, 1, 8))
|
||||
|
||||
export const CONTROLLER_CLASS = BindingKey.create<ControllerClass>(null as any); // line in question
|
||||
>CONTROLLER_CLASS : Symbol(CONTROLLER_CLASS, Decl(usage.ts, 3, 12))
|
||||
>BindingKey.create : Symbol(BindingKey.create, Decl(bindingkey.ts, 2, 21))
|
||||
>BindingKey : Symbol(BindingKey, Decl(usage.ts, 1, 8))
|
||||
>create : Symbol(BindingKey.create, Decl(bindingkey.ts, 2, 21))
|
||||
>ControllerClass : Symbol(ControllerClass, Decl(usage.ts, 0, 8))
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/src/value-promise.ts ===
|
||||
export type Constructor<T> = (...args: any[]) => T;
|
||||
>Constructor : Symbol(Constructor, Decl(value-promise.ts, 0, 0))
|
||||
>T : Symbol(T, Decl(value-promise.ts, 0, 24))
|
||||
>args : Symbol(args, Decl(value-promise.ts, 0, 30))
|
||||
>T : Symbol(T, Decl(value-promise.ts, 0, 24))
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/src/bindingkey.ts ===
|
||||
import { Constructor } from "@loopback/context"
|
||||
>Constructor : Symbol(Constructor, Decl(bindingkey.ts, 0, 8))
|
||||
|
||||
export class BindingKey<T> {
|
||||
>BindingKey : Symbol(BindingKey, Decl(bindingkey.ts, 0, 47))
|
||||
>T : Symbol(T, Decl(bindingkey.ts, 1, 24))
|
||||
|
||||
readonly __type: T;
|
||||
>__type : Symbol(BindingKey.__type, Decl(bindingkey.ts, 1, 28))
|
||||
>T : Symbol(T, Decl(bindingkey.ts, 1, 24))
|
||||
|
||||
static create<T extends Constructor<any>>(ctor: T) {
|
||||
>create : Symbol(BindingKey.create, Decl(bindingkey.ts, 2, 21))
|
||||
>T : Symbol(T, Decl(bindingkey.ts, 3, 16))
|
||||
>Constructor : Symbol(Constructor, Decl(bindingkey.ts, 0, 8))
|
||||
>ctor : Symbol(ctor, Decl(bindingkey.ts, 3, 44))
|
||||
>T : Symbol(T, Decl(bindingkey.ts, 3, 16))
|
||||
|
||||
return new BindingKey<T>();
|
||||
>BindingKey : Symbol(BindingKey, Decl(bindingkey.ts, 0, 47))
|
||||
>T : Symbol(T, Decl(bindingkey.ts, 3, 16))
|
||||
}
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/index.ts ===
|
||||
export * from "./src/value-promise";
|
||||
No type information for this code.export * from "./src/bindingkey";
|
||||
No type information for this code.
|
||||
No type information for this code.
|
||||
@@ -0,0 +1,63 @@
|
||||
=== tests/cases/compiler/monorepo/core/src/application.ts ===
|
||||
import { Constructor } from "@loopback/context";
|
||||
>Constructor : any
|
||||
|
||||
export type ControllerClass = Constructor<any>;
|
||||
>ControllerClass : Constructor<any>
|
||||
>Constructor : Constructor<T>
|
||||
|
||||
=== tests/cases/compiler/monorepo/core/src/usage.ts ===
|
||||
import { ControllerClass } from './application';
|
||||
>ControllerClass : any
|
||||
|
||||
import { BindingKey } from '@loopback/context';
|
||||
>BindingKey : typeof BindingKey
|
||||
|
||||
export const CONTROLLER_CLASS = BindingKey.create<ControllerClass>(null as any); // line in question
|
||||
>CONTROLLER_CLASS : BindingKey<import("tests/cases/compiler/monorepo/context/src/value-promise").Constructor<any>>
|
||||
>BindingKey.create<ControllerClass>(null as any) : BindingKey<import("tests/cases/compiler/monorepo/context/src/value-promise").Constructor<any>>
|
||||
>BindingKey.create : <T extends import("tests/cases/compiler/monorepo/context/src/value-promise").Constructor<any>>(ctor: T) => BindingKey<T>
|
||||
>BindingKey : typeof BindingKey
|
||||
>create : <T extends import("tests/cases/compiler/monorepo/context/src/value-promise").Constructor<any>>(ctor: T) => BindingKey<T>
|
||||
>ControllerClass : import("tests/cases/compiler/monorepo/context/src/value-promise").Constructor<any>
|
||||
>null as any : any
|
||||
>null : null
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/src/value-promise.ts ===
|
||||
export type Constructor<T> = (...args: any[]) => T;
|
||||
>Constructor : Constructor<T>
|
||||
>T : T
|
||||
>args : any[]
|
||||
>T : T
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/src/bindingkey.ts ===
|
||||
import { Constructor } from "@loopback/context"
|
||||
>Constructor : any
|
||||
|
||||
export class BindingKey<T> {
|
||||
>BindingKey : BindingKey<T>
|
||||
>T : T
|
||||
|
||||
readonly __type: T;
|
||||
>__type : T
|
||||
>T : T
|
||||
|
||||
static create<T extends Constructor<any>>(ctor: T) {
|
||||
>create : <T extends Constructor<any>>(ctor: T) => BindingKey<T>
|
||||
>T : T
|
||||
>Constructor : Constructor<T>
|
||||
>ctor : T
|
||||
>T : T
|
||||
|
||||
return new BindingKey<T>();
|
||||
>new BindingKey<T>() : BindingKey<T>
|
||||
>BindingKey : typeof BindingKey
|
||||
>T : T
|
||||
}
|
||||
}
|
||||
|
||||
=== tests/cases/compiler/monorepo/context/index.ts ===
|
||||
export * from "./src/value-promise";
|
||||
No type information for this code.export * from "./src/bindingkey";
|
||||
No type information for this code.
|
||||
No type information for this code.
|
||||
@@ -1,26 +0,0 @@
|
||||
var s = "Hello, world";
|
||||
console.log(s);
|
||||
console.log(f());
|
||||
function f() {
|
||||
return "JS does hoists";
|
||||
}
|
||||
//# sourceMappingURL=first-output.js.map
|
||||
var N;
|
||||
(function (N) {
|
||||
function f() {
|
||||
console.log('testing');
|
||||
}
|
||||
f();
|
||||
})(N || (N = {}));
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
C.prototype.doSomething = function () {
|
||||
console.log("something got done");
|
||||
};
|
||||
return C;
|
||||
}());
|
||||
//# sourceMappingURL=second-output.js.map
|
||||
var c = new C();
|
||||
c.doSomething();
|
||||
//# sourceMappingURL=third-output.js.map
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"third-output.js","sections":[{"offset":{"line":0,"column":0},"map":{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_part1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":"AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACVf,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB;IACI,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}},{"offset":{"line":7,"column":0},"map":{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":"AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP;QACI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;ACVD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"}},{"offset":{"line":22,"column":41},"map":{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../third_part1.ts"],"names":[],"mappings":";AAAA,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"}}]}
|
||||
@@ -0,0 +1,32 @@
|
||||
=== tests/cases/conformance/jsdoc/a.js ===
|
||||
/** @this {{ n: number }} Mount Holyoke Preparatory School
|
||||
* @param {string} s
|
||||
* @return {number}
|
||||
*/
|
||||
function f(s) {
|
||||
>f : Symbol(f, Decl(a.js, 0, 0))
|
||||
>s : Symbol(s, Decl(a.js, 4, 11))
|
||||
|
||||
return this.n + s.length
|
||||
>this.n : Symbol(n, Decl(a.js, 0, 12))
|
||||
>this : Symbol(__type, Decl(a.js, 0, 11))
|
||||
>n : Symbol(n, Decl(a.js, 0, 12))
|
||||
>s.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
|
||||
>s : Symbol(s, Decl(a.js, 4, 11))
|
||||
>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
|
||||
}
|
||||
|
||||
const o = {
|
||||
>o : Symbol(o, Decl(a.js, 8, 5))
|
||||
|
||||
f,
|
||||
>f : Symbol(f, Decl(a.js, 8, 11))
|
||||
|
||||
n: 1
|
||||
>n : Symbol(n, Decl(a.js, 9, 6))
|
||||
}
|
||||
o.f('hi')
|
||||
>o.f : Symbol(f, Decl(a.js, 8, 11))
|
||||
>o : Symbol(o, Decl(a.js, 8, 5))
|
||||
>f : Symbol(f, Decl(a.js, 8, 11))
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
=== tests/cases/conformance/jsdoc/a.js ===
|
||||
/** @this {{ n: number }} Mount Holyoke Preparatory School
|
||||
* @param {string} s
|
||||
* @return {number}
|
||||
*/
|
||||
function f(s) {
|
||||
>f : (s: string) => number
|
||||
>s : string
|
||||
|
||||
return this.n + s.length
|
||||
>this.n + s.length : number
|
||||
>this.n : number
|
||||
>this : { n: number; }
|
||||
>n : number
|
||||
>s.length : number
|
||||
>s : string
|
||||
>length : number
|
||||
}
|
||||
|
||||
const o = {
|
||||
>o : { [x: string]: any; f: (s: string) => number; n: number; }
|
||||
>{ f, n: 1} : { [x: string]: any; f: (s: string) => number; n: number; }
|
||||
|
||||
f,
|
||||
>f : (s: string) => number
|
||||
|
||||
n: 1
|
||||
>n : number
|
||||
>1 : 1
|
||||
}
|
||||
o.f('hi')
|
||||
>o.f('hi') : number
|
||||
>o.f : (s: string) => number
|
||||
>o : { [x: string]: any; f: (s: string) => number; n: number; }
|
||||
>f : (s: string) => number
|
||||
>'hi' : "hi"
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
=== tests/cases/conformance/salsa/module.js ===
|
||||
var Outer = Outer || {};
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>Outer || {} : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>{} : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>Outer : typeof Outer
|
||||
>Outer || {} : typeof Outer | { [x: string]: any; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Outer.app = Outer.app || {};
|
||||
>Outer.app = Outer.app || {} : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app || {} : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>{} : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app = Outer.app || {} : typeof Outer.app
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Outer.app || {} : { [x: string]: any; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
=== tests/cases/conformance/salsa/someview.js ===
|
||||
Outer.app.SomeView = (function () {
|
||||
>Outer.app.SomeView = (function () { var SomeView = function() { var me = this; } return SomeView;})() : () => void
|
||||
>Outer.app.SomeView : () => void
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>SomeView : () => void
|
||||
>(function () { var SomeView = function() { var me = this; } return SomeView;})() : () => void
|
||||
>(function () { var SomeView = function() { var me = this; } return SomeView;}) : () => () => void
|
||||
@@ -43,9 +43,9 @@ Outer.app.SomeView = (function () {
|
||||
Outer.app.Inner = class {
|
||||
>Outer.app.Inner = class { constructor() { /** @type {number} */ this.y = 12; }} : typeof Inner
|
||||
>Outer.app.Inner : typeof Inner
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Inner : typeof Inner
|
||||
>class { constructor() { /** @type {number} */ this.y = 12; }} : typeof Inner
|
||||
|
||||
@@ -63,9 +63,9 @@ var example = new Outer.app.Inner();
|
||||
>example : Inner
|
||||
>new Outer.app.Inner() : Inner
|
||||
>Outer.app.Inner : typeof Inner
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Inner : typeof Inner
|
||||
|
||||
example.y;
|
||||
@@ -77,9 +77,9 @@ example.y;
|
||||
Outer.app.statische = function (k) {
|
||||
>Outer.app.statische = function (k) { return k ** k;} : (k: number) => number
|
||||
>Outer.app.statische : (k: number) => number
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>statische : (k: number) => number
|
||||
>function (k) { return k ** k;} : (k: number) => number
|
||||
>k : number
|
||||
@@ -93,9 +93,9 @@ Outer.app.statische = function (k) {
|
||||
Outer.app.Application = (function () {
|
||||
>Outer.app.Application = (function () { /** * Application main class. * Will be instantiated & initialized by HTML page */ var Application = function () { var me = this; me.view = new Outer.app.SomeView(); }; return Application;})() : () => void
|
||||
>Outer.app.Application : () => void
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Application : () => void
|
||||
>(function () { /** * Application main class. * Will be instantiated & initialized by HTML page */ var Application = function () { var me = this; me.view = new Outer.app.SomeView(); }; return Application;})() : () => void
|
||||
>(function () { /** * Application main class. * Will be instantiated & initialized by HTML page */ var Application = function () { var me = this; me.view = new Outer.app.SomeView(); }; return Application;}) : () => () => void
|
||||
@@ -120,9 +120,9 @@ Outer.app.Application = (function () {
|
||||
>view : any
|
||||
>new Outer.app.SomeView() : any
|
||||
>Outer.app.SomeView : () => void
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>SomeView : () => void
|
||||
|
||||
};
|
||||
@@ -135,18 +135,18 @@ var app = new Outer.app.Application();
|
||||
>app : any
|
||||
>new Outer.app.Application() : any
|
||||
>Outer.app.Application : () => void
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Application : () => void
|
||||
|
||||
var inner = new Outer.app.Inner();
|
||||
>inner : Inner
|
||||
>new Outer.app.Inner() : Inner
|
||||
>Outer.app.Inner : typeof Inner
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>Inner : typeof Inner
|
||||
|
||||
inner.y;
|
||||
@@ -166,9 +166,9 @@ x.y;
|
||||
Outer.app.statische(101); // Infinity, duh
|
||||
>Outer.app.statische(101) : number
|
||||
>Outer.app.statische : (k: number) => number
|
||||
>Outer.app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer : { [x: string]: any; app: { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }; }
|
||||
>app : { [x: string]: any; SomeView: () => void; Inner: typeof Inner; statische(k: number): number; Application: () => void; }
|
||||
>Outer.app : typeof Outer.app
|
||||
>Outer : typeof Outer
|
||||
>app : typeof Outer.app
|
||||
>statische : (k: number) => number
|
||||
>101 : 101
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ var Inner = function() {}
|
||||
|
||||
Inner.prototype = {
|
||||
>Inner.prototype = { m() { }, i: 1} : { [x: string]: any; m(): void; i: number; }
|
||||
>Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Inner.prototype : { [x: string]: any; }
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{ m() { }, i: 1} : { [x: string]: any; m(): void; i: number; }
|
||||
|
||||
m() { },
|
||||
@@ -21,18 +21,18 @@ Inner.prototype = {
|
||||
Inner.prototype.j = 2
|
||||
>Inner.prototype.j = 2 : 2
|
||||
>Inner.prototype.j : any
|
||||
>Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Inner.prototype : { [x: string]: any; }
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>j : any
|
||||
>2 : 2
|
||||
|
||||
/** @type {string} */
|
||||
Inner.prototype.k;
|
||||
>Inner.prototype.k : any
|
||||
>Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Inner.prototype : { [x: string]: any; }
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>k : any
|
||||
|
||||
var inner = new Inner()
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
=== tests/cases/conformance/salsa/module.js ===
|
||||
var Outer = {}
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>{} : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Outer.Inner = function() {}
|
||||
>Outer.Inner = function() {} : typeof Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>function() {} : typeof Inner
|
||||
|
||||
Outer.Inner.prototype = {
|
||||
>Outer.Inner.prototype = { m() { }, i: 1} : { [x: string]: any; m(): void; i: number; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; }
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{ m() { }, i: 1} : { [x: string]: any; m(): void; i: number; }
|
||||
|
||||
m() { },
|
||||
@@ -30,29 +30,29 @@ Outer.Inner.prototype = {
|
||||
Outer.Inner.prototype.j = 2
|
||||
>Outer.Inner.prototype.j = 2 : 2
|
||||
>Outer.Inner.prototype.j : any
|
||||
>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; }
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>j : any
|
||||
>2 : 2
|
||||
|
||||
/** @type {string} */
|
||||
Outer.Inner.prototype.k;
|
||||
>Outer.Inner.prototype.k : any
|
||||
>Outer.Inner.prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; }
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>prototype : { [x: string]: any; m(): void; i: number; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>k : any
|
||||
|
||||
var inner = new Outer.Inner()
|
||||
>inner : Inner & { [x: string]: any; m(): void; i: number; }
|
||||
>new Outer.Inner() : Inner & { [x: string]: any; m(): void; i: number; }
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
|
||||
inner.m()
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
=== tests/cases/conformance/salsa/def.js ===
|
||||
var Outer = {};
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>{} : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
=== tests/cases/conformance/salsa/work.js ===
|
||||
Outer.Inner = function () {}
|
||||
>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>function () {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
|
||||
Outer.Inner.prototype = {
|
||||
>Outer.Inner.prototype = { x: 1, m() { }} : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>prototype : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{ x: 1, m() { }} : { [x: string]: any; x: number; m(): void; }
|
||||
|
||||
x: 1,
|
||||
@@ -47,9 +47,9 @@ inner.m()
|
||||
var inno = new Outer.Inner()
|
||||
>inno : { [x: string]: any; x: number; m(): void; }
|
||||
>new Outer.Inner() : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
|
||||
inno.x
|
||||
>inno.x : number
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var Outer = {};
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>{} : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Outer.Inner = class {
|
||||
>Outer.Inner = class { constructor() { this.x = 1 } m() { }} : typeof Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>class { constructor() { this.x = 1 } m() { }} : typeof Inner
|
||||
|
||||
@@ -41,7 +41,7 @@ var inno = new Outer.Inner()
|
||||
>inno : Inner
|
||||
>new Outer.Inner() : Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
|
||||
inno.x
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var Outer = {};
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>{} : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Outer.Inner = function () {}
|
||||
>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>function () {} : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner = function () {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>function () {} : { (): void; prototype: { [x: string]: any; }; }
|
||||
|
||||
Outer.Inner.prototype = {
|
||||
>Outer.Inner.prototype = { x: 1, m() { }} : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>prototype : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner.prototype : { [x: string]: any; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>prototype : { [x: string]: any; }
|
||||
>{ x: 1, m() { }} : { [x: string]: any; x: number; m(): void; }
|
||||
|
||||
x: 1,
|
||||
@@ -45,9 +45,9 @@ inner.m()
|
||||
var inno = new Outer.Inner()
|
||||
>inno : { [x: string]: any; x: number; m(): void; }
|
||||
>new Outer.Inner() : { [x: string]: any; x: number; m(): void; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer : { [x: string]: any; Inner: { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }; }
|
||||
>Inner : { (): void; prototype: { [x: string]: any; x: number; m(): void; }; }
|
||||
>Outer.Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : { (): void; prototype: { [x: string]: any; }; }
|
||||
|
||||
inno.x
|
||||
>inno.x : number
|
||||
|
||||
@@ -9,7 +9,9 @@ function m() {
|
||||
>m : Symbol(m, Decl(a.js, 0, 30))
|
||||
}
|
||||
GLOBSTAR.p = 1
|
||||
>GLOBSTAR.p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
>GLOBSTAR : Symbol(GLOBSTAR, Decl(a.js, 0, 3))
|
||||
>p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
|
||||
m.GLOBSTAR.q = 2
|
||||
>m.GLOBSTAR.q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
@@ -18,13 +20,27 @@ m.GLOBSTAR.q = 2
|
||||
>GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14))
|
||||
>q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
|
||||
GLOBSTAR.p
|
||||
>GLOBSTAR.p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
>GLOBSTAR : Symbol(GLOBSTAR, Decl(a.js, 0, 3))
|
||||
>p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
|
||||
GLOBSTAR.q
|
||||
>GLOBSTAR.q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
>GLOBSTAR : Symbol(GLOBSTAR, Decl(a.js, 0, 3))
|
||||
>q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
|
||||
m.GLOBSTAR.p
|
||||
>m.GLOBSTAR.p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
>m.GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14))
|
||||
>m : Symbol(m, Decl(a.js, 0, 30))
|
||||
>GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14))
|
||||
>p : Symbol(GLOBSTAR.p, Decl(a.js, 2, 1))
|
||||
|
||||
m.GLOBSTAR.q
|
||||
>m.GLOBSTAR.q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
>m.GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14))
|
||||
>m : Symbol(m, Decl(a.js, 0, 30))
|
||||
>GLOBSTAR : Symbol(m.GLOBSTAR, Decl(a.js, 0, 14))
|
||||
>q : Symbol(m.GLOBSTAR.q, Decl(a.js, 3, 14))
|
||||
|
||||
|
||||
@@ -1,40 +1,52 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var GLOBSTAR = m.GLOBSTAR = {}
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>m.GLOBSTAR = {} : { [x: string]: any; q: number; }
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>{} : { [x: string]: any; q: number; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>m.GLOBSTAR = {} : { [x: string]: any; q: number; p: number; }
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; p: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
function m() {
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; }; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; p: number; }; }
|
||||
}
|
||||
GLOBSTAR.p = 1
|
||||
>GLOBSTAR.p = 1 : 1
|
||||
>GLOBSTAR.p : any
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>p : any
|
||||
>GLOBSTAR.p : number
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>p : number
|
||||
>1 : 1
|
||||
|
||||
m.GLOBSTAR.q = 2
|
||||
>m.GLOBSTAR.q = 2 : 2
|
||||
>m.GLOBSTAR.q : number
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; p: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>q : number
|
||||
>2 : 2
|
||||
|
||||
GLOBSTAR.p
|
||||
>GLOBSTAR.p : number
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>p : number
|
||||
|
||||
GLOBSTAR.q
|
||||
>GLOBSTAR.q : number
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>q : number
|
||||
|
||||
m.GLOBSTAR.p
|
||||
>m.GLOBSTAR.p : any
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; }
|
||||
>p : any
|
||||
>m.GLOBSTAR.p : number
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; p: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>p : number
|
||||
|
||||
m.GLOBSTAR.q
|
||||
>m.GLOBSTAR.q : number
|
||||
>m.GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>m : { (): void; GLOBSTAR: { [x: string]: any; q: number; p: number; }; }
|
||||
>GLOBSTAR : { [x: string]: any; q: number; p: number; }
|
||||
>q : number
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Outer.Inner.Message = function() {
|
||||
>Outer.Inner.Message = function() {} : () => void
|
||||
>Outer.Inner.Message : () => void
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>Message : () => void
|
||||
>function() {} : () => void
|
||||
@@ -15,7 +15,7 @@ var y = new Outer.Inner()
|
||||
>y : Inner
|
||||
>new Outer.Inner() : Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
|
||||
y.name
|
||||
@@ -34,13 +34,13 @@ x.name
|
||||
|
||||
=== tests/cases/conformance/salsa/def.js ===
|
||||
var Outer = {}
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>{} : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Outer.Inner = class {
|
||||
>Outer.Inner = class { name() { return 'hi' }} : typeof Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>class { name() { return 'hi' }} : typeof Inner
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
=== tests/cases/conformance/salsa/bug24703.js ===
|
||||
var Common = {};
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>{} : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Common.I = class {
|
||||
>Common.I = class { constructor() { this.i = 1 }} : typeof I
|
||||
>Common.I : typeof I
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>I : typeof I
|
||||
>class { constructor() { this.i = 1 }} : typeof I
|
||||
|
||||
@@ -22,11 +22,11 @@ Common.I = class {
|
||||
Common.O = class extends Common.I {
|
||||
>Common.O = class extends Common.I { constructor() { super() this.o = 2 }} : typeof O
|
||||
>Common.O : typeof O
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>O : typeof O
|
||||
>class extends Common.I { constructor() { super() this.o = 2 }} : typeof O
|
||||
>Common.I : I
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>I : typeof I
|
||||
|
||||
constructor() {
|
||||
@@ -46,14 +46,14 @@ var o = new Common.O()
|
||||
>o : O
|
||||
>new Common.O() : O
|
||||
>Common.O : typeof O
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>O : typeof O
|
||||
|
||||
var i = new Common.I()
|
||||
>i : I
|
||||
>new Common.I() : I
|
||||
>Common.I : typeof I
|
||||
>Common : { [x: string]: any; I: typeof I; O: typeof O; }
|
||||
>Common : typeof Common
|
||||
>I : typeof I
|
||||
|
||||
o.i
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
tests/cases/conformance/salsa/bug24730.js(11,14): error TS2339: Property 'doesNotExist' does not exist on type 'C'.
|
||||
tests/cases/conformance/salsa/bug24730.js(12,26): error TS2339: Property 'doesntExistEither' does not exist on type 'number'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/salsa/bug24730.js (2 errors) ====
|
||||
var UI = {}
|
||||
UI.TreeElement = class {
|
||||
constructor() {
|
||||
this.treeOutline = 12
|
||||
}
|
||||
};
|
||||
UI.context = new UI.TreeElement()
|
||||
|
||||
class C extends UI.TreeElement {
|
||||
onpopulate() {
|
||||
this.doesNotExist
|
||||
~~~~~~~~~~~~
|
||||
!!! error TS2339: Property 'doesNotExist' does not exist on type 'C'.
|
||||
this.treeOutline.doesntExistEither()
|
||||
~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2339: Property 'doesntExistEither' does not exist on type 'number'.
|
||||
}
|
||||
};
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
=== tests/cases/conformance/salsa/bug24730.js ===
|
||||
var UI = {}
|
||||
>UI : Symbol(UI, Decl(bug24730.js, 0, 3), Decl(bug24730.js, 0, 11))
|
||||
|
||||
UI.TreeElement = class {
|
||||
>UI.TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
>UI : Symbol(UI, Decl(bug24730.js, 0, 3), Decl(bug24730.js, 0, 11))
|
||||
>TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
|
||||
constructor() {
|
||||
this.treeOutline = 12
|
||||
>this.treeOutline : Symbol(TreeElement.treeOutline, Decl(bug24730.js, 2, 19))
|
||||
>this : Symbol(TreeElement, Decl(bug24730.js, 1, 16))
|
||||
>treeOutline : Symbol(TreeElement.treeOutline, Decl(bug24730.js, 2, 19))
|
||||
}
|
||||
};
|
||||
UI.context = new UI.TreeElement()
|
||||
>UI.context : Symbol(UI.context, Decl(bug24730.js, 5, 2))
|
||||
>UI : Symbol(UI, Decl(bug24730.js, 0, 3), Decl(bug24730.js, 0, 11))
|
||||
>context : Symbol(UI.context, Decl(bug24730.js, 5, 2))
|
||||
>UI.TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
>UI : Symbol(UI, Decl(bug24730.js, 0, 3), Decl(bug24730.js, 0, 11))
|
||||
>TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
|
||||
class C extends UI.TreeElement {
|
||||
>C : Symbol(C, Decl(bug24730.js, 6, 33))
|
||||
>UI.TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
>UI : Symbol(UI, Decl(bug24730.js, 0, 3), Decl(bug24730.js, 0, 11))
|
||||
>TreeElement : Symbol(UI.TreeElement, Decl(bug24730.js, 0, 11))
|
||||
|
||||
onpopulate() {
|
||||
>onpopulate : Symbol(C.onpopulate, Decl(bug24730.js, 8, 32))
|
||||
|
||||
this.doesNotExist
|
||||
>this : Symbol(C, Decl(bug24730.js, 6, 33))
|
||||
|
||||
this.treeOutline.doesntExistEither()
|
||||
>this.treeOutline : Symbol(TreeElement.treeOutline, Decl(bug24730.js, 2, 19))
|
||||
>this : Symbol(C, Decl(bug24730.js, 6, 33))
|
||||
>treeOutline : Symbol(TreeElement.treeOutline, Decl(bug24730.js, 2, 19))
|
||||
}
|
||||
};
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
=== tests/cases/conformance/salsa/bug24730.js ===
|
||||
var UI = {}
|
||||
>UI : typeof UI
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
UI.TreeElement = class {
|
||||
>UI.TreeElement = class { constructor() { this.treeOutline = 12 }} : typeof TreeElement
|
||||
>UI.TreeElement : typeof TreeElement
|
||||
>UI : typeof UI
|
||||
>TreeElement : typeof TreeElement
|
||||
>class { constructor() { this.treeOutline = 12 }} : typeof TreeElement
|
||||
|
||||
constructor() {
|
||||
this.treeOutline = 12
|
||||
>this.treeOutline = 12 : 12
|
||||
>this.treeOutline : number
|
||||
>this : this
|
||||
>treeOutline : number
|
||||
>12 : 12
|
||||
}
|
||||
};
|
||||
UI.context = new UI.TreeElement()
|
||||
>UI.context = new UI.TreeElement() : TreeElement
|
||||
>UI.context : TreeElement
|
||||
>UI : typeof UI
|
||||
>context : TreeElement
|
||||
>new UI.TreeElement() : TreeElement
|
||||
>UI.TreeElement : typeof TreeElement
|
||||
>UI : typeof UI
|
||||
>TreeElement : typeof TreeElement
|
||||
|
||||
class C extends UI.TreeElement {
|
||||
>C : C
|
||||
>UI.TreeElement : TreeElement
|
||||
>UI : typeof UI
|
||||
>TreeElement : typeof TreeElement
|
||||
|
||||
onpopulate() {
|
||||
>onpopulate : () => void
|
||||
|
||||
this.doesNotExist
|
||||
>this.doesNotExist : any
|
||||
>this : this
|
||||
>doesNotExist : any
|
||||
|
||||
this.treeOutline.doesntExistEither()
|
||||
>this.treeOutline.doesntExistEither() : any
|
||||
>this.treeOutline.doesntExistEither : any
|
||||
>this.treeOutline : number
|
||||
>this : this
|
||||
>treeOutline : number
|
||||
>doesntExistEither : any
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
=== tests/cases/conformance/salsa/def.js ===
|
||||
var Outer = {};
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>{} : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
Outer.Inner = class {
|
||||
>Outer.Inner = class { constructor() { /** @type {number} */ this.y = 12 }} : typeof Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
>class { constructor() { /** @type {number} */ this.y = 12 }} : typeof Inner
|
||||
|
||||
@@ -35,7 +35,7 @@ var inner = new Outer.Inner()
|
||||
>inner : Inner
|
||||
>new Outer.Inner() : Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
|
||||
inner.y
|
||||
@@ -57,7 +57,7 @@ var z = new Outer.Inner()
|
||||
>z : Inner
|
||||
>new Outer.Inner() : Inner
|
||||
>Outer.Inner : typeof Inner
|
||||
>Outer : { [x: string]: any; Inner: typeof Inner; }
|
||||
>Outer : typeof Outer
|
||||
>Inner : typeof Inner
|
||||
|
||||
z.y
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var obj = {};
|
||||
>obj : { [x: string]: any; method(hunch: any): boolean; }
|
||||
>{} : { [x: string]: any; method(hunch: any): boolean; }
|
||||
>obj : typeof obj
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
obj.method = function (hunch) {
|
||||
>obj.method = function (hunch) { return true;} : (hunch: any) => boolean
|
||||
>obj.method : (hunch: any) => boolean
|
||||
>obj : { [x: string]: any; method(hunch: any): boolean; }
|
||||
>obj : typeof obj
|
||||
>method : (hunch: any) => boolean
|
||||
>function (hunch) { return true;} : (hunch: any) => boolean
|
||||
>hunch : any
|
||||
@@ -18,6 +18,6 @@ var b = obj.method();
|
||||
>b : boolean
|
||||
>obj.method() : boolean
|
||||
>obj.method : (hunch: any) => boolean
|
||||
>obj : { [x: string]: any; method(hunch: any): boolean; }
|
||||
>obj : typeof obj
|
||||
>method : (hunch: any) => boolean
|
||||
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var my = my || {};
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>my || {} : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>{} : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>my : typeof my
|
||||
>my || {} : typeof my | { [x: string]: any; }
|
||||
>my : typeof my
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
my.app = my.app || {};
|
||||
>my.app = my.app || {} : { [x: string]: any; Application: () => void; }
|
||||
>my.app : { [x: string]: any; Application: () => void; }
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>my.app || {} : { [x: string]: any; Application: () => void; }
|
||||
>my.app : { [x: string]: any; Application: () => void; }
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>{} : { [x: string]: any; Application: () => void; }
|
||||
>my.app = my.app || {} : typeof my.app
|
||||
>my.app : typeof my.app
|
||||
>my : typeof my
|
||||
>app : typeof my.app
|
||||
>my.app || {} : { [x: string]: any; }
|
||||
>my.app : typeof my.app
|
||||
>my : typeof my
|
||||
>app : typeof my.app
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
my.app.Application = (function () {
|
||||
>my.app.Application = (function () {var Application = function () { //...};return Application;})() : () => void
|
||||
>my.app.Application : () => void
|
||||
>my.app : { [x: string]: any; Application: () => void; }
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>my.app : typeof my.app
|
||||
>my : typeof my
|
||||
>app : typeof my.app
|
||||
>Application : () => void
|
||||
>(function () {var Application = function () { //...};return Application;})() : () => void
|
||||
>(function () {var Application = function () { //...};return Application;}) : () => () => void
|
||||
@@ -40,37 +40,37 @@ return Application;
|
||||
my.app.Application()
|
||||
>my.app.Application() : void
|
||||
>my.app.Application : () => void
|
||||
>my.app : { [x: string]: any; Application: () => void; }
|
||||
>my : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>my.app : typeof my.app
|
||||
>my : typeof my
|
||||
>app : typeof my.app
|
||||
>Application : () => void
|
||||
|
||||
=== tests/cases/conformance/salsa/b.js ===
|
||||
var min = window.min || {};
|
||||
>min : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>min : typeof min
|
||||
>window.min || {} : any
|
||||
>window.min : any
|
||||
>window : Window
|
||||
>min : any
|
||||
>{} : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
min.app = min.app || {};
|
||||
>min.app = min.app || {} : { [x: string]: any; Application: () => void; }
|
||||
>min.app : { [x: string]: any; Application: () => void; }
|
||||
>min : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>min.app || {} : { [x: string]: any; Application: () => void; }
|
||||
>min.app : { [x: string]: any; Application: () => void; }
|
||||
>min : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>{} : { [x: string]: any; Application: () => void; }
|
||||
>min.app = min.app || {} : typeof min.app
|
||||
>min.app : typeof min.app
|
||||
>min : typeof min
|
||||
>app : typeof min.app
|
||||
>min.app || {} : { [x: string]: any; }
|
||||
>min.app : typeof min.app
|
||||
>min : typeof min
|
||||
>app : typeof min.app
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
min.app.Application = (function () {
|
||||
>min.app.Application = (function () {var Application = function () { //...};return Application;})() : () => void
|
||||
>min.app.Application : () => void
|
||||
>min.app : { [x: string]: any; Application: () => void; }
|
||||
>min : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>min.app : typeof min.app
|
||||
>min : typeof min
|
||||
>app : typeof min.app
|
||||
>Application : () => void
|
||||
>(function () {var Application = function () { //...};return Application;})() : () => void
|
||||
>(function () {var Application = function () { //...};return Application;}) : () => () => void
|
||||
@@ -89,8 +89,8 @@ return Application;
|
||||
min.app.Application()
|
||||
>min.app.Application() : void
|
||||
>min.app.Application : () => void
|
||||
>min.app : { [x: string]: any; Application: () => void; }
|
||||
>min : { [x: string]: any; app: { [x: string]: any; Application: () => void; }; }
|
||||
>app : { [x: string]: any; Application: () => void; }
|
||||
>min.app : typeof min.app
|
||||
>min : typeof min
|
||||
>app : typeof min.app
|
||||
>Application : () => void
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ my.predicate.query = function () {
|
||||
|
||||
var me = this;
|
||||
>me : Symbol(me, Decl(a.js, 9, 7))
|
||||
>this : Symbol(__object, Decl(a.js, 7, 30))
|
||||
>this : Symbol(my.predicate, Decl(a.js, 6, 15), Decl(a.js, 8, 3), Decl(a.js, 13, 3))
|
||||
|
||||
me.property = false;
|
||||
>me : Symbol(me, Decl(a.js, 9, 7))
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
=== tests/cases/conformance/salsa/a.js ===
|
||||
var my = my || {};
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my || {} : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>{} : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my : typeof my
|
||||
>my || {} : typeof my | { [x: string]: any; }
|
||||
>my : typeof my
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
/** @param {number} n */
|
||||
my.method = function(n) {
|
||||
>my.method = function(n) { return n + 1;} : (n: number) => number
|
||||
>my.method : (n: number) => number
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my : typeof my
|
||||
>method : (n: number) => number
|
||||
>function(n) { return n + 1;} : (n: number) => number
|
||||
>n : number
|
||||
@@ -22,45 +22,45 @@ my.method = function(n) {
|
||||
my.number = 1;
|
||||
>my.number = 1 : 1
|
||||
>my.number : number
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my : typeof my
|
||||
>number : number
|
||||
>1 : 1
|
||||
|
||||
my.object = {};
|
||||
>my.object = {} : { [x: string]: any; }
|
||||
>my.object : { [x: string]: any; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>my : typeof my
|
||||
>object : { [x: string]: any; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
my.predicate = my.predicate || {};
|
||||
>my.predicate = my.predicate || {} : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate || {} : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>{} : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate = my.predicate || {} : typeof my.predicate
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>my.predicate || {} : { [x: string]: any; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
my.predicate.query = function () {
|
||||
>my.predicate.query = function () { var me = this; me.property = false;} : { (): void; another(): number; result: string; }
|
||||
>my.predicate.query : { (): void; another(): number; result: string; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>query : { (): void; another(): number; result: string; }
|
||||
>function () { var me = this; me.property = false;} : { (): void; another(): number; result: string; }
|
||||
|
||||
var me = this;
|
||||
>me : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>this : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>me : typeof my.predicate
|
||||
>this : typeof my.predicate
|
||||
|
||||
me.property = false;
|
||||
>me.property = false : false
|
||||
>me.property : any
|
||||
>me : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>me : typeof my.predicate
|
||||
>property : any
|
||||
>false : false
|
||||
|
||||
@@ -69,18 +69,18 @@ var q = new my.predicate.query();
|
||||
>q : any
|
||||
>new my.predicate.query() : any
|
||||
>my.predicate.query : { (): void; another(): number; result: string; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>query : { (): void; another(): number; result: string; }
|
||||
|
||||
my.predicate.query.another = function () {
|
||||
>my.predicate.query.another = function () { return 1;} : () => number
|
||||
>my.predicate.query.another : () => number
|
||||
>my.predicate.query : { (): void; another(): number; result: string; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>query : { (): void; another(): number; result: string; }
|
||||
>another : () => number
|
||||
>function () { return 1;} : () => number
|
||||
@@ -92,9 +92,9 @@ my.predicate.query.result = 'none'
|
||||
>my.predicate.query.result = 'none' : "none"
|
||||
>my.predicate.query.result : string
|
||||
>my.predicate.query : { (): void; another(): number; result: string; }
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>query : { (): void; another(): number; result: string; }
|
||||
>result : string
|
||||
>'none' : "none"
|
||||
@@ -105,15 +105,15 @@ my.predicate.query.result = 'none'
|
||||
my.predicate.sort = my.predicate.sort || function (first, second) {
|
||||
>my.predicate.sort = my.predicate.sort || function (first, second) { return first > second ? first : second;} : (first: number, second: number) => number
|
||||
>my.predicate.sort : (first: number, second: number) => number
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>sort : (first: number, second: number) => number
|
||||
>my.predicate.sort || function (first, second) { return first > second ? first : second;} : (first: number, second: number) => number
|
||||
>my.predicate.sort : (first: number, second: number) => number
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>sort : (first: number, second: number) => number
|
||||
>function (first, second) { return first > second ? first : second;} : (first: number, second: number) => number
|
||||
>first : number
|
||||
@@ -130,9 +130,9 @@ my.predicate.sort = my.predicate.sort || function (first, second) {
|
||||
my.predicate.type = class {
|
||||
>my.predicate.type = class { m() { return 101; }} : typeof type
|
||||
>my.predicate.type : typeof type
|
||||
>my.predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my : { [x: string]: any; method(n: number): number; number: number; object: { [x: string]: any; }; predicate: { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }; }
|
||||
>predicate : { [x: string]: any; query: { (): void; another(): number; result: string; }; sort(first: number, second: number): number; type: typeof type; }
|
||||
>my.predicate : typeof my.predicate
|
||||
>my : typeof my
|
||||
>predicate : typeof my.predicate
|
||||
>type : typeof type
|
||||
>class { m() { return 101; }} : typeof type
|
||||
|
||||
@@ -144,17 +144,17 @@ my.predicate.type = class {
|
||||
|
||||
// global-ish prefixes
|
||||
var min = window.min || {};
|
||||
>min : { [x: string]: any; nest: { (): void; other: typeof other; }; property: { [x: string]: any; }; }
|
||||
>min : typeof min
|
||||
>window.min || {} : any
|
||||
>window.min : any
|
||||
>window : Window
|
||||
>min : any
|
||||
>{} : { [x: string]: any; nest: { (): void; other: typeof other; }; property: { [x: string]: any; }; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
min.nest = this.min.nest || function () { };
|
||||
>min.nest = this.min.nest || function () { } : { (): void; other: typeof other; }
|
||||
>min.nest : { (): void; other: typeof other; }
|
||||
>min : { [x: string]: any; nest: { (): void; other: typeof other; }; property: { [x: string]: any; }; }
|
||||
>min : typeof min
|
||||
>nest : { (): void; other: typeof other; }
|
||||
>this.min.nest || function () { } : { (): void; other: typeof other; }
|
||||
>this.min.nest : any
|
||||
@@ -168,7 +168,7 @@ min.nest.other = self.min.nest.other || class { };
|
||||
>min.nest.other = self.min.nest.other || class { } : typeof other
|
||||
>min.nest.other : typeof other
|
||||
>min.nest : { (): void; other: typeof other; }
|
||||
>min : { [x: string]: any; nest: { (): void; other: typeof other; }; property: { [x: string]: any; }; }
|
||||
>min : typeof min
|
||||
>nest : { (): void; other: typeof other; }
|
||||
>other : typeof other
|
||||
>self.min.nest.other || class { } : typeof other
|
||||
@@ -184,7 +184,7 @@ min.nest.other = self.min.nest.other || class { };
|
||||
min.property = global.min.property || {};
|
||||
>min.property = global.min.property || {} : { [x: string]: any; }
|
||||
>min.property : { [x: string]: any; }
|
||||
>min : { [x: string]: any; nest: { (): void; other: typeof other; }; property: { [x: string]: any; }; }
|
||||
>min : typeof min
|
||||
>property : { [x: string]: any; }
|
||||
>global.min.property || {} : { [x: string]: any; }
|
||||
>global.min.property : any
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
First.Item = class I {}
|
||||
>First.Item = class I {} : typeof I
|
||||
>First.Item : typeof I
|
||||
>First : { [x: string]: any; Item: typeof I; }
|
||||
>First : typeof First
|
||||
>Item : typeof I
|
||||
>class I {} : typeof I
|
||||
>I : typeof I
|
||||
@@ -10,21 +10,21 @@ First.Item = class I {}
|
||||
Common.Object = class extends First.Item {}
|
||||
>Common.Object = class extends First.Item {} : typeof Object
|
||||
>Common.Object : typeof Object
|
||||
>Common : { [x: string]: any; Object: typeof Object; }
|
||||
>Common : typeof Common
|
||||
>Object : typeof Object
|
||||
>class extends First.Item {} : typeof Object
|
||||
>First.Item : I
|
||||
>First : { [x: string]: any; Item: typeof I; }
|
||||
>First : typeof First
|
||||
>Item : typeof I
|
||||
|
||||
Workspace.Object = class extends Common.Object {}
|
||||
>Workspace.Object = class extends Common.Object {} : typeof Object
|
||||
>Workspace.Object : typeof Object
|
||||
>Workspace : { [x: string]: any; Object: typeof Object; }
|
||||
>Workspace : typeof Workspace
|
||||
>Object : typeof Object
|
||||
>class extends Common.Object {} : typeof Object
|
||||
>Common.Object : Object
|
||||
>Common : { [x: string]: any; Object: typeof Object; }
|
||||
>Common : typeof Common
|
||||
>Object : typeof Object
|
||||
|
||||
/** @type {Workspace.Object} */
|
||||
@@ -33,14 +33,14 @@ var am;
|
||||
|
||||
=== tests/cases/conformance/salsa/roots.js ===
|
||||
var First = {};
|
||||
>First : { [x: string]: any; Item: typeof I; }
|
||||
>{} : { [x: string]: any; Item: typeof I; }
|
||||
>First : typeof First
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
var Common = {};
|
||||
>Common : { [x: string]: any; Object: typeof Object; }
|
||||
>{} : { [x: string]: any; Object: typeof Object; }
|
||||
>Common : typeof Common
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
var Workspace = {};
|
||||
>Workspace : { [x: string]: any; Object: typeof Object; }
|
||||
>{} : { [x: string]: any; Object: typeof Object; }
|
||||
>Workspace : typeof Workspace
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
// this is a javascript file...
|
||||
|
||||
export const Adapter = {};
|
||||
>Adapter : { [x: string]: any; prop: { [x: string]: any; }; asyncMethod(): void; }
|
||||
>{} : { [x: string]: any; prop: { [x: string]: any; }; asyncMethod(): void; }
|
||||
>Adapter : typeof Adapter
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
Adapter.prop = {};
|
||||
>Adapter.prop = {} : { [x: string]: any; }
|
||||
>Adapter.prop : { [x: string]: any; }
|
||||
>Adapter : { [x: string]: any; prop: { [x: string]: any; }; asyncMethod(): void; }
|
||||
>Adapter : typeof Adapter
|
||||
>prop : { [x: string]: any; }
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
@@ -16,7 +16,7 @@ Adapter.prop = {};
|
||||
Adapter.asyncMethod = function() {}
|
||||
>Adapter.asyncMethod = function() {} : () => void
|
||||
>Adapter.asyncMethod : () => void
|
||||
>Adapter : { [x: string]: any; prop: { [x: string]: any; }; asyncMethod(): void; }
|
||||
>Adapter : typeof Adapter
|
||||
>asyncMethod : () => void
|
||||
>function() {} : () => void
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
=== tests/cases/conformance/jsdoc/mod2.js ===
|
||||
/** @typedef {number} Foo */
|
||||
const ns = {};
|
||||
>ns : { [x: string]: any; Foo: typeof Foo; }
|
||||
>{} : { [x: string]: any; Foo: typeof Foo; }
|
||||
>ns : typeof ns
|
||||
>{} : { [x: string]: any; }
|
||||
|
||||
ns.Foo = class {}
|
||||
>ns.Foo = class {} : typeof Foo
|
||||
>ns.Foo : typeof Foo
|
||||
>ns : { [x: string]: any; Foo: typeof Foo; }
|
||||
>ns : typeof ns
|
||||
>Foo : typeof Foo
|
||||
>class {} : typeof Foo
|
||||
|
||||
module.exports = ns;
|
||||
>module.exports = ns : { [x: string]: any; Foo: typeof Foo; }
|
||||
>module.exports = ns : typeof ns
|
||||
>module.exports : any
|
||||
>module : any
|
||||
>exports : any
|
||||
>ns : { [x: string]: any; Foo: typeof Foo; }
|
||||
>ns : typeof ns
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
node_modules/@types/jquery/index.d.ts(6366,66): error TS2344: Type '"timeout" | "onreadystatechange" | "responseType" | "withCredentials" | "msCaching"' does not satisfy the constraint '"abort" | "open" | "timeout" | "send" | "DONE" | "response" | "getAllResponseHeaders" | "getRespo...'.
|
||||
Type '"msCaching"' is not assignable to type '"abort" | "open" | "timeout" | "send" | "DONE" | "response" | "getAllResponseHeaders" | "getRespo...'.
|
||||
node_modules/@types/passport-facebook/index.d.ts(50,31): error TS2689: Cannot extend an interface 'passport.Strategy'. Did you mean 'implements'?
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ node_modules/acorn/bin/_acorn.js(63,23): error TS2345: Argument of type 'string
|
||||
node_modules/acorn/bin/run_test262.js(3,21): error TS2307: Cannot find module 'test262-parser-runner'.
|
||||
node_modules/acorn/dist/acorn.es.js(36,1): error TS2322: Type 'null' is not assignable to type 'string'.
|
||||
node_modules/acorn/dist/acorn.es.js(36,32): error TS2322: Type 'null' is not assignable to type 'string'.
|
||||
node_modules/acorn/dist/acorn.es.js(410,56): error TS2339: Property 'push' does not exist on type '(token: any) => any'.
|
||||
node_modules/acorn/dist/acorn.es.js(543,43): error TS2339: Property 'startNode' does not exist on type 'Parser'.
|
||||
node_modules/acorn/dist/acorn.es.js(544,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'.
|
||||
node_modules/acorn/dist/acorn.es.js(545,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'.
|
||||
@@ -56,6 +57,7 @@ node_modules/acorn/dist/acorn.js(3,34): error TS2304: Cannot find name 'define'.
|
||||
node_modules/acorn/dist/acorn.js(3,47): error TS2304: Cannot find name 'define'.
|
||||
node_modules/acorn/dist/acorn.js(42,1): error TS2322: Type 'null' is not assignable to type 'string'.
|
||||
node_modules/acorn/dist/acorn.js(42,32): error TS2322: Type 'null' is not assignable to type 'string'.
|
||||
node_modules/acorn/dist/acorn.js(416,56): error TS2339: Property 'push' does not exist on type '(token: any) => any'.
|
||||
node_modules/acorn/dist/acorn.js(549,43): error TS2339: Property 'startNode' does not exist on type 'Parser'.
|
||||
node_modules/acorn/dist/acorn.js(550,8): error TS2339: Property 'nextToken' does not exist on type 'Parser'.
|
||||
node_modules/acorn/dist/acorn.js(551,15): error TS2339: Property 'parseTopLevel' does not exist on type 'Parser'.
|
||||
@@ -145,11 +147,11 @@ node_modules/acorn/dist/acorn_loose.js(261,31): error TS2322: Type '{ start: any
|
||||
node_modules/acorn/dist/acorn_loose.js(264,21): error TS2339: Property 'loc' does not exist on type 'true'.
|
||||
node_modules/acorn/dist/acorn_loose.js(266,55): error TS2339: Property 'start' does not exist on type 'true'.
|
||||
node_modules/acorn/dist/acorn_loose.js(267,55): error TS2339: Property 'end' does not exist on type 'true'.
|
||||
node_modules/acorn/dist/walk.es.js(162,41): error TS2339: Property 'node' does not exist on type 'never'.
|
||||
node_modules/acorn/dist/walk.es.js(155,41): error TS2339: Property 'node' does not exist on type 'never'.
|
||||
node_modules/acorn/dist/walk.js(3,9): error TS2304: Cannot find name 'define'.
|
||||
node_modules/acorn/dist/walk.js(3,34): error TS2304: Cannot find name 'define'.
|
||||
node_modules/acorn/dist/walk.js(3,47): error TS2304: Cannot find name 'define'.
|
||||
node_modules/acorn/dist/walk.js(168,41): error TS2339: Property 'node' does not exist on type 'never'.
|
||||
node_modules/acorn/dist/walk.js(161,41): error TS2339: Property 'node' does not exist on type 'never'.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ node_modules/adonis-framework/src/Env/index.js(56,15): error TS2304: Cannot find
|
||||
node_modules/adonis-framework/src/Env/index.js(80,15): error TS2304: Cannot find name 'Mixed'.
|
||||
node_modules/adonis-framework/src/Event/index.js(13,21): error TS2307: Cannot find module 'adonis-fold'.
|
||||
node_modules/adonis-framework/src/Event/index.js(128,5): error TS2322: Type '() => {}[]' is not assignable to type 'any[]'.
|
||||
Property 'flatMap' is missing in type '() => {}[]'.
|
||||
Property 'push' is missing in type '() => {}[]'.
|
||||
node_modules/adonis-framework/src/Event/index.js(153,25): error TS2339: Property 'wildcard' does not exist on type 'EventEmitter2'.
|
||||
node_modules/adonis-framework/src/Event/index.js(188,17): error TS2304: Cannot find name 'Spread'.
|
||||
node_modules/adonis-framework/src/Event/index.js(207,24): error TS2304: Cannot find name 'Sring'.
|
||||
@@ -151,7 +151,6 @@ node_modules/adonis-framework/src/Session/SessionManager.js(71,76): error TS2339
|
||||
node_modules/adonis-framework/src/Session/Store.js(28,13): error TS2304: Cannot find name 'Mixed'.
|
||||
node_modules/adonis-framework/src/Session/Store.js(80,13): error TS2304: Cannot find name 'Mixed'.
|
||||
node_modules/adonis-framework/src/Session/index.js(10,14): error TS2304: Cannot find name 'SessionDriver'.
|
||||
node_modules/adonis-framework/src/Session/index.js(11,2): error TS1003: Identifier expected.
|
||||
node_modules/adonis-framework/src/Session/index.js(11,11): error TS2304: Cannot find name 'Class'.
|
||||
node_modules/adonis-framework/src/Session/index.js(46,15): error TS2304: Cannot find name 'SessionDriver'.
|
||||
node_modules/adonis-framework/src/Session/index.js(48,14): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
node_modules/antd/lib/_util/type.d.ts(8,63): error TS2344: Type 'keyof T' does not satisfy the constraint 'string'.
|
||||
Type 'string | number | symbol' is not assignable to type 'string'.
|
||||
Type 'number' is not assignable to type 'string'.
|
||||
|
||||
|
||||
|
||||
Standard error:
|
||||
@@ -131,7 +131,7 @@ node_modules/async/dist/async.js(2450,5): error TS2322: Type '{ [x: string]: any
|
||||
node_modules/async/dist/async.js(2521,9): error TS2722: Cannot invoke an object which is possibly 'undefined'.
|
||||
node_modules/async/dist/async.js(2564,31): error TS2345: Argument of type 'IArguments' is not assignable to parameter of type 'any[] | undefined'.
|
||||
Type 'IArguments' is not assignable to type 'any[]'.
|
||||
Property 'flatMap' is missing in type 'IArguments'.
|
||||
Property 'push' is missing in type 'IArguments'.
|
||||
node_modules/async/dist/async.js(2663,16): error TS2722: Cannot invoke an object which is possibly 'undefined'.
|
||||
node_modules/async/dist/async.js(2682,31): error TS1005: ']' expected.
|
||||
node_modules/async/dist/async.js(2707,31): error TS1005: ']' expected.
|
||||
@@ -174,7 +174,7 @@ node_modules/async/dist/async.js(4163,26): error TS2339: Property 'process' does
|
||||
node_modules/async/dist/async.js(4167,14): error TS2339: Property 'unshift' does not exist on type 'NodeModule'.
|
||||
node_modules/async/dist/async.js(4381,5): error TS2322: Type 'any[] | {}' is not assignable to type 'any[]'.
|
||||
Type '{}' is not assignable to type 'any[]'.
|
||||
Property 'flatMap' is missing in type '{}'.
|
||||
Property 'length' is missing in type '{}'.
|
||||
node_modules/async/dist/async.js(4617,17): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/async/dist/async.js(4617,17): error TS2684: The 'this' context of type 'Function | undefined' is not assignable to method's 'this' of type 'Function'.
|
||||
Type 'undefined' is not assignable to type 'Function'.
|
||||
|
||||
@@ -3,9 +3,9 @@ Standard output:
|
||||
node_modules/bcryptjs/scripts/build.js(1,26): error TS2307: Cannot find module 'metascript'.
|
||||
node_modules/bcryptjs/scripts/build.js(32,1): error TS2322: Type '{ VERSION: any; }' is not assignable to type '{ [x: string]: any; VERSION: any; ISAAC: boolean; }'.
|
||||
Property 'ISAAC' is missing in type '{ VERSION: any; }'.
|
||||
node_modules/bcryptjs/src/bcrypt/impl.js(516,22): error TS2345: Argument of type 'Int32Array | number[]' is not assignable to parameter of type 'number[]'.
|
||||
node_modules/bcryptjs/src/bcrypt/impl.js(516,22): error TS2345: Argument of type 'number[] | Int32Array' is not assignable to parameter of type 'number[]'.
|
||||
Type 'Int32Array' is not assignable to type 'number[]'.
|
||||
Property 'flatMap' is missing in type 'Int32Array'.
|
||||
Property 'push' is missing in type 'Int32Array'.
|
||||
node_modules/bcryptjs/src/bcrypt/impl.js(546,26): error TS2345: Argument of type 'null' is not assignable to parameter of type 'Error'.
|
||||
node_modules/bcryptjs/src/bcrypt/impl.js(658,23): error TS2345: Argument of type 'number[] | undefined' is not assignable to parameter of type 'number[]'.
|
||||
Type 'undefined' is not assignable to type 'number[]'.
|
||||
@@ -21,7 +21,7 @@ node_modules/bcryptjs/src/bcrypt/prng/accum.js(66,22): error TS2339: Property 'd
|
||||
node_modules/bcryptjs/src/bcrypt/prng/accum.js(67,22): error TS2339: Property 'detachEvent' does not exist on type 'Document'.
|
||||
node_modules/bcryptjs/src/bcrypt/util.js(20,5): error TS2304: Cannot find name 'utfx'.
|
||||
node_modules/bcryptjs/src/bcrypt.js(25,13): error TS2322: Type 'Buffer' is not assignable to type 'number[]'.
|
||||
Property 'flatMap' is missing in type 'Buffer'.
|
||||
Property 'push' is missing in type 'Buffer'.
|
||||
node_modules/bcryptjs/src/bcrypt.js(94,14): error TS2366: Function lacks ending return statement and return type does not include 'undefined'.
|
||||
node_modules/bcryptjs/src/bcrypt.js(150,5): error TS2322: Type 'string | undefined' is not assignable to type 'string'.
|
||||
Type 'undefined' is not assignable to type 'string'.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -34,10 +34,10 @@ node_modules/lodash/_baseClone.js(128,43): error TS2345: Argument of type 'numbe
|
||||
node_modules/lodash/_baseClone.js(157,17): error TS2552: Cannot find name 'keysIn'. Did you mean 'keys'?
|
||||
node_modules/lodash/_baseDifference.js(37,5): error TS2322: Type '(array?: any[] | undefined, value: any, comparator: Function) => boolean' is not assignable to type '(array?: any[] | undefined, value: any) => boolean'.
|
||||
node_modules/lodash/_baseDifference.js(43,5): error TS2322: Type 'SetCache' is not assignable to type 'any[]'.
|
||||
Property 'flatMap' is missing in type 'SetCache'.
|
||||
Property 'length' is missing in type 'SetCache'.
|
||||
node_modules/lodash/_baseDifference.js(60,15): error TS2554: Expected 2 arguments, but got 3.
|
||||
node_modules/lodash/_baseFlatten.js(19,17): error TS2322: Type '(value: any) => boolean' is not assignable to type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/_baseFlatten.js(24,22): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'Boolean' has no compatible call signatures.
|
||||
node_modules/lodash/_baseFlatten.js(24,22): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/_baseFlatten.js(24,22): error TS2722: Cannot invoke an object which is possibly 'undefined'.
|
||||
@@ -150,7 +150,7 @@ node_modules/lodash/_mergeData.js(67,26): error TS2554: Expected 4 arguments, bu
|
||||
node_modules/lodash/_nodeUtil.js(4,69): error TS2339: Property 'nodeType' does not exist on type 'typeof import("/lodash/node_modules/lodash/_nodeUtil")'.
|
||||
node_modules/lodash/_nodeUtil.js(7,80): error TS2339: Property 'nodeType' does not exist on type 'NodeModule'.
|
||||
node_modules/lodash/_nodeUtil.js(13,47): error TS2339: Property 'process' does not exist on type 'boolean | Global'.
|
||||
Property 'process' does not exist on type 'true'.
|
||||
Property 'process' does not exist on type 'false'.
|
||||
node_modules/lodash/_overRest.js(20,42): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/_overRest.js(24,27): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/_overRest.js(27,27): error TS2532: Object is possibly 'undefined'.
|
||||
@@ -179,7 +179,7 @@ node_modules/lodash/conforms.js(32,41): error TS2345: Argument of type 'number'
|
||||
node_modules/lodash/core.js(68,58): error TS2339: Property 'Object' does not exist on type 'Window'.
|
||||
node_modules/lodash/core.js(77,82): error TS2339: Property 'nodeType' does not exist on type 'NodeModule'.
|
||||
node_modules/lodash/core.js(540,19): error TS2322: Type '(value: any) => boolean' is not assignable to type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/core.js(545,24): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'Boolean' has no compatible call signatures.
|
||||
node_modules/lodash/core.js(545,24): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/core.js(545,24): error TS2722: Cannot invoke an object which is possibly 'undefined'.
|
||||
@@ -229,7 +229,7 @@ node_modules/lodash/core.js(3424,41): error TS2345: Argument of type 'Function'
|
||||
Type 'Function' provides no match for the signature '(substring: string, ...args: any[]): string'.
|
||||
node_modules/lodash/core.js(3573,51): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/core.js(3590,63): error TS2345: Argument of type 'IArguments' is not assignable to parameter of type 'any[]'.
|
||||
Property 'flatMap' is missing in type 'IArguments'.
|
||||
Property 'push' is missing in type 'IArguments'.
|
||||
node_modules/lodash/core.js(3830,14): error TS2304: Cannot find name 'define'.
|
||||
node_modules/lodash/core.js(3830,45): error TS2304: Cannot find name 'define'.
|
||||
node_modules/lodash/core.js(3830,71): error TS2304: Cannot find name 'define'.
|
||||
@@ -249,12 +249,12 @@ node_modules/lodash/debounce.js(111,23): error TS2532: Object is possibly 'undef
|
||||
node_modules/lodash/debounce.js(125,65): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/lodash/deburr.js(42,44): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'.
|
||||
node_modules/lodash/difference.js(29,52): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/differenceBy.js(40,52): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/differenceBy.js(40,78): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
node_modules/lodash/differenceWith.js(36,52): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/drop.js(13,10): error TS1003: Identifier expected.
|
||||
node_modules/lodash/drop.js(13,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
|
||||
node_modules/lodash/dropRight.js(13,10): error TS1003: Identifier expected.
|
||||
@@ -426,12 +426,12 @@ node_modules/lodash/truncate.js(85,7): error TS2454: Variable 'strSymbols' is us
|
||||
node_modules/lodash/unary.js(19,10): error TS2554: Expected 3 arguments, but got 2.
|
||||
node_modules/lodash/unescape.js(30,37): error TS2345: Argument of type 'Function' is not assignable to parameter of type '(substring: string, ...args: any[]) => string'.
|
||||
node_modules/lodash/union.js(23,42): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/unionBy.js(36,42): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/unionBy.js(36,68): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
node_modules/lodash/unionWith.js(31,42): error TS2345: Argument of type '(value: any) => boolean' is not assignable to parameter of type 'boolean | undefined'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'false'.
|
||||
Type '(value: any) => boolean' is not assignable to type 'true'.
|
||||
node_modules/lodash/uniqBy.js(28,52): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
node_modules/lodash/words.js(15,10): error TS1003: Identifier expected.
|
||||
node_modules/lodash/words.js(15,10): error TS8024: JSDoc '@param' tag has name '', but there is no parameter with that name.
|
||||
|
||||
@@ -492,6 +492,11 @@ node_modules/npm/lib/ls.js(152,11): error TS2339: Property 'config' does not exi
|
||||
node_modules/npm/lib/ls.js(180,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'.
|
||||
node_modules/npm/lib/ls.js(191,52): error TS2339: Property 'globalDir' does not exist on type 'EventEmitter'.
|
||||
node_modules/npm/lib/ls.js(254,22): error TS2339: Property 'config' does not exist on type 'EventEmitter'.
|
||||
node_modules/npm/lib/ls.js(260,16): error TS2339: Property 'problems' does not exist on type 'string | { [x: string]: any; name: any; version: any; extraneous: boolean; problems: any; invalid...'.
|
||||
Property 'problems' does not exist on type 'string'.
|
||||
node_modules/npm/lib/ls.js(262,54): error TS2339: Property 'problems' does not exist on type 'string | { [x: string]: any; name: any; version: any; extraneous: boolean; problems: any; invalid...'.
|
||||
Property 'problems' does not exist on type 'string'.
|
||||
node_modules/npm/lib/ls.js(264,12): error TS2538: Type '{ [x: string]: any; name: any; version: any; extraneous: boolean; problems: any; invalid: boolean...' cannot be used as an index type.
|
||||
node_modules/npm/lib/ls.js(357,40): error TS2339: Property 'config' does not exist on type 'EventEmitter'.
|
||||
node_modules/npm/lib/ls.js(362,26): error TS2339: Property 'config' does not exist on type 'EventEmitter'.
|
||||
node_modules/npm/lib/ls.js(365,15): error TS2339: Property 'color' does not exist on type 'EventEmitter'.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user