@webex/jsdoctrinetest
Version:
51 lines (47 loc) • 1.58 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
var _path = _interopRequireDefault(require("path"));
var _generator = _interopRequireDefault(require("@babel/generator"));
var _extract = _interopRequireDefault(require("./extract"));
var _transform = _interopRequireDefault(require("./transform"));
/*!
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
*/
/* eslint require-jsdoc: [0] */
/* eslint no-console: [0] */
function isNodeModule(filename) {
return filename.includes('node_modules') && !filename.includes('packages/node_modules');
}
function inject(module, filename) {
var _generate = (0, _generator.default)((0, _extract.default)(_transform.default, filename), {
compact: false,
quotes: 'single'
}),
code = _generate.code;
if (process.env.JSDOCTRINETEST_VERBOSE) {
console.log(filename);
console.log(code);
console.log();
}
module._compile(code, filename);
}
function enableSpecInjection() {
var dir;
var load = require.extensions['.js'];
require.extensions['.js'] = function loadWithSpecs(m, filename) {
if (isNodeModule(filename)) {
return load(m, filename);
}
// this is really janky, but so far seems to properly ensure we only load
// files in the directories specified to mocha
if (!dir) {
dir = _path.default.dirname(filename);
}
if (!filename.includes(dir)) {
return load(m, filename);
}
return inject(m, filename);
};
}
enableSpecInjection();
//# sourceMappingURL=index.js.map