attio 0.0.1-experimental.20240621 → 0.0.1-experimental.20240625
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/proxy-server-modules-plugin.d.ts.map +1 -1
- package/lib/build/proxy-server-modules-plugin.js +4 -5
- package/lib/build/proxy-server-modules-plugin.js.map +1 -1
- package/lib/commands/index.d.ts +1 -4
- package/lib/commands/index.d.ts.map +1 -1
- package/lib/commands/index.js +19 -30
- package/lib/commands/index.js.map +1 -1
- package/lib/components/Disclaimer.js +3 -3
- package/lib/components/Disclaimer.js.map +1 -1
- package/lib/components/InitialInstructions.d.ts.map +1 -1
- package/lib/components/InitialInstructions.js +20 -17
- package/lib/components/InitialInstructions.js.map +1 -1
- package/lib/env.d.ts +5 -0
- package/lib/env.d.ts.map +1 -0
- package/lib/env.js +6 -0
- package/lib/env.js.map +1 -0
- package/lib/machines/dev-machine.d.ts.map +1 -1
- package/lib/machines/dev-machine.js +4 -1
- package/lib/machines/dev-machine.js.map +1 -1
- package/lib/machines/scaffold-machine.d.ts +91 -147
- package/lib/machines/scaffold-machine.d.ts.map +1 -1
- package/lib/machines/scaffold-machine.js +131 -152
- package/lib/machines/scaffold-machine.js.map +1 -1
- package/lib/templates/javascript/package.json +3 -3
- package/lib/templates/typescript/package.json +4 -4
- package/lib/util/slugify-extension.d.ts +2 -0
- package/lib/util/slugify-extension.d.ts.map +1 -0
- package/lib/util/slugify-extension.js +15 -0
- package/lib/util/slugify-extension.js.map +1 -0
- package/lib/util/upload-bundle.d.ts +1 -2
- package/lib/util/upload-bundle.d.ts.map +1 -1
- package/lib/util/upload-bundle.js +25 -12
- package/lib/util/upload-bundle.js.map +1 -1
- package/lib/util/validate-slug.d.ts +3 -0
- package/lib/util/validate-slug.d.ts.map +1 -0
- package/lib/util/validate-slug.js +14 -0
- package/lib/util/validate-slug.js.map +1 -0
- package/package.json +3 -3
- package/lib/util/make-extension-name.d.ts +0 -3
- package/lib/util/make-extension-name.d.ts.map +0 -1
- package/lib/util/make-extension-name.js +0 -14
- package/lib/util/make-extension-name.js.map +0 -1
- package/lib/util/validate-project-name.d.ts +0 -3
- package/lib/util/validate-project-name.d.ts.map +0 -1
- package/lib/util/validate-project-name.js +0 -28
- package/lib/util/validate-project-name.js.map +0 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
var _a;
|
|
2
1
|
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
3
2
|
import { homedir } from "os";
|
|
4
3
|
import { v4 as uuid } from "uuid";
|
|
5
4
|
import { z } from "zod";
|
|
5
|
+
import { API } from "../env.js";
|
|
6
|
+
import { isValidSlug } from "./validate-slug.js";
|
|
6
7
|
const isTest = process.env.NODE_ENV === "test";
|
|
7
|
-
export const EXTENSION_API_URL = ((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === "development" ? "api.attio.me" : "api.attio.com";
|
|
8
|
-
const BASE_URL = `https://${EXTENSION_API_URL}`;
|
|
9
8
|
const getHeaders = (token) => ({
|
|
10
9
|
"x-attio-platform": "web-app",
|
|
11
10
|
"Authorization": `Bearer ${token}`,
|
|
@@ -37,7 +36,7 @@ const createDeveloperAccount = async (token, slug) => {
|
|
|
37
36
|
developer_account_member: { developer_account_member_id: accountId },
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
|
-
const response = await fetch(`${
|
|
39
|
+
const response = await fetch(`${API}/developer-portal/accounts/${accountId}`, {
|
|
41
40
|
method: "PUT",
|
|
42
41
|
headers: getHeaders(token),
|
|
43
42
|
body: JSON.stringify({ slug, title: slug }),
|
|
@@ -71,7 +70,7 @@ export const createIntegration = async (token, devSlug, slug, title) => {
|
|
|
71
70
|
avatar_url: null,
|
|
72
71
|
});
|
|
73
72
|
}
|
|
74
|
-
const response = await fetch(`${
|
|
73
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationId}`, {
|
|
75
74
|
method: "PUT",
|
|
76
75
|
headers: getHeaders(token),
|
|
77
76
|
body: JSON.stringify({ slug, title }),
|
|
@@ -90,7 +89,7 @@ const createDevVersionSchema = z.object({
|
|
|
90
89
|
integration_dev_version_id: z.string(),
|
|
91
90
|
});
|
|
92
91
|
export const createDevVersion = async (token, devSlug, integrationId) => {
|
|
93
|
-
const response = await fetch(`${
|
|
92
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationId}/dev-versions`, {
|
|
94
93
|
method: "POST",
|
|
95
94
|
headers: getHeaders(token),
|
|
96
95
|
});
|
|
@@ -104,7 +103,7 @@ const startUploadSchema = z.object({
|
|
|
104
103
|
server_bundle_upload_url: z.string(),
|
|
105
104
|
});
|
|
106
105
|
export const startUpload = async (token, devSlug, integrationId, devVersionId) => {
|
|
107
|
-
const response = await fetch(`${
|
|
106
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationId}/dev-versions/${devVersionId}/bundles`, {
|
|
108
107
|
method: "POST",
|
|
109
108
|
headers: getHeaders(token),
|
|
110
109
|
});
|
|
@@ -153,14 +152,28 @@ export const loadInitialConfig = () => {
|
|
|
153
152
|
export const loadConfig = async () => {
|
|
154
153
|
if (!existsSync(configPath))
|
|
155
154
|
return "No config file";
|
|
156
|
-
const
|
|
155
|
+
const configFileContents = readFileSync(configPath, { encoding: "utf8" });
|
|
156
|
+
let configFile;
|
|
157
|
+
try {
|
|
158
|
+
configFile = JSON.parse(configFileContents);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return "Invalid config file";
|
|
162
|
+
}
|
|
157
163
|
const parsed = configSchema.safeParse(configFile);
|
|
158
|
-
if (parsed.success)
|
|
164
|
+
if (parsed.success) {
|
|
165
|
+
if (!isValidSlug(parsed.data.developer_slug)) {
|
|
166
|
+
return "Invalid developer_slug: must be lower kebab case and contain only letters and hyphens. e.g. my-slug";
|
|
167
|
+
}
|
|
159
168
|
return parsed.data;
|
|
169
|
+
}
|
|
160
170
|
const initialConfig = loadInitialConfig();
|
|
161
171
|
if (typeof initialConfig === "string")
|
|
162
172
|
return initialConfig;
|
|
163
173
|
const { token, developer_slug } = initialConfig;
|
|
174
|
+
if (!isValidSlug(developer_slug)) {
|
|
175
|
+
return "Invalid developer_slug: must be lower kebab case and contain only letters and hyphens. e.g. my-slug";
|
|
176
|
+
}
|
|
164
177
|
const devAccount = await createDeveloperAccount(token, developer_slug);
|
|
165
178
|
const config = configSchema.parse({
|
|
166
179
|
token,
|
|
@@ -175,7 +188,7 @@ const completeBundleUploadSchema = z.object({
|
|
|
175
188
|
success: z.literal(true),
|
|
176
189
|
});
|
|
177
190
|
export const completeBundleUpload = async (token, devSlug, integrationId, devVersionId, bundleId) => {
|
|
178
|
-
const response = await fetch(`${
|
|
191
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationId}/dev-versions/${devVersionId}/bundles/${bundleId}/complete`, {
|
|
179
192
|
method: "POST",
|
|
180
193
|
headers: getHeaders(token),
|
|
181
194
|
});
|
|
@@ -194,7 +207,7 @@ const isIntegrationSlugValidSchema = z.object({
|
|
|
194
207
|
export const isIntegrationSlugValid = async (token, devSlug, integrationSlug) => {
|
|
195
208
|
if (isTest)
|
|
196
209
|
return true;
|
|
197
|
-
const response = await fetch(`${
|
|
210
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationSlug}/exists`, {
|
|
198
211
|
headers: getHeaders(token),
|
|
199
212
|
});
|
|
200
213
|
await handleError(response);
|
|
@@ -204,7 +217,7 @@ const pingSchema = z.object({
|
|
|
204
217
|
success: z.boolean(),
|
|
205
218
|
});
|
|
206
219
|
export const ping = async (token, devSlug, integrationId, devVersionId) => {
|
|
207
|
-
const response = await fetch(`${
|
|
220
|
+
const response = await fetch(`${API}/developer-portal/accounts/${devSlug}/integrations/${integrationId}/dev-versions/${devVersionId}/ping`, {
|
|
208
221
|
method: "POST",
|
|
209
222
|
headers: getHeaders(token),
|
|
210
223
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-bundle.js","sourceRoot":"","sources":["../../src/util/upload-bundle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload-bundle.js","sourceRoot":"","sources":["../../src/util/upload-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-slug.d.ts","sourceRoot":"","sources":["../../src/util/validate-slug.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,OAQvC,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,OAA+B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { accessSync, constants } from "fs";
|
|
2
|
+
import { resolve } from "path";
|
|
3
|
+
const slugRegex = /^(?!-)[a-z\-]*(?<!-)$/;
|
|
4
|
+
export const canWrite = (path) => {
|
|
5
|
+
try {
|
|
6
|
+
accessSync(resolve(path), constants.W_OK);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const isValidSlug = (slug) => slugRegex.test(slug);
|
|
14
|
+
//# sourceMappingURL=validate-slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-slug.js","sourceRoot":"","sources":["../../src/util/validate-slug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,IAAI,CAAA;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAA;AAE5B,MAAM,SAAS,GAAG,uBAAuB,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,IAAI,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAEzC,OAAO,IAAI,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "attio",
|
|
3
|
-
"version": "0.0.1-experimental.
|
|
3
|
+
"version": "0.0.1-experimental.20240625",
|
|
4
4
|
"bin": "lib/attio.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "NODE_ENV=production tsc --build && node ./scripts/copy-templates.js",
|
|
11
11
|
"build-watch": "tsc --build --watch",
|
|
12
|
-
"pretest": "./scripts/install-bun.sh && PATH=$HOME/.bun/bin:$PATH concurrently --timings -n build,bun,yarn,pnpm,config \"yarn build\" \"bun --version\" \"npm install --global yarn\" \"npm install --global pnpm\" \"echo '{\\\"token\\\":\\\"CI\\\",\\\"developer_slug\\\":\\\"
|
|
12
|
+
"pretest": "./scripts/install-bun.sh && PATH=$HOME/.bun/bin:$PATH concurrently --timings -n build,bun,yarn,pnpm,config \"yarn build\" \"bun --version\" \"npm install --global yarn\" \"npm install --global pnpm\" \"echo '{\\\"token\\\":\\\"CI\\\",\\\"developer_slug\\\":\\\"ci\\\"}' > ~/.attio.json\"",
|
|
13
13
|
"test": "yarn run test-typescript && PATH=$HOME/.bun/bin:$PATH yarn run test-jest",
|
|
14
14
|
"test-jest": "jest --config ./jest.config.cjs",
|
|
15
15
|
"test-typescript": "tsc --build",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"pastel": "^2.0.2",
|
|
54
54
|
"react": "18.3.1",
|
|
55
55
|
"typescript": "5.4.5",
|
|
56
|
-
"uuid": "^9.0.
|
|
56
|
+
"uuid": "^9.0.1",
|
|
57
57
|
"xstate": "^5.12.0",
|
|
58
58
|
"yargs": "^17.7.2",
|
|
59
59
|
"zod": "^3.22.3"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-extension-name.d.ts","sourceRoot":"","sources":["../../src/util/make-extension-name.ts"],"names":[],"mappings":"AASA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const slugify = (string) => string
|
|
2
|
-
.toLowerCase()
|
|
3
|
-
.replace(/\s+/g, "-")
|
|
4
|
-
.replace(/[^\w]+_'"/g, "")
|
|
5
|
-
.replace(/--+ /g, "-")
|
|
6
|
-
.replace(/^-+/, "")
|
|
7
|
-
.replace(/-+$/, "");
|
|
8
|
-
export function makeIntegrationSlug(string) {
|
|
9
|
-
return slugify(string.toLowerCase().trim());
|
|
10
|
-
}
|
|
11
|
-
export function makeExtensionName(string) {
|
|
12
|
-
return slugify(string.toLowerCase().trim());
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=make-extension-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-extension-name.js","sourceRoot":"","sources":["../../src/util/make-extension-name.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE,CAC/B,MAAM;KACD,WAAW,EAAE;KACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;KACpB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;KACzB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;KACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;KAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAE3B,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-project-name.d.ts","sourceRoot":"","sources":["../../src/util/validate-project-name.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,OAA+B,CAAA;AAQ1E,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,MAAM,GAAG,IAiB3D,CAAA"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { accessSync, constants, existsSync } from "fs";
|
|
2
|
-
import { join, resolve } from "path";
|
|
3
|
-
const slugRegex = /^(?!-)[a-z\-]*(?<!-)$/;
|
|
4
|
-
const canWrite = (path) => {
|
|
5
|
-
try {
|
|
6
|
-
accessSync(resolve(path), constants.W_OK);
|
|
7
|
-
return true;
|
|
8
|
-
}
|
|
9
|
-
catch {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
export const isValidSlug = (slug) => slugRegex.test(slug);
|
|
14
|
-
export const validateProjectName = (name) => {
|
|
15
|
-
if (!name.trim())
|
|
16
|
-
return "Missing name";
|
|
17
|
-
if (!isValidSlug(name)) {
|
|
18
|
-
return "Name contains invalid characters. Must be lowercase letters or hyphens only.";
|
|
19
|
-
}
|
|
20
|
-
if (existsSync(join(process.cwd(), name))) {
|
|
21
|
-
return `Directory "${name}" already exists`;
|
|
22
|
-
}
|
|
23
|
-
if (!canWrite(".")) {
|
|
24
|
-
return "Write access denied to current directory";
|
|
25
|
-
}
|
|
26
|
-
return null;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=validate-project-name.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate-project-name.js","sourceRoot":"","sources":["../../src/util/validate-project-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,IAAI,CAAA;AACpD,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,MAAM,CAAA;AAElC,MAAM,SAAS,GAAG,uBAAuB,CAAA;AAEzC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE;IACvC,IAAI,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAEzC,OAAO,IAAI,CAAA;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAQ1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,cAAc,CAAA;IACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,8EAA8E,CAAA;IACzF,CAAC;IAGD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,cAAc,IAAI,kBAAkB,CAAA;IAC/C,CAAC;IAGD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjB,OAAO,0CAA0C,CAAA;IACrD,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC,CAAA"}
|