@superblocksteam/sdk 2.0.3-next.99 → 2.0.4

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 (67) hide show
  1. package/dist/application-build.d.mts +12 -0
  2. package/dist/application-build.d.mts.map +1 -0
  3. package/dist/application-build.mjs +113 -0
  4. package/dist/application-build.mjs.map +1 -0
  5. package/dist/cli-replacement/automatic-upgrades.d.ts +4 -0
  6. package/dist/cli-replacement/automatic-upgrades.d.ts.map +1 -0
  7. package/dist/cli-replacement/automatic-upgrades.js +260 -0
  8. package/dist/cli-replacement/automatic-upgrades.js.map +1 -0
  9. package/dist/cli-replacement/dev.d.mts +1 -6
  10. package/dist/cli-replacement/dev.d.mts.map +1 -1
  11. package/dist/cli-replacement/dev.mjs +75 -2
  12. package/dist/cli-replacement/dev.mjs.map +1 -1
  13. package/dist/client.d.ts +2 -1
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +7 -5
  16. package/dist/client.js.map +1 -1
  17. package/dist/dev-utils/dev-server.d.mts.map +1 -1
  18. package/dist/dev-utils/dev-server.mjs +59 -19
  19. package/dist/dev-utils/dev-server.mjs.map +1 -1
  20. package/dist/dev-utils/dev-tracer.d.ts +1 -1
  21. package/dist/dev-utils/dev-tracer.d.ts.map +1 -1
  22. package/dist/dev-utils/dev-tracer.js +60 -24
  23. package/dist/dev-utils/dev-tracer.js.map +1 -1
  24. package/dist/dev-utils/vite-plugin-react-transform.d.mts.map +1 -1
  25. package/dist/dev-utils/vite-plugin-react-transform.mjs +1 -0
  26. package/dist/dev-utils/vite-plugin-react-transform.mjs.map +1 -1
  27. package/dist/dev-utils/vite-plugin-sb-cdn.d.mts.map +1 -1
  28. package/dist/dev-utils/vite-plugin-sb-cdn.mjs +28 -7
  29. package/dist/dev-utils/vite-plugin-sb-cdn.mjs.map +1 -1
  30. package/dist/index.d.ts +3 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/socket/handlers.d.ts +2 -2
  35. package/dist/socket/handlers.d.ts.map +1 -1
  36. package/dist/socket/handlers.js.map +1 -1
  37. package/dist/socket/index.d.ts +1 -11
  38. package/dist/socket/index.d.ts.map +1 -1
  39. package/dist/socket/index.js +11 -43
  40. package/dist/socket/index.js.map +1 -1
  41. package/dist/types/common.d.ts +6 -0
  42. package/dist/types/common.d.ts.map +1 -1
  43. package/dist/types/common.js.map +1 -1
  44. package/dist/vite-plugin-inject-sb-ids-transform.d.mts +15 -0
  45. package/dist/vite-plugin-inject-sb-ids-transform.d.mts.map +1 -0
  46. package/dist/vite-plugin-inject-sb-ids-transform.mjs +86 -0
  47. package/dist/vite-plugin-inject-sb-ids-transform.mjs.map +1 -0
  48. package/package.json +26 -6
  49. package/src/application-build.mts +160 -0
  50. package/src/cli-replacement/automatic-upgrades.ts +349 -0
  51. package/src/cli-replacement/dev.mts +102 -10
  52. package/src/client.ts +13 -4
  53. package/src/dev-utils/dev-server.mts +79 -19
  54. package/src/dev-utils/dev-tracer.ts +63 -24
  55. package/src/dev-utils/vite-plugin-react-transform.mts +1 -0
  56. package/src/dev-utils/vite-plugin-sb-cdn.mts +35 -7
  57. package/src/index.ts +4 -1
  58. package/src/socket/handlers.ts +109 -105
  59. package/src/socket/index.ts +21 -101
  60. package/src/types/common.ts +7 -0
  61. package/src/vite-plugin-inject-sb-ids-transform.mts +104 -0
  62. package/tsconfig.tsbuildinfo +1 -1
  63. package/dist/socket/socket.d.ts +0 -61
  64. package/dist/socket/socket.d.ts.map +0 -1
  65. package/dist/socket/socket.js +0 -251
  66. package/dist/socket/socket.js.map +0 -1
  67. package/src/socket/socket.ts +0 -399
@@ -0,0 +1,12 @@
1
+ export declare function buildApplication({ root, dest, mode, libraryUrl, assetsCdnUrl, ddClientToken, ddApplicationId, ddEnv, ddVersion, }: {
2
+ root: string;
3
+ dest: string;
4
+ mode: string;
5
+ libraryUrl: string;
6
+ assetsCdnUrl?: string;
7
+ ddClientToken?: string;
8
+ ddApplicationId?: string;
9
+ ddEnv?: string;
10
+ ddVersion?: string;
11
+ }): Promise<void>;
12
+ //# sourceMappingURL=application-build.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-build.d.mts","sourceRoot":"","sources":["../src/application-build.mts"],"names":[],"mappings":"AAcA,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,KAAK,EACL,SAAS,GACV,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,iBAwBA"}
@@ -0,0 +1,113 @@
1
+ import path from "node:path";
2
+ import { injectIndexVitePlugin } from "@superblocksteam/vite-plugin-file-sync/inject-index";
3
+ import react from "@vitejs/plugin-react";
4
+ import { yellow, red } from "colorette";
5
+ import fs from "fs-extra";
6
+ import { build, createLogger } from "vite";
7
+ import tsconfigPaths from "vite-tsconfig-paths";
8
+ import { customComponentsPlugin } from "./dev-utils/custom-build.mjs";
9
+ import { getLogger } from "./dev-utils/dev-logger.mjs";
10
+ import { ddRumPlugin } from "./dev-utils/vite-plugin-dd-rum.mjs";
11
+ import { superblocksCdnPlugin } from "./dev-utils/vite-plugin-sb-cdn.mjs";
12
+ import { injectSuperblocksIdsPlugin } from "./vite-plugin-inject-sb-ids-transform.mjs";
13
+ export async function buildApplication({ root, dest, mode, libraryUrl, assetsCdnUrl, ddClientToken, ddApplicationId, ddEnv, ddVersion, }) {
14
+ const cwd = process.cwd();
15
+ try {
16
+ // Ensure the root directory exists and change execution context to it
17
+ if (!(await fs.pathExists(root))) {
18
+ throw new Error(`Root directory "${root}" does not exist`);
19
+ }
20
+ process.chdir(root);
21
+ await buildWithVite({
22
+ root: fs.realpathSync(root),
23
+ dest: fs.realpathSync(dest),
24
+ mode,
25
+ libraryUrl,
26
+ assetsCdnUrl,
27
+ ddClientToken,
28
+ ddApplicationId,
29
+ ddEnv,
30
+ ddVersion,
31
+ });
32
+ }
33
+ finally {
34
+ // Restore the original working directory before returning
35
+ process.chdir(cwd);
36
+ }
37
+ }
38
+ async function buildWithVite({ root, dest, mode, libraryUrl, assetsCdnUrl, ddClientToken, ddApplicationId, ddEnv, ddVersion, }) {
39
+ const viteLogger = createLogger();
40
+ const logger = getLogger();
41
+ viteLogger.info = logger.info;
42
+ viteLogger.warn = (msg) => {
43
+ logger.warn(yellow(msg));
44
+ };
45
+ viteLogger.warnOnce = (msg) => {
46
+ logger.warn(yellow(msg));
47
+ };
48
+ viteLogger.error = (msg) => {
49
+ logger.error(red(msg));
50
+ };
51
+ viteLogger.clearScreen = () => { };
52
+ const customFolder = path.join(root, "custom");
53
+ await build({
54
+ root,
55
+ mode,
56
+ appType: "spa",
57
+ resolve: {
58
+ alias: {
59
+ "react-router": "@superblocksteam/library",
60
+ },
61
+ },
62
+ clearScreen: true,
63
+ optimizeDeps: {
64
+ include: ["lodash", "react-is"],
65
+ exclude: [],
66
+ },
67
+ build: {
68
+ outDir: dest,
69
+ emptyOutDir: true,
70
+ write: true,
71
+ commonjsOptions: {
72
+ include: ["react-is"],
73
+ transformMixedEsModules: true,
74
+ },
75
+ rollupOptions: {
76
+ external: [
77
+ `${customFolder}/**/*`,
78
+ "react",
79
+ "react-dom",
80
+ "react/jsx-runtime",
81
+ "react/jsx-dev-runtime",
82
+ ],
83
+ preserveEntrySignatures: "allow-extension",
84
+ output: { format: "esm" },
85
+ },
86
+ },
87
+ logLevel: "info",
88
+ plugins: [
89
+ tsconfigPaths(),
90
+ injectIndexVitePlugin({ assetsCdnUrl, logger }),
91
+ customComponentsPlugin(),
92
+ injectSuperblocksIdsPlugin(root),
93
+ superblocksCdnPlugin({
94
+ imports: {
95
+ "@superblocksteam/library": `${libraryUrl}/index.js`,
96
+ "react/jsx-runtime": "https://esm.sh/react@18.2.0/jsx-runtime.mjs",
97
+ "react/jsx-dev-runtime": "https://esm.sh/react@18.2.0/jsx-dev-runtime.mjs",
98
+ },
99
+ cssImports: {
100
+ "@superblocksteam/library/index.css": `${libraryUrl}/index.css`,
101
+ },
102
+ }),
103
+ react(),
104
+ ddRumPlugin({
105
+ clientToken: ddClientToken ?? "",
106
+ applicationId: ddApplicationId ?? "",
107
+ env: ddEnv ?? "prod",
108
+ version: ddVersion ?? "1.0.0",
109
+ }),
110
+ ],
111
+ });
112
+ }
113
+ //# sourceMappingURL=application-build.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application-build.mjs","sourceRoot":"","sources":["../src/application-build.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ApplicationConfig } from "../types/common.js";
2
+ import type { LockService } from "@superblocksteam/vite-plugin-file-sync/lock-service";
3
+ export declare function checkVersionsAndUpgrade(lockService: LockService, config?: ApplicationConfig): Promise<void>;
4
+ //# sourceMappingURL=automatic-upgrades.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automatic-upgrades.d.ts","sourceRoot":"","sources":["../../src/cli-replacement/automatic-upgrades.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAsOvF,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,iBAAiB,iBA0G3B"}
@@ -0,0 +1,260 @@
1
+ import * as child_process from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { isNativeError } from "node:util/types";
4
+ import { resolveCommand } from "package-manager-detector";
5
+ import { detect } from "package-manager-detector/detect";
6
+ import gt from "semver/functions/gt.js";
7
+ import valid from "semver/functions/valid.js";
8
+ import { getLogger } from "../dev-utils/dev-logger.mjs";
9
+ const exec = promisify(child_process.exec);
10
+ const logger = getLogger();
11
+ async function getRemoteVersions(config) {
12
+ const { token, superblocksBaseUrl, id } = config;
13
+ try {
14
+ const response = await fetch(new URL(`api/v3/applications/${id}/cli-library-versions`, superblocksBaseUrl), {
15
+ method: "GET",
16
+ headers: { Authorization: `Bearer ${token}` },
17
+ });
18
+ if (response.ok) {
19
+ const data = (await response.json());
20
+ return data.data;
21
+ }
22
+ else {
23
+ const error = (await response.json());
24
+ console.log(`Could not get latest CLI version: ${error.responseMeta.message}`);
25
+ }
26
+ }
27
+ catch (error) {
28
+ if (isNativeError(error)) {
29
+ logger.error(error.message);
30
+ }
31
+ else {
32
+ logger.error(`${error}`);
33
+ }
34
+ }
35
+ }
36
+ async function getCurrentCliVersion() {
37
+ try {
38
+ const command = process.platform === "win32" ? "where" : "which";
39
+ const { stdout } = await exec(`${command} superblocks`);
40
+ const superblocksPath = stdout.trim();
41
+ if (!superblocksPath)
42
+ return undefined;
43
+ const { stdout: versionOutput } = await exec(`${superblocksPath} version --json`);
44
+ const json = JSON.parse(versionOutput);
45
+ // Extract version from string like "@superblocksteam/cli/2.0.0-next.1" or "@superblocksteam/cli-ephemeral/2.0.0-SNAPSHOT.1749077365"
46
+ return json.cliVersion?.replace(/@superblocksteam\/cli(-ephemeral)?\//, "");
47
+ }
48
+ catch (error) {
49
+ if (isNativeError(error)) {
50
+ logger.error(`Error getting CLI version: ${error.message}`);
51
+ }
52
+ return undefined;
53
+ }
54
+ }
55
+ async function getCurrentLibraryVersion(pm) {
56
+ try {
57
+ switch (pm.agent) {
58
+ case "npm":
59
+ return await getNpmLibraryVersion();
60
+ case "pnpm":
61
+ return await getPnpmLibraryVersion();
62
+ default:
63
+ console.error(`${pm.agent} is currently not supported for automatic upgrades.`);
64
+ return undefined;
65
+ }
66
+ }
67
+ catch (error) {
68
+ console.error("Could not resolve current library version. Skipping automatic upgrade.");
69
+ console.error(error);
70
+ return undefined;
71
+ }
72
+ }
73
+ async function getNpmLibraryVersion() {
74
+ const { stdout } = await exec("npm list @superblocksteam/library --json", {
75
+ cwd: process.cwd(),
76
+ });
77
+ const parsed = JSON.parse(stdout);
78
+ const packageData = parsed.dependencies?.["@superblocksteam/library"] ??
79
+ parsed.devDependencies?.["@superblocksteam/library"];
80
+ if (!packageData?.version)
81
+ return undefined;
82
+ // Check if this is an alias by examining the resolved URL
83
+ const resolved = packageData.resolved;
84
+ if (resolved && resolved.includes("@superblocksteam/")) {
85
+ const aliasMatch = resolved.match(/@superblocksteam\/([^\/]+)/);
86
+ if (aliasMatch && aliasMatch[1] !== "library") {
87
+ return {
88
+ version: packageData.version,
89
+ alias: `@superblocksteam/${aliasMatch[1]}`,
90
+ };
91
+ }
92
+ }
93
+ return { version: packageData.version };
94
+ }
95
+ async function getPnpmLibraryVersion() {
96
+ // First try the original package name
97
+ let packageData;
98
+ try {
99
+ const result = await exec("pnpm list @superblocksteam/library --json", {
100
+ cwd: process.cwd(),
101
+ });
102
+ const parsed = JSON.parse(result.stdout);
103
+ packageData =
104
+ parsed[0]?.dependencies?.["@superblocksteam/library"] ??
105
+ parsed[0]?.devDependencies?.["@superblocksteam/library"];
106
+ }
107
+ catch {
108
+ // Package not found with original name, might be aliased
109
+ }
110
+ // If not found, try the ephemeral alias
111
+ if (!packageData?.version) {
112
+ try {
113
+ const aliasResult = await exec("pnpm list @superblocksteam/library-ephemeral --json", { cwd: process.cwd() });
114
+ const aliasParsed = JSON.parse(aliasResult.stdout);
115
+ packageData =
116
+ aliasParsed[0]?.dependencies?.["@superblocksteam/library"] ??
117
+ aliasParsed[0]?.devDependencies?.["@superblocksteam/library"];
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ }
123
+ if (!packageData?.version)
124
+ return undefined;
125
+ // Check if this is an alias by looking at the 'from' field
126
+ const from = packageData.from;
127
+ if (from && from !== "@superblocksteam/library") {
128
+ return {
129
+ version: packageData.version,
130
+ alias: from,
131
+ };
132
+ }
133
+ return { version: packageData.version };
134
+ }
135
+ async function upgradeCliWithOclif(targetVersion) {
136
+ try {
137
+ const command = process.platform === "win32" ? "where" : "which";
138
+ const { stdout } = await exec(`${command} superblocks`);
139
+ const superblocksPath = stdout.trim();
140
+ if (!superblocksPath)
141
+ return false;
142
+ const { stdout: updateOutput } = await exec(`${superblocksPath} update --version=${targetVersion}`);
143
+ return !updateOutput.includes("not updatable");
144
+ }
145
+ catch (error) {
146
+ if (isNativeError(error)) {
147
+ logger.error(`Error checking CLI updatability: ${error.message}`);
148
+ }
149
+ return false;
150
+ }
151
+ }
152
+ async function upgradePackageWithPackageManager(pm, packageName, targetVersion, alias) {
153
+ const packageSpec = alias
154
+ ? `@superblocksteam/${packageName}@npm:${alias}@${targetVersion}`
155
+ : `@superblocksteam/${packageName}@${targetVersion}`;
156
+ const installCommand = resolveCommand(pm.agent, "install", [packageSpec]);
157
+ if (!installCommand) {
158
+ console.error("Could not determine how to upgrade Superblocks packages.");
159
+ return;
160
+ }
161
+ const { command, args } = installCommand;
162
+ await exec(`${command} ${args.join(" ")}`);
163
+ }
164
+ async function restartCli() {
165
+ const args = process.argv.slice(1);
166
+ const child = child_process.spawn(process.execPath, [...args], {
167
+ detached: true,
168
+ stdio: "inherit",
169
+ env: process.env,
170
+ });
171
+ child.unref();
172
+ process.nextTick(() => process.exit(0));
173
+ }
174
+ export async function checkVersionsAndUpgrade(lockService, config) {
175
+ // Detect package manager
176
+ const pm = await detect({
177
+ strategies: [
178
+ "packageManager-field",
179
+ "lockfile",
180
+ "install-metadata",
181
+ "devEngines-field",
182
+ ],
183
+ cwd: process.cwd(),
184
+ });
185
+ if (!pm || !config?.id)
186
+ return;
187
+ // Get current versions
188
+ const currentCliVersion = await getCurrentCliVersion();
189
+ const currentLibraryInfo = await getCurrentLibraryVersion(pm);
190
+ // Skip if we're in local development
191
+ if (!currentCliVersion ||
192
+ !valid(currentCliVersion) ||
193
+ currentCliVersion.startsWith("file:") ||
194
+ currentCliVersion.startsWith("link:") ||
195
+ !currentLibraryInfo ||
196
+ !valid(currentLibraryInfo.version) ||
197
+ currentLibraryInfo.version.startsWith("file:") ||
198
+ currentLibraryInfo.version.startsWith("link:")) {
199
+ return;
200
+ }
201
+ // Get target versions from server
202
+ const targetVersions = await getRemoteVersions(config);
203
+ if (!targetVersions)
204
+ return;
205
+ let cliNeedsUpgrade;
206
+ let libraryNeedsUpgrade;
207
+ try {
208
+ // If version is latest, then semver can throw an error
209
+ // Check if CLI needs upgrade
210
+ cliNeedsUpgrade =
211
+ targetVersions.cli && gt(targetVersions.cli, currentCliVersion);
212
+ // Check if library needs upgrade
213
+ libraryNeedsUpgrade =
214
+ targetVersions.library &&
215
+ gt(targetVersions.library, currentLibraryInfo.version);
216
+ }
217
+ catch (error) {
218
+ console.warn("Error checking versions to upgrade, releasing lock and exiting", error);
219
+ await lockService.shutdown({
220
+ serverInitiated: false,
221
+ });
222
+ process.exit(1);
223
+ }
224
+ if (!cliNeedsUpgrade && !libraryNeedsUpgrade) {
225
+ return; // Everything is up to date
226
+ }
227
+ let cliUpdated = false;
228
+ let libraryUpdated = false;
229
+ // Upgrade CLI if needed
230
+ if (cliNeedsUpgrade) {
231
+ const oclifUpgradeSucceeded = await upgradeCliWithOclif(targetVersions.cli);
232
+ if (!oclifUpgradeSucceeded) {
233
+ // Fall back to package manager upgrade
234
+ await upgradePackageWithPackageManager(pm, "cli", targetVersions.cli);
235
+ cliUpdated = true;
236
+ }
237
+ }
238
+ // Upgrade library if needed
239
+ if (libraryNeedsUpgrade) {
240
+ await upgradePackageWithPackageManager(pm, "library", targetVersions.library, currentLibraryInfo.alias);
241
+ libraryUpdated = true;
242
+ }
243
+ // Log what was updated
244
+ if (cliUpdated && libraryUpdated) {
245
+ logger.info("@superblocksteam/cli and @superblocksteam/library have been updated.");
246
+ }
247
+ else if (cliUpdated) {
248
+ logger.info("@superblocksteam/cli has been updated.");
249
+ }
250
+ else if (libraryUpdated) {
251
+ logger.info("@superblocksteam/library has been updated.");
252
+ }
253
+ // Restart CLI if anything was updated
254
+ if (cliUpdated || libraryUpdated) {
255
+ logger.info("Restarting the CLI…");
256
+ await lockService.releaseLock();
257
+ await restartCli();
258
+ }
259
+ }
260
+ //# sourceMappingURL=automatic-upgrades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automatic-upgrades.js","sourceRoot":"","sources":["../../src/cli-replacement/automatic-upgrades.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,5 @@
1
1
  import "../dev-utils/dev-tracer.js";
2
- export interface ApplicationConfig {
3
- superblocksBaseUrl: string;
4
- token: string;
5
- id: string;
6
- branchName: string;
7
- }
2
+ import type { ApplicationConfig } from "../types/common.js";
8
3
  export declare function dev(options: {
9
4
  cwd: string;
10
5
  pidfilePath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.mts","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAiBpC,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AASD,wBAAsB,GAAG,CAAC,OAAO,EAAE;IAEjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,iBAgJA"}
1
+ {"version":3,"file":"dev.d.mts","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AA0BpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA8D5D,wBAAsB,GAAG,CAAC,OAAO,EAAE;IAEjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,iBAmLA"}
@@ -1,23 +1,76 @@
1
1
  import "../dev-utils/dev-tracer.js";
2
+ import * as child_process from "node:child_process";
2
3
  import * as fsp from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { promisify } from "node:util";
3
6
  import { maskUnixSignals } from "@superblocksteam/util";
4
7
  import { AiService } from "@superblocksteam/vite-plugin-file-sync/ai-service";
5
8
  import { LockService, LockType, } from "@superblocksteam/vite-plugin-file-sync/lock-service";
6
9
  import { OperationQueue } from "@superblocksteam/vite-plugin-file-sync/operation-queue";
7
10
  import { SyncService } from "@superblocksteam/vite-plugin-file-sync/sync-service";
8
11
  import { green } from "colorette";
12
+ import { diffJson } from "diff";
13
+ import fs from "fs-extra";
14
+ import { resolveCommand } from "package-manager-detector";
15
+ import { detect } from "package-manager-detector/detect";
9
16
  import { getLogger } from "../dev-utils/dev-logger.mjs";
10
17
  import { createDevServer } from "../dev-utils/dev-server.mjs";
18
+ import tracer from "../dev-utils/dev-tracer.js";
11
19
  import { SuperblocksSdk } from "../sdk.js";
20
+ import { checkVersionsAndUpgrade } from "./automatic-upgrades.js";
21
+ const exec = promisify(child_process.exec);
12
22
  const passErrorToVSCode = (message, logger) => {
13
23
  if (message) {
14
24
  // Prefixing with `clierr:` will make the VS code extension capture this message and show it to the user.
15
25
  logger.error(`clierr: ${JSON.stringify({ message })}`);
16
26
  }
17
27
  };
28
+ async function readPkgJson(cwd) {
29
+ try {
30
+ const { readPackage } = await import("read-pkg");
31
+ return await readPackage({ cwd });
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ async function installPackages(cwd, logger) {
38
+ try {
39
+ const pm = await detect({
40
+ strategies: [
41
+ "packageManager-field",
42
+ "lockfile",
43
+ "install-metadata",
44
+ "devEngines-field",
45
+ ],
46
+ cwd,
47
+ });
48
+ if (!pm) {
49
+ logger.warn("Could not detect package manager, skipping package installation");
50
+ return;
51
+ }
52
+ const installCommand = resolveCommand(pm.agent, "install", []);
53
+ if (!installCommand) {
54
+ logger.warn(`Could not determine install command for ${pm.agent}, skipping package installation`);
55
+ return;
56
+ }
57
+ const { command, args } = installCommand;
58
+ logger.info(`Running ${command} ${args.join(" ")} to install dependencies…`);
59
+ await exec(`${command} ${args.join(" ")}`, { cwd });
60
+ logger.info("Package installation completed successfully");
61
+ }
62
+ catch (error) {
63
+ logger.error(`Error during package installation: ${error}`);
64
+ throw error;
65
+ }
66
+ }
18
67
  export async function dev(options) {
19
68
  const logger = getLogger(options.logger);
20
69
  const { cwd, pidfilePath, devServerPort, downloadFirst, uploadFirst, skipSync, applicationConfig, } = options;
70
+ // Add check for node_modules
71
+ if (!fs.existsSync(path.join(cwd, "node_modules"))) {
72
+ throw new Error('node_modules folder is missing. Please run "npm install" first.');
73
+ }
21
74
  if (pidfilePath) {
22
75
  await fsp.writeFile(pidfilePath, `${process.pid}\n`);
23
76
  }
@@ -35,6 +88,7 @@ export async function dev(options) {
35
88
  lockType: process.env.SUPERBLOCKS_IS_CSB === "true"
36
89
  ? LockType.CSB
37
90
  : LockType.LOCAL,
91
+ tracer,
38
92
  });
39
93
  syncService = new SyncService({
40
94
  authToken: applicationConfig.token,
@@ -44,6 +98,7 @@ export async function dev(options) {
44
98
  branchName: applicationConfig.branchName,
45
99
  fsOperationQueue,
46
100
  lockService,
101
+ tracer,
47
102
  });
48
103
  logger.info("Checking if local files are synced with the server");
49
104
  try {
@@ -52,10 +107,15 @@ export async function dev(options) {
52
107
  if (lockService) {
53
108
  try {
54
109
  await lockService.acquireLock();
110
+ // TODO(code-mode): package naming is preventing upgrade in ephemeral environments
111
+ if (!process.env.PACKAGE_SUFFIX ||
112
+ process.env.PACKAGE_SUFFIX === "") {
113
+ await checkVersionsAndUpgrade(lockService, applicationConfig);
114
+ }
55
115
  }
56
116
  catch (error) {
57
- passErrorToVSCode(error.context.message, logger);
58
117
  logger.error("Failed to acquire lock on application", error);
118
+ passErrorToVSCode(error.context?.message, logger);
59
119
  throw new Error(`Failed to acquire lock on application: ${error}`);
60
120
  }
61
121
  }
@@ -76,6 +136,7 @@ export async function dev(options) {
76
136
  anthropicApiKey: process.env.ANTHROPIC_API_KEY || "",
77
137
  fsOperationQueue,
78
138
  draftInterface: syncService,
139
+ tracer,
79
140
  });
80
141
  const isSynced = localContents.hash === serverHash;
81
142
  if (isSynced) {
@@ -89,10 +150,22 @@ export async function dev(options) {
89
150
  if (downloadFirst && uploadFirst) {
90
151
  throw new Error("Choose either --download-first or --upload-first");
91
152
  }
92
- // TODO(code-mode): pre-process package.json to handle version upgrades
93
153
  if (downloadFirst) {
94
154
  logger.info("Starting directory sync from server before starting the local server");
155
+ // Read package.json before download
156
+ const packageJsonBefore = await readPkgJson(cwd);
95
157
  await syncService.downloadDirectory();
158
+ // Read package.json after download and compare
159
+ const packageJsonAfter = await readPkgJson(cwd);
160
+ // Check if package.json changed
161
+ if (packageJsonBefore && packageJsonAfter) {
162
+ const diff = diffJson(packageJsonBefore, packageJsonAfter);
163
+ const hasChanges = diff.some((part) => part.added || part.removed);
164
+ if (hasChanges) {
165
+ logger.info("package.json has changed, installing packages…");
166
+ await installPackages(cwd, logger);
167
+ }
168
+ }
96
169
  }
97
170
  else if (uploadFirst) {
98
171
  logger.info("Uploading local files to server before starting");
@@ -1 +1 @@
1
- {"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,QAAQ,GACT,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAW3C,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,MAAiB,EAAE,EAAE;IAC/D,IAAI,OAAO,EAAE,CAAC;QACZ,yGAAyG;QACzG,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAkBzB;IACC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,MAAM,EACJ,GAAG,EACH,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,iBAAiB,GAClB,GAAG,OAAO,CAAC;IAEZ,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,IAAI,IAAI,CAAC;IAEnC,MAAM,gBAAgB,GAAG,IAAI,cAAc,EAAE,CAAC;IAC9C,IAAI,WAAoC,CAAC;IACzC,IAAI,WAAoC,CAAC;IACzC,IAAI,SAAgC,CAAC;IAErC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,WAAW,GAAG,IAAI,WAAW,CAAC;YAC5B,SAAS,EAAE,iBAAiB,CAAC,KAAK;YAClC,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;YACxD,aAAa,EAAE,iBAAiB,CAAC,EAAE;YACnC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;gBACvC,CAAC,CAAC,QAAQ,CAAC,GAAG;gBACd,CAAC,CAAC,QAAQ,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,WAAW,GAAG,IAAI,WAAW,CAAC;YAC5B,SAAS,EAAE,iBAAiB,CAAC,KAAK;YAClC,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;YACxD,cAAc,EAAE,GAAG;YACnB,aAAa,EAAE,iBAAiB,CAAC,EAAE;YACnC,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,gBAAgB;YAChB,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,GAAG,GAAG,IAAI,cAAc,CAC5B,iBAAiB,CAAC,KAAK,EACvB,iBAAiB,CAAC,kBAAkB,EACpC,EAAE,CACH,CAAC;gBAEF,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,WAAY,CAAC,WAAW,EAAE,CAAC;oBACnC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,iBAAiB,CACd,KAA0C,CAAC,OAAO,CAAC,OAAO,EAC3D,MAAM,CACP,CAAC;wBACF,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;wBAC7D,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBAED,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACjE,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAC3B,GAAG,CAAC,+BAA+B,CAAC;wBAClC,aAAa,EAAE,iBAAiB,CAAC,EAAE;wBACnC,MAAM,EAAE,iBAAiB,CAAC,UAAU;qBACrC,CAAC;oBACF,GAAG,CAAC,gBAAgB,EAAE;iBACvB,CAAC,CAAC;gBAEH,SAAS,GAAG,IAAI,SAAS,CAAC;oBACxB,SAAS,EAAE,iBAAiB,CAAC,KAAK;oBAClC,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;oBACxD,cAAc,EAAE,OAAO,CAAC,GAAG;oBAC3B,aAAa,EAAE,iBAAiB,CAAC,EAAE;oBACnC,cAAc,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;oBACpD,gBAAgB;oBAChB,cAAc,EAAE,WAA8B;iBAC/C,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC;gBAEnD,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAE3D,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;gBACJ,CAAC;gBACD,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACtE,CAAC;gBAED,uEAAuE;gBACvE,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CACT,sEAAsE,CACvE,CAAC;oBACF,MAAM,WAAY,CAAC,iBAAiB,EAAE,CAAC;gBACzC,CAAC;qBAAM,IAAI,WAAW,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;oBAC/D,MAAM,WAAY,CAAC,eAAe,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;QACvC,IAAI,EAAE,OAAO,CAAC,GAAG;QACjB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI;QACV,gBAAgB;QAChB,WAAW;QACX,WAAW;QACX,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -160,10 +160,11 @@ export declare function fetchApiCommits({ cliVersion, applicationId, branch, tok
160
160
  }): Promise<GetCommitsResponseBody>;
161
161
  export declare function deployApplication(cliVersion: string, applicationId: string, token: string, superblocksBaseUrl: string, commitId?: string): Promise<DeploymentDto>;
162
162
  export declare function deployApi(cliVersion: string, apiId: string, token: string, superblocksBaseUrl: string, commitId?: string): Promise<DeploymentDto>;
163
- export declare function uploadApplication({ files, scopedJwt, url, cliVersion, }: {
163
+ export declare function uploadApplication({ files, scopedJwt, url, cliVersion, appRoot, }: {
164
164
  files: string[];
165
165
  scopedJwt: string;
166
166
  url: string;
167
167
  cliVersion: string;
168
+ appRoot?: string;
168
169
  }): Promise<void>;
169
170
  //# sourceMappingURL=client.d.ts.map