datagrok-tools 4.14.34 → 4.14.35

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.
@@ -183,22 +183,22 @@ const recorderConfig = exports.recorderConfig = {
183
183
  // aspectRatio: '16:9',
184
184
  };
185
185
  async function loadPackages(packagesDir, packagesToLoad, host, skipPublish, skipBuild, linkPackage, release) {
186
- let packagesToRun = new Map();
187
- let hostString = host === undefined ? `` : `${host}`;
188
- if (packagesToLoad !== "all") {
189
- for (let pacakgeName of (packagesToLoad ?? "").split(' ')) {
186
+ const packagesToRun = new Map();
187
+ const hostString = host === undefined ? `` : `${host}`;
188
+ if (packagesToLoad !== 'all') {
189
+ for (const pacakgeName of (packagesToLoad ?? '').split(' ')) {
190
190
  if ((pacakgeName ?? '').length !== 0) packagesToRun.set((0, _utils.spaceToCamelCase)(pacakgeName).toLocaleLowerCase(), false);
191
191
  }
192
192
  }
193
- for (let dirName of _fs.default.readdirSync(packagesDir)) {
194
- let packageDir = _path.default.join(packagesDir, dirName);
193
+ for (const dirName of _fs.default.readdirSync(packagesDir)) {
194
+ const packageDir = _path.default.join(packagesDir, dirName);
195
195
  if (!_fs.default.lstatSync(packageDir).isFile()) {
196
196
  try {
197
197
  const packageJsonData = JSON.parse(_fs.default.readFileSync(_path.default.join(packageDir, 'package.json'), {
198
198
  encoding: 'utf-8'
199
199
  }));
200
- const packageFriendlyName = packagesToRun.get((0, _utils.spaceToCamelCase)(packageJsonData["friendlyName"] ?? packageJsonData["name"].split("/")[1] ?? packageJsonData["name"] ?? '').toLocaleLowerCase() ?? "") ?? packagesToRun.get(dirName);
201
- if (utils.isPackageDir(packageDir) && (packageFriendlyName !== undefined || packagesToLoad === "all")) {
200
+ const packageFriendlyName = packagesToRun.get((0, _utils.spaceToCamelCase)(packageJsonData['friendlyName'] ?? packageJsonData['name'].split('/')[1] ?? packageJsonData['name'] ?? '').toLocaleLowerCase() ?? '') ?? packagesToRun.get(dirName);
201
+ if (utils.isPackageDir(packageDir) && (packageFriendlyName !== undefined || packagesToLoad === 'all')) {
202
202
  try {
203
203
  process.stdout.write(`Building and publishing ${dirName}...`);
204
204
  if (skipPublish != true) {
@@ -214,7 +214,7 @@ async function loadPackages(packagesDir, packagesToLoad, host, skipPublish, skip
214
214
  }
215
215
  }
216
216
  } catch (e) {
217
- if (utils.isPackageDir(packageDir) && (packagesToRun.get((0, _utils.spaceToCamelCase)(dirName).toLocaleLowerCase()) !== undefined || packagesToLoad === "all")) console.log(`Couldn't read package.json ${dirName}`);
217
+ if (utils.isPackageDir(packageDir) && (packagesToRun.get((0, _utils.spaceToCamelCase)(dirName).toLocaleLowerCase()) !== undefined || packagesToLoad === 'all')) console.log(`Couldn't read package.json ${dirName}`);
218
218
  }
219
219
  }
220
220
  }
@@ -223,7 +223,7 @@ async function loadPackages(packagesDir, packagesToLoad, host, skipPublish, skip
223
223
  ;
224
224
  }
225
225
  async function loadTestsList(packages, core = false) {
226
- var packageTestsData = await timeout(async () => {
226
+ const packageTestsData = await timeout(async () => {
227
227
  const params = Object.assign({}, defaultLaunchParameters);
228
228
  // params['headless'] = false;
229
229
  const out = await getBrowserPage(_puppeteer.default, params);
@@ -254,7 +254,7 @@ async function loadTestsList(packages, core = false) {
254
254
  }
255
255
  });
256
256
  } catch (err) {
257
- console.error("Error during evaluation in browser context:", err);
257
+ console.error('Error during evaluation in browser context:', err);
258
258
  reject();
259
259
  }
260
260
  Promise.all(promises).then(results => {
@@ -268,16 +268,14 @@ async function loadTestsList(packages, core = false) {
268
268
  });
269
269
  });
270
270
  }, packages, core);
271
- if (browser != null) {
272
- await browser.close();
273
- }
271
+ if (browser != null) await browser.close();
274
272
  return r;
275
273
  }, testCollectionTimeout);
276
- let testsList = [];
277
- for (let testPackage of packageTestsData) {
274
+ const testsList = [];
275
+ for (const testPackage of packageTestsData) {
278
276
  for (const key in testPackage.tests) {
279
277
  if (testPackage.tests.hasOwnProperty(key)) {
280
- for (let testValue of testPackage.tests[key].tests) {
278
+ for (const testValue of testPackage.tests[key].tests) {
281
279
  testValue.packageName = testPackage.packageName;
282
280
  testsList.push(testValue);
283
281
  }
@@ -292,26 +290,24 @@ function addLogsToFile(filePath, stringToSave) {
292
290
  function printBrowsersResult(browserResult, verbose = false) {
293
291
  if (verbose) {
294
292
  if ((browserResult.passedAmount ?? 0) > 0 && (browserResult.verbosePassed ?? []).length > 0) {
295
- console.log("Passed: ");
293
+ console.log('Passed: ');
296
294
  console.log(browserResult.verbosePassed);
297
295
  }
298
296
  if ((browserResult.skippedAmount ?? 0) > 0 && (browserResult.verboseSkipped ?? []).length > 0) {
299
- console.log("Skipped: ");
297
+ console.log('Skipped: ');
300
298
  console.log(browserResult.verboseSkipped);
301
299
  }
302
300
  }
303
301
  if ((browserResult.failedAmount ?? 0) > 0 && (browserResult.verboseFailed ?? []).length > 0) {
304
- console.log("Failed: ");
302
+ console.log('Failed: ');
305
303
  console.log(browserResult.verboseFailed);
306
304
  }
307
- console.log("Passed amount: " + browserResult?.passedAmount);
308
- console.log("Skipped amount: " + browserResult?.skippedAmount);
309
- console.log("Failed amount: " + browserResult?.failedAmount);
305
+ console.log('Passed amount: ' + browserResult?.passedAmount);
306
+ console.log('Skipped amount: ' + browserResult?.skippedAmount);
307
+ console.log('Failed amount: ' + browserResult?.failedAmount);
310
308
  if (browserResult.failed) {
311
309
  if (browserResult.verboseFailed === 'Package not found') color.fail('Tests not found');else color.fail('Tests failed.');
312
- } else {
313
- color.success('Tests passed.');
314
- }
310
+ } else color.success('Tests passed.');
315
311
  }
316
312
  function saveCsvResults(stringToSave, csvReportDir) {
317
313
  const modifiedStrings = stringToSave.map((str, index) => {
@@ -323,10 +319,10 @@ function saveCsvResults(stringToSave, csvReportDir) {
323
319
  }
324
320
  async function runTests(testsParams, stopOnFail) {
325
321
  let failed = false;
326
- let verbosePassed = "";
327
- let verboseSkipped = "";
328
- let verboseFailed = "";
329
- let error = "";
322
+ let verbosePassed = '';
323
+ let verboseSkipped = '';
324
+ let verboseFailed = '';
325
+ let error = '';
330
326
  let countPassed = 0;
331
327
  let countSkipped = 0;
332
328
  let countFailed = 0;
@@ -334,13 +330,15 @@ async function runTests(testsParams, stopOnFail) {
334
330
  let lastTest = null;
335
331
  let res = '';
336
332
  try {
337
- for (let testParam of testsParams) {
333
+ for (const testParam of testsParams) {
338
334
  lastTest = testParam;
339
- let df = await window.grok.functions.call(testParam.package + ':test', testParam.params);
340
- let flakingCol = window.DG.Column.fromType(window.DG.COLUMN_TYPE.BOOL, 'flaking', df.rowCount);
335
+ const df = await window.grok.functions.call(testParam.package + ':test', testParam.params);
336
+ const flakingCol = window.DG.Column.fromType(window.DG.COLUMN_TYPE.BOOL, 'flaking', df.rowCount);
341
337
  df.columns.add(flakingCol);
342
- let packageNameCol = window.DG.Column.fromList(window.DG.COLUMN_TYPE.STRING, 'package', Array(df.rowCount).fill(testParam.package));
343
- df.columns.add(packageNameCol);
338
+ if (!df.getCol('package')) {
339
+ const packageNameCol = window.DG.Column.fromList(window.DG.COLUMN_TYPE.STRING, 'package', Array(df.rowCount).fill(testParam.package));
340
+ df.columns.add(packageNameCol);
341
+ }
344
342
  if (df.rowCount === 0) {
345
343
  verboseFailed += `Test result : Invocation Fail : ${testParam.params.category}: ${testParam.params.test}\n`;
346
344
  countFailed += 1;
@@ -349,29 +347,30 @@ async function runTests(testsParams, stopOnFail) {
349
347
  }
350
348
  let row = df.rows.get(0);
351
349
  if (df.rowCount > 1) {
352
- let unhandledErrorRow = df.rows.get(1);
353
- if (!unhandledErrorRow.get("success")) {
354
- unhandledErrorRow["category"] = row.get("category");
355
- unhandledErrorRow["name"] = row.get("name");
350
+ const unhandledErrorRow = df.rows.get(1);
351
+ if (!unhandledErrorRow.get('success')) {
352
+ unhandledErrorRow['category'] = row.get('category');
353
+ unhandledErrorRow['name'] = row.get('name');
356
354
  row = unhandledErrorRow;
357
355
  }
358
356
  }
359
- const category = row.get("category");
360
- const testName = row.get("name");
361
- const time = row.get("ms");
362
- const result = row.get("result");
363
- const success = row.get("success");
364
- const skipped = row.get("skipped");
365
- row["flaking"] = success && window.DG.Test.isReproducing;
357
+ const category = row.get('category');
358
+ const testName = row.get('name');
359
+ const time = row.get('ms');
360
+ const result = row.get('result');
361
+ const success = row.get('success');
362
+ const skipped = row.get('skipped');
363
+ row['flaking'] = success && window.DG.Test.isReproducing;
366
364
  df.changeColumnType('result', window.DG.COLUMN_TYPE.STRING);
367
365
  df.changeColumnType('logs', window.DG.COLUMN_TYPE.STRING);
366
+ df.changeColumnType('widgetsDifference', window.DG.COLUMN_TYPE.STRING);
368
367
  // df.changeColumnType('memoryDelta', (<any>window).DG.COLUMN_TYPE.BIG_INT);
369
368
 
370
369
  if (resultDF === undefined) resultDF = df;else resultDF = resultDF.append(df);
371
- if (row["skipped"]) {
370
+ if (row['skipped']) {
372
371
  verboseSkipped += `Test result : Skipped : ${time} : ${category}: ${testName} : ${result}\n`;
373
372
  countSkipped += 1;
374
- } else if (row["success"]) {
373
+ } else if (row['success']) {
375
374
  verbosePassed += `Test result : Success : ${time} : ${category}: ${testName} : ${result}\n`;
376
375
  countPassed += 1;
377
376
  } else {
@@ -390,9 +389,7 @@ async function runTests(testsParams, stopOnFail) {
390
389
  const bs = window.DG.BitSet.create(resultDF.rowCount);
391
390
  bs.setAll(true);
392
391
  for (let i = 0; i < resultDF.rowCount; i++) {
393
- if (resultDF.rows.get(i).get('category') === 'Unhandled exceptions') {
394
- bs.set(i, false);
395
- }
392
+ if (resultDF.rows.get(i).get('category') === 'Unhandled exceptions') bs.set(i, false);
396
393
  }
397
394
  resultDF = resultDF.clone(bs);
398
395
  res = resultDF.toCsv();
@@ -415,7 +412,7 @@ async function runTests(testsParams, stopOnFail) {
415
412
  };
416
413
  }
417
414
  async function runBrowser(testExecutionData, browserOptions, browsersId, testInvocationTimeout = 3600000) {
418
- let testsToRun = {
415
+ const testsToRun = {
419
416
  func: runTests.toString(),
420
417
  tests: testExecutionData
421
418
  };
@@ -433,7 +430,7 @@ async function runBrowser(testExecutionData, browserOptions, browsersId, testInv
433
430
  const recordDir = `./test-record-${currentBrowserNum}.mp4`;
434
431
  if (browserOptions.record) {
435
432
  await recorder.start(recordDir);
436
- await page.exposeFunction("addLogsToFile", addLogsToFile);
433
+ await page.exposeFunction('addLogsToFile', addLogsToFile);
437
434
  _fs.default.writeFileSync(logsDir, ``);
438
435
  page.on('console', msg => {
439
436
  addLogsToFile(logsDir, `CONSOLE LOG ENTRY: ${msg.text()}\n`);
@@ -445,7 +442,7 @@ async function runBrowser(testExecutionData, browserOptions, browsersId, testInv
445
442
  addLogsToFile(logsDir, `CONSOLE LOG REQUEST: ${response.status()}, ${response.url()}\n`);
446
443
  });
447
444
  }
448
- let testingResults = await page.evaluate((testData, options) => {
445
+ const testingResults = await page.evaluate((testData, options) => {
449
446
  if (options.benchmark) window.DG.Test.isInBenchmark = true;
450
447
  if (options.reproduce) window.DG.Test.isReproducing = true;
451
448
  if (options.ciCd) window.DG.Test.isCiCd = true;
@@ -457,14 +454,14 @@ async function runBrowser(testExecutionData, browserOptions, browsersId, testInv
457
454
  }).catch(e => {
458
455
  resolve({
459
456
  failed: true,
460
- verbosePassed: "",
461
- verboseSkipped: "",
462
- verboseFailed: "",
457
+ verbosePassed: '',
458
+ verboseSkipped: '',
459
+ verboseFailed: '',
463
460
  error: JSON.stringify(e),
464
461
  passedAmount: 0,
465
462
  skippedAmount: 0,
466
463
  failedAmount: 1,
467
- csv: "",
464
+ csv: '',
468
465
  df: undefined
469
466
  });
470
467
  });
@@ -488,17 +485,13 @@ async function runBrowser(testExecutionData, browserOptions, browsersId, testInv
488
485
  // });
489
486
  });
490
487
  }, testsToRun, browserOptions);
491
- if (browserOptions.record) {
492
- await recorder.stop();
493
- }
494
- if (browser != null) {
495
- await browser.close();
496
- }
488
+ if (browserOptions.record) await recorder.stop();
489
+ if (browser != null) await browser.close();
497
490
  return testingResults;
498
491
  }, testInvocationTimeout);
499
492
  }
500
493
  async function mergeBrowsersResults(browsersResults) {
501
- let mergedResult = {
494
+ const mergedResult = {
502
495
  failed: browsersResults[0].failed,
503
496
  verbosePassed: browsersResults[0].verbosePassed,
504
497
  verboseSkipped: browsersResults[0].verboseSkipped,
@@ -509,7 +502,7 @@ async function mergeBrowsersResults(browsersResults) {
509
502
  csv: browsersResults[0].csv,
510
503
  error: ''
511
504
  };
512
- for (let browsersResult of browsersResults) {
505
+ for (const browsersResult of browsersResults) {
513
506
  if (mergedResult.csv === browsersResult.csv) continue;
514
507
  mergedResult.failed = mergedResult.failed || browsersResult.failed;
515
508
  mergedResult.verbosePassed = `${mergedResult.verbosePassed.trim()}\n${browsersResult.verbosePassed.trim()}`;
@@ -10,7 +10,7 @@
10
10
  "@datagrok-libraries/utils": "^4.6.0"
11
11
  },
12
12
  "devDependencies": {
13
- "datagrok-tools": "^4.14.32",
13
+ "datagrok-tools": "^4.14.34",
14
14
  "webpack": "^5.95.0",
15
15
  "webpack-cli": "^5.1.4"
16
16
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datagrok-tools",
3
- "version": "4.14.34",
3
+ "version": "4.14.35",
4
4
  "description": "Utility to upload and publish packages to Datagrok",
5
5
  "homepage": "https://github.com/datagrok-ai/public/tree/master/tools#readme",
6
6
  "dependencies": {