datagrok-tools 4.7.4 → 4.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/commands/help.js +2 -2
- package/bin/commands/test.js +171 -147
- package/bin/utils/test-utils.js +51 -33
- package/package.json +1 -1
package/bin/commands/help.js
CHANGED
|
@@ -8,10 +8,10 @@ var HELP = "\nUsage: grok <command>\n\nDatagrok's package management tool\n\nCom
|
|
|
8
8
|
var HELP_ADD = "\nUsage: grok add <entity> <name>\n\nAdd an object template to your package:\n\ngrok add app <name>\ngrok add connection <name>\ngrok add detector <semantic-type-name>\ngrok add function [tag] <name>\ngrok add query <name>\ngrok add script [tag] <language> <name>\ngrok add view <name>\ngrok add viewer <name>\ngrok add tests\n\nPlease note that entity names may only include letters and numbers\n\nSupported languages for scripts:\njavascript, julia, node, octave, python, r\n\nAvailable tags:\npanel, init\n";
|
|
9
9
|
var HELP_API = "\nUsage: grok api\n\nCreate wrapper functions for package scripts and queries\n";
|
|
10
10
|
var HELP_CONFIG = "\nUsage: grok config\n\nCreate or update a configuration file\n\nOptions:\n[--reset] [--server] [--alias] [--key]\n\n--reset Restore the default config file template\n--server Use to add a server to the config (`grok config add --alias alias --server url --key key`)\n--alias Use in conjunction with the `server` option to set the server name\n--key Use in conjunction with the `server` option to set the developer key\n--default Use in conjunction with the `server` option to set the added server as default\n";
|
|
11
|
-
var HELP_CREATE = "\nUsage: grok create [name]\n\nCreate a package:\n\ngrok create Create a package in the current working directory\ngrok create <name> Create a package in a folder with the specified name\n\nPlease note that the package name may only include letters, numbers, underscores, or hyphens\n\nOptions:\n[--eslint] [--ide] [--js|--ts]
|
|
11
|
+
var HELP_CREATE = "\nUsage: grok create [name]\n\nCreate a package:\n\ngrok create Create a package in the current working directory\ngrok create <name> Create a package in a folder with the specified name\n\nPlease note that the package name may only include letters, numbers, underscores, or hyphens\n\nOptions:\n[--eslint] [--ide] [--js|--ts]\n\n--eslint Add a configuration for eslint\n--ide Add an IDE-specific configuration for debugging (vscode)\n--js Create a JavaScript package\n--ts Create a TypeScript package (default)\n";
|
|
12
12
|
var HELP_PUBLISH = "\nUsage: grok publish [host]\n\nUpload a package\n\nOptions:\n[--build|--rebuild] [--debug|--release] [--key] [--suffix]\n\nRunning `grok publish` is the same as running `grok publish defaultHost --build --debug`\n";
|
|
13
13
|
var HELP_CHECK = "\nUsage: grok check\n\nOptions:\n[--dir]\n\n--dir Check all packages in a specified directory\n\nCheck package content (function signatures, import statements of external modules, etc.)\n";
|
|
14
|
-
var HELP_TEST = "\nUsage: grok test\n\nOptions:\n[--host] [--csv]\n\n--host
|
|
14
|
+
var HELP_TEST = "\nUsage: grok test\n\nOptions:\n[--host] [--csv]\n\n--host Host alias as in the config file\n--csv Save the test report in a CSV file\n--gui Launch graphical interface (non-headless mode)\n--skip-build Skip the package build step\n--skip-publish Skip the package publication step\n\nRun package tests\n\nSee instructions:\nhttps://datagrok.ai/help/develop/how-to/test-packages#local-testing\n";
|
|
15
15
|
var HELP_LINK = "\nUsage: grok link\n\nLink `datagrok-api` and libraries for local development\n";
|
|
16
16
|
var HELP_UNLINK = "\nUsage: grok unlink\n\nRevert `grok link`\n";
|
|
17
17
|
var HELP_MIGRATE = "\nUsage: grok migrate\n\nSwitch to `grok` tools by copying your keys to the config\nfile and converting your scripts in the `package.json` file\n";
|
package/bin/commands/test.js
CHANGED
|
@@ -37,7 +37,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
37
37
|
|
|
38
38
|
function test(args) {
|
|
39
39
|
var options = Object.keys(args).slice(1);
|
|
40
|
-
var commandOptions = ['host', 'csv'];
|
|
40
|
+
var commandOptions = ['host', 'csv', 'gui', 'skip-build', 'skip-publish'];
|
|
41
41
|
var nArgs = args['_'].length;
|
|
42
42
|
var curDir = process.cwd();
|
|
43
43
|
|
|
@@ -45,7 +45,7 @@ function test(args) {
|
|
|
45
45
|
|
|
46
46
|
var confPath = _path["default"].join(grokDir, 'config.yaml');
|
|
47
47
|
|
|
48
|
-
if (nArgs > 1 || options.length >
|
|
48
|
+
if (nArgs > 1 || options.length > commandOptions.length || options.length > 0 && !options.every(function (op) {
|
|
49
49
|
return commandOptions.includes(op);
|
|
50
50
|
})) return false;
|
|
51
51
|
|
|
@@ -88,181 +88,205 @@ function test(args) {
|
|
|
88
88
|
return false;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
91
|
+
if (args['skip-build']) {
|
|
92
|
+
if (args['skip-publish']) test();else publish(test);
|
|
93
|
+
} else {
|
|
94
|
+
build(args['skip-publish'] ? test : function () {
|
|
95
|
+
return publish(test);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function build(callback) {
|
|
100
|
+
(0, _child_process.exec)('npm run build', function (err, stdout, stderr) {
|
|
101
|
+
color.info("Building package...");
|
|
100
102
|
|
|
101
|
-
|
|
103
|
+
if (err) {
|
|
104
|
+
console.log(stdout);
|
|
105
|
+
throw err;
|
|
106
|
+
} else {
|
|
107
|
+
console.log(stdout);
|
|
108
|
+
color.warn(stderr);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
callback();
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function publish(callback) {
|
|
102
116
|
(0, _child_process.exec)("grok publish ".concat(process.platform === 'win32' ? '%HOST%' : '${HOST}'), function (err, stdout, stderr) {
|
|
117
|
+
color.info("Publishing package \"".concat(process.env.TARGET_PACKAGE, "\" to ").concat(process.env.HOST, "..."));
|
|
103
118
|
if (err) throw err;else {
|
|
104
119
|
console.log(stdout);
|
|
105
120
|
color.warn(stderr);
|
|
106
121
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var page;
|
|
111
|
-
|
|
112
|
-
function init(timeout) {
|
|
113
|
-
return testUtils.runWithTimeout(timeout, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
114
|
-
var out;
|
|
115
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
116
|
-
while (1) {
|
|
117
|
-
switch (_context.prev = _context.next) {
|
|
118
|
-
case 0:
|
|
119
|
-
_context.next = 2;
|
|
120
|
-
return testUtils.getBrowserPage(_puppeteer["default"]);
|
|
121
|
-
|
|
122
|
-
case 2:
|
|
123
|
-
out = _context.sent;
|
|
124
|
-
browser = out.browser;
|
|
125
|
-
page = out.page;
|
|
126
|
-
return _context.abrupt("return", 'Initialization completed.');
|
|
127
|
-
|
|
128
|
-
case 6:
|
|
129
|
-
case "end":
|
|
130
|
-
return _context.stop();
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}, _callee);
|
|
134
|
-
})));
|
|
135
|
-
}
|
|
122
|
+
callback();
|
|
123
|
+
});
|
|
124
|
+
}
|
|
136
125
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
var passReport = '';
|
|
155
|
-
var failReport = '';
|
|
156
|
-
|
|
157
|
-
if (df == null) {
|
|
158
|
-
failed = true;
|
|
159
|
-
failReport = 'Fail reason: No package tests found';
|
|
160
|
-
resolve({
|
|
161
|
-
failReport: failReport,
|
|
162
|
-
skipReport: skipReport,
|
|
163
|
-
passReport: passReport,
|
|
164
|
-
failed: failed
|
|
165
|
-
});
|
|
166
|
-
}
|
|
126
|
+
function test() {
|
|
127
|
+
color.info('Starting tests...');
|
|
128
|
+
var P_START_TIMEOUT = 3600000;
|
|
129
|
+
var browser;
|
|
130
|
+
var page;
|
|
131
|
+
|
|
132
|
+
function init(timeout) {
|
|
133
|
+
var params = Object.assign({}, testUtils.defaultLaunchParameters);
|
|
134
|
+
if (args.gui) params['headless'] = false;
|
|
135
|
+
return testUtils.runWithTimeout(timeout, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
136
|
+
var out;
|
|
137
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
138
|
+
while (1) {
|
|
139
|
+
switch (_context.prev = _context.next) {
|
|
140
|
+
case 0:
|
|
141
|
+
_context.next = 2;
|
|
142
|
+
return testUtils.getBrowserPage(_puppeteer["default"], params);
|
|
167
143
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
var cTime = df.columns.byName('ms');
|
|
174
|
-
|
|
175
|
-
for (var i = 0; i < df.rowCount; i++) {
|
|
176
|
-
if (cStatus.get(i)) {
|
|
177
|
-
if (cSkipped.get(i)) {
|
|
178
|
-
skipReport += "Test result : Skipped : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
179
|
-
} else {
|
|
180
|
-
passReport += "Test result : Success : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
181
|
-
}
|
|
182
|
-
} else {
|
|
183
|
-
failed = true;
|
|
184
|
-
failReport += "Test result : Failed : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
185
|
-
}
|
|
186
|
-
}
|
|
144
|
+
case 2:
|
|
145
|
+
out = _context.sent;
|
|
146
|
+
browser = out.browser;
|
|
147
|
+
page = out.page;
|
|
148
|
+
return _context.abrupt("return", 'Initialization completed.');
|
|
187
149
|
|
|
188
|
-
|
|
150
|
+
case 6:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context.stop();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}, _callee);
|
|
156
|
+
})));
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function runTest(timeout) {
|
|
160
|
+
return testUtils.runWithTimeout(timeout, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
161
|
+
var _process$env$TARGET_P;
|
|
162
|
+
|
|
163
|
+
var targetPackage, r;
|
|
164
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
165
|
+
while (1) {
|
|
166
|
+
switch (_context2.prev = _context2.next) {
|
|
167
|
+
case 0:
|
|
168
|
+
targetPackage = (_process$env$TARGET_P = process.env.TARGET_PACKAGE) !== null && _process$env$TARGET_P !== void 0 ? _process$env$TARGET_P : '#{PACKAGE_NAMESPACE}';
|
|
169
|
+
console.log("Testing ".concat(targetPackage, " package...\n"));
|
|
170
|
+
_context2.next = 4;
|
|
171
|
+
return page.evaluate(function (targetPackage) {
|
|
172
|
+
return new Promise(function (resolve, reject) {
|
|
173
|
+
window.grok.functions.eval(targetPackage + ':test()').then(function (df) {
|
|
174
|
+
var failed = false;
|
|
175
|
+
var skipReport = '';
|
|
176
|
+
var passReport = '';
|
|
177
|
+
var failReport = '';
|
|
178
|
+
|
|
179
|
+
if (df == null) {
|
|
180
|
+
failed = true;
|
|
181
|
+
failReport = 'Fail reason: No package tests found';
|
|
189
182
|
resolve({
|
|
190
183
|
failReport: failReport,
|
|
191
184
|
skipReport: skipReport,
|
|
192
185
|
passReport: passReport,
|
|
193
|
-
failed: failed
|
|
194
|
-
csv: csv
|
|
186
|
+
failed: failed
|
|
195
187
|
});
|
|
196
|
-
}
|
|
197
|
-
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
var cStatus = df.columns.byName('success');
|
|
191
|
+
var cSkipped = df.columns.byName('skipped');
|
|
192
|
+
var cMessage = df.columns.byName('result');
|
|
193
|
+
var cCat = df.columns.byName('category');
|
|
194
|
+
var cName = df.columns.byName('name');
|
|
195
|
+
var cTime = df.columns.byName('ms');
|
|
196
|
+
|
|
197
|
+
for (var i = 0; i < df.rowCount; i++) {
|
|
198
|
+
if (cStatus.get(i)) {
|
|
199
|
+
if (cSkipped.get(i)) {
|
|
200
|
+
skipReport += "Test result : Skipped : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
201
|
+
} else {
|
|
202
|
+
passReport += "Test result : Success : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
203
|
+
}
|
|
204
|
+
} else {
|
|
205
|
+
failed = true;
|
|
206
|
+
failReport += "Test result : Failed : ".concat(cTime.get(i), " : ").concat(targetPackage, ".").concat(cCat.get(i), ".").concat(cName.get(i), " : ").concat(cMessage.get(i), "\n");
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
var csv = df.toCsv();
|
|
211
|
+
resolve({
|
|
212
|
+
failReport: failReport,
|
|
213
|
+
skipReport: skipReport,
|
|
214
|
+
passReport: passReport,
|
|
215
|
+
failed: failed,
|
|
216
|
+
csv: csv
|
|
198
217
|
});
|
|
218
|
+
})["catch"](function (e) {
|
|
219
|
+
return reject(e);
|
|
199
220
|
});
|
|
200
|
-
}
|
|
221
|
+
});
|
|
222
|
+
}, targetPackage);
|
|
201
223
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
224
|
+
case 4:
|
|
225
|
+
r = _context2.sent;
|
|
226
|
+
return _context2.abrupt("return", r);
|
|
205
227
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
228
|
+
case 6:
|
|
229
|
+
case "end":
|
|
230
|
+
return _context2.stop();
|
|
210
231
|
}
|
|
211
|
-
}
|
|
212
|
-
})
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
216
|
-
var initMessage, r;
|
|
217
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
218
|
-
while (1) {
|
|
219
|
-
switch (_context3.prev = _context3.next) {
|
|
220
|
-
case 0:
|
|
221
|
-
_context3.next = 2;
|
|
222
|
-
return init(P_START_TIMEOUT);
|
|
232
|
+
}
|
|
233
|
+
}, _callee2);
|
|
234
|
+
})));
|
|
235
|
+
}
|
|
223
236
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
237
|
+
(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
238
|
+
var initMessage, r;
|
|
239
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
240
|
+
while (1) {
|
|
241
|
+
switch (_context3.prev = _context3.next) {
|
|
242
|
+
case 0:
|
|
243
|
+
_context3.next = 2;
|
|
244
|
+
return init(P_START_TIMEOUT);
|
|
229
245
|
|
|
230
|
-
|
|
231
|
-
|
|
246
|
+
case 2:
|
|
247
|
+
initMessage = _context3.sent;
|
|
248
|
+
console.log(initMessage);
|
|
249
|
+
_context3.next = 6;
|
|
250
|
+
return runTest(7200000);
|
|
232
251
|
|
|
233
|
-
|
|
234
|
-
|
|
252
|
+
case 6:
|
|
253
|
+
r = _context3.sent;
|
|
235
254
|
|
|
236
|
-
|
|
237
|
-
|
|
255
|
+
if (r.csv && args.csv) {
|
|
256
|
+
_fs["default"].writeFileSync(_path["default"].join(curDir, 'test-report.csv'), r.csv, 'utf8');
|
|
238
257
|
|
|
239
|
-
|
|
240
|
-
|
|
258
|
+
color.info('Saved `test-report.csv`\n');
|
|
259
|
+
}
|
|
241
260
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
color.fail('Tests failed.');
|
|
245
|
-
} else {
|
|
246
|
-
color.success('Tests passed.');
|
|
247
|
-
} //@ts-ignore
|
|
261
|
+
if (r.passReport) console.log(r.passReport);
|
|
262
|
+
if (r.skipReport) console.log(r.skipReport);
|
|
248
263
|
|
|
264
|
+
if (r.failed) {
|
|
265
|
+
console.log(r.failReport);
|
|
266
|
+
color.fail('Tests failed.');
|
|
267
|
+
testUtils.exitWithCode(1);
|
|
268
|
+
} else {
|
|
269
|
+
color.success('Tests passed.');
|
|
270
|
+
testUtils.exitWithCode(0);
|
|
271
|
+
} //@ts-ignore
|
|
249
272
|
|
|
250
|
-
if (!(browser != null)) {
|
|
251
|
-
_context3.next = 14;
|
|
252
|
-
break;
|
|
253
|
-
}
|
|
254
273
|
|
|
274
|
+
if (!(browser != null)) {
|
|
255
275
|
_context3.next = 14;
|
|
256
|
-
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
257
278
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
279
|
+
_context3.next = 14;
|
|
280
|
+
return browser.close();
|
|
281
|
+
|
|
282
|
+
case 14:
|
|
283
|
+
case "end":
|
|
284
|
+
return _context3.stop();
|
|
262
285
|
}
|
|
263
|
-
}
|
|
264
|
-
})
|
|
265
|
-
});
|
|
266
|
-
}
|
|
286
|
+
}
|
|
287
|
+
}, _callee3);
|
|
288
|
+
}))();
|
|
289
|
+
}
|
|
290
|
+
|
|
267
291
|
return true;
|
|
268
292
|
}
|
package/bin/utils/test-utils.js
CHANGED
|
@@ -7,6 +7,8 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
+
exports.defaultLaunchParameters = void 0;
|
|
11
|
+
exports.exitWithCode = exitWithCode;
|
|
10
12
|
exports.getBrowserPage = getBrowserPage;
|
|
11
13
|
exports.getDevKey = getDevKey;
|
|
12
14
|
exports.getToken = getToken;
|
|
@@ -37,6 +39,12 @@ var grokDir = _path["default"].join(_os["default"].homedir(), '.grok');
|
|
|
37
39
|
|
|
38
40
|
var confPath = _path["default"].join(grokDir, 'config.yaml');
|
|
39
41
|
|
|
42
|
+
var defaultLaunchParameters = {
|
|
43
|
+
args: ['--disable-dev-shm-usage', '--disable-features=site-per-process'],
|
|
44
|
+
ignoreHTTPSErrors: true
|
|
45
|
+
};
|
|
46
|
+
exports.defaultLaunchParameters = defaultLaunchParameters;
|
|
47
|
+
|
|
40
48
|
function getToken(_x, _x2) {
|
|
41
49
|
return _getToken.apply(this, arguments);
|
|
42
50
|
}
|
|
@@ -151,93 +159,98 @@ function _getBrowserPage() {
|
|
|
151
159
|
_getBrowserPage = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(puppeteer) {
|
|
152
160
|
var _process$env$HOST;
|
|
153
161
|
|
|
154
|
-
var
|
|
162
|
+
var params,
|
|
163
|
+
url,
|
|
164
|
+
cfg,
|
|
165
|
+
key,
|
|
166
|
+
token,
|
|
167
|
+
browser,
|
|
168
|
+
page,
|
|
169
|
+
_args4 = arguments;
|
|
155
170
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
156
171
|
while (1) {
|
|
157
172
|
switch (_context4.prev = _context4.next) {
|
|
158
173
|
case 0:
|
|
174
|
+
params = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : defaultLaunchParameters;
|
|
159
175
|
url = (_process$env$HOST = process.env.HOST) !== null && _process$env$HOST !== void 0 ? _process$env$HOST : '';
|
|
160
176
|
cfg = getDevKey(url);
|
|
161
177
|
url = cfg.url;
|
|
162
178
|
key = cfg.key;
|
|
163
|
-
_context4.next =
|
|
179
|
+
_context4.next = 7;
|
|
164
180
|
return getToken(url, key);
|
|
165
181
|
|
|
166
|
-
case
|
|
182
|
+
case 7:
|
|
167
183
|
token = _context4.sent;
|
|
168
|
-
_context4.next =
|
|
184
|
+
_context4.next = 10;
|
|
169
185
|
return getWebUrl(url, token);
|
|
170
186
|
|
|
171
|
-
case
|
|
187
|
+
case 10:
|
|
172
188
|
url = _context4.sent;
|
|
173
189
|
console.log("Using web root: ".concat(url));
|
|
174
|
-
_context4.next =
|
|
175
|
-
return puppeteer.launch(
|
|
176
|
-
args: ['--disable-dev-shm-usage', '--disable-features=site-per-process'],
|
|
177
|
-
ignoreHTTPSErrors: true
|
|
178
|
-
});
|
|
190
|
+
_context4.next = 14;
|
|
191
|
+
return puppeteer.launch(params);
|
|
179
192
|
|
|
180
|
-
case
|
|
193
|
+
case 14:
|
|
181
194
|
browser = _context4.sent;
|
|
182
|
-
_context4.next =
|
|
195
|
+
_context4.next = 17;
|
|
183
196
|
return browser.newPage();
|
|
184
197
|
|
|
185
|
-
case
|
|
198
|
+
case 17:
|
|
186
199
|
page = _context4.sent;
|
|
187
|
-
_context4.next =
|
|
200
|
+
_context4.next = 20;
|
|
188
201
|
return page.setDefaultNavigationTimeout(0);
|
|
189
202
|
|
|
190
|
-
case
|
|
191
|
-
_context4.next =
|
|
203
|
+
case 20:
|
|
204
|
+
_context4.next = 22;
|
|
192
205
|
return page["goto"]("".concat(url, "/oauth/"));
|
|
193
206
|
|
|
194
|
-
case
|
|
195
|
-
_context4.next =
|
|
207
|
+
case 22:
|
|
208
|
+
_context4.next = 24;
|
|
196
209
|
return page.setCookie({
|
|
197
210
|
name: 'auth',
|
|
198
211
|
value: token
|
|
199
212
|
});
|
|
200
213
|
|
|
201
|
-
case
|
|
202
|
-
_context4.next =
|
|
214
|
+
case 24:
|
|
215
|
+
_context4.next = 26;
|
|
203
216
|
return page.evaluate(function (token) {
|
|
204
217
|
window.localStorage.setItem('auth', token);
|
|
205
218
|
}, token);
|
|
206
219
|
|
|
207
|
-
case
|
|
208
|
-
_context4.next =
|
|
220
|
+
case 26:
|
|
221
|
+
_context4.next = 28;
|
|
209
222
|
return page["goto"](url);
|
|
210
223
|
|
|
211
|
-
case
|
|
212
|
-
_context4.prev =
|
|
213
|
-
_context4.next =
|
|
224
|
+
case 28:
|
|
225
|
+
_context4.prev = 28;
|
|
226
|
+
_context4.next = 31;
|
|
214
227
|
return page.waitForFunction(function () {
|
|
215
228
|
return document.querySelector('.grok-preloader') == null;
|
|
216
229
|
}, {
|
|
217
230
|
timeout: 3600000
|
|
218
231
|
});
|
|
219
232
|
|
|
220
|
-
case
|
|
221
|
-
_context4.next =
|
|
233
|
+
case 31:
|
|
234
|
+
_context4.next = 36;
|
|
222
235
|
break;
|
|
223
236
|
|
|
224
|
-
case
|
|
225
|
-
_context4.prev =
|
|
226
|
-
_context4.t0 = _context4["catch"](
|
|
237
|
+
case 33:
|
|
238
|
+
_context4.prev = 33;
|
|
239
|
+
_context4.t0 = _context4["catch"](28);
|
|
227
240
|
throw _context4.t0;
|
|
228
241
|
|
|
229
|
-
case
|
|
242
|
+
case 36:
|
|
230
243
|
return _context4.abrupt("return", {
|
|
231
244
|
browser: browser,
|
|
232
245
|
page: page
|
|
233
246
|
});
|
|
234
247
|
|
|
235
|
-
case
|
|
248
|
+
case 37:
|
|
236
249
|
case "end":
|
|
237
250
|
return _context4.stop();
|
|
238
251
|
}
|
|
239
252
|
}
|
|
240
|
-
}, _callee4, null, [[
|
|
253
|
+
}, _callee4, null, [[28, 33]]);
|
|
241
254
|
}));
|
|
242
255
|
return _getBrowserPage.apply(this, arguments);
|
|
243
256
|
}
|
|
@@ -273,4 +286,9 @@ function runWithTimeout(timeout, f) {
|
|
|
273
286
|
return _ref.apply(this, arguments);
|
|
274
287
|
};
|
|
275
288
|
}());
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
function exitWithCode(code) {
|
|
292
|
+
console.log("Exiting with code ".concat(code));
|
|
293
|
+
process.exit(code);
|
|
276
294
|
}
|
package/package.json
CHANGED