Skip to content

Commit

Permalink
Merge branch 'master' into feature/804
Browse files Browse the repository at this point in the history
  • Loading branch information
yo-goto committed Jan 20, 2024
2 parents 6614d18 + abc1eda commit e75c848
Show file tree
Hide file tree
Showing 17 changed files with 265 additions and 49 deletions.
9 changes: 9 additions & 0 deletions .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'Setup Node'
description: 'Set up GitHub Actions workflow with a specific version of node.js'

runs:
using: 'composite'
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
5 changes: 2 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Setup Node
uses: "./.github/actions/setup-node"
- run: yarn --frozen-lockfile
- run: yarn build
5 changes: 2 additions & 3 deletions .github/workflows/jest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Setup Node
uses: "./.github/actions/setup-node"
- run: yarn --frozen-lockfile
- run: yarn test
5 changes: 2 additions & 3 deletions .github/workflows/markdownlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Setup Node
uses: "./.github/actions/setup-node"
- run: yarn --frozen-lockfile
- run: yarn markdownlint
5 changes: 2 additions & 3 deletions .github/workflows/prettier.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Setup Node
uses: "./.github/actions/setup-node"
- run: yarn --frozen-lockfile
- run: yarn prettier
5 changes: 2 additions & 3 deletions .github/workflows/tsc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 18
- name: Setup Node
uses: "./.github/actions/setup-node"
- run: yarn --frozen-lockfile
- run: yarn typecheck
3 changes: 2 additions & 1 deletion docs/reference/builtin-api/map.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,12 @@ console.log(map);

```js twoslash
// JavaScript
// @noErrors

console.log({} == {});
// @log: false
console.log({} === {});
// @log: false
// @noErrors
```

```ts twoslash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ interface Butterfly {

インターフェースと型エイリアスのどちらでも型を定義することができますが、拡張性やMapped Typesの利用可否といった点で異なる部分が存在するので、これらのメリット・デメリットを考慮してプロジェクト内でルールを決めてそれに遵守するようにしましょう。

参考例として、Googleが公開しているTypeScriptのスタイルガイドの[型エイリアスvsインターフェス](https://google.github.io/styleguide/tsguide.html#interfaces-vs-type-aliases)の項目では、プリミティブな値やユニオン型やタプルの型定義をする場合は型エイリアスを利用し、オブジェクトの型を定義する場合はインターフェースを使うことを推奨しています。
参考例として、Googleが公開しているTypeScriptのスタイルガイドの[型エイリアスvsインターフェース](https://google.github.io/styleguide/tsguide.html#interfaces-vs-type-aliases)の項目では、プリミティブな値やユニオン型やタプルの型定義をする場合は型エイリアスを利用し、オブジェクトの型を定義する場合はインターフェースを使うことを推奨しています。

インターフェースと型エイリアスの使い分けに悩む場面が多く開発スピードが落ちてしまうのであれば、型エイリアスに統一して書く方針にする考え方もあります。

Expand Down
235 changes: 235 additions & 0 deletions docs/reference/tsconfig/option-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
---
description: TSConfigのオプション一覧
---

# オプションの一覧

最新の情報は[TypeScriptのTSConfigリファレンス](https://www.typescriptlang.org/ja/tsconfig)もご参照ください。

## ルートオプション

TSConfigのルートのオプションです。これらは、型チェックを対象とするファイルなどのプロジェクト全体に関する設定です。

| オプション名 | 追加されたバージョン |
| ------------ | -------------------- |
| files | - |
| extends | 2.1 |
| include | 2.0 |
| exclude | - |
| references | - |

## 型チェック

型チェックに関する設定です。

| オプション名 | 追加されたバージョン |
| ----------------------------------------------------------------------------- | -------------------- |
| allowUnreachableCode | 1.8 |
| allowUnusedLabels | 1.8 |
| [alwaysStrict](./alwaysstrict.md) | 2.1 |
| [exactOptionalPropertyTypes](./exactoptionalpropertytypes.md) | 4.4 |
| [noFallthroughCasesInSwitch](./nofallthroughcasesinswitch.md) | 1.8 |
| [noimplicitany](./noimplicitany.md) | - |
| [noimplicitoverride](./noimplicitoverride.md) | 4.3 |
| [noImplicitReturns](./noimplicitreturns.md) | 1.8 |
| [noimplicitthis](./noimplicitthis.md) | 2.0 |
| [nopropertyaccessfromindexsignature](./nopropertyaccessfromindexsignature.md) | 4.2 |
| [nouncheckedindexedaccess](./nouncheckedindexedaccess.md) | 4.1 |
| [nounusedlocals](./nounusedlocals.md) | 2.0 |
| [nounusedparameters](./nounusedparameters.md) | 2.0 |
| [strict](./strict.md) | 2.3 |
| [strictbindcallapply](./strictbindcallapply.md) | 3.2 |
| [strictfunctiontypes](./strictfunctiontypes.md) | 2.6 |
| [strictnullchecks](./strictnullchecks.md) | 2.0 |
| [strictpropertyinitialization](./strictpropertyinitialization.md) | 2.7 |
| [useunknownincatchvariables](./useunknownincatchvariables.md) | 4.4 |

## モジュール解決

TypeScriptコンパイラーのモジュール解決に関する設定です。

| オプション名 | 追加されたバージョン |
| -------------------------- | -------------------- |
| allowArbitraryExtensions | - |
| allowImportingTsExtensions | - |
| allowUmdGlobalAccess | 3.5 |
| baseUrl | - |
| customConditions | - |
| module | 1.0 |
| moduleResolution | - |
| moduleSuffixes | 4.7 |
| noResolve | - |
| paths | - |
| resolveJsonModule | - |
| resolvePackageJsonExports | - |
| resolvePackageJsonImports | - |
| rootDir | 1.5 |
| rootDirs | 2.0 |
| typeRoots | - |
| types | - |

## 型定義ファイル・JavaScriptファイルの出力

型定義ファイルやJavaScriptファイルをどのように出力するかの設定です。

| オプション名 | 追加されたバージョン |
| ---------------------- | -------------------- |
| declaration | 1.0 |
| declarationDir | 2.0 |
| declarationMap | 2.9 |
| downlevelIteration | 2.3 |
| emitBOM | - |
| emitDeclarationOnly | 2.8 |
| importHelpers | - |
| importsNotUsedAsValues | 3.8 |
| inlineSourceMap | 1.5 |
| inlineSources | 1.5 |
| mapRoot | - |
| newLine | 1.5 |
| noEmit | - |
| noEmitHelpers | 1.5 |
| noEmitOnError | 1.4 |
| outDir | - |
| outFile | 1.0 |
| preserveConstEnums | - |
| preserveValueImports | 4.5 |
| removeComments | - |
| sourceMap | - |
| sourceRoot | - |
| stripInternal | - |

## JavaScriptのサポート

生のJavaScriptの取り扱いに関する設定です。

| オプション名 | 追加されたバージョン |
| -------------------- | -------------------- |
| allowJs | 1.8 |
| checkJs | 2.3 |
| maxNodeModuleJsDepth | - |

## エディターサポート

エディター上でのTypeScriptの挙動の設定です。

| オプション名 | 追加されたバージョン |
| ---------------- | -------------------- |
| disableSizeLimit | - |
| plugins | - |

## 相互運用性の成約

ESModuleとCommonJS間の相互運用や異なるファイルシステムでの開発を想定したファイルの大文字小文字の区別など相互運用性に関する設定です。

| オプション名 | 追加されたバージョン |
| --------------------------------------- | -------------------- |
| allowSyntheticDefaultImports | 1.8 |
| esModuleInterop | 2.7 |
| forceConsistentCasingInFileNames | - |
| [isolatedModules](./isolatedModules.md) | 1.5 |
| preserveSymlinks | - |
| verbatimModuleSyntax | - |

## 下位互換性のサポート

TypeScriptの下位バージョンをサポートするための設定です。

| オプション名 | 追加されたバージョン |
| ------------------------------ | -------------------- |
| charset | - |
| keyofStringsOnly | 2.9 |
| noImplicitUseStrict | - |
| noStrictGenericChecks | 2.4 |
| out | - |
| suppressExcessPropertyErrors | - |
| suppressImplicitAnyIndexErrors | - |

## 言語と環境設定

デコレーターなどの実験的な言語機能やJSX構文に関する設定です。

| オプション名 | 追加されたバージョン |
| ----------------------- | -------------------- |
| emitDecoratorMetadata | - |
| experimentalDecorators | - |
| jsx | 2.2 |
| jsxFactory | - |
| jsxFragmentFactory | 4.0 |
| jsxImportSource | 4.1 |
| lib | 2.0 |
| moduleDetection | 4.7 |
| noLib | - |
| reactNamespace | - |
| target | 1.0 |
| useDefineForClassFields | 3.7 |

## コンパイラの診断情報

コンパイルのプロファイリングなどのコンパイラの診断情報に関する設定です

| オプション名 | 追加されたバージョン |
| ------------------- | -------------------- |
| diagnostics | - |
| explainFiles | 4.2 |
| extendedDiagnostics | - |
| generateCpuProfile | 3.7 |
| listEmittedFiles | - |
| listFiles | - |
| traceResolution | 2.0 |

## プロジェクト

TypeScriptのProject Referencesに関する設定です。

| オプション名 | 追加されたバージョン |
| --------------------------------------- | -------------------- |
| composite | 3.0 |
| disableReferencedProjectLoad | 4.0 |
| disableSolutionSearching | 3.8 |
| disableSourceOfProjectReferenceRedirect | 3.7 |
| incremental | 3.4 |
| tsBuildInfoFile | 3.4 |

## 出力フォーマット

出力フォーマットに関する設定です。

| オプション名 | 追加されたバージョン |
| ------------------- | -------------------- |
| noErrorTruncation | - |
| preserveWatchOutput | - |
| pretty | - |

## 型チェックの完全性

型チェックの厳密性に関する設定です。

| オプション名 | 追加されたバージョン |
| ------------------- | -------------------- |
| skipDefaultLibCheck | - |
| skipLibCheck | 2.0 |

## ファイル監視

ファイルの監視に関する設定です。

| オプション名 | 追加されたバージョン |
| ----------------------------------------- | -------------------- |
| assumeChangesOnlyAffectDirectDependencies | 3.8 |
| watchFile | 3.8 |
| watchDirectory | 3.8 |
| fallbackPolling | 3.8 |
| synchronousWatchDirectory | - |
| excludeDirectories | - |
| excludeFiles | - |

## 型の取得

JavaScriptプロジェクトでの型のダウンロードに関する設定です。

| オプション名 | 追加されたバージョン |
| ----------------------------------- | -------------------- |
| enable | - |
| include | - |
| exclude | - |
| disableFilenameBasedTypeAcquisition | 4.1 |
7 changes: 1 addition & 6 deletions docs/reference/values-types-variables/bigint.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
---
sidebar_label: bigint型
title: bigint型(長整数型)
---

<!-- textlint-disable prh -->

# bigint型(長整数型)

<!-- textlint-enable prh -->

JavaScriptのbigint型は、number型よりも大きな整数を扱えるプリミティブ型です。

## bigint型リテラル
Expand Down
7 changes: 1 addition & 6 deletions docs/reference/values-types-variables/boolean.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
---
sidebar_label: boolean型
title: boolean型 (論理型)
---

<!-- textlint-disable prh -->

# boolean型 (論理型)

<!-- textlint-enable prh -->

JavaScriptのboolean型は、`true``false`の論理値からなる型です。

## boolean型リテラル
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/values-types-variables/equality.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ object型は、同じプロパティと値のペアの比較をしても、ま

```js twoslash
// JavaScript
// @noErrors

console.log({} == {});
// @log: false
Expand All @@ -122,6 +121,7 @@ console.log({ equipment: "glasses" } === { equipment: "glasses" });
const obj = { hair: "blond" };
console.log(obj === obj);
// @log: true
// @noErrors
```

## まとめ
7 changes: 1 addition & 6 deletions docs/reference/values-types-variables/number/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
---
sidebar_label: number型
slug: /reference/values-types-variables/number
title: number型 (数値型)
---

<!-- textlint-disable prh -->

# number型 (数値型)

<!-- textlint-enable prh -->

JavaScriptのnumber型は、1や-1などの整数と0.1などの小数を含めた数値の型です。PHPなどの言語では、数値について整数を表す型(int)と小数を表す型(floatやdouble)の2つの型を持ちます。Javaなどの言語では、整数型をさらに32ビットと64ビットに細分化する言語もあります。JavaScriptには、整数と小数を型レベルで区別するものはありません。どちらもnumber型で表現します。

## 数値リテラル
Expand Down
Loading

0 comments on commit e75c848

Please sign in to comment.