-
Notifications
You must be signed in to change notification settings - Fork 12.8k
🤖 User test baselines have changed #26490
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🤖 User test baselines have changed #26490
Conversation
2693436
to
28c4461
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still need to check the rest of chrome-devtools' failures, but I filed one bug and also need to delete var Animations = {}
from chrome-devtools' definitions.js shim.
@@ -27,8 +27,6 @@ lib/FrameManager.js(127,15): error TS2503: Cannot find namespace 'Protocol'. | |||
lib/FrameManager.js(685,57): error TS2345: Argument of type 'string | number | Function' is not assignable to parameter of type 'number'. | |||
Type 'string' is not assignable to type 'number'. | |||
lib/FrameManager.js(773,15): error TS2503: Cannot find namespace 'Protocol'. | |||
lib/NetworkManager.js(82,5): error TS2322: Type '{}' is not assignable to type '{ [x: string]: string; }'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix from puppeteer's side.
node_modules/npm/lib/uninstall.js(46,50): error TS2339: Property 'run' does not exist on type 'Uninstaller'. | ||
node_modules/npm/lib/uninstall.js(51,27): error TS2507: Type 'typeof Installer' is not a constructor function type. | ||
node_modules/npm/lib/uninstall.js(70,36): error TS2339: Property 'idealTree' does not exist on type 'Uninstaller'. | ||
node_modules/npm/lib/uninstall.js(69,11): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will be fixed tonight
@@ -326,6 +326,8 @@ node_modules/npm/lib/help.js(196,26): error TS2339: Property 'commands' does not | |||
node_modules/npm/lib/help.js(197,22): error TS2339: Property 'deref' does not exist on type 'typeof EventEmitter'. | |||
node_modules/npm/lib/help.js(199,14): error TS2345: Argument of type 'any[]' is not assignable to parameter of type 'never'. | |||
node_modules/npm/lib/help.js(199,22): error TS2339: Property 'commands' does not exist on type 'typeof EventEmitter'. | |||
node_modules/npm/lib/help.js(206,33): error TS2339: Property 'length' does not exist on type 'never'. | |||
node_modules/npm/lib/help.js(207,14): error TS2339: Property 'split' does not exist on type 'never'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No more implicit any when indexing never (repros in ts too):
function f(l: never, x: any) {
var x = l[0] // should be implicit any error here
x.length // and no error here
}
With noImplicitAny on, you should get a noImplicitAny error, and instead you get an error on the next line that 'length' does not exist on type 'never'.
Filed #26493
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Intended effect of #26340
node_modules/chrome-devtools-frontend/front_end/cm_headless/headlesscodemirror.js(74,1): error TS2719: Type 'typeof StringStream' is not assignable to type 'typeof StringStream'. Two different types with this name exist, but they are unrelated. | ||
Type 'StringStream' is not assignable to type 'StringStream & { backUp: (n: any) => void; column: () => void; current: () => void; eat: (match: any) => void; eatSpace: () => void; eatWhile: (match: any) => void; eol: () => void; indentation: () => void; ... 5 more ...; sol: () => void; }'. | ||
Type 'StringStream' is not assignable to type '{ backUp: (n: any) => void; column: () => void; current: () => void; eat: (match: any) => void; eatSpace: () => void; eatWhile: (match: any) => void; eol: () => void; indentation: () => void; match: (pattern: string | RegExp, consume?: boolean, caseInsensitive?: boolean) => void; ... 4 more ...; sol: () => void; }'. | ||
Property 'backUp' is missing in type 'StringStream'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from yesterday, already tracked by a bug
@@ -14,6 +14,8 @@ Standard output: | |||
../../../../built/local/lib.es5.d.ts(1346,11): error TS2300: Duplicate identifier 'ArrayLike'. | |||
../../../../built/local/lib.es5.d.ts(1382,6): error TS2300: Duplicate identifier 'Record'. | |||
../../../../node_modules/@types/node/index.d.ts(150,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'module' must be of type '{}', but here has type 'NodeModule'. | |||
definitions.js(3,5): error TS2322: Type '{}' is not assignable to type 'typeof Animation'. | |||
Property 'AnimationGroupPreviewUI' is missing in type '{}'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
new, apparently we can now resolve Animation's real declaration in the DOM (maybe this is a result of a recent DOM change?). The fix is to delete var Animation = {}
from definitions.js.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR is now available at #26494
@@ -29,6 +31,8 @@ node_modules/chrome-devtools-frontend/front_end/Runtime.js(270,9): error TS2322: | |||
Type 'void' is not assignable to type 'undefined'. | |||
node_modules/chrome-devtools-frontend/front_end/Runtime.js(280,5): error TS2322: Type 'Promise<void>' is not assignable to type 'Promise<undefined>'. | |||
node_modules/chrome-devtools-frontend/front_end/Runtime.js(283,7): error TS2554: Expected 2-3 arguments, but got 1. | |||
node_modules/chrome-devtools-frontend/front_end/Runtime.js(527,9): error TS2322: Type 'Function' is not assignable to type 'new () => any'. | |||
Type 'Function' provides no match for the signature 'new (): any'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function isn't assignable to new(): any
anymore. Not sure why yet, but seems correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think something else was hiding this error, because it's in an error in TS and JS, and has been for a while.
@@ -218,15 +222,6 @@ node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityNodeV | |||
node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityNodeView.js(522,20): error TS2339: Property 'createTextChild' does not exist on type 'Element'. | |||
node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityNodeView.js(535,24): error TS2694: Namespace 'Protocol' has no exported member 'Accessibility'. | |||
node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilityNodeView.js(619,26): error TS2339: Property 'removeChildren' does not exist on type 'Element'. | |||
node_modules/chrome-devtools-frontend/front_end/accessibility/AccessibilitySidebarView.js(15,37): error TS2345: Argument of type 'AXBreadcrumbsPane' is not assignable to parameter of type '{ viewId(): string; title(): string; isCloseable(): boolean; isTransient(): boolean; toolbarItems(): Promise<({ item(): any & any; } & { item(): any & any; })[]>; widget(): Promise<Widget>; disposeView(): void; }'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like these were previously being compared with excess property checking, which makes no sense for a class source and target. This is an improvement.
Property '_callback' does not exist on type '{ renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T, index: number): void; beginEdit(item: T): Editor<T>; commitEdit(item: T, editor: Editor<T>, isNew: boolean): void; }'. | ||
node_modules/chrome-devtools-frontend/front_end/devices/DevicesView.js(286,5): error TS2322: Type 'ListWidget<any>' is not assignable to type '{ renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T, index: number): void; beginEdit(item: T): Editor<T>; commitEdit(item: T, editor: Editor<T>, isNew: boolean): void; } & { ...; }'. | ||
Type 'ListWidget<any>' is not assignable to type '{ renderItem(item: T, editable: boolean): Element; removeItemRequested(item: T, index: number): void; beginEdit(item: T): Editor<T>; commitEdit(item: T, editor: Editor<T>, isNew: boolean): void; }'. | ||
Property 'renderItem' is missing in type 'ListWidget<any>'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exposed by excess property check removal.
Wow, this is a bad one:
var UI = {}
UI.ListWidget = class { };
UI.ListWidget.Delegate = function() {};
UI.ListWidget.Delegate.prototype = {
renderItem() {},
};
/** @type {UI.ListWidget} */
var l = new UI.ListWidget();
The type of l
isn't UI.ListWidget
, but { renderItem() {} } & { renderItem() {} }
-- the structural type of UI.ListWidget.Delegate, duplicated.
Filed #26496
Types of property 'itemForIndex' are incompatible. | ||
Type '(index: number) => HeapSnapshotEdge' is not assignable to type '(newIndex: number) => { itemIndex(): number; serialize(): any; }'. | ||
Type 'HeapSnapshotEdge' is not assignable to type '{ itemIndex(): number; serialize(): any; }'. | ||
Property '_snapshot' does not exist on type '{ itemIndex(): number; serialize(): any; }'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing the excess property error exposes a deeper excess property error.
@@ -8280,20 +8173,16 @@ node_modules/chrome-devtools-frontend/front_end/persistence/EditFileSystemView.j | |||
node_modules/chrome-devtools-frontend/front_end/persistence/EditFileSystemView.js(285,26): error TS2339: Property 'createChild' does not exist on type 'Element'. | |||
node_modules/chrome-devtools-frontend/front_end/persistence/FileSystemMapping.js(65,22): error TS2694: Namespace 'Common' has no exported member 'Event'. | |||
node_modules/chrome-devtools-frontend/front_end/persistence/FileSystemMapping.js(73,22): error TS2694: Namespace 'Common' has no exported member 'Event'. | |||
node_modules/chrome-devtools-frontend/front_end/persistence/FileSystemMapping.js(180,46): error TS2339: Property 'remove' does not exist on type 'Entry[]'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are no longer ignoring the type annotation on
/** @type {!Object.<string, !Array.<!Persistence.FileSystemMapping.Entry>>} */
this._fileSystemMappings = {};
so we know that Array has no method remove. This is a good error.
node_modules/chrome-devtools-frontend/front_end/profiler/ProfilesPanel.js(397,35): error TS2345: Argument of type 'this' is not assignable to parameter of type '{ showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any, perspectiveName: string): void; }'. | ||
Type 'ProfilesPanel' is not assignable to type '{ showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any, perspectiveName: string): void; }'. | ||
Property '_profileTypes' does not exist on type '{ showProfile(profile: ProfileHeader): Widget; showObject(snapshotObjectId: any, perspectiveName: string): void; }'. | ||
node_modules/chrome-devtools-frontend/front_end/profiler/ProfilesPanel.js(494,9): error TS2322: Type 'ProfileGroupSidebarTreeElement' is not assignable to type 'this'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same: we now use the declared type of a maplike.
Types of property 'createElementForItem' are incompatible. | ||
Type '(item: number) => Element' is not assignable to type '(item: T) => Element'. | ||
Types of parameters 'item' and 'item' are incompatible. | ||
Type 'T' is not assignable to type 'number'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this exposes the bug that we don't treat class type parameters correctly in methods that are part of a prototype assignment. See #24230
@@ -11279,6 +11076,8 @@ node_modules/chrome-devtools-frontend/front_end/sources/JavaScriptBreakpointsSid | |||
node_modules/chrome-devtools-frontend/front_end/sources/JavaScriptBreakpointsSidebarPane.js(203,26): error TS2555: Expected at least 2 arguments, but got 1. | |||
node_modules/chrome-devtools-frontend/front_end/sources/JavaScriptBreakpointsSidebarPane.js(206,28): error TS2555: Expected at least 2 arguments, but got 1. | |||
node_modules/chrome-devtools-frontend/front_end/sources/JavaScriptCompilerPlugin.js(51,5): error TS2322: Type 'Timer' is not assignable to type 'number'. | |||
node_modules/chrome-devtools-frontend/front_end/sources/JavaScriptSourceFrame.js(60,50): error TS2345: Argument of type 'Event' is not assignable to parameter of type 'MouseEvent | KeyboardEvent'. | |||
Type 'Event' is not assignable to type 'KeyboardEvent'. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably comes from DOM change?
I'm going to merge these changes just so future changes are easier to diff. I think the failures are tracked well enough right now. |
Please review the diff and merge if no changes are unexpected.
You can view the build log here.
cc @weswigham @sandersn @RyanCavanaugh