// @ts-check

const [major, minor] = process.version.replace("v", "").split(".").map(Number)

const versionedFlags =
	major > 22 || (major === 22 && minor >= 7) ?
		"--experimental-transform-types --no-warnings"
	:	(console.log(
			"--experimental-transform-types requires Node >= 22.7.0, falling back to tsx..."
		),
		"--import tsx")

export const nodeDevOptions = `${process.env.NODE_OPTIONS ?? ""} --conditions ark-ts ${versionedFlags}`

export const addNodeDevOptions = extraOpts =>
	(process.env.NODE_OPTIONS = `${nodeDevOptions} ${extraOpts ?? ""}`)
alias kind: alias
union expression: jsonSchemaDefNode | string
<anonymous_script>:42
    return this.jsonSchemaDefNodeAllows(data, ctx)
                ^

TypeError: this.jsonSchemaDefNodeAllows is not a function
    at Object.alias2Allows (eval at DynamicFunction (file:///app/ark/util/functions.ts:20:13), <anonymous>:42:17)
    at Object.union31Allows (eval at DynamicFunction (file:///app/ark/util/functions.ts:20:13), <anonymous>:4:41)
    at UnionNode.allows (/app/ark/schema/node.ts:226:11)
    at <anonymous> (/app/ark/json-schema/refExperiment.ts:22:41)
    at ModuleJob.run (node:internal/modules/esm/module_job:343:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:681:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

Node.js v22.23.2
node:internal/errors:983
  const err = new Error(message);
              ^

Error: Command failed: node ./ark/json-schema/refExperiment.ts
    at genericNodeError (node:internal/errors:983:15)
    at wrappedFn (node:internal/errors:537:14)
    at checkExecSyncError (node:child_process:916:11)
    at execSync (node:child_process:988:15)
    at file:///app/ark/repo/ts.js:9:1
    at ModuleJob.run (node:internal/modules/esm/module_job:343:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:681:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5) {
  status: 1,
  signal: null,
  output: [ null, null, null ],
  pid: 343,
  stdout: null,
  stderr: null
}

Node.js v22.23.2
