feat: Add .cjs support for extensions
when support .mjs, then maybe should also support .cjs as extensions
the reason mjs had to be handled differently, at least as far as I understand, is that they needed a custom script type. This as far as I see is just a different extension.
use .cjs extensions for avoid some people run .js as esm this is make sure it is cjs and when copy file without rename it to .js
when support .mjs, then maybe should also support .cjs as extensions
cjs is not used by browsers, cjs is common js used by nodejs modules and webui does not support running scripts in nodejs.
using actual cjs format (e.g. using require statements in scripts) would break webui.