UNPKG

5.96 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.run = undefined;
7
8var _regenerator = require('babel-runtime/regenerator');
9
10var _regenerator2 = _interopRequireDefault(_regenerator);
11
12var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
13
14var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
15
16// eslint-disable-next-line import/prefer-default-export
17var run = exports.run = function () {
18 var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(argv) {
19 var widths, minimumHeight, rtlRegex, options, _getStaticAssets, storyHtml, assets, storybookJavascriptPath, stories, selectedStories, client;
20
21 return _regenerator2.default.wrap(function _callee$(_context) {
22 while (1) {
23 switch (_context.prev = _context.next) {
24 case 0:
25 argv = (0, _yargs2.default)(argv).usage(args.usage).help().alias('help', 'h').options(args.options).epilogue(args.docs).default('build_dir', 'storybook-static').default('minimum_height', '800').argv;
26
27 if (!argv.help) {
28 _context.next = 4;
29 break;
30 }
31
32 _yargs2.default.showHelp();
33 return _context.abrupt('return');
34
35 case 4:
36 if (!argv.version) {
37 _context.next = 7;
38 break;
39 }
40
41 process.stdout.write('v' + VERSION + '\n');
42 return _context.abrupt('return');
43
44 case 7:
45 widths = (0, _getWidths2.default)(argv.widths);
46 minimumHeight = (0, _getMinimumHeight2.default)(argv.minimum_height);
47 rtlRegex = (0, _getRtlRegex2.default)(argv.rtl, argv.rtl_regex);
48 options = {
49 debug: argv.debug,
50 buildDir: argv.build_dir
51 };
52
53 if (!(process.env.PERCY_ENABLE === '0')) {
54 _context.next = 14;
55 break;
56 }
57
58 // eslint-disable-next-line no-console
59 console.log('The PERCY_ENABLE environment variable is set to 0. Exiting.');
60 return _context.abrupt('return');
61
62 case 14:
63 if (process.env.PERCY_TOKEN) {
64 _context.next = 16;
65 break;
66 }
67
68 throw new Error('The PERCY_TOKEN environment variable is missing.');
69
70 case 16:
71 if (process.env.PERCY_PROJECT) {
72 _context.next = 18;
73 break;
74 }
75
76 throw new Error('The PERCY_PROJECT environment variable is missing.');
77
78 case 18:
79 _getStaticAssets = (0, _getStaticAssets3.default)(options), storyHtml = _getStaticAssets.storyHtml, assets = _getStaticAssets.assets, storybookJavascriptPath = _getStaticAssets.storybookJavascriptPath;
80 // debug('assets %o', assets);
81
82 _context.next = 21;
83 return (0, _getStories2.default)(assets[storybookJavascriptPath], options);
84
85 case 21:
86 stories = _context.sent;
87
88 debug('stories %o', stories);
89
90 selectedStories = (0, _selectStories2.default)(stories, rtlRegex);
91
92 debug('selectedStories %o', selectedStories);
93
94 if (!(selectedStories.length === 0)) {
95 _context.next = 28;
96 break;
97 }
98
99 console.log('WARNING: No stories were found.'); // eslint-disable-line no-console
100 return _context.abrupt('return');
101
102 case 28:
103 client = new _reactPercyApiClient2.default(process.env.PERCY_TOKEN, process.env.PERCY_API, 'percy-storybook/' + VERSION, 'storybook/' + (0, _storybookVersion2.default)() + ' react/' + (0, _reactVersion2.default)());
104 return _context.abrupt('return', (0, _uploadStorybook2.default)(client, selectedStories, widths, minimumHeight, storyHtml, assets));
105
106 case 30:
107 case 'end':
108 return _context.stop();
109 }
110 }
111 }, _callee, this);
112 }));
113
114 return function run(_x) {
115 return _ref.apply(this, arguments);
116 };
117}();
118
119var _args2 = require('./args');
120
121var args = _interopRequireWildcard(_args2);
122
123var _getStories = require('./getStories');
124
125var _getStories2 = _interopRequireDefault(_getStories);
126
127var _getStaticAssets2 = require('./getStaticAssets');
128
129var _getStaticAssets3 = _interopRequireDefault(_getStaticAssets2);
130
131var _getWidths = require('./getWidths');
132
133var _getWidths2 = _interopRequireDefault(_getWidths);
134
135var _getMinimumHeight = require('./getMinimumHeight');
136
137var _getMinimumHeight2 = _interopRequireDefault(_getMinimumHeight);
138
139var _getRtlRegex = require('./getRtlRegex');
140
141var _getRtlRegex2 = _interopRequireDefault(_getRtlRegex);
142
143var _selectStories = require('./selectStories');
144
145var _selectStories2 = _interopRequireDefault(_selectStories);
146
147var _uploadStorybook = require('./uploadStorybook');
148
149var _uploadStorybook2 = _interopRequireDefault(_uploadStorybook);
150
151var _storybookVersion = require('./storybookVersion');
152
153var _storybookVersion2 = _interopRequireDefault(_storybookVersion);
154
155var _reactVersion = require('./reactVersion');
156
157var _reactVersion2 = _interopRequireDefault(_reactVersion);
158
159var _reactPercyApiClient = require('@percy-io/react-percy-api-client');
160
161var _reactPercyApiClient2 = _interopRequireDefault(_reactPercyApiClient);
162
163var _debug = require('debug');
164
165var _debug2 = _interopRequireDefault(_debug);
166
167var _yargs = require('yargs');
168
169var _yargs2 = _interopRequireDefault(_yargs);
170
171function _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; } }
172
173function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
174
175var debug = (0, _debug2.default)('percy-storybook');
176var VERSION = require('../package.json').version;
\No newline at end of file