Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add options to deployments. #146

Merged
merged 71 commits into from
Feb 13, 2021
Merged

Conversation

LumaKernel
Copy link
Contributor

@LumaKernel LumaKernel commented Jan 22, 2021

Todo

  • 選択肢の表示とインストラクション表示
  • closes TypeORM + webpack (minimize) #157
  • closes chore(release): 0.25.0 #154
  • closes フレームワーク選択部分をモジュール化する #152
    • AspidaClient を使わないモードみたいなのかなんかをやりますたぶん。
    • 形だけ作りましたが一旦バックログ扱いに…
    • 一応、devのときだけ見えるようにしたので、あとは微調整を…
  • テンプレート配置
  • 生成後のコンソール表示
  • テストすこし書き換える
    • 新仕様説明: .tmp/ 配下にプロジェクトつくる、テスト落ちなければそのまま消える、テスト落ちれば落ちた原因を .test-error.txt に、状況を .test-info.txt に書き込んで消える、ので個別のケースはそれ参照して対応できるようにする
    • DB はテストケースごとに mysql, pg, sqlite それぞれ専用の database を作る。 server/tests/docker-compose.yml を立ち上げればデフォルトの環境変数の設定がそのままそれを使う。
  • Lambda 関連でいくらか依存の編集が必要だったが結構たいへんそうだったので、dependencies の生成方法を少し変更。
    • そのパターンでの必要な依存を @[server-][dev-]deps、に入れる。 server/pretense/package.json に本体。
    • dependabot + mergify とかで自動更新させたりすればよさそう。
  • TypeORM の ts-node の実行先が node_modules/.bin/typeorm だと、これは windows 環境では js ファイルではないので、node_modules/typeorm/cli.js に変更。
  • ポートを指定できる -p, --port [number] オプションを作成。( こっちの環境の問題ではあるんですが、svchost が tcp/8000 を使っているものの、wsl 側からは 開いてるように見えて使えないという問題があり若干困っていたので… )

テストの方針

今あるので大体いいと思うんですが、ランダムなオプションの選択と、全JSONの構文チェック、typecheck 等をスクリプトとして走らせて workflow の yml をもう少し短く書けるように、etc... 等をやろうとおもっています。

@LumaKernel
Copy link
Contributor Author

image

表示例。選択不可能なものはホバーすると原因表示。

@LumaKernel
Copy link
Contributor Author

インストラクション、基本的にはcreate後にほしい物なので、README.md に自動追記される、や、 HOW-TO-DEPLOY.md に書き出す、 create 押したあともポップアップ消して説明を読みながら作業できる、などを考えています。

@LumaKernel
Copy link
Contributor Author

インフラ構成の例として、https://github.com/LumaKernel/frourio-sample-1/tree/master/infra の図の、もう少し簡易版を作成して表示してあげてもいいかもしれない。
日本語対応はとりあえず仕組みだけ作ってある。

@LumaKernel LumaKernel changed the title feat: Add options to deployments. WIP: feat: Add options to deployments. Jan 22, 2021
@LumaKernel
Copy link
Contributor Author

変更ちょっと多いですが、rebase はこちらの責任でやるので構わず機能追加修正を続けて問題ありませんー。

@solufa
Copy link
Member

solufa commented Jan 22, 2021

これはとても素晴らしい・・・
海外の良く出来たSaaSの開発過程を見ているような気分
私が描いた理想を私よりも巧く早く実現できそうでワクワクしています
テストについても自分でもイケてないなーと思いながらymlに継ぎ足してきてしまったので上記の方針で進めてもらえるのは助かります

@LumaKernel LumaKernel changed the base branch from master to develop January 22, 2021 02:35
@LumaKernel
Copy link
Contributor Author

image

見返せるように雑に close ボタン配置、出力も直接その場で見れてしまえばいいのではないかと思い表示するようにかきかえてみました。
やっぱりインストール終わったあとはリロードされてほしいかどうか悩みますが、リンクをおいて開ける方針で行こうと思っています。

テンプレートとテストはまだ少しづつ移し替えています。

@solufa
Copy link
Member

solufa commented Jan 29, 2021

私の期待を軽々超えてくるから毎回楽しくて仕方ない
出力状況がカラーで表示されるとかカッコ良すぎる・・・

既存の実装について、ベストに至ったものは一つもないのでリロードするかどうかやリンクの設置についても異論は挟まないです
このcfaは後方互換性を考慮しなくていいプロダクトなので良さそうな仮説は積極的に実装・公開してユーザーの反応を見ながら検証していきましょう

@LumaKernel
Copy link
Contributor Author

(やっと安定してきた、ローカルではちゃんとうごいてたんですけどね…)

ランダムで打ったテストに対して色々修正したので、なんか見ていてこの変更は必要なのかみたいなのあれば答えます(コメントに書いたほうが良さそうなやつはその後コメントにしていこうと思います)

Node.js 10 は jestjs/jest#10957 が発生してつらくてどうしようかという感じです、LTS じゃないですしサポート落としてもいいんじゃないか、とか…
サポートする場合は tsconfig の lib を es2015 にしていくつか修正する必要あり

windows でのテストもローカルで何回か DB 込みでやったので、GHA のテストもたぶん postgres + mysql 含めて windows でテスト走らせることもできるはず。

@solufa
Copy link
Member

solufa commented Feb 9, 2021

globalThisは私もやられて、仕方なくNode10だけテストスキップした記憶があります
Node10のEOLは4月30日かあ
記事がバズった去年10月にNode10で動かないというツイートがあってaspida筆頭にNode10対応した経緯があります

とはいえ、シェアはもう十分小さいのでpackage.jsonのenginesを記述してNode10のサポート切りましょうか

WinでDBテスト出来るようになったのは素晴らしすぎる・・・!

@LumaKernel
Copy link
Contributor Author

できればNode.js10対応はしたいです…がずっとfixがマージされないjsdomのエラーのようでつらい。 EOLはまだだったか…

windows 、たぶん GHA が遅いんじゃなくて Node.js ランタイムが遅いとかかもですね、同じマシンで win と WSL で比べてみても win のほうが遅くて… ファイル IO の差とかですかね…

@solufa
Copy link
Member

solufa commented Feb 9, 2021

今Node10対応しても3か月の命だからコスト割に合わないな
サポート切りましょうー

Windowsマシンはyarn installも遅かったはずだからファイルIOのせいで遅いのはありそう

@LumaKernel LumaKernel marked this pull request as ready for review February 9, 2021 08:33
@LumaKernel LumaKernel changed the title WIP: feat: Add options to deployments. feat: add options to deployments. Feb 9, 2021
feat: add context interface to nuxt aspida plugin
Copy link
Member

@solufa solufa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

全てを把握できたわけではないけど、この実装方針は前のバージョンより遥かに良いのでひとまずdevelopにマージする
多少気になったポイントは別でチケットを切る予定

@solufa solufa merged commit a39af3e into frouriojs:develop Feb 13, 2021
@LumaKernel LumaKernel deleted the inst-deploy branch February 13, 2021 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants