attio 0.0.1-experimental.20240523.4 → 0.0.1-experimental.20240606

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 (74) hide show
  1. package/lib/build/client/create-client-build-config.d.ts +6 -0
  2. package/lib/build/client/create-client-build-config.d.ts.map +1 -0
  3. package/lib/build/client/create-client-build-config.js +26 -0
  4. package/lib/build/client/create-client-build-config.js.map +1 -0
  5. package/lib/build/client/generate-client-entry.d.ts +6 -0
  6. package/lib/build/client/generate-client-entry.d.ts.map +1 -0
  7. package/lib/build/client/generate-client-entry.js +30 -0
  8. package/lib/build/client/generate-client-entry.js.map +1 -0
  9. package/lib/build/get-module-hash.d.ts +2 -0
  10. package/lib/build/get-module-hash.d.ts.map +1 -0
  11. package/lib/build/get-module-hash.js +5 -0
  12. package/lib/build/get-module-hash.js.map +1 -0
  13. package/lib/build/proxy-server-modules-plugin.d.ts +5 -0
  14. package/lib/build/proxy-server-modules-plugin.d.ts.map +1 -0
  15. package/lib/build/proxy-server-modules-plugin.js +35 -0
  16. package/lib/build/proxy-server-modules-plugin.js.map +1 -0
  17. package/lib/build/server/create-server-build-config.d.ts +3 -0
  18. package/lib/build/server/create-server-build-config.d.ts.map +1 -0
  19. package/lib/build/server/create-server-build-config.js +22 -0
  20. package/lib/build/server/create-server-build-config.js.map +1 -0
  21. package/lib/build/server/generate-server-entry.d.ts +5 -0
  22. package/lib/build/server/generate-server-entry.d.ts.map +1 -0
  23. package/lib/build/server/generate-server-entry.js +46 -0
  24. package/lib/build/server/generate-server-entry.js.map +1 -0
  25. package/lib/build.d.ts +2 -3
  26. package/lib/build.d.ts.map +1 -1
  27. package/lib/build.js +10 -51
  28. package/lib/build.js.map +1 -1
  29. package/lib/commands/dev.d.ts +3 -0
  30. package/lib/commands/dev.d.ts.map +1 -0
  31. package/lib/commands/{watch.js → dev.js} +9 -5
  32. package/lib/commands/dev.js.map +1 -0
  33. package/lib/commands/scaffold.d.ts.map +1 -1
  34. package/lib/commands/scaffold.js +16 -12
  35. package/lib/commands/scaffold.js.map +1 -1
  36. package/lib/machines/build-machine.d.ts.map +1 -1
  37. package/lib/machines/build-machine.js +15 -3
  38. package/lib/machines/build-machine.js.map +1 -1
  39. package/lib/machines/{watch-machine.d.ts → dev-machine.d.ts} +18 -11
  40. package/lib/machines/dev-machine.d.ts.map +1 -0
  41. package/lib/machines/{watch-machine.js → dev-machine.js} +31 -9
  42. package/lib/machines/dev-machine.js.map +1 -0
  43. package/lib/machines/scaffold-machine.d.ts +4 -1
  44. package/lib/machines/scaffold-machine.d.ts.map +1 -1
  45. package/lib/machines/scaffold-machine.js +122 -106
  46. package/lib/machines/scaffold-machine.js.map +1 -1
  47. package/lib/templates/common/README.md +6 -0
  48. package/lib/templates/javascript/.eslintignore +0 -1
  49. package/lib/templates/javascript/eslint.config.js +43 -0
  50. package/lib/templates/javascript/package.json +8 -6
  51. package/lib/templates/javascript/{counter-action.jsx → src/app/record/counter-action.jsx} +1 -1
  52. package/lib/templates/typescript/.eslintignore +0 -1
  53. package/lib/templates/typescript/eslint.config.js +50 -0
  54. package/lib/templates/typescript/package.json +11 -6
  55. package/lib/templates/typescript/{counter-action.tsx → src/app/record/counter-action.tsx} +1 -1
  56. package/lib/templates/typescript/tsconfig.json +2 -6
  57. package/lib/util/typescript.d.ts +1 -1
  58. package/lib/util/typescript.d.ts.map +1 -1
  59. package/lib/util/typescript.js +5 -1
  60. package/lib/util/typescript.js.map +1 -1
  61. package/lib/util/upload-bundle.d.ts +2 -0
  62. package/lib/util/upload-bundle.d.ts.map +1 -0
  63. package/lib/util/upload-bundle.js +152 -0
  64. package/lib/util/upload-bundle.js.map +1 -0
  65. package/package.json +4 -1
  66. package/lib/commands/watch.d.ts +0 -3
  67. package/lib/commands/watch.d.ts.map +0 -1
  68. package/lib/commands/watch.js.map +0 -1
  69. package/lib/machines/watch-machine.d.ts.map +0 -1
  70. package/lib/machines/watch-machine.js.map +0 -1
  71. package/lib/templates/javascript/eslint.cjs +0 -1
  72. package/lib/templates/typescript/eslint.cjs +0 -6
  73. /package/lib/templates/javascript/{actions.jsx → src/app/record/actions.jsx} +0 -0
  74. /package/lib/templates/typescript/{actions.tsx → src/app/record/actions.tsx} +0 -0
@@ -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,7 @@
1
- import * as esbuild from "esbuild";
2
1
  import { z } from "zod";
2
+ export declare const ROUTES: readonly ["record/actions.jsx", "record/actions.tsx", "workflow-tools/*/tool.jsx", "workflow-tools/*/tool.tsx"];
3
3
  export declare const HARDCODED_OUTPUT_FILES: string[];
4
+ export declare const HARDCODED_SERVER_OUTPUT_FILES: string[];
4
5
  export declare const errorSchema: z.ZodObject<{
5
6
  errors: z.ZodArray<z.ZodObject<{
6
7
  text: z.ZodString;
@@ -154,7 +155,5 @@ export declare const errorSchema: z.ZodObject<{
154
155
  }[];
155
156
  }>;
156
157
  export type BuildError = z.infer<typeof errorSchema>;
157
- export declare const createBuildConfig: (contents: string) => esbuild.BuildOptions;
158
158
  export declare const getAppDir: () => string;
159
- export declare function generateEntry(log?: (message: string) => void): Promise<string>;
160
159
  //# 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;AAEV,eAAO,MAAM,sBAAsB,UAUlC,CAAA;AAED,eAAO,MAAM,6BAA6B,UAGzC,CAAA;AAoBD,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,13 +1,20 @@
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"];
4
+ export const ROUTES = [
5
+ "record/actions.jsx",
6
+ "record/actions.tsx",
7
+ "workflow-tools/*/tool.jsx",
8
+ "workflow-tools/*/tool.tsx",
9
+ ];
7
10
  export const HARDCODED_OUTPUT_FILES = [
8
11
  path.resolve("dist", "index.js"),
9
12
  path.resolve("..", "..", "runtimes", "client-extension-runtime", "dist", "extension-example.js"),
10
13
  ];
14
+ export const HARDCODED_SERVER_OUTPUT_FILES = [
15
+ path.resolve("dist", "server.js"),
16
+ path.resolve("..", "..", "runtimes", "client-extension-runtime", "dist", "server.js"),
17
+ ];
11
18
  const packageSchema = z.object({
12
19
  attio: z.object({
13
20
  app: z.string(),
@@ -29,58 +36,10 @@ export const errorSchema = z.object({
29
36
  errors: z.array(buildErrorSchema),
30
37
  warnings: z.array(buildErrorSchema),
31
38
  });
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
39
  export const getAppDir = () => {
53
40
  const appDir = packageSchema.parse(JSON.parse(readFileSync(path.resolve("package.json"), "utf-8"))).attio.app;
54
41
  if (!existsSync(appDir))
55
42
  throw new Error(`The directory '${appDir}' does not exist.`);
56
43
  return appDir;
57
44
  };
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
45
  //# 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,CAAC,MAAM,sBAAsB,GAAG;IAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC;IAChC,IAAI,CAAC,OAAO,CACR,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,CACzB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,EAAE,WAAW,CAAC;CACxF,CAAA;AAED,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"}
@@ -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;AASzB,MAAM,CAAC,OAAO,UAAU,GAAG,sBAyE1B"}
@@ -6,9 +6,9 @@ import React from "react";
6
6
  import { BuildError } from "../components/BuildError.js";
7
7
  import { TypeScriptErrors } from "../components/TypeScriptError.js";
8
8
  import { useFullScreen } from "../hooks/useFullScreen.js";
9
- import { watchMachine } from "../machines/watch-machine.js";
10
- export default function Watch() {
11
- const [snapshot] = useMachine(watchMachine);
9
+ import { devMachine } from "../machines/dev-machine.js";
10
+ export default function Dev() {
11
+ const [snapshot] = useMachine(devMachine);
12
12
  const [now, setNow] = React.useState(new Date());
13
13
  React.useEffect(() => {
14
14
  const interval = setInterval(() => {
@@ -51,6 +51,10 @@ export default function Watch() {
51
51
  React.createElement(Box, null,
52
52
  React.createElement(Text, null, "\uD83D\uDC40 Watching for changes... "),
53
53
  React.createElement(Text, { color: "green" },
54
- React.createElement(Spinner, { type: "dots" })))));
54
+ React.createElement(Spinner, { type: "dots" }))),
55
+ snapshot.matches({ JavaScript: { Watching: "Uploading" } }) && (React.createElement(Box, null,
56
+ React.createElement(Text, null, "\u267B\uFE0F Uploading bundle... "),
57
+ React.createElement(Text, { color: "green" },
58
+ React.createElement(Spinner, { type: "dots" }))))));
55
59
  }
56
- //# sourceMappingURL=watch.js.map
60
+ //# 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAMrB,eAAO,MAAM,SAAS,OAAO,CAAA;AAC7B,eAAO,MAAM,IAAI,+CAAoC,CAAA;AAErD,UAAU,KAAK;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;CAC7B;AAID,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAC,EAAE,KAAK,qBAkJxD"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAOrB,eAAO,MAAM,SAAS,OAAO,CAAA;AAC7B,eAAO,MAAM,IAAI,+CAAoC,CAAA;AAErD,UAAU,KAAK;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;CAC7B;AAID,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAC,EAAE,KAAK,qBAqJxD"}
@@ -8,6 +8,7 @@ import Spinner from "ink-spinner";
8
8
  import TextInput from "ink-text-input";
9
9
  import React from "react";
10
10
  import { z } from "zod";
11
+ import { BuildLog } from "../components/BuildLog.js";
11
12
  import { MultiSelect } from "../components/MultiSelect.js";
12
13
  import { Select } from "../components/Select.js";
13
14
  import { languages, outlets, packageManagers, scaffoldMachine } from "../machines/scaffold-machine.js";
@@ -16,10 +17,11 @@ export const args = z.tuple([z.string().default("")]);
16
17
  export default function Scaffold({ args: [argName] }) {
17
18
  const [snapshot, send] = useMachine(scaffoldMachine, { input: { name: argName } });
18
19
  return (React.createElement(Box, { flexDirection: "column" },
20
+ React.createElement(Text, null, JSON.stringify(snapshot.value)),
19
21
  React.createElement(Box, null,
20
22
  React.createElement(Gradient, { name: "morning" },
21
- React.createElement(BigText, { text: "/. Attio" }))),
22
- snapshot.matches("Ask For Name") && (React.createElement(Box, { flexDirection: "column" },
23
+ React.createElement(BigText, { text: "/. Attio!" }))),
24
+ snapshot.matches({ Scaffold: "Ask For Name" }) && (React.createElement(Box, { flexDirection: "column" },
23
25
  snapshot.context.error && (React.createElement(Box, null,
24
26
  React.createElement(Text, { color: "red" }, snapshot.context.error))),
25
27
  React.createElement(Box, null,
@@ -28,21 +30,21 @@ export default function Scaffold({ args: [argName] }) {
28
30
  React.createElement(Box, null,
29
31
  React.createElement(Text, { color: "yellow" },
30
32
  React.createElement(TextInput, { value: snapshot.context.name, onChange: (name) => send({ type: "Update Name", name }), onSubmit: () => send({ type: "Submit" }) })))))),
31
- snapshot.matches("Ask For Language") && (React.createElement(Box, { flexDirection: "column" },
33
+ snapshot.matches({ Scaffold: "Ask For Language" }) && (React.createElement(Box, { flexDirection: "column" },
32
34
  React.createElement(Box, null,
33
35
  React.createElement(Text, null, "What language would you like to use?")),
34
36
  React.createElement(Box, null,
35
37
  React.createElement(Select, { items: languages, onSelect: (language) => send({ type: "Choose Language", language }) })))),
36
- snapshot.matches("Detecting Package Managers") && (React.createElement(Box, null,
37
- React.createElement(Text, null, "Detecting package managers..."),
38
+ snapshot.matches({ Scaffold: "Detecting Package Managers" }) && (React.createElement(Box, null,
39
+ React.createElement(Text, null, "Detecting package managers... "),
38
40
  React.createElement(Text, { color: "green" },
39
41
  React.createElement(Spinner, { type: "dots" })))),
40
- snapshot.matches("Ask For Package Manager") && (React.createElement(Box, { flexDirection: "column" },
42
+ snapshot.matches({ Scaffold: "Ask For Package Manager" }) && (React.createElement(Box, { flexDirection: "column" },
41
43
  React.createElement(Box, null,
42
44
  React.createElement(Text, null, "What package manager would you like to use?")),
43
45
  React.createElement(Box, null,
44
46
  React.createElement(Select, { items: packageManagers.filter(({ value }) => snapshot.context.availablePackageManagers.includes(value)), onSelect: (packageManager) => send({ type: "Choose Package Manager", packageManager }) })))),
45
- snapshot.matches("Ask For Outlets") && (React.createElement(Box, { flexDirection: "column" },
47
+ snapshot.matches({ Scaffold: "Ask For Outlets" }) && (React.createElement(Box, { flexDirection: "column" },
46
48
  React.createElement(Box, null,
47
49
  React.createElement(Box, { marginRight: 2 },
48
50
  React.createElement(Text, null, "Which Attio Outlets would you like to use?")),
@@ -51,7 +53,7 @@ export default function Scaffold({ args: [argName] }) {
51
53
  " Learn More")),
52
54
  React.createElement(Box, null,
53
55
  React.createElement(MultiSelect, { items: outlets, onSubmit: (outlets) => send({ type: "Choose Outlets", outlets }), requiredMin: 1 })))),
54
- snapshot.matches("Creating Project") && (React.createElement(Box, { flexDirection: "column" },
56
+ snapshot.matches({ Scaffold: "Creating Project" }) && (React.createElement(Box, { flexDirection: "column" },
55
57
  React.createElement(Box, null,
56
58
  React.createElement(Text, null,
57
59
  "Creating \"",
@@ -59,7 +61,8 @@ export default function Scaffold({ args: [argName] }) {
59
61
  "\"... "),
60
62
  React.createElement(Text, { color: "green" },
61
63
  React.createElement(Spinner, { type: "dots" }))))),
62
- snapshot.matches("Building") && (React.createElement(Box, { flexDirection: "column" },
64
+ snapshot.matches({ Scaffold: "Building" }) && (React.createElement(Box, { flexDirection: "column" },
65
+ React.createElement(BuildLog, { log: snapshot.context.log }),
63
66
  React.createElement(Box, null,
64
67
  React.createElement(Text, null,
65
68
  "Building \"",
@@ -71,7 +74,7 @@ export default function Scaffold({ args: [argName] }) {
71
74
  " "),
72
75
  React.createElement(Text, { color: "green" },
73
76
  React.createElement(Spinner, { type: "dots" }))))),
74
- snapshot.matches("Success") && (React.createElement(Box, { flexDirection: "column" },
77
+ snapshot.matches({ Scaffold: "Success" }) && (React.createElement(Box, { flexDirection: "column" },
75
78
  React.createElement(Box, null,
76
79
  React.createElement(Text, { color: "green" },
77
80
  "SUCCESS!! \uD83C\uDF89 Your extension \"",
@@ -88,8 +91,9 @@ export default function Scaffold({ args: [argName] }) {
88
91
  React.createElement(Text, null,
89
92
  snapshot.context.packageManager,
90
93
  " run dev"))))),
91
- snapshot.matches("Error") && (React.createElement(Box, { flexDirection: "column" },
94
+ snapshot.matches({ Scaffold: "Error" }) && (React.createElement(Box, { flexDirection: "column" },
92
95
  React.createElement(Box, null,
93
- React.createElement(Text, { color: "red" }, snapshot.context.error))))));
96
+ React.createElement(Text, { color: "red" }, snapshot.context.error)))),
97
+ React.createElement(BuildLog, { log: snapshot.context.log })));
94
98
  }
95
99
  //# sourceMappingURL=scaffold.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-machine.d.ts","sourceRoot":"","sources":["../../src/machines/build-machine.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,UAAU,EAKb,MAAM,aAAa,CAAA;AAEpB,UAAU,OAAO;IACb,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrB;AAID,eAAO,MAAM,YAAY;UAFL,OAAO;WAAS,UAAU;;UAAW,KAAK;aAAW,MAAM;;UAAW,SAAS;;;;;;;;;;;mBA2B5D,UAAU;;;;;;qBAGF,MAAM;;;;UA9BjC,OAAO;WAAS,UAAU;;UAAW,KAAK;aAAW,MAAM;;UAAW,SAAS;;;;;;;;;mBA2B5D,UAAU;;;;;;qBAGF,MAAM;;;wDAmCnD,CAAA"}
1
+ {"version":3,"file":"build-machine.d.ts","sourceRoot":"","sources":["../../src/machines/build-machine.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,UAAU,EAMb,MAAM,aAAa,CAAA;AAMpB,UAAU,OAAO;IACb,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACrB;AAID,eAAO,MAAM,YAAY;UAFL,OAAO;WAAS,UAAU;;UAAW,KAAK;aAAW,MAAM;;UAAW,SAAS;;;;;;;;;;;mBAiD5D,UAAU;;;;;;qBAGF,MAAM;;;;UApDjC,OAAO;WAAS,UAAU;;UAAW,KAAK;aAAW,MAAM;;UAAW,SAAS;;;;;;;;;mBAiD5D,UAAU;;;;;;qBAGF,MAAM;;;wDAmCnD,CAAA"}
@@ -1,6 +1,10 @@
1
1
  import * as esbuild from "esbuild";
2
2
  import { assign, setup, fromCallback } from "xstate";
3
- import { HARDCODED_OUTPUT_FILES, createBuildConfig, errorSchema, generateEntry, } from "../build.js";
3
+ import { HARDCODED_OUTPUT_FILES, HARDCODED_SERVER_OUTPUT_FILES, ROUTES, errorSchema, getAppDir, } from "../build.js";
4
+ import { createClientBuildConfig } from "../build/client/create-client-build-config.js";
5
+ import { generateClientEntry } from "../build/client/generate-client-entry.js";
6
+ import { createServerBuildConfig } from "../build/server/create-server-build-config.js";
7
+ import { generateServerEntry } from "../build/server/generate-server-entry.js";
4
8
  export const buildMachine = setup({
5
9
  types: {
6
10
  context: {},
@@ -9,9 +13,17 @@ export const buildMachine = setup({
9
13
  actors: {
10
14
  build: fromCallback(({ sendBack }) => {
11
15
  const build = async () => {
12
- const contents = await generateEntry((message) => sendBack({ type: "Log", message }));
16
+ const appDir = getAppDir();
17
+ const log = (message) => {
18
+ sendBack({ type: "Log", message });
19
+ };
20
+ const clientPromise = generateClientEntry({ appDir, routes: ROUTES, log }).then(async (contents) => Promise.all(HARDCODED_OUTPUT_FILES.map(async (outfile) => esbuild.build({
21
+ ...createClientBuildConfig({ contents, appDir }),
22
+ outfile,
23
+ }))));
24
+ const serverPromise = generateServerEntry({ appDir, log }).then(async (contents) => Promise.all(HARDCODED_SERVER_OUTPUT_FILES.map(async (outfile) => esbuild.build({ ...createServerBuildConfig(contents), outfile }))));
13
25
  try {
14
- await Promise.all(HARDCODED_OUTPUT_FILES.map(async (outfile) => esbuild.build({ ...createBuildConfig(contents), outfile })));
26
+ await Promise.all([clientPromise, serverPromise]);
15
27
  sendBack({ type: "Success" });
16
28
  }
17
29
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"build-machine.js","sourceRoot":"","sources":["../../src/machines/build-machine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAA;AAElD,OAAO,EAEH,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,aAAa,GAChB,MAAM,aAAa,CAAA;AASpB,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC;IAC9B,KAAK,EAAE;QACH,OAAO,EAAE,EAAa;QACtB,MAAM,EAAE,EAAW;KACtB;IACD,MAAM,EAAE;QACJ,KAAK,EAAE,YAAY,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAA;gBACnF,IAAI,CAAC;oBACD,MAAM,OAAO,CAAC,GAAG,CACb,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACzC,OAAO,CAAC,KAAK,CAAC,EAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAC,CAAC,CAC3D,CACJ,CAAA;oBACD,QAAQ,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,CAAC,CAAA;gBAC/B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,CAAA;gBAC1D,CAAC;YACL,CAAC,CAAA;YACD,KAAK,EAAE,CAAA;QACX,CAAC,CAAC;KACL;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,CAAC,CAAC,EAAE,MAA2B,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK;SAC1D,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,CAAC,EAAC,OAAO,EAAC,EAAE,MAAyB,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC;SAClF,CAAC;KACL;CACJ,CAAC,CAAC,aAAa,CAAC;IAEb,OAAO,EAAE,EAAC,GAAG,EAAE,EAAE,EAAC;IAClB,EAAE,EAAE,eAAe;IACnB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE;QACJ,QAAQ,EAAE;YACN,EAAE,EAAE;gBACA,KAAK,EAAE;oBACH,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,EAAC;iBAC1D;gBACD,OAAO,EAAE;oBACL,MAAM,EAAE,MAAM;iBACjB;gBACD,GAAG,EAAE;oBACD,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,EAAC;iBAC7D;aACJ;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,EAAE;gBACT,GAAG,EAAE,OAAO;aACf;SACJ;QACD,KAAK,EAAE;YACH,IAAI,EAAE,OAAO;SAChB;QACD,IAAI,EAAE;YACF,IAAI,EAAE,OAAO;SAChB;KACJ;CACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"build-machine.js","sourceRoot":"","sources":["../../src/machines/build-machine.ts"],"names":[],"mappings":"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"}