UNPKG

nx-remotecache-custom

Version:

Build custom caching for @nrwl/nx in a few lines of code

21 lines (20 loc) 997 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createRemoteCacheStore = void 0; const stream_1 = require("stream"); const tar_1 = require("tar"); const create_filter_source_file_1 = require("./create-filter-source-file"); const get_file_name_from_hash_1 = require("./get-file-name-from-hash"); const archiveFolder = (cwd, hash) => stream_1.Readable.from((0, tar_1.create)({ gzip: true, C: cwd, filter: (0, create_filter_source_file_1.createFilterSourceFile)(hash) }, [hash])); const createRemoteCacheStore = (safeImplementation) => async (hash, cacheDirectory) => { const implementation = await safeImplementation; if (!implementation) { return false; } const file = (0, get_file_name_from_hash_1.getFileNameFromHash)(hash); const { storeFile } = implementation; const stream = archiveFolder(cacheDirectory, hash); await storeFile(file, stream); return true; }; exports.createRemoteCacheStore = createRemoteCacheStore;