@stll/oxlint-config 1.7.0 → 1.9.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.
Files changed (51) hide show
  1. package/README.md +9 -7
  2. package/dist/cloud-setup-cli.cjs +6 -1
  3. package/dist/cloud-setup-cli.cjs.map +1 -1
  4. package/dist/cloud-setup-cli.mjs +6 -1
  5. package/dist/cloud-setup-cli.mjs.map +1 -1
  6. package/dist/dependabot.d.cts +13 -7
  7. package/dist/dependabot.d.mts +13 -7
  8. package/dist/engine-support.d.cts +4 -5
  9. package/dist/engine-support.d.mts +4 -5
  10. package/dist/index.d.cts +11 -11
  11. package/dist/index.d.mts +11 -11
  12. package/dist/publish-build-target-nuxt-helper.d.cts +3 -4
  13. package/dist/publish-build-target-nuxt-helper.d.mts +3 -4
  14. package/dist/publish-build-target-vite-dts-helper.d.cts +2 -2
  15. package/dist/publish-build-target-vite-dts-helper.d.mts +2 -2
  16. package/dist/publish-build-target-vite-dts-helper2.cjs +47 -4
  17. package/dist/publish-build-target-vite-dts-helper2.cjs.map +1 -1
  18. package/dist/publish-build-target-vite-dts-helper2.mjs +47 -4
  19. package/dist/publish-build-target-vite-dts-helper2.mjs.map +1 -1
  20. package/dist/publish-contract-cli.cjs +2 -2
  21. package/dist/publish-contract-cli.cjs.map +1 -1
  22. package/dist/publish-contract-cli.mjs +2 -2
  23. package/dist/publish-contract-cli.mjs.map +1 -1
  24. package/dist/quarantine-policy.d.cts +9 -9
  25. package/dist/quarantine-policy.d.mts +9 -9
  26. package/dist/toolchain-bun.cjs +34 -0
  27. package/dist/toolchain-bun.cjs.map +1 -0
  28. package/dist/toolchain-bun.mjs +23 -0
  29. package/dist/toolchain-bun.mjs.map +1 -0
  30. package/dist/toolchain-dependabot.cjs +6 -3
  31. package/dist/toolchain-dependabot.cjs.map +1 -1
  32. package/dist/toolchain-dependabot.mjs +6 -3
  33. package/dist/toolchain-dependabot.mjs.map +1 -1
  34. package/dist/toolchain-guard.cjs +8 -3
  35. package/dist/toolchain-guard.cjs.map +1 -1
  36. package/dist/toolchain-guard.mjs +8 -3
  37. package/dist/toolchain-guard.mjs.map +1 -1
  38. package/dist/toolchain-inputs.cjs +61 -9
  39. package/dist/toolchain-inputs.cjs.map +1 -1
  40. package/dist/toolchain-inputs.mjs +61 -9
  41. package/dist/toolchain-inputs.mjs.map +1 -1
  42. package/dist/toolchain-schema.cjs +77 -2
  43. package/dist/toolchain-schema.cjs.map +1 -1
  44. package/dist/toolchain-schema.mjs +77 -3
  45. package/dist/toolchain-schema.mjs.map +1 -1
  46. package/dist/typecheck-parity.cjs +2 -1
  47. package/dist/typecheck-parity.cjs.map +1 -1
  48. package/dist/typecheck-parity.mjs +2 -1
  49. package/dist/typecheck-parity.mjs.map +1 -1
  50. package/package.json +5 -5
  51. package/toolchain.json +12 -7
@@ -1191,16 +1191,18 @@ verify_bun_routes() {
1191
1191
  [[ -n "$minimal_path" ]] || minimal_path=/usr/local/bin:/usr/bin:/bin
1192
1192
  root_mise="$(printenv STLL_CLOUD_TEST_ROOT_MISE || true)"
1193
1193
  [[ -n "$root_mise" ]] || root_mise=/root/.local/share/mise
1194
- bun_route 'the setup PATH' env PATH="$PATH" sh
1195
- bun_route 'sh -c' sh
1194
+ # An absolute shell: a PATH entry such as a user-writable mise shims
1195
+ # directory must never supply the program that root runs.
1196
+ bun_route 'the setup PATH' env PATH="$PATH" /bin/sh
1197
+ bun_route 'sh -c' /bin/sh
1196
1198
  bun_route 'bash -lc' "$login_shell" -l
1197
- bun_route 'the minimal system PATH' env -i PATH="$minimal_path" sh
1199
+ bun_route 'the minimal system PATH' env -i PATH="$minimal_path" /bin/sh
1198
1200
  configured_mise="$(printenv MISE_DATA_DIR || true)"
1199
1201
  for mise_root in "$configured_mise" "$OUTPUT_HOME/.local/share/mise" "$root_mise"; do
1200
1202
  [[ -n "$mise_root" ]] || continue
1201
1203
  shims="$mise_root/shims"
1202
1204
  [[ -d "$shims" ]] || continue
1203
- bun_route "mise shims PATH $shims" env PATH="$shims:$PATH" sh
1205
+ bun_route "mise shims PATH $shims" env PATH="$shims:$PATH" /bin/sh
1204
1206
  done
1205
1207
  }
1206
1208
  replace_image_buns() {
@@ -1227,7 +1229,8 @@ replace_image_buns() {
1227
1229
  [[ -d "$candidate" ]] && continue
1228
1230
  [[ "$(readlink -f -- "$candidate")" == "$(readlink -f -- "$BUN_DIR/bun")" ]] || ln -sfnT -- "$BUN_DIR/bun" "$candidate"
1229
1231
  done
1230
- done < <(printf '%s' "$PATH" | tr : '\n')
1232
+ # The trailing newline lets read return the last PATH entry too.
1233
+ done < <(printf '%s\n' "$PATH" | tr : '\n')
1231
1234
  }
1232
1235
  install_runtimes() (
1233
1236
  if [[ ! -s /etc/ssl/certs/ca-certificates.crt ]]; then
@@ -1267,7 +1270,6 @@ install_runtimes() (
1267
1270
  ln -sfnT -- "$NODE_DIR/bin/npx" /usr/local/bin/npx
1268
1271
  ln -sfnT -- "$BUN_DIR/bun" /usr/local/bin/bun
1269
1272
  replace_image_buns
1270
- verify_bun_routes
1271
1273
  )
1272
1274
 
1273
1275
  dependency_install() {
@@ -1341,7 +1343,8 @@ sync_dependencies() {
1341
1343
  prepare_dependency_state
1342
1344
  expected="$(dependency_hash)"
1343
1345
  if [[ -f "$DEPENDENCY_STAMP" ]]; then IFS= read -r installed < "$DEPENDENCY_STAMP" || true; fi
1344
- [[ "$installed" == "$expected" ]] && return
1346
+ # The stamp describes an installation; without node_modules there is none.
1347
+ [[ "$installed" == "$expected" && -d "$REPO_ROOT/node_modules" ]] && return
1345
1348
  rm -f -- "$DEPENDENCY_STAMP"
1346
1349
  dependency_install || fail 'bun.lock mismatch; dependency installation failed'
1347
1350
  write_dependency_stamp
@@ -1365,6 +1368,8 @@ if [[ "$MODE" == install ]]; then
1365
1368
  step services install_services
1366
1369
  step tools install_tools
1367
1370
  step shell install_shell_environment
1371
+ # Login routes read the installed profile, so they are checked after it.
1372
+ step routes verify_bun_routes
1368
1373
  step dependencies install_dependencies
1369
1374
  @PREPARE_STEP@
1370
1375
  exit 0
@@ -1565,7 +1570,7 @@ const releasedSessionStartHook = (script) => ({
1565
1570
  fi`
1566
1571
  }]
1567
1572
  });
1568
- const sessionStartHook = (script) => ({
1573
+ const releasedTemporaryFileHook = (script) => ({
1569
1574
  matcher: "",
1570
1575
  hooks: [{
1571
1576
  type: "command",
@@ -1606,6 +1611,52 @@ $cloud_shell_exports"
1606
1611
  fi`
1607
1612
  }]
1608
1613
  });
1614
+ const sessionStartHook = (script) => ({
1615
+ matcher: "",
1616
+ hooks: [{
1617
+ type: "command",
1618
+ command: `if [ "\${CLAUDE_CODE_REMOTE:-}" = "true" ]; then
1619
+ cloud_setup_incomplete() {
1620
+ printf '%s\\n' 'Cloud setup could not establish a verified session environment. From the repository root, run bash .agents/cloud-setup.sh install and then bash .agents/cloud-setup.sh start. Do not assume pinned tools or services are ready until start succeeds.'
1621
+ printf '%s\\n' "cloud-setup: $1" >&2
1622
+ exit 0
1623
+ }
1624
+ if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
1625
+ cloud_session_exports="$(${script} session)" || cloud_setup_incomplete 'startup failed; run install'
1626
+ else
1627
+ ${script} start >&2 || cloud_setup_incomplete 'startup failed; run install'
1628
+ exit 0
1629
+ fi
1630
+ if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
1631
+ if [ ! -s ${cloudShellProfilePath} ]; then
1632
+ cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
1633
+ fi
1634
+ cloud_shell_exports="$(cat ${cloudShellProfilePath})" || cloud_setup_incomplete 'cloud shell profile could not be read; run install'
1635
+ [ -n "$cloud_shell_exports" ] || cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
1636
+ if [ -e "$CLAUDE_ENV_FILE" ] || [ -L "$CLAUDE_ENV_FILE" ]; then
1637
+ [ -f "$CLAUDE_ENV_FILE" ] && [ ! -L "$CLAUDE_ENV_FILE" ] || cloud_setup_incomplete 'session environment must be a regular file; check its path and rerun start'
1638
+ fi
1639
+ cloud_env_snapshot="\${CLAUDE_ENV_FILE}.stll-cloud"
1640
+ case "$cloud_env_snapshot" in
1641
+ *"'"*) cloud_setup_incomplete 'session environment path must not contain a single quote; check its path and rerun start' ;;
1642
+ esac
1643
+ if [ -n "$cloud_session_exports" ]; then
1644
+ cloud_session_exports="$cloud_session_exports
1645
+ $cloud_shell_exports"
1646
+ else
1647
+ cloud_session_exports="$cloud_shell_exports"
1648
+ fi
1649
+ cloud_env_temporary="$(umask 077; mktemp "\${cloud_env_snapshot}.XXXXXX")" || cloud_setup_incomplete 'session environment could not be prepared; check its write access and rerun start'
1650
+ printf '%s\\n' "$cloud_session_exports" > "$cloud_env_temporary" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be prepared; check its write access and rerun start'; }
1651
+ mv -f -- "$cloud_env_temporary" "$cloud_env_snapshot" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be persisted; check its write access and rerun start'; }
1652
+ cloud_env_source=". '$cloud_env_snapshot'"
1653
+ if [ ! -f "$CLAUDE_ENV_FILE" ] || ! grep -Fqx -- "$cloud_env_source" "$CLAUDE_ENV_FILE"; then
1654
+ printf '\\n%s\\n' "$cloud_env_source" >> "$CLAUDE_ENV_FILE" || cloud_setup_incomplete 'session environment could not be persisted; check its write access and rerun start'
1655
+ fi
1656
+ fi
1657
+ fi`
1658
+ }]
1659
+ });
1609
1660
  const currentMainSessionStartHook = (script) => ({
1610
1661
  matcher: "",
1611
1662
  hooks: [{
@@ -1632,7 +1683,8 @@ const cloudSessionStartHook = sessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${clou
1632
1683
  const previousCloudSessionStartHooks = [
1633
1684
  releasedSessionStartHook(`bash ${cloudSetupPath}`),
1634
1685
  releasedSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`),
1635
- currentMainSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`)
1686
+ currentMainSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`),
1687
+ releasedTemporaryFileHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`)
1636
1688
  ];
1637
1689
  const cloudAttribution = {
1638
1690
  commit: "",