Skip to content

Commit c821d22

Browse files
committed
change generation scripts to work from command line but return function via require
1 parent e503d5a commit c821d22

4 files changed

Lines changed: 53 additions & 32 deletions

File tree

generate/index.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1-
require("./scripts/generateJson");
2-
require("./scripts/generateNativeCode");
3-
require("./scripts/generateMissingTests");
1+
var generateJson = require("./scripts/generateJson");
2+
var generateNativeCode = require("./scripts/generateNativeCode");
3+
var generateMissingTests = require("./scripts/generateMissingTests");
4+
5+
module.exports = function generate() {
6+
generateJson();
7+
generateNativeCode();
8+
generateMissingTests();
9+
}
10+
11+
if (require.main === module) {
12+
module.exports();
13+
}

generate/scripts/generateJson.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
const fs = require("fs");
22
const path = require("path");
3-
const helpers = require("./helpers");
43
const utils = require("./utils");
5-
const _ = require("lodash");
4+
var _;
65

76
var version = require("../../package.json").libgit2.version;
87
var libgit2 = require("../input/v" + version + ".json");
98
var descriptor = require("../input/descriptor.json");
10-
var supplement = require("../input/libgit2-supplement.json");
9+
var supplement = require("../input/libgit2-supplement.json");
10+
11+
module.exports = function generateJson() {
12+
var helpers = require("./helpers");
13+
_ = require("lodash");
1114

12-
module.exports = (function generateJson() {
1315
libgit2.types.forEach(function(type) {
1416
if (supplement.types[type[0]]){
1517
_.merge(type[1], supplement.types[type[0]]);
@@ -219,4 +221,8 @@ module.exports = (function generateJson() {
219221

220222
utils.writeFile("output/idefs.json", output);
221223

222-
}());
224+
};
225+
226+
if (require.main === module) {
227+
module.exports();
228+
}

generate/scripts/generateMissingTests.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@ const fse = promisify(require("fs-extra"));
55
const utils = require("./utils");
66

77
const testFilesPath = "../test/tests";
8-
const idefs = require("../output/idefs");
98
const missingFileIgnores = require("../input/ignored-missing-tests");
109

11-
module.exports = (function generateMissingTests() {
10+
module.exports = function generateMissingTests() {
1211
var output = {};
1312

1413
function findMissingTest(idef) {
@@ -55,20 +54,22 @@ module.exports = (function generateMissingTests() {
5554
});
5655
};
5756

58-
var promises = [];
59-
60-
idefs.forEach(function(idef) {
61-
promises.push(findMissingTest(idef));
57+
const idefs = require("../output/idefs");
58+
var promises = idefs.map(function(idef) {
59+
return findMissingTest(idef);
6260
});
6361

6462
Promise.all(promises).then(
6563
function() {
6664
utils.writeFile("output/missing-tests.json", output);
6765
},
6866
function(fail) {
69-
console.log(fail);
67+
console.error(fail);
7068
}
7169
);
7270

73-
}());
71+
};
7472

73+
if (require.main === module) {
74+
module.exports();
75+
}

generate/scripts/generateNativeCode.js

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
const path = require("path");
2-
const combyne = require("combyne");
32
const promisify = require("promisify-node");
43
const fse = promisify(require("fs-extra"));
5-
const js_beautify = require("js-beautify").js_beautify;
6-
const beautify = function (input) {
7-
return js_beautify(input, {
8-
"brace_style": "end-expand",
9-
"max_preserve_newlines": 2,
10-
"preserve_newlines": true,
11-
"indent_size": 2,
12-
"indent_char": " "
13-
});
14-
}
154
const exec = promisify(function(command, opts, callback) {
165
return require("child_process").exec(command, opts, callback);
176
});
187

19-
208
const utils = require("./utils");
21-
const idefs = require("../output/idefs");
229

23-
module.exports = (function generateNativeCode() {
10+
module.exports = function generateNativeCode() {
11+
const combyne = require("combyne");
12+
const js_beautify = require("js-beautify").js_beautify;
13+
const beautify = function (input) {
14+
return js_beautify(input, {
15+
"brace_style": "end-expand",
16+
"max_preserve_newlines": 2,
17+
"preserve_newlines": true,
18+
"indent_size": 2,
19+
"indent_char": " "
20+
});
21+
};
22+
2423
// Customize the delimiters so as to not process `{{{` or `}}}`.
2524
combyne.settings.delimiters = {
2625
START_RAW: "{{=",
@@ -91,6 +90,7 @@ module.exports = (function generateNativeCode() {
9190

9291
// Determine which definitions to actually include in the source code.
9392
// This might not be needed anymore but to be frank I'm not totally positive
93+
const idefs = require("../output/idefs");
9494
var enabled = idefs.filter(function(idef) {
9595
return !idef.ignore;
9696
});
@@ -119,7 +119,7 @@ module.exports = (function generateNativeCode() {
119119
}
120120
catch (e) {
121121
if (process.env.BUILD_ONLY) {
122-
console.log(e);
122+
console.error(e);
123123
}
124124
}
125125
});
@@ -143,4 +143,8 @@ module.exports = (function generateNativeCode() {
143143
})
144144
});
145145

146-
}());
146+
};
147+
148+
if (require.main === module) {
149+
module.exports();
150+
}

0 commit comments

Comments
 (0)