TSKaigi 2025 での発表資料です - スピーカーノート リポジトリ…

TSKaigi 2025 での発表資料です - スピーカーノート リポジトリ…
moznion サーバーサイドエンジニア Seattle, Washington在住 10年モノのCoffeeScript on node というのは若干言いすぎで、およそ9年モノです 2014年当時の状況 ES2015以前 (そりゃそう) Babelはあった TypeScriptブレイク以前 (だいたい2016年くらいから広くproduction readyになったという印象) AltJSの萌芽 => この時点でCoffeeScriptを採用したのは間違いではないはず...... 2023年現在の状況 JavaScriptの言語機能がめちゃ拡張された TypeScriptがメジャーに DHH、TypeScriptをやめる => CoffeeScriptを使うメリットはおそらく失なわれたと言ってもよい (このへんを参考にした: https://yosuke-furukawa.hatenab
babel-plugin-node-cjs-interop というパッケージを作ったのでその紹介です。 (GitHub) 何が問題か Node.jsのネイティブES ModulesサポートとBabelやTypeScriptのES Modulesサポートを併用したときに問題が起きます。 ESMとCJS JavaScriptには標準のモジュールシステム (ES Modules, ESM) がありますが、ESMの策定前に先だっていくつかのコミュニティー定義のモジュールシステムが存在していました。そのうちNode.jsを中心として使われていたのがCommonJS Modules (CJS) です。そのNode.js界隈でもESMへの移行が進んでいます。 移行にあたって問題になることのひとつが、ESMとCJSのエクスポートモデルの違いです。 ESMでは、モジュールは0個以上の名前つきエクスポートを定
ts-node でも型チェックを外すオプションがあることをコメントで教えてもらいました。型チェックをかけない esbuild と同様の条件としたほうが、より平等な計測結果になりますので、計測し直しました。 参考 https://github.com/TypeStrong/ts-node#typechecking Node.js で TypeScript をトランスパイルしながら実行できる、 esbuild-register というパッケージがあります。 非常に速い esbuild を使いながら雑に TypeScript が実行できちゃう頼もしいパッケージです。 今までのメインプレイヤーであった ts-node よりも速いです。次の小さなスクリプトでも 1.5 倍程度の速度が出ています。 function wait(duration: number) { return new Promise
先日、TypeScript 3.8 RCが公開されました。TypeScript 3.8はクラスのprivateフィールド(#nameみたいなやつ)を始めとして、ECMAScriptの新機能のサポートがいくつか追加されています。この記事で取り扱うtop-level awaitもその一つです。 この記事ではtop-level awaitに焦点を当てて、その意味や使い方について余すところなく解説します。top-level awaitは一見単純な機能に見えますが、実はモジュール (ES Modules) と深い関係があり、そこがtop-level awaitの特に難しい点です。そこで、この記事ではECMAScriptのモジュールについても詳しく解説します。この記事を読んでtop-level awaitを完全に理解して備えましょう。 **※ この記事は3分の1くらい読むと「まとめ」があり、残りはおま
生存報告も兼ねて。 カリフォルニアに来てもう半年ぐらい経った感覚ですが、実はまだ4ヶ月ほどでした。非常に多くの素敵な方々との出会いがあり、妻も僕も子供もこの皆さまの助けがあってどうにか生きております。どう感謝してよいか言葉にできないほどです。 さて、ビジネス上の僕のミッションは次の3つです。 主に投資や連携目的の交渉(の技術面のサポート) 日本との連携 新規事業の開発 どれもなかなか難しいです。会ってアポぐらいなら応じてくれる会社も多いですが、投資や連携といってもバブル崩壊以後経済成長できていない我が国はもはや「商習慣だけめんどくさいのに今やカネも持ってないから相手にしてられない連中」というのは肌で感じます。ご存知の通り、サンフランシスコ・ベイエリアはIT企業会社員が年収5000万円もらうような場所です。なかなか同じ規模感で会話するのが難しいレベルに達しています。 こみこみという噂のNet
追記1: plugins周りに参考Issueや @Quramy パイセンの記事へのリンクを追加。 こんばんは@vvakameです。 TypeScript 2.3 RCがアナウンスされましたね。 What's new in TypeScriptも更新されているようです。 TypeScriptのリリースサイクルの変更がアナウンスされた後の初めてのリリース候補です。 変更点まとめ --target es3 と --target es5 でもジェネレータが使えるようになった Generator support for ES3/ES5 非同期イテレータのサポート Asynchronous iterators async generatorsとasync iterationのサポート for-await-of のサポート --downlevelIteration オプションの追加 Genericsの型
追記1:Quramyパイセンから"定義にジャンプする"の解決が違う旨教えてもらったので修正 こんばんは@vvakameです。 TypeScript 2.1(RC)がアナウンスされましたね。 2.0系の正式リリースである2.0.3が9/22のリリースなので、1月半でminor versionが上がりました。 変更点まとめ 公式ブログ記事では小さい更新かと思いきや、Roadmapを見ると結構たくさんの更新があります。 トランスフォームベースのJSコード生成 (Switch to a transformation-based emitter) generatorのdownpileとかに必要だった認識(今回はgeneratorのdownpileはなしっぽい async/awaitのes3 or es5 downpileのサポート (async/await support for ES5/ES3)
こないだ試したらちょうどmocha+TypeScript+power-assertが使えるようになってたのでメモる。 { "devDependencies": { "babel": "^6.0.15", "babel-polyfill": "^6.0.16", "espower-babel": "^3.3.0", "espower-typescript": "^2.0.0", "mocha": "^2.3.3", "power-assert": "^1.1.0" }, "scripts": { "test": "mocha --compilers ts:espower-typescript/guess --compilers ts:espower-babel/guess test/**/*-test.ts", "test:watch": "mocha -w --compilers ts:e
async/await は ES7 の機能で、非同期処理を記述する上で非常に便利な機能である(仕様は安定していないと思う) まだ実装している処理系はないと思うが、babel などの transpiler をつかうと利用できる async/await をつかうと非同期処理を以下のように書くことができる function a() { return new Promise(function(resolve, reject) { setTimeout(function() { resolve('hello, ') }, 0) }) } async function b() { var value = await a() return value + 'world' } async function c() { var value = await b() console.log(value) ret
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く