Skip to content
  • David Heinemeier Hansson's avatar
    af7428c4
    Replace webpack with importmapped Hotwire as default js (#42999) · af7428c4
    David Heinemeier Hansson authored
    
    
    * Turbolinks is being replaced with Hotwire
    
    * Make --webpack opt-in
    
    * Don't use specific webpacker installers any more in preparation for next Webpacker
    
    * Update railties/lib/rails/app_updater.rb
    
    Co-authored-by: default avatarAlex Ghiculescu <alex@tanda.co>
    
    * Trailing whitespace
    
    * Convert to Turbo data attribute for tracking
    
    * Default is no webpack, no hotwire
    
    * Swap out turbolinks references for hotwire
    
    * Drop explicit return
    
    * Only generate package.json if using webpack
    
    * Only create package.json in webpack mode
    
    * Only create app/javascript in webpack mode
    
    * Generate correct style/js links based on js mode
    
    * Fix tests from changed output format
    
    Not sure why these are showing up in this PR, though.
    
    * Rubocopping
    
    * Stick with webpack for the test app for now
    
    * Adjust tests
    
    * Replace minitest-reporters with minitest-ci (#43016)
    
    minitest-reporters is used to create junit xml reports on CI.
    
    But when it loads before rails minitest plugin makes
    `Rails::TestUnitReporter` not being added as a reporter.
    
    minitest-ci is now only loaded at ci and does not interferes with
    rails minitest plugins. And keeps junit reports workings
    
    * Too heavy handed to actually run bundle
    
    Just like we don't auto-migrate
    
    * Pin js frameworks in importmap
    
    Instead of having importmap preconfigure it.
    
    * Match updated app/javascript path
    
    * No need for the explaining comment
    
    * Fixes test cases for replace webpack with importmapped Hotwire as default js (#42999)
    
    * Fix rubocop issues
    
    * Fix more railities test cases
    
    * Fix plugin generator railties shared test cases
    
    * Fix Action Text install generator asset pipeline spec
    
    * They're modules, not files
    
    * Let dev use the latest release as well
    
    So we don't have to replace unexisting dev releases with latest release
    
    * Make Webpack responsible for generating all the JS files it needs
    
    Webpacker 6 has already moved from app/javascript to app/packs.
    
    * Don't add rails/ujs by default any longer
    
    All the ajax/form functionality has been superseded by Turbo. The rest lives in a weird inbetween land we need to address through other means.
    
    * Use new importmap location
    
    * Switch to using turbo-rails and stimulus-rails directly
    
    The hotwire-rails gem does not offer enough value for its indirection
    
    * Use latest Webpacker
    
    * Prevent version resolution requests from getting swallowed
    
    * Use ESM syntax for imports
    
    * Move management of yarn, package.json, etc to Webpacker 6
    
    * Update for Webpacker 6
    
    * Move bin/setup addition to Webpacker as well
    
    * Remove dead tests
    
    * Bump to Webpacker 6.0.0.rc.2
    
    * No longer relevant given the new default is no webpacker
    
    * Rely on Webpacker 6
    
    * No longer relevant
    
    * No longer relevant
    
    * Make cable channel generator work for both webpacker and importmap setups
    
    * Fix tests
    
    * For tests testing importmap way
    
    * Use Webpacker 6 dummy
    
    * RuboCopping
    
    * One more bump to fix webpack-dev-server
    
    * Another bump. Hopefully the last one!
    
    * Also enough to not want turbo tracking on
    
    * Fix tests
    
    * Latest
    
    * Fix tests
    
    * Fix more tests
    
    * Fix tests
    
    Co-authored-by: default avatarAlex Ghiculescu <alex@tanda.co>
    Co-authored-by: default avatarAndré Luis Leal Cardoso Junior <andrehjr@gmail.com>
    Co-authored-by: default avatarAbhay Nikam <nikam.abhay1@gmail.com>
    Co-authored-by: default avatarGuillermo Iguaran <guilleiguaran@gmail.com>
    af7428c4
    Replace webpack with importmapped Hotwire as default js (#42999)
    David Heinemeier Hansson authored
    
    
    * Turbolinks is being replaced with Hotwire
    
    * Make --webpack opt-in
    
    * Don't use specific webpacker installers any more in preparation for next Webpacker
    
    * Update railties/lib/rails/app_updater.rb
    
    Co-authored-by: default avatarAlex Ghiculescu <alex@tanda.co>
    
    * Trailing whitespace
    
    * Convert to Turbo data attribute for tracking
    
    * Default is no webpack, no hotwire
    
    * Swap out turbolinks references for hotwire
    
    * Drop explicit return
    
    * Only generate package.json if using webpack
    
    * Only create package.json in webpack mode
    
    * Only create app/javascript in webpack mode
    
    * Generate correct style/js links based on js mode
    
    * Fix tests from changed output format
    
    Not sure why these are showing up in this PR, though.
    
    * Rubocopping
    
    * Stick with webpack for the test app for now
    
    * Adjust tests
    
    * Replace minitest-reporters with minitest-ci (#43016)
    
    minitest-reporters is used to create junit xml reports on CI.
    
    But when it loads before rails minitest plugin makes
    `Rails::TestUnitReporter` not being added as a reporter.
    
    minitest-ci is now only loaded at ci and does not interferes with
    rails minitest plugins. And keeps junit reports workings
    
    * Too heavy handed to actually run bundle
    
    Just like we don't auto-migrate
    
    * Pin js frameworks in importmap
    
    Instead of having importmap preconfigure it.
    
    * Match updated app/javascript path
    
    * No need for the explaining comment
    
    * Fixes test cases for replace webpack with importmapped Hotwire as default js (#42999)
    
    * Fix rubocop issues
    
    * Fix more railities test cases
    
    * Fix plugin generator railties shared test cases
    
    * Fix Action Text install generator asset pipeline spec
    
    * They're modules, not files
    
    * Let dev use the latest release as well
    
    So we don't have to replace unexisting dev releases with latest release
    
    * Make Webpack responsible for generating all the JS files it needs
    
    Webpacker 6 has already moved from app/javascript to app/packs.
    
    * Don't add rails/ujs by default any longer
    
    All the ajax/form functionality has been superseded by Turbo. The rest lives in a weird inbetween land we need to address through other means.
    
    * Use new importmap location
    
    * Switch to using turbo-rails and stimulus-rails directly
    
    The hotwire-rails gem does not offer enough value for its indirection
    
    * Use latest Webpacker
    
    * Prevent version resolution requests from getting swallowed
    
    * Use ESM syntax for imports
    
    * Move management of yarn, package.json, etc to Webpacker 6
    
    * Update for Webpacker 6
    
    * Move bin/setup addition to Webpacker as well
    
    * Remove dead tests
    
    * Bump to Webpacker 6.0.0.rc.2
    
    * No longer relevant given the new default is no webpacker
    
    * Rely on Webpacker 6
    
    * No longer relevant
    
    * No longer relevant
    
    * Make cable channel generator work for both webpacker and importmap setups
    
    * Fix tests
    
    * For tests testing importmap way
    
    * Use Webpacker 6 dummy
    
    * RuboCopping
    
    * One more bump to fix webpack-dev-server
    
    * Another bump. Hopefully the last one!
    
    * Also enough to not want turbo tracking on
    
    * Fix tests
    
    * Latest
    
    * Fix tests
    
    * Fix more tests
    
    * Fix tests
    
    Co-authored-by: default avatarAlex Ghiculescu <alex@tanda.co>
    Co-authored-by: default avatarAndré Luis Leal Cardoso Junior <andrehjr@gmail.com>
    Co-authored-by: default avatarAbhay Nikam <nikam.abhay1@gmail.com>
    Co-authored-by: default avatarGuillermo Iguaran <guilleiguaran@gmail.com>
Loading