A programming language that compiles into JavaScript, offering more concise and readable syntax while maintaining full JavaScript compatibility.
77
{
"context": "This criteria evaluates how well the engineer uses the CoffeeScript package's compilation API to implement a build tool. The focus is on correct usage of CoffeeScript.compile(), proper handling of compilation options, file I/O operations, and directory traversal.",
"type": "weighted_checklist",
"checklist": [
{
"name": "CoffeeScript.compile() usage",
"description": "Uses CoffeeScript.compile() method to compile CoffeeScript source code to JavaScript in all three functions (compileFile, compileDirectory, printCompiled)",
"max_score": 25
},
{
"name": "Bare mode option",
"description": "Correctly passes the bare option to CoffeeScript.compile() to control whether the output includes a top-level function wrapper",
"max_score": 15
},
{
"name": "File reading",
"description": "Uses fs.readFile() or fs.readFileSync() to read CoffeeScript source files before compilation",
"max_score": 15
},
{
"name": "File writing",
"description": "Uses fs.writeFile() or fs.writeFileSync() to write compiled JavaScript output to the specified output path in compileFile() and compileDirectory()",
"max_score": 15
},
{
"name": "Directory traversal",
"description": "Uses fs.readdir() or similar to list files in the input directory and processes each .coffee file in compileDirectory()",
"max_score": 15
},
{
"name": "File filtering",
"description": "Filters files by .coffee extension to skip non-CoffeeScript files during directory compilation",
"max_score": 10
},
{
"name": "Return compiled string",
"description": "Returns the compiled JavaScript code as a string in printCompiled() without writing to disk",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-coffeescriptevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10