Remove the old and unneeded ts.js
This commit is contained in:
parent
239d1c60a3
commit
1fe7c697c5
96
ts.js
96
ts.js
@ -1,96 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
var childProcess = require('child_process');
|
|
||||||
var fs = require('fs');
|
|
||||||
var path = require('path');
|
|
||||||
var isTest = process.argv[2] === '--only-test';
|
|
||||||
|
|
||||||
// TODO: This build task should be removed upon release of TypeScript 1.5 with
|
|
||||||
// the support for `tsconfig.json`. Invoking `tsc` from `package.json` will then
|
|
||||||
// read the configuration and compile accordingly. It seems that `TSLint` will,
|
|
||||||
// eventually, support this mechanism too. That prevents the need for any kind
|
|
||||||
// of build task and will run entirely based on instructions from `npm`.
|
|
||||||
//
|
|
||||||
// Reference #1: https://github.com/Microsoft/TypeScript/issues/1667
|
|
||||||
// Reference #2: https://github.com/palantir/tslint/issues/281
|
|
||||||
|
|
||||||
read(function(err, fileNames) {
|
|
||||||
clean(fileNames, function() {
|
|
||||||
var hasLintError = false;
|
|
||||||
compile(fileNames, function(err) {
|
|
||||||
if (err) {
|
|
||||||
console.error(err);
|
|
||||||
return process.exit(1);
|
|
||||||
}
|
|
||||||
lint(fileNames, function(message) {
|
|
||||||
process.stdout.write(message);
|
|
||||||
hasLintError = true;
|
|
||||||
}, function() {
|
|
||||||
process.exit(Number(hasLintError));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Clean the files.
|
|
||||||
* @param {Array.<string>} filePaths
|
|
||||||
* @param {function()} done
|
|
||||||
*/
|
|
||||||
function clean(filePaths, done) {
|
|
||||||
if (isTest) return done();
|
|
||||||
var i = -1;
|
|
||||||
(function next() {
|
|
||||||
i += 1;
|
|
||||||
if (i >= filePaths.length) return done();
|
|
||||||
var filePath = filePaths[i];
|
|
||||||
if (/\.d\.ts$/.test(filePath)) return next();
|
|
||||||
var mapName = filePath.substring(4, filePath.length - 2) + 'js.map';
|
|
||||||
var mapPath = path.join('dist', mapName);
|
|
||||||
if (fs.existsSync(mapPath)) fs.unlinkSync(mapPath);
|
|
||||||
next();
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Compile the files.
|
|
||||||
* @param {Array.<string>} filePaths
|
|
||||||
* @param {function(Error)} done
|
|
||||||
*/
|
|
||||||
function compile(filePaths, done) {
|
|
||||||
if (isTest) return done(null);
|
|
||||||
var execPath = path.join(__dirname, 'node_modules/.bin/tsc');
|
|
||||||
var options = '--declaration --module CommonJS --noImplicitAny --outDir dist --target ES5';
|
|
||||||
childProcess.exec([execPath, options].concat(filePaths).join(' '), function(err, stdout) {
|
|
||||||
if (stdout) return done(new Error(stdout));
|
|
||||||
done(null);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lint the files.
|
|
||||||
* @param {Array.<string>} filePaths
|
|
||||||
* @param {function(string)} handler
|
|
||||||
* @param {function()} done
|
|
||||||
*/
|
|
||||||
function lint(filePaths, handler, done) {
|
|
||||||
var i = -1;
|
|
||||||
var execPath = path.join(__dirname, 'node_modules/.bin/tslint');
|
|
||||||
(function next() {
|
|
||||||
i += 1;
|
|
||||||
if (i >= filePaths.length) return done();
|
|
||||||
var filePath = filePaths[i];
|
|
||||||
if (/\.d\.ts$/.test(filePath)) return next();
|
|
||||||
childProcess.exec(execPath + ' -f ' + filePath, function(err, stdout) {
|
|
||||||
if (stdout) handler(stdout);
|
|
||||||
next();
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read the files from the project file.
|
|
||||||
* @param {function(Error, Array.<string>)} done
|
|
||||||
*/
|
|
||||||
function read(done) {
|
|
||||||
done(null, JSON.parse(fs.readFileSync('tsconfig.json', 'utf8')).files);
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user