FEATURE: Plugin support for transpiling regular `.js` files (PR #9398)

This adds support for a new piece of metadata to your plugin.rb files. If you add:

transpile_js: true

Then Discourse will support transpilation of assets in your assets/javascripts directory. Previously they had to be named .js.es6 but now regular .js will work.

Note this is opt-in because some plugins currently have .js files in app/assets that are not meant to be transpiled.

Going forward all plugins should migrate to this setting as they are comfortable able to do so.

GitHub

Some specs are failing because Plugin instances created in those specs don’t have metadata and #transpile_js/#activate! require that now.

Some specs are failing because Plugin instances created in those specs don’t have metadata and #transpile_js/#activate! require that now.

Thanks! I’ve fixed it.