本文へ移動
cccskills
無料GitHub で公開

dzero-js

D-ZERO の JavaScript/TypeScript コーディング規約。JS/TS を書く・編集する・レビューするときに使う。イベント処理、DOM 操作、状態変更、ライブラリ追加、スクリプト読み込みに適用する。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

JavaScript コーディング規約

実装レイヤー選定(dzero-tech-selection)を経ていない場合は先にそちらを読むこと。HTML だけで実現できるものは JavaScript で実装しない。 詳細は JavaScript ガイドライン を参照。

実装規範

モジュール設計

  • 目的や機能ごとにファイルを分割する
  • 実行タイミングをコントロールできるよう、ひとつの関数にまとめて export する(定数の export は可)
  • import した時点でブラウザや DOM に影響する処理が走る実装(import 副作用)を避ける。import 後に任意に実行できる状態にする
  • type="module" 環境のためファイル参照に拡張子は必須。TypeScript ファイルの参照は .ts を .js に変えて書く。__assets/_libs はエイリアス @ で参照する

DOM・スタイル操作

  • style 属性のプロパティを直接書き換えない。状態の変更は、その状態を表す data-* 属性の変更で行い、スタイルは CSS 側で管理する(JS はロジックと管理に徹する)
  • 動的な値を反映する場合はカスタムプロパティを使う(el.style.setProperty('--block-size', ...))
  • インタラクションの呼び出しは command 属性を基本とし、規定にないアクションやフックは command イベント(e.command / e.source)で実装する。[commandfor] の要素に直接イベントリスナを張るような、意図と振る舞いの関連が不明確な実装は避ける

パフォーマンス

  • 頻発するイベント・タイマー(scroll / resize / mousemove / touchmove / wheel / setTimeout / setInterval)での監視は避け、代替 API を使う:
    • ビューポート進入の検知 → IntersectionObserver
    • 要素サイズ変更の検知 → ResizeObserver
    • ウィンドウ幅・メディアクエリ状態 → window.matchMedia
  • イベントリスナには Passive Event Listener({ passive: true })を利用する
  • 同一フレーム内で複数回走りうる処理は requestAnimationFrame(+ cancelAnimationFrame)で間引く
  • 同じ戻り値を期待できる処理(セレクタクエリ等)は変数化して繰り返さない

ライブラリ

  • 許可リスト: core-js、@oddbird/popover-polyfill、invokers-polyfill、what-input、jQuery、Splide。リスト外のライブラリは必ず相談する
  • 信頼性(継続的な保守運用が可能か)を十分に検証する
  • yarn で NPM からインストールして import で利用するのが基本。package.json と yarn.lock の変更はコミットする
  • CDN から直接参照しない。外部ファイルとして読み込む必要がある場合はダウンロードして同じサーバーにセルフホストする

読み込み

  • script 要素には type="module" が必要。基本は import を利用し、script 要素での直接読み込みは例外(依存順に注意)
  • インライン JavaScript が許されるのは、タグマネージャー・トラッキング・SNS 埋め込み・そのページ限定と保証されたコードのみ。書く場合は <script type="module">(タグマネージャー等は加工せずそのまま貼る)

lint

  • リントエラー(ESLint / Prettier)は例外なく必ず修正する。eslint-disable で逃げず、ルールが現状にそぐわない場合は Config ファイルの変更を提案する

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

dzero-a11y

無料日本語概要

D-ZERO のアクセシビリティ規約。マークアップやインタラクションの実装・変更・レビューで、WAI-ARIA、代替テキスト(alt)、ランドマーク、見出し、キーボード操作、フォーカスを扱うときに使う。

d-zero-dev/frontend-guidelines202026年10月9日 更新

dzero-css

無料日本語概要

D-ZERO の CSS コーディング規約。CSS を書く・編集する・レビューするときに使う。コンポーネントのスタイル、レイアウト、レスポンシブ、カスタムプロパティ、セレクタ設計に適用する。

d-zero-dev/frontend-guidelines202026年10月9日 更新

dzero-design-to-code

無料日本語概要

デザインデータ(Figma などのデザインカンプ)を参照してコーディングするときの解釈原則とアセットの扱い。Figma の URL・MCP・デザイン画像・カンプをもとに実装や修正をするときに必ず使う。

d-zero-dev/frontend-guidelines202026年10月9日 更新

dzero-html

無料日本語概要

D-ZERO の HTML/Pug マークアップ規約。HTML や Pug を書く・編集する・レビューするときに使う。コンポーネント設計、クラス命名、文書構造、画像、リンク、メタ情報に適用する。

d-zero-dev/frontend-guidelines202026年10月9日 更新

dzero-review

無料日本語概要

フロントエンド実装のコードレビューを実施する。PR レビュー、コードレビュー、実装チェック、品質確認を依頼されたときに使う。実装レイヤー選定の妥当性から各技術軸の観点まで順に検査する。

d-zero-dev/frontend-guidelines202026年10月9日 更新

dzero-tech-selection

無料日本語概要

UI・機能・コンポーネントの実装レイヤー(HTML/CSS/JavaScript)を決定する判断基準。実装・修正の着手前に必ず読む。アコーディオン、モーダル、ポップオーバー、開閉・切替などのインタラクション実装を依頼されたときに使う。

d-zero-dev/frontend-guidelines202026年10月9日 更新

d-zero-dev のスキルをすべて見る

このスキルの問題を報告する