UNPKG

chrome-stub

Version:

Easily stub out chrome API calls for great test coverage

25 lines (20 loc) 936 B
var fs = require('fs'); var path = require('path'); var rfile = require('rfile'); var helpers = require('./helpers'); var ejs = require('ejs'); var apiName = process.argv[2]; var apiMetaSrc = rfile('./json/' + apiName + '.json'); var apiTemplate = rfile('./tl/api.ejs'); var apiMeta = JSON.parse(helpers.cleanJSON(apiMetaSrc))[0]; // api JSON files are pulled from https://chromium.googlesource.com/chromium/chromium/+/master/chrome/common/extensions/api apiMeta.namespaceCap = helpers.capitalize(apiMeta.namespace); var out = ejs.render(apiTemplate, apiMeta); var code = out.replace(/(\n)+/g, '\n').replace(/\n\s*\*\s*\n/g, '\n').replace(/\n\s*\*\s*\n/g, '\n'); var codePath = path.resolve(__dirname, 'build', apiMeta.namespaceCap + '.js'); if (process.argv[3] === '--save') { fs.writeFileSync(codePath, code); console.log('Saved', codePath); } else { console.log(code); }