From 36a02d4c3b7a9d908ab0395b3093f38c45fa9bd4 Mon Sep 17 00:00:00 2001 From: Felix Lee Date: Fri, 26 Apr 2019 18:11:10 -0700 Subject: [PATCH] rename CreateMakeRelative for clarity, and document I was confused by CreateMakeRelative until I read the source. I think a name like "PathResolverFrom" would be clearer, since it's related to the path.resolve function. So this is what that would look like. --- lib/Jakets.js | 13 +++++++------ lib/Jakets.ts | 13 +++++++------ lib/Util.js | 26 +++++++++++++++++++++----- lib/Util.ts | 25 +++++++++++++++++++++---- tests/Jakefile.js | 6 +++--- tests/Jakefile.ts | 4 ++-- 6 files changed, 61 insertions(+), 26 deletions(-) diff --git a/lib/Jakets.js b/lib/Jakets.js index 5b76611..1f1ec2a 100644 --- a/lib/Jakets.js +++ b/lib/Jakets.js @@ -5,17 +5,18 @@ tslib_1.__exportStar(require("./task/Helpers"), exports); tslib_1.__exportStar(require("./Exec"), exports); tslib_1.__exportStar(require("./Log"), exports); var Util_1 = require("./Util"); -exports.MakeRelativeToWorkingDir = Util_1.MakeRelativeToWorkingDir; -exports.CreateMakeRelative = Util_1.CreateMakeRelative; -exports.LocalDir = Util_1.LocalDir; exports.BuildDir = Util_1.BuildDir; +exports.CreateMakeRelative = Util_1.CreateMakeRelative; exports.CurrentPackageJson = Util_1.CurrentPackageJson; exports.CurrentPackageName = Util_1.CurrentPackageName; exports.CurrentPackageVersion = Util_1.CurrentPackageVersion; +exports.IsWorkingDir = Util_1.IsWorkingDir; +exports.LoadJson = Util_1.LoadJson; +exports.LocalDir = Util_1.LocalDir; exports.MakeRelativeToBaseDir = Util_1.MakeRelativeToBaseDir; +exports.MakeRelativeToWorkingDir = Util_1.MakeRelativeToWorkingDir; exports.NodeModulesUpdateIndicator = Util_1.NodeModulesUpdateIndicator; -exports.LoadJson = Util_1.LoadJson; -exports.IsWorkingDir = Util_1.IsWorkingDir; +exports.PathResolverFrom = Util_1.PathResolverFrom; tslib_1.__exportStar(require("./Command"), exports); tslib_1.__exportStar(require("./Dedup"), exports); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFrZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSmFrZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUErQjtBQUMvQixpREFBdUI7QUFDdkIsZ0RBQXNCO0FBQ3RCLCtCQVlnQjtBQVhkLDBDQUFBLHdCQUF3QixDQUFBO0FBQ3hCLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLHVDQUFBLHFCQUFxQixDQUFBO0FBQ3JCLHVDQUFBLHFCQUFxQixDQUFBO0FBQ3JCLDRDQUFBLDBCQUEwQixDQUFBO0FBQzFCLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLDhCQUFBLFlBQVksQ0FBQTtBQUdkLG9EQUEwQjtBQUUxQixrREFBd0IifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFrZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiSmFrZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUErQjtBQUMvQixpREFBdUI7QUFDdkIsZ0RBQXNCO0FBQ3RCLCtCQWFnQjtBQVpkLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLG9DQUFBLGtCQUFrQixDQUFBO0FBQ2xCLHVDQUFBLHFCQUFxQixDQUFBO0FBQ3JCLDhCQUFBLFlBQVksQ0FBQTtBQUNaLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLDBCQUFBLFFBQVEsQ0FBQTtBQUNSLHVDQUFBLHFCQUFxQixDQUFBO0FBQ3JCLDBDQUFBLHdCQUF3QixDQUFBO0FBQ3hCLDRDQUFBLDBCQUEwQixDQUFBO0FBQzFCLGtDQUFBLGdCQUFnQixDQUFBO0FBR2xCLG9EQUEwQjtBQUUxQixrREFBd0IifQ== \ No newline at end of file diff --git a/lib/Jakets.ts b/lib/Jakets.ts index fe88bf9..4e3fc1f 100644 --- a/lib/Jakets.ts +++ b/lib/Jakets.ts @@ -2,19 +2,20 @@ export * from "./task/Helpers"; export * from "./Exec"; export * from "./Log"; export { - MakeRelativeToWorkingDir, - CreateMakeRelative, - LocalDir, BuildDir, + CreateMakeRelative, CurrentPackageJson, CurrentPackageName, CurrentPackageVersion, + IsWorkingDir, + LoadJson, + LocalDir, MakeRelativeToBaseDir, + MakeRelativeToWorkingDir, NodeModulesUpdateIndicator, - LoadJson, - IsWorkingDir + PathResolverFrom, } from "./Util"; export * from "./Command"; -export * from "./Dedup"; \ No newline at end of file +export * from "./Dedup"; diff --git a/lib/Util.js b/lib/Util.js index 75dbf41..6d7385f 100644 --- a/lib/Util.js +++ b/lib/Util.js @@ -18,7 +18,7 @@ function MakeRelativeToBaseDir(baseDir, fullpath) { } return Path.relative(baseDir, fullpath) .replace(/\\/g, "/") //Convert \ to / on windows - || '.' //in case the answer is empty + || "." //in case the answer is empty ; // return path.relative(LocalDir, fullpath) || '.'; } @@ -31,10 +31,26 @@ function IsWorkingDir(dirname) { return MakeRelativeToWorkingDir(dirname) === MakeRelativeToWorkingDir(exports.LocalDir); } exports.IsWorkingDir = IsWorkingDir; -function CreateMakeRelative(dirname) { - return (path) => MakeRelativeToWorkingDir(Path.isAbsolute(path) ? path : Path.join(dirname, path)); +/** + * Returns a function that resolves a filepath relative to the + * given dirname. + * + * For example, say the file /my/proj/subdir/Example.ts has: + * + * const Here = PathResolverFrom(__dirname); + * console.log(Here("child/item")); + * + * The intent is to refer to /my/proj/subdir/child/item, and if + * you run subdir/Example.ts from cwd /my/proj, it will print + * + * subdir/child/file + */ +function PathResolverFrom(dirname) { + return (path) => MakeRelativeToWorkingDir(Path.resolve(dirname, path)); } -exports.CreateMakeRelative = CreateMakeRelative; +exports.PathResolverFrom = PathResolverFrom; +/** Deprecated, use PathResolverFrom */ +exports.CreateMakeRelative = PathResolverFrom; exports.NodeModulesUpdateIndicator = MakeRelativeToWorkingDir("node_modules/.node_modules_updated"); exports.JaketsDir = MakeRelativeToWorkingDir(__dirname.replace("bootstrap", "")); exports.BuildDir = process.env.BUILD__DIR || MakeRelativeToWorkingDir("./build"); @@ -117,4 +133,4 @@ exports.CurrentPackageJson = MakeRelativeToWorkingDir("package.json"); const CurrentPackage = LoadJson(exports.CurrentPackageJson); exports.CurrentPackageVersion = CurrentPackage.version; exports.CurrentPackageName = CurrentPackage.name; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLGlEQUF5QztBQUN6QywrQkFBNEI7QUFDNUIsaUNBQThCO0FBRTlCLG1FQUFtRTtBQUN4RCxRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDcEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFRLENBQUMsRUFBRTtJQUM3RCxTQUFHLENBQUMsZ0NBQWdDLGdCQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxnQkFBUSxHQUFHLGdCQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsU0FBRyxDQUFDLGdDQUFnQyxnQkFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7SUFDckUsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7U0FDcEMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQywyQkFBMkI7V0FDN0MsR0FBRyxDQUFDLDZCQUE2QjtLQUNuQztJQUNILG1EQUFtRDtBQUNyRCxDQUFDO0FBVEQsc0RBU0M7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxRQUFnQjtJQUN2RCxPQUFPLHFCQUFxQixDQUFDLGdCQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUZELDREQUVDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE9BQWU7SUFDMUMs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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLGlEQUF5QztBQUN6QywrQkFBNEI7QUFDNUIsaUNBQThCO0FBRTlCLG1FQUFtRTtBQUN4RCxRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDcEMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFRLENBQUMsRUFBRTtJQUM3RCxTQUFHLENBQUMsZ0NBQWdDLGdCQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRCxnQkFBUSxHQUFHLGdCQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsU0FBRyxDQUFDLGdDQUFnQyxnQkFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7SUFDckUsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNiLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7U0FDcEMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQywyQkFBMkI7V0FDN0MsR0FBRyxDQUFDLDZCQUE2QjtLQUNuQztJQUNILG1EQUFtRDtBQUNyRCxDQUFDO0FBVEQsc0RBU0M7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxRQUFnQjtJQUN2RCxPQUFPLHFCQUFxQixDQUFDLGdCQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUZELDREQUVDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLE9BQWU7SUFDMUMs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 \ No newline at end of file diff --git a/lib/Util.ts b/lib/Util.ts index a4aee5f..12f2b93 100644 --- a/lib/Util.ts +++ b/lib/Util.ts @@ -18,9 +18,8 @@ export function MakeRelativeToBaseDir(baseDir: string, fullpath: string): string } return Path.relative(baseDir, fullpath) .replace(/\\/g, "/") //Convert \ to / on windows - || '.' //in case the answer is empty + || "." //in case the answer is empty ; - // return path.relative(LocalDir, fullpath) || '.'; } export function MakeRelativeToWorkingDir(fullpath: string): string { @@ -31,10 +30,28 @@ export function IsWorkingDir(dirname: string): boolean { return MakeRelativeToWorkingDir(dirname) === MakeRelativeToWorkingDir(LocalDir); } -export function CreateMakeRelative(dirname: string) { - return (path: string) => MakeRelativeToWorkingDir(Path.isAbsolute(path) ? path : Path.join(dirname, path)); +/** + * Returns a function that resolves a filepath relative to the + * given dirname. + * + * For example, say the file /my/proj/subdir/Example.ts has: + * + * const Here = PathResolverFrom(__dirname); + * console.log(Here("child/item")); + * + * The intent is to refer to /my/proj/subdir/child/item, and if + * you run subdir/Example.ts from cwd /my/proj, it will print + * + * subdir/child/file + */ +export function PathResolverFrom(dirname: string): (path: string) => string { + return (path: string) => + MakeRelativeToWorkingDir(Path.resolve(dirname, path)); } +/** Deprecated, use PathResolverFrom */ +export const CreateMakeRelative = PathResolverFrom; + export const NodeModulesUpdateIndicator = MakeRelativeToWorkingDir("node_modules/.node_modules_updated"); export const JaketsDir = MakeRelativeToWorkingDir(__dirname.replace("bootstrap", "")); diff --git a/tests/Jakefile.js b/tests/Jakefile.js index 84007c6..e537bcf 100644 --- a/tests/Jakefile.js +++ b/tests/Jakefile.js @@ -4,7 +4,7 @@ const tslib_1 = require("tslib"); const Fse = require("fs-extra"); const Jakets = require("../lib/Jakets"); const Jakets_1 = require("../lib/Jakets"); -let MakeRelative = Jakets.CreateMakeRelative(__dirname); +let Here = Jakets.PathResolverFrom(__dirname); let d = Jakets.DirectoryTask(Jakets.BuildDir + "/test/d"); let CreateFileAction = function () { return tslib_1.__awaiter(this, void 0, void 0, function* () { @@ -13,7 +13,7 @@ let CreateFileAction = function () { }); }; let f1 = Jakets.FileTask(`${d.GetName()}/f1.txt`, [d], CreateFileAction); -let f2 = Jakets.FileTask(`${d.GetName()}/f2.txt`, [d, MakeRelative(__filename)], CreateFileAction); +let f2 = Jakets.FileTask(`${d.GetName()}/f2.txt`, [d, Here(__filename)], CreateFileAction); let LocalAction = function () { return tslib_1.__awaiter(this, void 0, void 0, function* () { this.Log(`Running task ${this.GetName()}`, 0); @@ -47,4 +47,4 @@ Jakets.Log(`version: ${Jakets.CurrentPackageVersion}`); // ) { // throw "Incorrect IsWorkingDir"; // } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFrZWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJKYWtlZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsd0NBQXdDO0FBQ3hDLDBDQUFzQztBQUV0QyxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFeEQsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBRTFELElBQUksZ0JBQWdCLEdBQXNCOztRQUN4QyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FBQSxDQUFDO0FBRUYsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN6RSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUVuRyxJQUFJLFdBQVcsR0FBc0I7O1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FBQSxDQUFBO0FBRUQsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNqRCxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXhELElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxHQUFTLEVBQUU7SUFDaEQsSUFBSSxXQUFXLEdBQUcsMkJBQTJCLENBQUE7SUFDN0MsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSw2QkFBNkIsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUNuRixJQUFJLE9BQU8sR0FBRyxjQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQSxDQUFDLENBQUM7QUFFSCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBUyxFQUFFLHdEQUFDLE9BQUEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFBLEdBQUEsQ0FBQyxDQUFDO0FBRXpFLFFBQUEsT0FBTyxHQUFHLE1BQU07S0FDMUIsVUFBVSxDQUFDLFVBQVUsQ0FBQztLQUN0QixTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUMxQixXQUFXLENBQUMsa0JBQWtCLENBQUM7S0FDL0IsTUFBTSxDQUFDOztRQUNOLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQU8sU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQUEsQ0FBQyxDQUNEO0FBRUgsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFdkQsT0FBTztBQUNQLHNDQUFzQztBQUN0Qyw0Q0FBNEM7QUFDNUMsTUFBTTtBQUNOLG9DQUFvQztBQUNwQyxJQUFJIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSmFrZWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJKYWtlZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBZ0M7QUFDaEMsd0NBQXdDO0FBQ3hDLDBDQUFzQztBQUV0QyxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFOUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBRTFELElBQUksZ0JBQWdCLEdBQXNCOztRQUN4QyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FBQSxDQUFDO0FBRUYsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN6RSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRixJQUFJLFdBQVcsR0FBc0I7O1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FBQSxDQUFBO0FBRUQsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUNqRCxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXhELElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxHQUFTLEVBQUU7SUFDaEQsSUFBSSxXQUFXLEdBQUcsMkJBQTJCLENBQUE7SUFDN0MsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSw2QkFBNkIsR0FBRyxXQUFXLENBQUMsQ0FBQztJQUNuRixJQUFJLE9BQU8sR0FBRyxjQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQSxDQUFDLENBQUM7QUFFSCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBUyxFQUFFLHdEQUFDLE9BQUEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFBLEdBQUEsQ0FBQyxDQUFDO0FBRXpFLFFBQUEsT0FBTyxHQUFHLE1BQU07S0FDMUIsVUFBVSxDQUFDLFVBQVUsQ0FBQztLQUN0QixTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUMxQixXQUFXLENBQUMsa0JBQWtCLENBQUM7S0FDL0IsTUFBTSxDQUFDOztRQUNOLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQU8sU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQUEsQ0FBQyxDQUNEO0FBRUgsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7QUFFdkQsT0FBTztBQUNQLHNDQUFzQztBQUN0Qyw0Q0FBNEM7QUFDNUMsTUFBTTtBQUNOLG9DQUFvQztBQUNwQyxJQUFJIn0= \ No newline at end of file diff --git a/tests/Jakefile.ts b/tests/Jakefile.ts index 1143513..b3a66e4 100644 --- a/tests/Jakefile.ts +++ b/tests/Jakefile.ts @@ -2,7 +2,7 @@ import * as Fse from "fs-extra"; import * as Jakets from "../lib/Jakets"; import { Dedup } from '../lib/Jakets'; -let MakeRelative = Jakets.CreateMakeRelative(__dirname); +let Here = Jakets.PathResolverFrom(__dirname); let d = Jakets.DirectoryTask(Jakets.BuildDir + "/test/d"); @@ -12,7 +12,7 @@ let CreateFileAction: Jakets.TaskAction = async function () { }; let f1 = Jakets.FileTask(`${d.GetName()}/f1.txt`, [d], CreateFileAction); -let f2 = Jakets.FileTask(`${d.GetName()}/f2.txt`, [d, MakeRelative(__filename)], CreateFileAction); +let f2 = Jakets.FileTask(`${d.GetName()}/f2.txt`, [d, Here(__filename)], CreateFileAction); let LocalAction: Jakets.TaskAction = async function () { this.Log(`Running task ${this.GetName()}`, 0);