An application to automate managing and downloading entertainment media.
- React
- ReduxToolkit
- TypeScript
- CSSModules
- SASS
- TailwindCSS
- Django
- DRF
- python-qbittorrent
- gdriveTorrent
- webpack
-
Install webpack and webpack-cli
npm i webpack webpack-cli
-
Install eslint locally
npm i -D eslint
- configure eslint with
eslint --init
-
Change
package.json
to:- add
"private": true
- delete
"main": "index.js"
- add
-
Add
/dist
directory and moveindex.html
inside it -
Install lodash
npm i lodash
-
Create initial bundled
main.js
npx webpack
-
Run bundler with a specified config file
npx webpack --config webpack.config.js
-
Add npm script to
package.json
to launch bundler"build": "webpack"
-
Install
style-loader
andcss-loader
npm i -D style-loader css-loader
-
Install
file-loader
for images and fontsnpm i -D file-loader
-
Install
csv-loader
for csv filesnpm i -D csv-loader
-
Adjust
file-loader
config to deliver processed resources inside of assets folder{ test: /\.(png|svg|jpg|gif)$/i, loader: 'file-loader', options: { name: 'assets/images/[name].[ext]' } },
{ test: /\.(woff|woff2|eot|ttf|otf)$/, use: { loader: 'file-loader', options: { name: 'assets/fonts/[name].[ext]' } }, },
-
Adjust
entry
point config to allow for bundle splitttingentry: { app: './src/index.js', print: './src/print.js', }, output: { filename: '[name].bundle.js', path: path.resolve(__dirname, 'dist'), },
-
Install
HtmlWebpackPlugin
(autogeneratesindex.html
and links to bundled resources)npm i -D html-webpack-plugin
-
Keep
/dist
clean withclean-webpack-plugin
npm i -D clean-webpack-plugin