Skip to content

Major Update to v3.1.0#111

Open
equiman wants to merge 41 commits into
mainfrom
feature/deno
Open

Major Update to v3.1.0#111
equiman wants to merge 41 commits into
mainfrom
feature/deno

Conversation

@equiman
Copy link
Copy Markdown
Member

@equiman equiman commented Apr 27, 2026

Major Update to v3.1.0: Deno Support and Status Command

Overview

This PR introduces full support for Deno 2.0+ as a first-class package manager and a new status command designed for
CI/CD environments and advanced configuration inspection.

Key Changes

🦕 Deno Support

  • Full Integration: Added Deno as a supported package manager with comprehensive command translations (install, add,
    remove, task, test, publish).
  • Smart Detection: Enhanced the detection engine to prioritize deno.json and deno.jsonc files, ensuring correct
    environment identification in hybrid projects.
  • Version Handling: Implemented a specialized helper to parse and clean Deno's multi-line version output.

📊 New status Command

  • Flexible Formatting: Introduced swpm status (alias s) with support for json and plain text outputs.
  • Property Filtering: Support for deep property access via paths (e.g., swpm status json:versions.node or swpm status
    plain:using).
  • CI Ready: Validated error handling for missing properties, returning clear error messages and appropriate exit
    codes for automation scripts.

🛠 Technical Improvements

  • TypeScript Integrity: Performed a project-wide cleanup of strict typing issues, eliminating implicit any types and
    ensuring safe access to potentially undefined objects.
  • Unified Dev Environment: Simplified the contributor setup in DEVS.md with a single command for all global
    dependencies.
  • Detection Refactoring: Optimized the package manager lookup priority to handle modern Deno + Node.js co-existence
    scenarios.

Documentation

  • Updated README.md with detailed command usage and examples.
  • Enhanced CHEATSHEET.md with a new column for Deno command comparisons.
  • Formalized version history in CHANGELOG.md.

Quality Assurance

  • Unit Testing: Added 65+ test cases covering Deno command translations, automatic detection logic, and all status
    command formats.
  • Linting: Project is 100% clean of ESLint warnings and errors.
  • Build: Successfully validated ESM compilation.

equiman and others added 24 commits April 24, 2026 21:57
Co-authored-by: Copilot <copilot@github.com>
…th handling in openBrowser function

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: aider (groq/llama-3.3-70b-versatile) <aider@aider.chat>
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Apr 27, 2026

equiman added 13 commits April 30, 2026 23:35
- Fix upgrade command to use 'outdated --update' instead of 'add'
- Remove unnecessary mappings for identical commands (install, add, test, init, build, publish, outdated)
- Mark '--save-peer' as not available in Deno
- Mark '--global/-g' as not available in Deno
- Fix '--latest' to use package decoration pattern '<package>@latest'
- Map '--save-dev' to '--dev' and '--save-optional' to '--optional'
- Update CHEATSHEET.md and README.md with correct Deno support status
- Mark --global, --save-peer, --save-exact as not available in deno
- Update status.test.ts to read version dynamically from package.json
- Fix add.test.ts, remove.test.ts and sag.test.ts with correct deno expectations
- Remove hardcoded version numbers to prevent future test failures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant