dxp/issues#256: Add an script into the webpack script to delete all redundant file...
Changes
- Add a script in the Webpack build flow to remove all redundant build files in the build folder
- Change the theme customization approach. Now it's possible to optimize the theme variables directly in CSS (will be documented in the wiki soon)
- Add babel-plugin-module-resolver for more readable imports. Also, add a config for IDEs to understand these new paths (will be documented in the wiki soon)
- Re-structure the project to follow Atomic design. Now the purpose of each component is much more understandable
- Remove redundant code blocks and files
- Fix many obvious bugs along the way
Test
- Take a look at the project structure and see if it makes sense
- Use the module in this branch in a project and see if the search still works and nothing is broken
- Test your IDEs autocomplete function for the new paths and make sure it works
Concern
- There is still a lot of work to do here. I can see many potential bugs just by looking at the code but I can't blindly fix them. I need to have enough time to re-write each and every file in this project and use the new ES syntax and React functional components and then test them heavily to avoid creating new bugs. This will result in less buggy code and much better performance for the app.
- This is a big app with a lot of hidden options. Therefore, every single feature of this app needs to be documented carefully. Documentation must have a good structure so everyone (Dev of this project, devs of consumer projects, PMs) can find what they want easily.
- This is a project that is being used by many other projects so it's very important for this project to be bug-free. For that reason, we need a good type-checking solution in the project. Type checking in this project is in a bad situation. It partially uses React prop types. We need to get rid of those types and integrate this project with Typescript for a bug-free project and in-code documentation.
- Again, this is a project that is being used by many other projects so it's very important for this project to be bug-free. Another thing we must do for this goal is to add automatic tests for this project.
Edited by Melinda Kovacs-Sztankovits