38 lines
972 B
JavaScript
38 lines
972 B
JavaScript
|
'use strict';
|
||
|
|
||
|
/**
|
||
|
* Command module for "init" command
|
||
|
*
|
||
|
* @private
|
||
|
* @module
|
||
|
*/
|
||
|
|
||
|
const fs = require('fs');
|
||
|
const path = require('path');
|
||
|
const mkdirp = require('mkdirp');
|
||
|
|
||
|
exports.command = 'init <path>';
|
||
|
|
||
|
exports.description = 'create a client-side Mocha setup at <path>';
|
||
|
|
||
|
exports.builder = yargs =>
|
||
|
yargs.positional('path', {
|
||
|
type: 'string',
|
||
|
normalize: true
|
||
|
});
|
||
|
|
||
|
exports.handler = argv => {
|
||
|
const destdir = argv.path;
|
||
|
const srcdir = path.join(__dirname, '..', '..');
|
||
|
mkdirp.sync(destdir);
|
||
|
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);
|
||
|
};
|