-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Meta: integrate esmeta type checker into CI #2926
Conversation
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 can't be made to run locally with npm install && npm run something
?
- name: download esmeta | ||
run: 'git clone --depth 1 --branch v0.1.0-rc3 https://github.com/es-meta/esmeta.git "${ESMETA_HOME}"' |
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 this can be done with the checkout action?
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.
Is that better though? This says exactly what's going on.
8df2d28
to
126a008
Compare
For exclusions support, is there an error if something excluded does not have an error? We'll never remember to remove stuff from it otherwise. |
@bakkot No, it doesn't look like it: es-meta/esmeta@271fcae. I'll ask them to change it to xfail semantics. |
Hi, @bakkot. Do you mean that you want ESMeta to throw an error when excluded algorithms do not have any type mismatches? |
@jhnaldo Yes, that's what I mean. Specifically, ideally, if there's any line in the "excluded" file such that the build would succeed without that line being present, then the build should fail. In other words, rather than actually excluding anything, it should run the full build and then assert that the set of algorithms with errors is exactly the set of algorithms listed in the exclusions file, rather than being a subset of that list. |
@bakkot Thank you for the kind explanation! I supported the feature you mentioned to detect unused names listed in the "excluded" file in the ESMeta v0.1.0-rc5 version. And, I attached the tight [
"AddEntriesFromIterable",
"AsyncGeneratorBody[0,0].EvaluateAsyncGeneratorBody",
"BoundFunctionCreate",
"Catch[1,0].CatchClauseEvaluation",
"ClassElement[0,0].ClassElementEvaluation",
"ClassElement[1,0].ClassElementEvaluation",
"ClassStaticBlockBody[0,0].EvaluateClassStaticBlockBody",
"CreateArrayIterator",
"CreateBuiltinFunction",
"CreateDynamicFunction",
"CreateMappedArgumentsObject",
"DeclarativeEnvironmentRecord.InitializeBinding",
"DeclarativeEnvironmentRecord.SetMutableBinding",
"FlattenIntoArray",
"FunctionBody[0,0].EvaluateFunctionBody",
"GeneratorBody[0,0].EvaluateGeneratorBody",
"GeneratorResumeAbrupt",
"GeneratorValidate",
"GetGlobalObject",
"GetMethod",
"GetNewTarget",
"GetPromiseResolve",
"GetPrototypeFromConstructor",
"GetThisValue",
"INTRINSICS.DefaultTimeZone",
"InnerModuleEvaluation",
"IntegerIndexedObjectCreate",
"LabelledItem[1,0].LabelledEvaluation",
"LengthOfArrayLike",
"MethodDefinition[0,0].DefineMethod",
"ModuleNamespaceCreate",
"NewPromiseReactionJob",
"NormalCompletion",
"OrdinaryGet",
"PrivateGet",
"ProxyCreate",
"RegExpInitialize",
"SerializeJSONObject",
"SerializeJSONProperty",
"SetDefaultGlobalBindings",
"SetViewValue",
"SortIndexedProperties",
"SourceTextModuleRecord.ResolveExport",
"SpeciesConstructor",
"Statement[0,0].LabelledEvaluation",
"Statement[1,0].LabelledEvaluation",
"Statement[2,0].LabelledEvaluation",
"StringCreate",
"StringPad",
"TemplateString",
"ToBigInt64",
"ToBigUint64",
"ToUint32",
"TrimString",
"WeakRefDeref"
] |
8f36c20
to
76d9490
Compare
76d9490
to
b48c1e8
Compare
b48c1e8
to
a619745
Compare
Currently has 72 false positives. Waiting on:
AddEntriesFromIterable
#2923