@superblocksteam/sdk 2.0.6-next.59 → 2.0.6-next.6

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 (41) hide show
  1. package/dist/application-build.mjs +2 -6
  2. package/dist/application-build.mjs.map +1 -1
  3. package/dist/cli-replacement/automatic-upgrades.d.ts +2 -5
  4. package/dist/cli-replacement/automatic-upgrades.d.ts.map +1 -1
  5. package/dist/cli-replacement/automatic-upgrades.js +93 -199
  6. package/dist/cli-replacement/automatic-upgrades.js.map +1 -1
  7. package/dist/cli-replacement/dev.d.mts +2 -1
  8. package/dist/cli-replacement/dev.d.mts.map +1 -1
  9. package/dist/cli-replacement/dev.mjs +29 -53
  10. package/dist/cli-replacement/dev.mjs.map +1 -1
  11. package/dist/dev-utils/dev-logger.d.mts +7 -17
  12. package/dist/dev-utils/dev-logger.d.mts.map +1 -1
  13. package/dist/dev-utils/dev-logger.mjs +9 -50
  14. package/dist/dev-utils/dev-logger.mjs.map +1 -1
  15. package/dist/dev-utils/dev-server.d.mts.map +1 -1
  16. package/dist/dev-utils/dev-server.mjs +12 -8
  17. package/dist/dev-utils/dev-server.mjs.map +1 -1
  18. package/dist/dev-utils/vite-plugin-sb-cdn.d.mts.map +1 -1
  19. package/dist/dev-utils/vite-plugin-sb-cdn.mjs +3 -13
  20. package/dist/dev-utils/vite-plugin-sb-cdn.mjs.map +1 -1
  21. package/dist/vite-plugin-inject-sb-ids-transform.mjs +1 -1
  22. package/dist/vite-plugin-inject-sb-ids-transform.mjs.map +1 -1
  23. package/package.json +4 -6
  24. package/src/application-build.mts +3 -6
  25. package/src/cli-replacement/automatic-upgrades.ts +113 -253
  26. package/src/cli-replacement/dev.mts +42 -67
  27. package/src/dev-utils/dev-logger.mts +20 -94
  28. package/src/dev-utils/dev-server.mts +12 -10
  29. package/src/dev-utils/vite-plugin-sb-cdn.mts +3 -14
  30. package/src/vite-plugin-inject-sb-ids-transform.mts +1 -1
  31. package/tsconfig.tsbuildinfo +1 -1
  32. package/dist/dev-utils/vite-plugin-build-manifest-stub.d.mts +0 -10
  33. package/dist/dev-utils/vite-plugin-build-manifest-stub.d.mts.map +0 -1
  34. package/dist/dev-utils/vite-plugin-build-manifest-stub.mjs +0 -27
  35. package/dist/dev-utils/vite-plugin-build-manifest-stub.mjs.map +0 -1
  36. package/dist/vite-plugin-generate-build-manifest.d.mts +0 -21
  37. package/dist/vite-plugin-generate-build-manifest.d.mts.map +0 -1
  38. package/dist/vite-plugin-generate-build-manifest.mjs +0 -131
  39. package/dist/vite-plugin-generate-build-manifest.mjs.map +0 -1
  40. package/src/dev-utils/vite-plugin-build-manifest-stub.mts +0 -30
  41. package/src/vite-plugin-generate-build-manifest.mts +0 -193
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin-inject-sb-ids-transform.mjs","sourceRoot":"","sources":["../src/vite-plugin-inject-sb-ids-transform.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin-inject-sb-ids-transform.mjs","sourceRoot":"","sources":["../src/vite-plugin-inject-sb-ids-transform.mts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superblocksteam/sdk",
3
- "version": "2.0.6-next.59",
3
+ "version": "2.0.6-next.6",
4
4
  "type": "module",
5
5
  "description": "Superblocks JS SDK",
6
6
  "homepage": "https://www.superblocks.com",
@@ -30,11 +30,9 @@
30
30
  "@opentelemetry/semantic-conventions": "^1.28.0",
31
31
  "@rollup/wasm-node": "^4.35.0",
32
32
  "@superblocksteam/bucketeer-sdk": "0.5.0",
33
- "@superblocksteam/library": "2.0.6-next.59",
34
- "@superblocksteam/library-shared": "2.0.6-next.59",
35
- "@superblocksteam/shared": "0.9198.0",
36
- "@superblocksteam/util": "2.0.6-next.59",
37
- "@superblocksteam/vite-plugin-file-sync": "2.0.6-next.59",
33
+ "@superblocksteam/shared": "0.9160.0",
34
+ "@superblocksteam/util": "2.0.6-next.6",
35
+ "@superblocksteam/vite-plugin-file-sync": "2.0.6-next.6",
38
36
  "@vitejs/plugin-react": "^4.3.4",
39
37
  "axios": "^1.4.0",
40
38
  "chokidar": "^4.0.3",
@@ -9,8 +9,8 @@ import { customComponentsPlugin } from "./dev-utils/custom-build.mjs";
9
9
  import { getLogger } from "./dev-utils/dev-logger.mjs";
10
10
  import { ddRumPlugin } from "./dev-utils/vite-plugin-dd-rum.mjs";
11
11
  import { superblocksCdnPlugin } from "./dev-utils/vite-plugin-sb-cdn.mjs";
12
- import { generateBuildManifestPlugin } from "./vite-plugin-generate-build-manifest.mjs";
13
12
  import { injectSuperblocksIdsPlugin } from "./vite-plugin-inject-sb-ids-transform.mjs";
13
+ import type { Plugin } from "vite";
14
14
 
15
15
  export async function buildApplication({
16
16
  root,
@@ -81,7 +81,7 @@ async function buildWithVite({
81
81
  }) {
82
82
  const viteLogger = createLogger();
83
83
  const logger = getLogger();
84
- viteLogger.info = (msg: string) => logger.info(msg);
84
+ viteLogger.info = logger.info;
85
85
  viteLogger.warn = (msg: string) => {
86
86
  logger.warn(yellow(msg));
87
87
  };
@@ -133,7 +133,7 @@ async function buildWithVite({
133
133
  logLevel: "info",
134
134
  plugins: [
135
135
  tsconfigPaths(),
136
- injectIndexVitePlugin({ assetsCdnUrl }),
136
+ injectIndexVitePlugin({ assetsCdnUrl, logger }) as Plugin,
137
137
  customComponentsPlugin(),
138
138
  injectSuperblocksIdsPlugin(root),
139
139
  superblocksCdnPlugin({
@@ -142,15 +142,12 @@ async function buildWithVite({
142
142
  "react/jsx-runtime": "https://esm.sh/react@18.2.0/jsx-runtime.mjs",
143
143
  "react/jsx-dev-runtime":
144
144
  "https://esm.sh/react@18.2.0/jsx-dev-runtime.mjs",
145
- "./user-facing/build-manifest.js": "/assets/build-manifest.js",
146
- "/assets/user-facing/build-manifest.js": "/assets/build-manifest.js",
147
145
  },
148
146
  cssImports: {
149
147
  "@superblocksteam/library/index.css": `${libraryUrl}/index.css`,
150
148
  },
151
149
  }),
152
150
  react(),
153
- generateBuildManifestPlugin(root),
154
151
 
155
152
  ddRumPlugin({
156
153
  clientToken: ddClientToken ?? "",
@@ -1,13 +1,11 @@
1
1
  import * as child_process from "node:child_process";
2
2
  import { promisify } from "node:util";
3
3
  import { isNativeError } from "node:util/types";
4
- import { traceFunction } from "@superblocksteam/shared";
5
4
  import { resolveCommand, type DetectResult } from "package-manager-detector";
6
5
  import { detect } from "package-manager-detector/detect";
7
6
  import gt from "semver/functions/gt.js";
8
7
  import valid from "semver/functions/valid.js";
9
- import { getErrorMeta, getLogger } from "../dev-utils/dev-logger.mjs";
10
- import tracer from "../dev-utils/dev-tracer.js";
8
+ import { getLogger } from "../dev-utils/dev-logger.mjs";
11
9
  import type { ResponseMeta } from "../socket/handlers.js";
12
10
  import type { ApplicationConfig } from "../types/common.js";
13
11
  import type { LockService } from "@superblocksteam/vite-plugin-file-sync/lock-service";
@@ -57,7 +55,7 @@ async function getRemoteVersions(
57
55
  return data.data;
58
56
  } else {
59
57
  const error = (await response.json()) as CheckVersionsErrorResponse;
60
- logger.error(
58
+ console.log(
61
59
  `Could not get latest CLI version: ${error.responseMeta.message}`,
62
60
  );
63
61
  }
@@ -70,9 +68,7 @@ async function getRemoteVersions(
70
68
  }
71
69
  }
72
70
 
73
- export async function getCurrentCliVersion(): Promise<
74
- PackageVersionInfo | undefined
75
- > {
71
+ export async function getCurrentCliVersion(): Promise<string | undefined> {
76
72
  try {
77
73
  const command = process.platform === "win32" ? "where" : "which";
78
74
  const { stdout } = await exec(`${command} superblocks`);
@@ -89,16 +85,7 @@ export async function getCurrentCliVersion(): Promise<
89
85
  /@superblocksteam\/cli(-ephemeral)?\//,
90
86
  "",
91
87
  );
92
-
93
- const aliasMatch = json.cliVersion?.match(/@superblocksteam\/([^\/]+)/);
94
- if (aliasMatch && aliasMatch[1] !== "cli") {
95
- return {
96
- version: version,
97
- alias: `@superblocksteam/${aliasMatch[1]}`,
98
- };
99
- }
100
-
101
- return { version };
88
+ return version;
102
89
  } catch (error) {
103
90
  if (isNativeError(error)) {
104
91
  logger.error(`Error getting CLI version: ${error.message}`);
@@ -117,16 +104,16 @@ export async function getCurrentLibraryVersion(
117
104
  case "pnpm":
118
105
  return await getPnpmLibraryVersion();
119
106
  default:
120
- logger.error(
107
+ console.error(
121
108
  `${pm.agent} is currently not supported for automatic upgrades.`,
122
109
  );
123
110
  return undefined;
124
111
  }
125
112
  } catch (error) {
126
- logger.error(
113
+ console.error(
127
114
  "Could not resolve current library version. Skipping automatic upgrade.",
128
- getErrorMeta(error),
129
115
  );
116
+ console.error(error);
130
117
  return undefined;
131
118
  }
132
119
  }
@@ -213,10 +200,10 @@ async function upgradeCliWithOclif(targetVersion: string): Promise<boolean> {
213
200
 
214
201
  if (!superblocksPath) return false;
215
202
 
216
- const { stdout: updateOutput, stderr: updateErrorOutput } = await exec(
203
+ const { stdout: updateOutput } = await exec(
217
204
  `${superblocksPath} update --version=${targetVersion}`,
218
205
  );
219
- return !(updateOutput + updateErrorOutput).includes("not updatable");
206
+ return !updateOutput.includes("not updatable");
220
207
  } catch (error) {
221
208
  if (isNativeError(error)) {
222
209
  logger.error(`Error checking CLI updatability: ${error.message}`);
@@ -229,61 +216,21 @@ async function upgradePackageWithPackageManager(
229
216
  pm: DetectResult,
230
217
  packageName: string,
231
218
  targetVersion: string,
232
- {
233
- alias,
234
- global,
235
- }: {
236
- alias?: string;
237
- global?: boolean;
238
- },
219
+ alias?: string,
239
220
  ): Promise<void> {
240
221
  const packageSpec = alias
241
222
  ? `@superblocksteam/${packageName}@npm:${alias}@${targetVersion}`
242
223
  : `@superblocksteam/${packageName}@${targetVersion}`;
243
224
 
244
- const installCommand = resolveCommand(
245
- pm.agent,
246
- global ? "global" : "install",
247
- [packageSpec],
248
- );
225
+ const installCommand = resolveCommand(pm.agent, "install", [packageSpec]);
249
226
 
250
227
  if (!installCommand) {
251
- logger.error("Could not determine how to upgrade Superblocks packages.");
228
+ console.error("Could not determine how to upgrade Superblocks packages.");
252
229
  return;
253
230
  }
254
231
 
255
232
  const { command, args } = installCommand;
256
- logger.info(
257
- `Running ${command} ${args.join(" ")} to upgrade ${packageName}...`,
258
- );
259
- let resolver: (value: void | PromiseLike<void>) => void;
260
- let rejecter: (reason?: any) => void;
261
- const promise = new Promise<void>((resolve, reject) => {
262
- resolver = resolve;
263
- rejecter = reject;
264
- });
265
- const cp = child_process.exec(
266
- `${command} ${args.join(" ")}`,
267
- {
268
- cwd: process.cwd(),
269
- },
270
- (error) => {
271
- if (error) {
272
- logger.error(`Failed to upgrade ${packageName} to ${targetVersion}`);
273
- rejecter(error);
274
- } else {
275
- logger.info(`Successfully upgraded ${packageName} to ${targetVersion}`);
276
- resolver();
277
- }
278
- },
279
- );
280
- cp.stdout?.on("data", (data) => {
281
- logger.info(data);
282
- });
283
- cp.stderr?.on("data", (data) => {
284
- logger.warn(data);
285
- });
286
- return promise;
233
+ await exec(`${command} ${args.join(" ")}`);
287
234
  }
288
235
 
289
236
  export async function getCurrentLibraryVersionWithoutPM(): Promise<
@@ -308,196 +255,109 @@ export async function getCurrentLibraryVersionWithoutPM(): Promise<
308
255
  export async function checkVersionsAndUpgrade(
309
256
  lockService: LockService,
310
257
  config?: ApplicationConfig,
311
- ): Promise<{
312
- cliUpdated: boolean;
313
- libraryUpdated: boolean;
314
- }> {
315
- const cliUpdated = false;
316
- const libraryUpdated = false;
317
- let hasFailedToUpgrade = false;
318
-
319
- logger.info("Checking versions");
320
-
321
- await traceFunction({
322
- name: "checkVersionsAndUpgrade",
323
- tracer,
324
- fn: async () => {
325
- // Detect package manager
326
- const pm = await traceFunction({
327
- name: "detectPackageManager",
328
- tracer,
329
- fn: async () => {
330
- return await detect({
331
- strategies: [
332
- "packageManager-field",
333
- "lockfile",
334
- "install-metadata",
335
- "devEngines-field",
336
- ],
337
- cwd: process.cwd(),
338
- });
339
- },
340
- });
341
-
342
- if (!pm || !config?.id) return;
343
-
344
- // Get current versions
345
- const currentCliInfo = await traceFunction({
346
- name: "getCurrentCliVersion",
347
- tracer,
348
- fn: async () => {
349
- return await getCurrentCliVersion();
350
- },
351
- });
352
- const currentLibraryInfo = await traceFunction({
353
- name: "getCurrentLibraryVersion",
354
- tracer,
355
- fn: async () => {
356
- return await getCurrentLibraryVersion(pm);
357
- },
358
- });
359
-
360
- // Skip if we're in local development
361
- if (
362
- !currentCliInfo ||
363
- !valid(currentCliInfo.version) ||
364
- currentCliInfo.version.startsWith("file:") ||
365
- currentCliInfo.version.startsWith("link:") ||
366
- !currentLibraryInfo ||
367
- !valid(currentLibraryInfo.version) ||
368
- currentLibraryInfo.version.startsWith("file:") ||
369
- currentLibraryInfo.version.startsWith("link:")
370
- ) {
371
- return;
372
- }
373
-
374
- // Get target versions from server
375
- const targetVersions = await traceFunction({
376
- name: "getRemoteVersions",
377
- tracer,
378
- fn: async () => {
379
- return await getRemoteVersions(config);
380
- },
381
- });
382
- if (!targetVersions) return;
383
-
384
- let cliNeedsUpgrade: boolean | string;
385
- let libraryNeedsUpgrade: boolean | string;
386
- try {
387
- // If version is latest, then semver can throw an error
388
- // Check if CLI needs upgrade
389
- cliNeedsUpgrade =
390
- targetVersions.cli && gt(targetVersions.cli, currentCliInfo.version);
391
-
392
- // Check if library needs upgrade
393
- libraryNeedsUpgrade =
394
- targetVersions.library &&
395
- gt(targetVersions.library, currentLibraryInfo.version);
396
- } catch (error) {
397
- logger.error(
398
- "Error checking versions to upgrade, releasing lock and exiting",
399
- getErrorMeta(error),
400
- );
401
- await traceFunction({
402
- name: "shutdownLockService",
403
- tracer,
404
- fn: async () => {
405
- await lockService.shutdown({
406
- serverInitiated: false,
407
- });
408
- },
409
- });
410
- hasFailedToUpgrade = true;
411
- return;
412
- }
413
-
414
- if (!cliNeedsUpgrade && !libraryNeedsUpgrade) {
415
- return; // Everything is up to date
416
- }
417
-
418
- let cliUpdated = false;
419
- let libraryUpdated = false;
420
-
421
- // Upgrade CLI if needed
422
- if (cliNeedsUpgrade) {
423
- logger.info(
424
- `Beginning CLI upgrade from ${currentCliInfo.version} to ${targetVersions.cli}`,
425
- );
426
-
427
- const oclifUpgradeSucceeded = await traceFunction({
428
- name: "upgradeCliWithOclif",
429
- tracer,
430
- fn: async () => {
431
- return await upgradeCliWithOclif(targetVersions.cli);
432
- },
433
- });
434
- if (!oclifUpgradeSucceeded) {
435
- logger.info(`Falling back to package manager upgrade for CLI`);
436
- // Fall back to package manager upgrade
437
- await traceFunction({
438
- name: "upgradePackageWithPackageManager - cli",
439
- tracer,
440
- fn: async () => {
441
- await upgradePackageWithPackageManager(
442
- pm,
443
- "cli",
444
- targetVersions.cli,
445
- {
446
- alias: currentCliInfo.alias,
447
- global: true,
448
- },
449
- );
450
- },
451
- });
452
- cliUpdated = true;
453
- }
454
- }
455
-
456
- // Upgrade library if needed
457
- if (libraryNeedsUpgrade) {
458
- logger.info(
459
- `Beginning library upgrade from ${currentLibraryInfo.version} to ${targetVersions.library}`,
460
- );
461
- await traceFunction({
462
- name: "upgradePackageWithPackageManager - library",
463
- tracer,
464
- fn: async () => {
465
- await upgradePackageWithPackageManager(
466
- pm,
467
- "library",
468
- targetVersions.library,
469
- {
470
- alias: currentLibraryInfo.alias,
471
- global: false,
472
- },
473
- );
474
- },
475
- });
476
- libraryUpdated = true;
477
- }
478
-
479
- // Log what was updated
480
- if (cliUpdated && libraryUpdated) {
481
- logger.info(
482
- "@superblocksteam/cli and @superblocksteam/library have been updated.",
483
- );
484
- } else if (cliUpdated) {
485
- logger.info("@superblocksteam/cli has been updated.");
486
- } else if (libraryUpdated) {
487
- logger.info("@superblocksteam/library has been updated.");
488
- } else {
489
- logger.info("No upgrades needed");
490
- }
491
- },
258
+ ) {
259
+ // Detect package manager
260
+ const pm = await detect({
261
+ strategies: [
262
+ "packageManager-field",
263
+ "lockfile",
264
+ "install-metadata",
265
+ "devEngines-field",
266
+ ],
267
+ cwd: process.cwd(),
492
268
  });
493
269
 
494
- // Restart CLI if anything was updated
495
- if (hasFailedToUpgrade) {
270
+ if (!pm || !config?.id) return;
271
+
272
+ // Get current versions
273
+ const currentCliVersion = await getCurrentCliVersion();
274
+ const currentLibraryInfo = await getCurrentLibraryVersion(pm);
275
+
276
+ // Skip if we're in local development
277
+ if (
278
+ !currentCliVersion ||
279
+ !valid(currentCliVersion) ||
280
+ currentCliVersion.startsWith("file:") ||
281
+ currentCliVersion.startsWith("link:") ||
282
+ !currentLibraryInfo ||
283
+ !valid(currentLibraryInfo.version) ||
284
+ currentLibraryInfo.version.startsWith("file:") ||
285
+ currentLibraryInfo.version.startsWith("link:")
286
+ ) {
287
+ return;
288
+ }
289
+
290
+ // Get target versions from server
291
+ const targetVersions = await getRemoteVersions(config);
292
+ if (!targetVersions) return;
293
+
294
+ let cliNeedsUpgrade: boolean | string;
295
+ let libraryNeedsUpgrade: boolean | string;
296
+ try {
297
+ // If version is latest, then semver can throw an error
298
+ // Check if CLI needs upgrade
299
+ cliNeedsUpgrade =
300
+ targetVersions.cli && gt(targetVersions.cli, currentCliVersion);
301
+
302
+ // Check if library needs upgrade
303
+ libraryNeedsUpgrade =
304
+ targetVersions.library &&
305
+ gt(targetVersions.library, currentLibraryInfo.version);
306
+ } catch (error) {
307
+ console.warn(
308
+ "Error checking versions to upgrade, releasing lock and exiting",
309
+ error,
310
+ );
311
+ await lockService.shutdown({
312
+ serverInitiated: false,
313
+ });
496
314
  process.exit(1);
497
315
  }
498
316
 
499
- return {
500
- cliUpdated,
501
- libraryUpdated,
502
- };
317
+ if (!cliNeedsUpgrade && !libraryNeedsUpgrade) {
318
+ return; // Everything is up to date
319
+ }
320
+
321
+ let cliUpdated = false;
322
+ let libraryUpdated = false;
323
+
324
+ // Upgrade CLI if needed
325
+ if (cliNeedsUpgrade) {
326
+ const oclifUpgradeSucceeded = await upgradeCliWithOclif(targetVersions.cli);
327
+
328
+ if (!oclifUpgradeSucceeded) {
329
+ // Fall back to package manager upgrade
330
+ await upgradePackageWithPackageManager(pm, "cli", targetVersions.cli);
331
+ cliUpdated = true;
332
+ }
333
+ }
334
+
335
+ // Upgrade library if needed
336
+ if (libraryNeedsUpgrade) {
337
+ await upgradePackageWithPackageManager(
338
+ pm,
339
+ "library",
340
+ targetVersions.library,
341
+ currentLibraryInfo.alias,
342
+ );
343
+ libraryUpdated = true;
344
+ }
345
+
346
+ // Log what was updated
347
+ if (cliUpdated && libraryUpdated) {
348
+ logger.info(
349
+ "@superblocksteam/cli and @superblocksteam/library have been updated.",
350
+ );
351
+ } else if (cliUpdated) {
352
+ logger.info("@superblocksteam/cli has been updated.");
353
+ } else if (libraryUpdated) {
354
+ logger.info("@superblocksteam/library has been updated.");
355
+ }
356
+
357
+ // Restart CLI if anything was updated
358
+ if (cliUpdated || libraryUpdated) {
359
+ logger.info("Restarting the CLI…");
360
+ await lockService.releaseLock();
361
+ process.exit(AUTO_UPGRADE_EXIT_CODE);
362
+ }
503
363
  }