skybridge 0.0.0-dev.c676e5e → 0.0.0-dev.c689d72

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 (119) hide show
  1. package/README.md +8 -8
  2. package/dist/cli/use-nodemon.js +2 -2
  3. package/dist/cli/use-nodemon.js.map +1 -1
  4. package/dist/commands/build.js +28 -7
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/start.js +2 -7
  7. package/dist/commands/start.js.map +1 -1
  8. package/dist/server/content-helpers.d.ts +27 -0
  9. package/dist/server/content-helpers.js +46 -0
  10. package/dist/server/content-helpers.js.map +1 -0
  11. package/dist/server/content-helpers.test.js +70 -0
  12. package/dist/server/content-helpers.test.js.map +1 -0
  13. package/dist/server/express.js +3 -3
  14. package/dist/server/express.js.map +1 -1
  15. package/dist/server/express.test.js +39 -2
  16. package/dist/server/express.test.js.map +1 -1
  17. package/dist/server/index.d.ts +4 -3
  18. package/dist/server/index.js +3 -2
  19. package/dist/server/index.js.map +1 -1
  20. package/dist/server/inferUtilityTypes.d.ts +6 -6
  21. package/dist/server/middleware.test.js +12 -9
  22. package/dist/server/middleware.test.js.map +1 -1
  23. package/dist/server/server.d.ts +95 -72
  24. package/dist/server/server.js +191 -72
  25. package/dist/server/server.js.map +1 -1
  26. package/dist/server/templateHelper.d.ts +5 -5
  27. package/dist/server/templates/development.hbs +2 -2
  28. package/dist/server/templates/production.hbs +1 -1
  29. package/dist/server/viewsDevServer.d.ts +14 -0
  30. package/dist/server/viewsDevServer.js +45 -0
  31. package/dist/server/viewsDevServer.js.map +1 -0
  32. package/dist/test/utils.d.ts +8 -20
  33. package/dist/test/utils.js +39 -35
  34. package/dist/test/utils.js.map +1 -1
  35. package/dist/test/view.test.js +523 -0
  36. package/dist/test/view.test.js.map +1 -0
  37. package/dist/web/bridges/apps-sdk/adaptor.d.ts +2 -2
  38. package/dist/web/bridges/apps-sdk/adaptor.js +8 -2
  39. package/dist/web/bridges/apps-sdk/adaptor.js.map +1 -1
  40. package/dist/web/bridges/mcp-app/adaptor.d.ts +6 -6
  41. package/dist/web/bridges/mcp-app/adaptor.js +24 -24
  42. package/dist/web/bridges/mcp-app/adaptor.js.map +1 -1
  43. package/dist/web/bridges/types.d.ts +7 -7
  44. package/dist/web/components/modal-provider.js +1 -1
  45. package/dist/web/components/modal-provider.js.map +1 -1
  46. package/dist/web/create-store.js +9 -9
  47. package/dist/web/create-store.js.map +1 -1
  48. package/dist/web/create-store.test.js +14 -16
  49. package/dist/web/create-store.test.js.map +1 -1
  50. package/dist/web/data-llm.d.ts +1 -1
  51. package/dist/web/data-llm.js +3 -3
  52. package/dist/web/data-llm.js.map +1 -1
  53. package/dist/web/data-llm.test.js +22 -22
  54. package/dist/web/data-llm.test.js.map +1 -1
  55. package/dist/web/generate-helpers.d.ts +20 -18
  56. package/dist/web/generate-helpers.js +20 -18
  57. package/dist/web/generate-helpers.js.map +1 -1
  58. package/dist/web/generate-helpers.test-d.js +26 -26
  59. package/dist/web/generate-helpers.test-d.js.map +1 -1
  60. package/dist/web/helpers/state.d.ts +2 -2
  61. package/dist/web/helpers/state.js +11 -11
  62. package/dist/web/helpers/state.js.map +1 -1
  63. package/dist/web/helpers/state.test.js +9 -9
  64. package/dist/web/helpers/state.test.js.map +1 -1
  65. package/dist/web/hooks/index.d.ts +1 -1
  66. package/dist/web/hooks/index.js +1 -1
  67. package/dist/web/hooks/index.js.map +1 -1
  68. package/dist/web/hooks/use-request-modal.d.ts +1 -1
  69. package/dist/web/hooks/use-request-modal.js +4 -4
  70. package/dist/web/hooks/use-request-modal.js.map +1 -1
  71. package/dist/web/hooks/use-request-modal.test.js +1 -1
  72. package/dist/web/hooks/use-request-modal.test.js.map +1 -1
  73. package/dist/web/hooks/use-view-state.d.ts +4 -0
  74. package/dist/web/hooks/use-view-state.js +32 -0
  75. package/dist/web/hooks/use-view-state.js.map +1 -0
  76. package/dist/web/hooks/{use-widget-state.test.js → use-view-state.test.js} +17 -17
  77. package/dist/web/hooks/use-view-state.test.js.map +1 -0
  78. package/dist/web/index.d.ts +1 -2
  79. package/dist/web/index.js +1 -2
  80. package/dist/web/index.js.map +1 -1
  81. package/dist/web/mount-view.d.ts +1 -0
  82. package/dist/web/{mount-widget.js → mount-view.js} +2 -2
  83. package/dist/web/mount-view.js.map +1 -0
  84. package/dist/web/plugin/plugin.d.ts +4 -1
  85. package/dist/web/plugin/plugin.js +112 -25
  86. package/dist/web/plugin/plugin.js.map +1 -1
  87. package/dist/web/plugin/scan-views.d.ts +8 -0
  88. package/dist/web/plugin/scan-views.js +70 -0
  89. package/dist/web/plugin/scan-views.js.map +1 -0
  90. package/dist/web/plugin/scan-views.test.d.ts +1 -0
  91. package/dist/web/plugin/scan-views.test.js +67 -0
  92. package/dist/web/plugin/scan-views.test.js.map +1 -0
  93. package/dist/web/plugin/validate-view.d.ts +1 -0
  94. package/dist/web/plugin/validate-view.js +9 -0
  95. package/dist/web/plugin/validate-view.js.map +1 -0
  96. package/dist/web/plugin/validate-view.test.d.ts +1 -0
  97. package/dist/web/plugin/validate-view.test.js +24 -0
  98. package/dist/web/plugin/validate-view.test.js.map +1 -0
  99. package/package.json +17 -10
  100. package/tsconfig.base.json +2 -0
  101. package/dist/server/widgetsDevServer.d.ts +0 -13
  102. package/dist/server/widgetsDevServer.js +0 -52
  103. package/dist/server/widgetsDevServer.js.map +0 -1
  104. package/dist/test/widget.test.js +0 -334
  105. package/dist/test/widget.test.js.map +0 -1
  106. package/dist/web/hooks/use-widget-state.d.ts +0 -4
  107. package/dist/web/hooks/use-widget-state.js +0 -32
  108. package/dist/web/hooks/use-widget-state.js.map +0 -1
  109. package/dist/web/hooks/use-widget-state.test.js.map +0 -1
  110. package/dist/web/mount-widget.d.ts +0 -1
  111. package/dist/web/mount-widget.js.map +0 -1
  112. package/dist/web/plugin/validate-widget.d.ts +0 -5
  113. package/dist/web/plugin/validate-widget.js +0 -27
  114. package/dist/web/plugin/validate-widget.js.map +0 -1
  115. package/dist/web/plugin/validate-widget.test.js +0 -42
  116. package/dist/web/plugin/validate-widget.test.js.map +0 -1
  117. /package/dist/{test/widget.test.d.ts → server/content-helpers.test.d.ts} +0 -0
  118. /package/dist/{web/hooks/use-widget-state.test.d.ts → test/view.test.d.ts} +0 -0
  119. /package/dist/web/{plugin/validate-widget.test.d.ts → hooks/use-view-state.test.d.ts} +0 -0
@@ -1,27 +0,0 @@
1
- function hasExportDefault(code) {
2
- return (/export\s+default\s/.test(code) ||
3
- /export\s*\{[^}]*\bas\s+default\b[^}]*}/.test(code));
4
- }
5
- function hasMountWidgetCall(code) {
6
- return /mountWidget\s*\(/.test(code);
7
- }
8
- function stripComments(code) {
9
- return code.replace(/\/\/.*$/gm, "").replace(/\/\*[\s\S]*?\*\//g, "");
10
- }
11
- export function validateWidget(code, filePath) {
12
- code = stripComments(code);
13
- const warnings = [];
14
- const fileName = filePath.split("/").pop() ?? filePath;
15
- if (!hasExportDefault(code)) {
16
- warnings.push({
17
- message: `Widget file "${fileName}" is missing a default export. Add "export default <ComponentName>" to ensure the widget is properly registered.`,
18
- });
19
- }
20
- if (!hasMountWidgetCall(code)) {
21
- warnings.push({
22
- message: `Widget file "${fileName}" is missing a mountWidget() call. Add "mountWidget(<Component />)" to mount the component to the DOM.`,
23
- });
24
- }
25
- return warnings;
26
- }
27
- //# sourceMappingURL=validate-widget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-widget.js","sourceRoot":"","sources":["../../../src/web/plugin/validate-widget.ts"],"names":[],"mappings":"AAIA,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,CACL,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,QAAgB;IAC3D,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;IAEvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,gBAAgB,QAAQ,kHAAkH;SACpJ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,gBAAgB,QAAQ,wGAAwG;SAC1I,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,42 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { validateWidget } from "./validate-widget.js";
3
- describe("validateWidget", () => {
4
- it("returns no warnings for a valid widget", () => {
5
- expect(validateWidget("export default MyWidget;\nmountWidget(<MyWidget />);", "src/widgets/my-widget.tsx")).toEqual([]);
6
- });
7
- it("accepts all default export syntaxes", () => {
8
- for (const exportLine of [
9
- "export default MyWidget;",
10
- "export default function MyWidget() {}",
11
- "export { Foo as default };",
12
- ]) {
13
- expect(validateWidget(`${exportLine}\nmountWidget(<MyWidget />);`, "src/widgets/my-widget.tsx")).toEqual([]);
14
- }
15
- });
16
- it("warns when export default is missing", () => {
17
- const warnings = validateWidget("mountWidget(<MyWidget />);", "src/widgets/my-widget.tsx");
18
- expect(warnings).toHaveLength(1);
19
- expect(warnings[0]?.message).toContain("missing a default export");
20
- expect(warnings[0]?.message).toContain("my-widget.tsx");
21
- });
22
- it("warns when mountWidget() call is missing", () => {
23
- const warnings = validateWidget("export default MyWidget;", "src/widgets/my-widget.tsx");
24
- expect(warnings).toHaveLength(1);
25
- expect(warnings[0]?.message).toContain("missing a mountWidget() call");
26
- expect(warnings[0]?.message).toContain("my-widget.tsx");
27
- });
28
- it("ignores commented-out code", () => {
29
- const code = `
30
- // export default MyWidget;
31
- // mountWidget(<MyWidget />);
32
- /* export default MyWidget; */
33
- /* mountWidget(<MyWidget />); */
34
- `;
35
- expect(validateWidget(code, "src/widgets/my-widget.tsx")).toHaveLength(2);
36
- });
37
- it("uses filename from path for directory widgets", () => {
38
- const warnings = validateWidget("", "src/widgets/foo/index.tsx");
39
- expect(warnings[0]?.message).toContain("index.tsx");
40
- });
41
- });
42
- //# sourceMappingURL=validate-widget.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-widget.test.js","sourceRoot":"","sources":["../../../src/web/plugin/validate-widget.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CACJ,cAAc,CACZ,sDAAsD,EACtD,2BAA2B,CAC5B,CACF,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,KAAK,MAAM,UAAU,IAAI;YACvB,0BAA0B;YAC1B,uCAAuC;YACvC,4BAA4B;SAC7B,EAAE,CAAC;YACF,MAAM,CACJ,cAAc,CACZ,GAAG,UAAU,8BAA8B,EAC3C,2BAA2B,CAC5B,CACF,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,cAAc,CAC7B,4BAA4B,EAC5B,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,cAAc,CAC7B,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,IAAI,GAAG;;;;;KAKZ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}