Open7

この世からボイラープレートを滅ぼしたい (目指す世界はゼロコンフィグ)

ピン留めされたアイテム
erukitierukiti

現実

  1. 〇〇をセットアップするためにぐぐる、xxを△△に書き換えて叩く。エラーが出る。ぐぐる。叩く。ぐぐる
  2. プロジェクトディレクトリでVSCodeを開く。いつもの設定と違いすぎるから npm をインストールしまくる。設定をどっかからコピペしまくる
  3. 動くようになる
  4. 足りない(よくあるのはTypeScript, eslint, prettier, CSS関連、あるいは特殊なコンポーネント)。仕方ないから npm 探す。npm の使い方を勉強する。時間がかかりすぎてもうエネルギーが付きてきている
  5. デプロイその他全域を考えると、足りないことだらけだし、コードもまだほとんどかけてない

お前は寿司も作ることできない。誰もお前を愛さない

この現実を変えたい

erukitierukiti

何かプロジェクトを始めるときにボイラープレートを生成するコードを叩いて、いくつかのディレクトリとファイルが作成される。たいていそれらは魔法のおまじないとなり、プロジェクトの時の流れで忘れ去れホコリをかぶり、いつの間にかそれは割れ窓を呼び寄せている。

  1. JavaScript 界隈では少しずつゼロコンフィグが実現されているが、それでもまだまだ不完全
  2. AST合成あたらり前なんだから、ボイラープレートの概念そのものがいらんやろ

ということで、本来目指すべき理想の世界は、ボイラープレートのない世界だ

erukitierukiti

設定ファイルを滅ぼしたいとき、一つの考え方は設定ファイルを隠蔽することだ。

  1. 次善策といえるが project.conig.js のようなファイルも最近では pacage.json 内に定義できることも増えた。
  2. そもそもあるツールを初期化するコードに設定ファイルを渡す箇所があればそこで設定を隠蔽できる
  3. どうしても駄目な場合はどうしても駄目なツールをwrapper かいてしまうか別の hack を考えよう
erukitierukiti

プロジェクトを設定する手順も0か、最低でも1にしたい。

理想形は、slack command でも物理ボタンでも何でもいいけど、

  1. リポジトリ作成完了
  2. develop CI/CD 完了
  3. 開発用URL割り振り完了
  4. 他必要なセッテとアップが全部終わってる
erukitierukiti

僕のやりたいこと

  • 何かアイデアを思いついたら、そのアイデアに応じた適切なリポジトリやサービス経由やくが全部完了してること
    • アイデアを試してみて駄目なら消す
    • アイデアを試してみて良さそうなら残す
  • どちらにせよ、工程はプライベートリポジトリでもなんでもいいから残る

実験をゼロコストにしたい

erukitierukiti

たとえば、OpenAPI/swagger であれば、サーバー実装から自動生成されるのが筋であり、なんなら OpenAPI とかいうクソ仕様書を介さずにクライアントコードも生成されなければならない。

erukitierukiti
  • ディレクトリは基本、決め打ち
  • src/ にある JS/TS などのファイルを解析、import してるパッケージを取り出して、パッケージ名ルールチェックと Node.js builtin じゃないことの確認をして、インストールが必要なパッケージリストを作成