@supernovaio/cli 2.0.7 → 2.0.9
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5ee66120-d90c-524e-bbfc-dc8d227ecaf3")}catch(e){}}();
|
|
3
3
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
4
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
5
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -95,7 +95,7 @@ export default class TemplateUpload extends SentryCommand {
|
|
|
95
95
|
this.error(`Some dependencies were not found in current node modules: [${missing.join(", ")}]`);
|
|
96
96
|
}
|
|
97
97
|
try {
|
|
98
|
-
await exec(`zip -
|
|
98
|
+
await exec(`zip -9 -q -r "${zipPath}" . -x "*.zip"`);
|
|
99
99
|
}
|
|
100
100
|
catch (error) {
|
|
101
101
|
if (error instanceof Error)
|
|
@@ -154,4 +154,4 @@ __decorate([
|
|
|
154
154
|
__metadata("design:returntype", Promise)
|
|
155
155
|
], TemplateUpload.prototype, "run", null);
|
|
156
156
|
//# sourceMappingURL=template-upload.js.map
|
|
157
|
-
//# debugId=
|
|
157
|
+
//# debugId=5ee66120-d90c-524e-bbfc-dc8d227ecaf3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-upload.js","sources":["../../src/commands/template-upload.ts"],"sourceRoot":"","sourcesContent":["import { Flags } from \"@oclif/core\"\nimport { action } from \"@oclif/core/ux\"\nimport { SentryTraced } from \"@sentry/nestjs\"\nimport fetch from \"node-fetch\"\nimport { exec as execCallback } from \"node:child_process\"\nimport { createHash, randomUUID } from \"node:crypto\"\nimport { createReadStream } from \"node:fs\"\nimport * as fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { promisify } from \"node:util\"\nimport { z, ZodType } from \"zod\"\n\nimport { commonFlags, SentryCommand } from \"../types/index.js\"\n\nconst exec = promisify(execCallback)\n\nconst TemplateUploadConfig = z.object({})\n\ntype TemplateUploadConfig = z.infer<typeof TemplateUploadConfig>\n\nasync function fileExists(p: string) {\n try {\n await fs.access(p)\n return true\n } catch {\n return false\n }\n}\n\nasync function computeChecksum(filePath: string) {\n return new Promise<string>((resolve, reject) => {\n const hash = createHash(\"sha256\")\n const stream = createReadStream(filePath)\n\n stream.on(\"error\", reject)\n hash.on(\"error\", reject)\n\n stream.on(\"data\", chunk => hash.update(chunk))\n stream.on(\"end\", () => {\n const digest = hash.digest(\"hex\")\n resolve(digest)\n })\n })\n}\n\nexport default class TemplateUpload extends SentryCommand<TemplateUploadConfig> {\n static override args = {}\n static override description = \"Upload custom prototype app sandbox template\"\n static override examples = [\"<%= config.bin %> <%= command.id %> TemplateUpload \"]\n static override hidden: boolean = true\n static override flags = {\n ...commonFlags,\n workspaceId: Flags.string({ char: \"w\", description: \"Workspace ID to upload the template to\", required: true }),\n }\n\n get commandId(): string {\n return TemplateUpload.id\n }\n\n get configSchema(): ZodType<TemplateUploadConfig> {\n return TemplateUploadConfig\n }\n\n @SentryTraced()\n public async run(): Promise<void> {\n const apiClient = await this.apiClient()\n const { flags } = await this.parse()\n\n const cwd = process.cwd()\n const pkgPath = path.join(cwd, \"package.json\")\n const modulesPath = path.join(cwd, \"node_modules\")\n const zipPath = path.join(cwd, \".supernova-upload.zip\")\n\n // Validate package json\n if (!(await fileExists(pkgPath))) this.error(\"package.json not found in current directory.\")\n\n // Validate node modules\n if (!(await fileExists(modulesPath)) || !(await fs.stat(modulesPath)).isDirectory()) {\n this.error(`node_modules directory not found in the current directory`)\n }\n\n // Read package json\n let pkg\n try {\n const raw = await fs.readFile(pkgPath, \"utf8\")\n pkg = JSON.parse(raw) as { dependencies: Record<string, string> }\n } catch (error) {\n if (error instanceof Error) this.error(`Failed to read or parse package.json: ${error.message}`)\n else throw error\n }\n\n // Validate dependencies are present\n const depNames = Object.keys(pkg.dependencies)\n const missing: string[] = []\n\n await Promise.all(\n depNames.map(async name => {\n const depDir = path.join(modulesPath, ...name.split(\"/\"))\n if (!(await fileExists(depDir))) {\n missing.push(name)\n }\n }),\n )\n\n if (missing.length > 0) {\n this.error(`Some dependencies were not found in current node modules: [${missing.join(\", \")}]`)\n }\n\n // 6) Create ZIP of current directory\n try {\n await exec(`zip -1 -q -r \"${zipPath}\" . -x \"*.zip\"`)\n } catch (error) {\n if (error instanceof Error) this.error(`Failed to create zip archive: ${error.message}`)\n else throw error\n }\n\n if (!(await fileExists(zipPath))) this.error(`Upload zip was not produced`)\n\n const stat = await fs.stat(zipPath)\n const checksum = await computeChecksum(zipPath)\n\n action.start(`Uploading ${(stat.size / 1000 / 1000).toFixed(2)}MB`)\n\n const uploadResponse = await apiClient.files.upload({\n ownerType: \"Workspace\",\n workspaceId: flags.workspaceId,\n files: [{ checksum, name: `${randomUUID()}.zip`, size: stat.size }],\n })\n\n if (uploadResponse.files.length === 0) this.error(`Upload endpoint returned no files`)\n\n let file = uploadResponse.files[0]\n if (file.pendingUpload) {\n const [uploadUrl] = uploadResponse.uploadUrls\n if (!uploadUrl) this.error(`File is pending upload, but no upload URL was provided`)\n\n const s3UploadResponse = await fetch(uploadUrl.uploadUrl, {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"contentType\",\n \"Content-Length\": stat.size.toString(),\n },\n body: createReadStream(zipPath),\n })\n\n if (!s3UploadResponse.ok) {\n const text = await s3UploadResponse.text()\n throw new Error(`Upload failed with status ${s3UploadResponse.status}: ${text}`)\n }\n\n const finalizeResponse = await apiClient.files.finalizeUpload({\n ownerType: \"Workspace\",\n workspaceId: flags.workspaceId,\n fileIds: [uploadResponse.files[0].id],\n })\n\n file = finalizeResponse.files[0]\n } else {\n this.log(`Already uploaded, skipping upload...`)\n }\n\n await fs.unlink(zipPath)\n\n action.stop(\"done\")\n this.log(`✅ Template has been uploaded, checksum: ${file.deduplicationKey}`)\n }\n}\n"],"names":[],"mappings":"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","debug_id":"74ee2887-2511-5844-aa81-602585e718f6"}
|
|
1
|
+
{"version":3,"file":"template-upload.js","sources":["../../src/commands/template-upload.ts"],"sourceRoot":"","sourcesContent":["import { Flags } from \"@oclif/core\"\nimport { action } from \"@oclif/core/ux\"\nimport { SentryTraced } from \"@sentry/nestjs\"\nimport fetch from \"node-fetch\"\nimport { exec as execCallback } from \"node:child_process\"\nimport { createHash, randomUUID } from \"node:crypto\"\nimport { createReadStream } from \"node:fs\"\nimport * as fs from \"node:fs/promises\"\nimport path from \"node:path\"\nimport { promisify } from \"node:util\"\nimport { z, ZodType } from \"zod\"\n\nimport { commonFlags, SentryCommand } from \"../types/index.js\"\n\nconst exec = promisify(execCallback)\n\nconst TemplateUploadConfig = z.object({})\n\ntype TemplateUploadConfig = z.infer<typeof TemplateUploadConfig>\n\nasync function fileExists(p: string) {\n try {\n await fs.access(p)\n return true\n } catch {\n return false\n }\n}\n\nasync function computeChecksum(filePath: string) {\n return new Promise<string>((resolve, reject) => {\n const hash = createHash(\"sha256\")\n const stream = createReadStream(filePath)\n\n stream.on(\"error\", reject)\n hash.on(\"error\", reject)\n\n stream.on(\"data\", chunk => hash.update(chunk))\n stream.on(\"end\", () => {\n const digest = hash.digest(\"hex\")\n resolve(digest)\n })\n })\n}\n\nexport default class TemplateUpload extends SentryCommand<TemplateUploadConfig> {\n static override args = {}\n static override description = \"Upload custom prototype app sandbox template\"\n static override examples = [\"<%= config.bin %> <%= command.id %> TemplateUpload \"]\n static override hidden: boolean = true\n static override flags = {\n ...commonFlags,\n workspaceId: Flags.string({ char: \"w\", description: \"Workspace ID to upload the template to\", required: true }),\n }\n\n get commandId(): string {\n return TemplateUpload.id\n }\n\n get configSchema(): ZodType<TemplateUploadConfig> {\n return TemplateUploadConfig\n }\n\n @SentryTraced()\n public async run(): Promise<void> {\n const apiClient = await this.apiClient()\n const { flags } = await this.parse()\n\n const cwd = process.cwd()\n const pkgPath = path.join(cwd, \"package.json\")\n const modulesPath = path.join(cwd, \"node_modules\")\n const zipPath = path.join(cwd, \".supernova-upload.zip\")\n\n // Validate package json\n if (!(await fileExists(pkgPath))) this.error(\"package.json not found in current directory.\")\n\n // Validate node modules\n if (!(await fileExists(modulesPath)) || !(await fs.stat(modulesPath)).isDirectory()) {\n this.error(`node_modules directory not found in the current directory`)\n }\n\n // Read package json\n let pkg\n try {\n const raw = await fs.readFile(pkgPath, \"utf8\")\n pkg = JSON.parse(raw) as { dependencies: Record<string, string> }\n } catch (error) {\n if (error instanceof Error) this.error(`Failed to read or parse package.json: ${error.message}`)\n else throw error\n }\n\n // Validate dependencies are present\n const depNames = Object.keys(pkg.dependencies)\n const missing: string[] = []\n\n await Promise.all(\n depNames.map(async name => {\n const depDir = path.join(modulesPath, ...name.split(\"/\"))\n if (!(await fileExists(depDir))) {\n missing.push(name)\n }\n }),\n )\n\n if (missing.length > 0) {\n this.error(`Some dependencies were not found in current node modules: [${missing.join(\", \")}]`)\n }\n\n // 6) Create ZIP of current directory\n try {\n await exec(`zip -9 -q -r \"${zipPath}\" . -x \"*.zip\"`)\n } catch (error) {\n if (error instanceof Error) this.error(`Failed to create zip archive: ${error.message}`)\n else throw error\n }\n\n if (!(await fileExists(zipPath))) this.error(`Upload zip was not produced`)\n\n const stat = await fs.stat(zipPath)\n const checksum = await computeChecksum(zipPath)\n\n action.start(`Uploading ${(stat.size / 1000 / 1000).toFixed(2)}MB`)\n\n const uploadResponse = await apiClient.files.upload({\n ownerType: \"Workspace\",\n workspaceId: flags.workspaceId,\n files: [{ checksum, name: `${randomUUID()}.zip`, size: stat.size }],\n })\n\n if (uploadResponse.files.length === 0) this.error(`Upload endpoint returned no files`)\n\n let file = uploadResponse.files[0]\n if (file.pendingUpload) {\n const [uploadUrl] = uploadResponse.uploadUrls\n if (!uploadUrl) this.error(`File is pending upload, but no upload URL was provided`)\n\n const s3UploadResponse = await fetch(uploadUrl.uploadUrl, {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"contentType\",\n \"Content-Length\": stat.size.toString(),\n },\n body: createReadStream(zipPath),\n })\n\n if (!s3UploadResponse.ok) {\n const text = await s3UploadResponse.text()\n throw new Error(`Upload failed with status ${s3UploadResponse.status}: ${text}`)\n }\n\n const finalizeResponse = await apiClient.files.finalizeUpload({\n ownerType: \"Workspace\",\n workspaceId: flags.workspaceId,\n fileIds: [uploadResponse.files[0].id],\n })\n\n file = finalizeResponse.files[0]\n } else {\n this.log(`Already uploaded, skipping upload...`)\n }\n\n await fs.unlink(zipPath)\n\n action.stop(\"done\")\n this.log(`✅ Template has been uploaded, checksum: ${file.deduplicationKey}`)\n }\n}\n"],"names":[],"mappings":"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","debug_id":"5ee66120-d90c-524e-bbfc-dc8d227ecaf3"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../../src/types/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"base-command.d.ts","sourceRoot":"","sources":["../../src/types/base-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAmB,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAgB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAK1D,8BAAsB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,OAAO;IACjE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAiB;IACzC,SAAS,CAAC,aAAa,yBAAuC;IAC9D,OAAO,CAAC,UAAU,CAAgC;IAElD,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAChC,QAAQ,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;cAEzB,SAAS;cAWT,IAAI;cAKJ,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAY1E,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;cAwCvC,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAqBzE,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAyBvD,MAAM;CAYrB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="91403767-c5ba-5b5a-8c9b-ca768afefabf")}catch(e){}}();
|
|
3
3
|
import { Command } from "@oclif/core";
|
|
4
|
+
import * as Sentry from "@sentry/node";
|
|
4
5
|
import inquirer from "inquirer";
|
|
5
6
|
import { getApiClient } from "../utils/api-client.js";
|
|
6
7
|
import { SupernovaConfigService } from "../utils/config.service.js";
|
|
@@ -14,7 +15,8 @@ export class BaseCommand extends Command {
|
|
|
14
15
|
if (this._apiClient)
|
|
15
16
|
return this._apiClient;
|
|
16
17
|
const apiClient = await getApiClient(this.env);
|
|
17
|
-
|
|
18
|
+
const { user: me } = await apiClient.users.getMe();
|
|
19
|
+
Sentry.setUser({ id: me.id });
|
|
18
20
|
return apiClient;
|
|
19
21
|
}
|
|
20
22
|
async init() {
|
|
@@ -103,4 +105,4 @@ export class BaseCommand extends Command {
|
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
//# sourceMappingURL=base-command.js.map
|
|
106
|
-
//# debugId=
|
|
108
|
+
//# debugId=91403767-c5ba-5b5a-8c9b-ca768afefabf
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-command.js","sources":["../../src/types/base-command.ts"],"sourceRoot":"","sourcesContent":["import { Command } from \"@oclif/core\"\nimport { DTODesignSystem, SupernovaApiClient } from \"@supernova-studio/client\"\nimport inquirer from \"inquirer\"\nimport { z } from \"zod\"\n\nimport { getApiClient } from \"../utils/api-client.js\"\nimport { SupernovaConfigService } from \"../utils/config.service.js\"\nimport { getTargetEnv, TargetEnv } from \"./environment.js\"\n\nconst hasAccess = (role?: DTODesignSystem[\"role\"]) =>\n role && [\"Admin\", \"Contributor\", \"Creator\", \"Owner\"].includes(role)\n\nexport abstract class BaseCommand<T extends object> extends Command {\n protected env: TargetEnv = getTargetEnv()\n protected configService = SupernovaConfigService.getInstance()\n private _apiClient: SupernovaApiClient | undefined\n\n abstract get commandId(): string\n abstract get configSchema(): z.ZodType<T>\n\n protected async apiClient() {\n if (this._apiClient) return this._apiClient\n\n const apiClient = await getApiClient(this.env)\n
|
|
1
|
+
{"version":3,"file":"base-command.js","sources":["../../src/types/base-command.ts"],"sourceRoot":"","sourcesContent":["import { Command } from \"@oclif/core\"\nimport * as Sentry from \"@sentry/node\"\nimport { DTODesignSystem, SupernovaApiClient } from \"@supernova-studio/client\"\nimport inquirer from \"inquirer\"\nimport { z } from \"zod\"\n\nimport { getApiClient } from \"../utils/api-client.js\"\nimport { SupernovaConfigService } from \"../utils/config.service.js\"\nimport { getTargetEnv, TargetEnv } from \"./environment.js\"\n\nconst hasAccess = (role?: DTODesignSystem[\"role\"]) =>\n role && [\"Admin\", \"Contributor\", \"Creator\", \"Owner\"].includes(role)\n\nexport abstract class BaseCommand<T extends object> extends Command {\n protected env: TargetEnv = getTargetEnv()\n protected configService = SupernovaConfigService.getInstance()\n private _apiClient: SupernovaApiClient | undefined\n\n abstract get commandId(): string\n abstract get configSchema(): z.ZodType<T>\n\n protected async apiClient() {\n if (this._apiClient) return this._apiClient\n\n const apiClient = await getApiClient(this.env)\n\n const { user: me } = await apiClient.users.getMe()\n Sentry.setUser({ id: me.id })\n\n return apiClient\n }\n\n protected async init() {\n await super.init()\n this.log(`Using ${this.env} environment`)\n }\n\n protected async promptBrandId(designSystemId: string, versionId?: string): Promise<string> {\n const client = await this.apiClient()\n const brandsEndpoint = client.designSystems.versions.brands\n\n const { brands } = await brandsEndpoint.list(designSystemId, versionId ?? \"head\")\n\n const options = brands.map(b => ({ name: b.meta.name, value: b.persistentId }))\n if (options.length === 1) return options[0].value\n\n return this.prompt(\"Select a brand:\", options)\n }\n\n protected async promptDesignSystemId(): Promise<string> {\n const { designSystems: client } = await this.apiClient()\n const { designSystems, workspaces } = await client.listUserDesignSystems()\n const workspaceById = new Map(workspaces.map(ws => [ws.id, ws]))\n const dsNameCount = designSystems.reduce((acc, { meta: { name }, role }) => {\n if (hasAccess(role)) acc.set(name, (acc.get(name) ?? 0) + 1)\n\n return acc\n }, new Map<string, number>())\n\n if (designSystems.length === 0) {\n this.error(\"You don't have any design system.\")\n }\n\n const dsIds = designSystems\n .sort(({ meta: { name: a } }, { meta: { name: b } }) => a.localeCompare(b))\n .map(({ id, meta: { name }, role, workspaceId }) => ({\n id,\n name: (dsNameCount.get(name) ?? 0) > 1 ? `${name} (${workspaceById.get(workspaceId)?.profile?.name})` : name,\n role,\n }))\n .filter(({ role }) => hasAccess(role))\n\n if (dsIds.length === 0) {\n this.error(\"You don't have access to any design system.\")\n }\n\n if (dsIds.length === 1) {\n return dsIds[0].id\n }\n\n return this.prompt(\n \"Select a design system:\",\n dsIds.map(({ id, name }) => ({\n name,\n value: id,\n })),\n )\n }\n\n protected async getVersionId(designSystemId: string, versionId?: string): Promise<string> {\n if (versionId) return versionId\n const { versions } = (await this.apiClient()).designSystems\n const verIds = (await versions.list(designSystemId)).designSystemVersions.map(({ id, meta: { name } }) => ({\n id,\n name,\n }))\n\n if (verIds.length === 1) {\n return verIds[0].id\n }\n\n return this.prompt(\n \"Select a version:\",\n verIds.map(wrk => ({\n name: wrk.name,\n value: wrk.id,\n })),\n )\n }\n\n protected async getWorkspaceId(workspaceId?: string): Promise<string> {\n if (workspaceId) return workspaceId\n const { workspaces } = await this.apiClient()\n const wrks = (await workspaces.list()).membership.map(\n ({\n workspace: {\n id,\n profile: { name },\n },\n }) => ({ id, name }),\n )\n\n if (wrks.length === 1) {\n return wrks[0].id\n }\n\n return this.prompt(\n \"Select a workspace:\",\n wrks.map(wrk => ({\n name: wrk.name,\n value: wrk.id,\n })),\n )\n }\n\n private async prompt(message: string, choices: { name: string; value: string }[]) {\n const choice = await inquirer.prompt([\n {\n choices: [...choices, { name: \"Exit\", value: \"exit\" }],\n message,\n name: \"selected\",\n type: \"list\",\n },\n ])\n\n return choice.selected as string\n }\n}\n"],"names":[],"mappings":"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","debug_id":"91403767-c5ba-5b5a-8c9b-ca768afefabf"}
|
package/oclif.manifest.json
CHANGED