mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 00:32:52 +08:00
DEV: Support colocation of component templates in plugins (#18598)
This allows plugins to colocate component JS and HBS under `/plugins/{name}/assets/javascripts/discourse/components`. `discourse-presence` is updated to use this new pattern, which also serves as an integration test for this part of the build pipeline.
This commit is contained in:
@ -0,0 +1,19 @@
|
||||
const ColocatedTemplateProcessor = require("ember-cli-htmlbars/lib/colocated-broccoli-plugin");
|
||||
|
||||
module.exports = class DiscoursePluginColocatedTemplateProcessor extends (
|
||||
ColocatedTemplateProcessor
|
||||
) {
|
||||
detectRootName() {
|
||||
const entries = this.currentEntries().filter((e) => !e.isDirectory());
|
||||
|
||||
const path = entries[0]?.relativePath;
|
||||
|
||||
const match = path?.match(
|
||||
/^discourse\/plugins\/(?<name>[^/]+)\/discourse\//
|
||||
);
|
||||
|
||||
if (match) {
|
||||
return `discourse/plugins/${match.groups.name}/discourse`;
|
||||
}
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user