Contenu connexe Similaire à Drupal 8 における TypeScript を使用する JavaScript 開発の現状 (20) Drupal 8 における TypeScript を使用する JavaScript 開発の現状3. Drupal 8 とTypeScript
DrupalCon Barcelona (2015)で発表があった
TypeScriptize your next D8 site
テーマで使用するJavaScriptをTypeScriptで作成する内容
ES class などモダンな構文を使用して変換などの紹介
これ以外にもDrupal 8 向けのTypeScript 型定義のプロジェクトが
存在
4. Drupal 8 向けのTypeScript 型定義
TypeScript definitions というプロジェクトが存在
リリースされていないため、ダウンロードは不可
URL はhttps://www.drupal.org/project/typings
6. TypeScript definitions のpackage.json
npm の依存関係は以下の通り
TypeScript がちょっと古い(現在は2.1.5)
typings を使ってライブラリの型制約を得る辺りが懐かしい
{
"devDependencies": {
"minimatch": "^3.0.2",
"tslint": "^3.8.0",
"tslint-config-typings": "^0.2.3",
"typescript": "^1.8.10",
"typings": "^1.3.1"
}
}
10. ESLint による修正の例
eslint --fix ./js/hogehoge/**.js でlint 時に修正
インデントの間違いなどは自動で修正
下記のように修正しきることは難しい( == を変換できない)
drupal.org に公開しない場所でしか使い道がなさそう
> tstest@1.0.0 eslintfix /Users/TKonda/Documents/jsapps/hoge/ts
> eslint --fix ./out/test3.js
/Users/TKonda/Documents/jsapps/hoge/tstest/out/test3.js
6:27 error Expected '===' and instead saw '==' eqeqeq
7:3 error Unexpected console statement no-console
✖ 2 problems (2 errors, 0 warnings)
12. まとめ
Drupal 8 へTypeScript の型制約を付けるプロジェクトは存在
drupal.org よりnpm にある方が有用と思われる
TypeScript を用いて公開プロジェクトのソースを書くのは厳しい
コーディング規約に合致させる難易度が大
コーディング規約に関しては、ES の最新版で書いたJS も同様
ブラウザサポートしんどそう
公開しないならTypeScript とかES の最新版も使用可能
今後Drupal JavaScript コーディング規約の変更希望
#2809281 や#2809735 を見ると希望あり