UNPKG

makit

Version:

Make in JavaScript done right!

51 lines (50 loc) 1.84 kB
"use strict"; 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;