@containerbase/base 14.46.0 → 14.49.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/data/tools.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "tools": {
3
- "android-sdk-cmdline-tools": { "parent": "java" },
4
- "apko": {},
5
- "apm": {},
6
- "bazelisk": {},
3
+ "android-sdk-cmdline-tools": { "parent": "java", "minVersion": "1" },
4
+ "apko": { "minVersion": "0.1.1" },
5
+ "apm": { "minVersion": "0.4.0" },
6
+ "bazelisk": { "minVersion": "0.0.1" },
7
7
  "bower": { "type": "npm", "parent": "node", "deprecated": true },
8
- "buf": {},
9
- "buildx": { "parent": "docker" },
8
+ "buf": { "minVersion": "0.1.0" },
9
+ "buildx": { "parent": "docker", "minVersion": "0.2.0" },
10
10
  "bun": { "minVersion": "0.5.3" },
11
11
  "bundler": { "type": "gem", "parent": "ruby" },
12
12
  "cabal": { "minVersion": "3.4.1.0" },
13
13
  "checkov": { "type": "pip", "parent": "python" },
14
14
  "cocoapods": { "type": "gem", "parent": "ruby" },
15
- "composer": { "parent": "php" },
15
+ "composer": { "parent": "php", "minVersion": "1.0.0" },
16
16
  "conan": { "type": "pip", "parent": "python" },
17
17
  "copier": { "type": "pip", "parent": "python" },
18
18
  "corepack": { "type": "npm", "parent": "node" },
19
19
  "dart": { "minVersion": "2.0.0" },
20
20
  "deno": { "minVersion": "2.0.1" },
21
- "devbox": {},
21
+ "devbox": { "minVersion": "0.0.6" },
22
22
  "docker": { "minVersion": "20.10.0" },
23
23
  "docker-compose": { "parent": "docker", "minVersion": "2.0.1" },
24
24
  "dotnet": { "minVersion": "6.0.100" },
25
- "elixir": { "parent": "erlang" },
25
+ "elixir": { "parent": "erlang", "minVersion": "1.4.3" },
26
26
  "erlang": { "minVersion": "24.2.0.0" },
27
27
  "flutter": { "minVersion": "1.22.6" },
28
28
  "flux": { "minVersion": "0.6.0" },
@@ -31,28 +31,28 @@
31
31
  "git": { "root": true, "minVersion": "2.48.0" },
32
32
  "git-lfs": { "parent": "git", "minVersion": "2.6.0" },
33
33
  "gleam": { "minVersion": "0.23.0" },
34
- "golang": {},
35
- "gradle": { "parent": "java" },
34
+ "golang": { "minVersion": "1.9.0" },
35
+ "gradle": { "parent": "java", "minVersion": "1.0" },
36
36
  "hashin": { "type": "pip", "parent": "python" },
37
37
  "helm": { "minVersion": "3.1.0" },
38
- "helmfile": {},
38
+ "helmfile": { "minVersion": "0.145.0" },
39
39
  "java": { "minVersion": "8.0.302+8" },
40
40
  "java-jdk": { "minVersion": "8.0.302+8" },
41
41
  "java-jre": { "minVersion": "8.0.302+8" },
42
- "jb": {},
42
+ "jb": { "minVersion": "0.2.0" },
43
43
  "jq": { "minVersion": "1.7.1" },
44
44
  "kas": { "type": "pip", "parent": "python" },
45
45
  "kubectl": { "minVersion": "1.13.11" },
46
46
  "kustomize": { "minVersion": "3.3.0" },
47
47
  "lerna": { "type": "npm", "parent": "node", "deprecated": true },
48
- "maven": { "parent": "java" },
48
+ "maven": { "parent": "java", "minVersion": "3.0.4" },
49
49
  "mise": { "minVersion": "2024.1.0" },
50
- "mono": {},
50
+ "mono": { "minVersion": "6.14.1" },
51
51
  "nix": { "minVersion": "2.10.3" },
52
- "node": {},
52
+ "node": { "minVersion": "8.7.0" },
53
53
  "npm": { "type": "npm", "parent": "node" },
54
- "nub": {},
55
- "nuget": { "parent": "mono" },
54
+ "nub": { "minVersion": "0.0.34" },
55
+ "nuget": { "parent": "mono", "minVersion": "3.4.4" },
56
56
  "paket": { "type": "dotnet", "parent": "dotnet" },
57
57
  "pdm": { "type": "pip", "parent": "python" },
58
58
  "php": {
@@ -69,21 +69,21 @@
69
69
  "python": { "minVersion": "2.7.18" },
70
70
  "renovate": { "type": "npm", "parent": "node" },
71
71
  "ruby": { "minVersion": "2.7.7" },
72
- "rust": {},
72
+ "rust": { "minVersion": "1.7.0" },
73
73
  "sbt": { "parent": "java", "minVersion": "0.13.17" },
74
- "scala": { "parent": "java" },
74
+ "scala": { "parent": "java", "minVersion": "2.11.2" },
75
75
  "skopeo": { "minVersion": "1.14.0" },
76
76
  "sops": { "minVersion": "3.8.0" },
77
77
  "swift": {
78
78
  "minVersion": "5.7",
79
79
  "distroMinVersion": { "resolute": "6.4.0" }
80
80
  },
81
- "terraform": {},
81
+ "terraform": { "minVersion": "0.1.0" },
82
82
  "tofu": { "minVersion": "1.6.3" },
83
83
  "uv": { "type": "pip", "parent": "python" },
84
- "vendir": {},
84
+ "vendir": { "minVersion": "0.4.0" },
85
85
  "vp": { "parent": "node", "minVersion": "0.3.1" },
86
- "wally": {},
86
+ "wally": { "minVersion": "0.3.0" },
87
87
  "yarn": { "type": "npm", "parent": "node" },
88
88
  "yarn-slim": { "type": "npm", "parent": "node" }
89
89
  }
@@ -63,7 +63,17 @@ function isReleaseVersion(imageVersion) {
63
63
  * @returns the version of the image
64
64
  */
65
65
  export async function validateContainerbaseVersion(file = containerbaseVersionFile) {
66
- const imageVersion = (await readFile(file, 'utf8')).trim();
66
+ let content;
67
+ try {
68
+ content = await readFile(file, 'utf8');
69
+ }
70
+ catch (err) {
71
+ const { code, message } = err;
72
+ throw new Error(code === 'ENOENT'
73
+ ? `The containerbase image version file ${file} is missing`
74
+ : `The containerbase image version file ${file} can't be read: ${message}`, { cause: err });
75
+ }
76
+ const imageVersion = content.trim();
67
77
  if (!imageVersion) {
68
78
  throw new Error(`The containerbase image version file ${file} is empty`);
69
79
  }
package/dist/data.d.ts CHANGED
@@ -4,18 +4,28 @@
4
4
  export declare const tools: {
5
5
  readonly 'android-sdk-cmdline-tools': {
6
6
  readonly parent: "java";
7
+ readonly minVersion: "1";
8
+ };
9
+ readonly apko: {
10
+ readonly minVersion: "0.1.1";
11
+ };
12
+ readonly apm: {
13
+ readonly minVersion: "0.4.0";
14
+ };
15
+ readonly bazelisk: {
16
+ readonly minVersion: "0.0.1";
7
17
  };
8
- readonly apko: {};
9
- readonly apm: {};
10
- readonly bazelisk: {};
11
18
  readonly bower: {
12
19
  readonly type: "npm";
13
20
  readonly parent: "node";
14
21
  readonly deprecated: true;
15
22
  };
16
- readonly buf: {};
23
+ readonly buf: {
24
+ readonly minVersion: "0.1.0";
25
+ };
17
26
  readonly buildx: {
18
27
  readonly parent: "docker";
28
+ readonly minVersion: "0.2.0";
19
29
  };
20
30
  readonly bun: {
21
31
  readonly minVersion: "0.5.3";
@@ -37,6 +47,7 @@ export declare const tools: {
37
47
  };
38
48
  readonly composer: {
39
49
  readonly parent: "php";
50
+ readonly minVersion: "1.0.0";
40
51
  };
41
52
  readonly conan: {
42
53
  readonly type: "pip";
@@ -56,7 +67,9 @@ export declare const tools: {
56
67
  readonly deno: {
57
68
  readonly minVersion: "2.0.1";
58
69
  };
59
- readonly devbox: {};
70
+ readonly devbox: {
71
+ readonly minVersion: "0.0.6";
72
+ };
60
73
  readonly docker: {
61
74
  readonly minVersion: "20.10.0";
62
75
  };
@@ -69,6 +82,7 @@ export declare const tools: {
69
82
  };
70
83
  readonly elixir: {
71
84
  readonly parent: "erlang";
85
+ readonly minVersion: "1.4.3";
72
86
  };
73
87
  readonly erlang: {
74
88
  readonly minVersion: "24.2.0.0";
@@ -96,9 +110,12 @@ export declare const tools: {
96
110
  readonly gleam: {
97
111
  readonly minVersion: "0.23.0";
98
112
  };
99
- readonly golang: {};
113
+ readonly golang: {
114
+ readonly minVersion: "1.9.0";
115
+ };
100
116
  readonly gradle: {
101
117
  readonly parent: "java";
118
+ readonly minVersion: "1.0";
102
119
  };
103
120
  readonly hashin: {
104
121
  readonly type: "pip";
@@ -107,7 +124,9 @@ export declare const tools: {
107
124
  readonly helm: {
108
125
  readonly minVersion: "3.1.0";
109
126
  };
110
- readonly helmfile: {};
127
+ readonly helmfile: {
128
+ readonly minVersion: "0.145.0";
129
+ };
111
130
  readonly java: {
112
131
  readonly minVersion: "8.0.302+8";
113
132
  };
@@ -117,7 +136,9 @@ export declare const tools: {
117
136
  readonly 'java-jre': {
118
137
  readonly minVersion: "8.0.302+8";
119
138
  };
120
- readonly jb: {};
139
+ readonly jb: {
140
+ readonly minVersion: "0.2.0";
141
+ };
121
142
  readonly jq: {
122
143
  readonly minVersion: "1.7.1";
123
144
  };
@@ -138,22 +159,30 @@ export declare const tools: {
138
159
  };
139
160
  readonly maven: {
140
161
  readonly parent: "java";
162
+ readonly minVersion: "3.0.4";
141
163
  };
142
164
  readonly mise: {
143
165
  readonly minVersion: "2024.1.0";
144
166
  };
145
- readonly mono: {};
167
+ readonly mono: {
168
+ readonly minVersion: "6.14.1";
169
+ };
146
170
  readonly nix: {
147
171
  readonly minVersion: "2.10.3";
148
172
  };
149
- readonly node: {};
173
+ readonly node: {
174
+ readonly minVersion: "8.7.0";
175
+ };
150
176
  readonly npm: {
151
177
  readonly type: "npm";
152
178
  readonly parent: "node";
153
179
  };
154
- readonly nub: {};
180
+ readonly nub: {
181
+ readonly minVersion: "0.0.34";
182
+ };
155
183
  readonly nuget: {
156
184
  readonly parent: "mono";
185
+ readonly minVersion: "3.4.4";
157
186
  };
158
187
  readonly paket: {
159
188
  readonly type: "dotnet";
@@ -204,13 +233,16 @@ export declare const tools: {
204
233
  readonly ruby: {
205
234
  readonly minVersion: "2.7.7";
206
235
  };
207
- readonly rust: {};
236
+ readonly rust: {
237
+ readonly minVersion: "1.7.0";
238
+ };
208
239
  readonly sbt: {
209
240
  readonly parent: "java";
210
241
  readonly minVersion: "0.13.17";
211
242
  };
212
243
  readonly scala: {
213
244
  readonly parent: "java";
245
+ readonly minVersion: "2.11.2";
214
246
  };
215
247
  readonly skopeo: {
216
248
  readonly minVersion: "1.14.0";
@@ -224,7 +256,9 @@ export declare const tools: {
224
256
  readonly resolute: "6.4.0";
225
257
  };
226
258
  };
227
- readonly terraform: {};
259
+ readonly terraform: {
260
+ readonly minVersion: "0.1.0";
261
+ };
228
262
  readonly tofu: {
229
263
  readonly minVersion: "1.6.3";
230
264
  };
@@ -232,12 +266,16 @@ export declare const tools: {
232
266
  readonly type: "pip";
233
267
  readonly parent: "python";
234
268
  };
235
- readonly vendir: {};
269
+ readonly vendir: {
270
+ readonly minVersion: "0.4.0";
271
+ };
236
272
  readonly vp: {
237
273
  readonly parent: "node";
238
274
  readonly minVersion: "0.3.1";
239
275
  };
240
- readonly wally: {};
276
+ readonly wally: {
277
+ readonly minVersion: "0.3.0";
278
+ };
241
279
  readonly yarn: {
242
280
  readonly type: "npm";
243
281
  readonly parent: "node";
package/dist/data.js CHANGED
@@ -2,29 +2,29 @@
2
2
  * All tools `install-tool` supports, sorted by name.
3
3
  */
4
4
  export const tools = {
5
- 'android-sdk-cmdline-tools': { parent: 'java' },
6
- apko: {},
7
- apm: {},
8
- bazelisk: {},
5
+ 'android-sdk-cmdline-tools': { parent: 'java', minVersion: '1' },
6
+ apko: { minVersion: '0.1.1' },
7
+ apm: { minVersion: '0.4.0' },
8
+ bazelisk: { minVersion: '0.0.1' },
9
9
  bower: { type: 'npm', parent: 'node', deprecated: true },
10
- buf: {},
11
- buildx: { parent: 'docker' },
10
+ buf: { minVersion: '0.1.0' },
11
+ buildx: { parent: 'docker', minVersion: '0.2.0' },
12
12
  bun: { minVersion: '0.5.3' },
13
13
  bundler: { type: 'gem', parent: 'ruby' },
14
14
  cabal: { minVersion: '3.4.1.0' },
15
15
  checkov: { type: 'pip', parent: 'python' },
16
16
  cocoapods: { type: 'gem', parent: 'ruby' },
17
- composer: { parent: 'php' },
17
+ composer: { parent: 'php', minVersion: '1.0.0' },
18
18
  conan: { type: 'pip', parent: 'python' },
19
19
  copier: { type: 'pip', parent: 'python' },
20
20
  corepack: { type: 'npm', parent: 'node' },
21
21
  dart: { minVersion: '2.0.0' },
22
22
  deno: { minVersion: '2.0.1' },
23
- devbox: {},
23
+ devbox: { minVersion: '0.0.6' },
24
24
  docker: { minVersion: '20.10.0' },
25
25
  'docker-compose': { parent: 'docker', minVersion: '2.0.1' },
26
26
  dotnet: { minVersion: '6.0.100' },
27
- elixir: { parent: 'erlang' },
27
+ elixir: { parent: 'erlang', minVersion: '1.4.3' },
28
28
  erlang: { minVersion: '24.2.0.0' },
29
29
  flutter: { minVersion: '1.22.6' },
30
30
  flux: { minVersion: '0.6.0' },
@@ -33,28 +33,28 @@ export const tools = {
33
33
  git: { root: true, minVersion: '2.48.0' },
34
34
  'git-lfs': { parent: 'git', minVersion: '2.6.0' },
35
35
  gleam: { minVersion: '0.23.0' },
36
- golang: {},
37
- gradle: { parent: 'java' },
36
+ golang: { minVersion: '1.9.0' },
37
+ gradle: { parent: 'java', minVersion: '1.0' },
38
38
  hashin: { type: 'pip', parent: 'python' },
39
39
  helm: { minVersion: '3.1.0' },
40
- helmfile: {},
40
+ helmfile: { minVersion: '0.145.0' },
41
41
  java: { minVersion: '8.0.302+8' },
42
42
  'java-jdk': { minVersion: '8.0.302+8' },
43
43
  'java-jre': { minVersion: '8.0.302+8' },
44
- jb: {},
44
+ jb: { minVersion: '0.2.0' },
45
45
  jq: { minVersion: '1.7.1' },
46
46
  kas: { type: 'pip', parent: 'python' },
47
47
  kubectl: { minVersion: '1.13.11' },
48
48
  kustomize: { minVersion: '3.3.0' },
49
49
  lerna: { type: 'npm', parent: 'node', deprecated: true },
50
- maven: { parent: 'java' },
50
+ maven: { parent: 'java', minVersion: '3.0.4' },
51
51
  mise: { minVersion: '2024.1.0' },
52
- mono: {},
52
+ mono: { minVersion: '6.14.1' },
53
53
  nix: { minVersion: '2.10.3' },
54
- node: {},
54
+ node: { minVersion: '8.7.0' },
55
55
  npm: { type: 'npm', parent: 'node' },
56
- nub: {},
57
- nuget: { parent: 'mono' },
56
+ nub: { minVersion: '0.0.34' },
57
+ nuget: { parent: 'mono', minVersion: '3.4.4' },
58
58
  paket: { type: 'dotnet', parent: 'dotnet' },
59
59
  pdm: { type: 'pip', parent: 'python' },
60
60
  php: { minVersion: '7.4.0', distroMinVersion: { resolute: '8.1.31' } },
@@ -68,18 +68,18 @@ export const tools = {
68
68
  python: { minVersion: '2.7.18' },
69
69
  renovate: { type: 'npm', parent: 'node' },
70
70
  ruby: { minVersion: '2.7.7' },
71
- rust: {},
71
+ rust: { minVersion: '1.7.0' },
72
72
  sbt: { parent: 'java', minVersion: '0.13.17' },
73
- scala: { parent: 'java' },
73
+ scala: { parent: 'java', minVersion: '2.11.2' },
74
74
  skopeo: { minVersion: '1.14.0' },
75
75
  sops: { minVersion: '3.8.0' },
76
76
  swift: { minVersion: '5.7', distroMinVersion: { resolute: '6.4.0' } },
77
- terraform: {},
77
+ terraform: { minVersion: '0.1.0' },
78
78
  tofu: { minVersion: '1.6.3' },
79
79
  uv: { type: 'pip', parent: 'python' },
80
- vendir: {},
80
+ vendir: { minVersion: '0.4.0' },
81
81
  vp: { parent: 'node', minVersion: '0.3.1' },
82
- wally: {},
82
+ wally: { minVersion: '0.3.0' },
83
83
  yarn: { type: 'npm', parent: 'node' },
84
84
  'yarn-slim': { type: 'npm', parent: 'node' },
85
85
  };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { tools } from './data.ts';
2
2
  import type { DistroCode } from './types.ts';
3
- export type { DistroCode, InstallToolType, ToolMetadata, ToolType, } from './types.ts';
3
+ export type { Arch, DistroCode, InstallToolType, ToolMetadata, ToolType, } from './types.ts';
4
4
  export type { FileIntegrity, FileReference, FormatIndex, ToolFile, ToolIndex, ToolVersion, ToolVersions, VersionFiles, VersionIntegrity, } from './tool-versions-types.ts';
5
5
  export { containerbaseVersionFile, isCompatibleVersion, isContainerbase, packageVersion, toolVersionsPath, validateContainerbaseVersion, } from './containerbase.ts';
6
6
  export { isToolVersionsFormat, toolVersionsFormat, toolVersionsFormatPath, } from './tool-versions-format.ts';
package/dist/schema.d.ts CHANGED
@@ -15,6 +15,10 @@ export declare const DistroCode: z.ZodEnum<{
15
15
  noble: "noble";
16
16
  resolute: "resolute";
17
17
  }>;
18
+ export declare const Arch: z.ZodEnum<{
19
+ amd64: "amd64";
20
+ arm64: "arm64";
21
+ }>;
18
22
  /**
19
23
  * Schema of a single entry of `tools.json`.
20
24
  *
package/dist/schema.js CHANGED
@@ -8,6 +8,9 @@ export const ToolType = z
8
8
  export const DistroCode = z
9
9
  .enum(['jammy', 'noble', 'resolute'])
10
10
  .describe('an Ubuntu release supported by containerbase, by codename');
11
+ export const Arch = z
12
+ .enum(['amd64', 'arm64'])
13
+ .describe('a CPU architecture supported by containerbase');
11
14
  /**
12
15
  * Schema of a single entry of `tools.json`.
13
16
  *
@@ -29,6 +29,8 @@ export declare const ToolVersion: z.ZodObject<{
29
29
  distro: z.ZodExactOptional<z.ZodString>;
30
30
  }, z.core.$strip>>>;
31
31
  constraints: z.ZodExactOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
32
+ archs: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
33
+ distros: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
32
34
  }, z.core.$strip>;
33
35
  /** The content of a `<tool>.json` file. */
34
36
  export declare const ToolVersions: z.ZodObject<{
@@ -58,6 +60,8 @@ export declare const ToolVersions: z.ZodObject<{
58
60
  distro: z.ZodExactOptional<z.ZodString>;
59
61
  }, z.core.$strip>>>;
60
62
  constraints: z.ZodExactOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
63
+ archs: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
64
+ distros: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
61
65
  }, z.core.$strip>>;
62
66
  }, z.core.$strip>;
63
67
  /** The content of a `<tool>/<version>.json` file: the files of one version. */
@@ -52,6 +52,16 @@ export const ToolVersion = z.object({
52
52
  * present when the registry has one
53
53
  */
54
54
  constraints: z.record(z.string().min(1), z.string().min(1)).exactOptional(),
55
+ /**
56
+ * sorted, the archs which have a file of this version, only in the
57
+ * `<tool>.json` files and only for versions with arch specific files
58
+ */
59
+ archs: z.array(z.string().min(1)).min(1).exactOptional(),
60
+ /**
61
+ * sorted, the distro codenames which have a file of this version, only in
62
+ * the `<tool>.json` files and only for versions with distro specific files
63
+ */
64
+ distros: z.array(z.string().min(1)).min(1).exactOptional(),
55
65
  });
56
66
  /**
57
67
  * The url of the json schema of a published file, which identifies its format.
@@ -53,6 +53,16 @@ export interface ToolVersion {
53
53
  * present when the registry has one.
54
54
  */
55
55
  constraints?: Record<string, string>;
56
+ /**
57
+ * Sorted, the archs which have a file of this version, only in the
58
+ * `<tool>.json` files and only for versions with arch specific files.
59
+ */
60
+ archs?: string[];
61
+ /**
62
+ * Sorted, the distro codenames which have a file of this version, only in
63
+ * the `<tool>.json` files and only for versions with distro specific files.
64
+ */
65
+ distros?: string[];
56
66
  }
57
67
  /**
58
68
  * The content of a `<tool>.json` file.
package/dist/types.d.ts CHANGED
@@ -10,6 +10,10 @@ export type ToolType = 'gem' | 'npm' | 'pip' | 'dotnet';
10
10
  * The Ubuntu releases containerbase supports, by codename.
11
11
  */
12
12
  export type DistroCode = 'jammy' | 'noble' | 'resolute';
13
+ /**
14
+ * The CPU architectures containerbase supports.
15
+ */
16
+ export type Arch = 'amd64' | 'arm64';
13
17
  /**
14
18
  * What containerbase knows about a supported tool.
15
19
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@containerbase/base",
3
- "version": "14.46.0",
3
+ "version": "14.49.0",
4
4
  "description": "Metadata about the tools supported by containerbase",
5
5
  "keywords": [
6
6
  "containerbase",