makit
Version:
Make in JavaScript done right!
51 lines (50 loc) • 1.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.clearDynamicDependencies = exports.dynamicPrerequisites = exports.isRudeDependencyFile = exports.getDependencyFromTarget = exports.getTargetFromDependency = exports.rudeExtname = void 0;
const logger_1 = require("../utils/logger");
exports.rudeExtname = '.rude.dep';
function getTargetFromDependency(dependencyFile) {
return dependencyFile.slice(0, -exports.rudeExtname.length);
}
exports.getTargetFromDependency = getTargetFromDependency;
function getDependencyFromTarget(dependencyFile) {
return dependencyFile + exports.rudeExtname;
}
exports.getDependencyFromTarget = getDependencyFromTarget;
function isRudeDependencyFile(target) {
return target.slice(-exports.rudeExtname.length) === exports.rudeExtname;
}
exports.isRudeDependencyFile = isRudeDependencyFile;
function dynamicPrerequisites(ctx) {
const file = ctx.targetFullPath();
let fileContent = '';
try {
fileContent = ctx.readFileSync(file, 'utf8');
}
catch (err) {
if (err.code === 'ENOENT')
return [];
logger_1.Logger.getOrCreate().verbose('dynamic deps', 'while reading', file, err);
throw err;
}
let json = [];
try {
json = JSON.parse(fileContent);
}
catch (err) {
logger_1.Logger.getOrCreate().warning('dynamic deps', 'corrupted', file, err.message, 'removing...');
// remove corrupted dep file
ctx.unlinkSync(file);
}
return json;
}
exports.dynamicPrerequisites = dynamicPrerequisites;
async function clearDynamicDependencies(ctx) {
// try {
// // await ctx.unlink(ctx.targetFullPath())
// } catch (err) {
// if (err.code === 'ENOENT') return
// throw err
// }
}
exports.clearDynamicDependencies = clearDynamicDependencies;