@spunto/build 0.17.1 → 0.18.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spunto/build",
3
- "version": "0.17.1",
3
+ "version": "0.18.0",
4
4
  "description": "Spunto's shared Build engine — the devcontainer image protocol and VS Code extension registry clients, with no database, no HTTP framework and no UI.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -42,42 +42,63 @@ export type DevFeature = {
42
42
  defaultOptions?: Record<string, string>
43
43
  }
44
44
 
45
+ /**
46
+ * The starter images, newest first. Refreshed on 2026-10-20 — Node 26 is the current release and
47
+ * becomes LTS this month, Node 24 the active LTS; Python 3.14, Go 1.27, Java 25 LTS, .NET 10 LTS,
48
+ * Ubuntu 24.04. Tags checked against `mcr.microsoft.com/v2/devcontainers/<image>/tags/list`.
49
+ *
50
+ * A project stores the image reference, never this id: dropping an entry here leaves the projects
51
+ * built on it working — they just show it as a custom image. On Spunto Cloud a catalog image with
52
+ * nothing added is a *starter* recipe whose build every org shares (`isSharedRecipe`, docs/onboarding.md).
53
+ */
45
54
  export const AVAILABLE_IMAGES: DevImage[] = [
46
55
  {
47
- id: "typescript-node-20",
48
- label: "Node.js 20 (TypeScript)",
49
- image: "mcr.microsoft.com/devcontainers/typescript-node:20",
50
- description: "Node.js 20 + TypeScript, npm/yarn/pnpm",
56
+ id: "typescript-node-26",
57
+ label: "Node.js 26 (TypeScript)",
58
+ image: "mcr.microsoft.com/devcontainers/typescript-node:26",
59
+ description: "Node.js 26 + TypeScript, npm/yarn/pnpm",
51
60
  },
52
61
  {
53
- id: "javascript-node-20",
54
- label: "Node.js 20 (JavaScript)",
55
- image: "mcr.microsoft.com/devcontainers/javascript-node:20",
56
- description: "Node.js 20, npm/yarn/pnpm",
62
+ id: "typescript-node-24",
63
+ label: "Node.js 24 LTS (TypeScript)",
64
+ image: "mcr.microsoft.com/devcontainers/typescript-node:24",
65
+ description: "Node.js 24 LTS + TypeScript, npm/yarn/pnpm",
57
66
  },
58
67
  {
59
- id: "python-312",
60
- label: "Python 3.12",
61
- image: "mcr.microsoft.com/devcontainers/python:3.12",
62
- description: "Python 3.12, pip, conda",
68
+ id: "python-314",
69
+ label: "Python 3.14",
70
+ image: "mcr.microsoft.com/devcontainers/python:3.14",
71
+ description: "Python 3.14, pip, pipx",
63
72
  },
64
73
  {
65
- id: "go-121",
66
- label: "Go 1.21",
67
- image: "mcr.microsoft.com/devcontainers/go:1.21",
68
- description: "Go 1.21, go tools",
74
+ id: "go-127",
75
+ label: "Go 1.27",
76
+ image: "mcr.microsoft.com/devcontainers/go:1.27",
77
+ description: "Go 1.27, gopls, delve",
69
78
  },
70
79
  {
71
80
  id: "rust",
72
81
  label: "Rust",
73
- image: "mcr.microsoft.com/devcontainers/rust:latest",
74
- description: "Rust stable, cargo",
82
+ image: "mcr.microsoft.com/devcontainers/rust:1",
83
+ description: "Rust stable, cargo, rust-analyzer",
84
+ },
85
+ {
86
+ id: "java-25",
87
+ label: "Java 25 LTS",
88
+ image: "mcr.microsoft.com/devcontainers/java:25",
89
+ description: "Java 25 (JDK), Maven, Gradle",
90
+ },
91
+ {
92
+ id: "dotnet-10",
93
+ label: ".NET 10 LTS",
94
+ image: "mcr.microsoft.com/devcontainers/dotnet:10.0",
95
+ description: ".NET 10 SDK, C#",
75
96
  },
76
97
  {
77
- id: "java-21",
78
- label: "Java 21",
79
- image: "mcr.microsoft.com/devcontainers/java:21",
80
- description: "Java 21 (JDK), Maven, Gradle",
98
+ id: "ubuntu-2404",
99
+ label: "Ubuntu 24.04",
100
+ image: "mcr.microsoft.com/devcontainers/base:noble",
101
+ description: "A bare Ubuntu 24.04 — bring your own toolchain",
81
102
  },
82
103
  ]
83
104