Commit Graph
49 Commits
Author SHA1 Message Date
Sahilb315 60b7314144 fix(manifest-scan): resolve deps only for requirements.txt 2025-06-13 19:36:19 +05:30
Sahilb315 8b9594a304 revert back to traditional for loop 2025-06-12 22:28:56 +05:30
Sahilb315 3d5905c353 merge conflict 2025-06-12 22:22:38 +05:30
Sahilb315 828ad8b39d fix: resolve dependencies for manifest file scans - 2 2025-06-12 22:20:38 +05:30
Sahilb315 87ac51316a fix: resolve dependencies for manifest file scans 2025-06-12 22:11:07 +05:30
Sahilb315 7e6c6dd48c fix: resolve dependencies for manifest file scans 2025-06-12 22:06:46 +05:30
Sahil BansalandGitHub 8f8ca7fd5c docs: update limitation for pypi registry scanning only (#39) 2025-06-12 21:08:41 +05:30
5e9f2af972 Support for scanning manifest files (#36)
* feat: add extractor logic for manifest files

* feat: add manifest-based package installation detection

* feat: add osv-scanner for extracting lockfiles

* refactor: add comment for cmd parse

* refactor: add Ecosystem() method to PackageManager interface

* refactor: implement package-manager-specific extractors & replace osv-scanner with scalibr

* Update extractor/extractor.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-12 18:58:58 +05:30
Sahil BansalandGitHub 302e17fe48 docs: Update supported package managers for pip (#37)
* docs: update supported package managers for pip

* Update README.md

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
2025-06-10 18:46:32 +05:30
53783c6604 feat: Add support for pip Package Manager (#33)
* feat/init-pip-cmd

* feat: Add PyPi resolver

* test: Add tests for pypi and pypi_resolver

* refactor: unify package dependency resolution and improve PyPI version handling using registry adapter

* chore: remove unused file

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* feat: add Python dependency parsing with extras support

* refactor(deps): Improve PyPI dependency resolution and add custom resolver support

* chore: remove extra file

* fix: improve dependency resolution and package deduplication

* chore: remove extra print statement

* chore: typo fix

* feat: support PyPi package extras

* test: add test for pypi dependency parse function

* fix: remove overwritten of parsedCmd

* chore: remove extra print statement

* chore: typo fix

* feat: support PyPi package extras

* test: add test for pypi dependency parse function

* fix: remove overwritten of parsedCmd

* refactor: enhance code readability & remove extra code

* chore: remove extra code

* Update cmd/npm/npm.go

Co-authored-by: Omkar Phansopkar <omkarphansopkar@gmail.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* Update cmd/npm/pnpm.go

Co-authored-by: Omkar Phansopkar <omkarphansopkar@gmail.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* Update cmd/pypi/pip.go

Co-authored-by: Omkar Phansopkar <omkarphansopkar@gmail.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Omkar Phansopkar <omkarphansopkar@gmail.com>
2025-06-09 17:37:08 +05:30
4031219375 fix: Show error messages on fatal failures #32 (#34)
* fix: Show error messages on fatal failures #32

* test: Add E2E test

* test: fix E2E scripts

* test: fix E2E scripts

* fix: Race condition in concurrent analyzer

* fix: update formatting to ensure docs URL is clickable

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* fix: E2E test

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Sahil Bansal <bansalsahil315@gmail.com>
v0.0.4
2025-05-17 21:54:47 +05:30
Abhisek DattaandGitHub b85f77cfbc feat: Add support for active scanning in paranoid mode (#31)
* feat: Add support for active scanning in paranoid mode

* docs: Fix README
2025-05-16 19:38:06 +05:30
Hanshal MehtaandGitHub 81d4875b8d feat: add version command (#26) v0.0.3 2025-05-16 09:41:48 +05:30
Kunal SinghandGitHub d8d7bda8ca docs: add brew installation setup in readme (#25)
* docs: add brew installation setup in readme

Signed-off-by: Kunal Singh <kunalsin9h@gmail.com>

* updated TOC

Signed-off-by: Kunal Singh <kunalsin9h@gmail.com>

* removed also for 1st install option

Signed-off-by: Kunal Singh <kunalsin9h@gmail.com>

---------

Signed-off-by: Kunal Singh <kunalsin9h@gmail.com>
2025-05-15 22:24:02 +05:30
Abhisek DattaandGitHub 7c9681ef00 Multiple Misc Updates (#23)
* docs: Update README

* docs: Add badges
2025-05-15 21:34:41 +05:30
Sudhanshu DasguptaandGitHub 6c7e3b875a Add new intro image (#24)
* add new into image

Signed-off-by: Sudhanshu Dasgupta <dasguptashivam23@gmail.com>

* replace image

Signed-off-by: Sudhanshu Dasgupta <dasguptashivam23@gmail.com>

---------

Signed-off-by: Sudhanshu Dasgupta <dasguptashivam23@gmail.com>
2025-05-15 20:16:03 +05:30
Abhisek DattaandGitHub 5022d64ce4 chore: Improve UX (#22) v0.0.2 2025-05-15 18:03:46 +05:30
Abhisek DattaandGitHub cfde1d7632 ci: Add CodeQL and OpenSSF Scorecard action (#21) v0.0.1 2025-05-15 16:59:13 +05:30
Abhisek DattaandGitHub e86b6ef056 feat: Refactor PMG to Maintain Separation of Concerns and Clean Architecture (#19)
* feat: Add separate package manager and resolver

* fix: Npm dependency resolver

* feat: Add analyzer for malysis query

* feat: Add package manager guard as the orchestrator

* feat: Add PMG to orchestrate installation

* Add concurrent scan execution

* Introduce package manager interaction abstraction

* feat: Add UI port for guard

* Remove refactored source files

* Update README

* fix: CI script for multi-arch build

* ci: goreleaser CI fix

* fix: npm command parser to extract package names

* feat: Introduce global config primitive

* fix: Close results channel for clean goroutine exit

* ci: Add container image releaser

* test: Improve test for npm resolver

* refactor: Analyzer to generalise

* Improve UI with additional info

* fix: Goreleaser config

* fix: npm resolver bug

* fix: Fail when command exec workflow fails

* fix: Bug with transitive dependency resolution

* fix: Synchronize common data update in dependency resolver

* chore: Improve log handling

* docs: Update README

* fix: UI text wrapping

* fix: UI handling bugs

* feat: Use concurrent dependency resolver
2025-05-15 16:50:59 +05:30
8b46964c7a fix(npm): handle multiple packages and flag parsing correctly (#17)
* fix(npm): handle multiple packages and flag parsing correctly

- Fixes issue where only the first package was scanned; now all packages in install command are parsed and processed.
- Correctly separates flags (e.g., --save-dev) from package names to avoid treating them as packages.
- Applies same fixes to both npm and pnpm flows.
- Updated wrapper to scan all packages before installing, maintaining original CLI behavior.

* refactor: fixed the registry type

* feat: continue installing other packages if one is denied

* Update pkg/wrapper/npm_base.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* fix(wrapper): exit gracefully for user-rejected packages

* fix: remove env validation

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-12 09:23:08 +05:30
Sahil BansalandGitHub f7855e99a2 docs: add CONTRIBUTORS and MAINTAINERS files, update README (#18)
* docs: README update

* docs: introduce CONTRIBUTING.md

* docs: introduce MAINTAINERS.txt
2025-05-11 22:42:27 +05:30
Sahil BansalandGitHub 86f8bd42b7 replace AnalysePackage with QueryPackageAnalysis API & use community API (#15) 2025-05-11 22:41:34 +05:30
6a28fb16a1 refactor: improve progress bar logic and update display (#14)
* fix: Revise progress tracking mechanism

* chore: remove unused getDependencies func

* chore: removed unused property & add fetcher check

* Update pkg/wrapper/npm_base.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* refactor: make SetProgressTracker common for all fetchers

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-06 16:35:59 +05:30
df754ccc82 Add colorful outputs & remove md text (#13)
* fix: parsePackageInfo to handle pkg names with special character

* Enhance pmg outputs by adding colors and removing markdown notions

* Update pkg/wrapper/npm_base.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* Update npm_base.go

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>

* test: add tests for removeMarkdown

* chore: remove duplicate code

* refactor: convert TerminalColors to global var and split markdown utils

---------

Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-05 23:32:34 +05:30
Sahil BansalandGitHub 88f39b56ff fix: parsePackageInfo to handle pkg names with special character (#11)
* fix: parsePackageInfo to handle pkg names with special character

* test: add tests for CleanVersion and ParsePackageInfo util functions
2025-05-04 18:50:13 +05:30
Sahil BansalandGitHub 5a6b842360 add goreleaser & goreleaser workflow (#8) 2025-05-02 12:37:27 +05:30
Sahil BansalandGitHub 1aa4b06f41 Pnpm suppport (#6)
* fix: resolves issues #3 and #4

* feat: add pnpm support & introduce pkg manager wrap for npm
2025-04-30 14:26:38 +05:30
Abhisek DattaandGitHub ec010c7d6b Merge pull request #1 from safedep/feat/npm-support
project initialisation & added npm cmd support
2025-04-29 09:06:05 +05:30
Sahilb315 4f13dfbb40 chore: clean unused deps 2025-04-29 01:52:35 +05:30
Sahilb315 d4a31b14c0 ci: add vet ci 2025-04-29 01:41:50 +05:30
Sahilb315 8b31fd458b feat: add progress bar and add debug & silent flags 2025-04-29 01:33:27 +05:30
5ea85fa1f3 Update pkg/common/utils/utils.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Sahil Bansal <bansalsahil315@gmail.com>
2025-04-28 20:48:07 +05:30
Sahilb315 6ae594a896 readme installation update 2025-04-28 20:02:20 +05:30
Sahilb315 1abcc28259 refactor: introduce PackageAnalyser struct and remove unused arborist files 2025-04-28 19:23:36 +05:30
Sahilb315 d60fe87236 Add support for defaulting to latest version and improve code structure 2025-04-25 20:53:07 +05:30
Sahilb315 b8444d244b replaced deps fetching from arborist to custom 2025-04-24 03:46:38 +05:30
Sahilb315 7167db9830 added workers queue 2025-04-23 22:38:39 +05:30
Sahilb315 1085b73c90 readme update 2025-04-23 02:21:44 +05:30
Sahilb315 cdc43d3a14 function name change 2025-04-23 01:12:26 +05:30
Sahilb315 d636a928c4 added Makefile 2025-04-21 21:13:23 +05:30
Sahilb315 2d2f0fdee9 added arborist.js file & support for npm auth token for arborist lib to scan private deps 2025-04-10 01:10:56 +05:30
Sahilb315 ed8f9b6d53 minimal implementation for pmg 2025-04-09 23:27:46 +05:30
Sahilb315 4805f443f5 common functions for grpc 2025-04-09 01:53:05 +05:30
Sahilb315 a190d945ec replaced arborist with arborist bundle & common func for analysis 2025-04-09 00:58:14 +05:30
Sahilb315 e1e57a3ecd embedded arborist.js file & common func for pkg extracting 2025-04-09 00:09:36 +05:30
Sahilb315 b09e34c3eb npm token removal 2025-04-08 02:45:53 +05:30
Sahilb315 3e79d2a53f project initialisation & added npm cmd support 2025-04-08 02:37:15 +05:30
Abhisek DattaandGitHub 1d45698137 Update README.md
Signed-off-by: Abhisek Datta <abhisek.datta@gmail.com>
2025-03-20 08:00:09 +05:30
Abhisek DattaandGitHub c22c97b257 Initial commit 2025-03-20 07:59:48 +05:30