typia
Version:
Superfast runtime validators with only one line
1 lines • 3.02 kB
Source Map (JSON)
{"version":3,"file":"ttsc.mjs","names":[],"sources":["../../../src/executable/generate/ttsc.ts"],"sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\n\nconst packageRoot = path.resolve(\n path.dirname(path.resolve(process.argv[1] ?? \"\")),\n \"..\",\n \"..\",\n \"..\",\n);\nconst nativeProject = path.resolve(packageRoot, \"native\");\nconst nativeEntrypoint = path.resolve(\n nativeProject,\n \"cmd\",\n \"ttsc-typia\",\n \"main.go\",\n);\nconst command = process.platform === \"win32\" ? \"go.exe\" : \"go\";\nconst invocationCwd = process.cwd();\nconst argv = [...process.argv.slice(2)];\n\nif (\n process.env.TYPIA_TTSC_TRANSFORM_OUTPUT === \"ts\" &&\n argv[0] === \"transform\" &&\n !argv.some((value) => value === \"--output\" || value.startsWith(\"--output=\"))\n) {\n argv.push(\"--output=ts\");\n}\n\nif (\n argv.length > 0 &&\n needsCwd(argv[0]!) &&\n !argv.some((value) => value === \"--cwd\" || value.startsWith(\"--cwd=\"))\n) {\n argv.push(`--cwd=${invocationCwd}`);\n}\n\nconst hasSourceEntrypoint = fs.existsSync(nativeEntrypoint);\n\nif (!hasSourceEntrypoint) {\n process.stderr.write(\n \"ttsc-typia: backend source is missing. Expected native/cmd/ttsc-typia/main.go inside the typia package.\\n\",\n );\n process.exitCode = 1;\n} else {\n const result = spawnSync(command, [\"run\", \"./cmd/ttsc-typia\", ...argv], {\n cwd: nativeProject,\n env: process.env,\n stdio: \"inherit\",\n windowsHide: true,\n });\n if (result.error) {\n process.stderr.write(\n `ttsc-typia: failed to launch source backend via ${command}: ${result.error.message}\\n`,\n );\n process.exitCode = 1;\n } else {\n process.exitCode = result.status ?? 1;\n }\n}\n\nfunction needsCwd(commandName: string): boolean {\n return (\n commandName === \"build\" ||\n commandName === \"check\" ||\n commandName === \"transform\" ||\n commandName === \"-p\" ||\n commandName === \"--project\"\n );\n}\n"],"mappings":";;;;AAIA,MAAM,cAAc,KAAK,QACvB,KAAK,QAAQ,KAAK,QAAQ,QAAQ,KAAK,MAAM,EAAE,CAAC,GAChD,MACA,MACA,IACF;AACA,MAAM,gBAAgB,KAAK,QAAQ,aAAa,QAAQ;AACxD,MAAM,mBAAmB,KAAK,QAC5B,eACA,OACA,cACA,SACF;AACA,MAAM,UAAU,QAAQ,aAAa,UAAU,WAAW;AAC1D,MAAM,gBAAgB,QAAQ,IAAI;AAClC,MAAM,OAAO,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC;AAEtC,IACE,QAAQ,IAAI,gCAAgC,QAC5C,KAAK,OAAO,eACZ,CAAC,KAAK,MAAM,UAAU,UAAU,cAAc,MAAM,WAAW,WAAW,CAAC,GAE3E,KAAK,KAAK,aAAa;AAGzB,IACE,KAAK,SAAS,KACd,SAAS,KAAK,EAAG,KACjB,CAAC,KAAK,MAAM,UAAU,UAAU,WAAW,MAAM,WAAW,QAAQ,CAAC,GAErE,KAAK,KAAK,SAAS,eAAe;AAKpC,IAAI,CAFwB,GAAG,WAAW,gBAEnB,GAAG;CACxB,QAAQ,OAAO,MACb,2GACF;CACA,QAAQ,WAAW;AACrB,OAAO;CACL,MAAM,SAAS,UAAU,SAAS;EAAC;EAAO;EAAoB,GAAG;CAAI,GAAG;EACtE,KAAK;EACL,KAAK,QAAQ;EACb,OAAO;EACP,aAAa;CACf,CAAC;CACD,IAAI,OAAO,OAAO;EAChB,QAAQ,OAAO,MACb,mDAAmD,QAAQ,IAAI,OAAO,MAAM,QAAQ,GACtF;EACA,QAAQ,WAAW;CACrB,OACE,QAAQ,WAAW,OAAO,UAAU;AAExC;AAEA,SAAS,SAAS,aAA8B;CAC9C,OACE,gBAAgB,WAChB,gBAAgB,WAChB,gBAAgB,eAChB,gBAAgB,QAChB,gBAAgB;AAEpB"}