Skip to content

Commit 3f22bba

Browse files
authored
Merge pull request #52 from balena-io-modules/update-deps
Update dependencies
2 parents 4196b8c + 3f3010c commit 3f22bba

7 files changed

Lines changed: 34 additions & 31 deletions

File tree

.husky/pre-commit

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
#!/usr/bin/env sh
2-
. "$(dirname -- "$0")/_/husky.sh"
3-
41
npx --no lint-staged

Dockerfile.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM docker:23-dind
1+
FROM docker:28-dind
22

33
RUN set -eux; apk add --no-cache \
44
rsync \

lib/docker-delta.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ function parseDeltaStream(input: stream.PassThrough) {
105105
reject(new Error('Unknown version: ' + metadata.version));
106106
}
107107
} catch (error) {
108-
reject(error);
108+
reject(error as Error);
109109
}
110110
}
111111
};
@@ -146,16 +146,16 @@ async function applyBatch(
146146
await p;
147147
log('Batch input stream ended; waiting for rsync...');
148148
try {
149-
await Bluebird.resolve(await rsyncProcess.waitAsync()).timeout(
149+
await Bluebird.resolve(rsyncProcess.waitAsync()).timeout(
150150
RSYNC_EXIT_TIMEOUT,
151151
);
152152
log('rsync exited cleanly');
153153
} catch (err) {
154-
log('Error waiting for rsync to exit: ' + err);
154+
log(`Error waiting for rsync to exit: ${err}`);
155155
throw err;
156156
}
157157
} catch (err) {
158-
log('Killing rsync with force due to error: ' + err);
158+
log(`Killing rsync with force due to error: ${err}`);
159159
rsyncProcess.kill('SIGUSR1');
160160
log('Waiting for rsync to exit...');
161161
await rsyncProcess.waitAsync();
@@ -236,7 +236,7 @@ export const applyDelta = function (
236236
deltaStream.emit('id', dstId);
237237
}).catch(async function (e) {
238238
log('Error: ' + e);
239-
if (e.code != null && DELTA_OUT_OF_SYNC_CODES.indexOf(e.code) >= 0) {
239+
if (e.code != null && DELTA_OUT_OF_SYNC_CODES.includes(e.code)) {
240240
deltaStream.emit('error', new OutOfSyncError('Incompatible image'));
241241
} else {
242242
deltaStream.emit('error', e);

lib/rsync.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export const createRsyncStream = async function (
5656
await ps.waitAsync();
5757
log('rsync exited');
5858
} catch (e) {
59-
log('rsync exited with error: ' + e);
59+
log(`rsync exited with error: ${e}`);
6060
} finally {
6161
void cleanup();
6262
// eslint-disable-next-line no-unsafe-finally -- We always want to rethrow the original error

package.json

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,31 @@
44
"description": "Generate binary filesystem diffs between docker images to speed up distribution",
55
"main": "out/docker-delta",
66
"scripts": {
7-
"prettify": "balena-lint -t tsconfig.dev.json --fix -e js -e ts lib/ test/",
7+
"lint-fix": "balena-lint -t tsconfig.dev.json --fix -e js -e ts lib/ test/",
88
"lint": "balena-lint -t tsconfig.dev.json -e js -e ts lib/ test/",
99
"test": "bash ./test.sh",
10-
"prepare": "node -e \"try { require('husky').install() } catch (e) {if (e.code !== 'MODULE_NOT_FOUND') throw e}\" && npx tsc"
10+
"prepare": "node -e \"try { (await import('husky')).default() } catch (e) { if (e.code !== 'ERR_MODULE_NOT_FOUND') throw e }\" --input-type module && npx tsc"
1111
},
1212
"author": "Balena Ltd.",
1313
"license": "Apache-2.0",
1414
"devDependencies": {
15-
"@balena/lint": "^7.2.4",
15+
"@balena/lint": "^9.3.8",
1616
"@types/bluebird": "^3.5.42",
17-
"@types/dockerode": "^3.3.23",
18-
"@types/node": "^16.18.63",
19-
"chai": "^4.3.10",
17+
"@types/dockerode": "^3.3.44",
18+
"@types/node": "^16.18.126",
19+
"chai": "^4.5.0",
2020
"chai-events": "0.0.3",
2121
"chai-stream": "0.0.0",
22-
"event-stream": "3.3.5",
23-
"husky": "^8.0.3",
22+
"husky": "^9.1.7",
2423
"JSONStream": "^1.3.5",
25-
"lint-staged": "^15.1.0",
26-
"mocha": "^10.2.0",
27-
"typescript": "^5.3.2"
24+
"lint-staged": "^16.2.3",
25+
"mocha": "^11.7.4",
26+
"typescript": "^5.9.3"
2827
},
2928
"dependencies": {
3029
"bluebird": "^3.7.2",
31-
"docker-toolbelt": "^6.0.2",
32-
"dockerode": "^4.0.2",
30+
"docker-toolbelt": "^6.0.13",
31+
"dockerode": "^4.0.9",
3332
"tmp-promise": "^3.0.3",
3433
"typed-error": "^3.2.2"
3534
},

repo.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
type: 'node'
2+
upstream:
3+
- repo: 'docker-toolbelt'
4+
url: 'https://github.com/balena-io-modules/docker-toolbelt'

test/docker-delta.spec.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
/* eslint-disable @typescript-eslint/no-var-requires */
1+
/* eslint-disable @typescript-eslint/no-require-imports */
22
const { describe, before, it } = require('mocha');
33
const chai = require('chai');
44

55
chai.use(require('chai-events'));
66
chai.use(require('chai-stream'));
77

8-
const es = require('event-stream');
98
const JSONStream = require('JSONStream');
109
const stream = require('node:stream');
1110
const Dockerode = require('dockerode');
@@ -30,12 +29,16 @@ async function buildImg(name, dockerfile) {
3029
await stream.promises.pipeline(
3130
res,
3231
JSONStream.parse(),
33-
es.through(function (data) {
34-
if (data.error) {
35-
this.emit('error', data.error);
36-
} else {
37-
console.log(data);
38-
}
32+
new stream.Transform({
33+
objectMode: true,
34+
transform(data, _enc, cb) {
35+
if (data.error) {
36+
cb(data.error);
37+
} else {
38+
console.log(data);
39+
cb();
40+
}
41+
},
3942
}),
4043
);
4144
}

0 commit comments

Comments
 (0)