mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge branch 'master' of https://github.com/Microsoft/TypeScript into feature/eslint
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
|
||||
# TypeScript
|
||||
|
||||
[](https://gitter.im/Microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://travis-ci.org/Microsoft/TypeScript)
|
||||
[](https://gitter.im/microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://travis-ci.org/microsoft/TypeScript)
|
||||
[](https://dev.azure.com/typescript/TypeScript/_build/latest?definitionId=4&view=logs)
|
||||
[](https://www.npmjs.com/package/typescript)
|
||||
[](https://www.npmjs.com/package/typescript)
|
||||
@@ -27,14 +27,14 @@ npm install -g typescript@next
|
||||
|
||||
## Contribute
|
||||
|
||||
There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
|
||||
* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
|
||||
* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls).
|
||||
There are many ways to [contribute](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
|
||||
* [Submit bugs](https://github.com/microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
|
||||
* Review the [source code changes](https://github.com/microsoft/TypeScript/pulls).
|
||||
* Engage with other TypeScript users and developers on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript).
|
||||
* Join the [#typescript](https://twitter.com/search?q=%23TypeScript) discussion on Twitter.
|
||||
* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md).
|
||||
* Read the language specification ([docx](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true),
|
||||
[pdf](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true), [md](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md)).
|
||||
* [Contribute bug fixes](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md).
|
||||
* Read the language specification ([docx](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true),
|
||||
[pdf](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true), [md](https://github.com/microsoft/TypeScript/blob/master/doc/spec.md)).
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see
|
||||
the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com)
|
||||
@@ -44,7 +44,7 @@ with any additional questions or comments.
|
||||
|
||||
* [Quick tutorial](https://www.typescriptlang.org/docs/tutorial.html)
|
||||
* [Programming handbook](https://www.typescriptlang.org/docs/handbook/basic-types.html)
|
||||
* [Language specification](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md)
|
||||
* [Language specification](https://github.com/microsoft/TypeScript/blob/master/doc/spec.md)
|
||||
* [Homepage](https://www.typescriptlang.org/)
|
||||
|
||||
## Building
|
||||
@@ -54,7 +54,7 @@ In order to build the TypeScript compiler, ensure that you have [Git](https://gi
|
||||
Clone a copy of the repo:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/Microsoft/TypeScript.git
|
||||
git clone https://github.com/microsoft/TypeScript.git
|
||||
```
|
||||
|
||||
Change to the TypeScript directory:
|
||||
@@ -73,17 +73,25 @@ npm install
|
||||
Use one of the following to build and test:
|
||||
|
||||
```
|
||||
gulp local # Build the compiler into built/local
|
||||
gulp clean # Delete the built compiler
|
||||
gulp LKG # Replace the last known good with the built one.
|
||||
# Bootstrapping step to be executed when the built compiler reaches a stable state.
|
||||
gulp tests # Build the test infrastructure using the built compiler.
|
||||
gulp runtests # Run tests using the built compiler and test infrastructure.
|
||||
# You can override the host or specify a test for this command.
|
||||
# Use --host=<hostName> or --tests=<testPath>.
|
||||
gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
|
||||
gulp lint # Runs eslint on the TypeScript source.
|
||||
gulp help # List the above commands.
|
||||
gulp local # Build the compiler into built/local.
|
||||
gulp clean # Delete the built compiler.
|
||||
gulp LKG # Replace the last known good with the built one.
|
||||
# Bootstrapping step to be executed when the built compiler reaches a stable state.
|
||||
gulp tests # Build the test infrastructure using the built compiler.
|
||||
gulp runtests # Run tests using the built compiler and test infrastructure.
|
||||
# Some low-value tests are skipped when not on a CI machine - you can use the
|
||||
# --skipPercent=0 command to override this behavior and run all tests locally.
|
||||
# You can override the specific suite runner used or specify a test for this command.
|
||||
# Use --tests=<testPath> for a specific test and/or --runner=<runnerName> for a specific suite.
|
||||
# Valid runners include conformance, compiler, fourslash, project, user, and docker
|
||||
# The user and docker runners are extended test suite runners - the user runner
|
||||
# works on disk in the tests/cases/user directory, while the docker runner works in containers.
|
||||
# You'll need to have the docker executable in your system path for the docker runner to work.
|
||||
gulp runtests-parallel # Like runtests, but split across multiple threads. Uses a number of threads equal to the system
|
||||
# core count by default. Use --workers=<number> to adjust this.
|
||||
gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
|
||||
gulp lint # Runs eslint on the TypeScript source.
|
||||
gulp help # List the above commands.
|
||||
```
|
||||
|
||||
|
||||
@@ -96,4 +104,4 @@ node built/local/tsc.js hello.ts
|
||||
|
||||
## Roadmap
|
||||
|
||||
For details on our planned features and future direction please refer to our [roadmap](https://github.com/Microsoft/TypeScript/wiki/Roadmap).
|
||||
For details on our planned features and future direction please refer to our [roadmap](https://github.com/microsoft/TypeScript/wiki/Roadmap).
|
||||
|
||||
@@ -15,6 +15,7 @@ module.exports = minimist(process.argv.slice(2), {
|
||||
"r": "reporter",
|
||||
"c": "colors", "color": "colors",
|
||||
"skip-percent": "skipPercent",
|
||||
"skippercent": "skipPercent",
|
||||
"w": "workers",
|
||||
"f": "fix"
|
||||
},
|
||||
|
||||
@@ -11,6 +11,7 @@ const userName = process.env.GH_USERNAME;
|
||||
const reviewers = process.env.REQUESTING_USER ? [process.env.REQUESTING_USER] : ["weswigham", "RyanCavanaugh"];
|
||||
const branchName = `pick/${process.env.SOURCE_ISSUE}/${process.env.TARGET_BRANCH}`;
|
||||
const remoteUrl = `https://${process.argv[2]}@github.com/${userName}/TypeScript.git`;
|
||||
const produceLKG = !!process.env.PRODUCE_LKG;
|
||||
|
||||
async function main() {
|
||||
if (!process.env.TARGET_BRANCH) {
|
||||
@@ -52,7 +53,16 @@ ${logText.trim()}`;
|
||||
runSequence([
|
||||
["git", ["checkout", process.env.TARGET_BRANCH]], // checkout the target branch
|
||||
["git", ["checkout", "-b", branchName]], // create a new branch
|
||||
["git", ["cherry-pick", squashSha.trim()]], //
|
||||
["git", ["cherry-pick", squashSha.trim()]],
|
||||
]);
|
||||
if (produceLKG) {
|
||||
runSequence([
|
||||
["gulp", ["LKG"]],
|
||||
["git", ["add", "lib"]],
|
||||
["git", ["commit", "-m", `"Update LKG"`]]
|
||||
]);
|
||||
}
|
||||
runSequence([
|
||||
["git", ["remote", "add", "fork", remoteUrl]], // Add the remote fork
|
||||
["git", ["push", "--set-upstream", "fork", branchName, "-f"]] // push the branch
|
||||
]);
|
||||
@@ -71,7 +81,7 @@ ${logText.trim()}`;
|
||||
base: process.env.TARGET_BRANCH,
|
||||
body:
|
||||
`This cherry-pick was triggerd by a request on https://github.com/Microsoft/TypeScript/pull/${process.env.SOURCE_ISSUE}
|
||||
Please review the diff and merge if no changes are unexpected.
|
||||
Please review the diff and merge if no changes are unexpected.${produceLKG ? ` An LKG update commit is included seperately from the base change.` : ""}
|
||||
You can view the cherry-pick log [here](https://typescript.visualstudio.com/TypeScript/_build/index?buildId=${process.env.BUILD_BUILDID}&_a=summary).
|
||||
|
||||
cc ${reviewers.map(r => "@" + r).join(" ")}`,
|
||||
|
||||
+26
-30
@@ -9332,10 +9332,10 @@ namespace ts {
|
||||
return globalFunctionType;
|
||||
case "Array":
|
||||
case "array":
|
||||
return !typeArgs || !typeArgs.length ? anyArrayType : undefined;
|
||||
return (!typeArgs || !typeArgs.length) && !noImplicitAny ? anyArrayType : undefined;
|
||||
case "Promise":
|
||||
case "promise":
|
||||
return !typeArgs || !typeArgs.length ? createPromiseType(anyType) : undefined;
|
||||
return (!typeArgs || !typeArgs.length) && !noImplicitAny ? createPromiseType(anyType) : undefined;
|
||||
case "Object":
|
||||
if (typeArgs && typeArgs.length === 2) {
|
||||
if (isJSDocIndexSignature(node)) {
|
||||
@@ -9347,7 +9347,7 @@ namespace ts {
|
||||
return anyType;
|
||||
}
|
||||
checkNoTypeArguments(node);
|
||||
return anyType;
|
||||
return !noImplicitAny ? anyType : undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15484,8 +15484,7 @@ namespace ts {
|
||||
let visited: Map<number>;
|
||||
let bivariant = false;
|
||||
let propagationType: Type;
|
||||
let inferenceMatch = false;
|
||||
let inferenceIncomplete = false;
|
||||
let inferencePriority = InferencePriority.MaxValue;
|
||||
let allowComplexConstraintInference = true;
|
||||
inferFromTypes(originalSource, originalTarget);
|
||||
|
||||
@@ -15598,7 +15597,7 @@ namespace ts {
|
||||
clearCachedInferences(inferences);
|
||||
}
|
||||
}
|
||||
inferenceMatch = true;
|
||||
inferencePriority = Math.min(inferencePriority, priority);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
@@ -15692,19 +15691,15 @@ namespace ts {
|
||||
const key = source.id + "," + target.id;
|
||||
const status = visited && visited.get(key);
|
||||
if (status !== undefined) {
|
||||
if (status & 1) inferenceMatch = true;
|
||||
if (status & 2) inferenceIncomplete = true;
|
||||
inferencePriority = Math.min(inferencePriority, status);
|
||||
return;
|
||||
}
|
||||
(visited || (visited = createMap<number>())).set(key, 0);
|
||||
const saveInferenceMatch = inferenceMatch;
|
||||
const saveInferenceIncomplete = inferenceIncomplete;
|
||||
inferenceMatch = false;
|
||||
inferenceIncomplete = false;
|
||||
(visited || (visited = createMap<number>())).set(key, InferencePriority.Circularity);
|
||||
const saveInferencePriority = inferencePriority;
|
||||
inferencePriority = InferencePriority.MaxValue;
|
||||
action(source, target);
|
||||
visited.set(key, (inferenceMatch ? 1 : 0) | (inferenceIncomplete ? 2 : 0));
|
||||
inferenceMatch = inferenceMatch || saveInferenceMatch;
|
||||
inferenceIncomplete = inferenceIncomplete || saveInferenceIncomplete;
|
||||
visited.set(key, inferencePriority);
|
||||
inferencePriority = Math.min(inferencePriority, saveInferencePriority);
|
||||
}
|
||||
|
||||
function inferFromMatchingType(source: Type, targets: Type[], matches: (s: Type, t: Type) => boolean) {
|
||||
@@ -15776,10 +15771,11 @@ namespace ts {
|
||||
let nakedTypeVariable: Type | undefined;
|
||||
const sources = source.flags & TypeFlags.Union ? (<UnionType>source).types : [source];
|
||||
const matched = new Array<boolean>(sources.length);
|
||||
const saveInferenceIncomplete = inferenceIncomplete;
|
||||
inferenceIncomplete = false;
|
||||
let inferenceCircularity = false;
|
||||
// First infer to types that are not naked type variables. For each source type we
|
||||
// track whether inferences were made from that particular type to some target.
|
||||
// track whether inferences were made from that particular type to some target with
|
||||
// equal priority (i.e. of equal quality) to what we would infer for a naked type
|
||||
// parameter.
|
||||
for (const t of targets) {
|
||||
if (getInferenceInfoForType(t)) {
|
||||
nakedTypeVariable = t;
|
||||
@@ -15787,20 +15783,20 @@ namespace ts {
|
||||
}
|
||||
else {
|
||||
for (let i = 0; i < sources.length; i++) {
|
||||
const saveInferenceMatch = inferenceMatch;
|
||||
inferenceMatch = false;
|
||||
const saveInferencePriority = inferencePriority;
|
||||
inferencePriority = InferencePriority.MaxValue;
|
||||
inferFromTypes(sources[i], t);
|
||||
if (inferenceMatch) matched[i] = true;
|
||||
inferenceMatch = inferenceMatch || saveInferenceMatch;
|
||||
if (inferencePriority === priority) matched[i] = true;
|
||||
inferenceCircularity = inferenceCircularity || inferencePriority === InferencePriority.Circularity;
|
||||
inferencePriority = Math.min(inferencePriority, saveInferencePriority);
|
||||
}
|
||||
}
|
||||
}
|
||||
const inferenceComplete = !inferenceIncomplete;
|
||||
inferenceIncomplete = inferenceIncomplete || saveInferenceIncomplete;
|
||||
// If the target has a single naked type variable and inference completed (meaning we
|
||||
// explored the types fully), create a union of the source types from which no inferences
|
||||
// have been made so far and infer from that union to the naked type variable.
|
||||
if (typeVariableCount === 1 && inferenceComplete) {
|
||||
// If the target has a single naked type variable and no inference circularities were
|
||||
// encountered above (meaning we explored the types fully), create a union of the source
|
||||
// types from which no inferences have been made so far and infer from that union to the
|
||||
// naked type variable.
|
||||
if (typeVariableCount === 1 && !inferenceCircularity) {
|
||||
const unmatched = flatMap(sources, (s, i) => matched[i] ? undefined : s);
|
||||
if (unmatched.length) {
|
||||
inferFromTypes(getUnionType(unmatched), nakedTypeVariable!);
|
||||
@@ -15903,7 +15899,7 @@ namespace ts {
|
||||
const symbol = isNonConstructorObject ? target.symbol : undefined;
|
||||
if (symbol) {
|
||||
if (contains(symbolStack, symbol)) {
|
||||
inferenceIncomplete = true;
|
||||
inferencePriority = InferencePriority.Circularity;
|
||||
return;
|
||||
}
|
||||
(symbolStack || (symbolStack = [])).push(symbol);
|
||||
|
||||
@@ -5112,6 +5112,10 @@
|
||||
"category": "Message",
|
||||
"code": 95087
|
||||
},
|
||||
"Enable the '--jsx' flag in your configuration file": {
|
||||
"category": "Message",
|
||||
"code": 95088
|
||||
},
|
||||
|
||||
"No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": {
|
||||
"category": "Error",
|
||||
|
||||
@@ -1484,7 +1484,7 @@ namespace ts {
|
||||
|
||||
function scan(): SyntaxKind {
|
||||
startPos = pos;
|
||||
tokenFlags = 0;
|
||||
tokenFlags = TokenFlags.None;
|
||||
let asteriskSeen = false;
|
||||
while (true) {
|
||||
tokenPos = pos;
|
||||
@@ -2116,7 +2116,7 @@ namespace ts {
|
||||
|
||||
function scanJsDocToken(): JSDocSyntaxKind {
|
||||
startPos = tokenPos = pos;
|
||||
tokenFlags = 0;
|
||||
tokenFlags = TokenFlags.None;
|
||||
if (pos >= end) {
|
||||
return token = SyntaxKind.EndOfFileToken;
|
||||
}
|
||||
@@ -2277,7 +2277,7 @@ namespace ts {
|
||||
tokenPos = textPos;
|
||||
token = SyntaxKind.Unknown;
|
||||
tokenValue = undefined!;
|
||||
tokenFlags = 0;
|
||||
tokenFlags = TokenFlags.None;
|
||||
}
|
||||
|
||||
function setInJSDocType(inType: boolean) {
|
||||
|
||||
@@ -4524,8 +4524,10 @@ namespace ts {
|
||||
LiteralKeyof = 1 << 5, // Inference made from a string literal to a keyof T
|
||||
NoConstraints = 1 << 6, // Don't infer from constraints of instantiable types
|
||||
AlwaysStrict = 1 << 7, // Always use strict rules for contravariant inferences
|
||||
MaxValue = 1 << 8, // Seed for inference priority tracking
|
||||
|
||||
PriorityImpliesCombination = ReturnType | MappedTypeConstraint | LiteralKeyof, // These priorities imply that the resulting type should be a combination of all candidates
|
||||
Circularity = -1, // Inference circularity (value less than all other priorities)
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
|
||||
@@ -2345,7 +2345,7 @@ namespace ts {
|
||||
export function getTypeParameterFromJsDoc(node: TypeParameterDeclaration & { parent: JSDocTemplateTag }): TypeParameterDeclaration | undefined {
|
||||
const name = node.name.escapedText;
|
||||
const { typeParameters } = (node.parent.parent.parent as SignatureDeclaration | InterfaceDeclaration | ClassDeclaration);
|
||||
return find(typeParameters!, p => p.name.escapedText === name);
|
||||
return typeParameters && find(typeParameters, p => p.name.escapedText === name);
|
||||
}
|
||||
|
||||
export function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/* @internal */
|
||||
namespace ts.codefix {
|
||||
const fixID = "fixEnableJsxFlag";
|
||||
const errorCodes = [Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided.code];
|
||||
registerCodeFix({
|
||||
errorCodes,
|
||||
getCodeActions: context => {
|
||||
const { configFile } = context.program.getCompilerOptions();
|
||||
if (configFile === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const changes = textChanges.ChangeTracker.with(context, changeTracker =>
|
||||
doChange(changeTracker, configFile)
|
||||
);
|
||||
return [
|
||||
createCodeFixActionNoFixId(fixID, changes, Diagnostics.Enable_the_jsx_flag_in_your_configuration_file)
|
||||
];
|
||||
},
|
||||
fixIds: [fixID],
|
||||
getAllCodeActions: context =>
|
||||
codeFixAll(context, errorCodes, changes => {
|
||||
const { configFile } = context.program.getCompilerOptions();
|
||||
if (configFile === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
doChange(changes, configFile);
|
||||
})
|
||||
});
|
||||
|
||||
function doChange(changeTracker: textChanges.ChangeTracker, configFile: TsConfigSourceFile) {
|
||||
setJsonCompilerOptionValue(changeTracker, configFile, "jsx", createStringLiteral("react"));
|
||||
}
|
||||
}
|
||||
@@ -65,6 +65,7 @@
|
||||
"codefixes/fixClassSuperMustPrecedeThisAccess.ts",
|
||||
"codefixes/fixConstructorForDerivedNeedSuperCall.ts",
|
||||
"codefixes/fixEnableExperimentalDecorators.ts",
|
||||
"codefixes/fixEnableJsxFlag.ts",
|
||||
"codefixes/fixExtendsInterfaceBecomesImplements.ts",
|
||||
"codefixes/fixForgottenThisPropertyAccess.ts",
|
||||
"codefixes/fixUnusedIdentifier.ts",
|
||||
|
||||
@@ -52,7 +52,7 @@ abstract class ExternalCompileRunnerBase extends RunnerBase {
|
||||
const submoduleDir = path.join(cwd, directoryName);
|
||||
exec("git", ["reset", "HEAD", "--hard"], { cwd: submoduleDir });
|
||||
exec("git", ["clean", "-f"], { cwd: submoduleDir });
|
||||
exec("git", ["submodule", "update", "--init", "--remote", "."], { cwd: submoduleDir });
|
||||
exec("git", ["submodule", "update", "--init", "--remote", "."], { cwd: originalCwd });
|
||||
|
||||
const config = JSON.parse(fs.readFileSync(path.join(cwd, "test.json"), { encoding: "utf8" })) as UserConfig;
|
||||
ts.Debug.assert(!!config.types, "Bad format from test.json: Types field must be present.");
|
||||
|
||||
File diff suppressed because one or more lines are too long
+3
-1
@@ -2442,7 +2442,9 @@ declare namespace ts {
|
||||
LiteralKeyof = 32,
|
||||
NoConstraints = 64,
|
||||
AlwaysStrict = 128,
|
||||
PriorityImpliesCombination = 56
|
||||
MaxValue = 256,
|
||||
PriorityImpliesCombination = 56,
|
||||
Circularity = -1
|
||||
}
|
||||
/** @deprecated Use FileExtensionInfo instead. */
|
||||
export type JsFileExtensionInfo = FileExtensionInfo;
|
||||
|
||||
+3
-1
@@ -2442,7 +2442,9 @@ declare namespace ts {
|
||||
LiteralKeyof = 32,
|
||||
NoConstraints = 64,
|
||||
AlwaysStrict = 128,
|
||||
PriorityImpliesCombination = 56
|
||||
MaxValue = 256,
|
||||
PriorityImpliesCombination = 56,
|
||||
Circularity = -1
|
||||
}
|
||||
/** @deprecated Use FileExtensionInfo instead. */
|
||||
export type JsFileExtensionInfo = FileExtensionInfo;
|
||||
|
||||
@@ -2,14 +2,10 @@ Exit Code: 1
|
||||
Standard output:
|
||||
|
||||
Rush Multi-Project Build Tool 5.X.X - https://rushjs.io
|
||||
Node.js version is 12.8.0 (pre-LTS)
|
||||
Node.js version is 12.8.1 (pre-LTS)
|
||||
Starting "rush rebuild"
|
||||
Executing a maximum of ?simultaneous processes...
|
||||
XX of XX: [@azure/identity] completed successfully in ? seconds
|
||||
XX of XX: [@azure/event-processor-host] completed successfully in ? seconds
|
||||
XX of XX: [@azure/abort-controller] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-arm] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-asynciterator-polyfill] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-auth] completed successfully in ? seconds
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
@@ -31,71 +27,42 @@ npm ERR! This is probably not a problem with npm. There is likely additional log
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
ERROR: "build:lib" exited with 1.
|
||||
XX of XX: [@azure/event-processor-host] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-asynciterator-polyfill] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-paging] completed successfully in ? seconds
|
||||
XX of XX: [@azure/core-tracing] completed successfully in ? seconds
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-certificates@X.X.X extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-certificates@X.X.X extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-keys@X.X.X-preview.4 extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-keys@X.X.X-preview.4 extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-secrets@X.X.X-preview.5 extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-secrets@X.X.X-preview.5 extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
XX of XX: [@azure/service-bus] completed successfully in ? seconds
|
||||
XX of XX: [@azure/storage-blob] completed successfully in ? seconds
|
||||
XX of XX: [@azure/storage-file] completed successfully in ? seconds
|
||||
XX of XX: [@azure/storage-queue] completed successfully in ? seconds
|
||||
XX of XX: [@azure/template] completed successfully in ? seconds
|
||||
XX of XX: [testhub] completed successfully in ? seconds
|
||||
SUCCESS (14)
|
||||
SUCCESS (11)
|
||||
================================
|
||||
@azure/abort-controller (? seconds)
|
||||
@azure/core-arm (? seconds)
|
||||
@azure/core-asynciterator-polyfill (? seconds)
|
||||
@azure/core-auth (? seconds)
|
||||
@azure/event-processor-host (? seconds)
|
||||
@azure/core-asynciterator-polyfill (? seconds)
|
||||
@azure/core-paging (? seconds)
|
||||
@azure/core-tracing (? seconds)
|
||||
@azure/event-processor-host (? seconds)
|
||||
@azure/identity (? seconds)
|
||||
@azure/service-bus (? seconds)
|
||||
@azure/storage-blob (? seconds)
|
||||
@azure/storage-file (? seconds)
|
||||
@azure/storage-queue (? seconds)
|
||||
@azure/template (? seconds)
|
||||
testhub (? seconds)
|
||||
================================
|
||||
BLOCKED (1)
|
||||
BLOCKED (8)
|
||||
================================
|
||||
@azure/identity
|
||||
@azure/core-amqp
|
||||
@azure/core-arm
|
||||
@azure/event-hubs
|
||||
@azure/keyvault-certificates
|
||||
@azure/keyvault-keys
|
||||
@azure/keyvault-secrets
|
||||
@azure/template
|
||||
================================
|
||||
FAILURE (5)
|
||||
FAILURE (1)
|
||||
================================
|
||||
@azure/core-amqp ( ? seconds)
|
||||
>>> @azure/core-amqp
|
||||
tsc -p . && rollup -c 2>&1
|
||||
src/errors.ts(580,20): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof ConditionErrorNameMapper'.
|
||||
src/errors.ts(604,34): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof SystemErrorConditionMapper'.
|
||||
src/errors.ts(605,20): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'typeof ConditionErrorNameMapper'.
|
||||
src/shims.d.ts(14,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'window' must be of type 'Window & typeof globalThis', but here has type 'Window'.
|
||||
@azure/core-http ( ? seconds)
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
@@ -117,36 +84,6 @@ npm ERR! This is probably not a problem with npm. There is likely additional log
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
ERROR: "build:lib" exited with 1.
|
||||
@azure/keyvault-certificates ( ? seconds)
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-certificates@X.X.X extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-certificates@X.X.X extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
@azure/keyvault-keys ( ? seconds)
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-keys@X.X.X-preview.4 extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-keys@X.X.X-preview.4 extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
@azure/keyvault-secrets ( ? seconds)
|
||||
npm ERR! code ELIFECYCLE
|
||||
npm ERR! errno 2
|
||||
npm ERR! @azure/keyvault-secrets@X.X.X-preview.5 extract-api: `tsc -p . && api-extractor run --local`
|
||||
npm ERR! Exit status 2
|
||||
npm ERR!
|
||||
npm ERR! Failed at the @azure/keyvault-secrets@X.X.X-preview.5 extract-api script.
|
||||
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
|
||||
npm ERR! A complete log of this run can be found in:
|
||||
npm ERR! /root/.npm/_logs/XXXX-XX-XXXXXXXXX-debug.log
|
||||
================================
|
||||
Error: Project(s) failed to build
|
||||
rush rebuild - Errors! ( ? seconds)
|
||||
@@ -155,14 +92,13 @@ rush rebuild - Errors! ( ? seconds)
|
||||
|
||||
Standard error:
|
||||
|
||||
XX of XX: [@azure/core-amqp] failed to build!
|
||||
XX of XX: [@azure/event-hubs] blocked by [@azure/core-amqp]!
|
||||
XX of XX: [@azure/core-http] failed to build!
|
||||
XX of XX: [@azure/keyvault-certificates] failed to build!
|
||||
XX of XX: [@azure/keyvault-keys] failed to build!
|
||||
XX of XX: [@azure/keyvault-secrets] failed to build!
|
||||
[@azure/core-amqp] Returned error code: 2
|
||||
XX of XX: [@azure/core-arm] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/keyvault-certificates] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/keyvault-keys] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/keyvault-secrets] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/identity] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/core-amqp] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/event-hubs] blocked by [@azure/core-http]!
|
||||
XX of XX: [@azure/template] blocked by [@azure/core-http]!
|
||||
[@azure/core-http] Returned error code: 1
|
||||
[@azure/keyvault-certificates] Returned error code: 2
|
||||
[@azure/keyvault-keys] Returned error code: 2
|
||||
[@azure/keyvault-secrets] Returned error code: 2
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
=== tests/cases/compiler/jsdocArrayObjectPromiseImplicitAny.js ===
|
||||
/** @type {Array} */
|
||||
var anyArray = [5];
|
||||
>anyArray : Symbol(anyArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 1, 3))
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
>numberArray : Symbol(numberArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 4, 3))
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnAnyArray(arr) {
|
||||
>returnAnyArray : Symbol(returnAnyArray, Decl(jsdocArrayObjectPromiseImplicitAny.js, 4, 22))
|
||||
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 10, 24))
|
||||
|
||||
return arr;
|
||||
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 10, 24))
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var anyPromise = Promise.resolve(5);
|
||||
>anyPromise : Symbol(anyPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 15, 3))
|
||||
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
>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, --, --))
|
||||
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
>numberPromise : Symbol(numberPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 18, 3))
|
||||
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
>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, --, --))
|
||||
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnAnyPromise(pr) {
|
||||
>returnAnyPromise : Symbol(returnAnyPromise, Decl(jsdocArrayObjectPromiseImplicitAny.js, 18, 39))
|
||||
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 24, 26))
|
||||
|
||||
return pr;
|
||||
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseImplicitAny.js, 24, 26))
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var anyObject = {valueOf: 1}; // not an error since assigning to any.
|
||||
>anyObject : Symbol(anyObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 29, 3))
|
||||
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseImplicitAny.js, 29, 17))
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
>paramedObject : Symbol(paramedObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 3))
|
||||
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 21))
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnAnyObject(obj) {
|
||||
>returnAnyObject : Symbol(returnAnyObject, Decl(jsdocArrayObjectPromiseImplicitAny.js, 32, 33))
|
||||
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseImplicitAny.js, 38, 25))
|
||||
|
||||
return obj;
|
||||
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseImplicitAny.js, 38, 25))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
=== tests/cases/compiler/jsdocArrayObjectPromiseImplicitAny.js ===
|
||||
/** @type {Array} */
|
||||
var anyArray = [5];
|
||||
>anyArray : any[]
|
||||
>[5] : number[]
|
||||
>5 : 5
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
>numberArray : number[]
|
||||
>[5] : number[]
|
||||
>5 : 5
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnAnyArray(arr) {
|
||||
>returnAnyArray : (arr: any[]) => any[]
|
||||
>arr : any[]
|
||||
|
||||
return arr;
|
||||
>arr : any[]
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var anyPromise = Promise.resolve(5);
|
||||
>anyPromise : Promise<any>
|
||||
>Promise.resolve(5) : Promise<number>
|
||||
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>Promise : PromiseConstructor
|
||||
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>5 : 5
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
>numberPromise : Promise<number>
|
||||
>Promise.resolve(5) : Promise<number>
|
||||
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>Promise : PromiseConstructor
|
||||
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>5 : 5
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnAnyPromise(pr) {
|
||||
>returnAnyPromise : (pr: Promise<any>) => Promise<any>
|
||||
>pr : Promise<any>
|
||||
|
||||
return pr;
|
||||
>pr : Promise<any>
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var anyObject = {valueOf: 1}; // not an error since assigning to any.
|
||||
>anyObject : any
|
||||
>{valueOf: 1} : { valueOf: number; }
|
||||
>valueOf : number
|
||||
>1 : 1
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
>paramedObject : { [x: string]: number; }
|
||||
>{valueOf: 1} : { valueOf: number; }
|
||||
>valueOf : number
|
||||
>1 : 1
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnAnyObject(obj) {
|
||||
>returnAnyObject : (obj: any) => any
|
||||
>obj : any
|
||||
|
||||
return obj;
|
||||
>obj : any
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(1,12): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(8,12): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(9,13): error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(15,12): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(22,12): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(23,13): error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js(30,21): error TS2322: Type 'number' is not assignable to type '() => Object'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js (7 errors) ====
|
||||
/** @type {Array} */
|
||||
~~~~~
|
||||
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
var notAnyArray = [5];
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
~~~~~
|
||||
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
* @return {Array}
|
||||
~~~~~
|
||||
!!! error TS2314: Generic type 'Array<T>' requires 1 type argument(s).
|
||||
*/
|
||||
function returnNotAnyArray(arr) {
|
||||
return arr;
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
~~~~~~~
|
||||
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
var notAnyPromise = Promise.resolve(5);
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
~~~~~~~
|
||||
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
* @return {Promise}
|
||||
~~~~~~~
|
||||
!!! error TS2314: Generic type 'Promise<T>' requires 1 type argument(s).
|
||||
*/
|
||||
function returnNotAnyPromise(pr) {
|
||||
return pr;
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
|
||||
~~~~~~~
|
||||
!!! error TS2322: Type 'number' is not assignable to type '() => Object'.
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnNotAnyObject(obj) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
=== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js ===
|
||||
/** @type {Array} */
|
||||
var notAnyArray = [5];
|
||||
>notAnyArray : Symbol(notAnyArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 1, 3))
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
>numberArray : Symbol(numberArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 4, 3))
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnNotAnyArray(arr) {
|
||||
>returnNotAnyArray : Symbol(returnNotAnyArray, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 4, 22))
|
||||
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 10, 27))
|
||||
|
||||
return arr;
|
||||
>arr : Symbol(arr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 10, 27))
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var notAnyPromise = Promise.resolve(5);
|
||||
>notAnyPromise : Symbol(notAnyPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 15, 3))
|
||||
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
>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, --, --))
|
||||
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
>numberPromise : Symbol(numberPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 18, 3))
|
||||
>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
>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, --, --))
|
||||
>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnNotAnyPromise(pr) {
|
||||
>returnNotAnyPromise : Symbol(returnNotAnyPromise, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 18, 39))
|
||||
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 24, 29))
|
||||
|
||||
return pr;
|
||||
>pr : Symbol(pr, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 24, 29))
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
|
||||
>notAnyObject : Symbol(notAnyObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 29, 3))
|
||||
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 29, 20))
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
>paramedObject : Symbol(paramedObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 3))
|
||||
>valueOf : Symbol(valueOf, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 21))
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnNotAnyObject(obj) {
|
||||
>returnNotAnyObject : Symbol(returnNotAnyObject, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 32, 33))
|
||||
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 38, 28))
|
||||
|
||||
return obj;
|
||||
>obj : Symbol(obj, Decl(jsdocArrayObjectPromiseNoImplicitAny.js, 38, 28))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
=== tests/cases/compiler/jsdocArrayObjectPromiseNoImplicitAny.js ===
|
||||
/** @type {Array} */
|
||||
var notAnyArray = [5];
|
||||
>notAnyArray : any[]
|
||||
>[5] : number[]
|
||||
>5 : 5
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
>numberArray : number[]
|
||||
>[5] : number[]
|
||||
>5 : 5
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnNotAnyArray(arr) {
|
||||
>returnNotAnyArray : (arr: any[]) => any[]
|
||||
>arr : any[]
|
||||
|
||||
return arr;
|
||||
>arr : any[]
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var notAnyPromise = Promise.resolve(5);
|
||||
>notAnyPromise : Promise<any>
|
||||
>Promise.resolve(5) : Promise<number>
|
||||
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>Promise : PromiseConstructor
|
||||
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>5 : 5
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
>numberPromise : Promise<number>
|
||||
>Promise.resolve(5) : Promise<number>
|
||||
>Promise.resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>Promise : PromiseConstructor
|
||||
>resolve : { <T>(value: T | PromiseLike<T>): Promise<T>; (): Promise<void>; }
|
||||
>5 : 5
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnNotAnyPromise(pr) {
|
||||
>returnNotAnyPromise : (pr: Promise<any>) => Promise<any>
|
||||
>pr : Promise<any>
|
||||
|
||||
return pr;
|
||||
>pr : Promise<any>
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
|
||||
>notAnyObject : Object
|
||||
>{valueOf: 1} : { valueOf: number; }
|
||||
>valueOf : number
|
||||
>1 : 1
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
>paramedObject : { [x: string]: number; }
|
||||
>{valueOf: 1} : { valueOf: number; }
|
||||
>valueOf : number
|
||||
>1 : 1
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnNotAnyObject(obj) {
|
||||
>returnNotAnyObject : (obj: Object) => Object
|
||||
>obj : Object
|
||||
|
||||
return obj;
|
||||
>obj : Object
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ tests/cases/conformance/jsdoc/0.js(3,20): error TS8024: JSDoc '@param' tag has n
|
||||
!!! error TS8024: JSDoc '@param' tag has name 'unrelated', but there is no parameter with that name.
|
||||
*/
|
||||
function normal(notSpecial) {
|
||||
notSpecial; // should just be 'any'
|
||||
notSpecial; // should just be 'Object'
|
||||
}
|
||||
normal(12);
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ function normal(notSpecial) {
|
||||
>normal : Symbol(normal, Decl(0.js, 0, 0))
|
||||
>notSpecial : Symbol(notSpecial, Decl(0.js, 4, 16))
|
||||
|
||||
notSpecial; // should just be 'any'
|
||||
notSpecial; // should just be 'Object'
|
||||
>notSpecial : Symbol(notSpecial, Decl(0.js, 4, 16))
|
||||
}
|
||||
normal(12);
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
* @param {string} unrelated - not actually related because it's not notSpecial.unrelated
|
||||
*/
|
||||
function normal(notSpecial) {
|
||||
>normal : (notSpecial: any) => void
|
||||
>notSpecial : any
|
||||
>normal : (notSpecial: Object) => void
|
||||
>notSpecial : Object
|
||||
|
||||
notSpecial; // should just be 'any'
|
||||
>notSpecial : any
|
||||
notSpecial; // should just be 'Object'
|
||||
>notSpecial : Object
|
||||
}
|
||||
normal(12);
|
||||
>normal(12) : void
|
||||
>normal : (notSpecial: any) => void
|
||||
>normal : (notSpecial: Object) => void
|
||||
>12 : 12
|
||||
|
||||
/**
|
||||
|
||||
+6
-6
@@ -14,8 +14,8 @@ exports.__esModule = true;
|
||||
"program": {
|
||||
"fileInfos": {
|
||||
"../../../.ts/lib.es5.d.ts": {
|
||||
"version": "354625479304",
|
||||
"signature": "354625479304"
|
||||
"version": "146944634190",
|
||||
"signature": "146944634190"
|
||||
},
|
||||
"../../../.ts/lib.es2015.d.ts": {
|
||||
"version": "57263133672",
|
||||
@@ -114,8 +114,8 @@ exports.__esModule = true;
|
||||
"program": {
|
||||
"fileInfos": {
|
||||
"../../../.ts/lib.es5.d.ts": {
|
||||
"version": "354625479304",
|
||||
"signature": "354625479304"
|
||||
"version": "146944634190",
|
||||
"signature": "146944634190"
|
||||
},
|
||||
"../../../.ts/lib.es2015.d.ts": {
|
||||
"version": "57263133672",
|
||||
@@ -237,8 +237,8 @@ exports.getVar = getVar;
|
||||
"program": {
|
||||
"fileInfos": {
|
||||
"../../../.ts/lib.es5.d.ts": {
|
||||
"version": "354625479304",
|
||||
"signature": "354625479304"
|
||||
"version": "146944634190",
|
||||
"signature": "146944634190"
|
||||
},
|
||||
"../../../.ts/lib.es2015.d.ts": {
|
||||
"version": "57263133672",
|
||||
|
||||
@@ -68,9 +68,9 @@ sala.name
|
||||
>name : string
|
||||
|
||||
sala.not
|
||||
>sala.not : any
|
||||
>sala.not : Object
|
||||
>sala : Upp
|
||||
>not : any
|
||||
>not : Object
|
||||
|
||||
sala.nested
|
||||
>sala.nested : string
|
||||
|
||||
@@ -58,4 +58,30 @@ tests/cases/conformance/types/typeRelationships/typeInference/unionTypeInference
|
||||
|
||||
declare function bar<T>(x: T, y: string | T): T;
|
||||
const y = bar(1, 2);
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
const containsPromises: unique symbol = Symbol();
|
||||
|
||||
type DeepPromised<T> =
|
||||
{ [containsPromises]?: true } &
|
||||
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
|
||||
|
||||
async function fun<T>(deepPromised: DeepPromised<T>) {
|
||||
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
const awaitedValue = await value;
|
||||
if (awaitedValue)
|
||||
await fun(awaitedValue);
|
||||
}
|
||||
}
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
|
||||
|
||||
declare function baz<T>(dp: Deep<T>): T;
|
||||
declare let xx: { a: string | undefined };
|
||||
|
||||
baz(xx);
|
||||
|
||||
@@ -50,29 +50,64 @@ foo(x);
|
||||
|
||||
declare function bar<T>(x: T, y: string | T): T;
|
||||
const y = bar(1, 2);
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
const containsPromises: unique symbol = Symbol();
|
||||
|
||||
type DeepPromised<T> =
|
||||
{ [containsPromises]?: true } &
|
||||
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
|
||||
|
||||
async function fun<T>(deepPromised: DeepPromised<T>) {
|
||||
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
const awaitedValue = await value;
|
||||
if (awaitedValue)
|
||||
await fun(awaitedValue);
|
||||
}
|
||||
}
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
|
||||
|
||||
declare function baz<T>(dp: Deep<T>): T;
|
||||
declare let xx: { a: string | undefined };
|
||||
|
||||
baz(xx);
|
||||
|
||||
|
||||
//// [unionTypeInference.js]
|
||||
"use strict";
|
||||
exports.__esModule = true;
|
||||
var a1 = f1(1, 2); // 1 | 2
|
||||
var a2 = f1(1, "hello"); // 1
|
||||
var a3 = f1(1, sn); // number
|
||||
var a4 = f1(undefined, "abc"); // undefined
|
||||
var a5 = f1("foo", "bar"); // "foo"
|
||||
var a6 = f1(true, false); // boolean
|
||||
var a7 = f1("hello", 1); // Error
|
||||
const a1 = f1(1, 2); // 1 | 2
|
||||
const a2 = f1(1, "hello"); // 1
|
||||
const a3 = f1(1, sn); // number
|
||||
const a4 = f1(undefined, "abc"); // undefined
|
||||
const a5 = f1("foo", "bar"); // "foo"
|
||||
const a6 = f1(true, false); // boolean
|
||||
const a7 = f1("hello", 1); // Error
|
||||
var b1 = f2(["string", true]); // boolean
|
||||
var c1 = f3(5); // 5
|
||||
var c2 = f3(sn); // number
|
||||
var c3 = f3(true); // true
|
||||
var c4 = f3(b); // true
|
||||
var c5 = f3("abc"); // never
|
||||
var d1 = f4("abc");
|
||||
var d2 = f4(s);
|
||||
var d3 = f4(42); // Error
|
||||
const c1 = f3(5); // 5
|
||||
const c2 = f3(sn); // number
|
||||
const c3 = f3(true); // true
|
||||
const c4 = f3(b); // true
|
||||
const c5 = f3("abc"); // never
|
||||
const d1 = f4("abc");
|
||||
const d2 = f4(s);
|
||||
const d3 = f4(42); // Error
|
||||
function qux(p1, p2) {
|
||||
p1 = p2;
|
||||
}
|
||||
foo(x);
|
||||
var y = bar(1, 2);
|
||||
const y = bar(1, 2);
|
||||
// Repro from #32752
|
||||
const containsPromises = Symbol();
|
||||
async function fun(deepPromised) {
|
||||
const deepPromisedWithIndexer = deepPromised;
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
const awaitedValue = await value;
|
||||
if (awaitedValue)
|
||||
await fun(awaitedValue);
|
||||
}
|
||||
}
|
||||
baz(xx);
|
||||
|
||||
@@ -163,12 +163,12 @@ declare function foo<T>(x: T | Promise<T>): void;
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
|
||||
>x : Symbol(x, Decl(unionTypeInference.ts, 45, 24))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
|
||||
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --))
|
||||
>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, --, --))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 45, 21))
|
||||
|
||||
declare let x: false | Promise<true>;
|
||||
>x : Symbol(x, Decl(unionTypeInference.ts, 46, 11))
|
||||
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --))
|
||||
>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, --, --))
|
||||
|
||||
foo(x);
|
||||
>foo : Symbol(foo, Decl(unionTypeInference.ts, 41, 1))
|
||||
@@ -187,3 +187,92 @@ const y = bar(1, 2);
|
||||
>y : Symbol(y, Decl(unionTypeInference.ts, 50, 5))
|
||||
>bar : Symbol(bar, Decl(unionTypeInference.ts, 47, 7))
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
const containsPromises: unique symbol = Symbol();
|
||||
>containsPromises : Symbol(containsPromises, Decl(unionTypeInference.ts, 54, 5))
|
||||
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --))
|
||||
|
||||
type DeepPromised<T> =
|
||||
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
|
||||
|
||||
{ [containsPromises]?: true } &
|
||||
>[containsPromises] : Symbol([containsPromises], Decl(unionTypeInference.ts, 57, 5))
|
||||
>containsPromises : Symbol(containsPromises, Decl(unionTypeInference.ts, 54, 5))
|
||||
|
||||
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
|
||||
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
|
||||
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
|
||||
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
|
||||
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
|
||||
>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, --, --))
|
||||
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 56, 18))
|
||||
>TKey : Symbol(TKey, Decl(unionTypeInference.ts, 58, 7))
|
||||
|
||||
async function fun<T>(deepPromised: DeepPromised<T>) {
|
||||
>fun : Symbol(fun, Decl(unionTypeInference.ts, 58, 92))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 60, 19))
|
||||
>deepPromised : Symbol(deepPromised, Decl(unionTypeInference.ts, 60, 22))
|
||||
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 60, 19))
|
||||
|
||||
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
|
||||
>deepPromisedWithIndexer : Symbol(deepPromisedWithIndexer, Decl(unionTypeInference.ts, 61, 9))
|
||||
>DeepPromised : Symbol(DeepPromised, Decl(unionTypeInference.ts, 54, 49))
|
||||
>name : Symbol(name, Decl(unionTypeInference.ts, 61, 51))
|
||||
>deepPromised : Symbol(deepPromised, Decl(unionTypeInference.ts, 60, 22))
|
||||
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
>value : Symbol(value, Decl(unionTypeInference.ts, 62, 14))
|
||||
>Object.values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --))
|
||||
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
|
||||
>values : Symbol(ObjectConstructor.values, Decl(lib.es2017.object.d.ts, --, --), Decl(lib.es2017.object.d.ts, --, --))
|
||||
>deepPromisedWithIndexer : Symbol(deepPromisedWithIndexer, Decl(unionTypeInference.ts, 61, 9))
|
||||
|
||||
const awaitedValue = await value;
|
||||
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
|
||||
>value : Symbol(value, Decl(unionTypeInference.ts, 62, 14))
|
||||
|
||||
if (awaitedValue)
|
||||
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
|
||||
|
||||
await fun(awaitedValue);
|
||||
>fun : Symbol(fun, Decl(unionTypeInference.ts, 58, 92))
|
||||
>awaitedValue : Symbol(awaitedValue, Decl(unionTypeInference.ts, 63, 13))
|
||||
}
|
||||
}
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
|
||||
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
|
||||
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
|
||||
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
|
||||
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 71, 10))
|
||||
>K : Symbol(K, Decl(unionTypeInference.ts, 71, 18))
|
||||
|
||||
declare function baz<T>(dp: Deep<T>): T;
|
||||
>baz : Symbol(baz, Decl(unionTypeInference.ts, 71, 53))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
|
||||
>dp : Symbol(dp, Decl(unionTypeInference.ts, 73, 24))
|
||||
>Deep : Symbol(Deep, Decl(unionTypeInference.ts, 67, 1))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
|
||||
>T : Symbol(T, Decl(unionTypeInference.ts, 73, 21))
|
||||
|
||||
declare let xx: { a: string | undefined };
|
||||
>xx : Symbol(xx, Decl(unionTypeInference.ts, 74, 11))
|
||||
>a : Symbol(a, Decl(unionTypeInference.ts, 74, 17))
|
||||
|
||||
baz(xx);
|
||||
>baz : Symbol(baz, Decl(unionTypeInference.ts, 71, 53))
|
||||
>xx : Symbol(xx, Decl(unionTypeInference.ts, 74, 11))
|
||||
|
||||
|
||||
@@ -185,3 +185,72 @@ const y = bar(1, 2);
|
||||
>1 : 1
|
||||
>2 : 2
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
const containsPromises: unique symbol = Symbol();
|
||||
>containsPromises : unique symbol
|
||||
>Symbol() : unique symbol
|
||||
>Symbol : SymbolConstructor
|
||||
|
||||
type DeepPromised<T> =
|
||||
>DeepPromised : DeepPromised<T>
|
||||
|
||||
{ [containsPromises]?: true } &
|
||||
>[containsPromises] : true | undefined
|
||||
>containsPromises : unique symbol
|
||||
>true : true
|
||||
|
||||
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
|
||||
|
||||
async function fun<T>(deepPromised: DeepPromised<T>) {
|
||||
>fun : <T>(deepPromised: DeepPromised<T>) => Promise<void>
|
||||
>deepPromised : DeepPromised<T>
|
||||
|
||||
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
|
||||
>deepPromisedWithIndexer : DeepPromised<{ [name: string]: {} | null | undefined; }>
|
||||
>name : string
|
||||
>null : null
|
||||
>deepPromised : DeepPromised<T>
|
||||
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
>value : {} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined
|
||||
>Object.values(deepPromisedWithIndexer) : ({} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined)[]
|
||||
>Object.values : { <T>(o: { [s: string]: T; } | ArrayLike<T>): T[]; (o: {}): any[]; }
|
||||
>Object : ObjectConstructor
|
||||
>values : { <T>(o: { [s: string]: T; } | ArrayLike<T>): T[]; (o: {}): any[]; }
|
||||
>deepPromisedWithIndexer : DeepPromised<{ [name: string]: {} | null | undefined; }>
|
||||
|
||||
const awaitedValue = await value;
|
||||
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
|
||||
>await value : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
|
||||
>value : {} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined
|
||||
|
||||
if (awaitedValue)
|
||||
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {}) | null | undefined
|
||||
|
||||
await fun(awaitedValue);
|
||||
>await fun(awaitedValue) : void
|
||||
>fun(awaitedValue) : Promise<void>
|
||||
>fun : <T>(deepPromised: DeepPromised<T>) => Promise<void>
|
||||
>awaitedValue : {} | ({ [containsPromises]?: true | undefined; } & {})
|
||||
}
|
||||
}
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
|
||||
>Deep : Deep<T>
|
||||
|
||||
declare function baz<T>(dp: Deep<T>): T;
|
||||
>baz : <T>(dp: Deep<T>) => T
|
||||
>dp : Deep<T>
|
||||
|
||||
declare let xx: { a: string | undefined };
|
||||
>xx : { a: string | undefined; }
|
||||
>a : string | undefined
|
||||
|
||||
baz(xx);
|
||||
>baz(xx) : { a: string | undefined; }
|
||||
>baz : <T>(dp: Deep<T>) => T
|
||||
>xx : { a: string | undefined; }
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
src/controllers/user.ts(95,5): error TS2345: Argument of type '{ email: any; password: any; }' is not assignable to parameter of type 'Partial<Document>'.
|
||||
Object literal may only specify known properties, and 'email' does not exist in type 'Partial<Document>'.
|
||||
src/controllers/user.ts(105,16): error TS7006: Parameter 'err' implicitly has an 'any' type.
|
||||
src/controllers/user.ts(210,33): error TS2339: Property 'provider' does not exist on type 'Params'.
|
||||
Property 'provider' does not exist on type 'string[]'.
|
||||
src/controllers/user.ts(232,51): error TS2339: Property 'token' does not exist on type 'Params'.
|
||||
Property 'token' does not exist on type 'string[]'.
|
||||
src/controllers/user.ts(264,59): error TS2339: Property 'token' does not exist on type 'Params'.
|
||||
Property 'token' does not exist on type 'string[]'.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
src/components/Hello.spec.ts(4,1): error TS2593: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.
|
||||
src/components/Hello.spec.ts(5,3): error TS2593: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig.
|
||||
src/components/Hello.spec.ts(14,5): error TS2304: Cannot find name 'expect'.
|
||||
|
||||
|
||||
|
||||
Standard error:
|
||||
@@ -1,6 +1,6 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
node_modules/assert/test.js(25,5): error TS2367: This condition will always return 'false' since the types 'string | undefined' and 'true' have no overlap.
|
||||
node_modules/assert/test.js(25,5): error TS2367: This condition will always return 'false' since the types 'string | undefined' and 'boolean' have no overlap.
|
||||
node_modules/assert/test.js(39,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
|
||||
node_modules/assert/test.js(55,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
|
||||
node_modules/assert/test.js(74,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'?
|
||||
|
||||
@@ -8,11 +8,11 @@ lib/adapters/http.js(121,40): error TS2532: Object is possibly 'undefined'.
|
||||
lib/adapters/http.js(122,17): error TS2531: Object is possibly 'null'.
|
||||
lib/adapters/http.js(122,54): error TS2531: Object is possibly 'null'.
|
||||
lib/adapters/http.js(122,54): error TS2532: Object is possibly 'undefined'.
|
||||
lib/adapters/http.js(220,23): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(226,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(232,13): error TS2322: Type 'string' is not assignable to type 'Buffer'.
|
||||
lib/adapters/http.js(244,40): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(268,42): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(221,23): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(227,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(233,13): error TS2322: Type 'string' is not assignable to type 'Buffer'.
|
||||
lib/adapters/http.js(245,40): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/http.js(269,42): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
lib/adapters/xhr.js(62,7): error TS2322: Type 'null' is not assignable to type 'XMLHttpRequest'.
|
||||
lib/adapters/xhr.js(74,7): error TS2322: Type 'null' is not assignable to type 'XMLHttpRequest'.
|
||||
lib/adapters/xhr.js(81,51): error TS2345: Argument of type 'null' is not assignable to parameter of type 'string | undefined'.
|
||||
|
||||
@@ -4783,9 +4783,9 @@ node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,20):
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,125): error TS2339: Property 'length1' does not exist on type 'number'.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(42,138): error TS2339: Property 'length2' does not exist on type 'number'.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,411): error TS2403: Subsequent variable declarations must have the same type. Variable 'g' must be of type 'string', but here has type 'any'.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,443): error TS2367: This condition will always return 'false' since the types '1' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,7): error TS2367: This condition will always return 'false' since the types '-1' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,220): error TS2367: This condition will always return 'false' since the types '0' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(43,443): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,7): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(44,220): error TS2367: This condition will always return 'false' since the types 'number' and 'string' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,403): error TS2339: Property 'diffs' does not exist on type 'typeof diff_match_patch'.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,417): error TS2339: Property 'start2' does not exist on type 'typeof diff_match_patch'.
|
||||
node_modules/chrome-devtools-frontend/front_end/diff/diff_match_patch.js(47,429): error TS2339: Property 'start1' does not exist on type 'typeof diff_match_patch'.
|
||||
@@ -10101,7 +10101,7 @@ node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.j
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(822,79): error TS2339: Property 'charAt' does not exist on type 'void'.
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(823,41): error TS2339: Property 'length' does not exist on type 'void'.
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(823,88): error TS2339: Property 'charAt' does not exist on type 'void'.
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(839,9): error TS2367: This condition will always return 'false' since the types 'void' and '0' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(839,9): error TS2367: This condition will always return 'false' since the types 'void' and 'number' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(854,9): error TS1345: An expression of type 'void' cannot be tested for truthiness
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(862,12): error TS1345: An expression of type 'void' cannot be tested for truthiness
|
||||
node_modules/chrome-devtools-frontend/front_end/source_frame/SourcesTextEditor.js(862,13): error TS1345: An expression of type 'void' cannot be tested for truthiness
|
||||
@@ -10893,7 +10893,7 @@ node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(968,62): error TS2339: Property 'offsetTop' does not exist on type 'Element'.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1003,20): error TS2345: Argument of type 'void' is not assignable to parameter of type 'Pos'.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1003,50): error TS2365: Operator '+' cannot be applied to types 'void' and 'number'.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1047,22): error TS2367: This condition will always return 'false' since the types 'void' and '1' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1047,22): error TS2367: This condition will always return 'false' since the types 'void' and 'number' have no overlap.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1052,104): error TS2339: Property 'widget' does not exist on type 'V'.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1089,41): error TS2339: Property 'top' does not exist on type 'void'.
|
||||
node_modules/chrome-devtools-frontend/front_end/text_editor/CodeMirrorTextEditor.js(1096,5): error TS2322: Type 'void' is not assignable to type 'number'.
|
||||
|
||||
@@ -1,21 +1,42 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
node_modules/@typescript-eslint/typescript-estree/dist/parser.d.ts(1,8): error TS1259: Module '"/prettier/prettier/node_modules/typescript/lib/typescript"' can only be default-imported using the 'esModuleInterop' flag
|
||||
src/cli/util.js(60,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number'.
|
||||
src/cli/util.js(119,38): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'.
|
||||
src/cli/util.js(372,29): error TS2532: Object is possibly 'undefined'.
|
||||
src/cli/util.js(372,64): error TS2339: Property 'length' does not exist on type 'Ignore'.
|
||||
src/cli/util.js(413,36): error TS2345: Argument of type '{ dot: true; nodir: boolean; }' is not assignable to parameter of type 'GlobbyOptions'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/components.d.ts(1,40): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/components/component-manager.d.ts(2,31): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/dom/attributes.d.ts(8,8): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/dom/bounds.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/dom/changes.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/dom/tree-construction.d.ts(7,8): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/arguments.d.ts(1,45): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/element.d.ts(1,36): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(1,76): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(2,36): error TS2307: Cannot find module '@glimmer/runtime'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/environment.d.ts(3,46): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(4,21): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/modifier.d.ts(6,31): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/render.d.ts(1,43): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/scope.d.ts(2,40): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/interfaces/dist/types/lib/runtime/vm.d.ts(2,31): error TS2307: Cannot find module '@glimmer/reference'.
|
||||
node_modules/@glimmer/util/dist/types/lib/destroy.d.ts(3,69): error TS2677: A type predicate's type must be assignable to its parameter's type.
|
||||
Type 'SymbolDestroyable' is not assignable to type 'Maybe<Dict<unknown>>'.
|
||||
Type 'SymbolDestroyable' is not assignable to type 'Dict<unknown>'.
|
||||
Index signature is missing in type 'SymbolDestroyable'.
|
||||
node_modules/@glimmer/util/dist/types/lib/dom.d.ts(1,31): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
node_modules/@glimmer/util/dist/types/lib/is-serialization-first-node.d.ts(1,28): error TS2307: Cannot find module '@simple-dom/interface'.
|
||||
src/cli/util.js(63,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'.
|
||||
src/cli/util.js(122,38): error TS2339: Property 'sync' does not exist on type '(...args: any[]) => any'.
|
||||
src/cli/util.js(416,36): error TS2345: Argument of type '{ dot: true; nodir: boolean; }' is not assignable to parameter of type 'GlobbyOptions'.
|
||||
Object literal may only specify known properties, and 'nodir' does not exist in type 'GlobbyOptions'.
|
||||
src/cli/util.js(452,25): error TS2532: Object is possibly 'undefined'.
|
||||
src/cli/util.js(452,52): error TS2339: Property 'length' does not exist on type 'Ignore'.
|
||||
src/cli/util.js(510,44): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number'.
|
||||
src/cli/util.js(531,37): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
|
||||
src/cli/util.js(594,16): error TS2339: Property 'type' does not exist on type 'never'.
|
||||
src/cli/util.js(595,16): error TS2339: Property 'oppositeDescription' does not exist on type 'never'.
|
||||
src/cli/util.js(596,17): error TS2339: Property 'name' does not exist on type 'never'.
|
||||
src/cli/util.js(696,22): error TS2339: Property 'name' does not exist on type 'never'.
|
||||
src/cli/util.js(696,46): error TS2339: Property 'alias' does not exist on type 'never'.
|
||||
src/cli/util.js(483,46): error TS2345: Argument of type 'null' is not assignable to parameter of type 'number | undefined'.
|
||||
src/cli/util.js(509,36): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
|
||||
src/cli/util.js(562,39): error TS2339: Property 'grey' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
|
||||
src/cli/util.js(635,16): error TS2339: Property 'type' does not exist on type 'never'.
|
||||
src/cli/util.js(636,16): error TS2339: Property 'oppositeDescription' does not exist on type 'never'.
|
||||
src/cli/util.js(637,17): error TS2339: Property 'name' does not exist on type 'never'.
|
||||
src/cli/util.js(737,22): error TS2339: Property 'name' does not exist on type 'never'.
|
||||
src/cli/util.js(737,46): error TS2339: Property 'alias' does not exist on type 'never'.
|
||||
src/common/create-ignorer.js(34,19): error TS2349: This expression is not callable.
|
||||
Type 'typeof import("/prettier/prettier/node_modules/ignore/index")' has no call signatures.
|
||||
src/common/parser-create-error.js(8,9): error TS2339: Property 'loc' does not exist on type 'SyntaxError'.
|
||||
src/config/resolve-config.js(14,12): error TS2571: Object is of type 'unknown'.
|
||||
src/config/resolve-config.js(50,16): error TS2571: Object is of type 'unknown'.
|
||||
@@ -57,13 +78,6 @@ src/language-graphql/index.js(8,62): error TS2345: Argument of type '{ override:
|
||||
src/language-handlebars/index.js(7,26): error TS2307: Cannot find module 'linguist-languages/data/handlebars'.
|
||||
src/language-handlebars/index.js(7,65): error TS2345: Argument of type '{ override: { since: null; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
|
||||
Property 'extend' is missing in type '{ override: { since: null; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
|
||||
src/language-handlebars/parser-glimmer.js(27,26): error TS2345: Argument of type '{ plugins: { ast: (() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]; }; }' is not assignable to parameter of type 'PreprocessOptions'.
|
||||
Types of property 'plugins' are incompatible.
|
||||
Type '{ ast: (() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]; }' is not assignable to type '{ ast?: ASTPluginBuilder[] | undefined; }'.
|
||||
Types of property 'ast' are incompatible.
|
||||
Type '(() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; })[]' is not assignable to type 'ASTPluginBuilder[]'.
|
||||
Type '() => { visitor: { Program(node: any): void; ElementNode(node: any): void; }; }' is not assignable to type 'ASTPluginBuilder'.
|
||||
Property 'name' is missing in type '{ visitor: { Program(node: any): void; ElementNode(node: any): void; }; }' but required in type 'ASTPlugin'.
|
||||
src/language-html/ast.js(53,11): error TS2536: Type 'Extract<keyof this, string>' cannot be used to index type 'Node'.
|
||||
src/language-html/ast.js(56,15): error TS2339: Property 'index' does not exist on type 'Node'.
|
||||
src/language-html/ast.js(56,22): error TS2339: Property 'siblings' does not exist on type 'Node'.
|
||||
@@ -114,14 +128,14 @@ src/language-html/parser-html.js(161,14): error TS2339: Property 'tagDefinition'
|
||||
src/language-html/parser-html.js(194,29): error TS2345: Argument of type '{ type: any; value: any; raw: any; }' is not assignable to parameter of type 'Node'.
|
||||
Type '{ type: any; value: any; raw: any; }' is missing the following properties from type 'Node': sourceSpan, visit
|
||||
src/language-html/preprocess.js(28,19): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
src/language-html/printer-html.js(313,13): error TS2769: No overload matches this call.
|
||||
src/language-html/printer-html.js(314,13): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-html/printer-html.js(470,11): error TS2769: No overload matches this call.
|
||||
src/language-html/printer-html.js(471,11): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Types of property 'slice' are incompatible.
|
||||
@@ -130,28 +144,28 @@ src/language-html/printer-html.js(470,11): error TS2769: No overload matches thi
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'never'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }[]' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
src/language-html/printer-html.js(491,11): error TS2769: No overload matches this call.
|
||||
src/language-html/printer-html.js(492,11): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-html/printer-html.js(514,11): error TS2769: No overload matches this call.
|
||||
src/language-html/printer-html.js(515,11): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '"" | ">" | "/>" | "}}" | "]>" | "><!--<![endif]-->" | "[endif]-->" | "]><!-->"' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '""' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-html/printer-html.js(637,55): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-html/printer-html.js(638,55): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-html/syntax-vue.js(14,11): error TS2339: Property 'left' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
|
||||
src/language-html/syntax-vue.js(14,17): error TS2339: Property 'operator' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
|
||||
src/language-html/syntax-vue.js(14,27): error TS2339: Property 'right' does not exist on type '{ left: string; operator: any; right: any; } | undefined'.
|
||||
src/language-html/utils.js(10,30): error TS2307: Cannot find module 'html-tag-names'.
|
||||
src/language-html/utils.js(11,39): error TS2307: Cannot find module 'html-element-attributes'.
|
||||
src/language-html/utils.js(441,17): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-js/comments.js(866,64): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-html/utils.js(444,17): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-js/comments.js(864,64): error TS2554: Expected 0 arguments, but got 1.
|
||||
src/language-js/index.js(9,26): error TS2307: Cannot find module 'linguist-languages/data/javascript'.
|
||||
src/language-js/index.js(19,26): error TS2307: Cannot find module 'linguist-languages/data/javascript'.
|
||||
src/language-js/index.js(19,65): error TS2345: Argument of type '{ override: { name: string; since: string; parsers: string[]; vscodeLanguageIds: string[]; aliases: never[]; filenames: never[]; extensions: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
|
||||
@@ -170,45 +184,7 @@ src/language-js/index.js(66,26): error TS2307: Cannot find module 'linguist-lang
|
||||
src/language-js/index.js(76,26): error TS2307: Cannot find module 'linguist-languages/data/json5'.
|
||||
src/language-js/index.js(76,60): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
|
||||
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
|
||||
src/language-js/printer-estree.js(262,36): error TS2304: Cannot find name 'Doc'.
|
||||
src/language-js/printer-estree.js(263,62): error TS2304: Cannot find name 'Doc'.
|
||||
src/language-js/printer-estree.js(270,12): error TS2304: Cannot find name 'FastPath'.
|
||||
src/language-js/printer-estree.js(271,12): error TS2304: Cannot find name 'Options'.
|
||||
src/language-js/printer-estree.js(397,9): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<never>': length, join, slice
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-js/printer-estree.js(1470,28): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>[]): (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; })[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>': length, join, slice
|
||||
Overload 2 of 2, '(...items: (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>)[]): (string | { ...; })[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }': id, contents, break, expandedStates
|
||||
src/language-js/printer-estree.js(1890,20): error TS2345: Argument of type '" "' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1892,20): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1894,18): error TS2345: Argument of type '"while ("' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1903,9): error TS2345: Argument of type '")"' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(2426,28): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'.
|
||||
src/language-js/printer-estree.js(3513,11): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-js/printer-estree.js(4031,23): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-js/printer-estree.js(4032,24): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-js/printer-estree.js(4360,5): error TS2345: Argument of type '"" | { type: string; parts: any; } | { type: string; contents: any; }' is not assignable to parameter of type 'string'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'string'.
|
||||
src/language-js/printer-estree.js(4364,16): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
|
||||
src/language-js/printer-estree.js(4406,9): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
|
||||
src/language-js/printer-estree.js(4708,9): error TS2554: Expected 0-2 arguments, but got 3.
|
||||
src/language-js/printer-estree.js(5939,55): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
src/language-js/printer-estree.js(5975,7): error TS2769: No overload matches this call.
|
||||
src/language-js/needs-parens.js(890,14): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error.
|
||||
Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'.
|
||||
Types of property 'slice' are incompatible.
|
||||
@@ -219,14 +195,77 @@ src/language-js/printer-estree.js(5975,7): error TS2769: No overload matches thi
|
||||
Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error.
|
||||
Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'.
|
||||
Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'.
|
||||
src/language-js/printer-estree.js(265,36): error TS2304: Cannot find name 'Doc'.
|
||||
src/language-js/printer-estree.js(266,62): error TS2304: Cannot find name 'Doc'.
|
||||
src/language-js/printer-estree.js(273,12): error TS2304: Cannot find name 'FastPath'.
|
||||
src/language-js/printer-estree.js(274,12): error TS2304: Cannot find name 'Options'.
|
||||
src/language-js/printer-estree.js(400,9): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<never>': length, join, slice
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; } | { type: string; contents: any; n: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-js/printer-estree.js(1472,28): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>[]): (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; })[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type 'ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>': length, join, slice
|
||||
Overload 2 of 2, '(...items: (string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>)[]): (string | { ...; })[]', gave the following error.
|
||||
Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; } | ConcatArray<string | { type: string; id: any; contents: any; break: boolean; expandedStates: any; }>'.
|
||||
Type '{ type: string; parts: any; }' is missing the following properties from type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }': id, contents, break, expandedStates
|
||||
src/language-js/printer-estree.js(1905,20): error TS2345: Argument of type '" "' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1907,20): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1909,18): error TS2345: Argument of type '"while ("' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(1918,9): error TS2345: Argument of type '")"' is not assignable to parameter of type '{ type: string; id: any; contents: any; break: boolean; expandedStates: any; }'.
|
||||
src/language-js/printer-estree.js(3464,11): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
Overload 2 of 2, '(...items: ConcatArray<never>[]): never[]', gave the following error.
|
||||
Argument of type 'never[] | { type: string; parts: any; }' is not assignable to parameter of type 'ConcatArray<never>'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'ConcatArray<never>'.
|
||||
src/language-js/printer-estree.js(3893,22): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'.
|
||||
src/language-js/printer-estree.js(3960,14): error TS2339: Property 'comments' does not exist on type 'Expression'.
|
||||
Property 'comments' does not exist on type 'Identifier'.
|
||||
src/language-js/printer-estree.js(3972,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"OptionalMemberExpression"' have no overlap.
|
||||
src/language-js/printer-estree.js(3973,13): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
|
||||
Property 'property' does not exist on type 'SimpleLiteral'.
|
||||
src/language-js/printer-estree.js(3973,52): error TS2339: Property 'property' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
|
||||
Property 'property' does not exist on type 'SimpleLiteral'.
|
||||
src/language-js/printer-estree.js(3978,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"OptionalMemberExpression"' have no overlap.
|
||||
src/language-js/printer-estree.js(3980,29): error TS2339: Property 'object' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
|
||||
Property 'object' does not exist on type 'SimpleLiteral'.
|
||||
src/language-js/printer-estree.js(3981,22): error TS2339: Property 'comments' does not exist on type 'SimpleLiteral | RegExpLiteral | FunctionExpression | ArrowFunctionExpression | ArrayExpression | ObjectExpression | YieldExpression | UnaryExpression | UpdateExpression | ... 12 more ... | AwaitExpression'.
|
||||
Property 'comments' does not exist on type 'SimpleLiteral'.
|
||||
src/language-js/printer-estree.js(3987,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"Identifier"' have no overlap.
|
||||
src/language-js/printer-estree.js(3988,9): error TS2367: This condition will always return 'false' since the types '"FunctionExpression" | "ClassExpression" | "ObjectExpression" | "TaggedTemplateExpression" | "CallExpression" | "ConditionalExpression" | "UpdateExpression" | "SequenceExpression" | ... 11 more ... | "MetaProperty"' and '"ThisExpression"' have no overlap.
|
||||
src/language-js/printer-estree.js(4192,23): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-js/printer-estree.js(4193,24): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-js/printer-estree.js(4546,5): error TS2345: Argument of type '"" | { type: string; parts: any; } | { type: string; contents: any; }' is not assignable to parameter of type 'string'.
|
||||
Type '{ type: string; parts: any; }' is not assignable to type 'string'.
|
||||
src/language-js/printer-estree.js(4550,16): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
|
||||
src/language-js/printer-estree.js(4592,9): error TS2345: Argument of type '{ type: string; parts: any; }' is not assignable to parameter of type 'string'.
|
||||
src/language-js/printer-estree.js(4894,9): error TS2554: Expected 0-2 arguments, but got 3.
|
||||
src/language-js/printer-estree.js(6101,7): error TS2769: No overload matches this call.
|
||||
Overload 1 of 2, '(...items: ConcatArray<(childPath: any) => any>[]): ((childPath: any) => any)[]', gave the following error.
|
||||
Argument of type '(string | number)[]' is not assignable to parameter of type 'ConcatArray<(childPath: any) => any>'.
|
||||
Types of property 'slice' are incompatible.
|
||||
Type '(start?: number | undefined, end?: number | undefined) => (string | number)[]' is not assignable to type '(start?: number | undefined, end?: number | undefined) => ((childPath: any) => any)[]'.
|
||||
Type '(string | number)[]' is not assignable to type '((childPath: any) => any)[]'.
|
||||
Type 'string | number' is not assignable to type '(childPath: any) => any'.
|
||||
Type 'string' is not assignable to type '(childPath: any) => any'.
|
||||
Overload 2 of 2, '(...items: (((childPath: any) => any) | ConcatArray<(childPath: any) => any>)[]): ((childPath: any) => any)[]', gave the following error.
|
||||
Argument of type '(string | number)[]' is not assignable to parameter of type '((childPath: any) => any) | ConcatArray<(childPath: any) => any>'.
|
||||
Type '(string | number)[]' is not assignable to type 'ConcatArray<(childPath: any) => any>'.
|
||||
src/language-js/utils.js(107,55): error TS2554: Expected 0-1 arguments, but got 2.
|
||||
src/language-markdown/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/markdown'.
|
||||
src/language-markdown/index.js(20,5): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
|
||||
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
|
||||
src/language-markdown/printer-markdown.js(270,18): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/printer-markdown.js(271,17): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/printer-markdown.js(292,14): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/printer-markdown.js(278,18): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/printer-markdown.js(279,17): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/printer-markdown.js(300,14): error TS2532: Object is possibly 'undefined'.
|
||||
src/language-markdown/utils.js(203,5): error TS2322: Type 'never[]' is not assignable to type 'null'.
|
||||
src/language-markdown/utils.js(208,39): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'null'.
|
||||
src/language-markdown/utils.js(213,47): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'null'.
|
||||
src/language-yaml/index.js(8,26): error TS2307: Cannot find module 'linguist-languages/data/yaml'.
|
||||
src/language-yaml/index.js(8,59): error TS2345: Argument of type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' is not assignable to parameter of type '{ extend: any; override: any; }'.
|
||||
Property 'extend' is missing in type '{ override: { since: string; parsers: string[]; vscodeLanguageIds: string[]; }; }' but required in type '{ extend: any; override: any; }'.
|
||||
@@ -270,11 +309,11 @@ src/main/core-options.js(251,9): error TS2322: Type '[{ since: string; value: fa
|
||||
Object literal may only specify known properties, and 'since' does not exist in type '{ value: (string | number | boolean)[]; }'.
|
||||
src/main/core-options.js(254,5): error TS2322: Type 'string' is not assignable to type 'boolean | null'.
|
||||
src/main/core-options.js(259,3): error TS2740: Type '{ since: string; category: string; type: "boolean"; default: false; description: string; }' is missing the following properties from type 'OptionInfo': array, deprecated, redirect, oppositeDescription, and 3 more.
|
||||
src/main/core.js(304,34): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(304,47): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(309,28): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(309,72): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(317,14): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(303,34): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(303,47): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(308,28): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(308,72): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/core.js(316,14): error TS2538: Type 'false' cannot be used as an index type.
|
||||
src/main/options-normalizer.js(35,35): error TS2339: Property 'yellow' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
|
||||
src/main/options-normalizer.js(36,35): error TS2339: Property 'blue' does not exist on type 'typeof import("../../../node_modules/chalk/types/index")'.
|
||||
src/main/options-normalizer.js(54,5): error TS2525: Initializer provides no value for this binding element and the binding element has no default value.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
lib/Accessibility.js(118,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Accessibility.js(310,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(134,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Accessibility.js(341,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
|
||||
Type 'string' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(333,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(364,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
|
||||
Type 'string' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(345,7): error TS2322: Type 'boolean | "mixed"' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(376,7): error TS2322: Type 'boolean | "mixed"' is not assignable to type 'never'.
|
||||
Type 'false' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(356,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(387,7): error TS2322: Type 'string | number | boolean' is not assignable to type 'never'.
|
||||
Type 'string' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(369,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(400,7): error TS2322: Type 'string | number | true' is not assignable to type 'never'.
|
||||
Type 'string' is not assignable to type 'never'.
|
||||
lib/Accessibility.js(375,22): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Accessibility.js(406,22): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Browser.js(109,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Browser.js(116,58): error TS2322: Type 'Promise<CDPSession>' is not assignable to type 'Promise<Puppeteer.CDPSession>'.
|
||||
Type 'CDPSession' is not assignable to type 'Puppeteer.CDPSession'.
|
||||
@@ -21,30 +21,28 @@ lib/Coverage.js(115,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Coverage.js(208,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/EmulationManager.js(36,16): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/ExecutionContext.js(26,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/ExecutionContext.js(157,18): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(29,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(132,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(154,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(211,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(649,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/ExecutionContext.js(158,18): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(152,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(174,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(231,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/FrameManager.js(669,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/JSHandle.js(33,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/JSHandle.js(129,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/JSHandle.js(216,29): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/JSHandle.js(220,29): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(31,30): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(136,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(156,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(194,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(215,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(225,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(239,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(252,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(271,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(295,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(514,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(654,13): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(689,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(71,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(112,33): error TS2345: Argument of type 'CDPSession' is not assignable to parameter of type 'Puppeteer.CDPSession'.
|
||||
lib/NetworkManager.js(165,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(184,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(203,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(224,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(245,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(255,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(269,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(282,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(301,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(325,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(535,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/NetworkManager.js(674,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(93,33): error TS2345: Argument of type 'CDPSession' is not assignable to parameter of type 'Puppeteer.CDPSession'.
|
||||
Types of property 'on' are incompatible.
|
||||
Type '(event: string | symbol, listener: (...args: any[]) => void) => CDPSession' is not assignable to type '<T extends string | number | symbol>(event: T, listener: (arg: any) => void) => CDPSession'.
|
||||
Types of parameters 'event' and 'event' are incompatible.
|
||||
@@ -54,21 +52,22 @@ lib/Page.js(112,33): error TS2345: Argument of type 'CDPSession' is not assignab
|
||||
Type 'T' is not assignable to type 'symbol'.
|
||||
Type 'string | number | symbol' is not assignable to type 'symbol'.
|
||||
Type 'string' is not assignable to type 'symbol'.
|
||||
lib/Page.js(189,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(284,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(369,20): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(432,7): error TS2740: Type '(...args: any[]) => Promise<any>' is missing the following properties from type 'Window': applicationCache, caches, clientInformation, closed, and 227 more.
|
||||
lib/Page.js(442,9): error TS2349: This expression is not callable.
|
||||
lib/Page.js(146,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(219,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(387,20): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(450,7): error TS2740: Type '(...args: any[]) => Promise<any>' is missing the following properties from type 'Window': applicationCache, caches, clientInformation, closed, and 227 more.
|
||||
lib/Page.js(460,9): error TS2349: This expression is not callable.
|
||||
Type 'Window' has no call signatures.
|
||||
lib/Page.js(478,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(488,22): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(501,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(511,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(536,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(589,14): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(890,19): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Target.js(22,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Target.js(118,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(496,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(506,22): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(519,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(529,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(554,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(607,14): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(908,19): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Page.js(1309,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Target.js(23,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Target.js(135,15): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Worker.js(25,50): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Worker.js(26,24): error TS2503: Cannot find namespace 'Protocol'.
|
||||
lib/Worker.js(33,26): error TS2503: Cannot find namespace 'Protocol'.
|
||||
|
||||
@@ -54,7 +54,7 @@ node_modules/uglify-js/lib/compress.js(5101,25): error TS2403: Subsequent variab
|
||||
node_modules/uglify-js/lib/compress.js(5105,36): error TS2532: Object is possibly 'undefined'.
|
||||
node_modules/uglify-js/lib/compress.js(5110,41): error TS2339: Property 'get' does not exist on type 'string'.
|
||||
node_modules/uglify-js/lib/compress.js(5623,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned.
|
||||
node_modules/uglify-js/lib/compress.js(6134,25): error TS2367: This condition will always return 'false' since the types 'boolean' and '"f"' have no overlap.
|
||||
node_modules/uglify-js/lib/compress.js(6134,25): error TS2367: This condition will always return 'false' since the types 'boolean' and 'string' have no overlap.
|
||||
node_modules/uglify-js/lib/compress.js(6161,47): error TS2554: Expected 0 arguments, but got 1.
|
||||
node_modules/uglify-js/lib/compress.js(6234,39): error TS2554: Expected 0 arguments, but got 1.
|
||||
node_modules/uglify-js/lib/compress.js(6306,39): error TS2554: Expected 0 arguments, but got 1.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Exit Code: 1
|
||||
Standard output:
|
||||
../../../../../built/local/lib.dom.d.ts(19046,19): error TS2451: Cannot redeclare block-scoped variable 'WebAssembly'.
|
||||
declarations.d.ts(258,15): error TS2451: Cannot redeclare block-scoped variable 'WebAssembly'.
|
||||
lib/Compilation.js(538,5): error TS2322: Type 'Readonly<{ error: string; warn: string; info: string; log: string; debug: string; trace: string; group: string; groupCollapsed: string; groupEnd: string; profile: string; profileEnd: string; time: string; clear: string; status: string; }>' is not assignable to type 'string'.
|
||||
lib/Compiler.js(228,48): error TS2345: Argument of type 'Readonly<{ error: string; warn: string; info: string; log: string; debug: string; trace: string; group: string; groupCollapsed: string; groupEnd: string; profile: string; profileEnd: string; time: string; clear: string; status: string; }>' is not assignable to parameter of type 'string'.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
// @lib: es2015
|
||||
// @strict: true
|
||||
// @noImplicitAny: false
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @noEmit: true
|
||||
|
||||
// @fileName: jsdocArrayObjectPromiseImplicitAny.js
|
||||
/** @type {Array} */
|
||||
var anyArray = [5];
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnAnyArray(arr) {
|
||||
return arr;
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var anyPromise = Promise.resolve(5);
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnAnyPromise(pr) {
|
||||
return pr;
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var anyObject = {valueOf: 1}; // not an error since assigning to any.
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnAnyObject(obj) {
|
||||
return obj;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
// @lib: es2015
|
||||
// @strict: true
|
||||
// @allowJs: true
|
||||
// @checkJs: true
|
||||
// @noEmit: true
|
||||
|
||||
// @fileName: jsdocArrayObjectPromiseNoImplicitAny.js
|
||||
/** @type {Array} */
|
||||
var notAnyArray = [5];
|
||||
|
||||
/** @type {Array<number>} */
|
||||
var numberArray = [5];
|
||||
|
||||
/**
|
||||
* @param {Array} arr
|
||||
* @return {Array}
|
||||
*/
|
||||
function returnNotAnyArray(arr) {
|
||||
return arr;
|
||||
}
|
||||
|
||||
/** @type {Promise} */
|
||||
var notAnyPromise = Promise.resolve(5);
|
||||
|
||||
/** @type {Promise<number>} */
|
||||
var numberPromise = Promise.resolve(5);
|
||||
|
||||
/**
|
||||
* @param {Promise} pr
|
||||
* @return {Promise}
|
||||
*/
|
||||
function returnNotAnyPromise(pr) {
|
||||
return pr;
|
||||
}
|
||||
|
||||
/** @type {Object} */
|
||||
var notAnyObject = {valueOf: 1}; // error since assigning to Object, not any.
|
||||
|
||||
/** @type {Object<string, number>} */
|
||||
var paramedObject = {valueOf: 1};
|
||||
|
||||
/**
|
||||
* @param {Object} obj
|
||||
* @return {Object}
|
||||
*/
|
||||
function returnNotAnyObject(obj) {
|
||||
return obj;
|
||||
}
|
||||
@@ -10,7 +10,7 @@
|
||||
* @param {string} unrelated - not actually related because it's not notSpecial.unrelated
|
||||
*/
|
||||
function normal(notSpecial) {
|
||||
notSpecial; // should just be 'any'
|
||||
notSpecial; // should just be 'Object'
|
||||
}
|
||||
normal(12);
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// @strict: true
|
||||
// @target: esnext
|
||||
|
||||
declare const b: boolean;
|
||||
declare const s: string;
|
||||
@@ -51,3 +52,29 @@ foo(x);
|
||||
|
||||
declare function bar<T>(x: T, y: string | T): T;
|
||||
const y = bar(1, 2);
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
const containsPromises: unique symbol = Symbol();
|
||||
|
||||
type DeepPromised<T> =
|
||||
{ [containsPromises]?: true } &
|
||||
{ [TKey in keyof T]: T[TKey] | DeepPromised<T[TKey]> | Promise<DeepPromised<T[TKey]>> };
|
||||
|
||||
async function fun<T>(deepPromised: DeepPromised<T>) {
|
||||
const deepPromisedWithIndexer: DeepPromised<{ [name: string]: {} | null | undefined }> = deepPromised;
|
||||
for (const value of Object.values(deepPromisedWithIndexer)) {
|
||||
const awaitedValue = await value;
|
||||
if (awaitedValue)
|
||||
await fun(awaitedValue);
|
||||
}
|
||||
}
|
||||
|
||||
// Repro from #32752
|
||||
|
||||
type Deep<T> = { [K in keyof T]: T[K] | Deep<T[K]> };
|
||||
|
||||
declare function baz<T>(dp: Deep<T>): T;
|
||||
declare let xx: { a: string | undefined };
|
||||
|
||||
baz(xx);
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>
|
||||
|
||||
// @Filename: /dir/jsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// }
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/jsconfig.json":
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"jsx": "react",
|
||||
}
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,23 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>;
|
||||
|
||||
// @Filename: /dir/tsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// }
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/tsconfig.json":
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"jsx": "react",
|
||||
}
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>;
|
||||
|
||||
// @Filename: /dir/jsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "jsx": false,
|
||||
//// }
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/jsconfig.json":
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"jsx": "react",
|
||||
}
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>
|
||||
|
||||
// @Filename: /dir/tsconfig.json
|
||||
////{
|
||||
//// "compilerOptions": {
|
||||
//// "jsx": false,
|
||||
//// }
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/tsconfig.json":
|
||||
`{
|
||||
"compilerOptions": {
|
||||
"jsx": "react",
|
||||
}
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>
|
||||
|
||||
// @Filename: /dir/jsconfig.json
|
||||
////{
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/jsconfig.json":
|
||||
`{
|
||||
"compilerOptions": { "jsx": "react" },
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,19 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>
|
||||
|
||||
// @Filename: /dir/tsconfig.json
|
||||
////{
|
||||
////}
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.codeFix({
|
||||
description: "Enable the '--jsx' flag in your configuration file",
|
||||
newFileContent: {
|
||||
"/dir/tsconfig.json":
|
||||
`{
|
||||
"compilerOptions": { "jsx": "react" },
|
||||
}`,
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,7 @@
|
||||
/// <reference path='fourslash.ts' />
|
||||
|
||||
// @Filename: /dir/a.tsx
|
||||
////export const Component = () => <></>
|
||||
|
||||
goTo.file("/dir/a.tsx");
|
||||
verify.not.codeFixAvailable();
|
||||
@@ -0,0 +1,10 @@
|
||||
///<reference path="fourslash.ts" />
|
||||
//// /**
|
||||
//// * @template {string} K/**/ a golden opportunity
|
||||
//// */
|
||||
//// function Multimap(iv) {
|
||||
//// };
|
||||
|
||||
|
||||
goTo.marker('');
|
||||
verify.quickInfoIs("any");
|
||||
Submodule tests/cases/user/axios-src/axios-src updated: 21ae22dbd3...2ee3b48245
Submodule tests/cases/user/create-react-app/create-react-app updated: dc74990b89...24780bbc60
Submodule tests/cases/user/prettier/prettier updated: 1e471a0079...2314640485
Submodule tests/cases/user/puppeteer/puppeteer updated: 2c6df6ddd1...498492d4a3
Submodule tests/cases/user/webpack/webpack updated: dc26688731...8748eee7f8
Reference in New Issue
Block a user