-
Notifications
You must be signed in to change notification settings - Fork 208
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
no more maxNodeModuleJsDepth #6369
Conversation
Do we know for sure that symlinks work the same as regular |
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.
Squee.
Not yet. This won't pass until the changes in endojs/endo#1307 are available in NPM. Looks like rn that will take a release crank. @kriskowal could we get |
fcc6573
to
7c96d99
Compare
7c96d99
to
17e91dc
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.
Blocker is the import
of d.ts
file. I also would like to understand why that didn't cause any test to fail.
@@ -80,6 +80,8 @@ export const makeAsyncIterableFromNotifier = notifierP => { | |||
return harden({ value, done }); | |||
}); | |||
} | |||
// xxx hint for type checker | |||
assert(myIterationResultP); |
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.
Ugh that's weird. Why doesn't flow control realize that myIterationResultP
is never undefined
here?
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.
Yeah, it's weird. I don't now why but here's the error without it,
> @agoric/[email protected] lint:types
> tsc -p jsconfig.json
../notifier/src/asyncIterableAdaptor.js(39,3): error TS2322: Type '{ [Symbol.asyncIterator]: () => { next: () => Promise<{ value: T; done: boolean; }> | undefined; } & RemotableBrand<{}, { next: () => Promise<{ value: T; done: boolean; }> | undefined; }>; } & RemotableBrand<...>' is not assignable to type 'ConsistentAsyncIterable<T>'.
The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types.
Type 'Promise<{ value: T; done: boolean; }> | undefined' is not assignable to type 'Promise<IteratorResult<T, T>>'.
Type 'undefined' is not assignable to type 'Promise<IteratorResult<T, T>>'.
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.
Oh I think I know. TS doesn't know that the chained calls, and in particular .then()
doesn't execute the callbacks synchronously, so it can't know that myIterationResultP = undefined;
hasn't happened.
Oh thankfully it did!
|
17e91dc
to
4551371
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.
LGTM. Thanks for fixing these types! One step closer to less ambient issues.
@@ -80,6 +80,8 @@ export const makeAsyncIterableFromNotifier = notifierP => { | |||
return harden({ value, done }); | |||
}); | |||
} | |||
// xxx hint for type checker | |||
assert(myIterationResultP); |
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.
Oh I think I know. TS doesn't know that the chained calls, and in particular .then()
doesn't execute the callbacks synchronously, so it can't know that myIterationResultP = undefined;
hasn't happened.
Description
Progress on #4560
Depends on endojs/endo#1307
I made the Endo changes and then used
yarn link
to test them in this repo. I stopped when I ran intobundle-source
andses-ava
problems, which I've added to the priority list in endojs/endo#1254Security Considerations
--
Documentation Considerations
--
Testing Considerations
--