@stll/oxlint-config 1.9.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 (67) hide show
  1. package/README.md +93 -63
  2. package/dist/cloud-setup-cli.cjs +1 -2
  3. package/dist/cloud-setup-cli.cjs.map +1 -1
  4. package/dist/cloud-setup-cli.mjs +1 -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 +351 -242
  33. package/dist/toolchain-guard.cjs.map +1 -1
  34. package/dist/toolchain-guard.mjs +347 -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 +2 -44
  41. package/dist/toolchain-schema.cjs.map +1 -1
  42. package/dist/toolchain-schema.mjs +2 -44
  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-bun.cjs +0 -34
  51. package/dist/toolchain-bun.cjs.map +0 -1
  52. package/dist/toolchain-bun.mjs +0 -23
  53. package/dist/toolchain-bun.mjs.map +0 -1
  54. package/dist/toolchain-changed.cjs +0 -1484
  55. package/dist/toolchain-changed.cjs.map +0 -1
  56. package/dist/toolchain-changed.mjs +0 -1477
  57. package/dist/toolchain-changed.mjs.map +0 -1
  58. package/dist/typecheck-parity-cli.cjs +0 -71
  59. package/dist/typecheck-parity-cli.cjs.map +0 -1
  60. package/dist/typecheck-parity-cli.d.cts +0 -1
  61. package/dist/typecheck-parity-cli.d.mts +0 -1
  62. package/dist/typecheck-parity-cli.mjs +0 -71
  63. package/dist/typecheck-parity-cli.mjs.map +0 -1
  64. package/dist/typecheck-parity.cjs +0 -908
  65. package/dist/typecheck-parity.cjs.map +0 -1
  66. package/dist/typecheck-parity.mjs +0 -897
  67. package/dist/typecheck-parity.mjs.map +0 -1
@@ -578,10 +578,12 @@ const parsePrepare = (input) => {
578
578
  const parseCloudSetup = (input) => {
579
579
  if (input === void 0) return void 0;
580
580
  if (typeof input !== "object" || input === null || Array.isArray(input)) throw new Error("cloud must be an object");
581
- 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}`);
581
+ 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}`);
582
582
  const rust = parseRust("rust" in input ? input.rust : void 0);
583
583
  const tools = parseTools("tools" in input ? input.tools : void 0);
584
584
  const prepare = parsePrepare("prepare" in input ? input.prepare : void 0);
585
+ const submodules = "submodules" in input ? input.submodules : false;
586
+ if (typeof submodules !== "boolean") throw new Error("cloud.submodules must be a boolean when provided");
585
587
  const extensions = {
586
588
  ...rust === void 0 ? {} : { rust },
587
589
  ...tools === void 0 ? {} : { tools },
@@ -602,6 +604,7 @@ const parseCloudSetup = (input) => {
602
604
  return {
603
605
  services,
604
606
  install,
607
+ ...submodules ? { submodules } : {},
605
608
  ...extensions,
606
609
  ...services.length === 0 ? {} : { envFile: parseEnvFile(input) }
607
610
  };
@@ -1147,8 +1150,6 @@ NODE_DIR="/opt/stll-cloud/node/$NODE_VERSION"
1147
1150
  BUN_DIR="/opt/stll-cloud/bun/$BUN_VERSION"
1148
1151
  export PATH="$NODE_DIR/bin:$BUN_DIR:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
1149
1152
  BUN_CACHE="/var/cache/stll-cloud/bun/$OUTPUT_UID"
1150
- DEPENDENCY_STATE_ROOT=/var/lib/stll-cloud
1151
- DEPENDENCY_STAMP="$DEPENDENCY_STATE_ROOT/dependencies-$(printf '%s' "$REPO_ROOT" | sha256sum | cut -d' ' -f1).sha256"
1152
1153
  @ENV_ASSIGNMENTS@
1153
1154
  [[ -f "$REPO_ROOT/.node-version" && ! -L "$REPO_ROOT/.node-version" ]] || fail 'A regular root .node-version is required'
1154
1155
  [[ "$(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'
@@ -1308,49 +1309,16 @@ process.stdout.write([...hosts].sort().join(","));
1308
1309
  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@
1309
1310
  }
1310
1311
 
1311
- dependency_hash() {
1312
- [[ -f bun.lock && ! -L bun.lock ]] || fail 'A regular root bun.lock is required'
1313
- sha256sum -- bun.lock | cut -d ' ' -f1
1314
- }
1315
- prepare_dependency_state() {
1316
- [[ ! -L "$DEPENDENCY_STATE_ROOT" ]] || fail 'Dependency state root must not be a symlink'
1317
- if [[ -e "$DEPENDENCY_STATE_ROOT" ]]; then
1318
- [[ -d "$DEPENDENCY_STATE_ROOT" && "$(stat -c '%u:%a' "$DEPENDENCY_STATE_ROOT")" == 0:755 ]] || fail 'Invalid dependency state root'
1319
- else
1320
- install -d -m 755 -o root -g root "$DEPENDENCY_STATE_ROOT"
1321
- fi
1322
- [[ ! -L "$DEPENDENCY_STAMP" ]] || fail 'Dependency stamp must not be a symlink'
1323
- if [[ -e "$DEPENDENCY_STAMP" ]]; then
1324
- [[ -f "$DEPENDENCY_STAMP" && "$(stat -c '%u:%a' "$DEPENDENCY_STAMP")" == 0:644 ]] || fail 'Invalid dependency stamp'
1325
- fi
1326
- }
1327
- write_dependency_stamp() {
1328
- local temporary
1329
- prepare_dependency_state
1330
- temporary="$(mktemp "$DEPENDENCY_STATE_ROOT/.dependencies.XXXXXX")"
1331
- chmod 644 "$temporary"
1332
- dependency_hash > "$temporary"
1333
- mv -f -- "$temporary" "$DEPENDENCY_STAMP"
1334
- }
1312
+ # The frozen install is the check: it reads every input the package manager
1313
+ # uses and changes nothing on a current tree, so no stamp stands in for it.
1335
1314
  install_dependencies() {
1336
- prepare_dependency_state
1337
- rm -f -- "$DEPENDENCY_STAMP"
1338
1315
  dependency_install
1339
- write_dependency_stamp
1340
1316
  }
1341
1317
  sync_dependencies() {
1342
- local expected installed=''
1343
- prepare_dependency_state
1344
- expected="$(dependency_hash)"
1345
- if [[ -f "$DEPENDENCY_STAMP" ]]; then IFS= read -r installed < "$DEPENDENCY_STAMP" || true; fi
1346
- # The stamp describes an installation; without node_modules there is none.
1347
- [[ "$installed" == "$expected" && -d "$REPO_ROOT/node_modules" ]] && return
1348
- rm -f -- "$DEPENDENCY_STAMP"
1349
1318
  dependency_install || fail 'bun.lock mismatch; dependency installation failed'
1350
- write_dependency_stamp
1351
1319
  }
1352
1320
 
1353
- @SERVICE_INSTALL@
1321
+ @SUBMODULE_FUNCTION@@SERVICE_INSTALL@
1354
1322
  @SERVICE_START@
1355
1323
 
1356
1324
  @TOOL_INSTALL@
@@ -1370,7 +1338,7 @@ if [[ "$MODE" == install ]]; then
1370
1338
  step shell install_shell_environment
1371
1339
  # Login routes read the installed profile, so they are checked after it.
1372
1340
  step routes verify_bun_routes
1373
- step dependencies install_dependencies
1341
+ @SUBMODULE_STEP@ step dependencies install_dependencies
1374
1342
  @PREPARE_STEP@
1375
1343
  exit 0
1376
1344
  fi
@@ -1531,6 +1499,11 @@ const generateCloudSetup = ({ policy, cloud, nodeVersion, files = {}, rustExcept
1531
1499
  ["@SESSION_ENVIRONMENT_CALL@", selected.services.length === 0 ? "" : "if [[ \"$MODE\" == session ]]; then emit_session_environment; fi"],
1532
1500
  ["@ENV_WRITE@", selected.envFile === void 0 ? "" : "write_environment"],
1533
1501
  ["@PREPARE_FUNCTION@", renderPrepare(selected.prepare, files)],
1502
+ ["@SUBMODULE_FUNCTION@", selected.submodules ? String.raw`install_submodules() {
1503
+ network_run github.com 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" git submodule sync --recursive
1504
+ network_run github.com 240 runuser -u "$OUTPUT_USER" -- env HOME="$OUTPUT_HOME" git submodule update --init --recursive --depth 1
1505
+ }`.concat("\n\n") : ""],
1506
+ ["@SUBMODULE_STEP@", selected.submodules ? " step submodules install_submodules\n" : ""],
1534
1507
  ["@PREPARE_STEP@", selected.prepare === void 0 ? "" : " step prepare prepare_sources"],
1535
1508
  ["@SERVICE_INSTALL@", renderCloudServiceInstall({
1536
1509
  services,