mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
* add prettierignore * switch to eslint:recommended + eslint-config-prettier * fix eslint violations * remove more .jshintrc files * better conditional structure * add prettier and update prettier ignore * add precommit hook to run prettier * add lint check to precommit and format check to ci * format all the things * add generated files * let npm do it's thing with package.json
31 lines
1.0 KiB
JavaScript
31 lines
1.0 KiB
JavaScript
const path = require("path");
|
|
|
|
const getComponents = (module.exports = (template, components) => {
|
|
var meta = template.meta;
|
|
components = components || {};
|
|
if (meta) {
|
|
if (!components[meta.id]) {
|
|
if (meta.id && meta.component) {
|
|
components[meta.id] = path.resolve(
|
|
path.dirname(template.path),
|
|
meta.component
|
|
);
|
|
}
|
|
if (meta.tags) {
|
|
meta.tags.forEach(tagRelativePath => {
|
|
var tagPath =
|
|
"." === tagRelativePath[0]
|
|
? path.resolve(
|
|
path.dirname(template.path),
|
|
tagRelativePath
|
|
)
|
|
: tagRelativePath;
|
|
var tagTemplate = require(tagPath);
|
|
components = getComponents(tagTemplate, components);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
return components;
|
|
});
|