Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4921 commits
Select commit Hold shift + click to select a range
3ade110
fix(test): resolve flaky TTL boundary test by mocking Date.now()
jdalton Nov 18, 2025
44cc616
style: apply linter auto-fixes and import sorting
jdalton Nov 18, 2025
de80d90
feat(scan): add reachability concurrency and analysis splitting flags
jdalton Nov 19, 2025
acf446c
fix(alerts): respect SOCKET_CLI_API_TOKEN environment variable
jdalton Nov 19, 2025
cf281ab
fix(dlx): pin Coana to exact version without tilde prefix
jdalton Nov 19, 2025
27cb6b8
fix(fix): improve PR creation logic and branch lifecycle management
jdalton Nov 19, 2025
0473d1a
refactor(fix): DRY out repetitive patterns in fix commands
jdalton Nov 19, 2025
d24fc16
chore(workflows): update socket-registry workflow references to lates…
jdalton Nov 19, 2025
6765442
refactor(cli): restructure externalTools config and pin versions
jdalton Nov 19, 2025
63471f6
fix(cli): resolve --limit flag not working in local mode
jdalton Nov 20, 2025
ecd6e7b
exclude .socket.facts.json from socket fix manifest upload
mtorp Nov 20, 2025
95ab59b
chore(cli): update @coana-tech/cli and enhance test coverage
jdalton Nov 20, 2025
7911d00
feat(build): leverage socket-btm releases for pre-compiled assets
jdalton Nov 21, 2025
36cb21c
chore: normalize package.json property order across all packages
jdalton Nov 21, 2025
dc57d99
refactor(cli): move externalTools to separate JSON files and document…
jdalton Nov 22, 2025
2ab2a7e
feat(cli): add --reach-debug flag to enable verbose logging in the re…
mtorp Nov 21, 2025
32c336b
Various fixes for handling of target paths. (#933)
jdalton Nov 24, 2025
1eb38d0
fix(api): improve CVE to GHSA conversion caching and error messaging
jdalton Nov 24, 2025
03523e7
style: apply code formatting with biome and oxlint
jdalton Nov 24, 2025
8e4ad48
chore(ci): update pnpm/action-setup to v4.2.0
jdalton Nov 24, 2025
9fa098b
fix(self-update): implement bootstrap binary path via IPC handshake
jdalton Nov 25, 2025
845e93d
chore(deps): update @coana-tech/cli to 14.12.103
jdalton Nov 26, 2025
32aa70e
fix: upload manifest files relative to target for coana-fix and perfo…
jdalton Nov 26, 2025
e7d4e7a
refactor(api): improve CVE to GHSA error detection and code clarity
jdalton Nov 26, 2025
1b38e42
chore(ci): bump GitHub Actions to latest versions
jdalton Dec 5, 2025
d18de96
chore(deps): update @socketsecurity/lib to 5.0.0
jdalton Dec 5, 2025
09ef889
Update taze to 19.9.2, update dependencies, and update GitHub Actions
jdalton Dec 8, 2025
01867fd
fix(hooks): limit pre-push AI attribution check to commits since late…
jdalton Dec 9, 2025
aff0e11
fix(docs): remove hardcoded personal paths and realistic API key exam…
jdalton Dec 9, 2025
25fcb52
chore(deps): update @socketsecurity/sdk to 3.2.0
jdalton Dec 9, 2025
541cd0e
fix(dlx): support Coana CLI binary execution via SOCKET_CLI_COANA_LOC…
jdalton Dec 9, 2025
9a25781
feat(debug): add API request/response logging via SDK hooks
jdalton Dec 9, 2025
d389f09
fix(flags): make --exclude and --include visible in socket fix command
jdalton Dec 9, 2025
0cc03a9
feat(fix): add --all flag to process all vulnerabilities
jdalton Dec 9, 2025
489eabd
feat(fix): add --ecosystems flag and rename --limit to --pr-limit
jdalton Dec 9, 2025
5b24343
fix(fix): add --limit as alias for --pr-limit
jdalton Dec 9, 2025
678554b
feat(fix): add --fix-version flag to override Coana CLI version
jdalton Dec 9, 2025
4f686c7
refactor(fix): use find-vulnerabilities for GHSA discovery
jdalton Dec 9, 2025
084d7b7
test: remove failing example-usage tests
jdalton Dec 9, 2025
3ee9435
fix(fix): add ecosystems support to coana CLI calls
jdalton Dec 9, 2025
c68110f
fix(bootstrap): remove non-existent polyfill imports and fix build er…
jdalton Dec 9, 2025
21c34ee
fix(cli): resolve socket-lib external paths at any nesting depth
jdalton Dec 9, 2025
87a2134
feat(scan): add --reach-use-only-pregenerated-sboms flag
jdalton Dec 10, 2025
62eefb5
fix(build): use yoga-sync.mjs from socket-btm and integrate binject
jdalton Dec 10, 2025
90954e0
fix(sea): compute rootPath in getBinjectPath function
jdalton Dec 10, 2025
25970e5
chore(deps): update @coana-tech/cli to 14.12.122
jdalton Dec 10, 2025
2c47b04
chore(deps): update @socketsecurity/lib catalog to 5.0.1
jdalton Dec 11, 2025
576b6b0
fix(ci): add Node.js and pnpm setup immediately after checkout in all…
jdalton Dec 12, 2025
409c4e5
Remove unused test:watch script from CLI packages
jdalton Dec 13, 2025
dee53fe
chore(deps): update @socketsecurity/lib to 5.1.0
jdalton Dec 17, 2025
3eace89
feat(config): use EditableJson for non-destructive config saving
jdalton Dec 17, 2025
fc667a8
fix(scan): use Octokit for GitHub API calls with proper error handling
jdalton Dec 18, 2025
31a38c1
refactor(github): consolidate GitHub API error handling and retry logic
jdalton Dec 18, 2025
82bc18f
test(github): add unit tests for GitHub API error handling and retry …
jdalton Dec 18, 2025
975990a
fix(debug): use correct debug functions with proper namespacing
jdalton Dec 19, 2025
4d961a5
refactor(ci): replace build-wasm with fetch-wasm using socket-btm
jdalton Dec 19, 2025
4c05c65
refactor(ci): use binject and node-smol from socket-btm for SEA builds
jdalton Dec 19, 2025
2360e50
refactor(ci): simplify build-sea.yml to download + inject only
jdalton Dec 19, 2025
f4a5fe3
refactor(ci): use .node-version instead of external-tools.json
jdalton Dec 19, 2025
221df0b
refactor(ci): remove redundant workflows and clean up build-infra
jdalton Dec 19, 2025
e3ec09d
docs: simplify model terminology and remove caching-strategy doc
jdalton Dec 19, 2025
c82c1c2
style(scripts): improve extraction script output formatting
jdalton Dec 19, 2025
f9f56fa
refactor(build): simplify build system and remove unnecessary scripts
jdalton Dec 19, 2025
7f60376
refactor(ci): rename build-binaries job to build-sea for clarity
jdalton Dec 19, 2025
aeb5cff
fix(sea): update binject command and node-smol URL format
jdalton Dec 20, 2025
582e4fa
fix(sea): use current Node.js process for SEA blob generation
jdalton Dec 20, 2025
47051bd
fix(sea): use toUnixPath for Git Bash tar compatibility
jdalton Dec 25, 2025
1c711b3
chore(deps): update @socketsecurity/lib to 5.1.1 and dependencies
jdalton Dec 28, 2025
572575f
chore(deps): update @socketsecurity/lib to 5.1.2
jdalton Dec 28, 2025
d79935a
fix(optimize): remove Node.js version filter from manifest entries
jdalton Dec 29, 2025
9ad7947
fix(glob): add dot:true to match dotfiles and dot directories
jdalton Dec 29, 2025
68eea72
chore(deps): Update @socketsecurity/lib to 5.1.3
jdalton Dec 29, 2025
dfe5613
docs(claude): strengthen backward compatibility prohibition
jdalton Dec 29, 2025
50a97f8
fix(build-infra): Add GitHub API headers to httpRequest calls
jdalton Dec 29, 2025
4b2b4f6
fix(build-infra): add GitHub token authentication to API requests
jdalton Dec 29, 2025
c276dd3
docs(claude): strengthen backward compatibility prohibition
jdalton Dec 29, 2025
88bee82
refactor(build): consolidate esbuild config duplication
jdalton Dec 29, 2025
34049cf
feat(sea): improve build cache management and add local development mode
jdalton Dec 29, 2025
e2e2106
perf(sea): parallelize binary injection for 8x faster builds
jdalton Dec 30, 2025
e4a3f61
fix(cli): add per-platform caching for parallel SEA builds
jdalton Dec 30, 2025
4d80235
refactor(sea): store full tag in .version file
jdalton Dec 30, 2025
9549e2e
fix(deps): Remove http2 module dependency from @sigstore/sign
jdalton Dec 30, 2025
31133e2
chore(deps): Update @socketsecurity/lib to 5.1.4
jdalton Dec 30, 2025
3bb0172
Refactor: Separate platform and libc parameters for musl builds
jdalton Dec 30, 2025
221b2f8
fix(build): add GitHub API authentication to avoid rate limits
jdalton Dec 31, 2025
7e6204b
fix(build): use bracket notation for TypeScript index signatures
jdalton Dec 31, 2025
cc868d5
refactor: implement code review improvements
jdalton Dec 31, 2025
d6d3ba3
fix(sea): add exit code checking for binject spawn
jdalton Jan 2, 2026
b1b5957
feat(cli): standardize .version tracking across all extract scripts
jdalton Jan 2, 2026
aedd5cb
fix(sea): use unique cache directories for parallel binject builds
jdalton Jan 2, 2026
94a961e
feat(ci): add force rebuild option to all workflow_dispatch workflows
jdalton Jan 2, 2026
ea2edd6
refactor: consolidate cache paths into paths.mjs modules
jdalton Jan 3, 2026
747afe7
fix(security): resolve artipacked and docker security vulnerabilities
jdalton Jan 3, 2026
039c907
fix(security): disable automatic caching in setup-node to prevent cac…
jdalton Jan 3, 2026
b45b3c9
refactor(sea): move build utilities to scripts/ and convert to JavaSc…
jdalton Jan 3, 2026
727ae92
chore: remove files that should not be tracked
jdalton Jan 3, 2026
4acf000
Centralize all downloads to packages/build-infra/build/downloaded/
jdalton Jan 5, 2026
2bef6b2
Replace Promise.all with Promise.allSettled for better error handling
jdalton Jan 6, 2026
3b64872
Fix executeParallel to properly unwrap Promise.allSettled results
jdalton Jan 6, 2026
06d217c
chore(deps): update @socketsecurity/lib catalog to 5.2.0
jdalton Jan 7, 2026
536df80
add `--debug` option to `socket fix`
jdalton Jan 7, 2026
a15f63b
feat(telemetry): adding initial telemetry functionality to the cli
jdalton Jan 7, 2026
e0060ae
fix: exit with code 1 when socket ci finds blocking alerts
jdalton Jan 7, 2026
5a48c79
feat: add --reach-lazy-mode flag for reachability analysis
jdalton Jan 7, 2026
49c6766
feat: add --silence flag to `socket fix`
jdalton Jan 7, 2026
a762c98
feat: set scanType to socket_tier1 when creating reachability full scans
jdalton Jan 7, 2026
5adf813
chore(deps): update coana to v14.12.139
jdalton Jan 7, 2026
542085f
feat: add alpm and vscode ecosystems, add scan type constants
jdalton Jan 7, 2026
ded4eff
chore: update pnpm to 10.27.0
jdalton Jan 7, 2026
896d2bb
refactor: use @socketsecurity/lib 5.2.0 release helpers for socket-bt…
jdalton Jan 7, 2026
d507f08
fix: implement findAsset locally, remove non-existent import
jdalton Jan 7, 2026
377621c
fix: update extract scripts for corrected socket-btm asset names
jdalton Jan 7, 2026
80735a4
chore(deps): update @socketsecurity/lib catalog to 5.2.1
jdalton Jan 7, 2026
7fb3323
chore: update @socketsecurity/lib to 5.3.0
jdalton Jan 7, 2026
2b6d61a
fix: remove unused silence parameter from FetchOrganizationOptions type
jdalton Jan 7, 2026
eafc910
chore: remove outdated docs and scripts (#1021)
jdalton Jan 8, 2026
c085980
refactor: improve socket-btm asset download system (#1020)
jdalton Jan 8, 2026
968f91e
feat: add E2E test sharding and misc fixes (#1022)
jdalton Jan 8, 2026
c6c2e0b
refactor: template-based package generation system (#1019)
jdalton Jan 8, 2026
ff34ff7
chore: remove unused code and documentation (#1023)
jdalton Jan 9, 2026
3c27f46
chore(deps): update @socketsecurity/lib to 5.4.1
jdalton Jan 10, 2026
94f7852
fix: ensure build directory exists before writing yoga placeholder
jdalton Jan 10, 2026
c4b1339
fix: remaining fixes from PR 1025 (#1027)
jdalton Jan 10, 2026
4d83d79
chore(deps): update Coana CLI to v14.12.148 (#1040)
jdalton Jan 12, 2026
0f0157e
fix: prevent heap overflow in large monorepo scans (#1041)
jdalton Jan 12, 2026
544b42f
Update @socketsecurity/lib to v5.5.0
jdalton Jan 13, 2026
dd5925d
chore(deps): add -w flag to taze in update script
jdalton Jan 13, 2026
5b05979
Update @socketsecurity/lib to v5.5.1
jdalton Jan 13, 2026
f83017a
fix(deps): update Socket packages regardless of taze result
jdalton Jan 13, 2026
511c56d
feat: migrate patch command to @socketsecurity/socket-patch@1.2.0 (#1…
jdalton Jan 13, 2026
30a5cec
fix(deps): update @socketsecurity/lib to v5.5.3 and add signal-exit v…
jdalton Jan 20, 2026
692eb84
fix(deps): add restore-cursor signal-exit v4 compatibility patch
jdalton Jan 21, 2026
21e8f26
chore(deps): update external tools versions
jdalton Jan 21, 2026
63a7aaa
refactor(deps): migrate synp version to external-tools.json
jdalton Jan 21, 2026
71b77f4
refactor(dlx): alphabetize spawn helper functions
jdalton Jan 21, 2026
2f318cc
feat(deps): add @socketbin packages to update script
jdalton Jan 21, 2026
8bd97fc
chore(ci): update actions/checkout to v6.0.2
jdalton Jan 26, 2026
cd3de13
fix(deps): always update Socket packages in update script (#1059)
jdalton Jan 26, 2026
5612087
chore(ci): update actions/setup-node to v6.2.0 and actions/cache to v…
jdalton Jan 27, 2026
5393c75
feat(claude): add quality-scan skill for comprehensive code analysis
jdalton Feb 7, 2026
3ead507
refactor: address critical quality scan findings and improve code safety
jdalton Feb 8, 2026
2f3c72b
refactor: remove unused mouse-handler module
jdalton Feb 8, 2026
f96f584
refactor(build): simplify build system with unified patterns
jdalton Feb 11, 2026
4ac1a09
docs(test): clarify depscan path placeholder in test instructions
jdalton Feb 11, 2026
e0eaed4
refactor(commands): merge simple command handlers into cmd files
jdalton Feb 11, 2026
bf9b740
feat(scan): add socket-basics integration utilities
jdalton Feb 11, 2026
4a7f8b3
chore: update dependencies and project configuration
jdalton Feb 11, 2026
bd81327
docs: add comprehensive README documentation for all packages
jdalton Feb 11, 2026
133794a
docs: add table of contents to long README files
jdalton Feb 11, 2026
5cf70f6
refactor(build): make parallel asset downloads the default
jdalton Feb 11, 2026
ae3c558
feat(skills): add validation and chain-of-thought to quality-scan
jdalton Feb 13, 2026
df27962
fix(build): remove redundant warning emojis from logger.warn calls
jdalton Feb 13, 2026
dd81889
fix(scan): resolve critical bugs in scan output handlers
jdalton Feb 14, 2026
266f4d6
fix(cli): improve type safety in spec parsing and overrides
jdalton Feb 14, 2026
0a0a4cc
fix(build): resolve TOCTOU races and cache invalidation
jdalton Feb 14, 2026
ba32224
refactor(scripts): replace process.exit with process.exitCode
jdalton Feb 14, 2026
cdc4bb0
ci: improve workflow portability and security
jdalton Feb 14, 2026
2d7fa47
docs: fix incorrect script names and broken links
jdalton Feb 14, 2026
16ef738
fix(types): resolve TypeScript errors in quality scan fixes
jdalton Feb 16, 2026
c9fb7e9
refactor(cli): use @socketsecurity/lib/spawn instead of node:child_pr…
jdalton Feb 16, 2026
12521d2
feat(build): add npm package download utilities for VFS bundling
jdalton Feb 16, 2026
c846e4d
docs(cli): add comprehensive command and E2E test documentation
jdalton Feb 16, 2026
396c6f3
chore(build): update build infrastructure and package generation
jdalton Feb 16, 2026
e071db8
chore(deps): update dependencies and workspace configuration
jdalton Feb 16, 2026
fb48092
refactor: remove prerequisites suggestions from quality-scan skill
jdalton Feb 17, 2026
78ea2b7
fix(types): resolve TypeScript errors in spawn usage and unused imports
jdalton Feb 17, 2026
52059ca
fix(scripts): use absolute paths for validation scripts in check.mjs
jdalton Feb 17, 2026
94dd2ba
feat(python): unify Python CLI spawning with SEA and DLX support
jdalton Feb 20, 2026
2f81aea
refactor(env): migrate from ENV object to cherry-picked imports
jdalton Feb 20, 2026
1068ec0
refactor(vfs): rename security-tools to external-tools/basics-tools
jdalton Feb 20, 2026
abba540
feat(cli): add explicit pycli command for Python CLI invocation
jdalton Feb 20, 2026
5ec9e2c
feat(cli): add explicit sfw command for Socket Firewall
jdalton Feb 20, 2026
bd3bdf8
test(cli): add unit tests for pycli and sfw commands
jdalton Feb 20, 2026
71e5dc2
refactor(cli): remove console command
jdalton Feb 20, 2026
f6aa877
test(cli): add tests for ask command
jdalton Feb 20, 2026
18b7f41
test(cli): add integration tests for sfw, pycli commands
jdalton Feb 20, 2026
3f0dab5
test(cli): add tests for manifest cdxgen command
jdalton Feb 20, 2026
17fc26f
test(cli): add unit tests for missing subcommands
jdalton Feb 20, 2026
6996cc0
test(cli): strengthen unit test assertions and coverage
jdalton Feb 20, 2026
80b3ca1
test(cli): strengthen unit tests for patch and scan-setup commands
jdalton Feb 20, 2026
ddfee6a
chore(cli): update build variant labels for clarity
jdalton Feb 20, 2026
0bf9ac4
refactor(cli): remove shadow npm inject infrastructure
jdalton Feb 20, 2026
aa03296
test(cli): fix failing unit tests with proper mocking
jdalton Feb 20, 2026
88f65e6
fix(cli): inject external tool versions in integration test runner
jdalton Feb 21, 2026
58e6d4b
refactor(cli): remove shadow infrastructure and rename to Socket Fire…
jdalton Feb 21, 2026
19e7e40
fix(cli): address quality scan findings across codebase
jdalton Feb 21, 2026
0da1aad
fix(cli): address quality scan findings (round 2)
jdalton Feb 21, 2026
c708446
refactor(cli): replace process.exit() with throw/exitCode in scripts
jdalton Feb 21, 2026
c19418d
fix(cli): address quality scan findings (round 3)
jdalton Feb 21, 2026
3f0cec3
fix(cli): address quality scan findings (round 4)
jdalton Feb 21, 2026
51069f6
fix(cli): address round 5 quality scan findings
jdalton Feb 21, 2026
90c7a89
fix(cli): address round 6 quality scan findings
jdalton Feb 21, 2026
d642d14
docs(quality-scan): add known false positives section
jdalton Feb 21, 2026
d0e446b
fix(cli): address quality scan findings round 7
jdalton Feb 21, 2026
21c8d9c
fix(cli): address quality scan findings round 8
jdalton Feb 21, 2026
6d72caa
fix(cli): address quality scan findings round 9
jdalton Feb 22, 2026
2531e7e
fix(cli): address quality scan findings round 10
jdalton Feb 22, 2026
41acec6
fix(cli): address quality scan findings round 11
jdalton Feb 22, 2026
26338ac
docs(cli): fix low priority documentation issues
jdalton Feb 22, 2026
9464db4
feat(cli): add GH_TOKEN as fallback for GitHub authentication
jdalton Feb 22, 2026
fb3002a
fix(hooks): add prerequisite checks to pre-commit hook
jdalton Feb 22, 2026
d185fdc
fix(cli): fix getMaxOldSpaceSizeFlag default calculation
jdalton Feb 22, 2026
9584efb
test(cli): update test snapshots to match implementation
jdalton Feb 22, 2026
96b168f
fix(cli): resolve memory leaks and resource cleanup issues
jdalton Feb 22, 2026
676d597
fix(cli): resolve race conditions and improve locking mechanisms
jdalton Feb 22, 2026
66bbb9a
fix(cli): add input validation and bounds checking
jdalton Feb 22, 2026
789a4c2
fix(ci): improve workflow reliability and security validation
jdalton Feb 22, 2026
311d31c
fix(ci): add required .env.precommit for pre-commit hooks
jdalton Feb 22, 2026
e1b8645
fix(cli): capture timestamp at function entry for accurate TTL
jdalton Feb 22, 2026
7a52874
docs: fix broken URLs and update documentation
jdalton Feb 22, 2026
f89fd12
fix(cli): address quality scan findings round 3
jdalton Feb 22, 2026
434cc80
fix(cli): address quality scan findings round 4 (part 1)
jdalton Feb 22, 2026
4dfa4c2
fix(cli): address quality scan findings round 4 (part 2) - lock detec…
jdalton Feb 22, 2026
289d808
fix(cli): add missing lru-cache dependency
jdalton Feb 22, 2026
1984093
fix(cli): code style consistency - catch parameter naming and type sa…
jdalton Feb 22, 2026
5994f3d
fix(cli): prevent unbounded Map growth in inflight trackers
jdalton Feb 22, 2026
e9efbad
docs(claude): clarify existsSync usage guideline
jdalton Feb 22, 2026
718ab2a
docs(claude): remove comment periods requirement
jdalton Feb 22, 2026
9b0072f
fix(cli): address quality scan findings round 8
jdalton Feb 22, 2026
d579788
fix(cli): address quality scan findings round 9
jdalton Feb 22, 2026
4b64f87
fix(cli): replace Math.random() with fixed delay in preflight downloads
jdalton Feb 22, 2026
05128bf
chore(cli): clean up duplicate and misplaced test files
jdalton Feb 22, 2026
efbcb10
fix(cli): resolve TOCTOU race conditions in file cleanup
jdalton Feb 22, 2026
a1a1b34
fix(cli): restore and fix handle-optimize.test.mts
jdalton Feb 22, 2026
517518d
fix(cli): add HTTP request timeouts to prevent indefinite hangs
jdalton Feb 22, 2026
7a15c4c
fix(cli): improve Coana output parsing to handle empty lines
jdalton Feb 22, 2026
4729fe7
fix(cli): remove globalThis indirection in update notifier
jdalton Feb 23, 2026
c936b3e
fix(cli): improve type safety by replacing unsafe type assertions
jdalton Feb 23, 2026
9ba86cd
fix(cli): address round 17 quality scan findings
jdalton Feb 23, 2026
7d48d93
fix(cli): address remaining round 17 low priority issues
jdalton Feb 23, 2026
df928c4
fix(cli): add defensive optional chaining in getHighestEntryIndex
jdalton Feb 23, 2026
c267606
fix(cli): handle negative time deltas in msAtHome function
jdalton Feb 23, 2026
04cbec8
fix(cli): restore 'as unknown as' pattern in type assertions
jdalton Feb 23, 2026
a46e9e8
fix(package-builder): correct dependencies for cli-with-sentry template
jdalton Feb 23, 2026
9e330cb
docs(cli): clarify VFS directory extraction TODOs as planned enhancem…
jdalton Feb 23, 2026
263a990
feat: add dependency updates to quality-scan skill + update deps
jdalton Feb 23, 2026
894d021
docs: improve SEA config comments with performance details and snapsh…
jdalton Feb 24, 2026
06e5260
feat(cli): use process.smol.mount() for full VFS directory extraction
jdalton Feb 24, 2026
a4919c1
chore: update dependencies and fix pre-push hook syntax
jdalton Feb 24, 2026
a85ab04
docs(quality-scan): tailor reference for socket-cli
jdalton Feb 24, 2026
ffe7e43
fix(cli): address quality scan findings round 10
jdalton Feb 24, 2026
8b6df11
fix(hooks): use portable for loop instead of process substitution in …
jdalton Feb 24, 2026
f9bbd0d
fix(hooks): check only new commits in pre-push, not all since release
jdalton Feb 24, 2026
164a43a
fix(scan): correct policy strictness comparison in alert aggregation
jdalton Feb 24, 2026
0245f37
chore(ci): apply security hardening and workflow improvements
jdalton Feb 24, 2026
5026c51
fix(sea): add Socket Firewall (sfw) to VFS bundling
jdalton Feb 24, 2026
ce3cb07
fix(sea): fix sfw extraction from VFS with node_modules structure
jdalton Feb 24, 2026
f03fecd
refactor(basics): use process.smol.mount() for VFS extraction
jdalton Feb 24, 2026
fce6b34
Add --workspace flag for full scan association
lelia Feb 26, 2026
ed95813
Update lockfile to fix ERR_PNPM_OUTDATED_LOCKFILE issue
lelia Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
554 changes: 554 additions & 0 deletions .claude/skills/quality-scan/SKILL.md

Large diffs are not rendered by default.

990 changes: 990 additions & 0 deletions .claude/skills/quality-scan/reference.md

Large diffs are not rendered by default.

402 changes: 402 additions & 0 deletions .config/eslint.config.mjs

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions .config/isolated-tests.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"_comment": "Tests that require isolated module execution due to vi.mock(), vi.doMock(), or vi.resetModules() usage. These tests manipulate module state and need to run in isolation to avoid cross-test contamination.",
"tests": [
"packages/cli/src/flags.test.mts",
"packages/cli/src/npm-cli.test.mts",
"packages/cli/src/npx-cli.test.mts",
"packages/cli/src/pnpm-cli.test.mts",
"packages/cli/src/utils/alert/translations.test.mts",
"packages/cli/src/utils/dlx/detection.test.mts",
"packages/cli/src/utils/git/github.test.mts",
"packages/cli/src/utils/npm/paths.test.mts",
"packages/cli/src/utils/pnpm/paths.test.mts",
"packages/cli/src/utils/yarn/paths.test.mts",
"packages/cli/src/utils/yarn/version.test.mts",
"packages/cli/src/yarn-cli.test.mts"
]
}
38 changes: 38 additions & 0 deletions .config/tsconfig.base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"compilerOptions": {
// The following options are not supported by @typescript/native-preview.
// They are either ignored or throw an unknown option error:
//"importsNotUsedAsValues": "remove",
"allowImportingTsExtensions": false,
"allowJs": false,
"composite": false,
"declaration": false,
"declarationMap": false,
"erasableSyntaxOnly": true,
"esModuleInterop": true,
"exactOptionalPropertyTypes": true,
"forceConsistentCasingInFileNames": true,
"incremental": false,
"isolatedModules": true,
"jsx": "react-jsx",
"lib": ["ES2024"],
"module": "nodenext",
"noEmit": true,
"noEmitOnError": true,
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"resolveJsonModule": true,
"rewriteRelativeImportExtensions": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"strictNullChecks": true,
"target": "ES2024",
"useUnknownInCatchVariables": true,
"verbatimModuleSyntax": true
}
}
9 changes: 9 additions & 0 deletions .config/tsconfig.build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"composite": true,
"incremental": true
}
}
22 changes: 22 additions & 0 deletions .config/tsconfig.check.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"typeRoots": ["../node_modules/@types"]
},
"include": [
"../packages/cli/src/**/*.mts",
"../packages/cli/*.config.mts",
"../packages/cli/.config/*.mts"
],
"exclude": [
"../packages/cli/**/*.tsx",
"../packages/cli/**/*.d.mts",
"../packages/cli/src/commands/analytics/output-analytics.mts",
"../packages/cli/src/commands/audit-log/output-audit-log.mts",
"../packages/cli/src/commands/threat-feed/output-threat-feed.mts",
"../packages/cli/**/*.test.mts",
"../packages/cli/src/test/**/*.mts",
"../packages/cli/src/utils/test-mocks.mts",
"../packages/cli/test/**/*.mts"
]
}
13 changes: 13 additions & 0 deletions .config/tsconfig.external-aliases.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "./tsconfig.check.json",
"compilerOptions": {
"paths": {
"@socketsecurity/lib": ["../socket-lib/dist/index.d.ts"],
"@socketsecurity/lib/*": ["../socket-lib/dist/*"],
"@socketsecurity/registry": [
"../socket-registry/registry/dist/index.d.ts"
],
"@socketsecurity/registry/*": ["../socket-registry/registry/dist/*"]
}
}
}
7 changes: 7 additions & 0 deletions .config/tsconfig.test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"noUnusedLocals": false,
"noUnusedParameters": false
}
}
106 changes: 106 additions & 0 deletions .config/vitest.config.base.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
import path from 'node:path'
import { defineConfig } from 'vitest/config'

/**
* Base Vitest configuration for socket-cli monorepo packages.
*
* Packages should extend this configuration and override as needed:
*
* ```typescript
* import { defineConfig, mergeConfig } from 'vitest/config'
* import baseConfig from '../../.config/vitest.config.base.mts'
*
* export default mergeConfig(
* baseConfig,
* defineConfig({
* test: {
* include: ['test/**\/*.test.{mts,ts}'],
* },
* })
* )
* ```
*/

const isCoverageEnabled =
process.env.npm_lifecycle_event === 'cover' ||
process.argv.includes('--coverage')

const projectRoot = path.resolve(import.meta.dirname, '..')

export default defineConfig({
cacheDir: path.resolve(projectRoot, '.cache/vitest'), // Explicit cache directory for consistent behavior.
test: {
globals: false,
environment: 'node',
exclude: [
'**/node_modules/**',
'**/dist/**',
'**/.{idea,git,cache,output,temp}/**',
'**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
// Exclude E2E tests from regular test runs.
'**/*-e2e.test.mts',
],
reporters: ['default'],
// Use threads for better performance
pool: 'threads',
poolOptions: {
threads: {
singleThread: false,
maxThreads: isCoverageEnabled ? 1 : 16,
minThreads: isCoverageEnabled ? 1 : 4,
// IMPORTANT: isolate: false for performance and test compatibility
//
// Tradeoff Analysis:
// - isolate: true = Full isolation, slower, breaks nock/module mocking
// - isolate: false = Shared worker context, faster, mocking works
//
// We choose isolate: false because:
// 1. Significant performance improvement (faster test runs)
// 2. Nock HTTP mocking works correctly across all test files
// 3. Vi.mock() module mocking functions properly
// 4. Test state pollution is prevented through proper beforeEach/afterEach
// 5. Our tests are designed to clean up after themselves
//
// Tests requiring true isolation should use pool: 'forks' or be marked
// with { pool: 'forks' } in the test file itself.
isolate: false,
// Use worker threads for better performance
useAtomics: true,
},
},
testTimeout: 30_000,
hookTimeout: 30_000,
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html', 'lcov', 'clover'],
exclude: [
'**/*.config.*',
'**/node_modules/**',
'**/[.]**',
'**/*.d.mts',
'**/*.d.ts',
'**/virtual:*',
'bin/**',
'coverage/**',
'dist/**',
'external/**',
'pnpmfile.*',
'scripts/**',
'src/**/types.mts',
'test/**',
'perf/**',
],
include: ['src/**/*.mts', 'src/**/*.ts'],
all: true,
clean: true,
skipFull: false,
ignoreClassMethods: ['constructor'],
thresholds: {
lines: 0,
functions: 0,
branches: 0,
statements: 0,
},
},
},
})
74 changes: 74 additions & 0 deletions .config/vitest.config.isolated.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/**
* @fileoverview Vitest configuration for tests requiring full isolation.
* Used for tests that need vi.doMock() or other module-level mocking that
* requires true module isolation. Use this config when tests need to mock
* modules differently in the same file or when isolate: false causes issues.
*/
import { defineConfig } from 'vitest/config'

// Check if coverage is enabled via CLI flags or environment.
const isCoverageEnabled =
process.env.COVERAGE === 'true' ||
process.env.npm_lifecycle_event?.includes('coverage') ||
process.argv.some(arg => arg.includes('coverage'))

export default defineConfig({
test: {
globals: false,
environment: 'node',
exclude: [
'**/node_modules/**',
'**/dist/**',
'**/.{idea,git,cache,output,temp}/**',
'**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
// Exclude E2E tests from regular test runs.
'**/*-e2e.test.mts',
],
reporters: ['default'],
// Use forks for full isolation.
pool: 'forks',
poolOptions: {
forks: {
// True isolation for vi.doMock() and module-level mocking.
isolate: true,
singleFork: isCoverageEnabled,
maxForks: isCoverageEnabled ? 4 : 16,
minForks: isCoverageEnabled ? 1 : 2,
},
},
testTimeout: 30_000,
hookTimeout: 10_000,
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html', 'lcov', 'clover'],
exclude: [
'**/*.config.*',
'**/node_modules/**',
'**/[.]**',
'**/*.d.mts',
'**/*.d.ts',
'**/virtual:*',
'bin/**',
'coverage/**',
'dist/**',
'external/**',
'pnpmfile.*',
'scripts/**',
'src/**/types.mts',
'test/**',
'perf/**',
],
include: ['src/**/*.mts', 'src/**/*.ts'],
all: true,
clean: true,
skipFull: false,
ignoreClassMethods: ['constructor'],
thresholds: {
lines: 35,
functions: 60,
branches: 35,
statements: 35,
},
},
},
})
60 changes: 60 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Version control
.git/
.github/
.gitignore
.gitattributes

# Dependencies
node_modules/
packages/*/node_modules/

# Build artifacts
dist/
build/
*.log
*.tgz
*.tar.gz

# Testing
coverage/
.nyc_output/
test-results/

# Caches
.cache/
.eslintcache
.tsbuildinfo
.rollup.cache/
pnpm-store/

# IDEs and editors
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# Environment files
.env
.env.local
.env.*.local

# Documentation
*.md
!README.md
docs/

# CI/CD
.circleci/
.travis.yml
azure-pipelines.yml
appveyor.yml

# Temporary files
tmp/
temp/
*.tmp

# OS files
Thumbs.db
9 changes: 0 additions & 9 deletions .editorconfig

This file was deleted.

11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Socket CLI Environment Configuration Example
# Copy this file to .env.local and customize for your local environment.

# Node.js Configuration (optional overrides).
NODE_COMPILE_CACHE="./.cache"
NODE_OPTIONS="--max-old-space-size=8192 --max-semi-space-size=1024"

# Socket API Configuration (for e2e testing).
# Get your API key from https://socket.dev/dashboard/settings
SOCKET_SECURITY_API_KEY=your_api_key_here
SOCKET_CLI_ORG_SLUG=your_org_slug_here
12 changes: 12 additions & 0 deletions .env.precommit
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Socket CLI Pre-commit Test Environment
# This file is loaded by dotenvx during pre-commit hooks.

# Disable API token requirement for unit tests.
SOCKET_CLI_NO_API_TOKEN=1

# Indicate tests are running in Vitest.
VITEST=1

# Node.js optimization for test performance.
NODE_COMPILE_CACHE="./.cache"
NODE_OPTIONS="--max-old-space-size=8192"
2 changes: 0 additions & 2 deletions .eslintignore

This file was deleted.

Loading
Loading