create-nola-lang 0.1.5 → 0.1.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.
package/README.md CHANGED
@@ -16,7 +16,8 @@ coding agents (yes opens one list: VS Code, preselected, writes `.vscode/`
16
16
  with a debug config + the extension recommendation; coding-agent skills,
17
17
  Claude Code preselected), and — once the files are written, when an editor
18
18
  was chosen — whether to install dependencies and open the project in VS Code
19
- right away.
19
+ right away (on `src/main.ts`, whose opening comment lists the next steps:
20
+ F5 to run, a breakpoint to debug, the recommended extension).
20
21
 
21
22
  You get a typed extraction example (`src/person.tsi` + a plain-TS consumer),
22
23
  `nola.config.ts`, tsconfig, and a recorded replay ledger so the first run
@@ -146,12 +146,12 @@ async function fetchExampleFromGitHub(name, version, fetchImpl = fetch) {
146
146
  var TEMPLATES = [
147
147
  { name: "starter", label: "typed extraction, runs offline out of the box", source: "builtin" },
148
148
  { name: "empty", label: "nola.config + tsconfig only, bring your own code", source: "builtin" },
149
+ { name: "file-ticket", label: "call intents: the model fills a function's arguments", source: "example" },
149
150
  { name: "extract-resume", label: "nested arrays of objects, JSDoc schema descriptions", source: "example" },
150
151
  { name: "extract-invoice", label: "same-file type references, optional fields", source: "example" },
151
152
  { name: "classify-message", label: "closed label sets: union alias, string enum, inline union", source: "example" },
152
153
  { name: "chain-of-thought", label: "two asks sharing accumulating context", source: "example" },
153
- { name: "research-notes", label: "TS control flow orchestrating nola functions", source: "example" },
154
- { name: "file-ticket", label: "call intents: the model fills a function's arguments", source: "example" }
154
+ { name: "research-notes", label: "TS control flow orchestrating nola functions", source: "example" }
155
155
  ];
156
156
  function templateByName(name) {
157
157
  return TEMPLATES.find((t) => t.name === name);
@@ -170,7 +170,24 @@ function providerConfigUrl(provider) {
170
170
  return new URL(`../templates/_providers/${provider}.config.ts`, import.meta.url);
171
171
  }
172
172
  var RENAMES = { _gitignore: ".gitignore" };
173
- var SUBSTITUTED = /* @__PURE__ */ new Set(["package.json", "README.md"]);
173
+ var SUBSTITUTED = /* @__PURE__ */ new Set(["package.json", "README.md", "main.ts"]);
174
+ function nextStepsComment(ide, template) {
175
+ if (ide === "vscode") {
176
+ const breakpointIn = template === "starter" ? "src/person.tsi" : "your .tsi file";
177
+ return [
178
+ "// Next steps in VS Code:",
179
+ "// 1. Press F5 to run this file (.vscode/launch.json is already set up).",
180
+ `// 2. Set a breakpoint in ${breakpointIn} and press F5 again to step through the ask.`,
181
+ '// 3. Install the recommended "Nola" extension when VS Code offers it \u2014 IntelliSense,',
182
+ "// go to definition and diagnostics inside .tsi files."
183
+ ].join("\n");
184
+ }
185
+ return [
186
+ "// Next steps:",
187
+ "// 1. Run this file: npm start",
188
+ "// 2. Set up your editor (VS Code extension, debugging): https://nola.sh/docs/start/editor-setup/"
189
+ ].join("\n");
190
+ }
174
191
  var OFFLINE_ONLY = /* @__PURE__ */ new Set(["nola.replay.jsonl"]);
175
192
  var README_NOTES = {
176
193
  offline: {
@@ -230,6 +247,7 @@ async function scaffold(targetDir, opts = {}) {
230
247
  const versionRange = `^${version}`;
231
248
  const provider = opts.provider ?? "none";
232
249
  const notes = readmeNotes(provider);
250
+ const nextSteps2 = nextStepsComment(opts.ide ?? "none", template);
233
251
  const files = [];
234
252
  const copyDir = async (fromDir, relDir) => {
235
253
  await mkdir2(join3(absRoot, relDir), { recursive: true });
@@ -245,7 +263,7 @@ async function scaffold(targetDir, opts = {}) {
245
263
  const source = provider !== "none" && relDir === "." && entry.name === "nola.config.ts" ? providerConfigUrl(provider) : join3(templateRoot, fromRel);
246
264
  let content = await readFile3(source, "utf8");
247
265
  if (SUBSTITUTED.has(entry.name)) {
248
- content = content.replaceAll("__NAME__", name).replaceAll("__VERSION__", versionRange).replaceAll("__START_NOTE__", notes.START_NOTE).replaceAll("__PROVIDER_NOTE__", notes.PROVIDER_NOTE);
266
+ content = content.replaceAll("__NAME__", name).replaceAll("__VERSION__", versionRange).replaceAll("__START_NOTE__", notes.START_NOTE).replaceAll("__PROVIDER_NOTE__", notes.PROVIDER_NOTE).replaceAll("__NEXT_STEPS__", nextSteps2);
249
267
  }
250
268
  await writeFile(join3(absRoot, toRel), content);
251
269
  files.push(toRel.replaceAll("\\", "/"));
@@ -1360,6 +1378,9 @@ import { stripVTControlCharacters } from "node:util";
1360
1378
  import { spawn } from "node:child_process";
1361
1379
  import { existsSync as existsSync8 } from "node:fs";
1362
1380
  import { join as join10 } from "node:path";
1381
+ function vscodeArgs(dir, entry) {
1382
+ return entry === void 0 ? [dir] : [dir, join10(dir, entry)];
1383
+ }
1363
1384
  function findOnPath(name, env = process.env, platform = process.platform) {
1364
1385
  const pathValue = env.PATH ?? env.Path ?? env.path ?? "";
1365
1386
  const dirs = pathValue.split(platform === "win32" ? ";" : ":").filter((d) => d.length > 0);
@@ -1392,10 +1413,10 @@ function installArgs(pm) {
1392
1413
  }
1393
1414
  var realLauncher = {
1394
1415
  install: (pm, dir, onOutput) => run(pm, installArgs(pm), dir, onOutput),
1395
- async openVscode(dir) {
1416
+ async openVscode(dir, entry) {
1396
1417
  const code = findOnPath("code");
1397
1418
  if (!code) return "not-found";
1398
- const child = spawn(q(code), [q(dir)], { detached: true, stdio: "ignore", shell: WINDOWS });
1419
+ const child = spawn(q(code), vscodeArgs(dir, entry).map(q), { detached: true, stdio: "ignore", shell: WINDOWS });
1399
1420
  child.on("error", () => {
1400
1421
  });
1401
1422
  child.unref();
@@ -1403,6 +1424,44 @@ var realLauncher = {
1403
1424
  }
1404
1425
  };
1405
1426
 
1427
+ // src/node-version.ts
1428
+ var NODE_FLOOR = "22.18";
1429
+ function parse(version) {
1430
+ const m = /^v?(\d+)\.(\d+)/.exec(version);
1431
+ return m ? [Number(m[1]), Number(m[2])] : void 0;
1432
+ }
1433
+ function nodeSupportsTypeStripping(version) {
1434
+ const v = parse(version);
1435
+ if (!v) return true;
1436
+ const [major, minor] = v;
1437
+ if (major >= 24) return true;
1438
+ if (major === 23) return minor >= 6;
1439
+ if (major === 22) return minor >= 18;
1440
+ return false;
1441
+ }
1442
+ function hasStripTypesFlag(version) {
1443
+ const v = parse(version);
1444
+ if (!v) return false;
1445
+ const [major, minor] = v;
1446
+ return major > 22 || major === 22 && minor >= 6;
1447
+ }
1448
+ function nodeVersionWarning(version = process.versions.node) {
1449
+ if (nodeSupportsTypeStripping(version)) return void 0;
1450
+ const lines = [
1451
+ `Node ${version} is older than Nola needs: Node >= ${NODE_FLOOR}, the first release that runs .ts files natively.`,
1452
+ "On this Node, `npm start` and the VS Code F5 launch fail with ERR_UNKNOWN_FILE_EXTENSION for src/main.ts."
1453
+ ];
1454
+ if (hasStripTypesFlag(version)) {
1455
+ lines.push(
1456
+ "Upgrade Node (recommended), or set NODE_OPTIONS=--experimental-strip-types for `npm start` and add",
1457
+ '"--experimental-strip-types" to runtimeArgs in .vscode/launch.json.'
1458
+ );
1459
+ } else {
1460
+ lines.push("Upgrade Node: https://nodejs.org/");
1461
+ }
1462
+ return lines.join("\n");
1463
+ }
1464
+
1406
1465
  // src/package-manager.ts
1407
1466
  function detectPackageManager(userAgent = process.env.npm_config_user_agent) {
1408
1467
  const name = userAgent?.split("/")[0]?.trim();
@@ -1652,6 +1711,7 @@ Next steps:
1652
1711
  ${lines.join("\n ")}`;
1653
1712
  }
1654
1713
  var INSTALL_LOG_TAIL = 20;
1714
+ var ENTRY_FILE = "src/main.ts";
1655
1715
  function lastOutputLine(output) {
1656
1716
  const lines = stripVTControlCharacters(output).split(/\r?\n/);
1657
1717
  for (let i = lines.length - 1; i >= 0; i--) {
@@ -1686,7 +1746,8 @@ async function offerInstallAndOpen(dir, pm, prompter, launcher, linkCheckout) {
1686
1746
  prompter.note(`${tail ? `${tail}
1687
1747
  ` : ""}Run ${cmd.install} yourself once the cause is fixed.`);
1688
1748
  }
1689
- const opened = await launcher.openVscode(dir);
1749
+ const entry = existsSync9(join11(dir, ENTRY_FILE)) ? ENTRY_FILE : void 0;
1750
+ const opened = await launcher.openVscode(dir, entry);
1690
1751
  if (opened === "not-found") {
1691
1752
  prompter.note(
1692
1753
  `VS Code's \`code\` command is not on PATH, so the folder was not opened. In VS Code run "Shell Command: Install 'code' command in PATH" (macOS) or re-run the installer with "Add to PATH" (Windows), then open the folder from VS Code.`
@@ -1736,6 +1797,8 @@ async function runFlow(args, opts = {}) {
1736
1797
  }
1737
1798
  }
1738
1799
  if (interactive) prompter.intro?.(opts.intro ?? `nola v${await ownVersion()}`);
1800
+ const nodeWarning = nodeVersionWarning(opts.nodeVersion);
1801
+ if (nodeWarning) prompter.note(nodeWarning);
1739
1802
  const pm = opts.packageManager ?? detectPackageManager();
1740
1803
  const apiUrl = (opts.apiUrl ?? nolaApiUrl()).replace(/\/$/, "");
1741
1804
  const session = await readSession(opts.home, apiUrl);
@@ -1804,7 +1867,7 @@ Next steps:
1804
1867
  try {
1805
1868
  const grant = outcome.provider === "nola" ? await obtainTrial(prompter, opts, interactive) : null;
1806
1869
  const provider = outcome.provider === "nola" ? grant ? "nola" : "none" : outcome.provider;
1807
- const { files } = await scaffold(outcome.dir, { template: outcome.template, force: outcome.force, provider });
1870
+ const { files } = await scaffold(outcome.dir, { template: outcome.template, force: outcome.force, provider, ide: outcome.ide });
1808
1871
  let trialWrote = [];
1809
1872
  if (grant) {
1810
1873
  const trial = await applyTrial(outcome.dir, { apiKey: grant.apiKey, hasConfig: false });
package/dist/flow.d.ts CHANGED
@@ -168,6 +168,8 @@ export interface RunFlowOptions {
168
168
  open?: (url: string) => boolean;
169
169
  /** checkout root to relink a scaffold to after install; default NOLA_LINK_CHECKOUT env (null = off) */
170
170
  linkCheckout?: string | null;
171
+ /** the Node version to judge for the old-Node warning; default process.versions.node — tests inject one */
172
+ nodeVersion?: string;
171
173
  }
172
174
  /** The last non-empty output line, colour codes stripped, trimmed to one spinner line. */
173
175
  export declare function lastOutputLine(output: string): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
package/dist/flow.js CHANGED
@@ -14,6 +14,7 @@ import { readHomeConfig } from "./home-config.js";
14
14
  import { writeVscodeSetup } from "./ide.js";
15
15
  import { acquireKey, SignInRequiredError } from "./key.js";
16
16
  import { realLauncher } from "./launch.js";
17
+ import { nodeVersionWarning } from "./node-version.js";
17
18
  import { openBrowser } from "./open-url.js";
18
19
  import { detectPackageManager, packageManagerCommands } from "./package-manager.js";
19
20
  import { isProviderId, PROVIDERS, providerById, providerIds } from "./providers.js";
@@ -339,6 +340,8 @@ function nextSteps(outcome, fileCount, name, pm, installed = false, grant = null
339
340
  }
340
341
  /** How many trailing lines of a failed install's output the note shows. */
341
342
  const INSTALL_LOG_TAIL = 20;
343
+ /** Every template's entry (builtin and curated examples alike) — what launch.json runs and VS Code opens. */
344
+ const ENTRY_FILE = "src/main.ts";
342
345
  /** The last non-empty output line, colour codes stripped, trimmed to one spinner line. */
343
346
  export function lastOutputLine(output) {
344
347
  const lines = stripVTControlCharacters(output).split(/\r?\n/);
@@ -390,7 +393,10 @@ async function offerInstallAndOpen(dir, pm, prompter, launcher, linkCheckout) {
390
393
  const tail = stripVTControlCharacters(output).trim().split(/\r?\n/).slice(-INSTALL_LOG_TAIL).join("\n");
391
394
  prompter.note(`${tail ? `${tail}\n` : ""}Run ${cmd.install} yourself once the cause is fixed.`);
392
395
  }
393
- const opened = await launcher.openVscode(dir);
396
+ // Land on the entry file, not an empty window: it opens with the next
397
+ // steps (F5, breakpoints, the extension) as its first lines.
398
+ const entry = existsSync(join(dir, ENTRY_FILE)) ? ENTRY_FILE : undefined;
399
+ const opened = await launcher.openVscode(dir, entry);
394
400
  if (opened === "not-found") {
395
401
  prompter.note("VS Code's `code` command is not on PATH, so the folder was not opened. " +
396
402
  "In VS Code run \"Shell Command: Install 'code' command in PATH\" (macOS) or re-run the installer with \"Add to PATH\" (Windows), then open the folder from VS Code.");
@@ -454,6 +460,11 @@ export async function runFlow(args, opts = {}) {
454
460
  }
455
461
  if (interactive)
456
462
  prompter.intro?.(opts.intro ?? `nola v${await ownVersion()}`);
463
+ // Before anything else: an old Node (native .ts loading still behind a flag)
464
+ // gets the advice here, where it names the fix, not from `npm start`'s bare error.
465
+ const nodeWarning = nodeVersionWarning(opts.nodeVersion);
466
+ if (nodeWarning)
467
+ prompter.note(nodeWarning);
457
468
  const pm = opts.packageManager ?? detectPackageManager();
458
469
  // Which key question to ask (spec 2026-09-04-cli-sign-in-design.md §5): signed in → account key; trial used here → sign in; else → trial.
459
470
  const apiUrl = (opts.apiUrl ?? nolaApiUrl()).replace(/\/$/, "");
@@ -534,7 +545,7 @@ export async function runFlow(args, opts = {}) {
534
545
  const grant = outcome.provider === "nola" ? await obtainTrial(prompter, opts, interactive) : null;
535
546
  // A nola choice without a key (declined sign-in, API failure) scaffolds the plain template — the note above says why.
536
547
  const provider = outcome.provider === "nola" ? (grant ? "nola" : "none") : outcome.provider;
537
- const { files } = await scaffold(outcome.dir, { template: outcome.template, force: outcome.force, provider });
548
+ const { files } = await scaffold(outcome.dir, { template: outcome.template, force: outcome.force, provider, ide: outcome.ide });
538
549
  let trialWrote = [];
539
550
  if (grant) {
540
551
  const trial = await applyTrial(outcome.dir, { apiKey: grant.apiKey, hasConfig: false });
package/dist/flow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -86,7 +86,7 @@ import {
86
86
  writeEnvKey,
87
87
  writeSession,
88
88
  writeVscodeSetup
89
- } from "./chunk-ZHMW2DCK.js";
89
+ } from "./chunk-34XSPT6F.js";
90
90
  import {
91
91
  clackPrompter
92
92
  } from "./chunk-7IQIRMK6.js";
package/dist/launch.d.ts CHANGED
@@ -12,9 +12,20 @@ export interface Launcher {
12
12
  * to the exit code (1 when the command could not be spawned at all).
13
13
  */
14
14
  install(pm: PackageManager, dir: string, onOutput: (chunk: string) => void): Promise<number>;
15
- /** `code <dir>`, detached; "not-found" when VS Code's `code` command is not on PATH. */
16
- openVscode(dir: string): Promise<"opened" | "not-found">;
15
+ /**
16
+ * `code <dir> [<dir>/<entry>]`, detached; "not-found" when VS Code's `code`
17
+ * command is not on PATH. `entry` is a project-relative file to open as the
18
+ * active editor on top of the folder (the scaffold's src/main.ts).
19
+ */
20
+ openVscode(dir: string, entry?: string): Promise<"opened" | "not-found">;
17
21
  }
22
+ /**
23
+ * The arguments that open a project in VS Code: the folder alone, or the
24
+ * folder plus one file. `code <folder> <file>` opens the folder as the
25
+ * workspace and the file as the active editor — that is how the scaffold
26
+ * lands the user on src/main.ts instead of an empty window.
27
+ */
28
+ export declare function vscodeArgs(dir: string, entry?: string): string[];
18
29
  /**
19
30
  * Locate an executable on PATH the way a shell would: every PATH entry, and
20
31
  * on Windows every PATHEXT extension (`code` is `code.cmd` there). Pure —
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7F,wFAAwF;IACxF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;CAC1D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAapB;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,EAAE,CAExD;AAED,eAAO,MAAM,YAAY,EAAE,QAW1B,CAAC"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7F;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;CAC1E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAapB;AA0BD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,EAAE,CAExD;AAED,eAAO,MAAM,YAAY,EAAE,QAW1B,CAAC"}
package/dist/launch.js CHANGED
@@ -1,6 +1,15 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { existsSync } from "node:fs";
3
3
  import { join } from "node:path";
4
+ /**
5
+ * The arguments that open a project in VS Code: the folder alone, or the
6
+ * folder plus one file. `code <folder> <file>` opens the folder as the
7
+ * workspace and the file as the active editor — that is how the scaffold
8
+ * lands the user on src/main.ts instead of an empty window.
9
+ */
10
+ export function vscodeArgs(dir, entry) {
11
+ return entry === undefined ? [dir] : [dir, join(dir, entry)];
12
+ }
4
13
  /**
5
14
  * Locate an executable on PATH the way a shell would: every PATH entry, and
6
15
  * on Windows every PATHEXT extension (`code` is `code.cmd` there). Pure —
@@ -57,12 +66,12 @@ export function installArgs(pm) {
57
66
  }
58
67
  export const realLauncher = {
59
68
  install: (pm, dir, onOutput) => run(pm, installArgs(pm), dir, onOutput),
60
- async openVscode(dir) {
69
+ async openVscode(dir, entry) {
61
70
  const code = findOnPath("code");
62
71
  if (!code)
63
72
  return "not-found";
64
73
  // Detached + ignored stdio: the CLI exits while VS Code keeps running.
65
- const child = spawn(q(code), [q(dir)], { detached: true, stdio: "ignore", shell: WINDOWS });
74
+ const child = spawn(q(code), vscodeArgs(dir, entry).map(q), { detached: true, stdio: "ignore", shell: WINDOWS });
66
75
  child.on("error", () => { });
67
76
  child.unref();
68
77
  return "opened";
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  CREATE_COMMAND,
4
4
  dispatch,
5
5
  ownVersion
6
- } from "./chunk-ZHMW2DCK.js";
6
+ } from "./chunk-34XSPT6F.js";
7
7
  import "./chunk-FPS2V3S4.js";
8
8
 
9
9
  // src/main.ts
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The Node floor the docs state. Plain `.ts` (the templates' `src/main.ts`)
3
+ * is loaded by Node's native type stripping, which is on by default only from
4
+ * 22.18 on the 22 line and 23.6 on the 23 line; before that it sits behind
5
+ * `--experimental-strip-types` and the default loader rejects `.ts` outright
6
+ * (ERR_UNKNOWN_FILE_EXTENSION) — `npm start` and the F5 launch both die on
7
+ * it, with nothing naming Nola. Nola does not paper over the gap with its own
8
+ * stripping (esbuild accepts syntax Node's stripper refuses, so a project
9
+ * would work on the old Node and break on the upgrade); it tells the user at
10
+ * scaffold time instead. `nola run` and the loader also run on Node ≥ 22.18.
11
+ */
12
+ export declare const NODE_FLOOR = "22.18";
13
+ /** Whether this Node runs `.ts` files natively without a flag. */
14
+ export declare function nodeSupportsTypeStripping(version: string): boolean;
15
+ /**
16
+ * The scaffold-time advice for an unsupported Node, or undefined when the
17
+ * running Node is fine. Printed as a note by `npm create nola` and `nola init`
18
+ * (both go through `runFlow`) so the user hears it before the first
19
+ * `npm start`, not from Node's bare error.
20
+ */
21
+ export declare function nodeVersionWarning(version?: string): string | undefined;
22
+ //# sourceMappingURL=node-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version.d.ts","sourceRoot":"","sources":["../src/node-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAOlC,kEAAkE;AAClE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQlE;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,MAA8B,GAAG,MAAM,GAAG,SAAS,CAe9F"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The Node floor the docs state. Plain `.ts` (the templates' `src/main.ts`)
3
+ * is loaded by Node's native type stripping, which is on by default only from
4
+ * 22.18 on the 22 line and 23.6 on the 23 line; before that it sits behind
5
+ * `--experimental-strip-types` and the default loader rejects `.ts` outright
6
+ * (ERR_UNKNOWN_FILE_EXTENSION) — `npm start` and the F5 launch both die on
7
+ * it, with nothing naming Nola. Nola does not paper over the gap with its own
8
+ * stripping (esbuild accepts syntax Node's stripper refuses, so a project
9
+ * would work on the old Node and break on the upgrade); it tells the user at
10
+ * scaffold time instead. `nola run` and the loader also run on Node ≥ 22.18.
11
+ */
12
+ export const NODE_FLOOR = "22.18";
13
+ function parse(version) {
14
+ const m = /^v?(\d+)\.(\d+)/.exec(version);
15
+ return m ? [Number(m[1]), Number(m[2])] : undefined;
16
+ }
17
+ /** Whether this Node runs `.ts` files natively without a flag. */
18
+ export function nodeSupportsTypeStripping(version) {
19
+ const v = parse(version);
20
+ if (!v)
21
+ return true; // unparsable: do not nag on what we cannot read
22
+ const [major, minor] = v;
23
+ if (major >= 24)
24
+ return true;
25
+ if (major === 23)
26
+ return minor >= 6;
27
+ if (major === 22)
28
+ return minor >= 18;
29
+ return false;
30
+ }
31
+ /** Whether `--experimental-strip-types` exists on this Node (22.6+, 23.x before 23.6). */
32
+ function hasStripTypesFlag(version) {
33
+ const v = parse(version);
34
+ if (!v)
35
+ return false;
36
+ const [major, minor] = v;
37
+ return major > 22 || (major === 22 && minor >= 6);
38
+ }
39
+ /**
40
+ * The scaffold-time advice for an unsupported Node, or undefined when the
41
+ * running Node is fine. Printed as a note by `npm create nola` and `nola init`
42
+ * (both go through `runFlow`) so the user hears it before the first
43
+ * `npm start`, not from Node's bare error.
44
+ */
45
+ export function nodeVersionWarning(version = process.versions.node) {
46
+ if (nodeSupportsTypeStripping(version))
47
+ return undefined;
48
+ const lines = [
49
+ `Node ${version} is older than Nola needs: Node >= ${NODE_FLOOR}, the first release that runs .ts files natively.`,
50
+ "On this Node, `npm start` and the VS Code F5 launch fail with ERR_UNKNOWN_FILE_EXTENSION for src/main.ts.",
51
+ ];
52
+ if (hasStripTypesFlag(version)) {
53
+ lines.push("Upgrade Node (recommended), or set NODE_OPTIONS=--experimental-strip-types for `npm start` and add", '"--experimental-strip-types" to runtimeArgs in .vscode/launch.json.');
54
+ }
55
+ else {
56
+ lines.push("Upgrade Node: https://nodejs.org/");
57
+ }
58
+ return lines.join("\n");
59
+ }
60
+ //# sourceMappingURL=node-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-version.js","sourceRoot":"","sources":["../src/node-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,SAAS,KAAK,CAAC,OAAe;IAC5B,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,gDAAgD;IACrE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,0FAA0F;AAC1F,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACxE,IAAI,yBAAyB,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,KAAK,GAAG;QACZ,QAAQ,OAAO,sCAAsC,UAAU,mDAAmD;QAClH,2GAA2G;KAC5G,CAAC;IACF,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,oGAAoG,EACpG,qEAAqE,CACtE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/dist/registry.js CHANGED
@@ -1,12 +1,12 @@
1
1
  export const TEMPLATES = [
2
2
  { name: "starter", label: "typed extraction, runs offline out of the box", source: "builtin" },
3
3
  { name: "empty", label: "nola.config + tsconfig only, bring your own code", source: "builtin" },
4
+ { name: "file-ticket", label: "call intents: the model fills a function's arguments", source: "example" },
4
5
  { name: "extract-resume", label: "nested arrays of objects, JSDoc schema descriptions", source: "example" },
5
6
  { name: "extract-invoice", label: "same-file type references, optional fields", source: "example" },
6
7
  { name: "classify-message", label: "closed label sets: union alias, string enum, inline union", source: "example" },
7
8
  { name: "chain-of-thought", label: "two asks sharing accumulating context", source: "example" },
8
9
  { name: "research-notes", label: "TS control flow orchestrating nola functions", source: "example" },
9
- { name: "file-ticket", label: "call intents: the model fills a function's arguments", source: "example" },
10
10
  ];
11
11
  export function templateByName(name) {
12
12
  return TEMPLATES.find((t) => t.name === name);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,+CAA+C,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,MAAM,EAAE,SAAS,EAAE;IAC/F,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,qDAAqD,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3G,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,4CAA4C,EAAE,MAAM,EAAE,SAAS,EAAE;IACnG,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,2DAA2D,EAAE,MAAM,EAAE,SAAS,EAAE;IACnH,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,uCAAuC,EAAE,MAAM,EAAE,SAAS,EAAE;IAC/F,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;IACpG,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sDAAsD,EAAE,MAAM,EAAE,SAAS,EAAE;CAC1G,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,+CAA+C,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9F,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,kDAAkD,EAAE,MAAM,EAAE,SAAS,EAAE;IAC/F,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sDAAsD,EAAE,MAAM,EAAE,SAAS,EAAE;IACzG,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,qDAAqD,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3G,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,4CAA4C,EAAE,MAAM,EAAE,SAAS,EAAE;IACnG,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,2DAA2D,EAAE,MAAM,EAAE,SAAS,EAAE;IACnH,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,uCAAuC,EAAE,MAAM,EAAE,SAAS,EAAE;IAC/F,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,8CAA8C,EAAE,MAAM,EAAE,SAAS,EAAE;CACrG,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -17,9 +17,24 @@ export interface ScaffoldOptions {
17
17
  * the matching README notes.
18
18
  */
19
19
  provider?: ProviderId;
20
+ /**
21
+ * The editor chosen in the wizard; default "none". Decides the next-steps
22
+ * comment rendered at the top of the template's src/main.ts: with VS Code
23
+ * it names F5, breakpoints and the recommended extension (all of which the
24
+ * .vscode files the flow writes make true); without one it stays
25
+ * editor-neutral.
26
+ */
27
+ ide?: "vscode" | "none";
20
28
  }
21
29
  /** The config a live provider choice writes over the template's own (`templates/_providers/<id>.config.ts`). */
22
30
  export declare function providerConfigUrl(provider: Exclude<ProviderId, "none">): URL;
31
+ /**
32
+ * The comment that opens src/main.ts — the file the scaffold lands the user
33
+ * on (VS Code opens it as the active editor), so it carries the first three
34
+ * things to do. The VS Code variant only ships with the editor step's
35
+ * .vscode files, which are what make F5 and the extension prompt real.
36
+ */
37
+ export declare function nextStepsComment(ide: "vscode" | "none", template: string): string;
23
38
  export declare function ownVersion(): Promise<string>;
24
39
  /**
25
40
  * Lay a template down into `targetDir`. One implementation serves both entry
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAG/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAID,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,CAE5E;AA+CD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlD;AAWD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA0DrG"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,gBAAgB,CAAC;AAG/D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACzB;AAID,gHAAgH;AAChH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,CAE5E;AAQD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBjF;AAyCD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlD;AAWD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4DrG"}
package/dist/scaffold.js CHANGED
@@ -13,8 +13,31 @@ export function providerConfigUrl(provider) {
13
13
  }
14
14
  /** _gitignore ships underscored (npm pack strips nested .gitignore files). */
15
15
  const RENAMES = { _gitignore: ".gitignore" };
16
- /** Files whose __NAME__/__VERSION__ (and README note) placeholders are substituted. */
17
- const SUBSTITUTED = new Set(["package.json", "README.md"]);
16
+ /** Files whose __NAME__/__VERSION__, README-note and __NEXT_STEPS__ placeholders are substituted. */
17
+ const SUBSTITUTED = new Set(["package.json", "README.md", "main.ts"]);
18
+ /**
19
+ * The comment that opens src/main.ts — the file the scaffold lands the user
20
+ * on (VS Code opens it as the active editor), so it carries the first three
21
+ * things to do. The VS Code variant only ships with the editor step's
22
+ * .vscode files, which are what make F5 and the extension prompt real.
23
+ */
24
+ export function nextStepsComment(ide, template) {
25
+ if (ide === "vscode") {
26
+ const breakpointIn = template === "starter" ? "src/person.tsi" : "your .tsi file";
27
+ return [
28
+ "// Next steps in VS Code:",
29
+ "// 1. Press F5 to run this file (.vscode/launch.json is already set up).",
30
+ `// 2. Set a breakpoint in ${breakpointIn} and press F5 again to step through the ask.`,
31
+ '// 3. Install the recommended "Nola" extension when VS Code offers it — IntelliSense,',
32
+ "// go to definition and diagnostics inside .tsi files.",
33
+ ].join("\n");
34
+ }
35
+ return [
36
+ "// Next steps:",
37
+ "// 1. Run this file: npm start",
38
+ "// 2. Set up your editor (VS Code extension, debugging): https://nola.sh/docs/start/editor-setup/",
39
+ ].join("\n");
40
+ }
18
41
  /** Starter files that only make sense for the offline (replay) configuration. */
19
42
  const OFFLINE_ONLY = new Set(["nola.replay.jsonl"]);
20
43
  const README_NOTES = {
@@ -96,6 +119,7 @@ export async function scaffold(targetDir, opts = {}) {
96
119
  const versionRange = `^${version}`;
97
120
  const provider = opts.provider ?? "none";
98
121
  const notes = readmeNotes(provider);
122
+ const nextSteps = nextStepsComment(opts.ide ?? "none", template);
99
123
  const files = [];
100
124
  const copyDir = async (fromDir, relDir) => {
101
125
  await mkdir(join(absRoot, relDir), { recursive: true });
@@ -119,7 +143,8 @@ export async function scaffold(targetDir, opts = {}) {
119
143
  .replaceAll("__NAME__", name)
120
144
  .replaceAll("__VERSION__", versionRange)
121
145
  .replaceAll("__START_NOTE__", notes.START_NOTE)
122
- .replaceAll("__PROVIDER_NOTE__", notes.PROVIDER_NOTE);
146
+ .replaceAll("__PROVIDER_NOTE__", notes.PROVIDER_NOTE)
147
+ .replaceAll("__NEXT_STEPS__", nextSteps);
123
148
  }
124
149
  await writeFile(join(absRoot, toRel), content);
125
150
  files.push(toRel.replaceAll("\\", "/"));
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-nola-lang",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Scaffold a new Nola project (npm create nola, or npm create nola-lang)",
5
5
  "keywords": [
6
6
  "nola",
@@ -46,7 +46,7 @@
46
46
  "bundle-dev": "node scripts/bundle.mjs --dev"
47
47
  },
48
48
  "engines": {
49
- "node": ">=22"
49
+ "node": ">=22.18"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@clack/prompts": "^1.7.0",
@@ -203,14 +203,14 @@ the providers package:
203
203
  "check": "nola check"
204
204
  },
205
205
  "dependencies": {
206
- "@nola-lang/providers": "^0.1.5",
207
- "@nola-lang/runtime": "^0.1.5"
206
+ "@nola-lang/providers": "^0.1.6",
207
+ "@nola-lang/runtime": "^0.1.6"
208
208
  },
209
209
  "devDependencies": {
210
- "nola-lang": "^0.1.5",
210
+ "nola-lang": "^0.1.6",
211
211
  "typescript": "^5.6.0"
212
212
  },
213
- "engines": { "node": ">=22" }
213
+ "engines": { "node": ">=22.18" }
214
214
  }
215
215
  ```
216
216
 
@@ -17,6 +17,6 @@
17
17
  "typescript": "^5.6.0"
18
18
  },
19
19
  "engines": {
20
- "node": ">=22"
20
+ "node": ">=22.18"
21
21
  }
22
22
  }
@@ -1,3 +1,5 @@
1
+ __NEXT_STEPS__
2
+
1
3
  // Write your first infer function in a .tsi file next to this file, then
2
4
  // import and await it here — see https://github.com/nola-lang/nola#readme
3
5
  console.log("Hello from Nola");
@@ -17,6 +17,6 @@
17
17
  "typescript": "^5.6.0"
18
18
  },
19
19
  "engines": {
20
- "node": ">=22"
20
+ "node": ">=22.18"
21
21
  }
22
22
  }
@@ -1,3 +1,5 @@
1
+ __NEXT_STEPS__
2
+
1
3
  import { extractPerson } from "./person.tsi";
2
4
 
3
5
  const person = await extractPerson(