@fairfox/polly 0.88.1 → 0.89.0

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.
Files changed (102) hide show
  1. package/dist/cli/polly.js +4 -4
  2. package/dist/cli/polly.js.map +2 -2
  3. package/dist/gallery/gallery.css +51 -59
  4. package/dist/gallery/gallery.js +1155 -1047
  5. package/dist/src/actions/index.js +5 -78
  6. package/dist/src/actions/index.js.map +2 -2
  7. package/dist/src/background/index.js +126 -152
  8. package/dist/src/background/index.js.map +4 -4
  9. package/dist/src/background/message-router.js +126 -152
  10. package/dist/src/background/message-router.js.map +4 -4
  11. package/dist/src/client/index.js +186 -259
  12. package/dist/src/client/index.js.map +5 -5
  13. package/dist/src/elysia/index.js +21 -35
  14. package/dist/src/elysia/index.js.map +2 -2
  15. package/dist/src/index.js +218 -246
  16. package/dist/src/index.js.map +10 -10
  17. package/dist/src/mesh.js +49 -61
  18. package/dist/src/mesh.js.map +4 -4
  19. package/dist/src/peer.js +23 -52
  20. package/dist/src/peer.js.map +2 -2
  21. package/dist/src/polly-ui/Button.d.ts +7 -0
  22. package/dist/src/polly-ui/Collapsible.d.ts +3 -1
  23. package/dist/src/polly-ui/Layout.d.ts +16 -1
  24. package/dist/src/polly-ui/index.css +47 -59
  25. package/dist/src/polly-ui/index.js +112 -124
  26. package/dist/src/polly-ui/index.js.map +13 -13
  27. package/dist/src/polly-ui/markdown.js +72 -145
  28. package/dist/src/polly-ui/markdown.js.map +2 -2
  29. package/dist/src/polly-ui/styles.css +47 -59
  30. package/dist/src/polly-ui/theme.css +10 -0
  31. package/dist/src/shared/adapters/index.js +31 -44
  32. package/dist/src/shared/adapters/index.js.map +2 -2
  33. package/dist/src/shared/lib/context-helpers.js +126 -152
  34. package/dist/src/shared/lib/context-helpers.js.map +4 -4
  35. package/dist/src/shared/lib/errors.js +1 -74
  36. package/dist/src/shared/lib/errors.js.map +2 -2
  37. package/dist/src/shared/lib/guards.js +1 -74
  38. package/dist/src/shared/lib/guards.js.map +2 -2
  39. package/dist/src/shared/lib/message-bus.js +126 -152
  40. package/dist/src/shared/lib/message-bus.js.map +4 -4
  41. package/dist/src/shared/lib/resource.js +16 -27
  42. package/dist/src/shared/lib/resource.js.map +5 -5
  43. package/dist/src/shared/lib/state.js +13 -26
  44. package/dist/src/shared/lib/state.js.map +2 -2
  45. package/dist/src/shared/lib/test-helpers.js +1 -74
  46. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  47. package/dist/src/shared/state/app-state.js +35 -46
  48. package/dist/src/shared/state/app-state.js.map +5 -5
  49. package/dist/src/shared/types/messages.js +1 -74
  50. package/dist/src/shared/types/messages.js.map +2 -2
  51. package/dist/tools/bdd/src/cli.js +11 -15
  52. package/dist/tools/bdd/src/cli.js.map +2 -2
  53. package/dist/tools/bdd/src/index.js +11 -19
  54. package/dist/tools/bdd/src/index.js.map +2 -2
  55. package/dist/tools/gallery/src/cli.js +1 -18
  56. package/dist/tools/gallery/src/cli.js.map +2 -2
  57. package/dist/tools/init/src/cli.js +1 -18
  58. package/dist/tools/init/src/cli.js.map +2 -2
  59. package/dist/tools/mutate/src/cli.js +8 -25
  60. package/dist/tools/mutate/src/cli.js.map +2 -2
  61. package/dist/tools/mutate/src/index.js +8 -26
  62. package/dist/tools/mutate/src/index.js.map +2 -2
  63. package/dist/tools/quality/src/cli.js +39 -46
  64. package/dist/tools/quality/src/cli.js.map +3 -3
  65. package/dist/tools/quality/src/css/check-layout.d.ts +5 -3
  66. package/dist/tools/quality/src/index.js +39 -47
  67. package/dist/tools/quality/src/index.js.map +3 -3
  68. package/dist/tools/test/src/adapters/index.js +4 -77
  69. package/dist/tools/test/src/adapters/index.js.map +2 -2
  70. package/dist/tools/test/src/browser/index.js +1 -74
  71. package/dist/tools/test/src/browser/index.js.map +2 -2
  72. package/dist/tools/test/src/browser/run.js +5 -22
  73. package/dist/tools/test/src/browser/run.js.map +2 -2
  74. package/dist/tools/test/src/contrast/index.js +1 -74
  75. package/dist/tools/test/src/contrast/index.js.map +2 -2
  76. package/dist/tools/test/src/coverage-policy/cli.js +13 -25
  77. package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
  78. package/dist/tools/test/src/coverage-policy/index.js +11 -23
  79. package/dist/tools/test/src/coverage-policy/index.js.map +2 -2
  80. package/dist/tools/test/src/e2e-mesh/index.js +18 -43
  81. package/dist/tools/test/src/e2e-mesh/index.js.map +2 -2
  82. package/dist/tools/test/src/e2e-relay/index.js +615 -623
  83. package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
  84. package/dist/tools/test/src/index.js +30 -103
  85. package/dist/tools/test/src/index.js.map +5 -5
  86. package/dist/tools/test/src/test-utils.js +1 -74
  87. package/dist/tools/test/src/test-utils.js.map +2 -2
  88. package/dist/tools/test/src/tiers/cli.js +1 -18
  89. package/dist/tools/test/src/tiers/cli.js.map +2 -2
  90. package/dist/tools/test/src/tiers/worker.js +11 -15
  91. package/dist/tools/test/src/tiers/worker.js.map +2 -2
  92. package/dist/tools/test/src/visual/index.js +1112 -1134
  93. package/dist/tools/test/src/visual/index.js.map +3 -3
  94. package/dist/tools/verify/src/cli.js +103 -169
  95. package/dist/tools/verify/src/cli.js.map +2 -2
  96. package/dist/tools/verify/src/config.js +1 -74
  97. package/dist/tools/verify/src/config.js.map +2 -2
  98. package/dist/tools/verify/src/stryker/index.js +1 -19
  99. package/dist/tools/verify/src/stryker/index.js.map +2 -2
  100. package/dist/tools/visualize/src/cli.js +69 -85
  101. package/dist/tools/visualize/src/cli.js.map +2 -2
  102. package/package.json +1 -1
@@ -1,21 +1,3 @@
1
- import { createRequire } from "node:module";
2
- var __defProp = Object.defineProperty;
3
- var __returnValue = (v) => v;
4
- function __exportSetter(name, newValue) {
5
- this[name] = __returnValue.bind(null, newValue);
6
- }
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, {
10
- get: all[name],
11
- enumerable: true,
12
- configurable: true,
13
- set: __exportSetter.bind(all, name)
14
- });
15
- };
16
- var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
- var __require = /* @__PURE__ */ createRequire(import.meta.url);
18
-
19
1
  // tools/quality/src/check-shared-components.ts
20
2
  import { readdir } from "node:fs/promises";
21
3
  import { join, relative } from "node:path";
@@ -249,10 +231,15 @@ function isInsideKeyframes(lineNum, allLines) {
249
231
 
250
232
  // tools/quality/src/css/check-layout.ts
251
233
  var CSS_PATTERNS = [
234
+ { pattern: /display\s*:\s*inline-flex/, kind: "display: inline-flex in CSS" },
252
235
  { pattern: /display\s*:\s*flex/, kind: "display: flex in CSS" },
253
236
  { pattern: /display\s*:\s*grid/, kind: "display: grid in CSS" }
254
237
  ];
255
238
  var TSX_PATTERNS = [
239
+ {
240
+ pattern: /display\s*:\s*['"]inline-flex['"]/,
241
+ kind: "display: inline-flex in inline style"
242
+ },
256
243
  {
257
244
  pattern: /display\s*:\s*['"]flex['"]/,
258
245
  kind: "display: flex in inline style"
@@ -265,7 +252,12 @@ var TSX_PATTERNS = [
265
252
  var SUPPRESS = "layout-ignore";
266
253
  async function checkCssLayout(options) {
267
254
  const rootDir = options.rootDir;
268
- const exempt = options.layoutExemptPaths ?? ["Layout.module.css", "Layout.tsx"];
255
+ const exempt = options.layoutExemptPaths ?? [
256
+ "Layout.module.css",
257
+ "Layout.tsx",
258
+ "Cluster.module.css",
259
+ "Cluster.tsx"
260
+ ];
269
261
  const violations = [];
270
262
  await walkDirectory(rootDir, async (full) => {
271
263
  const isCss = full.endsWith(".module.css");
@@ -774,16 +766,16 @@ function suggestFix(line) {
774
766
  }
775
767
  return;
776
768
  }
777
- function isFileExcluded(relative3, excludeDirs, excludePackages, excludeFiles) {
778
- const segments = relative3.split("/");
769
+ function isFileExcluded(relative, excludeDirs, excludePackages, excludeFiles) {
770
+ const segments = relative.split("/");
779
771
  if (segments.some((s) => excludeDirs.has(s)))
780
772
  return true;
781
773
  if (excludePackages.size > 0 && segments.some((s) => excludePackages.has(s)))
782
774
  return true;
783
775
  const basename = segments[segments.length - 1] ?? "";
784
- return excludeFiles.has(basename) || excludeFiles.has(relative3);
776
+ return excludeFiles.has(basename) || excludeFiles.has(relative);
785
777
  }
786
- function findViolations(relative3, content) {
778
+ function findViolations(relative, content) {
787
779
  const results = [];
788
780
  const lines = content.split(`
789
781
  `);
@@ -798,7 +790,7 @@ function findViolations(relative3, content) {
798
790
  continue;
799
791
  if (!isLineClean(line)) {
800
792
  results.push({
801
- file: relative3,
793
+ file: relative,
802
794
  line: i + 1,
803
795
  content: line.trim(),
804
796
  advice: suggestFix(line.trim())
@@ -833,11 +825,11 @@ async function checkNoAsCasting(options) {
833
825
  const glob = new Glob(pattern);
834
826
  const violations = [];
835
827
  for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {
836
- const relative3 = file.replace(`${rootDir}/`, "");
837
- if (isFileExcluded(relative3, excludeDirs, excludePackages, excludeFiles))
828
+ const relative = file.replace(`${rootDir}/`, "");
829
+ if (isFileExcluded(relative, excludeDirs, excludePackages, excludeFiles))
838
830
  continue;
839
831
  const content = readFileSync(file, "utf-8");
840
- violations.push(...findViolations(relative3, content));
832
+ violations.push(...findViolations(relative, content));
841
833
  }
842
834
  return { violations, print: () => printViolations(violations) };
843
835
  }
@@ -907,10 +899,10 @@ function scanText(content, filePath = "<text>") {
907
899
  }
908
900
  return violations;
909
901
  }
910
- function isExcluded(relative3, excludeDirs, excludeFiles) {
911
- if (relative3.split("/").some((s) => excludeDirs.has(s)))
902
+ function isExcluded(relative, excludeDirs, excludeFiles) {
903
+ if (relative.split("/").some((s) => excludeDirs.has(s)))
912
904
  return true;
913
- const normalized = relative3.replace(/\\/g, "/");
905
+ const normalized = relative.replace(/\\/g, "/");
914
906
  return excludeFiles.some((suffix) => normalized.endsWith(suffix));
915
907
  }
916
908
  function printViolations2(violations) {
@@ -934,10 +926,10 @@ async function checkNoFixedWaits(options) {
934
926
  const glob = new Glob2(options.filePatterns ?? "**/*.{ts,tsx}");
935
927
  const violations = [];
936
928
  for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {
937
- const relative3 = file.replace(`${rootDir}/`, "");
938
- if (isExcluded(relative3, excludeDirs, excludeFiles))
929
+ const relative = file.replace(`${rootDir}/`, "");
930
+ if (isExcluded(relative, excludeDirs, excludeFiles))
939
931
  continue;
940
- violations.push(...scanText(readFileSync2(file, "utf-8"), relative3));
932
+ violations.push(...scanText(readFileSync2(file, "utf-8"), relative));
941
933
  }
942
934
  return { violations, print: () => printViolations2(violations) };
943
935
  }
@@ -972,7 +964,7 @@ function isLineRequireClean(line) {
972
964
  }
973
965
  return false;
974
966
  }
975
- function findRequireViolations(relative3, content) {
967
+ function findRequireViolations(relative, content) {
976
968
  const results = [];
977
969
  const lines = content.split(`
978
970
  `);
@@ -988,7 +980,7 @@ function findRequireViolations(relative3, content) {
988
980
  continue;
989
981
  }
990
982
  if (!isLineRequireClean(line)) {
991
- results.push({ file: relative3, line: i + 1, content: line.trim() });
983
+ results.push({ file: relative, line: i + 1, content: line.trim() });
992
984
  }
993
985
  }
994
986
  return results;
@@ -1014,13 +1006,13 @@ async function checkNoRequire(options) {
1014
1006
  const glob = new Glob3(pattern);
1015
1007
  const violations = [];
1016
1008
  for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {
1017
- const relative3 = file.replace(`${rootDir}/`, "");
1018
- const segments = relative3.split("/");
1009
+ const relative = file.replace(`${rootDir}/`, "");
1010
+ const segments = relative.split("/");
1019
1011
  if (segments.some((s) => excludeDirs.has(s))) {
1020
1012
  continue;
1021
1013
  }
1022
1014
  const content = readFileSync3(file, "utf-8");
1023
- violations.push(...findRequireViolations(relative3, content));
1015
+ violations.push(...findRequireViolations(relative, content));
1024
1016
  }
1025
1017
  return {
1026
1018
  violations,
@@ -1103,19 +1095,19 @@ function splitTopLevelArgs(args) {
1103
1095
  parts.push(args.slice(start));
1104
1096
  return parts.map((p) => p.trim());
1105
1097
  }
1106
- function isFileExcluded2(relative3, excludeDirs, excludeFiles) {
1107
- const segments = relative3.split("/");
1098
+ function isFileExcluded2(relative, excludeDirs, excludeFiles) {
1099
+ const segments = relative.split("/");
1108
1100
  if (segments.some((s) => excludeDirs.has(s)))
1109
1101
  return true;
1110
1102
  const basename = segments[segments.length - 1] ?? "";
1111
- return excludeFiles.has(basename) || excludeFiles.has(relative3);
1103
+ return excludeFiles.has(basename) || excludeFiles.has(relative);
1112
1104
  }
1113
1105
  function isNonCall(line, lineBefore) {
1114
1106
  const isImport = /\b(import|export)\b/.test(line) && line.includes("{") && !line.includes(";");
1115
1107
  const isFrom = /\b(import|export)\b.*\bfrom\b/.test(line);
1116
1108
  return isImport || isFrom || lineBefore.includes("//");
1117
1109
  }
1118
- function findViolations2(relative3, content, callPattern) {
1110
+ function findViolations2(relative, content, callPattern) {
1119
1111
  const results = [];
1120
1112
  callPattern.lastIndex = 0;
1121
1113
  let match = callPattern.exec(content);
@@ -1138,7 +1130,7 @@ function findViolations2(relative3, content, callPattern) {
1138
1130
  if (reason === undefined)
1139
1131
  continue;
1140
1132
  results.push({
1141
- file: relative3,
1133
+ file: relative,
1142
1134
  line: content.slice(0, current.index).split(`
1143
1135
  `).length,
1144
1136
  content: line.trim(),
@@ -1172,10 +1164,10 @@ async function checkNoTautologyEnsures(options) {
1172
1164
  const glob = new Glob4(options.filePatterns ?? "**/*.{ts,tsx}");
1173
1165
  const violations = [];
1174
1166
  for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {
1175
- const relative3 = file.replace(`${rootDir}/`, "");
1176
- if (isFileExcluded2(relative3, excludeDirs, excludeFiles))
1167
+ const relative = file.replace(`${rootDir}/`, "");
1168
+ if (isFileExcluded2(relative, excludeDirs, excludeFiles))
1177
1169
  continue;
1178
- violations.push(...findViolations2(relative3, readFileSync4(file, "utf-8"), callPattern));
1170
+ violations.push(...findViolations2(relative, readFileSync4(file, "utf-8"), callPattern));
1179
1171
  }
1180
1172
  return { violations, print: () => printViolations3(violations) };
1181
1173
  }
@@ -3149,4 +3141,4 @@ export {
3149
3141
  validateRunConfig
3150
3142
  };
3151
3143
 
3152
- //# debugId=77643514A1BFE0F864756E2164756E21
3144
+ //# debugId=3846E0238E002DB364756E2164756E21