Codebase cleanup, modernization, and build process questions
Hello,
I'd like to open a discussion regarding the Violentmonkey codebase. In its current state, there are several areas that need cleanup and modernization.
For example (what am I looking at?): https://github.com/violentmonkey/violentmonkey/blob/4d477240fef2c12dce363b234f9bd0a926454560/src/background/utils/script.js#L190-L226
I also came across syntax like the following, and I'm not entirely sure whether this is standard ECMAScript or something transformed during the build process:
const meta = metaTypes::mapEntry(value => value.default());We could start migrating parts of the code to TypeScript to improve maintainability. It would also make it easier to contribute.
It would also be good to add documentation or improve the inline JSDoc comments to better explain the code.
It might be worth revisiting parts of the build setup. For instance, I'm curious about the reason behind storing the extension manifest as a manifest.yaml file and then converting it into manifest.json during the build process.
Do contributors/maintainers think this is something worth investing time into?
Source: violentmonkey/violentmonkey