Skip to content

feat: add npm namespace placeholder for git-id-switcher#422

Merged
nullvariant merged 3 commits into
mainfrom
feat/npm-placeholder-git-id-switcher
Apr 1, 2026
Merged

feat: add npm namespace placeholder for git-id-switcher#422
nullvariant merged 3 commits into
mainfrom
feat/npm-placeholder-git-id-switcher

Conversation

@nullvariant
Copy link
Copy Markdown
Owner

Summary

  • Add packages/git-id-switcher-npm/ directory with minimal package.json and README.md
  • Reserve the git-id-switcher npm package name to prevent namespace squatting
  • No scripts, no dependencies, no workspaces integration — purely a namespace reservation
  • Placed in packages/ (not extensions/) to separate npm registry artifacts from VS Code Marketplace artifacts

Notes

  • After merge, npm publish from packages/git-id-switcher-npm/ to complete the reservation
  • Future functionality (CLI, art experience) will be added in a separate PR

Test plan

  • npm pack --dry-run confirms only package.json and README.md are included
  • No private information (internal issue numbers, paths, etc.) in package contents
  • Not added to workspaces — npm run lint:all / test:all / compile:all unaffected

Reserve the `git-id-switcher` package name on npm registry to prevent
namespace squatting. Contains only package.json and README — no scripts,
no dependencies.

🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Model-Raw: claude-opus-4-6-20250415
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 1, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 4e98ff8.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@nullvariant-luna
Copy link
Copy Markdown
Contributor

nullvariant-luna Bot commented Apr 1, 2026

👧 Luna's Exploration Report 📦

No new dependencies added. Just version bumps! Nothing to explore here... 😴


Botに418返そうよ!

This report was curiously compiled by nullvariant-luna[bot]

@nullvariant-blaze
Copy link
Copy Markdown
Contributor

nullvariant-blaze Bot commented Apr 1, 2026

🐗 Blaze's Release Review 📦

No version bump. Just dependency changes... boring. Wake me up when it's deploy time! 😤


よっしゃ!デプロイしまくるぞ!

This review was ENTHUSIASTICALLY filed by nullvariant-blaze[bot]

@nullvariant-mimi
Copy link
Copy Markdown
Contributor

nullvariant-mimi Bot commented Apr 1, 2026

🐰 Mimi's Validation Report ✅

All checks are looking good! Great job! 🎉

⏳ Some checks are still running. I will keep watching!


バリデーターを通してくださいね

This report was carefully prepared by nullvariant-mimi[bot]

@nullvariant-ciel
Copy link
Copy Markdown
Contributor

nullvariant-ciel Bot commented Apr 1, 2026

🕊️ Ciel's Mediation 🌤️

*~~ floating down from the clouds ~~ The zoo seems a bit noisy today...*

3 zoo members have reviewed this PR.

Zoo Member Status
🐰 Mimi Commented
👧 Luna Commented
🐗 Blaze Commented

⚖️ The zoo has mixed opinions. Some are concerned, some are fine with it. Please review each comment carefully and make the final call.


まあまあ、ほどほどに。

This mediation was peacefully delivered by nullvariant-ciel[bot]

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Add npm namespace placeholder for git-id-switcher package

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add npm namespace placeholder package for git-id-switcher
• Reserve package name on npm registry to prevent squatting
• Includes minimal package.json and README with extension links
• Placed in packages/ directory separate from VS Code artifacts
Diagram
flowchart LR
  A["Repository Structure"] --> B["packages/git-id-switcher-npm/"]
  B --> C["package.json"]
  B --> D["README.md"]
  C --> E["Namespace Reservation"]
  D --> F["Extension Reference"]
  E --> G["npm Registry"]
  F --> H["VS Code Marketplace"]
Loading

Grey Divider

File Changes

1. packages/git-id-switcher-npm/package.json ✨ Enhancement +19/-0

Create npm package metadata for namespace reservation

• Created minimal package.json with name git-id-switcher and version 0.0.1
• Configured with author, license, and repository metadata
• Added relevant keywords (git, identity, switcher, vscode)
• No dependencies or scripts included

packages/git-id-switcher-npm/package.json


2. packages/git-id-switcher-npm/README.md 📝 Documentation +13/-0

Add README with extension reference and links

• Created README explaining this is a namespace placeholder package
• Directs users to the actual VS Code Marketplace extension
• Includes links to GitHub repository and marketplace listing
• Clarifies the relationship between npm package and VS Code extension

packages/git-id-switcher-npm/README.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review Bot commented Apr 1, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Remediation recommended

1. License file missing🐞 Bug ⚙ Maintainability
Description
The placeholder package declares "license": "MIT" but the PR does not include a LICENSE file under
packages/git-id-switcher-npm/, so publishing from that directory would distribute the package
without the MIT license text required to be included with copies.
Code

packages/git-id-switcher-npm/package.json[R4-7]

+  "description": "Namespace placeholder for git-id-switcher. The actual extension is available on the VS Code Marketplace.",
+  "author": "Null;Variant <null@nullvariant.com>",
+  "license": "MIT",
+  "homepage": "https://github.com/nullvariant/nullvariant-vscode-extensions/tree/main/extensions/git-id-switcher",
Evidence
The placeholder package declares MIT in its package.json. The repository’s MIT license text
explicitly states the copyright notice and permission notice must be included in copies/substantial
portions; since this new package directory does not add a LICENSE file, an npm publish from that
directory would omit the license text from the published tarball.

packages/git-id-switcher-npm/package.json[4-12]
LICENSE[1-13]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`packages/git-id-switcher-npm/package.json` declares `MIT`, but the package directory does not include a `LICENSE` file. Publishing from this directory would ship the package without the MIT license text.
## Issue Context
The repo already has a root `LICENSE` containing MIT terms. For npm publication from a subdirectory, the license file should exist within that published package directory.
## Fix Focus Areas
- packages/git-id-switcher-npm/package.json[4-12]
## Suggested change
- Add `packages/git-id-switcher-npm/LICENSE` (copy of the root `LICENSE`).
- (Optional) Add a `"files"` allowlist in `package.json` to make the published contents explicit (e.g., `README.md`, `package.json`, `LICENSE`, and any stub entrypoint if added).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

2. No package entrypoint 🐞 Bug ≡ Correctness
Description
The placeholder npm package has no main/exports, and this PR adds no code file (only README +
package.json), so importing/requiring git-id-switcher will fail for anyone who installs it
expecting a Node module.
Code

packages/git-id-switcher-npm/package.json[R1-19]

+{
+  "name": "git-id-switcher",
+  "version": "0.0.1",
+  "description": "Namespace placeholder for git-id-switcher. The actual extension is available on the VS Code Marketplace.",
+  "author": "Null;Variant <null@nullvariant.com>",
+  "license": "MIT",
+  "homepage": "https://github.com/nullvariant/nullvariant-vscode-extensions/tree/main/extensions/git-id-switcher",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/nullvariant/nullvariant-vscode-extensions.git",
+    "directory": "packages/git-id-switcher-npm"
+  },
+  "keywords": [
+    "git",
+    "identity",
+    "switcher",
+    "vscode"
+  ]
+}
Evidence
packages/git-id-switcher-npm/package.json defines an npm package but does not declare any
entrypoint fields (main/exports/bin). The README explicitly calls it a placeholder, but it is
still installable as an npm package name, so accidental imports will error.

packages/git-id-switcher-npm/package.json[1-19]
packages/git-id-switcher-npm/README.md[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`packages/git-id-switcher-npm` is publishable to npm but has no entrypoint. If a user installs it and tries to import/require it, it will fail because there is no declared `main`/`exports` (and no stub JS file in this PR).
## Issue Context
This is a namespace placeholder, but adding a tiny stub entrypoint can prevent confusing runtime failures and can provide a clearer error message.
## Fix Focus Areas
- packages/git-id-switcher-npm/package.json[1-19]
## Suggested change
- Add `packages/git-id-switcher-npm/index.js` that throws a clear error (or logs a message) explaining this is a placeholder and pointing to the VS Code Marketplace.
- Update `package.json` to include:
- `"main": "./index.js"`
- optionally `"exports": "./index.js"`

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

nullvariant and others added 2 commits April 1, 2026 17:07
- Add `files` field to restrict published contents
- Add `_nameConflictNote` to document intentional name duplication
- Update homepage to VS Code Marketplace URL
- Add Open VSX Registry link to README

🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Model-Raw: claude-opus-4-6-20250415
- Copy LICENSE from repo root to npm package directory
- Add LICENSE to files field in package.json
- Rename _nameConflictNote to x-nameConflictNote (avoid npm internal prefix)

🖥️ IDE: [Cursor](https://cursor.sh)
🔌 Extension: [Claude Code](https://claude.ai/download)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Model-Raw: claude-opus-4-6-20250415
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Apr 1, 2026

@nullvariant nullvariant merged commit e2d3690 into main Apr 1, 2026
34 of 37 checks passed
@nullvariant nullvariant deleted the feat/npm-placeholder-git-id-switcher branch April 1, 2026 08:14
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