{"_id":"@aiserviceprovider/sonar","_rev":"3-02b38bb6ff2417f959b44b7c5290b47e","name":"@aiserviceprovider/sonar","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@aiserviceprovider/sonar","version":"1.0.0","keywords":["AI-ServiceProvider","Angular","sonar"],"author":{"name":"Abhishek.k"},"license":"ISC","_id":"@aiserviceprovider/sonar@1.0.0","maintainers":[{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"}],"dist":{"shasum":"9ff8bbe11b5520e1422988643ec0bd281ae6ae76","tarball":"https://registry.npmjs.org/@aiserviceprovider/sonar/-/sonar-1.0.0.tgz","fileCount":7,"integrity":"sha512-ahXJaIwa0xor1kP3DWbtVXs/h8FaqrtjVHR3cg9FbcuPyZf//YLAh9AgAiRaOrwy1SbxEuDaNRsOO1G5Vtmvhw==","signatures":[{"sig":"MEUCIQCezlbKf5zZJySwljDbiX1d2MtKymncgFbbTvIFtWC6hQIgbwBMdnXpwt7K7PsweZjn+hShPQoYxOx140hvtMLq85s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24249},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"f6345dce65b54a5952856b25e4cd9858012187ab","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"},"_npmVersion":"11.6.2","description":"An Angular sonar setup module extension for AI-ServiceProvider backend project.","directories":{},"_nodeVersion":"25.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sonar_1.0.0_1768665002992_0.2580457619962706","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiserviceprovider/sonar","version":"1.0.1","keywords":["AI-ServiceProvider","Angular","sonar"],"author":{"name":"Abhishek.k"},"license":"ISC","_id":"@aiserviceprovider/sonar@1.0.1","maintainers":[{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"}],"dist":{"shasum":"91e43ac67d5707b76741d1ed3e03755784007ec9","tarball":"https://registry.npmjs.org/@aiserviceprovider/sonar/-/sonar-1.0.1.tgz","fileCount":8,"integrity":"sha512-wF3UampYHYt9b5vdr+QWCUI6fzGB5u7YFKcvydlrLsZjH49Hy5TD7WBUV7ZfQXcKemsj0o9CpseIN2BrFrk2eg==","signatures":[{"sig":"MEUCIQDSBq2u7vKgV89Ehg3QWN+Nz767m0e/mHBSw7QDhr5QLAIgCCYSELMEC4XYxvIjEYRum3X9Dpe4XNBe+IMbmWG0JIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42843},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"90ae5bad653be50fd899cdcc0c01b13f8acb1e99","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"},"_npmVersion":"11.6.2","description":"An Angular sonar setup module extension for AI-ServiceProvider backend project.","directories":{},"_nodeVersion":"24.4.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sonar_1.0.1_1772544347809_0.9269081042337721","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiserviceprovider/sonar","version":"1.0.2","description":"An Angular sonar setup module extension for AI-ServiceProvider backend project.","keywords":["AI-ServiceProvider","Angular","sonar"],"license":"ISC","author":{"name":"Abhishek.k"},"main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"devDependencies":{"typescript":"^5.7.0","@types/node":"^22.0.0"},"publishConfig":{"access":"public"},"gitHead":"90ae5bad653be50fd899cdcc0c01b13f8acb1e99","_id":"@aiserviceprovider/sonar@1.0.2","_nodeVersion":"24.4.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-AzlqCdsfHmRiy6nR//8uWj5eAVVUGzE5IoZyZIHFGXbDgP3Zhxj57+yz4OmmSS5YCnIP8x3JbdP6uLi9COXfGA==","shasum":"8e5b5bef9086968ca96a29206fcbd34288159400","tarball":"https://registry.npmjs.org/@aiserviceprovider/sonar/-/sonar-1.0.2.tgz","fileCount":8,"unpackedSize":42466,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGP7bgf9aYjK9vf18LrtZc4moU8RDdugyDhF/urs1OK4AiBw/lKeaGmmrvAB1l1wvSGC17A6rxJoXUbkqD+IAhjp9Q=="}]},"_npmUser":{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"},"directories":{},"maintainers":[{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sonar_1.0.2_1772544723337_0.9591049528335278"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-17T15:50:02.888Z","modified":"2026-03-03T13:32:03.603Z","1.0.0":"2026-01-17T15:50:03.136Z","1.0.1":"2026-03-03T13:25:47.969Z","1.0.2":"2026-03-03T13:32:03.474Z"},"author":{"name":"Abhishek.k"},"license":"ISC","keywords":["AI-ServiceProvider","Angular","sonar"],"description":"An Angular sonar setup module extension for AI-ServiceProvider backend project.","maintainers":[{"name":"abhishek.kadam007","email":"abhishek.kadam007@gmail.com"}],"readme":"# 🤖 AI AppBuilder Extension – SonarQube Scan Module\r\n\r\n![SonarQube Scan Module](./docs/images/sonarqube-logo.png)\r\n\r\n## 📌 Overview\r\n\r\nThe **AI AppBuilder SonarQube Scan Module** is an extension designed to integrate automated code quality analysis into Angular applications generated by the AI AppBuilder platform.\r\n\r\nThis extension leverages **SonarQube** to perform static code analysis, identify code smells, security vulnerabilities, bugs, and enforce coding standards for Angular applications built using AI AppBuilder.\r\n\r\nIt ensures that every generated Angular project maintains enterprise-grade code quality, security compliance, and maintainability.\r\n\r\n---\r\n\r\n## 🎯 Purpose\r\n\r\nThe primary goal of this module is to:\r\n\r\n* Automatically scan Angular applications generated by AI AppBuilder\r\n* Enforce code quality standards\r\n* Detect:\r\n\r\n  * 🐛 Bugs\r\n  * 🔐 Security vulnerabilities\r\n  * 🧹 Code smells\r\n  * 📏 Duplications\r\n  * 📊 Technical debt\r\n* Provide detailed quality reports\r\n* Support CI/CD quality gate enforcement\r\n\r\n---\r\n\r\n## 🏗 Architecture Overview\r\n\r\n```\r\nAI AppBuilder\r\n      │\r\n      ▼\r\nGenerated Angular App\r\n      │\r\n      ▼\r\nSonarQube Scan Module (Extension)\r\n      │\r\n      ▼\r\nSonarQube Server\r\n      │\r\n      ▼\r\nQuality Reports & Quality Gate Status\r\n```\r\n\r\n---\r\n\r\n## 🔍 How It Works\r\n\r\n1. AI AppBuilder generates an Angular application.\r\n2. The SonarQube Scan Module:\r\n\r\n   * Configures Sonar scanner properties\r\n   * Sets project key & metadata\r\n   * Executes SonarQube scan\r\n3. Scan results are published to SonarQube server.\r\n4. Quality Gate status is returned.\r\n5. Build process can be:\r\n\r\n   * ✅ Passed (if quality gate succeeds)\r\n   * ❌ Failed (if quality gate fails)\r\n\r\n---\r\n\r\n## ⚙️ Features\r\n\r\n* 🔄 Automatic scanning after Angular project generation\r\n* 📦 Zero manual Sonar setup required\r\n* 🧠 AI-aware configuration support\r\n* 📊 Detailed code metrics\r\n* 🔐 Security hotspot detection\r\n* 🏷 Configurable project keys\r\n* 🚦 Quality gate validation\r\n* 🔌 CI/CD ready\r\n\r\n---\r\n\r\n## 🛠 Installation\r\n\r\n```bash\r\nnpm install @aiserviceprovider/sonar\r\n```\r\n\r\n---\r\n\r\n## 🚀 Usage\r\n\r\n### 1️⃣ Configure SonarQube Server\r\n\r\nEnsure a running SonarQube instance:\r\n\r\n* SonarQube Server URL\r\n* Authentication Token\r\n* Project Key\r\n\r\nExample environment variables:\r\n\r\n```bash\r\nSONAR_HOST_URL=http://localhost:9000\r\nSONAR_TOKEN=your_generated_token\r\nSONAR_PROJECT_KEY=ai-app-angular-app\r\n```\r\n\r\n## 📊 Quality Metrics Collected\r\n\r\nThe module collects and reports:\r\n\r\n* Code Coverage\r\n* Maintainability Rating\r\n* Reliability Rating\r\n* Security Rating\r\n* Lines of Code\r\n* Duplications\r\n* Technical Debt Ratio\r\n\r\nAll metrics are published to **SonarQube** dashboard.\r\n\r\n---\r\n\r\n## 🔐 Security\r\n\r\nThis module helps enforce:\r\n\r\n* OWASP vulnerability detection\r\n* Hardcoded secret detection\r\n* Dependency risk visibility\r\n* Angular best practice compliance\r\n\r\n---\r\n\r\n## 🧩 Configuration Options\r\n\r\n| Option     | Description                     | Required |\r\n| ---------- | ------------------------------- | -------- |\r\n| projectKey | Unique Sonar project identifier | ✅        |\r\n| sourcePath | Angular source folder           | ✅        |\r\n| hostUrl    | SonarQube server URL            | ✅        |\r\n| token      | Authentication token            | ✅        |\r\n| exclusions | Files to exclude                | ❌        |\r\n\r\n---\r\n\r\n## 📌 Requirements\r\n\r\n* Node.js >= 16\r\n* Angular project generated by AI AppBuilder\r\n* Running SonarQube Server\r\n* Sonar Scanner CLI\r\n\r\n---\r\n\r\n## 🧠 Why This Module?\r\n\r\nAngular applications generated by AI can grow rapidly. Automated static analysis ensures:\r\n\r\n* Scalable architecture\r\n* Secure coding practices\r\n* Maintainable codebase\r\n* Enterprise readiness\r\n\r\nThis extension embeds quality control directly into the application generation lifecycle.\r\n\r\n","readmeFilename":"README.md"}