chore: update mise 2026.5.16 (#564)

* fix: update mise to 2026.5.11

* test: update snapshots

* chore: update mise upgrade task to run locally

Use the --local flag for the mise upgrade task to ensure consistency with local environment configurations during dependency updates.

Generated-by: aiautocommit

* chore: update go, mise, and bun packages

* chore: update go, mise, and bun packages

* chore: update mise to 2026.5.15

- Update build plan snapshots to use mise version 2026.5.15 across all test examples.

Generated-by: aiautocommit

* chore: update mise to 2026.5.15

Generated-by: aiautocommit

* chore: ignore .antigravitycli directory

Generated-by: aiautocommit

* chore: update mise 2026.5.11

Generated-by: aiautocommit

* chore: update better-sqlite3 dependency version

Generated-by: aiautocommit

* feat(test): add example for testing npm native dependencies with node-lts

Generated-by: aiautocommit

* fix: do not run rdoc when compiling ruby

this fixes a locale issue which causes the build to fail

* chore: update python version in examples to 3.13.3

no GH attestations for 3.13.1

Generated-by: aiautocommit

* chore: bump better-sqlite3 in examples

Generated-by: aiautocommit

* chore(node): update pnpm path to include bin directory

Generated-by: aiautocommit

* chore: update railpack-builder and runtime to mise 2026.5.16

Generated-by: aiautocommit

* chore: bump mise version to 2026.5.16

Generated-by: aiautocommit

* chore: update mise to 2026.5.16

- Update mise CLI command structure for improved task execution.
- Includes upstream bug fixes and stability improvements.

Generated-by: aiautocommit

* feat(node): update pnpm path layout for version 11+

- Adjust the pnpm binary path detection to account for changes in pnpm v11, which uses a /pnpm/bin directory layout.
- Introduce version checking to ensure backward compatibility for older pnpm versions.
- Add unit tests to verify path resolution for various version scenarios.

Generated-by: aiautocommit

* chore(node): update pnpm home paths and versioning logic

Generated-by: aiautocommit

* chore: update python-freethreaded example configuration

Generated-by: aiautocommit

* feat: add mise-builder-shell task

- Adds a new task to facilitate debugging by spawning a shell inside the published builder container image.

Generated-by: aiautocommit

* test(python): fix fasthtml example

I have no idea why this wasn't caught before...

* chore: update mise configuration to 2026.5.16

- Set MISE_MINIMUM_RELEASE_AGE to match the builder default.
- Correct the mise setting key from `install_before` to `minimum_release_age`.

Generated-by: aiautocommit

* chore: ensure uv is installed when using pipx.uvx in mise

Generated-by: aiautocommit

* chore: update mise 2026.5.16

- Sync environment variables from the Elixir provider to the mise installation step to ensure installation consistency.

Generated-by: aiautocommit

* feat(node): prioritize mise-managed package manager versions

- Allow mise to override inferred package manager versions for pnpm, bun, and yarn.
- Ensure consistent version resolution between Railpack and user-defined mise environment settings.
- Update node provider logic to correctly identify and use package manager tool names from mise.

Generated-by: aiautocommit

* chore: update test configuration for pnpm 11 compatibility

- Enable stderr allowance in tests to accommodate pnpm 11 command logging behavior.

Generated-by: aiautocommit

* chore: update example env configuration for mise compatibility

- Replace python3-venv with dnsutils for build-time apt testing.
- Add python to RAILPACK_PACKAGES to ensure pipx and other requirements function correctly within the mise environment.
- Update build and start commands to verify the availability of the new packages and validate expected scoping.

Generated-by: aiautocommit

* chore: update test snapshots for mise 2026.5.16

- Update snapshot files to reflect changes in build plan generation, including the addition of `uv` to Python environments, corrected pathing for pnpm, and updated environment variables for Elixir configurations.
- Reflect renaming of `install_before` to `minimum_release_age` in configuration settings.

Generated-by: aiautocommit
This commit is contained in:
Michael Bianco
2026-05-29 14:40:00 +02:00
committed by GitHub
parent 75b0b6846e
commit 76d9036a33
143 changed files with 2074 additions and 556 deletions
+10 -4
View File
@@ -10,9 +10,12 @@
"license": "ISC",
"dependencies": {
"bcrypt": "^6.0.0",
"better-sqlite3": ">=11.10.0",
"better-sqlite3": "^12.10.0",
"canvas": "^3.2.1",
"sharp": "^0.34.5"
},
"engines": {
"node": "*"
}
},
"node_modules/@emnapi/runtime": {
@@ -525,14 +528,17 @@
}
},
"node_modules/better-sqlite3": {
"version": "11.10.0",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-11.10.0.tgz",
"integrity": "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==",
"version": "12.10.0",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.10.0.tgz",
"integrity": "sha512-CyzaZRQKyHkB2ZInfTTl2nvT33EbDpjkLEbE8/Zck3Ll6O0qqvuGdrJ45HgtH+HykRg88ITY3AdreBGN70aBSQ==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"bindings": "^1.5.0",
"prebuild-install": "^7.1.1"
},
"engines": {
"node": "20.x || 22.x || 23.x || 24.x || 25.x || 26.x"
}
},
"node_modules/bindings": {
@@ -12,7 +12,7 @@
},
"dependencies": {
"bcrypt": "^6.0.0",
"better-sqlite3": ">=11.10.0",
"better-sqlite3": ">=12.10.0",
"canvas": "^3.2.1",
"sharp": "^0.34.5"
},
@@ -8,7 +8,7 @@
},
"dependencies": {
"bcrypt": "^6.0.0",
"better-sqlite3": "^11.8.1",
"better-sqlite3": "^12.10.0",
"canvas": "^3.2.1",
"sharp": "^0.34.5"
},
+6 -5
View File
@@ -12,8 +12,8 @@ importers:
specifier: ^6.0.0
version: 6.0.0
better-sqlite3:
specifier: ^11.8.1
version: 11.10.0
specifier: ^12.10.0
version: 12.10.0
canvas:
specifier: ^3.2.1
version: 3.2.1
@@ -186,8 +186,9 @@ packages:
resolution: {integrity: sha512-cU8v/EGSrnH+HnxV2z0J7/blxH8gq7Xh2JFT6Aroax7UohdmiJJlxApMxtKfuI7z68NvvVcmR78k2LbT6efhRg==}
engines: {node: '>= 18'}
better-sqlite3@11.10.0:
resolution: {integrity: sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==}
better-sqlite3@12.10.0:
resolution: {integrity: sha512-CyzaZRQKyHkB2ZInfTTl2nvT33EbDpjkLEbE8/Zck3Ll6O0qqvuGdrJ45HgtH+HykRg88ITY3AdreBGN70aBSQ==}
engines: {node: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x}
[email protected]:
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
@@ -444,7 +445,7 @@ snapshots:
node-addon-api: 8.6.0
node-gyp-build: 4.8.4
better-sqlite3@11.10.0:
better-sqlite3@12.10.0:
dependencies:
bindings: 1.5.0
prebuild-install: 7.1.3
@@ -4,6 +4,8 @@
"Database test successful!",
"Bcrypt compare result: true",
"better-sqlite3 and bcrypt native modules working correctly with pnpm"
]
],
// pnpm 11 writes the invoked script command to stderr during `pnpm run start`.
"stderrAllowed": true
}
]
@@ -0,0 +1,33 @@
const Database = require('better-sqlite3');
const bcrypt = require('bcrypt');
console.log('Node version:', process.version);
console.log('Testing better-sqlite3 and bcrypt (native modules)...');
// Create an in-memory database
const db = new Database(':memory:');
// Create a simple table
db.exec('CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT)');
// Insert some data
const insert = db.prepare('INSERT INTO test (name) VALUES (?)');
insert.run('npm');
insert.run('node-gyp');
// Query the data
const rows = db.prepare('SELECT * FROM test').all();
console.log('Database test successful!');
console.log('Rows:', rows);
db.close();
console.log('Testing bcrypt (native module)...');
const saltRounds = 10;
const hash = bcrypt.hashSync('npm-native-deps', saltRounds);
const match = bcrypt.compareSync('npm-native-deps', hash);
console.log('Bcrypt hash generated:', hash.substring(0, 20) + '...');
console.log('Bcrypt compare result:', match);
console.log('✓ better-sqlite3 and bcrypt native modules working correctly with npm');
@@ -0,0 +1,2 @@
[tools]
node = "lts"
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,19 @@
{
"name": "node-latest-npm-native-deps",
"version": "1.0.0",
"description": "Test npm with native dependencies (better-sqlite3)",
"main": "index.js",
"packageManager": "[email protected]",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"bcrypt": "^6.0.0",
"better-sqlite3": ">=12.10.0",
"canvas": "^3.2.1",
"sharp": "^0.34.5"
},
"keywords": [],
"author": "",
"license": "ISC"
}
@@ -0,0 +1,12 @@
[
{
"expectedOutput": [
"Database test successful!",
"Bcrypt compare result: true",
"better-sqlite3 and bcrypt native modules working correctly with npm"
],
// TEMPORARY: Remove this once NPM_CONFIG_PRODUCTION is removed from node.go:241
// Currently causes: npm warn config production Use `--omit=dev` instead.
"stderrAllowed": true
}
]
+23 -1
View File
@@ -15,6 +15,10 @@ css = Style('''
.alive { background-color: green; }
.dead { background-color: white; }
''')
picolink = Link(
rel="stylesheet",
href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css",
)
gridlink = Link(rel="stylesheet", href="https://cdnjs.cloudflare.com/ajax/libs/flexboxgrid/6.3.1/flexboxgrid.min.css", type="text/css")
htmx_ws = Script(src="https://unpkg.com/[email protected]/ws.js")
app = FastHTML(hdrs=(picolink, gridlink, css, htmx_ws))
@@ -78,7 +82,25 @@ async def background_task():
await update_players()
await asyncio.sleep(1.0)
background_task_coroutine = asyncio.create_task(background_task())
background_task_handle = None
@app.on_event('startup')
async def startup():
global background_task_handle
if background_task_handle is None or background_task_handle.done():
background_task_handle = asyncio.create_task(background_task())
@app.on_event('shutdown')
async def shutdown():
global background_task_handle
if background_task_handle is None:
return
background_task_handle.cancel()
try:
await background_task_handle
except asyncio.CancelledError:
pass
background_task_handle = None
@rt('/update')
async def put(x: int, y: int):
+3 -1
View File
@@ -10,7 +10,9 @@
"expectedOutput": ["Free-threaded build: True", "x86_64"],
"envs": {
"MISE_PYTHON_COMPILE": "0",
"MISE_PYTHON_PRECOMPILED_FLAVOR": "freethreaded+pgo-full"
// not all variants are available across all platforms, you can check variants using this script
// gh api repos/astral-sh/python-build-standalone/releases/latest --jq '.assets[] | select(.name=="SHA256SUMS") | .browser_download_url' | xargs curl -sL | fzf
"MISE_PYTHON_PRECOMPILED_FLAVOR": "freethreaded"
}
}
]
@@ -1 +1 @@
3.13.1
3.13.3
@@ -9,11 +9,15 @@
],
"envs": {
"RAILPACK_DEPLOY_APT_PACKAGES": "curl",
"RAILPACK_BUILD_APT_PACKAGES": "python3-venv",
"RAILPACK_PACKAGES": "pipx pipx:httpie jq",
// this package is strictly here to check if we can install an apt package available on build only
"RAILPACK_BUILD_APT_PACKAGES": "dnsutils",
// test packages requiring a different runtime
// py is required for pipx to run properly, system python doesn't work well with mise and various build requirements
"RAILPACK_PACKAGES": "python pipx pipx:httpie jq",
"RAILPACK_INSTALL_CMD": "mkdir -p artifacts && echo \"Custom Install\" > artifacts/install.txt",
"RAILPACK_BUILD_CMD": "which jq && echo \"Custom Build\" > artifacts/build.txt",
"RAILPACK_START_CMD": "cat artifacts/install.txt && cat artifacts/build.txt && echo \"Custom Start\" && which curl && which http && which jq"
// railpack packages are available in build and install
"RAILPACK_BUILD_CMD": "which jq && dig -v && echo \"Custom Build\" > artifacts/build.txt",
"RAILPACK_START_CMD": "cat artifacts/install.txt && ! command -v dig >/dev/null && cat artifacts/build.txt && echo \"Custom Start\" && which curl && which http && which jq"
}
},
{