@codesnippets/codesnippets
Version:
Open source code snippets and examples.
39 lines (38 loc) • 1.58 kB
JavaScript
;
exports.__esModule = true;
var crypto = require("crypto");
var fs = require("fs");
var glob = require("glob");
var path = require("path");
var semver = require("semver");
var removeComments_1 = require("./removeComments");
var object = {};
var host = 'https://raw.githubusercontent.com/trimorphdev/codesnippets/master';
var indexPath = path.resolve(path.join(__dirname, '../snippets.jsonc'));
var index = JSON.parse(removeComments_1.removeComments(fs.readFileSync(indexPath).toString()));
for (var _i = 0, index_1 = index; _i < index_1.length; _i++) {
var language = index_1[_i];
var lang = {};
var files = glob.sync(language.path, { cwd: path.resolve(path.join(__dirname, '../')) });
for (var _a = 0, files_1 = files; _a < files_1.length; _a++) {
var snippet = files_1[_a];
var hash = crypto.createHash('sha1');
hash.update(fs.readFileSync(snippet));
var fn = path.basename(snippet);
lang[fn.split('.')[0]] = {
path: snippet,
url: host + "/" + snippet,
sum: hash.digest('hex')
};
}
object[language.name] = lang;
}
fs.writeFileSync(path.resolve(path.join(__dirname, '../snippets.lock.json')), JSON.stringify(object, undefined, 2));
fs.readFile(path.resolve(path.join(__dirname, '../snippets.lock')), function (err, res) {
if (err)
throw err;
var vers = semver.inc(res.toString(), 'patch');
if (vers) {
fs.writeFileSync(path.resolve(path.join(__dirname, '../snippets.lock')), vers);
}
});