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.
- package/lib/build/client/create-client-build-config.d.ts +6 -0
- package/lib/build/client/create-client-build-config.d.ts.map +1 -0
- package/lib/build/client/create-client-build-config.js +26 -0
- package/lib/build/client/create-client-build-config.js.map +1 -0
- package/lib/build/client/generate-client-entry.d.ts +6 -0
- package/lib/build/client/generate-client-entry.d.ts.map +1 -0
- package/lib/build/client/generate-client-entry.js +30 -0
- package/lib/build/client/generate-client-entry.js.map +1 -0
- package/lib/build/get-module-hash.d.ts +2 -0
- package/lib/build/get-module-hash.d.ts.map +1 -0
- package/lib/build/get-module-hash.js +5 -0
- package/lib/build/get-module-hash.js.map +1 -0
- package/lib/build/proxy-server-modules-plugin.d.ts +5 -0
- package/lib/build/proxy-server-modules-plugin.d.ts.map +1 -0
- package/lib/build/proxy-server-modules-plugin.js +35 -0
- package/lib/build/proxy-server-modules-plugin.js.map +1 -0
- package/lib/build/server/create-server-build-config.d.ts +3 -0
- package/lib/build/server/create-server-build-config.d.ts.map +1 -0
- package/lib/build/server/create-server-build-config.js +22 -0
- package/lib/build/server/create-server-build-config.js.map +1 -0
- package/lib/build/server/generate-server-entry.d.ts +5 -0
- package/lib/build/server/generate-server-entry.d.ts.map +1 -0
- package/lib/build/server/generate-server-entry.js +46 -0
- package/lib/build/server/generate-server-entry.js.map +1 -0
- package/lib/build.d.ts +2 -3
- package/lib/build.d.ts.map +1 -1
- package/lib/build.js +10 -51
- package/lib/build.js.map +1 -1
- package/lib/commands/dev.d.ts +3 -0
- package/lib/commands/dev.d.ts.map +1 -0
- package/lib/commands/{watch.js → dev.js} +9 -5
- package/lib/commands/dev.js.map +1 -0
- package/lib/commands/scaffold.d.ts.map +1 -1
- package/lib/commands/scaffold.js +16 -12
- package/lib/commands/scaffold.js.map +1 -1
- package/lib/machines/build-machine.d.ts.map +1 -1
- package/lib/machines/build-machine.js +15 -3
- package/lib/machines/build-machine.js.map +1 -1
- package/lib/machines/{watch-machine.d.ts → dev-machine.d.ts} +18 -11
- package/lib/machines/dev-machine.d.ts.map +1 -0
- package/lib/machines/{watch-machine.js → dev-machine.js} +31 -9
- package/lib/machines/dev-machine.js.map +1 -0
- package/lib/machines/scaffold-machine.d.ts +4 -1
- package/lib/machines/scaffold-machine.d.ts.map +1 -1
- package/lib/machines/scaffold-machine.js +122 -106
- package/lib/machines/scaffold-machine.js.map +1 -1
- package/lib/templates/common/README.md +6 -0
- package/lib/templates/javascript/.eslintignore +0 -1
- package/lib/templates/javascript/eslint.config.js +43 -0
- package/lib/templates/javascript/package.json +8 -6
- package/lib/templates/javascript/{counter-action.jsx → src/app/record/counter-action.jsx} +1 -1
- package/lib/templates/typescript/.eslintignore +0 -1
- package/lib/templates/typescript/eslint.config.js +50 -0
- package/lib/templates/typescript/package.json +11 -6
- package/lib/templates/typescript/{counter-action.tsx → src/app/record/counter-action.tsx} +1 -1
- package/lib/templates/typescript/tsconfig.json +2 -6
- package/lib/util/typescript.d.ts +1 -1
- package/lib/util/typescript.d.ts.map +1 -1
- package/lib/util/typescript.js +5 -1
- package/lib/util/typescript.js.map +1 -1
- package/lib/util/upload-bundle.d.ts +2 -0
- package/lib/util/upload-bundle.d.ts.map +1 -0
- package/lib/util/upload-bundle.js +152 -0
- package/lib/util/upload-bundle.js.map +1 -0
- package/package.json +4 -1
- package/lib/commands/watch.d.ts +0 -3
- package/lib/commands/watch.d.ts.map +0 -1
- package/lib/commands/watch.js.map +0 -1
- package/lib/machines/watch-machine.d.ts.map +0 -1
- package/lib/machines/watch-machine.js.map +0 -1
- package/lib/templates/javascript/eslint.cjs +0 -1
- package/lib/templates/typescript/eslint.cjs +0 -6
- /package/lib/templates/javascript/{actions.jsx → src/app/record/actions.jsx} +0 -0
- /package/lib/templates/typescript/{actions.tsx → src/app/record/actions.tsx} +0 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|
package/lib/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"
|
|
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 = [
|
|
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":"AAAA,OAAO,
|
|
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 @@
|
|
|
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 {
|
|
10
|
-
export default function
|
|
11
|
-
const [snapshot] = useMachine(
|
|
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=
|
|
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;
|
|
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"}
|
package/lib/commands/scaffold.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,IAAI,MAAM,UAAU,CAAA;AAC3B,OAAO,OAAO,MAAM,aAAa,CAAA;AACjC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAA;AAErB,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,MAAM,EAAC,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,iCAAiC,CAAA;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAA;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAQrD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAQ;IACrD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,OAAO,EAAC,EAAC,CAAC,CAAA;IAE9E,OAAO,CACH,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACvB,oBAAC,GAAG;YACA,oBAAC,QAAQ,IAAC,IAAI,EAAC,SAAS;gBACpB,oBAAC,OAAO,IAAC,IAAI,EAAC,
|
|
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,
|
|
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,
|
|
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
|
|
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(
|
|
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,
|
|
1
|
+
{"version":3,"file":"build-machine.js","sourceRoot":"","sources":["../../src/machines/build-machine.ts"],"names":[],"mappings":"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"}
|