Skip to content

Commit f2edf23

Browse files
committed
basics work
1 parent eea6c64 commit f2edf23

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+204
-2938
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ lib/configured/tmp/
1414
lib/configured/test/tmp/
1515
lib/configured/test/api/
1616
lib/configured/test/docs/
17+
lib/configure/node_modules/
1718
lib/generators/html/test/tmp/
19+
test/doc/
1820
.DS_Store
1921
.DS_Store?
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var _ = require("lodash");
2+
var Q = require("q");
3+
4+
module.exports = function addPackageConfiguration(siteConfig, bitDocs) {
5+
var dependencies = siteConfig.dependencies;
6+
7+
var promises = _.map(dependencies, function(version, name){
8+
return Q( require("./node_modules/"+name+"/bit-docs")(bitDocs, siteConfig) );
9+
});
10+
11+
return Q.all(promises);
12+
};

lib/configure/check-dependencies.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var path = require("path");
2+
var Q = require('q');
3+
var fs = require('fs-extra');
4+
var _ = require("lodash");
5+
var stat = Q.denodeify(fs.stat);
6+
7+
module.exports = function(siteConfig){
8+
var promises = _.map(siteConfig.dependencies, function(version, name){
9+
return stat(path.join(__dirname, "node_modules", name, "package.json"));
10+
});
11+
return Q.all(promises);
12+
};

lib/configure/configure.js

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
var checkDependencies = require("./check-dependencies");
2+
var installPackages = require("./install-packages");
3+
var addPackageConfiguration = require("./add-package-configuration");
4+
var _ = require("lodash");
5+
var path = require("path");
6+
7+
module.exports = function(pathToPackageJSON, siteConfig){
8+
// find package.json .. make site-config
9+
var pkg = require(pathToPackageJSON);
10+
11+
var siteConfig = _.defaultsDeep(siteConfig || {}, pkg["bit-docs"], {
12+
cwd: path.dirname(pathToPackageJSON),
13+
dest: "./doc"
14+
});
15+
16+
if( ! path.isAbsolute(siteConfig.dest) ) {
17+
siteConfig.dest = path.join( path.dirname(pathToPackageJSON), siteConfig.dest );
18+
}
19+
20+
var bitDocs = makeBitDocs(siteConfig);
21+
22+
var installedPackages;
23+
24+
if(!siteConfig.forceBuild) {
25+
installedPackages = checkDependencies(siteConfig).then(function(){
26+
27+
}, function(){
28+
return installPackages(siteConfig);
29+
});
30+
} else {
31+
installedPackages = installPackages(siteConfig);
32+
}
33+
// go to each dependency's bit-docs.js and call
34+
return installedPackages.then(function(){
35+
return addPackageConfiguration(siteConfig, bitDocs);
36+
}).then(function(){
37+
return siteConfig;
38+
});
39+
};
40+
41+
var makeBitDocs = function(siteConfig){
42+
return {
43+
handlers: {
44+
finder: function(siteConfig, finder){
45+
siteConfig.finder = finder;
46+
},
47+
processor: function(siteConfig, processor){
48+
if(!siteConfig.processors) {
49+
siteConfig.processors = [];
50+
}
51+
siteConfig.processors.push(processor);
52+
},
53+
generator: function(siteConfig, generator){
54+
if(!siteConfig.generators) {
55+
siteConfig.generators = [];
56+
}
57+
siteConfig.generators.push(generator);
58+
},
59+
tags: function(siteConfig, tags){
60+
siteConfig.tags = _.assign(siteConfig.tags || {}, tags);
61+
}
62+
},
63+
register: function(name){
64+
if(this.handlers[name]) {
65+
return this.handlers[name].apply(this, [siteConfig].concat(Array.from(arguments).slice(1)) )
66+
} else {
67+
if(!this.unhandled[name]) {
68+
this.unhandled[name] = [];
69+
}
70+
this.unhandled[name].push(arguments);
71+
}
72+
},
73+
handle: function(name, callback) {
74+
this.handlers[name] = callback;
75+
var self = this;
76+
if(this.unhandled[name]) {
77+
this.unhandled[name].forEach(function(args){
78+
self.handlers[name].apply(self, [siteConfig].concat(Array.from(args)) )
79+
});
80+
}
81+
},
82+
unhandled: {}
83+
}
84+
};
File renamed without changes.

lib/configure/install-packages.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
var path = require("path");
2+
var npm = require("enpeem");
3+
var Q = require("q");
4+
var _ = require("lodash");
5+
6+
module.exports = function(siteConfig){
7+
8+
if(siteConfig.debug) {
9+
console.log("BUILD: Installing packages",path.join(__dirname, "temp") );
10+
}
11+
var deferred = Q.defer();
12+
var dependencies = siteConfig.dependencies;
13+
14+
npm.install({
15+
dir: __dirname,
16+
dependencies: _.map(dependencies, function(version, name){
17+
return name+"@"+version
18+
}),
19+
loglevel: siteConfig.debug ? "info" : "silent",
20+
production: true
21+
}, function(err){
22+
if(err) {
23+
deferred.reject(err)
24+
} else {
25+
deferred.resolve();
26+
}
27+
});
28+
29+
return deferred.promise
30+
}

lib/configure/package.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"name": "bit-docs-configure-temp",
3+
"license": "MIT",
4+
"version": "0.0.0"
5+
}

lib/configured/configured.js

-11
This file was deleted.

lib/configured/generate_project.js

-176
This file was deleted.

lib/configured/get_and_generate_project.js

-32
This file was deleted.

0 commit comments

Comments
 (0)