feat: bump minimum node version to 16 and add tests (#86)

BREAKING CHANGE: Minimum node version is now 16
This commit is contained in:
Samuel Attard
2023-11-09 10:56:22 -08:00
committed by Samuel Attard
parent bb304ce10b
commit b6f0c88db4
18 changed files with 3649 additions and 1490 deletions

View File

@@ -1,16 +1,13 @@
import * as fs from 'fs-extra';
import * as crypto from 'crypto';
import { pipeline } from 'stream/promises';
import { d } from './debug';
export const sha = async (filePath: string) => {
d('hashing', filePath);
const hash = crypto.createHash('sha256');
hash.setEncoding('hex');
const fileStream = fs.createReadStream(filePath);
fileStream.pipe(hash);
await new Promise((resolve, reject) => {
fileStream.on('end', () => resolve());
fileStream.on('error', (err) => reject(err));
});
await pipeline(fs.createReadStream(filePath), hash);
return hash.read();
};