Skip to content

Commit

Permalink
Added top-level version property.
Browse files Browse the repository at this point in the history
`libjass.version` is `["0.12.0", 0, 12, 0]`

Fixes Arnavion#57
  • Loading branch information
Arnavion committed Mar 11, 2016
1 parent a660506 commit 7a7ee02
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
/node_modules/

/npm-debug.log

/src/version.ts
44 changes: 40 additions & 4 deletions build.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,43 @@ task("build-tools", function (callback) {

task("default", ["libjass.js", "libjass.min.js"]);

task("libjass.js", ["build-tools"], function (callback) {
task("version.ts", function (callback) {
fs.exists("./src/version.ts", function (exists) {
if (exists) {
callback();
return;
}

async.waterfall([
fs.readFile.bind(fs, "./package.json"),
function (buffer, callback) {
try {
var packageJson = JSON.parse(buffer);
var versionString = packageJson.version;
var versionParts = versionString.split(".").map(function (num) { return parseInt(num); });
var versionFileContents =
"/**\n" +
" * The version of libjass. An array like\n" +
" *\n" +
" * [\"0.12.0\", 0, 12, 0]\n" +
" *\n" +
" * @type {!Array.<string|number>}\n" +
" */\n" +
"export const version = " + JSON.stringify([versionString].concat(versionParts)) + ";\n";
callback(null, versionFileContents);
}
catch (ex) {
callback(ex);
}
},
function (contents, callback) {
fs.writeFile("./src/version.ts", contents, "utf8", callback);
}
], callback);
});
});

task("libjass.js", ["build-tools", "version.ts"], function (callback) {
fs.exists("./lib/libjass.js", function (exists) {
if (exists) {
callback();
Expand All @@ -94,9 +130,9 @@ task("libjass.min.js", ["libjass.js"], function (callback) {
});
});

task("clean", task.clean(["./lib/libjass.js", "./lib/libjass.js.map", "./lib/libjass.min.js", "./lib/libjass.min.js.map"]));
task("clean", task.clean(["./src/version.ts", "./lib/libjass.js", "./lib/libjass.js.map", "./lib/libjass.min.js", "./lib/libjass.min.js.map"]));

task("watch", ["build-tools"], function (callback) {
task("watch", ["build-tools", "version.ts"], function (callback) {
npm.load(function () {
var testRunning = false;
var rerunTest = false;
Expand Down Expand Up @@ -165,7 +201,7 @@ task("demo", ["libjass.js"], function () {

task("doc", ["make-doc", "test-doc"]);

task("make-doc", ["build-tools"], function () {
task("make-doc", ["build-tools", "version.ts"], function () {
var Doc = require("./build/doc.js");

return task.src("./src/tsconfig.json")
Expand Down
2 changes: 2 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ export { Style } from "./types/style";

export { BorderStyle, Format, WrappingStyle } from "./types/misc";

export { version } from "./version";

/**
* Configures libjass with the given properties.
*
Expand Down

0 comments on commit 7a7ee02

Please sign in to comment.