Fast, zero-configuration Flow type annotation removal tool for JavaScript with CLI and programmatic APIs
84
{
"context": "This evaluation criteria assesses how effectively an engineer uses the flow-remove-types package to implement a basic type annotation removal tool. The focus is on proper usage of the package's core API for removing function parameter types, return types, and variable type annotations.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses flowRemoveTypes function",
"description": "Imports and correctly invokes the main flowRemoveTypes() function (default export) to transform the input source code",
"max_score": 25
},
{
"name": "Enables all-files mode",
"description": "Passes the { all: true } option to flowRemoveTypes() to process files without requiring @flow pragma, as specified in requirements",
"max_score": 20
},
{
"name": "Preserves whitespace",
"description": "Uses default whitespace-preserving mode (does NOT set pretty: true) to maintain exact line numbers and column positions as required",
"max_score": 20
},
{
"name": "Converts result to string",
"description": "Calls the .toString() method on the result object returned by flowRemoveTypes() to get the transformed JavaScript code",
"max_score": 20
},
{
"name": "Handles stdin/stdout correctly",
"description": "Properly reads from process.stdin and writes the transformed output to process.stdout as specified",
"max_score": 15
}
]
}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