@biffo/cli 0.249.7 → 0.249.8
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.
|
@@ -205,7 +205,32 @@ for lock in $ALL_LOCKS; do
|
|
|
205
205
|
|
|
206
206
|
# `--no-emit-project` drops the tree's own package (nothing published to
|
|
207
207
|
# audit); `--no-dev` keeps the audit to what actually ships.
|
|
208
|
-
|
|
208
|
+
#
|
|
209
|
+
# `--no-emit-local` drops LOCAL PATH dependencies, and without it this gate
|
|
210
|
+
# cannot scan a plugin tree at all (#1340). `biffo-plugin-sdk` is pulled in
|
|
211
|
+
# as `-e ./packages/python-sdk`; pip-audit tries to resolve it on PyPI, fails
|
|
212
|
+
# with "Dependency not found on PyPI and could not be audited", and produces
|
|
213
|
+
# no parseable output -- so the whole tree came back INCONCLUSIVE and blocked.
|
|
214
|
+
# Every vendored Python plugin tree in every instance has that dependency, so
|
|
215
|
+
# this was not a niche shape: it blocked all of them.
|
|
216
|
+
#
|
|
217
|
+
# Skipping it costs nothing real. A local path dependency is first-party
|
|
218
|
+
# source, audited in its own repo, and never a published artefact an advisory
|
|
219
|
+
# could name. Its TRANSITIVE dependencies are still exported and still
|
|
220
|
+
# audited -- verified on `services/ideation`, where the export keeps 25
|
|
221
|
+
# packages including three carried `via biffo-plugin-sdk`. So the answer this
|
|
222
|
+
# gate gives is unchanged for every package an advisory can actually be about.
|
|
223
|
+
if (cd "$dir" && uv export --frozen --no-dev --no-emit-project --no-emit-local) >"$reqs" 2>/dev/null && [ -s "$reqs" ]; then
|
|
224
|
+
# Report what was skipped rather than skipping it quietly: "audited
|
|
225
|
+
# everything except the bits we could not" must never read the same as
|
|
226
|
+
# "audited everything", which is the failure this whole file exists to
|
|
227
|
+
# fight. Counted from the same lockfile, so the number is the tree's, not
|
|
228
|
+
# a guess.
|
|
229
|
+
local_deps=$( (cd "$dir" && uv export --frozen --no-dev --no-emit-project) 2>/dev/null \
|
|
230
|
+
| grep -cE '^-e |@ file://' || true )
|
|
231
|
+
if [ "${local_deps:-0}" -gt 0 ]; then
|
|
232
|
+
echo " (${rel}: ${local_deps} local path dependenc$([ "$local_deps" -eq 1 ] && echo y || echo ies) excluded -- first-party, audited in their own repo; their transitive dependencies are still scanned)"
|
|
233
|
+
fi
|
|
209
234
|
audit_deps "pip-audit (${rel})" "-r $reqs" || failed=1
|
|
210
235
|
else
|
|
211
236
|
# An export failure is "couldn't run", not "clean" — same discipline as a
|
|
@@ -205,7 +205,32 @@ for lock in $ALL_LOCKS; do
|
|
|
205
205
|
|
|
206
206
|
# `--no-emit-project` drops the tree's own package (nothing published to
|
|
207
207
|
# audit); `--no-dev` keeps the audit to what actually ships.
|
|
208
|
-
|
|
208
|
+
#
|
|
209
|
+
# `--no-emit-local` drops LOCAL PATH dependencies, and without it this gate
|
|
210
|
+
# cannot scan a plugin tree at all (#1340). `biffo-plugin-sdk` is pulled in
|
|
211
|
+
# as `-e ./packages/python-sdk`; pip-audit tries to resolve it on PyPI, fails
|
|
212
|
+
# with "Dependency not found on PyPI and could not be audited", and produces
|
|
213
|
+
# no parseable output -- so the whole tree came back INCONCLUSIVE and blocked.
|
|
214
|
+
# Every vendored Python plugin tree in every instance has that dependency, so
|
|
215
|
+
# this was not a niche shape: it blocked all of them.
|
|
216
|
+
#
|
|
217
|
+
# Skipping it costs nothing real. A local path dependency is first-party
|
|
218
|
+
# source, audited in its own repo, and never a published artefact an advisory
|
|
219
|
+
# could name. Its TRANSITIVE dependencies are still exported and still
|
|
220
|
+
# audited -- verified on `services/ideation`, where the export keeps 25
|
|
221
|
+
# packages including three carried `via biffo-plugin-sdk`. So the answer this
|
|
222
|
+
# gate gives is unchanged for every package an advisory can actually be about.
|
|
223
|
+
if (cd "$dir" && uv export --frozen --no-dev --no-emit-project --no-emit-local) >"$reqs" 2>/dev/null && [ -s "$reqs" ]; then
|
|
224
|
+
# Report what was skipped rather than skipping it quietly: "audited
|
|
225
|
+
# everything except the bits we could not" must never read the same as
|
|
226
|
+
# "audited everything", which is the failure this whole file exists to
|
|
227
|
+
# fight. Counted from the same lockfile, so the number is the tree's, not
|
|
228
|
+
# a guess.
|
|
229
|
+
local_deps=$( (cd "$dir" && uv export --frozen --no-dev --no-emit-project) 2>/dev/null \
|
|
230
|
+
| grep -cE '^-e |@ file://' || true )
|
|
231
|
+
if [ "${local_deps:-0}" -gt 0 ]; then
|
|
232
|
+
echo " (${rel}: ${local_deps} local path dependenc$([ "$local_deps" -eq 1 ] && echo y || echo ies) excluded -- first-party, audited in their own repo; their transitive dependencies are still scanned)"
|
|
233
|
+
fi
|
|
209
234
|
audit_deps "pip-audit (${rel})" "-r $reqs" || failed=1
|
|
210
235
|
else
|
|
211
236
|
# An export failure is "couldn't run", not "clean" — same discipline as a
|