@containerbase/base 14.37.0 → 14.39.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/README.md CHANGED
@@ -43,13 +43,14 @@ import { SupportedTools, ToolName } from '@containerbase/base/zod';
43
43
 
44
44
  Each entry may carry the following metadata:
45
45
 
46
- | Field | Description |
47
- | ------------ | ----------------------------------------------------------------------------------------------------------------------- |
48
- | `type` | the package manager installing the tool, one of `gem`, `npm`, `pip` or `dotnet` |
49
- | `parent` | the tool it depends on, eg. `composer` depends on `php`, which requires `php` to be installed before `composer` |
50
- | `deprecated` | the tool should not be used any more |
51
- | `root` | the tool can only be installed as root, so at image build time |
52
- | `minVersion` | the oldest version containerbase supports for the tool, in the tool's versioning; tools without a known limit have none |
46
+ | Field | Description |
47
+ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
48
+ | `type` | the package manager installing the tool, one of `gem`, `npm`, `pip` or `dotnet` |
49
+ | `parent` | the tool it depends on, eg. `composer` depends on `php`, which requires `php` to be installed before `composer` |
50
+ | `deprecated` | the tool should not be used any more |
51
+ | `root` | the tool can only be installed as root, so at image build time |
52
+ | `minVersion` | the oldest version containerbase supports for the tool, in the tool's versioning; tools without a known limit have none |
53
+ | `distroMinVersion` | the oldest version supported on an Ubuntu release (`jammy`, `noble` or `resolute`), only for releases whose floor differs from `minVersion`, which is the floor on `noble` |
53
54
 
54
55
  Only the names `install-tool` accepts are listed.
55
56
  Packages installed with an arbitrary name via `install-gem`, `install-npm` or `install-pip` are not, as that list is unbounded.
package/data/tools.json CHANGED
@@ -16,10 +16,10 @@
16
16
  "conan": { "type": "pip", "parent": "python" },
17
17
  "copier": { "type": "pip", "parent": "python" },
18
18
  "corepack": { "type": "npm", "parent": "node" },
19
- "dart": {},
19
+ "dart": { "minVersion": "2.0.0" },
20
20
  "deno": { "minVersion": "2.0.1" },
21
21
  "devbox": {},
22
- "docker": { "minVersion": "18.09.0" },
22
+ "docker": { "minVersion": "20.10.0" },
23
23
  "docker-compose": { "parent": "docker", "minVersion": "2.0.1" },
24
24
  "dotnet": { "minVersion": "6.0.100" },
25
25
  "elixir": { "parent": "erlang" },
@@ -36,9 +36,9 @@
36
36
  "hashin": { "type": "pip", "parent": "python" },
37
37
  "helm": { "minVersion": "3.1.0" },
38
38
  "helmfile": {},
39
- "java": {},
40
- "java-jdk": {},
41
- "java-jre": {},
39
+ "java": { "minVersion": "8.0.302+8" },
40
+ "java-jdk": { "minVersion": "8.0.302+8" },
41
+ "java-jre": { "minVersion": "8.0.302+8" },
42
42
  "jb": {},
43
43
  "jq": { "minVersion": "1.7.1" },
44
44
  "kas": { "type": "pip", "parent": "python" },
@@ -55,7 +55,10 @@
55
55
  "nuget": { "parent": "mono" },
56
56
  "paket": { "type": "dotnet", "parent": "dotnet" },
57
57
  "pdm": { "type": "pip", "parent": "python" },
58
- "php": { "minVersion": "7.4.0" },
58
+ "php": {
59
+ "minVersion": "7.4.0",
60
+ "distroMinVersion": { "resolute": "8.1.31" }
61
+ },
59
62
  "pip-tools": { "type": "pip", "parent": "python" },
60
63
  "pipenv": { "type": "pip", "parent": "python" },
61
64
  "pixi": { "minVersion": "0.39.2" },
@@ -71,7 +74,10 @@
71
74
  "scala": { "parent": "java" },
72
75
  "skopeo": { "minVersion": "1.14.0" },
73
76
  "sops": { "minVersion": "3.8.0" },
74
- "swift": { "minVersion": "5.7" },
77
+ "swift": {
78
+ "minVersion": "5.7",
79
+ "distroMinVersion": { "resolute": "6.4.0" }
80
+ },
75
81
  "terraform": {},
76
82
  "tofu": { "minVersion": "1.6.3" },
77
83
  "uv": { "type": "pip", "parent": "python" },
@@ -30,6 +30,16 @@
30
30
  "minVersion": {
31
31
  "type": "string",
32
32
  "description": "the oldest version containerbase supports for the tool, in the tool's versioning; tools without a known limit have none"
33
+ },
34
+ "distroMinVersion": {
35
+ "type": "object",
36
+ "propertyNames": {
37
+ "type": "string",
38
+ "enum": ["jammy", "noble", "resolute"],
39
+ "description": "an Ubuntu release supported by containerbase, by codename"
40
+ },
41
+ "additionalProperties": { "type": "string" },
42
+ "description": "the oldest version containerbase supports on an Ubuntu release, in the tool's versioning, keyed by codename; only for releases whose floor differs from minVersion, which is the floor on noble"
33
43
  }
34
44
  },
35
45
  "additionalProperties": false
package/dist/data.d.ts CHANGED
@@ -50,13 +50,15 @@ export declare const tools: {
50
50
  readonly type: "npm";
51
51
  readonly parent: "node";
52
52
  };
53
- readonly dart: {};
53
+ readonly dart: {
54
+ readonly minVersion: "2.0.0";
55
+ };
54
56
  readonly deno: {
55
57
  readonly minVersion: "2.0.1";
56
58
  };
57
59
  readonly devbox: {};
58
60
  readonly docker: {
59
- readonly minVersion: "18.09.0";
61
+ readonly minVersion: "20.10.0";
60
62
  };
61
63
  readonly 'docker-compose': {
62
64
  readonly parent: "docker";
@@ -106,9 +108,15 @@ export declare const tools: {
106
108
  readonly minVersion: "3.1.0";
107
109
  };
108
110
  readonly helmfile: {};
109
- readonly java: {};
110
- readonly 'java-jdk': {};
111
- readonly 'java-jre': {};
111
+ readonly java: {
112
+ readonly minVersion: "8.0.302+8";
113
+ };
114
+ readonly 'java-jdk': {
115
+ readonly minVersion: "8.0.302+8";
116
+ };
117
+ readonly 'java-jre': {
118
+ readonly minVersion: "8.0.302+8";
119
+ };
112
120
  readonly jb: {};
113
121
  readonly jq: {
114
122
  readonly minVersion: "1.7.1";
@@ -155,6 +163,9 @@ export declare const tools: {
155
163
  };
156
164
  readonly php: {
157
165
  readonly minVersion: "7.4.0";
166
+ readonly distroMinVersion: {
167
+ readonly resolute: "8.1.31";
168
+ };
158
169
  };
159
170
  readonly 'pip-tools': {
160
171
  readonly type: "pip";
@@ -207,6 +218,9 @@ export declare const tools: {
207
218
  };
208
219
  readonly swift: {
209
220
  readonly minVersion: "5.7";
221
+ readonly distroMinVersion: {
222
+ readonly resolute: "6.4.0";
223
+ };
210
224
  };
211
225
  readonly terraform: {};
212
226
  readonly tofu: {
package/dist/data.js CHANGED
@@ -18,10 +18,10 @@ export const tools = {
18
18
  conan: { type: 'pip', parent: 'python' },
19
19
  copier: { type: 'pip', parent: 'python' },
20
20
  corepack: { type: 'npm', parent: 'node' },
21
- dart: {},
21
+ dart: { minVersion: '2.0.0' },
22
22
  deno: { minVersion: '2.0.1' },
23
23
  devbox: {},
24
- docker: { minVersion: '18.09.0' },
24
+ docker: { minVersion: '20.10.0' },
25
25
  'docker-compose': { parent: 'docker', minVersion: '2.0.1' },
26
26
  dotnet: { minVersion: '6.0.100' },
27
27
  elixir: { parent: 'erlang' },
@@ -38,9 +38,9 @@ export const tools = {
38
38
  hashin: { type: 'pip', parent: 'python' },
39
39
  helm: { minVersion: '3.1.0' },
40
40
  helmfile: {},
41
- java: {},
42
- 'java-jdk': {},
43
- 'java-jre': {},
41
+ java: { minVersion: '8.0.302+8' },
42
+ 'java-jdk': { minVersion: '8.0.302+8' },
43
+ 'java-jre': { minVersion: '8.0.302+8' },
44
44
  jb: {},
45
45
  jq: { minVersion: '1.7.1' },
46
46
  kas: { type: 'pip', parent: 'python' },
@@ -57,7 +57,7 @@ export const tools = {
57
57
  nuget: { parent: 'mono' },
58
58
  paket: { type: 'dotnet', parent: 'dotnet' },
59
59
  pdm: { type: 'pip', parent: 'python' },
60
- php: { minVersion: '7.4.0' },
60
+ php: { minVersion: '7.4.0', distroMinVersion: { resolute: '8.1.31' } },
61
61
  'pip-tools': { type: 'pip', parent: 'python' },
62
62
  pipenv: { type: 'pip', parent: 'python' },
63
63
  pixi: { minVersion: '0.39.2' },
@@ -73,7 +73,7 @@ export const tools = {
73
73
  scala: { parent: 'java' },
74
74
  skopeo: { minVersion: '1.14.0' },
75
75
  sops: { minVersion: '3.8.0' },
76
- swift: { minVersion: '5.7' },
76
+ swift: { minVersion: '5.7', distroMinVersion: { resolute: '6.4.0' } },
77
77
  terraform: {},
78
78
  tofu: { minVersion: '1.6.3' },
79
79
  uv: { type: 'pip', parent: 'python' },
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { tools } from './data.ts';
2
- export type { InstallToolType, ToolMetadata, ToolType } from './types.ts';
2
+ export type { DistroCode, InstallToolType, ToolMetadata, ToolType, } from './types.ts';
3
3
  export { tools };
4
4
  /**
5
5
  * A tool name `install-tool` accepts.
package/dist/schema.d.ts CHANGED
@@ -10,6 +10,11 @@ export declare const ToolType: z.ZodEnum<{
10
10
  pip: "pip";
11
11
  dotnet: "dotnet";
12
12
  }>;
13
+ export declare const DistroCode: z.ZodEnum<{
14
+ jammy: "jammy";
15
+ noble: "noble";
16
+ resolute: "resolute";
17
+ }>;
13
18
  /**
14
19
  * Schema of a single entry of `tools.json`.
15
20
  *
@@ -27,6 +32,11 @@ export declare const ToolMetadata: z.ZodObject<{
27
32
  deprecated: z.ZodExactOptional<z.ZodLiteral<true>>;
28
33
  root: z.ZodExactOptional<z.ZodLiteral<true>>;
29
34
  minVersion: z.ZodExactOptional<z.ZodString>;
35
+ distroMinVersion: z.ZodExactOptional<z.ZodRecord<z.ZodEnum<{
36
+ jammy: "jammy";
37
+ noble: "noble";
38
+ resolute: "resolute";
39
+ }> & z.core.$partial, z.ZodString>>;
30
40
  }, z.core.$strict>;
31
41
  /**
32
42
  * Schema of `tools.json`.
@@ -45,6 +55,11 @@ export declare const SupportedTools: z.ZodObject<{
45
55
  deprecated: z.ZodExactOptional<z.ZodLiteral<true>>;
46
56
  root: z.ZodExactOptional<z.ZodLiteral<true>>;
47
57
  minVersion: z.ZodExactOptional<z.ZodString>;
58
+ distroMinVersion: z.ZodExactOptional<z.ZodRecord<z.ZodEnum<{
59
+ jammy: "jammy";
60
+ noble: "noble";
61
+ resolute: "resolute";
62
+ }> & z.core.$partial, z.ZodString>>;
48
63
  }, z.core.$strict>>;
49
64
  }, z.core.$strict>;
50
65
  export type SupportedTools = z.infer<typeof SupportedTools>;
package/dist/schema.js CHANGED
@@ -5,6 +5,9 @@ export const InstallToolType = z
5
5
  export const ToolType = z
6
6
  .enum(['gem', 'npm', 'pip', 'dotnet'])
7
7
  .describe('the package manager installing the tool');
8
+ export const DistroCode = z
9
+ .enum(['jammy', 'noble', 'resolute'])
10
+ .describe('an Ubuntu release supported by containerbase, by codename');
8
11
  /**
9
12
  * Schema of a single entry of `tools.json`.
10
13
  *
@@ -30,6 +33,10 @@ export const ToolMetadata = z.strictObject({
30
33
  .string()
31
34
  .describe("the oldest version containerbase supports for the tool, in the tool's versioning; tools without a known limit have none")
32
35
  .exactOptional(),
36
+ distroMinVersion: z
37
+ .partialRecord(DistroCode, z.string())
38
+ .describe("the oldest version containerbase supports on an Ubuntu release, in the tool's versioning, keyed by codename; only for releases whose floor differs from minVersion, which is the floor on noble")
39
+ .exactOptional(),
33
40
  });
34
41
  /**
35
42
  * Schema of `tools.json`.
package/dist/types.d.ts CHANGED
@@ -6,6 +6,10 @@ export type InstallToolType = 'gem' | 'npm' | 'pip';
6
6
  * The package manager installing a tool.
7
7
  */
8
8
  export type ToolType = 'gem' | 'npm' | 'pip' | 'dotnet';
9
+ /**
10
+ * The Ubuntu releases containerbase supports, by codename.
11
+ */
12
+ export type DistroCode = 'jammy' | 'noble' | 'resolute';
9
13
  /**
10
14
  * What containerbase knows about a supported tool.
11
15
  */
@@ -31,4 +35,9 @@ export interface ToolMetadata {
31
35
  * versioning. Tools without a known limit have none.
32
36
  */
33
37
  minVersion?: string;
38
+ /**
39
+ * The oldest version containerbase supports on an Ubuntu release, only for
40
+ * the releases whose floor differs from `minVersion`.
41
+ */
42
+ distroMinVersion?: Partial<Record<DistroCode, string>>;
34
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@containerbase/base",
3
- "version": "14.37.0",
3
+ "version": "14.39.0",
4
4
  "description": "Metadata about the tools supported by containerbase",
5
5
  "keywords": [
6
6
  "containerbase",
@@ -32,7 +32,7 @@
32
32
  "dist"
33
33
  ],
34
34
  "devDependencies": {
35
- "zod": "4.6.5"
35
+ "zod": "4.6.6"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "zod": "^4.0.0"