UNPKG

mocha

Version:

Classic, reliable, trusted test framework for Node.js and the browser

37 lines (31 loc) 1.09 kB
/** * Command module for "init" command * * @private * @module */ import fs from "node:fs"; import path from "node:path"; export const command = "init <path>"; export const description = "create a client-side Mocha setup at <path>"; export const parse = (args) => { const [pathArg] = args; if (!pathArg) { throw new Error("Not enough non-option arguments: got 0, need at least 1"); } return { _: [], path: path.normalize(pathArg) }; }; export const handler = (argv) => { const destdir = argv.path; const srcdir = path.join(import.meta.dirname, "..", ".."); fs.mkdirSync(destdir, { recursive: true }); const css = fs.readFileSync(path.join(srcdir, "mocha.css")); const js = fs.readFileSync(path.join(srcdir, "mocha.js")); const tmpl = fs.readFileSync( path.join(srcdir, "lib", "browser", "template.html"), ); fs.writeFileSync(path.join(destdir, "mocha.css"), css); fs.writeFileSync(path.join(destdir, "mocha.js"), js); fs.writeFileSync(path.join(destdir, "tests.spec.js"), ""); fs.writeFileSync(path.join(destdir, "index.html"), tmpl); };