Fast, zero-configuration Flow type annotation removal tool for JavaScript with CLI and programmatic APIs
84
{
"context": "This criteria evaluates how effectively the engineer uses the flow-remove-types package to remove Flow declare statements from JavaScript source code. The focus is on correct usage of the package's programmatic API and understanding of its transformation capabilities.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Imports flow-remove-types",
"description": "Correctly imports the flow-remove-types package (e.g., require('flow-remove-types') or import flowRemoveTypes from 'flow-remove-types')",
"max_score": 15
},
{
"name": "Calls main function",
"description": "Calls the flowRemoveTypes() function with source code as the first parameter",
"max_score": 25
},
{
"name": "Extracts transformed code",
"description": "Uses the .toString() method on the result object to retrieve the transformed JavaScript code",
"max_score": 25
},
{
"name": "Handles declare removal",
"description": "The solution successfully removes declare statements (declare class, declare function, declare var/let/const) from the input code as demonstrated by passing tests",
"max_score": 30
},
{
"name": "Preserves executable code",
"description": "The solution preserves non-declare JavaScript code (regular variables, functions, classes) in the output without modification",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-flow-remove-typesevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10