@stll/oxlint-config 1.8.0 → 2.0.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 (63) hide show
  1. package/README.md +99 -67
  2. package/dist/cloud-setup-cli.cjs +5 -1
  3. package/dist/cloud-setup-cli.cjs.map +1 -1
  4. package/dist/cloud-setup-cli.mjs +6 -2
  5. package/dist/cloud-setup-cli.mjs.map +1 -1
  6. package/dist/dependabot.d.cts +0 -19
  7. package/dist/dependabot.d.mts +0 -19
  8. package/dist/git-tracked-output.cjs +1 -1
  9. package/dist/git-tracked-output.mjs +1 -1
  10. package/dist/publish-artifact-syntax.cjs +1 -1
  11. package/dist/publish-artifact-syntax.mjs +1 -1
  12. package/dist/publish-contract-cli.cjs +2 -2
  13. package/dist/publish-contract-cli.mjs +2 -2
  14. package/dist/quarantine-cli.cjs +3 -2
  15. package/dist/quarantine-cli.cjs.map +1 -1
  16. package/dist/quarantine-cli.mjs +3 -2
  17. package/dist/quarantine-cli.mjs.map +1 -1
  18. package/dist/quarantine-policy.d.cts +25 -2
  19. package/dist/quarantine-policy.d.mts +25 -2
  20. package/dist/quarantine-policy2.cjs +177 -5
  21. package/dist/quarantine-policy2.cjs.map +1 -1
  22. package/dist/quarantine-policy2.mjs +166 -6
  23. package/dist/quarantine-policy2.mjs.map +1 -1
  24. package/dist/toolchain-changed-cli.cjs +1477 -2
  25. package/dist/toolchain-changed-cli.cjs.map +1 -1
  26. package/dist/toolchain-changed-cli.mjs +1474 -1
  27. package/dist/toolchain-changed-cli.mjs.map +1 -1
  28. package/dist/toolchain-check-cli.cjs +2 -0
  29. package/dist/toolchain-check-cli.cjs.map +1 -1
  30. package/dist/toolchain-check-cli.mjs +2 -0
  31. package/dist/toolchain-check-cli.mjs.map +1 -1
  32. package/dist/toolchain-guard.cjs +355 -241
  33. package/dist/toolchain-guard.cjs.map +1 -1
  34. package/dist/toolchain-guard.mjs +352 -244
  35. package/dist/toolchain-guard.mjs.map +1 -1
  36. package/dist/toolchain-inputs.cjs +13 -40
  37. package/dist/toolchain-inputs.cjs.map +1 -1
  38. package/dist/toolchain-inputs.mjs +13 -40
  39. package/dist/toolchain-inputs.mjs.map +1 -1
  40. package/dist/toolchain-schema.cjs +69 -46
  41. package/dist/toolchain-schema.cjs.map +1 -1
  42. package/dist/toolchain-schema.mjs +69 -47
  43. package/dist/toolchain-schema.mjs.map +1 -1
  44. package/dist/typecheck-probe-cli.cjs +40 -2
  45. package/dist/typecheck-probe-cli.cjs.map +1 -1
  46. package/dist/typecheck-probe-cli.mjs +39 -1
  47. package/dist/typecheck-probe-cli.mjs.map +1 -1
  48. package/package.json +3 -4
  49. package/toolchain.json +2 -28
  50. package/dist/toolchain-changed.cjs +0 -1484
  51. package/dist/toolchain-changed.cjs.map +0 -1
  52. package/dist/toolchain-changed.mjs +0 -1477
  53. package/dist/toolchain-changed.mjs.map +0 -1
  54. package/dist/typecheck-parity-cli.cjs +0 -71
  55. package/dist/typecheck-parity-cli.cjs.map +0 -1
  56. package/dist/typecheck-parity-cli.d.cts +0 -1
  57. package/dist/typecheck-parity-cli.d.mts +0 -1
  58. package/dist/typecheck-parity-cli.mjs +0 -71
  59. package/dist/typecheck-parity-cli.mjs.map +0 -1
  60. package/dist/typecheck-parity.cjs +0 -907
  61. package/dist/typecheck-parity.cjs.map +0 -1
  62. package/dist/typecheck-parity.mjs +0 -896
  63. package/dist/typecheck-parity.mjs.map +0 -1
@@ -575,10 +575,12 @@ const parsePrepare = (input) => {
575
575
  const parseCloudSetup = (input) => {
576
576
  if (input === void 0) return void 0;
577
577
  if (typeof input !== "object" || input === null || Array.isArray(input)) throw new Error("cloud must be an object");
578
- for (const key of Object.keys(input)) if (key !== "services" && key !== "install" && key !== "envFile" && key !== "rust" && key !== "tools" && key !== "prepare") throw new Error(`unsupported cloud key: ${key}`);
578
+ for (const key of Object.keys(input)) if (key !== "services" && key !== "install" && key !== "envFile" && key !== "rust" && key !== "tools" && key !== "prepare" && key !== "submodules") throw new Error(`unsupported cloud key: ${key}`);
579
579
  const rust = parseRust("rust" in input ? input.rust : void 0);
580
580
  const tools = parseTools("tools" in input ? input.tools : void 0);
581
581
  const prepare = parsePrepare("prepare" in input ? input.prepare : void 0);
582
+ const submodules = "submodules" in input ? input.submodules : false;
583
+ if (typeof submodules !== "boolean") throw new Error("cloud.submodules must be a boolean when provided");
582
584
  const extensions = {
583
585
  ...rust === void 0 ? {} : { rust },
584
586
  ...tools === void 0 ? {} : { tools },
@@ -599,6 +601,7 @@ const parseCloudSetup = (input) => {
599
601
  return {
600
602
  services,
601
603
  install,
604
+ ...submodules ? { submodules } : {},
602
605
  ...extensions,
603
606
  ...services.length === 0 ? {} : { envFile: parseEnvFile(input) }
604
607
  };
@@ -1144,8 +1147,6 @@ NODE_DIR="/opt/stll-cloud/node/$NODE_VERSION"
1144
1147
  BUN_DIR="/opt/stll-cloud/bun/$BUN_VERSION"
1145
1148
  export PATH="$NODE_DIR/bin:$BUN_DIR:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
1146
1149
  BUN_CACHE="/var/cache/stll-cloud/bun/$OUTPUT_UID"
1147
- DEPENDENCY_STATE_ROOT=/var/lib/stll-cloud
1148
- DEPENDENCY_STAMP="$DEPENDENCY_STATE_ROOT/dependencies-$(printf '%s' "$REPO_ROOT" | sha256sum | cut -d' ' -f1).sha256"
1149
1150
  @ENV_ASSIGNMENTS@
1150
1151
  [[ -f "$REPO_ROOT/.node-version" && ! -L "$REPO_ROOT/.node-version" ]] || fail 'A regular root .node-version is required'
1151
1152
  [[ "$(awk 'NF { if (++count > 1 || NF != 1) exit 1; value=$1 } END { if (count != 1) exit 1; print value }' "$REPO_ROOT/.node-version")" == "$NODE_VERSION" ]] || fail 'Node selector changed; regenerate cloud-setup.sh'
@@ -1305,49 +1306,16 @@ process.stdout.write([...hosts].sort().join(","));
1305
1306
  network_run "$download_hosts" 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" BUN_INSTALL_CACHE_DIR="$BUN_CACHE" PATH="$PATH" BUN_CONFIG_HTTP_IDLE_TIMEOUT=20 "$BUN_DIR/bun" @INSTALL_ARGS@
1306
1307
  }
1307
1308
 
1308
- dependency_hash() {
1309
- [[ -f bun.lock && ! -L bun.lock ]] || fail 'A regular root bun.lock is required'
1310
- sha256sum -- bun.lock | cut -d ' ' -f1
1311
- }
1312
- prepare_dependency_state() {
1313
- [[ ! -L "$DEPENDENCY_STATE_ROOT" ]] || fail 'Dependency state root must not be a symlink'
1314
- if [[ -e "$DEPENDENCY_STATE_ROOT" ]]; then
1315
- [[ -d "$DEPENDENCY_STATE_ROOT" && "$(stat -c '%u:%a' "$DEPENDENCY_STATE_ROOT")" == 0:755 ]] || fail 'Invalid dependency state root'
1316
- else
1317
- install -d -m 755 -o root -g root "$DEPENDENCY_STATE_ROOT"
1318
- fi
1319
- [[ ! -L "$DEPENDENCY_STAMP" ]] || fail 'Dependency stamp must not be a symlink'
1320
- if [[ -e "$DEPENDENCY_STAMP" ]]; then
1321
- [[ -f "$DEPENDENCY_STAMP" && "$(stat -c '%u:%a' "$DEPENDENCY_STAMP")" == 0:644 ]] || fail 'Invalid dependency stamp'
1322
- fi
1323
- }
1324
- write_dependency_stamp() {
1325
- local temporary
1326
- prepare_dependency_state
1327
- temporary="$(mktemp "$DEPENDENCY_STATE_ROOT/.dependencies.XXXXXX")"
1328
- chmod 644 "$temporary"
1329
- dependency_hash > "$temporary"
1330
- mv -f -- "$temporary" "$DEPENDENCY_STAMP"
1331
- }
1309
+ # The frozen install is the check: it reads every input the package manager
1310
+ # uses and changes nothing on a current tree, so no stamp stands in for it.
1332
1311
  install_dependencies() {
1333
- prepare_dependency_state
1334
- rm -f -- "$DEPENDENCY_STAMP"
1335
1312
  dependency_install
1336
- write_dependency_stamp
1337
1313
  }
1338
1314
  sync_dependencies() {
1339
- local expected installed=''
1340
- prepare_dependency_state
1341
- expected="$(dependency_hash)"
1342
- if [[ -f "$DEPENDENCY_STAMP" ]]; then IFS= read -r installed < "$DEPENDENCY_STAMP" || true; fi
1343
- # The stamp describes an installation; without node_modules there is none.
1344
- [[ "$installed" == "$expected" && -d "$REPO_ROOT/node_modules" ]] && return
1345
- rm -f -- "$DEPENDENCY_STAMP"
1346
1315
  dependency_install || fail 'bun.lock mismatch; dependency installation failed'
1347
- write_dependency_stamp
1348
1316
  }
1349
1317
 
1350
- @SERVICE_INSTALL@
1318
+ @SUBMODULE_FUNCTION@@SERVICE_INSTALL@
1351
1319
  @SERVICE_START@
1352
1320
 
1353
1321
  @TOOL_INSTALL@
@@ -1367,7 +1335,7 @@ if [[ "$MODE" == install ]]; then
1367
1335
  step shell install_shell_environment
1368
1336
  # Login routes read the installed profile, so they are checked after it.
1369
1337
  step routes verify_bun_routes
1370
- step dependencies install_dependencies
1338
+ @SUBMODULE_STEP@ step dependencies install_dependencies
1371
1339
  @PREPARE_STEP@
1372
1340
  exit 0
1373
1341
  fi
@@ -1528,6 +1496,11 @@ const generateCloudSetup = ({ policy, cloud, nodeVersion, files = {}, rustExcept
1528
1496
  ["@SESSION_ENVIRONMENT_CALL@", selected.services.length === 0 ? "" : "if [[ \"$MODE\" == session ]]; then emit_session_environment; fi"],
1529
1497
  ["@ENV_WRITE@", selected.envFile === void 0 ? "" : "write_environment"],
1530
1498
  ["@PREPARE_FUNCTION@", renderPrepare(selected.prepare, files)],
1499
+ ["@SUBMODULE_FUNCTION@", selected.submodules ? String.raw`install_submodules() {
1500
+ network_run github.com 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" git submodule sync --recursive
1501
+ network_run github.com 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" git submodule update --init --recursive --depth 1
1502
+ }`.concat("\n\n") : ""],
1503
+ ["@SUBMODULE_STEP@", selected.submodules ? " step submodules install_submodules\n" : ""],
1531
1504
  ["@PREPARE_STEP@", selected.prepare === void 0 ? "" : " step prepare prepare_sources"],
1532
1505
  ["@SERVICE_INSTALL@", renderCloudServiceInstall({
1533
1506
  services,