@stll/oxlint-config 1.4.0 → 1.5.1
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/README.md +90 -14
- package/dist/cloud-setup-cli.cjs +3 -3
- package/dist/cloud-setup-cli.mjs +3 -3
- package/dist/consumer-compat-cli.cjs +2 -2
- package/dist/consumer-compat-cli.mjs +2 -2
- package/dist/dependabot-cli.cjs +34 -10
- package/dist/dependabot-cli.cjs.map +1 -1
- package/dist/dependabot-cli.mjs +35 -11
- package/dist/dependabot-cli.mjs.map +1 -1
- package/dist/dependabot.cjs +2 -0
- package/dist/dependabot.d.cts +12 -2
- package/dist/dependabot.d.mts +12 -2
- package/dist/dependabot.mjs +2 -2
- package/dist/generated-file.cjs +2 -2
- package/dist/generated-file.mjs +2 -2
- package/dist/git-tracked-output.cjs +2 -2
- package/dist/git-tracked-output.mjs +1 -1
- package/dist/jsonc.cjs +66 -0
- package/dist/jsonc.cjs.map +1 -0
- package/dist/jsonc.mjs +61 -0
- package/dist/jsonc.mjs.map +1 -0
- package/dist/publish-artifact-syntax.cjs +2 -2
- package/dist/publish-artifact-syntax.mjs +2 -2
- package/dist/publish-build-target-vite-dts-helper2.cjs +1 -1
- package/dist/publish-build-target-vite-dts-helper2.mjs +1 -1
- package/dist/publish-contract-cli.cjs +2 -2
- package/dist/publish-contract-cli.mjs +1 -1
- package/dist/quarantine-cli.cjs +66 -0
- package/dist/quarantine-cli.cjs.map +1 -0
- package/dist/quarantine-cli.d.cts +1 -0
- package/dist/quarantine-cli.d.mts +1 -0
- package/dist/quarantine-cli.mjs +66 -0
- package/dist/quarantine-cli.mjs.map +1 -0
- package/dist/quarantine-policy.cjs +10 -0
- package/dist/quarantine-policy.d.cts +27 -0
- package/dist/quarantine-policy.d.mts +27 -0
- package/dist/quarantine-policy.mjs +1 -0
- package/dist/quarantine-policy2.cjs +399 -0
- package/dist/quarantine-policy2.cjs.map +1 -0
- package/dist/quarantine-policy2.mjs +352 -0
- package/dist/quarantine-policy2.mjs.map +1 -0
- package/dist/toolchain-changed.cjs +11 -66
- package/dist/toolchain-changed.cjs.map +1 -1
- package/dist/toolchain-changed.mjs +13 -68
- package/dist/toolchain-changed.mjs.map +1 -1
- package/dist/toolchain-check-cli.cjs +1 -0
- package/dist/toolchain-check-cli.cjs.map +1 -1
- package/dist/toolchain-check-cli.mjs +1 -0
- package/dist/toolchain-check-cli.mjs.map +1 -1
- package/dist/toolchain-dependabot.cjs +77 -3
- package/dist/toolchain-dependabot.cjs.map +1 -1
- package/dist/toolchain-dependabot.mjs +66 -4
- package/dist/toolchain-dependabot.mjs.map +1 -1
- package/dist/toolchain-guard.cjs +49 -10
- package/dist/toolchain-guard.cjs.map +1 -1
- package/dist/toolchain-guard.mjs +51 -12
- package/dist/toolchain-guard.mjs.map +1 -1
- package/dist/toolchain-inputs.cjs +104 -18
- package/dist/toolchain-inputs.cjs.map +1 -1
- package/dist/toolchain-inputs.mjs +106 -20
- package/dist/toolchain-inputs.mjs.map +1 -1
- package/dist/typecheck-parity.cjs +4 -3
- package/dist/typecheck-parity.cjs.map +1 -1
- package/dist/typecheck-parity.mjs +4 -3
- package/dist/typecheck-parity.mjs.map +1 -1
- package/dist/typecheck-probe-cli.cjs +2 -2
- package/dist/typecheck-probe-cli.mjs +2 -2
- package/package.json +13 -1
- package/toolchain.json +11 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime.cjs");
|
|
2
2
|
let node_path = require("node:path");
|
|
3
3
|
node_path = require_rolldown_runtime.__toESM(node_path, 1);
|
|
4
|
+
let smol_toml = require("smol-toml");
|
|
4
5
|
let node_crypto = require("node:crypto");
|
|
5
6
|
let semver = require("semver");
|
|
6
|
-
let smol_toml = require("smol-toml");
|
|
7
7
|
let node_util = require("node:util");
|
|
8
8
|
let yaml = require("yaml");
|
|
9
9
|
let picomatch = require("picomatch");
|
|
@@ -700,7 +700,12 @@ const postgresStart = String.raw`
|
|
|
700
700
|
pg_pid="$(head -n 1 "$pg_data/postmaster.pid")"
|
|
701
701
|
service_process "$pg_pid" "$pg_bin/postgres"
|
|
702
702
|
[[ "$(env -u PGSERVICE -u PGSERVICEFILE -u PGOPTIONS PGHOSTADDR=127.0.0.1 PGPASSWORD="$pg_password" PGCONNECT_TIMEOUT=2 "$pg_bin/psql" -X -h 127.0.0.1 -p 55432 -U stll_cloud -d postgres -At -v ON_ERROR_STOP=1 -c "SELECT count(*) FROM pg_database WHERE datname = 'cloud_test'")" == 1 ]] || env -u PGSERVICE -u PGSERVICEFILE -u PGOPTIONS PGHOSTADDR=127.0.0.1 PGPASSWORD="$pg_password" PGCONNECT_TIMEOUT=2 "$pg_bin/createdb" -h 127.0.0.1 -p 55432 -U stll_cloud cloud_test || fail "PostgreSQL test database creation failed"
|
|
703
|
-
|
|
703
|
+
POSTGRES_HOST='127.0.0.1:55432'
|
|
704
|
+
POSTGRES_USER='stll_cloud'
|
|
705
|
+
POSTGRES_PASSWORD="$pg_password"
|
|
706
|
+
POSTGRES_DB_NAME='cloud_test'
|
|
707
|
+
POSTGRES_ADDITIONAL_CONNECTION_DATA=''
|
|
708
|
+
DATABASE_URL="postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB_NAME$POSTGRES_ADDITIONAL_CONNECTION_DATA"
|
|
704
709
|
printf 'postgres: %s\n' "$pg_state"
|
|
705
710
|
`;
|
|
706
711
|
const valkeyStart = String.raw`
|
|
@@ -1096,9 +1101,9 @@ const script = String.raw`#!/usr/bin/env bash
|
|
|
1096
1101
|
# Supported platform: Ubuntu 24.04 (noble), amd64/arm64, root or passwordless sudo.
|
|
1097
1102
|
set -euo pipefail
|
|
1098
1103
|
|
|
1099
|
-
usage() { echo 'Usage: cloud-setup.sh install|start' >&2; exit 2; }
|
|
1104
|
+
usage() { echo 'Usage: cloud-setup.sh install|start|session' >&2; exit 2; }
|
|
1100
1105
|
[[ "$#" == 1 ]] || usage
|
|
1101
|
-
case "$1" in install|start) MODE="$1" ;; *) usage ;; esac
|
|
1106
|
+
case "$1" in install|start|session) MODE="$1" ;; *) usage ;; esac
|
|
1102
1107
|
fail() { echo "cloud-setup: $*" >&2; exit 1; }
|
|
1103
1108
|
trap 'echo "cloud-setup: command failed at line $LINENO" >&2' ERR
|
|
1104
1109
|
# Each phase logs its start and duration so a stalled phase is visible in the task log.
|
|
@@ -1251,6 +1256,8 @@ process.stdout.write([...hosts].sort().join(","));
|
|
|
1251
1256
|
@INPUT_VALIDATION@
|
|
1252
1257
|
|
|
1253
1258
|
@ENV_FUNCTIONS@
|
|
1259
|
+
@ENVIRONMENT_VALUES@
|
|
1260
|
+
@SESSION_ENVIRONMENT@
|
|
1254
1261
|
|
|
1255
1262
|
@PREPARE_FUNCTION@
|
|
1256
1263
|
|
|
@@ -1263,14 +1270,38 @@ if [[ "$MODE" == install ]]; then
|
|
|
1263
1270
|
@PREPARE_STEP@
|
|
1264
1271
|
exit 0
|
|
1265
1272
|
fi
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
step
|
|
1269
|
-
step
|
|
1270
|
-
|
|
1271
|
-
step
|
|
1272
|
-
|
|
1273
|
-
|
|
1273
|
+
@ENV_INITIALIZE@
|
|
1274
|
+
start_environment() {
|
|
1275
|
+
step runtime-check runtime_ready
|
|
1276
|
+
step tool-check verify_tools
|
|
1277
|
+
step shell install_shell_environment
|
|
1278
|
+
step shell-check verify_shell_environment
|
|
1279
|
+
@ENV_VALIDATE@
|
|
1280
|
+
step state prepare_state
|
|
1281
|
+
step service-start start_services
|
|
1282
|
+
@ENV_WRITE@
|
|
1283
|
+
}
|
|
1284
|
+
if [[ "$MODE" == session ]]; then
|
|
1285
|
+
start_environment >&2
|
|
1286
|
+
else
|
|
1287
|
+
start_environment
|
|
1288
|
+
fi
|
|
1289
|
+
@SESSION_ENVIRONMENT_CALL@
|
|
1290
|
+
`;
|
|
1291
|
+
const environmentValuesFunction = String.raw`
|
|
1292
|
+
environment_values() {
|
|
1293
|
+
local emit="$1"
|
|
1294
|
+
"$emit" NODE_ENV test
|
|
1295
|
+
if [[ -n "$DATABASE_URL" ]]; then
|
|
1296
|
+
"$emit" DATABASE_URL "$DATABASE_URL"
|
|
1297
|
+
"$emit" POSTGRES_HOST "$POSTGRES_HOST"
|
|
1298
|
+
"$emit" POSTGRES_USER "$POSTGRES_USER"
|
|
1299
|
+
"$emit" POSTGRES_PASSWORD "$POSTGRES_PASSWORD"
|
|
1300
|
+
"$emit" POSTGRES_DB_NAME "$POSTGRES_DB_NAME"
|
|
1301
|
+
"$emit" POSTGRES_ADDITIONAL_CONNECTION_DATA "$POSTGRES_ADDITIONAL_CONNECTION_DATA"
|
|
1302
|
+
fi
|
|
1303
|
+
if [[ -n "$REDIS_URL" ]]; then "$emit" REDIS_URL "$REDIS_URL"; fi
|
|
1304
|
+
}
|
|
1274
1305
|
`;
|
|
1275
1306
|
const environmentFunctions = String.raw`
|
|
1276
1307
|
validate_environment() {
|
|
@@ -1286,20 +1317,26 @@ validate_environment() {
|
|
|
1286
1317
|
[[ "$first_line" == "$ENV_MARKER" ]] || fail 'Refusing to overwrite an unowned environment file'
|
|
1287
1318
|
fi
|
|
1288
1319
|
}
|
|
1320
|
+
environment_file_value() { printf '%s=%s\n' "$1" "$2"; }
|
|
1289
1321
|
write_environment() {
|
|
1290
1322
|
validate_environment
|
|
1291
1323
|
local env_path="$REPO_ROOT/$ENV_FILE" temporary
|
|
1292
1324
|
temporary="$(mktemp "$(dirname -- "$env_path")/.stll-cloud-env.XXXXXX")"
|
|
1293
1325
|
chmod 600 "$temporary"
|
|
1294
1326
|
{
|
|
1295
|
-
printf '%s\n' "$ENV_MARKER"
|
|
1296
|
-
|
|
1297
|
-
if [[ -n "$REDIS_URL" ]]; then printf 'REDIS_URL=%s\n' "$REDIS_URL"; fi
|
|
1327
|
+
printf '%s\n' "$ENV_MARKER"
|
|
1328
|
+
environment_values environment_file_value
|
|
1298
1329
|
} > "$temporary"
|
|
1299
1330
|
chown "$OUTPUT_UID:$OUTPUT_GID" "$temporary"
|
|
1300
1331
|
mv -f -- "$temporary" "$env_path"
|
|
1301
1332
|
}
|
|
1302
1333
|
`;
|
|
1334
|
+
const sessionEnvironmentFunction = String.raw`
|
|
1335
|
+
environment_shell_value() { printf 'export %s=%q\n' "$1" "$2"; }
|
|
1336
|
+
emit_session_environment() {
|
|
1337
|
+
environment_values environment_shell_value
|
|
1338
|
+
}
|
|
1339
|
+
`;
|
|
1303
1340
|
const shellQuote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
|
|
1304
1341
|
const renderPrepare = (prepare, files) => {
|
|
1305
1342
|
if (prepare === void 0) return "";
|
|
@@ -1353,7 +1390,11 @@ const generateCloudSetup = ({ policy, cloud, nodeVersion, files = {}, rustExcept
|
|
|
1353
1390
|
["@NODE@", exactNode],
|
|
1354
1391
|
["@ENV_ASSIGNMENTS@", selected.envFile === void 0 ? "" : `ENV_FILE=${shellQuote(selected.envFile)}\nENV_MARKER=${shellQuote(cloudEnvironmentMarker)}`],
|
|
1355
1392
|
["@ENV_FUNCTIONS@", selected.envFile === void 0 ? "" : environmentFunctions],
|
|
1356
|
-
["@
|
|
1393
|
+
["@ENVIRONMENT_VALUES@", selected.services.length === 0 ? "" : environmentValuesFunction],
|
|
1394
|
+
["@ENV_INITIALIZE@", selected.services.length === 0 ? "" : "DATABASE_URL=''\nPOSTGRES_HOST=''\nPOSTGRES_USER=''\nPOSTGRES_PASSWORD=''\nPOSTGRES_DB_NAME=''\nPOSTGRES_ADDITIONAL_CONNECTION_DATA=''\nREDIS_URL=''"],
|
|
1395
|
+
["@ENV_VALIDATE@", selected.envFile === void 0 ? "" : "validate_environment"],
|
|
1396
|
+
["@SESSION_ENVIRONMENT@", selected.services.length === 0 ? "" : sessionEnvironmentFunction],
|
|
1397
|
+
["@SESSION_ENVIRONMENT_CALL@", selected.services.length === 0 ? "" : "if [[ \"$MODE\" == session ]]; then emit_session_environment; fi"],
|
|
1357
1398
|
["@ENV_WRITE@", selected.envFile === void 0 ? "" : "write_environment"],
|
|
1358
1399
|
["@PREPARE_FUNCTION@", renderPrepare(selected.prepare, files)],
|
|
1359
1400
|
["@PREPARE_STEP@", selected.prepare === void 0 ? "" : " step prepare prepare_sources"],
|
|
@@ -1405,6 +1446,47 @@ const sessionStartHook = (script) => ({
|
|
|
1405
1446
|
printf '%s\\n' "cloud-setup: $1" >&2
|
|
1406
1447
|
exit 0
|
|
1407
1448
|
}
|
|
1449
|
+
if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
|
|
1450
|
+
cloud_session_exports="$(${script} session)" || cloud_setup_incomplete 'startup failed; run install'
|
|
1451
|
+
else
|
|
1452
|
+
${script} start >&2 || cloud_setup_incomplete 'startup failed; run install'
|
|
1453
|
+
exit 0
|
|
1454
|
+
fi
|
|
1455
|
+
if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
|
|
1456
|
+
if [ ! -s ${cloudShellProfilePath} ]; then
|
|
1457
|
+
cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
|
|
1458
|
+
fi
|
|
1459
|
+
cloud_shell_exports="$(cat ${cloudShellProfilePath})" || cloud_setup_incomplete 'cloud shell profile could not be read; run install'
|
|
1460
|
+
[ -n "$cloud_shell_exports" ] || cloud_setup_incomplete 'cloud shell profile is unavailable; run install'
|
|
1461
|
+
if [ -e "$CLAUDE_ENV_FILE" ] || [ -L "$CLAUDE_ENV_FILE" ]; then
|
|
1462
|
+
[ -f "$CLAUDE_ENV_FILE" ] && [ ! -L "$CLAUDE_ENV_FILE" ] || cloud_setup_incomplete 'session environment must be a regular file; check its path and rerun start'
|
|
1463
|
+
fi
|
|
1464
|
+
cloud_env_temporary="$(umask 077; mktemp "\${CLAUDE_ENV_FILE}.XXXXXX")" || cloud_setup_incomplete 'session environment could not be prepared; check its write access and rerun start'
|
|
1465
|
+
if [ -e "$CLAUDE_ENV_FILE" ] || [ -L "$CLAUDE_ENV_FILE" ]; then
|
|
1466
|
+
cat "$CLAUDE_ENV_FILE" > "$cloud_env_temporary" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be read; check its access and rerun start'; }
|
|
1467
|
+
fi
|
|
1468
|
+
if [ -n "$cloud_session_exports" ]; then
|
|
1469
|
+
cloud_session_exports="$cloud_session_exports
|
|
1470
|
+
$cloud_shell_exports"
|
|
1471
|
+
else
|
|
1472
|
+
cloud_session_exports="$cloud_shell_exports"
|
|
1473
|
+
fi
|
|
1474
|
+
printf '\\n%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'; }
|
|
1475
|
+
mv -f -- "$cloud_env_temporary" "$CLAUDE_ENV_FILE" || { rm -f -- "$cloud_env_temporary"; cloud_setup_incomplete 'session environment could not be persisted; check its write access and rerun start'; }
|
|
1476
|
+
fi
|
|
1477
|
+
fi`
|
|
1478
|
+
}]
|
|
1479
|
+
});
|
|
1480
|
+
const currentMainSessionStartHook = (script) => ({
|
|
1481
|
+
matcher: "",
|
|
1482
|
+
hooks: [{
|
|
1483
|
+
type: "command",
|
|
1484
|
+
command: `if [ "\${CLAUDE_CODE_REMOTE:-}" = "true" ]; then
|
|
1485
|
+
cloud_setup_incomplete() {
|
|
1486
|
+
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.'
|
|
1487
|
+
printf '%s\\n' "cloud-setup: $1" >&2
|
|
1488
|
+
exit 0
|
|
1489
|
+
}
|
|
1408
1490
|
${script} start >&2 || cloud_setup_incomplete 'startup failed; run install'
|
|
1409
1491
|
if [ -n "\${CLAUDE_ENV_FILE:-}" ]; then
|
|
1410
1492
|
if [ ! -s ${cloudShellProfilePath} ]; then
|
|
@@ -1418,7 +1500,11 @@ fi`
|
|
|
1418
1500
|
}]
|
|
1419
1501
|
});
|
|
1420
1502
|
const cloudSessionStartHook = sessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`);
|
|
1421
|
-
const previousCloudSessionStartHooks = [
|
|
1503
|
+
const previousCloudSessionStartHooks = [
|
|
1504
|
+
releasedSessionStartHook(`bash ${cloudSetupPath}`),
|
|
1505
|
+
releasedSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`),
|
|
1506
|
+
currentMainSessionStartHook(`bash "$CLAUDE_PROJECT_DIR/${cloudSetupPath}"`)
|
|
1507
|
+
];
|
|
1422
1508
|
const cloudAttribution = {
|
|
1423
1509
|
commit: "",
|
|
1424
1510
|
pr: ""
|
|
@@ -1699,7 +1785,7 @@ const isDockerDefinitionPath = (file) => {
|
|
|
1699
1785
|
const isShellScript = (file, text = "") => !excludedInputPath(file) && (/\.(?:sh|bash|zsh)$/.test(file) || /^#![ \t]*(?:\/(?:[^ \t\r\n]+\/)*(?:bash|dash|ksh|zsh|sh)|\/usr\/bin\/env[ \t]+(?:-S[ \t]+)?(?:bash|dash|ksh|zsh|sh))(?=[ \t\r\n]|$)/.test(text));
|
|
1700
1786
|
/** Lockfiles establish ecosystem presence without reading their dependency graphs. */
|
|
1701
1787
|
const toolchainInputKind = (file, text = "") => {
|
|
1702
|
-
if (file === ".agents/cloud-setup.sh" || file === ".claude/settings.json" || file === "Cargo.lock") return "config";
|
|
1788
|
+
if (file === "bunfig.toml" || file === ".agents/cloud-setup.sh" || file === ".claude/settings.json" || file === "Cargo.lock") return "config";
|
|
1703
1789
|
if (githubAutomationFileKind(file) !== void 0) return "config";
|
|
1704
1790
|
if (excludedInputPath(file)) return void 0;
|
|
1705
1791
|
if (dependabotManifestEcosystem(file) !== void 0 || pythonDependencyManifestKind(file) === "pipfile-lock" || javascriptDependencyLockfiles.some((name) => file.split("/").at(-1) === name) || /(?:^|\/)uv\.lock$/.test(file)) return "presence";
|