sonarqube-issues-exporter
Version:
Enterprise-level SonarQube issues exporter with TypeScript support for generating comprehensive HTML reports with dark theme
166 lines (116 loc) โข 4.13 kB
Markdown
# Publishing Instructions
## ๐ NPM Package Ready for Publication
Your SonarQube Issues Exporter is now fully configured as an NPM package and ready for publication!
## โ
What's Been Configured
1. **Package Configuration** (`package.json`)
- โ
Bin commands: `sonarqube-exporter` and `sq-exporter`
- โ
Files array to control what gets published
- โ
Proper scripts for build automation
- โ
Keywords and metadata for discoverability
- โ
License and author information
2. **Build System**
- โ
TypeScript compilation to `dist/` folder
- โ
Template and asset copying
- โ
Pre-publish build automation
3. **Package Exclusions** (`.npmignore`)
- โ
Source files excluded (only `dist/` included)
- โ
Development files excluded
- โ
Test files excluded
- โ
Configuration files excluded
4. **CLI Integration**
- โ
Shebang lines for executable files
- โ
Global installation support
- โ
Both long and short command aliases
## ๐งช Local Testing Results
โ
**Package Creation**: `npm pack` - successful (38.2 kB package)
โ
**Global Installation**: Installed successfully from tarball
โ
**CLI Commands**: Both `sonarqube-exporter` and `sq-exporter` work
โ
**Help System**: All help commands display correctly
โ
**Options**: All command-line options available
## ๐ฆ Publishing Steps
### Step 1: Verify Your NPM Account
```bash
npm whoami
```
If not logged in:
```bash
npm login
```
### Step 2: Final Pre-publish Checks
```bash
# Check what will be published
npm pack --dry-run
# Verify package contents
tar -tzf sonarqube-issues-exporter-2.0.0.tgz
# Test local installation one more time
npm install -g ./sonarqube-issues-exporter-2.0.0.tgz
```
### Step 3: Publish to NPM
```bash
# For first-time publishing
npm publish
# For public packages (if scoped)
npm publish --access public
```
### Step 4: Verify Publication
```bash
# Check if package is available
npm view sonarqube-issues-exporter
# Test installation from NPM
npm install -g sonarqube-issues-exporter
```
## ๐ Pre-publication Checklist
- [x] Package builds successfully (`npm run build`)
- [x] All tests pass (`npm test`)
- [x] Package creates without errors (`npm pack`)
- [x] CLI commands work after global installation
- [x] Version number is appropriate (currently 2.0.0)
- [x] README.md is comprehensive and up-to-date
- [x] LICENSE file exists
- [x] Repository URL is correct in package.json
- [x] Keywords are relevant for discoverability
## ๐ Version Management
### Current Version: 2.0.0
This is appropriate for a major release with the new type system and npm package structure.
### Future Updates
```bash
# Patch version (bug fixes)
npm version patch
# Minor version (new features)
npm version minor
# Major version (breaking changes)
npm version major
# Then republish
npm publish
```
## ๐ Expected Package Stats
- **Package Size**: ~38.2 kB
- **Unpacked Size**: ~162.6 kB
- **File Count**: 80 files
- **Dependencies**: Production dependencies only in published package
- **Node Version**: Supports Node.js 18+
## ๐ Post-Publication
### Promote Your Package
1. **NPM Package Page**: https://www.npmjs.com/package/sonarqube-issues-exporter
2. **GitHub Releases**: Create a release tag
3. **Documentation**: Update README with installation instructions
4. **Community**: Share on relevant forums/communities
### Monitor Usage
```bash
# Check download stats
npm view sonarqube-issues-exporter
# Check versions
npm view sonarqube-issues-exporter versions --json
```
### Users Can Install With
```bash
# Global installation (recommended)
npm install -g sonarqube-issues-exporter
# Local installation
npm install sonarqube-issues-exporter
# Use with npx (no installation)
npx sonarqube-issues-exporter export --help
```
## ๐ Ready to Publish!
Your package is professionally configured and ready for publication. The CLI will be available globally after users install it, making SonarQube issue reporting accessible to the entire development community.
Run `npm publish` when you're ready to make it available to the world! ๐