並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 6608件

新着順 人気順

TypeScriptの検索結果361 - 400 件 / 6608件

  • typescript-eslint v6 アップデートガイド

    typescript-eslint v6 リリース! 2023/07/10 に typescript-eslint の v6 がリリースされました。 メジャーバージョンアップということで多くの BreakingChange があるのですが、その中でもReworked Configuration Namesと呼ばれる変更は利用者に大きな影響を与えそうです。 Reworked Configuration Namesはざっくり言うと「config に書くrecommendedのようなルールセットの名前や枠組みが変わるよ」という変更です。 ルールセットの名前だけでなく、含まれるルールや分類自体に変更があるので、設定ファイルを v5 のままアップデートしてしまうと意図したルールセットと異なる設定になってしまいます。 ここでは上記の記事にある変更点を紹介しつつ、なるべく既存の設定のままアップデートする

      typescript-eslint v6 アップデートガイド
    • GitHub - airbnb/ts-migrate: A tool to help migrate JavaScript code quickly and conveniently to TypeScript

      ts-migrate is a tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out. ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be

        GitHub - airbnb/ts-migrate: A tool to help migrate JavaScript code quickly and conveniently to TypeScript
      • Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想 - Qiita

        Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想npmYARNyarnpkg berry(yarn v2) がそろそろリリースということで、使い込んでみた。その感想や yak-shaving などについて。 このリポジトリ https://github.com/mizchi/berry-typescript-project 日本語での網羅的な解説はこちらの記事がくわしい https://qiita.com/dojineko/items/6f65fde3c47aed8b6318 本記事は pnp の仕組みと webpack, jest, typescript を設定する泥臭い話がメイン。 使ってみた感想 npm とは完全に別系統に進化しつつある。互換があんまりない。 今対応するのは時期尚早でアーリーアダプターだけでよい

          Berry(yarn v2) + TypeScript + PnP + Workspace でプロジェクトを作ってみた感想 - Qiita
        • TypeScriptがJavaScript上で構築される方法を学ぶ、新TypeScriptハンドブックが正式版に

          CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

            TypeScriptがJavaScript上で構築される方法を学ぶ、新TypeScriptハンドブックが正式版に
          • GitHub - David-Else/modern-typescript-with-examples-cheat-sheet: Fully printable summary of modern TypeScript language features with extensive examples to help you learn

            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

              GitHub - David-Else/modern-typescript-with-examples-cheat-sheet: Fully printable summary of modern TypeScript language features with extensive examples to help you learn
            • Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング

              この記事は、Merpay Tech Openness Month 2023 の2日目の記事です。 メルペイFrontendエンジニアの@togami2864です。普段はPartner Platformというチームで加盟店申込みフォームや審査・管理を行うためのMerchant Supportツールの開発・運用を担当しています。 本記事ではRust製TypeScriptコンパイラであるstcについて筆者の観測範囲での概要、開発状況、課題等を紹介します。なお、内容は全て2023年5月時点のものです。また、本記事の一部は Node学園 41時限目 書籍について で発表したものと重複していることをご了承ください。 概要 stcは2022年10月にオープンソース化されたRust製のTypeScriptコンパイラです。 https://github.com/dudykr/stc 製作者はRust製のトラ

                Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング
              • React.jsのSSRをTypeScriptで自前で実装してみた

                この記事は? ReactのSSRの理解を深めるために自前で実装してみました。 せっかくなのでその記録を記事にまとめました。 ※ App Router以前のPage Routerの内容です。 ReactRouterを使って複数ページのSSRをしている新しい日本語記事がなかったというのも記事化の理由の一つです。 この記事のソースコードはこちらです。 技術スタック フロントエンド React.js (v17) React-Router (v6) TypeScript Webpack バックエンド Express 作ったもの 初回リクエスト時 サーバーサイドレンダリング(SSR)してたHTMLをクライアントに返却。 サーバーから受け取ったHTMLにクライアントサイドでイベントリスナーを設定(hydrate) ページ遷移時 新しいページで必要な情報をクライアント側からWEB APIを叩いて取得。 ク

                  React.jsのSSRをTypeScriptで自前で実装してみた
                • [TypeScript]モノレポ管理ツール比較検討

                  モノレポ管理のツールを検討したときのメモ Background 自分が所属するチームで開発する JavaScript/TypeScript のプロダクトが増えてきて、同じような内容のリポジトリがいくつも存在している(n個とする)。 変更を加えていくにつれて、それぞれの差分が大きくなり、以下のような問題が発生する。 開発が止まっているプロジェクトの構成が古くなり、修正コストが発生する 開発が複数同時進行している場合、同じような実装を手動で同期する必要がある これらは共通の基盤等があれば効率的に(理想的にはn分の1の労力で)開発が可能であり、将来的なコストを考えると、いまのうちにその仕組みを考えておきたい。 Proposed Solutions 要件は以下 複数のパッケージをnpmとしてpublishできる アプリケーションも管理できる Nx, Rush, Lerna を主要な選択肢としている

                    [TypeScript]モノレポ管理ツール比較検討
                  • TypeScript + React: Typing Generic forwardRefs

                    Published on April 13, 2021 Stefan on Mastodon Reading time: 15 minutes More on TypeScript, React If you are creating component libraries and design systems in React, you might already have fowarded Refs to the DOM elements inside your components. This is especially useful if you wrap basic components or leafs in proxy components, but want to use the ref property just like you’re used to: const Bu

                      TypeScript + React: Typing Generic forwardRefs
                    • 【TypeScript】配列の型を絞り込むときはflatMapがおすすめ

                      こんにちは。 スペースマーケットでフロントエンドエンジニアをしているmizukiです! 今回はタイトルの通り、配列で型を絞る際にflatMapを使うのがおすすめだよ!といった話をします。 配列から特定のデータを排除する 例えば、配列からnullableな値を消したいとします。 その場合は以下のようなコードになります。 const nullableArray: Array<string | null> = ['hoge', null, 'fuga'] const array = nullableArray.filter((data) => { return !!data }) ただ、この場合だと型定義としてはnullが排除されたことを認知できず、変数arrayの型は引き続きArray<string | null>と認識されてしまいます。 isを使って型を絞り込む 先ほどの場合、期待値としては

                        【TypeScript】配列の型を絞り込むときはflatMapがおすすめ
                      • リクルート、新卒エンジニア研修資料を無料公開 JavaScriptやTypeScript、AWS研修など | Ledge.ai

                        Top > ラーニング > リクルート、新卒エンジニア研修資料を無料公開 JavaScriptやTypeScript、AWS研修など

                          リクルート、新卒エンジニア研修資料を無料公開 JavaScriptやTypeScript、AWS研修など | Ledge.ai
                        • TypeScriptではNumber.isNaN()よりもisNaN()の方が安全かもしれない

                          これまで「グローバルのisNaN()ではなくNumber.isNaN()を使え!」を教義に生きてきたのですが、揺らいできました。 JavaScriptのisNaN()は引数を数値に変換した結果がNaNであるかを判定します。 一方のNumber.isNaN()はES6で提供された関数で、引数がNaN以外の時はtrueを返しません。 console.log(isNaN('hello')); // true console.log(Number.isNaN('hello')); // false Number.isNaN()はより厳密な比較であり、キャストを行わないため余計な混乱を避けられるものとして提供されました。 文字列などを渡した場合はtrueを返さないため、Number.isNaN()に渡す時点であらかじめ数値に変換しておくなど型を意識した操作がアプリケーション側の責務として求められるよ

                            TypeScriptではNumber.isNaN()よりもisNaN()の方が安全かもしれない
                          • 【習作】TypeScriptで遺伝的アルゴリズム - Qiita

                            TypeScriptと遺伝的アルゴリズムの勉強のために、 こちらページ のプログラムをTypeScriptに書き換えてみます。 PythonにはあるけどTypescriptにはない関数なんかもあるので、そういう関数も他のサイトを参考にしつつ実装して進めます。 遺伝的アルゴリズムの解説は、参考ページや、そこにリンクのあるスライドがとても詳しいので、そちらを参照してください。 ソースコードはこちらで公開しています。 追加した算術関数 ここは本質ではないので、参考サイトのコピペで済ましています。 Sum 配列の合計を求める関数 参考サイト // 合計の算出 function sum(arr: Array<number>): number { return arr.reduce(function(prev, current, i, arr) { return prev + current; });

                              【習作】TypeScriptで遺伝的アルゴリズム - Qiita
                            • TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略

                              TSKaigi 2024 の発表資料です。 https://tskaigi.org/talks/yanaemon169 Demo 用コードはこちら https://github.com/yanaemon/nestjs-migration-example ミツモアはサービスの提供開始から、6 年以上が経ち、サービが急速に拡大してきました。 急成長の中で、古いコードが多くあり新しい構成への変革が求められていました。 その中の一つに Express + TypeScriptを用いて書かれていた Backend のコードをNest.js へ移行することを決定しましたが、 管理用の API なども数えると数百を超える API 数がありました。 全て手作業で移行をしていては膨大な時間がかかります。 そこで効率的に移行するため、TypeScript のコードを Abstract Syntax Tree

                                TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
                              • TypeScript 4.1による型レベルパーサコンビネーター

                                はじめに これはTypeScript Advent Calendarの11日目の記事です。 TS 4.1で導入されたTemplate literal typesが世間で話題ですね。 TypeScriptのTemplate string typesで湧き上がる界隈の様子 - Togetter Template String Types でパス文字列を解析してクエリする - Object.create(null) (ネタ) TypeScript 型パズルで作るmini interpreter by Yosuke Kurami TypeScriptにヤバい機能が入りそうなのでひとしきり遊んでみる - TechRacho Template titeral types で型上の簡易 Lisp パーサー - La Verda Luno Template Literal Types の基礎と .join

                                  TypeScript 4.1による型レベルパーサコンビネーター
                                • Announcing TypeScript 4.1 - TypeScript

                                  Today we’re proud to release TypeScript 4.1! If you’re unfamiliar with TypeScript, it’s a language that builds on JavaScript by adding syntax for type declarations and annotations. This syntax can be used by the TypeScript compiler to type-check our code, and then output clean readable JavaScript that runs on lots of different runtimes. Static type-checking can tell us about errors in our code bef

                                    Announcing TypeScript 4.1 - TypeScript
                                  • TypeScript 5.0 で追加された verbatimModuleSyntax とは何か?

                                    // A: そのまま残る import { Foo } from "./foo"; // B: 識別子 `Foo` が削除される import {} from "./foo"; // C: import 文ごと完全に削除される どれになるかは、以下の状態の組み合わせ依存する(他にも条件あるかも)。 そのファイルでFooが値として参照されるか、型として参照されるか、参照されないか Fooがfoo.tsで値として定義されているか、型として定義されているか tsconfig のオプション設定 importsNotUsedAsValues: 値として参照されない import 文を残すかどうか preserveValueImports: 参照されない import 識別子が値なら残す isolatedModules: ファイル単位でトランスパイルする 上記は出力するモジュール形式が ESM の場合

                                      TypeScript 5.0 で追加された verbatimModuleSyntax とは何か?
                                    • 【完全版】これ1本でTypeScriptの基本をマスターできる! - Qiita

                                      はじめに この記事はTypeScript初心者に向けて基本を一通りハンズオン形式で学べる教材となっています。 世の中にTypeScriptの教材は多くありますが、どれも文法ごとに文法紹介するためのコードを教えているだけで、学んだあと実際どのように自分のアプリに適応すべきなのかイメージがわきません。 これがTypeScriptの難しいところだと思っています。 このハンズオンではJavaScriptのアプリケーションをTypeScriptに移行しながら学んだことを活かしていくことで実践的に学ぶことが可能です。 ハンズオン動画と一緒に活用 こちらの記事をさらに活用できるハンズオン動画を用意していますのでご活用ください JavaScriptの怖い振る舞い JavaScriptはタイプセーフ機能が存在しません。 タイプセーフとは、コンパイラやランタイムがデータ型をチェックし、型が互換性のない操作に使

                                        【完全版】これ1本でTypeScriptの基本をマスターできる! - Qiita
                                      • TypeScriptMeetup#3 メルペイのTypeScript活用.pptx

                                        ログイン

                                          TypeScriptMeetup#3 メルペイのTypeScript活用.pptx
                                        • デザインからTypeScriptと仲良くなってみる。 - estie inside blog

                                          自己紹介 業務委託でestieに参画している@HirokiOmoteです。 estieでは主にデザインとFrontendを担当しています。 過去には、スタートアップの創業フェーズでプロダクトの立ち上げなども行なっていました。 そこでは、Nuxt + Firebaseを採用し、Webアプリの制作に着手。 しかし、プロダクトが成長するにつれ、コードの安全性や可読性の観点からJavaScript…動的型付け言語の限界を感じていました。 そして、静的型付け言語であるTypeScriptを採用することに。 また、Firebase Cloud Functionsを使った機能開発も行うようになり、次第にBackendもTypeScriptを使って書くようになりました。 それが、TypeScriptとの出会いです。 気づけば、すっかりその魅力に取りつかれていました。TypeScriptは楽しい。 そもそも

                                            デザインからTypeScriptと仲良くなってみる。 - estie inside blog
                                          • TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操

                                            前置き Rubyで一瞬だけ湧いて出てきて消えたPipeline風演算子については忘れてください。あれはメソッド呼び出しの演算子であって今回取り上げるPipeline operatorとは似て非なるものです。 JavaScripterでも、Ramda.jsやRxJSを普段から使っている人には既知の内容だと思うのでこの記事は読まなくて大丈夫です。 ちなみに僕のステータスは関数型にわか勢なので認識に間違いがあったらなんらかの訂正もらえるとうれしいです。 Pipeline operatorとは 古くはML系の言語で定義されてF#やElixirの流行で一般に有名になった演算子こと |> です。 f a を a |> f と書けるようになります。 詳しくはこちらで: https://mametter.hatenablog.com/entry/2019/06/15/192311 覚えた方がいい理由 Ty

                                              TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操
                                            • TypeScript 製のフレームワーク FoalTS を使ってみる - Qiita

                                              FoalTS とは TypeScript で作られている Express ベースのウェブアプリケーションフレームワークです。 多くの Node 向けフレームワークはマイクロフレームワークで、気軽に始めるのはいいのですが、ちょっと込み入ったアプリにしようと思った時にあまりに自由度が高いので意外と開発が難しくなる傾向がありますよね。 その点、FoalTS は軽量なスタートから、堅牢なアプリケーションを開発するために必要な基本的な機能を提供してくれるフルスタックフレームワークとしても使える (とドキュメントには書いてある) ということなので、サーバーサイドを Node で運用したいときに Express に代表されるようなマイクロフレームワーク以外の選択肢として結構良いかもしれないと思い、少し試してみることにしました。 プロジェクトを作る 多くのフレームワークと同じく、プロジェクトを作成したりで

                                                TypeScript 製のフレームワーク FoalTS を使ってみる - Qiita
                                              • BacklogのGitにCI/CDを導入する方法(AWS CodePipeline & TypeScript編)

                                                はじめにソースコードの管理にBacklogのGitリポジトリ、CI/CDにAWS CodePipelineを用いたかったのですが、CodePipelineの送信元にBacklogは指定出来ません。なの...

                                                  BacklogのGitにCI/CDを導入する方法(AWS CodePipeline & TypeScript編) 
                                                • TypeScript の型定義ファイルの探索アルゴリズム - 30歳からのプログラミング

                                                  npm パッケージは基本的に、JavaScript ファイルで配布されている。TypeScript で開発しているパッケージであっても、JavaScript にビルドしたものを配布している。 そのため、型定義ファイルによって型付けしないと、インポートした際にモジュール全体がanyになってしまう。 これでは型システムの恩恵を受けることができないし、noImplicitAnyフラグをfalseにしていない場合はコンパイルエラーになってしまう。 npm パッケージをインポートした際、TypeScript は自動的に型定義ファイルを探索し、最初に見つかったものを使用する。 また、プロジェクト内にある JavaScript ファイルをインポートした際も、型定義ファイルの探索が行われる。 この記事では、TypeScript がどのように型定義ファイルを探索するのか、実際に検証して確認していく。 動作確

                                                    TypeScript の型定義ファイルの探索アルゴリズム - 30歳からのプログラミング
                                                  • 両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~

                                                    IntelliJ IDEA を知らなかった 自分に教えたい小ネタ集 / IntelliJ IDEA Hints for My Past Self

                                                      両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
                                                    • TypeScript 4.9のas const satisfiesが便利。型チェックとwidening防止を同時に行う

                                                      TypeScript 4.9 から、satisfies operator が使えるようになりました。従来のas constと組み合わせ、型チェックと widening 防止を同時に行えます。筆者的には、"顧客が本当に必要だったもの"です。 本記事では satisfies とは何か? as const とは何か? 2つを組合わせるとどのようなメリットがあるのか? について、実際のコードと共に解説します。 結論 TypeScriptで 定数を export する場合は、as const satisfies を設定しておくと便利です。 export const myName = "田中" as const satisfies string; export const foodList = { ramen: "ラーメン", udon: "うどん", soba: "そば" } as const sa

                                                        TypeScript 4.9のas const satisfiesが便利。型チェックとwidening防止を同時に行う
                                                      • Open API × Rails × TypeScriptでのスキーマ駆動開発|Offers Tech Blog

                                                        プロダクト開発人材の副業転職プラットフォーム Offers を開発している、株式会社 overflow にて EM をやっております磯崎と申します。 日々プロダクトを開発している中で、様々な格闘があるかと思いますが、その中でも大分格闘してきた Open API を用いたスキーマ駆動開発について今回は書いてます。 この構成で運用してよかったと今のところは思ってますが、色々面倒な事や落とし穴にも直面してきました。自分たちの中に溜まっている知識を書き記していくのでどこかでお役に立てればハッピーです ☺️ 最初に API を定義、その後開発を進めていくスキーマ駆動開発 そもそもスキーマ駆動開発とは、はじめに API を定義し、それを元にフロントエンド・バックエンドと開発を同時に進めていく開発フローです。 フロント実装においては通信部分で、「何を送信すべきか」、「何が返ってくるのか」を予め決まった状

                                                          Open API × Rails × TypeScriptでのスキーマ駆動開発|Offers Tech Blog
                                                        • OpenAPI Generator + TypeScript で始める自動生成の型に守られた豊かなクライアント生活 | GiFT(ギフト)株式会社

                                                          OpenAPI Generator + TypeScript で始める自動生成の型に守られた豊かなクライアント生活2020.02.28 OpenAPIをドキュメントだけでなく、Schema firstな開発に利用しようということで、TypeScript + OpenAPI Generatorでフロントエンドの開発をしました。 Vue, Nuxtで使う際の例と共にその内容を紹介します。 目次OpenAPIでドキュメントを書くメリットなどOpenAPI GeneratorでClient情報を吐き出すVue, Nuxtで利用するAPIの変更に追従しやすく、型もあるし幸せOpenAPIでドキュメントを書くメリットなど弊社では以下のブログでも書いているように、API仕様のドキュメント化にOpenAPIを活用しています。 committee×OpenAPI×RailsでスキーマファーストなAPI開発O

                                                            OpenAPI Generator + TypeScript で始める自動生成の型に守られた豊かなクライアント生活 | GiFT(ギフト)株式会社
                                                          • GitHub - google/intermock: Mocking library to create mock objects with fake data for TypeScript interfaces

                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                              GitHub - google/intermock: Mocking library to create mock objects with fake data for TypeScript interfaces
                                                            • JavaScript、TypeScriptなどで使われるコードフォーマッター 「Prettierさまに従って生きていれば楽」ではない3つのケース

                                                              「東京Node学園」は、Node.js日本ユーザグループ主催のNode.js勉強会です。36時限目の今回は、オンラインで開催されました。suzuki氏は、Node.js上で動作するコードフォーマッターであるPrettierに従わなくてよいケースについて発表しました。 「従われている」傾向があるPrettier sosukesuzuki氏(以下、suzuki):「Prettierに従わなくてもいい場合」を話します。 suzukiといいます。筑波大学の情報科学類で学生をしていたり、サイボウズ株式会社というところで働いていたり、OSSだとPrettier Core Teamでメンテナンス全般をやっていたり、Babel TeamというところでBabelのパーサー周りを見ていたりします。 Prettier、Node.jsをよく使う人ならたぶん使ったことがあると思うのですが、Prettierは、Opi

                                                                JavaScript、TypeScriptなどで使われるコードフォーマッター 「Prettierさまに従って生きていれば楽」ではない3つのケース
                                                              • 【感想】『りあクト! TypeScriptで始めるつらくないReact開発 第3.1版』【Ⅲ. React応用編】: #りあクト でよりディープにReact入門 - Rのつく財団入り口

                                                                りあクト! 技術同人誌のりあクト!、【Ⅲ. React応用編】の読書記録と感想です。 りあクト! 【Ⅲ. React応用編】 第10章 React におけるルーティング 第11章 Redux でグローバルな状態を扱う 第12章 React は非同期処理とどう戦ってきたか 第13章 Suspense でデータ取得の宣言的 UI を実現する まとめ:IIIでさらにディープにReactの神髄に触れられる本 関係書籍など oukayuka.booth.pm 【Ⅲ. React応用編】 大変革であるReact Hooks登場を受けて第3部では副作用処理をテーマとし、公式でもこれからリリースでまだ実験的な機能のSuspenseを扱った応用編の話となっています。 りあクト!【Ⅲ. React応用編】 第10章 React におけるルーティング 10-1. SPA におけるルーティングとは サーバーサイド

                                                                  【感想】『りあクト! TypeScriptで始めるつらくないReact開発 第3.1版』【Ⅲ. React応用編】: #りあクト でよりディープにReact入門 - Rのつく財団入り口
                                                                • 『実践TypeScript』の著者・吉井健文が考えるTypeScriptの魅力と可能性 | Offers Magazine

                                                                  「Offersエージェント」では、業界で活躍するプロフェッショナルがあなたの転職を徹底サポート。CxO経験者を含む現役エンジニア・デザイナー・プロダクトマネージャーが在籍し、職種に特化した専門的なアドバイスをご提供・非公開求人の紹介も可能です。 →【かんたん30秒】無料登録で転職相談する エンジニアになる前はデザイナーとして活動されていたという話を伺いました。どうしてエンジニアになろうと思ったのでしょうか? デザイナーといってもすごく昔の話なんですけど、僕が仕事を始めたときはFlash全盛期で。Webサイトをデザインしてコーディングするまで一貫して請けるのは、珍しいことではありませんでした。後からコードも書けるようになったものの、どっちつかずなスキルセットが腑に落ちず、どちらかのスキルに尖っていきたいと思うようになったからなんです。 それでエンジニアになったと。なんとなくイメージが湧きまし

                                                                    『実践TypeScript』の著者・吉井健文が考えるTypeScriptの魅力と可能性 | Offers Magazine
                                                                  • TypeScriptのユニオン型で「あるかもしれない」プロパティを表現するときのTips - uhyo/blog

                                                                    TypeScriptのユニオン型はとても強力な機能で、TypeScriptのコードベースでは広く利用されています。 例えば、次のようにすると「fooプロパティを持つオブジェクトまたはbarプロパティを持つオブジェクト」という型を表現できます。 type FooObj = { foo: string }; type BarObj = { bar: number }; type FooOrBar = FooObj | BarObj; const fooObj: FooOrBar = { foo: "uhyohyo" }; const barObj: FooOrBar = { bar: 1234 };無いかもしれないプロパティ上のFooOrBar型を持つオブジェクトは、fooプロパティを持つ(FooObj)かもしれないし持たない(BarObj)かもしれません。 これはbarも同じで、つまり「ある

                                                                      TypeScriptのユニオン型で「あるかもしれない」プロパティを表現するときのTips - uhyo/blog
                                                                    • TypescriptとReact HooksでReduxはもうしんどくない - Qiita

                                                                      🏔背景 Reduxはしんどい、だるい、でかい、というイメージが定着して久しいですね 😭 僕も3年ほど前にどっぷり触ったときは「こいつぁなかなか」という感想でした。 しかしながら状態管理ライブラリやらFlux思想やらの流れとしてReduxが不可避の存在だったために、おつらい経験をされた方も多かったのかなとお察しします。 時代は巡り2019年末、令和元年のご時世ではすっかりTypescriptによる型安全、正式提供されたReact Hooksによる脱Class component・HOCフリーな省エネ設計などが定着してきており、この両者を前提とした構築がもはやスタンダードとなってきています。 諸兄の人柱的知見も相まって最近は敬遠されがちなReduxパイセンですが、この度久方ぶりにがっつりと向き合ってみると、上述した両者の恩恵を受けてなんだか垢抜けた感じになっていました。知ってましたか?

                                                                        TypescriptとReact HooksでReduxはもうしんどくない - Qiita
                                                                      • 8年運用したJavaScriptでの開発を段階的にTypeScript移行していくためにやっていること | CyberAgent Developers Blog

                                                                        CyberAgent Developers Advent Calendar 2021 – Adventar 16日目の記事です。 マッチングアプリ「タップル」のバックエンド開発を担当している上村です。 タップルで現在進行中のTypeScript移行について、取り組む事を決めたモチベーション、移行の進め方について紹介します。 目次 TypeScriptとは 開発現場の背景 なぜ今までTypeScript移行が進められなかったのか? なぜTypeScriptへの移行を決断したか? TypeScript移行を進めるにあたっての課題 TypeScript移行の方針 タップルでのTypeScript移行の実際の勧め方 実際にTypeScript移行を進めてみた結果 TypeScriptとは 公式サイトに「TypeScript is JavaScript with syntax for types.」

                                                                          8年運用したJavaScriptでの開発を段階的にTypeScript移行していくためにやっていること | CyberAgent Developers Blog
                                                                        • TypeScriptのunion型はorです 〜union型、構造的部分型、余剰プロパティチェックの話〜 - Qiita

                                                                          TypeScriptのunion型はorです 〜union型、構造的部分型、余剰プロパティチェックの話〜TypeScript 先日、「TypeScriptのunion型はorではない」とする以下の記事が公開されました。 TypeScript の共用体型(Union Types)は or ではない 残念ながら筆者はこの主張に同意できないので、この記事では上記の記事に含まれる問題点を指摘しつつ、正しい結論を導きます。 この記事の目的はあくまで正しい情報を皆さまに届けることであり、上記の記事(以下では「元記事」と呼びます)の筆者を攻撃する意図は無いことをご理解ください。 では、元記事からコードを引用しながら何がまずいのかを見ていきましょう。 元記事の主張 元記事の最初のコードを引用します。

                                                                            TypeScriptのunion型はorです 〜union型、構造的部分型、余剰プロパティチェックの話〜 - Qiita
                                                                          • TSKaigiは配信画面もTypeScript製だったという話

                                                                            はじめに 先日開催されたTSKaigi 2024にて配信チームとして、オンライン配信のスタッフをしていました。 当日の各トラックの配信運営や総合的な環境構築などは他のメンバーを中心に行っていただきましたが、自分は配信画面のデザインや配信に乗せる情報管理用のシステムをコツコツ作っていたのでその紹介をさせていただきます。 情報管理用のシステムといってもローカルマシン上で動く簡単なもので、NodeCGと呼ばれるNode.js向けの配信画面管理用のフレームワークを利用しました。 NodeCGとは NodeCGは先ほど紹介したようにNode.jsとブラウザ技術で動的な配信画面を作成したり、管理画面を提供してくれるフレームワークです。 配信レイアウトとダッシュボードはブラウザ上で動作し、ダッシュボードで編集した情報を配信レイアウト側にWebSocketでリアルタイムに反映したり、WebSocketサー

                                                                              TSKaigiは配信画面もTypeScript製だったという話
                                                                            • TypeScriptの型ガードをちゃんと使おう

                                                                              はじめに みなさんは、型ガードを有効活用できていますか?もしかしたら、型ガードを利用せずに type assertion で、 never型 や unknown型 を無理やり割り当てて解決してないでしょうか? 今回は、みなさんもぜひ型ガードを有効に利用して、型安全なTypeScriptコーディングができればなあと思い本記事を書いていきます。 TypeScriptの型ガード(Type Guard)について Type Guardを使用すると、条件ブロック内のオブジェクトの型を制限することができます。 これだけ言われてもどう使うかはあまりわからないですね。 具体例を下記にコードで示していきます。 type DogBreed = 'Shiba Inu' | 'Golden retriever' | 'Chihuahua' type Dog = { readonly dogBreed: DogBre

                                                                                TypeScriptの型ガードをちゃんと使おう
                                                                              • 「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース

                                                                                「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース 静的サイトジェネレータAstro用のデータベースサービス「Astro DB」が登場しました。 簡単にAstroに組み込むことが可能で、Astroのバックエンドデータベースとして、例えばフォームやコメントのデータの入出力、ユーザー認証などに利用可能です。 Introducing: Astro DB Add a hosted database to any Astro project in seconds. Includes a TypeScript ORM, schema manager, and automatic migrations out-of-the-box. Try it today! Every database comes with a generou

                                                                                  「Astro DB」登場。LibSQLベース、TypeScript ORM搭載、1GBまで無料。静的サイト生成用データベース
                                                                                • packelyze - お前の TypeScript はもっと小さくなる

                                                                                  TypeScriptの型定義ファイルから積極的な圧縮を行うための @mizchi/optools をリリースした。まだ実験中だが、結構動くはず。使う場合は自己責任で。 追記: optools を packelyze に rename した。これは optools という CLI 名が ImageMagick の提供するコマンドとぶつかったため。 試行錯誤の過程は https://zenn.dev/mizchi/scraps/1bdf01f5efb147 にある。 このライブラリは、自分の所属する Plaid の業務時間中に作成した。 想定ユーザー ライブラリ作者 ビルドサイズ厳しいフロントエンド開発者(サードパーティスクリプト等。自分が業務で作った理由がここ) リスクとってでもビルドサイズを縮めたいフロントエンド作者 動機 世の中な TypeScript で書かれたコードは、その型情報を使

                                                                                    packelyze - お前の TypeScript はもっと小さくなる