hammerkit 1.6.0-alpha.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.devcontainer/Dockerfile
CHANGED
package/Dockerfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
FROM node:
|
|
1
|
+
FROM node:24-alpine AS build
|
|
2
2
|
|
|
3
3
|
ARG TARGETPLATFORM
|
|
4
4
|
|
|
@@ -14,10 +14,17 @@ COPY tsconfig.json .
|
|
|
14
14
|
COPY src src
|
|
15
15
|
RUN node_modules/.bin/tsc -b
|
|
16
16
|
RUN export ARCH=$(echo $TARGETPLATFORM | cut -c7-11)
|
|
17
|
-
RUN node_modules/.bin/pkg . --targets "
|
|
17
|
+
RUN node_modules/.bin/pkg . --targets "node24-alpine-$ARCH" --compress Brotli
|
|
18
18
|
|
|
19
19
|
######################################
|
|
20
|
-
|
|
20
|
+
# Minimal runtime: hammerkit talks to the daemon via dockerode and to k8s via
|
|
21
|
+
# @kubernetes/client-node — both bundled into the binary — so it needs only a
|
|
22
|
+
# shell, CA certs and libstdc++ (for the embedded node), not the full
|
|
23
|
+
# docker-cli image with buildx/compose. docker-cli is kept for users who exec
|
|
24
|
+
# into the image. Cuts the image roughly in half vs docker:*-cli-alpine.
|
|
25
|
+
FROM alpine:3.21
|
|
26
|
+
|
|
27
|
+
RUN apk add --no-cache docker-cli ca-certificates libstdc++
|
|
21
28
|
|
|
22
29
|
WORKDIR /app
|
|
23
30
|
COPY --from=build /app/hammerkit /usr/local/bin/hammerkit
|
|
@@ -10,8 +10,9 @@ describe('docker', () => {
|
|
|
10
10
|
const { cli, environment } = await suite.setup({ taskName: 'example' });
|
|
11
11
|
const result = await cli.runExec();
|
|
12
12
|
await (0, expect_1.expectSuccessfulResult)(result, environment);
|
|
13
|
-
|
|
14
|
-
await (0, expect_1.expectLog)(result, environment, `example`, '
|
|
13
|
+
// versions printed by the pinned node:24.16.0-alpine fixture image
|
|
14
|
+
await (0, expect_1.expectLog)(result, environment, `example`, '11.13.0');
|
|
15
|
+
await (0, expect_1.expectLog)(result, environment, `example`, 'v24.16.0');
|
|
15
16
|
}));
|
|
16
17
|
});
|
|
17
18
|
//# sourceMappingURL=docker.spec.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hammerkit",
|
|
3
3
|
"description": "Containerized build tool with incremental caching that runs the same build file locally, in Docker and on Kubernetes.",
|
|
4
|
-
"version": "1.6.0
|
|
4
|
+
"version": "1.6.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"build",
|
|
7
7
|
"build-tool",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"engines": {
|
|
26
|
-
"node": ">=
|
|
26
|
+
"node": ">=24"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"url": "https://github.com/no0dles/hammerkit",
|
|
@@ -53,13 +53,13 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/dockerode": "^3.3.23",
|
|
55
55
|
"@types/minimatch": "^5.1.2",
|
|
56
|
-
"@types/node": "^
|
|
56
|
+
"@types/node": "^24.0.0",
|
|
57
57
|
"@types/tar": "^6.1.3",
|
|
58
58
|
"@typescript-eslint/eslint-plugin": "^6.16.0",
|
|
59
59
|
"@typescript-eslint/parser": "^6.16.0",
|
|
60
60
|
"@vitest/coverage-istanbul": "^2.1.8",
|
|
61
|
+
"@yao-pkg/pkg": "^6.20.0",
|
|
61
62
|
"eslint": "^8.56.0",
|
|
62
|
-
"pkg": "^5.8.1",
|
|
63
63
|
"prettier": "^3.1.1",
|
|
64
64
|
"typescript": "^5.3.3",
|
|
65
65
|
"vitest": "^2.1.8",
|