ResourceLoader currently does not allow .vue files to be used in on-wiki modules (only .js, .css and .json) files. We want to allow .vue files, but we don't want to allow Less (via <style lang="less">) in these, only CSS. This is because we decided not to make Less available in user-authored modules in T56864#6153179, for fear that arbitrary user-authored Less code could take arbitrarily long to execute.
Because all the code for .vue file handling is currently in FileModule, some of it will need to be moved to Module, while preserving the ability of FileModule to allow Less to be used and the ability of WikiModule to forbid it.
- Add a content model for .vue pages, with the same special treatment as .js pages
- Move (most) .vue handling code from FileModule to Module
- Allow .vue pages to be used in WikiModule
- Do not allow Less to be used in WikiModule (but continue to allow it in FileModule)