diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-03-27 21:01:33 +0100 |
commit | cc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch) | |
tree | 92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/ava/profile.js | |
parent | 3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff) |
remove node_modules
Diffstat (limited to 'node_modules/ava/profile.js')
-rw-r--r-- | node_modules/ava/profile.js | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/node_modules/ava/profile.js b/node_modules/ava/profile.js deleted file mode 100644 index 3067e663a..000000000 --- a/node_modules/ava/profile.js +++ /dev/null @@ -1,161 +0,0 @@ -'use strict'; - -// Iron-node does not work with forked processes -// This cli command will run a single file in the current process. -// Intended to be used with iron-node for profiling purposes. - -const path = require('path'); -const EventEmitter = require('events'); -const meow = require('meow'); -const Promise = require('bluebird'); -const pkgConf = require('pkg-conf'); -const findCacheDir = require('find-cache-dir'); -const uniqueTempDir = require('unique-temp-dir'); -const arrify = require('arrify'); -const resolveCwd = require('resolve-cwd'); -const babelConfigHelper = require('./lib/babel-config'); -const CachingPrecompiler = require('./lib/caching-precompiler'); -const globals = require('./lib/globals'); - -function resolveModules(modules) { - return arrify(modules).map(name => { - const modulePath = resolveCwd.silent(name); - - if (modulePath === null) { - throw new Error(`Could not resolve required module '${name}'`); - } - - return modulePath; - }); -} - -// Chrome gets upset when the `this` value is non-null for these functions -globals.setTimeout = setTimeout.bind(null); -globals.clearTimeout = clearTimeout.bind(null); - -Promise.longStackTraces(); - -const conf = pkgConf.sync('ava', { - defaults: { - babel: 'default' - } -}); - -// Define a minimal set of options from the main CLI -const cli = meow(` - Usage - $ iron-node node_modules/ava/profile.js <test-file> - - Options - --fail-fast Stop after first test failure - --serial, -s Run tests serially - -`, { - string: [ - '_' - ], - boolean: [ - 'fail-fast', - 'verbose', - 'serial', - 'tap' - ], - default: conf, - alias: { - s: 'serial' - } -}); - -if (cli.input.length === 0) { - throw new Error('Specify a test file'); -} - -const file = path.resolve(cli.input[0]); -const cacheDir = findCacheDir({ - name: 'ava', - files: [file] -}) || uniqueTempDir(); - -babelConfigHelper.build(process.cwd(), cacheDir, conf.babel, true) - .then(result => { - const precompiler = new CachingPrecompiler({ - path: cacheDir, - getBabelOptions: result.getOptions, - babelCacheKeys: result.cacheKeys - }); - - const precompiled = {}; - precompiled[file] = precompiler.precompileFile(file); - - const opts = { - file, - failFast: cli.flags.failFast, - serial: cli.flags.serial, - tty: false, - cacheDir, - precompiled, - require: resolveModules(conf.require) - }; - - const events = new EventEmitter(); - let uncaughtExceptionCount = 0; - - // Mock the behavior of a parent process - process.channel = {ref() {}, unref() {}}; - process.send = data => { - if (data && data.ava) { - const name = data.name.replace(/^ava-/, ''); - - if (events.listeners(name).length > 0) { - events.emit(name, data.data); - } else { - console.log('UNHANDLED AVA EVENT:', name, data.data); - } - - return; - } - - console.log('NON AVA EVENT:', data); - }; - - events.on('test', data => { - console.log('TEST:', data.title, data.error); - }); - - events.on('results', data => { - if (console.profileEnd) { - console.profileEnd(); - } - - console.log('RESULTS:', data.stats); - - if (process.exit) { - process.exit(data.stats.failCount + uncaughtExceptionCount); // eslint-disable-line unicorn/no-process-exit - } - }); - - events.on('stats', () => { - setImmediate(() => { - process.emit('ava-run', {}); - }); - }); - - events.on('uncaughtException', data => { - uncaughtExceptionCount++; - let stack = data && data.exception && data.exception.stack; - stack = stack || data; - console.log(stack); - }); - - // `test-worker` will read process.argv[2] for options - process.argv[2] = JSON.stringify(opts); - process.argv.length = 3; - - if (console.profile) { - console.profile('AVA test-worker process'); - } - - setImmediate(() => { - require('./lib/test-worker'); // eslint-disable-line import/no-unassigned-import - }); - }); |