Commit Graph

300 Commits

Author SHA1 Message Date
Jesse Chan
4fbc1a2019 client: scripts: development: drop unnecessary browser popup 2022-06-01 23:18:46 -07:00
Jesse Chan
477919856b server: create production build with webpack directly 2021-11-28 22:48:22 -08:00
Jesse Chan
5ea8345b89 client: fix webpack devServer port selection 2021-11-01 02:01:09 -07:00
Jesse Chan
dc17bfb2eb dependencies: bump (major) 2021-09-06 19:22:23 +08:00
Jesse Chan
6c858dfc0e config: move floodServerProxy to client DevServer script 2021-01-30 19:19:24 +08:00
Jesse Chan
8523572c2b client: fully proxy /api requests for development 2020-12-09 01:52:12 +08:00
Jesse Chan
1a878d5423 flood: rearrange, remove misc files and reformat 2020-11-15 23:03:47 +08:00
Jesse Chan
150572ea38 client: remove unused typed-css-modules-loader 2020-11-15 20:41:23 +08:00
Jesse Chan
7b2bf411ee client: remove unused svg component generator 2020-11-15 20:08:40 +08:00
Jesse Chan
e6181ef2c9 client: convert more components to Functional Component 2020-11-13 23:09:47 +08:00
Jesse Chan
963c146718 dependencies: bump Webpack to 5 2020-11-04 00:05:42 +08:00
Jesse Chan
656fd60b24 Enforce client, server isolation 2020-08-23 17:05:01 +08:00
Jesse Chan
4ea381049a Update dependencies (non-breaking)
This change uses the best-effort approach to update dependencies.
Changelogs of each dependency have been manually reviewed and all
dependency that doesn't *actually* have BREAKING changes or have
minimal changes are bumped to their latest versions.

In most cases, the maintainers of those dependencies don't actually
understand semvar and inappropriately bumped major version for trivial,
non-breaking changes. In other cases, the minimum supported Node version
is upgraded, which is indeed breaking but that's not a concern for this
project as a recent Node version is always expected. Or, the dependency
does have certain breaking changes but those changes are not relevant to
functions used by this project.

Also bumped versions of dependencies if only minimal changes are required:

* autoprefixer: transform from "browsers" property to browserslist
* prettier: reformated sources after update

Signed-off-by: Jesse Chan <jc@linux.com>
2020-08-04 03:16:44 +08:00
Jesse Chan
e4825da8f3 Cleanup and safely update dependencies
Clearly it is not the best practice to leave thousands
of security vulnerabilities in the wild, especially
when there are two "critical" ones with "Remote Arbitrary
Code Execution" capability.

This change updates dependencies safely and fixes
all vulnerabilities above "low" severity.

test.js and its dependencies are removed as there is
no test and it seems that there will never be one. It
can be added back later if tests *are* implemented.

All functions in "npm run" are tested. At the first glance,
there is no issue.

Signed-off-by: Jesse Chan <jc@linux.com>
2020-08-04 03:16:34 +08:00
John Furrow
92404918a0 Introduce Typescript & CSS Modules (#815)
* Adding typescript support

* Begins configuring webpack builds

* Fix lint warnings

* Updates react-router

* Fixes lint configuration

* Adds missing dependency

* Restores disabled performance hints

* Renames connectStores

* Types connectStores

* Uses correct envvars and fixes missing EOF newline

* Formats files

* Defaults props to empty object

* Ignores type definitions in eslint

* Another newline

* Adjusts script invocation

* Ignore jsdoc output

* Undoes the autoformatting of CSS module types

* Improves lint rules

* Finishes webpack config changes

* Updates deps

* Fixes lint errors and attempts to fix SVG icon generator

* Fixes SVG sprite generator

* Adds type for SVG imports

* Explicitly use babelrc in SVG loader

* Formats files

* Refactors prettier formatter, formats CSS module type defs

* Updates style types

* Uses nicer syntax in typed-css-modules-loader

* Removes unnecessary div

* optional property in package.json

* package-lock

* Fixes upstream lint errors

* Removes unused modules
2019-11-22 22:47:09 -08:00
John Furrow
dbedc6c7a5 Improves eslint rules (#785)
* Switch to airbnb's eslint

* Applies automatic fixes

* Clean up dependencies

* New lint rules

* Apply auto fixes

* Prettier

* Update prettier position in eslint config

* Aligns prettier and eslint

* Use partial configs for client and server directories

* Finalizes eslint config (for now)

* Applies all elsint fixes

* Removes duplciated config

* Fixes build & local dev

* Fix CI build
2019-05-02 22:21:47 -07:00
John Furrow
4346c0d6b5 Applies eslint rules (#702) 2018-09-02 21:19:43 -07:00
John Furrow
6dec5cddac Implements Prettier (#701)
* Adds and configures prettier

* Creates format script

* Runs prettier

* Adds npm scripts and checks for formatting in CI
2018-09-02 20:43:35 -07:00
John Furrow
5557a26c5d Remove config.js from client bundle 2017-12-28 21:14:45 -08:00
John Furrow
8bf303fefe Add TravisCI config and make tests pass 2017-11-28 20:46:17 -08:00
John Furrow
bd8a5fe152 Stop providing static assets to users 2017-10-16 21:53:17 -07:00
John Furrow
a464f751db Move files around 2017-10-16 21:52:18 -07:00
John Furrow
b577b7087b Minimal edits made, but not working atm 2017-10-16 21:49:36 -07:00
John Furrow
3788a63f2c Add client build scripts 2017-10-16 21:48:13 -07:00
John Furrow
12ea48d0e3 Rename /scripts/ to /javascript/ 2017-04-14 18:36:21 -07:00
John Furrow
ca05c91fbb Give all index.js files meaningful names 2017-04-14 18:25:04 -07:00
John Furrow
83bb8d604d Rename all source files in uppercased directories to lowercase
directories
2017-04-14 18:20:21 -07:00
John Furrow
b8e3e36d27 Debounce #setTorrentSearchFilter 2017-03-18 14:41:06 -07:00
John Furrow
eb2cb6b36d Improve ListViewport scrolling performance 2017-03-18 14:31:07 -07:00
John Furrow
5bdd0e78ea Fix connected vs total peers mixup 2017-03-18 12:22:01 -07:00
John Furrow
eb22433257 Remove console.log 2017-03-11 10:21:46 -08:00
John Furrow
03b1b7fa03 Improve context menu behavior 2017-02-28 21:49:13 -08:00
John Furrow
5b84feab98 Add ability to sort torrent detail columns 2017-02-26 17:14:55 -08:00
John Furrow
5f1b1664fe Add ability to get scrolling container ref externally 2017-02-26 17:12:58 -08:00
John Furrow
9bec7f2b5a Slightly improve sorting 2017-02-26 17:12:58 -08:00
John Furrow
7680181b74 Remove unused component 2017-02-26 17:12:58 -08:00
John Furrow
1a175db089 Add sortable components 2017-02-26 17:12:58 -08:00
John Furrow
5748670fd9 Add torrent detail icons 2017-02-26 17:12:58 -08:00
John Furrow
fba6aae3c0 Add tooltip to torrent action buttons 2017-02-26 16:53:28 -08:00
John Furrow
1b87b1f0db Allow downloading files from torrent's file pane 2017-02-14 20:03:46 -08:00
John Furrow
21edd2f604 Fix baseURI prefix and suffix slashes 2017-02-13 22:44:19 -08:00
John Furrow
277c4bab18 Allow magnet links when adding torrents 2017-02-05 11:52:04 -08:00
John Furrow
263012b040 Add double click event to both view options 2017-02-04 21:12:25 -08:00
John Furrow
f11594f9f0 Show sort direction in SortDropdown 2017-02-04 18:28:12 -08:00
John Furrow
12ef922007 Use torrent destination component as source of truth 2017-02-04 13:22:40 -08:00
John Furrow
d81040d3c5 Allow setting tags when adding torrents 2017-02-04 12:13:22 -08:00
John Furrow
0361a48f17 Double click on torrent opens torrent details 2017-02-04 11:06:35 -08:00
John Furrow
e17f72eebe Improve "Add Torrents" modal error handling 2017-02-04 09:48:43 -08:00
John Furrow
33c0b36ecb Fix error handling in login form 2017-02-04 09:15:46 -08:00
John Furrow
dc04fff479 Expose user-defined configuration to global object
* supports user-defined base URI
 * supports user-defined client poll interval
2017-02-01 22:40:54 -08:00