UNPKG

@codesnippets/codesnippets

Version:
39 lines (38 loc) 1.58 kB
"use strict"; 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); } });