Thanks for creating and open-sourcing memoet! It is pretty neat and I'm a huge fan of SRS (I use Anki as a daily practice). I was poking around in Memoet and saw a few things that seemed like they could be improved so I rolled them up in a PR. Please let me know if you'd prefer them broken up into multiple PR's or have any questions about the changes.
Remove :cachex from :extra_applications (dependencies automatically get started and don't need to be added to this list)
The other option for an AGPL SPDX license is: AGPL-3.0-or-later
Note: I didn't update package-lock.json because I ended up with a 50+ line change after running npm install (and would've caused likely merge conflicts)
Fix excess recompilation dependencies in Router:
Move the put_root_layout call in a separate plug
This way the router does not have a compile-time dependency on MemoetWeb.LayoutView, which is important because the layout view has many runtime dependencies
Move the community and PageController routes to be under a scope
This prevents the router from having a compile-time dependency on DeckController and PageController
router.ex compilation dependencies before (via https://depviz.jasonaxelson.com) was recompiled when 61 other files were changed:
After this change router.ex is recompiled only when 5 other files are changed:
I believe it is possible to remove the compile-time dependency on api_auth_error_handler.ex as well but I have not removed it for now.
Hi there! :wave:
Thanks for creating and open-sourcing memoet! It is pretty neat and I'm a huge fan of SRS (I use Anki as a daily practice). I was poking around in Memoet and saw a few things that seemed like they could be improved so I rolled them up in a PR. Please let me know if you'd prefer them broken up into multiple PR's or have any questions about the changes.
Remove :cachex from
:extra_applications
(dependencies automatically get started and don't need to be added to this list)Fix Postgres default port (https://www.postgresql.org/docs/10/app-postgres.html)
Change package.json to be a valid SPDX license. Fixes this warning during
npm install
:List of valid SPDX licenses: https://spdx.org/licenses/
The other option for an AGPL SPDX license is:
AGPL-3.0-or-later
Note: I didn't update package-lock.json because I ended up with a 50+ line change after running
npm install
(and would've caused likely merge conflicts)Fix excess recompilation dependencies in Router:
put_root_layout
call in a separate plugMemoetWeb.LayoutView
, which is important because the layout view has many runtime dependenciesPageController
routes to be under a scopeDeckController
andPageController
router.ex
compilation dependencies before (via https://depviz.jasonaxelson.com) was recompiled when 61 other files were changed:After this change
router.ex
is recompiled only when 5 other files are changed:I believe it is possible to remove the compile-time dependency on
api_auth_error_handler.ex
as well but I have not removed it for now.