In many cases the webui code is not updated for core libtransmission
changes and changes in the utils/clients. Therefore, check to see if any
web changes are made before running npm linting.
Co-authored-by: LaserEyess <LaserEyess@users.noreply.github.com>
* chore: show js webpack stats when building
* chore: use npm ci for code_style to avoid overwriting package-lock.json
* chore: add brew-update to macos ci
* remove webpack-dev-server from deps
Port libtransmission to C++. This PR doesn't refactor everything to c++.
Its code changes are only what was necessary to compile and link as c++.
See libtransmission/README.md for details on how to submit modernization
patches!
Co-authored-by: Mike Gelfand <mikedld@mikedld.com>
Give the web client a major overhaul.
User-visible highlights include:
* Mobile is now fully supported.
* Added fullscreen support on mobile.
* Better support for dark mode.
* Added mime icons to the torrent list.
* Improved theme consistency across the app.
Maintainer highlights include:
* Updated code to use ES6 APIs.
* No longer uses jQuery UI.
* No longer uses jQuery.
* Use Webpack to bundle the Javascript, CSS, and assets together -- the entire bundle size is now 68K gzipped.
* Added eslint / prettier / stylelint tooling.
* Uses torrent-get's 'table' mode for more efficient RPC calls.
The script uses "set -o", which doesn't exist in vanilla sh, causing
failure on systems that bind sh to dash rather than bash. This PR makes
the bash requirement explicit.