Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
yossydev committed Dec 14, 2024
1 parent b934e51 commit f6f3950
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion app/routes/posts/node-typescript-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,24 @@ SyntaxError [ERR_INVALID_TYPESCRIPT_SYNTAX]: x TypeScript enum is not supporte

## Amaroのスタックトレース保持方法

## TypeScript特有の機能
Node.jsではTypeScriptのトランスパイルにAmaroというswc typescript parserのラッパーを使用しています。

そしてこちらの面白いところが、スタックトレースのために、型を除いた分の空白をそのままにしておくそうです。

```ts
const amaro = require('amaro');
const { code } = amaro.transformSync("const foo: string = 'bar';", { mode: "strip-only" });
console.log(code); // "const foo = 'bar';"
```

型排除により詰めた分、元のコードとトランスパイル後のコードの行数は変わってしまうので、デバッグしづらくなるのを防いでいる感じですね。

## tsconfigは見ない

今回のNode.jsのtsサポートでは、tsconfigは読み込まれないようになっています。

そのため、実行時の型チェックやエイリアスの設定、targetオプションの変更などはできないようになっています。

// TODO

- https://nodejs.org/api/typescript.html#type-stripping

0 comments on commit f6f3950

Please sign in to comment.