attio 0.0.1-experimental.20240530 → 0.0.1-experimental.20240614

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 (131) hide show
  1. package/lib/attio.d.ts +3 -0
  2. package/lib/attio.d.ts.map +1 -0
  3. package/lib/attio.js +10 -0
  4. package/lib/attio.js.map +1 -0
  5. package/lib/build/client/create-client-build-config.d.ts +6 -0
  6. package/lib/build/client/create-client-build-config.d.ts.map +1 -0
  7. package/lib/build/client/create-client-build-config.js +26 -0
  8. package/lib/build/client/create-client-build-config.js.map +1 -0
  9. package/lib/build/client/generate-client-entry.d.ts +6 -0
  10. package/lib/build/client/generate-client-entry.d.ts.map +1 -0
  11. package/lib/build/client/generate-client-entry.js +30 -0
  12. package/lib/build/client/generate-client-entry.js.map +1 -0
  13. package/lib/build/get-module-hash.d.ts +2 -0
  14. package/lib/build/get-module-hash.d.ts.map +1 -0
  15. package/lib/build/get-module-hash.js +5 -0
  16. package/lib/build/get-module-hash.js.map +1 -0
  17. package/lib/build/proxy-server-modules-plugin.d.ts +5 -0
  18. package/lib/build/proxy-server-modules-plugin.d.ts.map +1 -0
  19. package/lib/build/proxy-server-modules-plugin.js +35 -0
  20. package/lib/build/proxy-server-modules-plugin.js.map +1 -0
  21. package/lib/build/server/create-server-build-config.d.ts +3 -0
  22. package/lib/build/server/create-server-build-config.d.ts.map +1 -0
  23. package/lib/build/server/create-server-build-config.js +22 -0
  24. package/lib/build/server/create-server-build-config.js.map +1 -0
  25. package/lib/build/server/generate-server-entry.d.ts +5 -0
  26. package/lib/build/server/generate-server-entry.d.ts.map +1 -0
  27. package/lib/build/server/generate-server-entry.js +46 -0
  28. package/lib/build/server/generate-server-entry.js.map +1 -0
  29. package/lib/build.d.ts +1 -4
  30. package/lib/build.d.ts.map +1 -1
  31. package/lib/build.js +5 -54
  32. package/lib/build.js.map +1 -1
  33. package/lib/commands/build.d.ts +0 -1
  34. package/lib/commands/build.d.ts.map +1 -1
  35. package/lib/commands/build.js +23 -19
  36. package/lib/commands/build.js.map +1 -1
  37. package/lib/commands/dev.d.ts +3 -0
  38. package/lib/commands/dev.d.ts.map +1 -0
  39. package/lib/commands/dev.js +73 -0
  40. package/lib/commands/dev.js.map +1 -0
  41. package/lib/commands/index.d.ts +30 -0
  42. package/lib/commands/index.d.ts.map +1 -0
  43. package/lib/commands/{scaffold.js → index.js} +56 -21
  44. package/lib/commands/index.js.map +1 -0
  45. package/lib/components/Disclaimer.d.ts +3 -0
  46. package/lib/components/Disclaimer.d.ts.map +1 -0
  47. package/lib/components/Disclaimer.js +10 -0
  48. package/lib/components/Disclaimer.js.map +1 -0
  49. package/lib/components/InitialInstructions.d.ts +5 -0
  50. package/lib/components/InitialInstructions.d.ts.map +1 -0
  51. package/lib/components/InitialInstructions.js +59 -0
  52. package/lib/components/InitialInstructions.js.map +1 -0
  53. package/lib/components/Logo.d.ts +3 -0
  54. package/lib/components/Logo.d.ts.map +1 -0
  55. package/lib/components/Logo.js +11 -0
  56. package/lib/components/Logo.js.map +1 -0
  57. package/lib/components/Select.d.ts +2 -1
  58. package/lib/components/Select.d.ts.map +1 -1
  59. package/lib/components/Select.js +2 -2
  60. package/lib/components/Select.js.map +1 -1
  61. package/lib/components/{TypeScriptError.d.ts → TypeScriptErrors.d.ts} +1 -1
  62. package/lib/components/TypeScriptErrors.d.ts.map +1 -0
  63. package/lib/components/{TypeScriptError.js → TypeScriptErrors.js} +1 -1
  64. package/lib/components/TypeScriptErrors.js.map +1 -0
  65. package/lib/hooks/useFullScreen.d.ts.map +1 -1
  66. package/lib/hooks/useFullScreen.js +5 -5
  67. package/lib/hooks/useFullScreen.js.map +1 -1
  68. package/lib/machines/build-machine.d.ts +1694 -32
  69. package/lib/machines/build-machine.d.ts.map +1 -1
  70. package/lib/machines/build-machine.js +107 -41
  71. package/lib/machines/build-machine.js.map +1 -1
  72. package/lib/machines/build-orchestrator.d.ts +16 -0
  73. package/lib/machines/build-orchestrator.d.ts.map +1 -0
  74. package/lib/machines/build-orchestrator.js +2 -0
  75. package/lib/machines/build-orchestrator.js.map +1 -0
  76. package/lib/machines/dev-machine.d.ts +2083 -0
  77. package/lib/machines/dev-machine.d.ts.map +1 -0
  78. package/lib/machines/dev-machine.js +224 -0
  79. package/lib/machines/dev-machine.js.map +1 -0
  80. package/lib/machines/js-machine.d.ts +240 -0
  81. package/lib/machines/js-machine.d.ts.map +1 -0
  82. package/lib/machines/js-machine.js +166 -0
  83. package/lib/machines/js-machine.js.map +1 -0
  84. package/lib/machines/scaffold-machine.d.ts +77 -44
  85. package/lib/machines/scaffold-machine.d.ts.map +1 -1
  86. package/lib/machines/scaffold-machine.js +168 -112
  87. package/lib/machines/scaffold-machine.js.map +1 -1
  88. package/lib/machines/ts-machine.d.ts +149 -0
  89. package/lib/machines/ts-machine.d.ts.map +1 -0
  90. package/lib/machines/ts-machine.js +103 -0
  91. package/lib/machines/ts-machine.js.map +1 -0
  92. package/lib/templates/common/README.md +6 -0
  93. package/lib/templates/javascript/.eslintignore +0 -1
  94. package/lib/templates/javascript/eslint.config.js +43 -0
  95. package/lib/templates/javascript/package.json +8 -6
  96. package/lib/templates/javascript/{counter-action.jsx → src/app/record/counter-action.jsx} +1 -1
  97. package/lib/templates/typescript/.eslintignore +0 -1
  98. package/lib/templates/typescript/eslint.config.js +50 -0
  99. package/lib/templates/typescript/package.json +11 -6
  100. package/lib/templates/typescript/{counter-action.tsx → src/app/record/counter-action.tsx} +1 -1
  101. package/lib/templates/typescript/tsconfig.json +2 -6
  102. package/lib/util/typescript.d.ts +1 -1
  103. package/lib/util/typescript.d.ts.map +1 -1
  104. package/lib/util/typescript.js +5 -1
  105. package/lib/util/typescript.js.map +1 -1
  106. package/lib/util/upload-bundle.d.ts +62 -0
  107. package/lib/util/upload-bundle.d.ts.map +1 -0
  108. package/lib/util/upload-bundle.js +144 -0
  109. package/lib/util/upload-bundle.js.map +1 -0
  110. package/package.json +7 -3
  111. package/lib/cli.d.ts +0 -3
  112. package/lib/cli.d.ts.map +0 -1
  113. package/lib/cli.js +0 -5
  114. package/lib/cli.js.map +0 -1
  115. package/lib/commands/scaffold.d.ts +0 -10
  116. package/lib/commands/scaffold.d.ts.map +0 -1
  117. package/lib/commands/scaffold.js.map +0 -1
  118. package/lib/commands/watch.d.ts +0 -3
  119. package/lib/commands/watch.d.ts.map +0 -1
  120. package/lib/commands/watch.js +0 -56
  121. package/lib/commands/watch.js.map +0 -1
  122. package/lib/components/TypeScriptError.d.ts.map +0 -1
  123. package/lib/components/TypeScriptError.js.map +0 -1
  124. package/lib/machines/watch-machine.d.ts +0 -199
  125. package/lib/machines/watch-machine.d.ts.map +0 -1
  126. package/lib/machines/watch-machine.js +0 -218
  127. package/lib/machines/watch-machine.js.map +0 -1
  128. package/lib/templates/javascript/eslint.cjs +0 -1
  129. package/lib/templates/typescript/eslint.cjs +0 -6
  130. /package/lib/templates/javascript/{actions.jsx → src/app/record/actions.jsx} +0 -0
  131. /package/lib/templates/typescript/{actions.tsx → src/app/record/actions.tsx} +0 -0
package/lib/attio.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=attio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attio.d.ts","sourceRoot":"","sources":["../src/attio.ts"],"names":[],"mappings":""}
package/lib/attio.js ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import Pastel from "pastel";
3
+ const app = new Pastel({
4
+ name: "attio",
5
+ description: "CLI for creating Attio extensions.",
6
+ importMeta: import.meta,
7
+ version: "0.0.1",
8
+ });
9
+ await app.run();
10
+ //# sourceMappingURL=attio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attio.js","sourceRoot":"","sources":["../src/attio.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,oCAAoC;IACjD,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,OAAO,EAAE,OAAO;CACnB,CAAC,CAAA;AAEF,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ import * as esbuild from "esbuild";
2
+ export declare function createClientBuildConfig({ appDir, contents, }: {
3
+ appDir: string;
4
+ contents: string;
5
+ }): esbuild.BuildOptions;
6
+ //# sourceMappingURL=create-client-build-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-client-build-config.d.ts","sourceRoot":"","sources":["../../../src/build/client/create-client-build-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAIlC,wBAAgB,uBAAuB,CAAC,EACpC,MAAM,EACN,QAAQ,GACX,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACnB,GAAG,OAAO,CAAC,YAAY,CAsBvB"}
@@ -0,0 +1,26 @@
1
+ import globalExternals from "@fal-works/esbuild-plugin-global-externals";
2
+ import { proxyServerModulesPlugin } from "../proxy-server-modules-plugin.js";
3
+ export function createClientBuildConfig({ appDir, contents, }) {
4
+ return {
5
+ stdin: {
6
+ contents,
7
+ resolveDir: ".",
8
+ loader: "tsx",
9
+ },
10
+ logLevel: "silent",
11
+ bundle: true,
12
+ platform: "browser",
13
+ format: "iife",
14
+ plugins: [
15
+ globalExternals({
16
+ "react": "React",
17
+ "@attio/extension-sdk": {
18
+ varName: "ATTIO_CLIENT_EXTENSION_SDK",
19
+ type: "cjs",
20
+ },
21
+ }),
22
+ proxyServerModulesPlugin({ appDir }),
23
+ ],
24
+ };
25
+ }
26
+ //# sourceMappingURL=create-client-build-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-client-build-config.js","sourceRoot":"","sources":["../../../src/build/client/create-client-build-config.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4CAA4C,CAAA;AAGxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAA;AAE1E,MAAM,UAAU,uBAAuB,CAAC,EACpC,MAAM,EACN,QAAQ,GAIX;IACG,OAAO;QACH,KAAK,EAAE;YACH,QAAQ;YACR,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,KAAK;SAChB;QACD,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,eAAe,CAAC;gBACZ,OAAO,EAAE,OAAO;gBAChB,sBAAsB,EAAE;oBACpB,OAAO,EAAE,4BAA4B;oBACrC,IAAI,EAAE,KAAK;iBACd;aACJ,CAAQ;YACT,wBAAwB,CAAC,EAAC,MAAM,EAAC,CAAC;SACrC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function generateClientEntry({ appDir, routes, log, }: {
2
+ appDir: string;
3
+ routes: ReadonlyArray<string>;
4
+ log?: (message: string) => void;
5
+ }): Promise<string>;
6
+ //# sourceMappingURL=generate-client-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-client-entry.d.ts","sourceRoot":"","sources":["../../../src/build/client/generate-client-entry.ts"],"names":[],"mappings":"AAGA,wBAAsB,mBAAmB,CAAC,EACtC,MAAM,EACN,MAAM,EACN,GAAG,GACN,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,mBAwCA"}
@@ -0,0 +1,30 @@
1
+ import { glob } from "glob";
2
+ import path from "path";
3
+ export async function generateClientEntry({ appDir, routes, log, }) {
4
+ log === null || log === void 0 ? void 0 : log(`💥 Found entry point at ${path.resolve(appDir)}`);
5
+ const concreteRoutes = (await Promise.all(routes.map(async (route) => {
6
+ try {
7
+ const concreteRoutes = await glob(route, {
8
+ nodir: true,
9
+ cwd: appDir,
10
+ });
11
+ for (const concreteRoute of concreteRoutes) {
12
+ log === null || log === void 0 ? void 0 : log(`🔎 Found route "${concreteRoute}"`);
13
+ }
14
+ return concreteRoutes;
15
+ }
16
+ catch {
17
+ return [];
18
+ }
19
+ }))).flat();
20
+ return `
21
+ ${concreteRoutes
22
+ .map((route, index) => `import C${index} from ${JSON.stringify(`.${path.sep}${path.join(appDir, route)}`)}`)
23
+ .join("\n")}
24
+
25
+ ${concreteRoutes
26
+ .map((route, index) => `registerExtensionComponent({route: ${JSON.stringify(route)}, component: C${index}})`)
27
+ .join("\n")}
28
+ `;
29
+ }
30
+ //# sourceMappingURL=generate-client-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-client-entry.js","sourceRoot":"","sources":["../../../src/build/client/generate-client-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACtC,MAAM,EACN,MAAM,EACN,GAAG,GAKN;IACG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,2BAA2B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAExD,MAAM,cAAc,GAAG,CACnB,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,IAAI,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;gBACrC,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,MAAM;aACd,CAAC,CAAA;YAEF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBACzC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,mBAAmB,aAAa,GAAG,CAAC,CAAA;YAC9C,CAAC;YAED,OAAO,cAAc,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC,CAAC,CACL,CACJ,CAAC,IAAI,EAAE,CAAA;IAER,OAAO;EACT,cAAc;SACX,GAAG,CACA,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAEb,WAAW,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAC3F;SACA,IAAI,CAAC,IAAI,CAAC;;EAEb,cAAc;SACX,GAAG,CACA,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACb,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAC5F;SACA,IAAI,CAAC,IAAI,CAAC;CACd,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getModuleHash(modulePath: string): string;
2
+ //# sourceMappingURL=get-module-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-module-hash.d.ts","sourceRoot":"","sources":["../../src/build/get-module-hash.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,UAE/C"}
@@ -0,0 +1,5 @@
1
+ import { murmur3 } from "murmurhash-js";
2
+ export function getModuleHash(modulePath) {
3
+ return murmur3(modulePath).toString(16);
4
+ }
5
+ //# sourceMappingURL=get-module-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-module-hash.js","sourceRoot":"","sources":["../../src/build/get-module-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAKrC,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC5C,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as esbuild from "esbuild";
2
+ export declare function proxyServerModulesPlugin({ appDir }: {
3
+ appDir: string;
4
+ }): esbuild.Plugin;
5
+ //# sourceMappingURL=proxy-server-modules-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-server-modules-plugin.d.ts","sourceRoot":"","sources":["../../src/build/proxy-server-modules-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AA4BlC,wBAAgB,wBAAwB,CAAC,EAAC,MAAM,EAAC,EAAE;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,MAAM,CAwBnF"}
@@ -0,0 +1,35 @@
1
+ import path from "path";
2
+ import { getModuleHash } from "./get-module-hash.js";
3
+ function getServerModuleProxy(moduleHash) {
4
+ return `export default async function(...args) {
5
+ const script = await fetch("server.js").then(async (response) => response.text())
6
+
7
+ const module = await import("data:text/javascript," + script)
8
+
9
+ return module.default(${JSON.stringify(moduleHash)}, args)
10
+ }`;
11
+ }
12
+ const PLUGIN_NAME = "proxy-server-modules-plugin";
13
+ export function proxyServerModulesPlugin({ appDir }) {
14
+ return {
15
+ name: PLUGIN_NAME,
16
+ setup(build) {
17
+ build.onResolve({ filter: /\.server$/ }, (args) => {
18
+ const filePath = path.relative(appDir, path.resolve(args.resolveDir, args.path));
19
+ return {
20
+ path: args.path,
21
+ namespace: PLUGIN_NAME,
22
+ pluginData: { moduleHash: getModuleHash(filePath) },
23
+ };
24
+ });
25
+ build.onLoad({ filter: /.*/, namespace: PLUGIN_NAME }, async (args) => {
26
+ const pluginData = args.pluginData;
27
+ return {
28
+ contents: getServerModuleProxy(pluginData.moduleHash),
29
+ loader: "js",
30
+ };
31
+ });
32
+ },
33
+ };
34
+ }
35
+ //# sourceMappingURL=proxy-server-modules-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy-server-modules-plugin.js","sourceRoot":"","sources":["../../src/build/proxy-server-modules-plugin.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAA;AAKlD,SAAS,oBAAoB,CAAC,UAAkB;IAC5C,OAAO;;;;;4BAKiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;EACpD,CAAA;AACF,CAAC;AAMD,MAAM,WAAW,GAAG,6BAA6B,CAAA;AAMjD,MAAM,UAAU,wBAAwB,CAAC,EAAC,MAAM,EAAmB;IAC/D,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,KAAK,CAAC,KAAK;YACP,KAAK,CAAC,SAAS,CAAC,EAAC,MAAM,EAAE,WAAW,EAAC,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAEhF,OAAO;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,EAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAsB;iBACzE,CAAA;YACL,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAwB,CAAA;gBAEhD,OAAO;oBACH,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC;oBACrD,MAAM,EAAE,IAAI;iBACf,CAAA;YACL,CAAC,CAAC,CAAA;QACN,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as esbuild from "esbuild";
2
+ export declare function createServerBuildConfig(contents: string): esbuild.BuildOptions;
3
+ //# sourceMappingURL=create-server-build-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-server-build-config.d.ts","sourceRoot":"","sources":["../../../src/build/server/create-server-build-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAmB9E"}
@@ -0,0 +1,22 @@
1
+ import globalExternals from "@fal-works/esbuild-plugin-global-externals";
2
+ export function createServerBuildConfig(contents) {
3
+ return {
4
+ stdin: {
5
+ contents,
6
+ resolveDir: ".",
7
+ loader: "ts",
8
+ },
9
+ bundle: true,
10
+ platform: "browser",
11
+ format: "esm",
12
+ plugins: [
13
+ globalExternals({
14
+ "@attio/extension-sdk": {
15
+ varName: "ATTIO_CLIENT_EXTENSION_SDK",
16
+ type: "cjs",
17
+ },
18
+ }),
19
+ ],
20
+ };
21
+ }
22
+ //# sourceMappingURL=create-server-build-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-server-build-config.js","sourceRoot":"","sources":["../../../src/build/server/create-server-build-config.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4CAA4C,CAAA;AAGxE,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACpD,OAAO;QACH,KAAK,EAAE;YACH,QAAQ;YACR,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,IAAI;SACf;QACD,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACL,eAAe,CAAC;gBACZ,sBAAsB,EAAE;oBACpB,OAAO,EAAE,4BAA4B;oBACrC,IAAI,EAAE,KAAK;iBACd;aACJ,CAAQ;SACZ;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function generateServerEntry({ appDir, log, }: {
2
+ appDir: string;
3
+ log?: (message: string) => void;
4
+ }): Promise<string>;
5
+ //# sourceMappingURL=generate-server-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-server-entry.d.ts","sourceRoot":"","sources":["../../../src/build/server/generate-server-entry.ts"],"names":[],"mappings":"AAKA,wBAAsB,mBAAmB,CAAC,EACtC,MAAM,EACN,GAAG,GACN,EAAE;IACC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC,mBAoDA"}
@@ -0,0 +1,46 @@
1
+ import { glob } from "glob";
2
+ import path from "path";
3
+ import { getModuleHash } from "../get-module-hash.js";
4
+ export async function generateServerEntry({ appDir, log, }) {
5
+ const concretePaths = (await Promise.all([
6
+ glob("**/*.server.ts", { nodir: true, cwd: appDir }),
7
+ glob("**/*.server.js", { nodir: true, cwd: appDir }),
8
+ ])).flat();
9
+ const modules = concretePaths.map((path) => ({
10
+ path,
11
+ hash: getModuleHash(path.replace(/\.(js|ts)$/, "")),
12
+ }));
13
+ for (const module of modules) {
14
+ log === null || log === void 0 ? void 0 : log(`🔎 Found server module "${module.path}"`);
15
+ }
16
+ return `
17
+ ${modules
18
+ .map((module, index) => `import * as C${index} from ${JSON.stringify(`.${path.sep}${path.join(appDir, module.path)}`)}`)
19
+ .join("\n")}
20
+
21
+ const modules = new Map()
22
+
23
+ ${modules.map((module, index) => `modules.set("${module.hash}", C${index})`).join("\n")}
24
+
25
+ export default function(moduleHash, args) {
26
+ const module = modules.get(moduleHash)
27
+
28
+ if (!module) {
29
+ throw new Error(\`Module \${moduleHash} not found\`)
30
+ }
31
+
32
+ const func = module.default
33
+
34
+ if (!func) {
35
+ throw new Error(\`Default export not found in module \${moduleHash}\`)
36
+ }
37
+
38
+ if (typeof func !== "function") {
39
+ throw new Error(\`\${moduleHash} does not export a function\`)
40
+ }
41
+
42
+ return func(...args)
43
+ }
44
+ `;
45
+ }
46
+ //# sourceMappingURL=generate-server-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-server-entry.js","sourceRoot":"","sources":["../../../src/build/server/generate-server-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AAEnD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACtC,MAAM,EACN,GAAG,GAIN;IACG,MAAM,aAAa,GAAG,CAClB,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC;KACrD,CAAC,CACL,CAAC,IAAI,EAAE,CAAA;IAER,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI;QACJ,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KACtD,CAAC,CAAC,CAAA;IAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,2BAA2B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;IACpD,CAAC;IAED,OAAO;MACL,OAAO;SACJ,GAAG,CACA,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAEd,gBAAgB,KAAK,SAAS,IAAI,CAAC,SAAS,CACxC,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAClD,EAAE,CACV;SACA,IAAI,CAAC,IAAI,CAAC;;;;UAIT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,gBAAgB,MAAM,CAAC,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;CAqB9F,CAAA;AACD,CAAC"}
package/lib/build.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import * as esbuild from "esbuild";
2
1
  import { z } from "zod";
3
- export declare const HARDCODED_OUTPUT_FILES: string[];
2
+ export declare const ROUTES: readonly ["record/actions.jsx", "record/actions.tsx", "workflow-tools/*/tool.jsx", "workflow-tools/*/tool.tsx"];
4
3
  export declare const errorSchema: z.ZodObject<{
5
4
  errors: z.ZodArray<z.ZodObject<{
6
5
  text: z.ZodString;
@@ -154,7 +153,5 @@ export declare const errorSchema: z.ZodObject<{
154
153
  }[];
155
154
  }>;
156
155
  export type BuildError = z.infer<typeof errorSchema>;
157
- export declare const createBuildConfig: (contents: string) => esbuild.BuildOptions;
158
156
  export declare const getAppDir: () => string;
159
- export declare function generateEntry(log?: (message: string) => void): Promise<string>;
160
157
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAIlC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAIrB,eAAO,MAAM,sBAAsB,UAUlC,CAAA;AAoBD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAEpD,eAAO,MAAM,iBAAiB,aAAc,MAAM,KAAG,QAAQ,YAmB3D,CAAA;AAEF,eAAO,MAAM,SAAS,cAOrB,CAAA;AAED,wBAAsB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,mBAyClE"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,eAAO,MAAM,MAAM,iHAKT,CAAA;AAoBV,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAEpD,eAAO,MAAM,SAAS,cAOrB,CAAA"}
package/lib/build.js CHANGED
@@ -1,12 +1,11 @@
1
- import globalExternals from "@fal-works/esbuild-plugin-global-externals";
2
1
  import { existsSync, readFileSync } from "fs";
3
- import { glob } from "glob";
4
2
  import path from "path";
5
3
  import { z } from "zod";
6
- const ROUTES = ["record/actions.tsx", "workflow-tools/*/tool.tsx"];
7
- export const HARDCODED_OUTPUT_FILES = [
8
- path.resolve("dist", "index.js"),
9
- path.resolve("..", "..", "runtimes", "client-extension-runtime", "dist", "extension-example.js"),
4
+ export const ROUTES = [
5
+ "record/actions.jsx",
6
+ "record/actions.tsx",
7
+ "workflow-tools/*/tool.jsx",
8
+ "workflow-tools/*/tool.tsx",
10
9
  ];
11
10
  const packageSchema = z.object({
12
11
  attio: z.object({
@@ -29,58 +28,10 @@ export const errorSchema = z.object({
29
28
  errors: z.array(buildErrorSchema),
30
29
  warnings: z.array(buildErrorSchema),
31
30
  });
32
- export const createBuildConfig = (contents) => ({
33
- stdin: {
34
- contents,
35
- resolveDir: ".",
36
- loader: "tsx",
37
- },
38
- logLevel: "silent",
39
- bundle: true,
40
- platform: "browser",
41
- format: "iife",
42
- plugins: [
43
- globalExternals({
44
- "react": "React",
45
- "@attio/client-extension-sdk": {
46
- varName: "ATTIO_CLIENT_EXTENSION_SDK",
47
- type: "cjs",
48
- },
49
- }),
50
- ],
51
- });
52
31
  export const getAppDir = () => {
53
32
  const appDir = packageSchema.parse(JSON.parse(readFileSync(path.resolve("package.json"), "utf-8"))).attio.app;
54
33
  if (!existsSync(appDir))
55
34
  throw new Error(`The directory '${appDir}' does not exist.`);
56
35
  return appDir;
57
36
  };
58
- export async function generateEntry(log) {
59
- const appDir = getAppDir();
60
- log === null || log === void 0 ? void 0 : log(`💥 Found entry point at ${path.resolve(appDir)}`);
61
- const routes = (await Promise.all(ROUTES.map(async (route) => {
62
- try {
63
- const concreteRoutes = await glob(route, {
64
- nodir: true,
65
- cwd: appDir,
66
- });
67
- for (const concreteRoute of concreteRoutes) {
68
- log === null || log === void 0 ? void 0 : log(`📦 Found route "${concreteRoute}"`);
69
- }
70
- return concreteRoutes;
71
- }
72
- catch {
73
- return [];
74
- }
75
- }))).flat();
76
- return `
77
- ${routes
78
- .map((route, index) => `import C${index} from ${JSON.stringify(`.${path.sep}${path.join(appDir, route)}`)}`)
79
- .join("\n")}
80
-
81
- ${routes
82
- .map((route, index) => `registerExtensionComponent({route: ${JSON.stringify(route)}, component: C${index}})`)
83
- .join("\n")}
84
- `;
85
- }
86
37
  //# sourceMappingURL=build.js.map
package/lib/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,IAAI,CAAA;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,2BAA2B;IAC3B,2BAA2B;CACrB,CAAA;AAEV,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACL,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;KACzB,CAAC;CACL,CAAC,CAAA;AACF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CACtC,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAClE,CAAC,KAAK,CAAC,GAAG,CAAA;IACX,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,mBAAmB,CAAC,CAAA;IAErF,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
1
  import React from "react";
2
- export declare const isDefault = true;
3
2
  export default function Build(): React.JSX.Element;
4
3
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,SAAS,OAAO,CAAA;AAI7B,MAAM,CAAC,OAAO,UAAU,KAAK,sBAgC5B"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,MAAM,CAAC,OAAO,UAAU,KAAK,sBAwC5B"}
@@ -1,28 +1,32 @@
1
1
  import { useMachine } from "@xstate/react";
2
2
  import { Box, Text } from "ink";
3
+ import Spinner from "ink-spinner";
3
4
  import React from "react";
4
5
  import { BuildError } from "../components/BuildError.js";
5
- import { BuildLog } from "../components/BuildLog.js";
6
+ import { Logo } from "../components/Logo.js";
7
+ import { TypeScriptErrors } from "../components/TypeScriptErrors.js";
6
8
  import { buildMachine } from "../machines/build-machine.js";
7
- export const isDefault = true;
8
9
  export default function Build() {
10
+ var _a, _b;
9
11
  const [snapshot] = useMachine(buildMachine);
10
- switch (snapshot.value) {
11
- case "Building":
12
- return (React.createElement(Box, { flexDirection: "column" },
13
- React.createElement(Box, null,
14
- React.createElement(Text, null, "Building...")),
15
- React.createElement(BuildLog, { log: snapshot.context.log })));
16
- case "Done":
17
- return (React.createElement(Box, { flexDirection: "column" },
18
- React.createElement(BuildLog, { log: snapshot.context.log }),
19
- React.createElement(Box, null,
20
- React.createElement(Text, null, "\u2705 Built!"))));
21
- case "Error":
22
- return snapshot.context.error ? (React.createElement(BuildError, { error: snapshot.context.error })) : (React.createElement(Box, null,
23
- React.createElement(Text, null, "Unknown error")));
24
- default:
25
- return snapshot.value;
26
- }
12
+ const jsError = (_a = snapshot.children.javascript) === null || _a === void 0 ? void 0 : _a.getSnapshot().context.error;
13
+ const tsErrors = (_b = snapshot.children.typescript) === null || _b === void 0 ? void 0 : _b.getSnapshot().context.errors;
14
+ return (React.createElement(Box, { flexDirection: "column" },
15
+ React.createElement(Logo, null),
16
+ snapshot.matches("Building") && (React.createElement(Box, { flexDirection: "column" },
17
+ React.createElement(Box, null,
18
+ React.createElement(Text, null,
19
+ "\uD83D\uDD28 Building...",
20
+ " ",
21
+ React.createElement(Text, { color: "green" },
22
+ React.createElement(Spinner, { type: "dots" })))))),
23
+ snapshot.matches("Success") && (React.createElement(Box, { flexDirection: "column" },
24
+ React.createElement(Box, null,
25
+ React.createElement(Text, null, "\u2705 Built!")))),
26
+ snapshot.matches("Errored") && (React.createElement(Box, null,
27
+ jsError && React.createElement(BuildError, { error: jsError }),
28
+ tsErrors && React.createElement(TypeScriptErrors, { errors: tsErrors }),
29
+ !jsError && !tsErrors && (React.createElement(Box, null,
30
+ React.createElement(Text, null, "Unknown error")))))));
27
31
  }
28
32
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAA;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAI7B,MAAM,CAAC,OAAO,UAAU,KAAK;IACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,UAAU;YACX,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;gBACvB,oBAAC,GAAG;oBACA,oBAAC,IAAI,sBAAmB,CACtB;gBACN,oBAAC,QAAQ,IAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAI,CACrC,CACT,CAAA;QACL,KAAK,MAAM;YACP,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;gBACvB,oBAAC,QAAQ,IAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAI;gBACvC,oBAAC,GAAG;oBACA,oBAAC,IAAI,wBAAgB,CACnB,CACJ,CACT,CAAA;QACL,KAAK,OAAO;YACR,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC5B,oBAAC,UAAU,IAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAI,CAChD,CAAC,CAAC,CAAC,CACA,oBAAC,GAAG;gBACA,oBAAC,IAAI,wBAAqB,CACxB,CACT,CAAA;QACL;YACI,OAAO,QAAQ,CAAC,KAAqB,CAAA;IAC7C,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,OAAO,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAA;AAClE,OAAO,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAA;AAIzD,MAAM,CAAC,OAAO,UAAU,KAAK;;IACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,0CAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAA;IACzE,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,0CAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAA;IAE3E,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACvB,oBAAC,IAAI,OAAG;QACP,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAC7B,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;YACvB,oBAAC,GAAG;gBACA,oBAAC,IAAI;;oBACc,GAAG;oBAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;wBACf,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CACpB,CACJ,CACL,CACJ,CACT;QACA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC5B,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;YACvB,oBAAC,GAAG;gBACA,oBAAC,IAAI,wBAAgB,CACnB,CACJ,CACT;QACA,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC5B,oBAAC,GAAG;YACC,OAAO,IAAI,oBAAC,UAAU,IAAC,KAAK,EAAE,OAAO,GAAI;YACzC,QAAQ,IAAI,oBAAC,gBAAgB,IAAC,MAAM,EAAE,QAAQ,GAAI;YAClD,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CACtB,oBAAC,GAAG;gBACA,oBAAC,IAAI,wBAAqB,CACxB,CACT,CACC,CACT,CACC,CACT,CAAA;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export default function Dev(): React.JSX.Element;
3
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAqBzB,MAAM,CAAC,OAAO,UAAU,GAAG,sBA+E1B"}
@@ -0,0 +1,73 @@
1
+ import { useMachine } from "@xstate/react";
2
+ import { formatDistanceStrict } from "date-fns";
3
+ import { Box, Text } from "ink";
4
+ import Spinner from "ink-spinner";
5
+ import React from "react";
6
+ import { BuildError } from "../components/BuildError.js";
7
+ import { InitialInstructions } from "../components/InitialInstructions.js";
8
+ import { TypeScriptErrors } from "../components/TypeScriptErrors.js";
9
+ import { useFullScreen } from "../hooks/useFullScreen.js";
10
+ import { devMachine } from "../machines/dev-machine.js";
11
+ const useTimer = (ms = 1000) => {
12
+ const [now, setNow] = React.useState(new Date());
13
+ React.useEffect(() => {
14
+ const interval = setInterval(() => setNow(new Date()), ms);
15
+ return () => clearInterval(interval);
16
+ }, [ms]);
17
+ return now;
18
+ };
19
+ export default function Dev() {
20
+ var _a, _b, _c, _d;
21
+ const [snapshot] = useMachine(devMachine);
22
+ const now = useTimer();
23
+ const fullScreen = useFullScreen();
24
+ const jsError = (_a = snapshot.children.javascript) === null || _a === void 0 ? void 0 : _a.getSnapshot().context.error;
25
+ const jsTime = (_b = snapshot.children.javascript) === null || _b === void 0 ? void 0 : _b.getSnapshot().context.time;
26
+ const tsErrors = (_c = snapshot.children.typescript) === null || _c === void 0 ? void 0 : _c.getSnapshot().context.errors;
27
+ const tsTime = (_d = snapshot.children.typescript) === null || _d === void 0 ? void 0 : _d.getSnapshot().context.time;
28
+ const isNoConfig = snapshot.matches("No Config");
29
+ React.useEffect(() => {
30
+ if (isNoConfig) {
31
+ setTimeout(() => {
32
+ process.exit(1);
33
+ });
34
+ }
35
+ }, [isNoConfig]);
36
+ return (React.createElement(Box, { flexDirection: "column", ...(isNoConfig ? {} : fullScreen) },
37
+ snapshot.context.lastSuccessfulJavaScriptBuild && (React.createElement(Box, null,
38
+ React.createElement(Text, null,
39
+ "\u2705 Last successful build was",
40
+ " ",
41
+ formatDistanceStrict(snapshot.context.lastSuccessfulJavaScriptBuild, now, {
42
+ addSuffix: true,
43
+ }),
44
+ "."))),
45
+ jsError && jsTime && (React.createElement(Box, { flexDirection: "column" },
46
+ React.createElement(Box, null,
47
+ React.createElement(Text, null,
48
+ "\u274C Last failed build was",
49
+ " ",
50
+ formatDistanceStrict(jsTime, now, { addSuffix: true }),
51
+ ".")),
52
+ React.createElement(Box, null,
53
+ React.createElement(BuildError, { error: jsError })))),
54
+ tsErrors && tsTime && (React.createElement(Box, { flexDirection: "column" },
55
+ React.createElement(Box, null,
56
+ React.createElement(Text, null,
57
+ "\u274C Last failed build was",
58
+ " ",
59
+ formatDistanceStrict(tsTime, now, { addSuffix: true }),
60
+ ".")),
61
+ React.createElement(Box, null,
62
+ React.createElement(TypeScriptErrors, { errors: tsErrors })))),
63
+ snapshot.matches("No Config") && (React.createElement(InitialInstructions, { reason: snapshot.context.configError })),
64
+ snapshot.matches("Watching") && (React.createElement(Box, null,
65
+ React.createElement(Text, null, "\uD83D\uDC40 Watching for changes... "),
66
+ React.createElement(Text, { color: "green" },
67
+ React.createElement(Spinner, { type: "dots" })))),
68
+ snapshot.matches({ Watching: { JavaScript: "Uploading" } }) && (React.createElement(Box, null,
69
+ React.createElement(Text, null, "\u267B\uFE0F Uploading bundles... "),
70
+ React.createElement(Text, { color: "green" },
71
+ React.createElement(Spinner, { type: "dots" }))))));
72
+ }
73
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { z } from "zod";
3
+ export declare const isDefault = true;
4
+ export declare const args: z.ZodTuple<[z.ZodDefault<z.ZodString>], null>;
5
+ export declare const options: z.ZodObject<{
6
+ name: z.ZodOptional<z.ZodString>;
7
+ language: z.ZodOptional<z.ZodEnum<["javascript", "typescript"]>>;
8
+ packageManager: z.ZodOptional<z.ZodEnum<["npm", "yarn", "bun", "pnpm"]>>;
9
+ tool: z.ZodOptional<z.ZodBoolean>;
10
+ action: z.ZodOptional<z.ZodBoolean>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ name?: string | undefined;
13
+ language?: "javascript" | "typescript" | undefined;
14
+ packageManager?: "npm" | "yarn" | "pnpm" | "bun" | undefined;
15
+ tool?: boolean | undefined;
16
+ action?: boolean | undefined;
17
+ }, {
18
+ name?: string | undefined;
19
+ language?: "javascript" | "typescript" | undefined;
20
+ packageManager?: "npm" | "yarn" | "pnpm" | "bun" | undefined;
21
+ tool?: boolean | undefined;
22
+ action?: boolean | undefined;
23
+ }>;
24
+ interface Props {
25
+ args: z.infer<typeof args>;
26
+ options: z.infer<typeof options>;
27
+ }
28
+ export default function Index({ args: [argName], options: { name, packageManager, language, tool, action }, }: Props): React.JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAQrB,eAAO,MAAM,SAAS,OAAO,CAAA;AAC7B,eAAO,MAAM,IAAI,+CAKf,CAAA;AACF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;EAqBlB,CAAA;AAEF,UAAU,KAAK;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;IAC1B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAA;CACnC;AAID,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC1B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC,GAC1D,EAAE,KAAK,qBA0JP"}