UNPKG

jest-html

Version:

Preview Jest snapshots right in your browser

74 lines (51 loc) 2.78 kB
'use strict'; require('babel-polyfill'); require('storyboard-preset-console'); var _storyboard = require('storyboard'); var _commander = require('commander'); var _commander2 = _interopRequireDefault(_commander); var _opn = require('opn'); var _opn2 = _interopRequireDefault(_opn); var _httpServer = require('./httpServer'); var httpServer = _interopRequireWildcard(_httpServer); var _extractor = require('./extractor'); var extractor = _interopRequireWildcard(_extractor); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _storyboard.config)({ filter: '*:INFO' }); var pkg = require('../../package.json'); var DEFAULT_PORT = 8080; var DEFAULT_SNAPSHOT_PATTERNS = '**/*.snap,!node_modules/**/*'; var DEFAULT_CSS_PATTERNS = 'snapshot.css'; process.on('SIGINT', function () { _storyboard.mainStory.debug('startup', 'CTRL-C received'); process.exit(0); }); // ============================================== // Main // ============================================== _commander2.default.version(pkg.version).option('-f --snapshot-patterns [globs]', 'Glob patterns for snapshot files (comma-separated)', DEFAULT_SNAPSHOT_PATTERNS).option('-c --css-patterns [globs]', 'Glob patterns for CSS stylesheets ' + 'that will be used for ALL snapshots (comma-separated)', DEFAULT_CSS_PATTERNS).option('-p, --port [port]', 'Initial port number to use ' + '(if unavailable, the next available one will be used)', Number, DEFAULT_PORT).option('--no-watch', 'Do not watch initially detected snapshot and css files').parse(process.argv); var cliOptions = _commander2.default.opts(); cliOptions.snapshotPatterns = cliOptions.snapshotPatterns.split(/\s*,\s*/); cliOptions.cssPatterns = cliOptions.cssPatterns.split(/\s*,\s*/); _storyboard.mainStory.info('startup', 'CLI options:', { attach: cliOptions }); var finalPort = void 0; var socketioServer = void 0; var httpInit = function httpInit() { return httpServer.init({ port: cliOptions.port }).then(function (port) { finalPort = port; socketioServer = httpServer.getSocketioServer(); }); }; var extractorInit = function extractorInit() { extractor.configure({ snapshotPatterns: cliOptions.snapshotPatterns, cssPatterns: cliOptions.cssPatterns, watch: cliOptions.watch, socketioServer: socketioServer }); return extractor.start(); }; Promise.resolve().then(httpInit).then(extractorInit).then(function () { (0, _opn2.default)('http://localhost:' + finalPort + '/'); });