@algolia/wizard 0.51.0 → 0.52.0-rc.151.365

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 (2) hide show
  1. package/dist/main.js +133 -11
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -3651,7 +3651,7 @@ async function runAnalysis(mode, extraInstructions = []) {
3651
3651
  // package.json
3652
3652
  var package_default = {
3653
3653
  name: "@algolia/wizard",
3654
- version: "0.51.0",
3654
+ version: "0.52.0-rc.151.365",
3655
3655
  description: "Magically implement Algolia functionality in your codebase",
3656
3656
  type: "module",
3657
3657
  engines: {
@@ -6462,8 +6462,118 @@ function delay(ms) {
6462
6462
  });
6463
6463
  }
6464
6464
 
6465
+ // package.json with { type: 'json' }
6466
+ var package_default2 = {
6467
+ name: "@algolia/wizard",
6468
+ version: "0.52.0-rc.151.365",
6469
+ description: "Magically implement Algolia functionality in your codebase",
6470
+ type: "module",
6471
+ engines: {
6472
+ node: ">=24"
6473
+ },
6474
+ bin: {
6475
+ wizard: "dist/main.js"
6476
+ },
6477
+ files: [
6478
+ "dist",
6479
+ "docs"
6480
+ ],
6481
+ scripts: {
6482
+ "build:proxy": "node scripts/build.mjs proxy",
6483
+ build: "node scripts/build.mjs",
6484
+ "dev:proxy": "touch .env && NODE_OPTIONS=--use-system-ca tsx watch --env-file=.env src/proxy/index.ts",
6485
+ dev: "touch .env && tsx --env-file=.env ./src/main.tsx",
6486
+ "env:load": "pnpm exec -- varlock load",
6487
+ prepare: "husky",
6488
+ prepublishOnly: "pnpm build",
6489
+ reset: "tsx ./scripts/reset-state.ts",
6490
+ "test:fixtures": "touch .env && tsx --env-file=.env ./fixtures/run-fixtures.ts",
6491
+ "test:tools": "tsx ./tool-evals/toolEval.ts",
6492
+ "test:tools:improve": "tsx ./tool-evals/improveFromPlan.ts",
6493
+ test: "vitest",
6494
+ typecheck: "tsc --noEmit -p tsconfig.json"
6495
+ },
6496
+ keywords: [],
6497
+ author: "",
6498
+ license: "ISC",
6499
+ packageManager: "pnpm@11.9.0+sha512.bd682d5d03fe525ef7c9fd6780c6884d1e756ac4c9c9fe00c538782824310dcf90e3ddc4f53835f06dfaebd5085e41855e0bcbb3b60de2ac5bbab89e5036f03b",
6500
+ devDependencies: {
6501
+ "@clack/prompts": "^1.6.0",
6502
+ "@types/ioredis-mock": "^8.2.7",
6503
+ "@types/node": "^25.9.1",
6504
+ "@types/react": "^19.2.16",
6505
+ esbuild: "^0.28.0",
6506
+ husky: "^9.1.7",
6507
+ "ink-testing-library": "^4.0.0",
6508
+ "ioredis-mock": "^8.13.1",
6509
+ "lint-staged": "^17.0.8",
6510
+ tsx: "^4.22.3",
6511
+ typescript: "^6.0.3",
6512
+ vitest: "^4.1.8"
6513
+ },
6514
+ dependencies: {
6515
+ "@ai-sdk/anthropic": "^3.0.81",
6516
+ "@ai-sdk/openai-compatible": "^2.0.47",
6517
+ "@hono/node-server": "^2.0.10",
6518
+ "@segment/analytics-node": "^3.1.0",
6519
+ ai: "^6.0.190",
6520
+ "cross-keychain": "^1.1.0",
6521
+ dotenv: "^17.4.2",
6522
+ hono: "^4.12.27",
6523
+ ink: "^7.0.5",
6524
+ "ink-picture": "^2.1.0",
6525
+ "ink-spinner": "^5.0.0",
6526
+ ioredis: "^5.11.1",
6527
+ nanoid: "^5.1.15",
6528
+ pino: "^10.3.1",
6529
+ react: "^19.2.7",
6530
+ "terminal-link": "^5.0.0",
6531
+ varlock: "^1.5.1",
6532
+ zod: "^4.4.3",
6533
+ zustand: "^5.0.14"
6534
+ }
6535
+ };
6536
+
6537
+ // src/lib/checkVersion.ts
6538
+ function parseVersion(version) {
6539
+ const [major = 0, minor = 0, patch = 0] = version.split("-")[0].split(".").map((part) => Number.parseInt(part, 10) || 0);
6540
+ return [major, minor, patch];
6541
+ }
6542
+ function isOlder(local, remote) {
6543
+ const a = parseVersion(local);
6544
+ const b = parseVersion(remote);
6545
+ for (let i = 0; i < 3; i++) {
6546
+ if (a[i] !== b[i]) return a[i] < b[i];
6547
+ }
6548
+ return false;
6549
+ }
6550
+ async function checkVersion() {
6551
+ try {
6552
+ const res = await fetch(
6553
+ "https://registry.npmjs.org/@algolia/wizard/latest",
6554
+ { signal: AbortSignal.timeout(3e3) }
6555
+ );
6556
+ if (!res.ok) {
6557
+ throw Error(`npmjs registry responded ${res.status}`);
6558
+ }
6559
+ const { version } = await res.json();
6560
+ if (typeof version !== "string") {
6561
+ throw Error("npmjs registry returned no version");
6562
+ }
6563
+ return isOlder(package_default2.version, version);
6564
+ } catch {
6565
+ logger.error("Could not resolve remote version number from npmjs registry");
6566
+ return false;
6567
+ }
6568
+ }
6569
+
6465
6570
  // src/main.tsx
6466
6571
  import { jsx as jsx20 } from "react/jsx-runtime";
6572
+ async function exitProcessWithError(store, instance, message) {
6573
+ store.setError(message);
6574
+ await instance.waitUntilExit();
6575
+ process.exit(1);
6576
+ }
6467
6577
  async function startup() {
6468
6578
  setProjectRoot(process.cwd());
6469
6579
  let args;
@@ -6516,6 +6626,14 @@ async function run(opts) {
6516
6626
  const store = useWizard.getState();
6517
6627
  const instance = render(/* @__PURE__ */ jsx20(App, {}), { incrementalRendering: true });
6518
6628
  await store.waitForStart();
6629
+ const wizardOutdated = await checkVersion();
6630
+ if (wizardOutdated) {
6631
+ await exitProcessWithError(
6632
+ store,
6633
+ instance,
6634
+ "You have loaded an old version of the Wizard. Please use @algolia/wizard@latest"
6635
+ );
6636
+ }
6519
6637
  store.syncSteps(
6520
6638
  workflow.steps.map((s) => ({
6521
6639
  id: s.id,
@@ -6531,18 +6649,20 @@ async function run(opts) {
6531
6649
  try {
6532
6650
  await runAuthLogin();
6533
6651
  } catch (err) {
6534
- store.setError(err instanceof Error ? err.message : String(err));
6535
- await instance.waitUntilExit();
6536
- process.exit(1);
6652
+ await exitProcessWithError(
6653
+ store,
6654
+ instance,
6655
+ err instanceof Error ? err.message : String(err)
6656
+ );
6537
6657
  }
6538
6658
  store.endAuth();
6539
6659
  user = await getUser();
6540
6660
  if (!user) {
6541
- store.setError(
6661
+ await exitProcessWithError(
6662
+ store,
6663
+ instance,
6542
6664
  "Authentication completed but no Algolia user was returned. Try running `npx @algolia/cli@latest auth login` directly."
6543
6665
  );
6544
- await instance.waitUntilExit();
6545
- process.exit(1);
6546
6666
  }
6547
6667
  }
6548
6668
  store.setUser(user);
@@ -6552,12 +6672,14 @@ async function run(opts) {
6552
6672
  app = await ensureApplication(
6553
6673
  resumableState ? runAppId(resumableState) : void 0
6554
6674
  );
6675
+ runWorkflow(workflow, app.id, { skipResumePrompt, resumableState });
6555
6676
  } catch (err) {
6556
- store.setError(err instanceof Error ? err.message : String(err));
6557
- await instance.waitUntilExit();
6558
- process.exit(1);
6677
+ await exitProcessWithError(
6678
+ store,
6679
+ instance,
6680
+ err instanceof Error ? err.message : String(err)
6681
+ );
6559
6682
  }
6560
- runWorkflow(workflow, app.id, { skipResumePrompt, resumableState });
6561
6683
  }
6562
6684
  await requestTerminalSize();
6563
6685
  var started = await startup();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@algolia/wizard",
3
- "version": "0.51.0",
3
+ "version": "0.52.0-rc.151.365",
4
4
  "description": "Magically implement Algolia functionality in your codebase",
5
5
  "type": "module",
6
6
  "engines": {