mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Add autodiscover of components/ directory. fixes #329
This commit is contained in:
parent
213e652418
commit
8099959355
@ -20,6 +20,9 @@ var nodePath = require('path');
|
||||
var fs = require('fs');
|
||||
var lassoPackageRoot = require('lasso-package-root');
|
||||
var resolveFrom = require('resolve-from');
|
||||
var scanTagsDir = require('../taglib-loader/scanTagsDir');
|
||||
var Taglib = require('../taglib-loader/Taglib');
|
||||
var DependencyChain = require('../taglib-loader/DependencyChain');
|
||||
|
||||
var existsCache = {};
|
||||
var findCache = {};
|
||||
@ -112,13 +115,20 @@ function find(dirname, registeredTaglibs) {
|
||||
}
|
||||
|
||||
|
||||
// First walk up the directory tree looking for marko.json files
|
||||
// First walk up the directory tree looking for marko.json files or components/ directories
|
||||
let curDirname = dirname;
|
||||
while(true) {
|
||||
let taglibPath = nodePath.join(curDirname, 'marko.json');
|
||||
if (existsCached(taglibPath) && !excludedDirs[curDirname]) {
|
||||
var taglib = taglibLoader.load(taglibPath);
|
||||
let taglib = taglibLoader.load(taglibPath);
|
||||
helper.addTaglib(taglib);
|
||||
} else {
|
||||
let componentPath = nodePath.join(curDirname, 'components');
|
||||
if (existsCached(componentPath) && !excludedDirs[curDirname] && !helper.alreadyAdded(componentPath)) {
|
||||
let taglib = new Taglib(componentPath);
|
||||
scanTagsDir(componentPath, nodePath.dirname(componentPath), './components', taglib, new DependencyChain([componentPath]));
|
||||
helper.addTaglib(taglib);
|
||||
}
|
||||
}
|
||||
|
||||
if (curDirname === rootDirname) {
|
||||
@ -175,4 +185,4 @@ exports.reset = reset;
|
||||
exports.find = find;
|
||||
exports.clearCache = clearCache;
|
||||
exports.excludeDir = excludeDir;
|
||||
exports.excludePackage = excludePackage;
|
||||
exports.excludePackage = excludePackage;
|
||||
@ -0,0 +1 @@
|
||||
<div>test-hello</div>
|
||||
@ -0,0 +1 @@
|
||||
<div>test-hello</div><test-home></test-home><div>HOME</div><div>test-home</div>
|
||||
@ -0,0 +1 @@
|
||||
<div>test-home</div>
|
||||
@ -0,0 +1,2 @@
|
||||
<div>HOME</div>
|
||||
<test-home/>
|
||||
@ -0,0 +1,3 @@
|
||||
<test-hello/>
|
||||
<test-home/>
|
||||
<include("./pages/home/template.marko")></include>
|
||||
1
test/autotests/render/custom-tag-autodiscover/test.js
Normal file
1
test/autotests/render/custom-tag-autodiscover/test.js
Normal file
@ -0,0 +1 @@
|
||||
exports.templateData = {};
|
||||
Loading…
x
Reference in New Issue
Block a user