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's programmatic API to implement a file transformation utility with custom path filtering logic.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Import and use API",
"description": "Correctly imports and invokes the main flowRemoveTypes() function (or the default export from the package) to transform source code strings",
"max_score": 25
},
{
"name": "Read source files",
"description": "Reads JavaScript source files from disk (using fs module or equivalent) and passes the file content as strings to the transformation function",
"max_score": 15
},
{
"name": "Pattern filtering logic",
"description": "Implements custom path filtering by creating and applying a RegExp based on the --ignore command-line argument to exclude files matching the pattern",
"max_score": 30
},
{
"name": "Extract transformed output",
"description": "Correctly extracts the transformed JavaScript code by calling .toString() on the result object returned by the transformation function",
"max_score": 20
},
{
"name": "Write output files",
"description": "Writes the transformed code to the output directory while preserving the source directory structure and creating necessary subdirectories",
"max_score": 10
}
]
}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