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

[4.2] JSライブラリを npm で管理する #5383

Merged
merged 3 commits into from
Jun 23, 2022

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Jun 8, 2022

概要(Overview・Refs Issue)

ビルド方法

以下のコマンドで JS 及び scss のビルドが可能です

npm run build

JS ライブラリのみをビルドしたい場合は以下でも可能です

npx webpack

方針(Policy)

  • html/template/<TemplateName>/assets/js/bundle.js を作成し、各テンプレートごとにバンドルするコードを記述する
  • webpack でバンドルし、 html/bundle 以下へ出力する

JSライブラリの対応状況

  • IE10 viewport(IE向けの対応なので削除)
  • html5shiv(IE向けの対応なので削除)
  • respond(IE向けの対応なので削除)
  • jquery
  • bootstrap(bootstrap5にバージョンアップしたいので別途対応)
  • yubinbango(npmに存在しない)
  • moment(tempusdominus-bootstrap-4 が依存)
  • tempusdominus-bootstrap-4(開発中止のため bootstrap-datepicker へ変更)
  • spin.js
  • ace
  • popper.js(bootstrap が依存)
  • jquery.qrcode
  • jquery-ui
  • jQuery File Upload Plugin(開発終了のため https://github.com/pqina/filepond へ変更)
  • jQuery Iframe Transport Plugin
  • jQuery File Upload Processing Plugin
  • jQuery File Upload Validation Plugin
  • chart.js
  • Ladda
  • slick.js
  • bootstrap-colorpicker(bootstrap に依存するため別途対応する)
  • bootstrap-datetimepicker(bootstrap に依存するため別途対応する)

実装に関する補足(Appendix)

  • html/bundle 以下へ出力するコードは、 EC-CUBE 本体で利用しているライブラリのみとする
  • プラグインや各種テンプレートで、他の JavaScript ライブラリを使用する場合は個別に対応する

テスト(Test)

E2Eテストが通ることを確認

相談(Discussion)

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更はありません
  • フックポイントの呼び出しタイミングの変更はありません
  • フックポイントのパラメータの削除・データ型の変更はありません
  • twigファイルに渡しているパラメータの削除・データ型の変更はありません
  • Serviceクラスの公開関数の、引数の削除・データ型の変更はありません
  • 入出力ファイル(CSVなど)のフォーマット変更はありません

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか
    • 権限を超えた操作が可能にならないか
    • 不要なファイルアップロードがないか
    • 外部へ公開されるファイルや機能の追加ではないか
    • テンプレートでのエスケープ漏れがないか

@chihiro-adachi chihiro-adachi added the enhancement 機能追加 label Jun 8, 2022
@chihiro-adachi chihiro-adachi added this to the 4.2.0 milestone Jun 8, 2022
@chihiro-adachi chihiro-adachi added improvement 機能改善 and removed enhancement 機能追加 labels Jun 8, 2022
- webpack 追加
- gulp 経由で webpack を実行するよう修正
- IE向けのスクリプトを削除
  - IE10 viewport
  - html5shiv(IE向けの対応なので削除)
  - respond(IE向けの対応なので削除)
- 以下を package.json に追加
- jQuery
- slick-carousel
- spin.js
- ace editor
- jquery.qrcode
- jquery-ui
- chart.js
- ladda
@nanasess nanasess changed the title [WIP] JSライブラリを npm で管理する JSライブラリを npm で管理する Jun 10, 2022
@nanasess nanasess marked this pull request as ready for review June 10, 2022 02:54
@nanasess nanasess changed the title JSライブラリを npm で管理する [4.2] JSライブラリを npm で管理する Jun 13, 2022
@nanasess nanasess mentioned this pull request Jun 13, 2022
15 tasks
@chihiro-adachi
Copy link
Contributor

動かしていってます。

  • npm run buildでbuildできることを確認
  • フロント・管理画面をざっとみてデザイン崩れ等の確認

@chihiro-adachi
Copy link
Contributor

@nanasess
ありがとうございます、マージしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants