Prettierのプラグインとは、具体的にどういうものなのか?を真に理解したく。 ESLintほど、独自プラグインを作る文化もないと思う。 基本デザイン Plugins · Prettier https://prettier.io/docs/plugins まず冒頭に書いてある通り。 Plugins are ways of adding new languages or formatting rules to Prettier. ・・・というわけで、基本的には、Prettierがビルトインでサポートしていない拡張子をサポートするための仕組み。 プラグインという言葉から、JS/TSみたくビルトインでサポートされてるファイルをフォーマットする過程に介入できる?と思いがちだが、そうではない。 いや、もちろんやれないことはないと思うけども。 実装を見ると、以下をexportするJSのモジュールがプ
それが簡単にできちゃう、napi-rsなら。 napi-rs/napi-rs: A framework for building compiled Node.js add-ons in Rust via Node-API https://github.com/napi-rs/napi-rs そしてこれを使って、oxlintはJSで書かれたESLintプラグインを実行してる。 Node-API Node-API | Node.js v25.0.0 Documentation https://nodejs.org/api/n-api.html Node.jsのコードから、C/C++やらで書いたコードを呼べるやつ。 で、Rustでもそれ用のコードをいい感じに書けるようになるのが、napi, napi_derive crateと、それをよしなにビルドしてくれる@napi-rs/cliというわけ。
というのも、簡単には使えないから・・・。 SharedArrayBuffer SharedArrayBuffer - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer 某Spectreの絡みでセキュリティ要件が厳しくなって、現世では簡単に使えなくなった。 httpsであることはもちろん crossOriginIsolatedなドキュメントである これらの条件が満たされていないと、SharedArrayBufferを使うことはできない。というか、条件未達の場合SharedArrayBufferがそもそもグローバルに存在しない。 COI: Cross-origin isolated Window: crossOri
Linter | The JavaScript Oxidation Compiler https://oxc-project.github.io/docs/guide/usage/linter.html コントリビュートした記念としても、記録を残しておこうかと。 Oxcとoxlint oxc-project/oxc: ⚓ A collection of JavaScript tools written in Rust. https://github.com/oxc-project/oxc Oxcって名前は、Rustで書かれたJS向けツールセット群の総称みたいなもの。 Linter Parser Resolver Formatter Transformer Minifier etc… みたく手広くカバーしてて、eslintの置き換え(完全互換ではないが50x-100x速い)を目指してるのが、
ふと気になったので試してみた。 これまでも、ただのBetter webpackとしてしかNext.jsのことを見てなかったり、とことんマイノリティなユースケースに生きてる。 やりたかったこと クライアントでJSを使わない、複数の静的なHTML+CSSを出力したい LinkもImageもなにも使わない テンプレート言語としてReactもといJSX そして、CMSやローカルのコンテンツを取得する部分に、RSCの書き味を使えないか Markdownを変換したり、ハイライトしたり やる前からなんとなく結果は見えてるけど、まあ一応ね・・・。 コード leaysgur/next-app-router-as-ssg https://github.com/leaysgur/next-app-router-as-ssg outディレクトリもまとめてコミットしてある。 特記事項としては、 next.confi
昨日、年初からぼちぼちやってたOXCに関するOSS活動で、書き留めておきたいことが2つ起きた。 OSSで報酬をもらった OXCのコアメンバーになった たぶん単発だったらブログに書いてないけど、同時多発になんか新鮮な気持ちになったので。 OSSで報酬をもらった OXCに古くからあるIssueで、oxlintにeslint/no-invalid-regexpのルールを実装したいというものがあって、それに対してかかってた$50の懸賞金をもらった。 [$50 Opire Bounty] feat(linter): eslint/no-invalid-regexp · Issue #611 · oxc-project/oxc https://github.com/oxc-project/oxc/issues/611 単純なルールでありつつも簡単に実装できるものではなく、実は「正規表現のパーサーそのも
TSのASTは、JS界のASTのデファクトであるESTreeとは違うらしい。 まぁそれはそれとして、JSDocの扱いがどうなっているのかを調べたかった。 JSについては、以前に調べてた。 JavaScriptのASTにおける、コメントの扱いについて | Memory ice cubes https://leaysgur.github.io/posts/2024/01/30/132331/ TSのASTにおけるJSDoc 通常のコメントは、ASTに含まれない ESTreeと同じく しかし、JSDocは含まれる PlaygroundでASTを見ると.jsDocというプロパティがあるのが見える https://www.typescriptlang.org/play SyntaxKind.JSDocCommentというノードの配列 https://github.com/microsoft/Type
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く