Repository navigation
馃 User test baselines have changed - #32991
TypeScript Bot (typescript-bot) wants to merge 1 commit into
Conversation
08ea9d0 to
d99788c
Compare
Nathan Shively-Sanders (sandersn)
left a comment
There was a problem hiding this comment.
Open issues:
- chrome-devtools-frontend crashes with an assert in mergeJSSymbols, in which a symbol is being merged into itself.
- constructor function member resolution is broken/unstable in acorn.
- puppeteer wants Worker from lib.dom.d.ts to be compatible with @types/node@8.10.51.
(3) isn't that important except that I don't know why it changed today.
| node_modules/acorn/dist/acorn.es.js(3026,14): error TS2339: Property 'value' does not exist on type 'TokenType'. | ||
| node_modules/acorn/dist/acorn.es.js(3026,40): error TS2339: Property 'inGeneratorContext' does not exist on type 'TokenType'. | ||
| node_modules/acorn/dist/acorn.es.js(3029,8): error TS2339: Property 'exprAllowed' does not exist on type 'TokenType'. | ||
| node_modules/acorn/dist/acorn.es.js(3590,26): error TS2339: Property 'validFlags' does not exist on type 'RegExpValidationState'. |
There was a problem hiding this comment.
some members are not resolved outside RegExpValidationState methods anymore. The language service also seems to be unstable inside methods -- if you get quick info on this.flags/**/, you get nothing, but get quick info on this/**/.flags then this.flags/**/ and you get the correct symbol.
There was a problem hiding this comment.
Filed #33013 to track this.
| node_modules/bluebird/js/release/using.js(97,23): error TS2339: Property 'data' does not exist on type 'FunctionDisposer'. | ||
| node_modules/bluebird/js/release/using.js(131,72): error TS2339: Property 'classString' does not exist on type 'typeof ret'. | ||
| node_modules/bluebird/js/release/using.js(223,15): error TS2350: Only a void function can be called with the 'new' keyword. | ||
| node_modules/bluebird/js/release/util.js(200,32): error TS2339: Property 'foo' does not exist on type 'FakeConstructor'. |
There was a problem hiding this comment.
better (?) type checking leads us to find an any for FakeConstructor.prototype, meaning that any property accesses are allowed:
function toFastProperties(obj) {
function FakeConstructor() { }
FakeConstructor.prototype = obj;
var receiver = new FakeConstructor();
return receiver.foo;
}| Type 'Function' has no construct signatures. | ||
| node_modules/lodash/_cloneBuffer.js(4,69): error TS2339: Property 'nodeType' does not exist on type '(buffer: any, isDeep?: boolean | undefined) => any'. | ||
| node_modules/lodash/_cloneBuffer.js(7,80): error TS2339: Property 'nodeType' does not exist on type '{ "../../../tests/cases/user/lodash/node_modules/lodash/_cloneBuffer": (buffer: any, isDeep?: boolean | undefined) => any; }'. | ||
| node_modules/lodash/_cloneBuffer.js(22,14): error TS2577: Return type annotation circularly references itself. |
There was a problem hiding this comment.
better symbol construction avoids circularity -- tests showed this too I think.
| node_modules/npm/lib/npm.js(445,34): error TS2339: Property 'commands' does not exist on type 'typeof EventEmitter'. | ||
| node_modules/npm/lib/npm.js(460,13): error TS2339: Property 'commands' does not exist on type 'typeof EventEmitter'. | ||
| node_modules/npm/lib/npm.js(465,7): error TS2367: This condition will always return 'false' since the types 'NodeModule | undefined' and '{ "../../../tests/cases/user/npm/node_modules/npm/lib/npm": typeof EventEmitter; }' have no overlap. | ||
| node_modules/npm/lib/npm.js(465,7): error TS2367: This condition will always return 'false' since the types 'NodeModule | undefined' and '{ "../../../tests/cases/user/npm/node_modules/npm/lib/npm": typeof internal.EventEmitter; }' have no overlap. |
There was a problem hiding this comment.
from the namespace-printing change
| @@ -1,8 +0,0 @@ | |||
| Exit Code: 1 | |||
| Standard output: | |||
| 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'. | |||
There was a problem hiding this comment.
enum fix
| node_modules/uglify-js/lib/propmangle.js(94,30): error TS2554: Expected 0 arguments, but got 1. | ||
| node_modules/uglify-js/lib/propmangle.js(146,29): error TS2554: Expected 0 arguments, but got 1. | ||
| node_modules/uglify-js/lib/scope.js(88,21): error TS2339: Property 'defun' does not exist on type 'SymbolDef'. | ||
| node_modules/uglify-js/lib/scope.js(88,35): error TS2339: Property 'defun' does not exist on type 'SymbolDef'. |
There was a problem hiding this comment.
leave it uglify to choose names from COMMON LISP.
I'm not sure why this wasn't an error before; defun is not assigned in the body of any SymbolDef method, only in random functions elsewhere in the module. It could be that checking of the SymbolDef.prototype object literal is correctly delayed so that it doesn't turn up any.
| 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(87,7): error TS2322: Type 'Promise<Worker | Worker>' is not assignable to type 'Promise<Worker>'. |
There was a problem hiding this comment.
Worker from lib.dom.d.ts isn't compatible with Worker from @types/node^8.10.51.
|
Puppeteer's Worker confusion is from the getTypeFromTypeReference fix: previously, Now, This seems wrong. I'll poke around and file a bug if I convince myself that's the case. |
|
Filed ##32993 to track (3). |
|
(1) is a result of some incorrect binding, I think. Filed #32997 to track it. |
d99788c to
1d5585b
Compare
Please review the diff and merge if no changes are unexpected.
You can view the build log here.
cc Wesley Wigham (@weswigham) Nathan Shively-Sanders (@sandersn) Ryan Cavanaugh (@RyanCavanaugh)