Skip to content

Commit c370b67

Browse files
committed
chore(wheelhouse): cascade template@c9a158ee
Auto-applied by socket-wheelhouse sync-scaffolding into socket-lib. 4 file(s) touched: - pnpm-workspace.yaml - scripts/fleet/check.mts - scripts/fleet/check/linters-are-oxlint-oxfmt-only.mts - scripts/fleet/check/subagent-status-doc-is-current.mts
1 parent 9de2ffb commit c370b67

4 files changed

Lines changed: 72 additions & 13 deletions

File tree

pnpm-workspace.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,46 @@ minimumReleaseAgeExclude:
114114
- '@yuku-parser/binding-win32-arm64@0.5.31'
115115
# published: 2026-06-09 | removable: 2026-06-16
116116
- '@yuku-parser/binding-win32-x64@0.5.31'
117+
# published: 2026-06-08 | removable: 2026-06-15
118+
- 'oxfmt@0.54.0'
119+
# published: 2026-06-08 | removable: 2026-06-15
120+
- '@oxfmt/binding-android-arm-eabi@0.54.0'
121+
# published: 2026-06-08 | removable: 2026-06-15
122+
- '@oxfmt/binding-android-arm64@0.54.0'
123+
# published: 2026-06-08 | removable: 2026-06-15
124+
- '@oxfmt/binding-darwin-arm64@0.54.0'
125+
# published: 2026-06-08 | removable: 2026-06-15
126+
- '@oxfmt/binding-darwin-x64@0.54.0'
127+
# published: 2026-06-08 | removable: 2026-06-15
128+
- '@oxfmt/binding-freebsd-x64@0.54.0'
129+
# published: 2026-06-08 | removable: 2026-06-15
130+
- '@oxfmt/binding-linux-arm-gnueabihf@0.54.0'
131+
# published: 2026-06-08 | removable: 2026-06-15
132+
- '@oxfmt/binding-linux-arm-musleabihf@0.54.0'
133+
# published: 2026-06-08 | removable: 2026-06-15
134+
- '@oxfmt/binding-linux-arm64-gnu@0.54.0'
135+
# published: 2026-06-08 | removable: 2026-06-15
136+
- '@oxfmt/binding-linux-arm64-musl@0.54.0'
137+
# published: 2026-06-08 | removable: 2026-06-15
138+
- '@oxfmt/binding-linux-ppc64-gnu@0.54.0'
139+
# published: 2026-06-08 | removable: 2026-06-15
140+
- '@oxfmt/binding-linux-riscv64-gnu@0.54.0'
141+
# published: 2026-06-08 | removable: 2026-06-15
142+
- '@oxfmt/binding-linux-riscv64-musl@0.54.0'
143+
# published: 2026-06-08 | removable: 2026-06-15
144+
- '@oxfmt/binding-linux-s390x-gnu@0.54.0'
145+
# published: 2026-06-08 | removable: 2026-06-15
146+
- '@oxfmt/binding-linux-x64-gnu@0.54.0'
147+
# published: 2026-06-08 | removable: 2026-06-15
148+
- '@oxfmt/binding-linux-x64-musl@0.54.0'
149+
# published: 2026-06-08 | removable: 2026-06-15
150+
- '@oxfmt/binding-openharmony-arm64@0.54.0'
151+
# published: 2026-06-08 | removable: 2026-06-15
152+
- '@oxfmt/binding-win32-arm64-msvc@0.54.0'
153+
# published: 2026-06-08 | removable: 2026-06-15
154+
- '@oxfmt/binding-win32-ia32-msvc@0.54.0'
155+
# published: 2026-06-08 | removable: 2026-06-15
156+
- '@oxfmt/binding-win32-x64-msvc@0.54.0'
117157

118158
# Refuse transitive dependencies declared via git/tarball/local-tarball
119159
# specs — an npm package shouldn't be allowed to drag in a git URL we

scripts/fleet/check.mts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const steps: Array<() => boolean> = [
4040
// dep — the committed-state gate paired with the edit-time
4141
// no-other-linters-guard hook. Vendored upstream (upstream/, vendor/, *-upstream)
4242
// is exempt; we never touch upstream tooling.
43-
() => run('node', ['scripts/fleet/check/only-oxlint-oxfmt.mts']),
43+
() => run('node', ['scripts/fleet/check/linters-are-oxlint-oxfmt-only.mts']),
4444
// CLAUDE.md doc integrity: every cited hook + socket/ rule must exist (catches
4545
// stale citations after a rename/removal — the reverse of new-hook-claude-md-guard).
4646
() => run('node', ['scripts/fleet/check/claude-md-citations-resolve.mts']),
@@ -98,7 +98,7 @@ const steps: Array<() => boolean> = [
9898
// agent-delegation.md must list the same four states, so an orchestrator
9999
// reading the doc routes on a contract the code honors (code is law).
100100
() =>
101-
run('node', ['scripts/fleet/check/subagent-status-doc-matches-code.mts']),
101+
run('node', ['scripts/fleet/check/subagent-status-doc-is-current.mts']),
102102
// Review-pipeline ordering is a contract: the reviewing-code skill's
103103
// spec-compliance pass must precede the quality passes (discovery /
104104
// remediation) in ALL_ROLES, so a quality review never runs on out-of-scope

scripts/fleet/check/only-oxlint-oxfmt.mts renamed to scripts/fleet/check/linters-are-oxlint-oxfmt-only.mts

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
* so a config/dep that slipped in before the hook existed (or via
66
* --no-verify) is caught at `check --all` time. The hook is the edit-time
77
* block; this is the committed-state gate;
8-
* `socket/no-eslint-biome-config-ref` reports source refs. Fails (exit 1) on:
8+
* `socket/no-eslint-biome-config-ref` reports source refs. Fails (exit 1) on
99
* a tracked biome.json(c) / .eslintrc* / eslint.config.* / .prettierrc* /
10-
* prettier.config.* / .dprint.json* config, or a tracked package.json with
11-
* @biomejs/biome / eslint / @eslint/* / @typescript-eslint/* / prettier /
12-
* dprint / rome (+ the eslint-config-* / eslint-plugin-* / prettier-plugin-*
13-
* / @<scope>/eslint-* families) in any dependency block. EXEMPT: vendored
14-
* upstream trees (upstream/, vendor/, third_party/, external/, a path segment
15-
* ending `-upstream`). We never touch upstream files.
10+
* prettier.config.* / .dprint.json* config, or a tracked package.json
11+
* declaring any of the biome / eslint / @eslint/* / @typescript-eslint/* /
12+
* prettier / dprint / rome packages (plus the eslint-config-* /
13+
* eslint-plugin-* / prettier-plugin-* / @scope/eslint-* families) in any
14+
* dependency block. EXEMPT: vendored upstream trees (upstream/, vendor/,
15+
* third_party/, external/, a path segment ending in -upstream). We never
16+
* touch upstream files.
1617
*/
1718

1819
import { readFileSync } from 'node:fs'
@@ -26,23 +27,36 @@ import { REPO_ROOT } from '../paths.mts'
2627

2728
const logger = getDefaultLogger()
2829

30+
// Foreign linter/formatter CONFIG filenames, alternation sorted per
31+
// socket/sort-regex-alternations: dprint config, eslintrc (any ext),
32+
// prettierrc (any ext), biome json(c), eslint flat config (.[cm]?[jt]s),
33+
// prettier config (.[cm]?[jt]s).
2934
const CONFIG_FILE_RE =
30-
/^(?:biome\.jsonc?|\.eslintrc(?:\.[a-z]+)?|eslint\.config\.[cm]?[jt]s|\.prettierrc(?:\.[a-z]+)?|prettier\.config\.[cm]?[jt]s|\.dprint\.jsonc?)$/
35+
/^(?:\.dprint\.jsonc?|\.eslintrc(?:\.[a-z]+)?|\.prettierrc(?:\.[a-z]+)?|biome\.jsonc?|eslint\.config\.[cm]?[jt]s|prettier\.config\.[cm]?[jt]s)$/
3136

3237
function isForeignToolPackage(name: string): boolean {
38+
// This is the DETECTOR for foreign linter/formatter deps, so it must name
39+
// them; socket/no-eslint-biome-config-ref (which flags those very strings) is
40+
// disabled per-line here — these aren't stale refs, they're the patterns the
41+
// check matches against. Operands sorted per socket/sort-equality-disjunctions.
3342
if (
43+
// oxlint-disable-next-line socket/no-eslint-biome-config-ref -- detector literal, not a stale ref
3444
name === '@biomejs/biome' ||
45+
name === 'dprint' ||
46+
// oxlint-disable-next-line socket/no-eslint-biome-config-ref -- detector literal, not a stale ref
3547
name === 'eslint' ||
3648
name === 'prettier' ||
37-
name === 'dprint' ||
3849
name === 'rome'
3950
) {
4051
return true
4152
}
4253
return (
54+
// oxlint-disable-next-line socket/no-eslint-biome-config-ref -- detector prefix, not a stale ref
4355
name.startsWith('@eslint/') ||
4456
name.startsWith('@typescript-eslint/') ||
57+
// oxlint-disable-next-line socket/no-eslint-biome-config-ref -- detector prefix, not a stale ref
4558
name.startsWith('eslint-config-') ||
59+
// oxlint-disable-next-line socket/no-eslint-biome-config-ref -- detector prefix, not a stale ref
4660
name.startsWith('eslint-plugin-') ||
4761
name.startsWith('prettier-plugin-') ||
4862
/^@[^/]+\/eslint-/.test(name)
@@ -52,7 +66,10 @@ function isForeignToolPackage(name: string): boolean {
5266
export function isVendoredUpstream(relPath: string): boolean {
5367
const p = relPath.replace(/\\/g, '/')
5468
return (
55-
/(?:^|\/)(?:upstream|vendor|third_party|external)(?:\/|$)/.test(p) ||
69+
// A path segment that is exactly a vendored-tree dir name (start-of-string
70+
// or after a `/`, then `/` or end-of-string). Alternation sorted.
71+
/(?:^|\/)(?:external|third_party|upstream|vendor)(?:\/|$)/.test(p) ||
72+
// …or a segment ending in `-upstream` (e.g. `acme-upstream/`).
5673
/(?:^|\/)[^/]+-upstream(?:\/|$)/.test(p)
5774
)
5875
}
@@ -112,7 +129,9 @@ function main(): void {
112129
}
113130
const found = foreignToolDeps(text)
114131
if (found.length) {
115-
failures.push(`${rel}: foreign tool dep(s) ${found.sort().join(', ')}`)
132+
failures.push(
133+
`${rel}: foreign tool dep(s) ${found.toSorted().join(', ')}`,
134+
)
116135
}
117136
}
118137
}

scripts/fleet/check/subagent-status-doc-matches-code.mts renamed to scripts/fleet/check/subagent-status-doc-is-current.mts

File renamed without changes.

0 commit comments

Comments
 (0)