მოცემულ სტატიაში განვიხილავ SonarQube-ის შესაძლებლობებს JavaScript-თან (JS) მიმართებაში, რაც დეველოპერებსა და განვითარების მენეჯერებს ეხმარება; სტატია ასევე მოიცავს დემონსტრაციებს.

SonarQube გთავაზობთ აპლიკაციის უსაფრთხოების სტატიკურ ტესტირებას (SAST) 30-ზე მეტი ენისა და ფრეიმვორკისთვის (ინფრასტრუქტურული ენების ჩათვლით).
მათ შორის ერთ-ერთი ყველაზე პოპულარულია JavaScript (JS).
ინსტრუმენტი გთავაზობთ 420-ზე მეტ წესს JS-ისთვის (ბევრი მათგანი უნიკალურია) და მხარს უჭერს 5 ასპექტს:
ხარვეზები (Bugs), უსაფრთხოების მოწყვლადობა (Security Vulnerability), უსაფრთხოების ცხელი წერტილი (Security Hotspot), კოდის სუნი (Code Smell) და სწრაფი შესწორება (Quick fix).
თქვენ შეგიძლიათ მიიღოთ ჩვენგან დეტალური და განახლებული Excel ფაილი, რომელიც შეიცავს ყველა წესს JS-ისთვის (და სხვა ენებისთვის) – დაგვიკავშირდით ქვემოთ მითითებულ ელ.ფოსტაზე.
სარჩევი:
- ხარვეზები (Bugs)
- უსაფრთხოების მოწყვლადობა (Security Vulnerability)
- უსაფრთხოების ცხელი წერტილი (Security Hotspot)
- კოდის სუნი (Code Smell)
- რატომ არის SonarQube განსაკუთრებით შესაფერისი JavaScript-ისთვის?
- სადემონსტრაციო ვიდეო
- სტანდარტების ფართო სპექტრის მხარდაჭერა
- სხვადასხვა ოპერაციული სისტემისა და კომპილატორის მხარდაჭერა
- ფასები და ღირებულების შესახებ ინფორმაცია
შეკითხვები გაქვთ? მოგერიდებათ დაგვიკავშირდეთ და სიამოვნებით გიპასუხებთ! ელ.ფოსტა: sonarqube@almtoolbox.com (ტელეფონის ნომერი ხელმისაწვდომია სტატიის ბოლოს)
ხარვეზები (Bugs)
SonarQube-ს აქვს 80-ზე მეტი წესი JS-ისთვის, რომლებიც აფიქსირებენ ხარვეზებს და ხსნიან მათი გამოსწორების გზებს.
აი რამდენიმე მაგალითი:



უსაფრთხოების მოწყვლადობა (Security Vulnerability)
SonarQube-ს ამჟამად აქვს 30-ზე მეტი წესი JS-ისთვის, რომლებიც აფიქსირებენ უსაფრთხოების მოწყვლადობას და ხსნიან მათი გამოსწორების გზებს.
აი რამდენიმე მაგალითი:



უსაფრთხოების ცხელი წერტილი (Security Hotspot)
SonarQube-ს აქვს 60-ზე მეტი წესი JS-ისთვის, რომლებიც აფიქსირებენ უსაფრთხოების ცხელ წერტილებს და ხსნიან, როგორ გამოსწორდეს ისინი.
უსაფრთხოების ცხელი წერტილი არის კოდის მონაკვეთი, რომელიც ეჭვმიტანილია მოწყვლადობაში – როგორც წესი, სენსიტიურ API-ებთან, პატერნებთან ან ქმედებებთან მუშაობის გამო, რაც მოითხოვს ადამიანის მიერ გადახედვას იმის დასადგენად, არსებობს თუ არა რეალური საფრთხე.
აი რამდენიმე მაგალითი:



კოდის სუნი (Code Smell)
SonarQube-ს აქვს 240-ზე მეტი წესი JS-ისთვის, რომლებიც აფიქსირებენ კოდის სუნს (Code Smells) და ხსნიან, როგორ გამოსწორდეს ისინი.
აი რამდენიმე მაგალითი:



რატომ არის SonarQube განსაკუთრებით შესაფერისი JavaScript-ისთვის?
- წესების ფართო სპექტრი (420-ზე მეტი)
- ადაპტაცია მრავალი JS ფრეიმვორკისთვის (როგორიცაა React, Node.JS, Vue.js, Angular და ა.შ. – დეტალები ქვემოთ)
- „სუფთა კოდის“ (Clean Code) მიდგომა
- სწრაფი სკანირება! მათ შორის ინკრემენტული ანალიზი (მხოლოდ შეცვლილ კოდზე) და მრავალნაკადიანი ანალიზი კომპიუტერული რესურსების ოპტიმალური გამოყენებისთვის
- ინფორმაციულ უსაფრთხოებასთან დაკავშირებული ხარვეზების აღმოჩენა
- ძლიერი ინტეგრაცია განვითარების პროცესებთან და CI-თან
- ინტეგრაცია IDE-ებთან და განვითარების ინსტრუმენტებთან, რომლებსაც აქვთ JavaScript-ის მხარდაჭერა
- ხარისხიანი მხარდაჭერა ვენდორისგან, მათ შორის ადგილობრივი მხარდაჭერა ან ჩვენი მართვადი სერვისი, რაც დაგიზოგავთ სერვერის მოვლასა და მიმდინარე ოპერაციებზე ზრუნვას
SonarQube და JS სადემონსტრაციო ვიდეო
ქვემოთ მოცემულია SonarQube-ისა და JavaScript-ის ინტეგრაციის სადემონსტრაციო ვიდეო.
თქვენი კომფორტისთვის, ვიდეოს ქრონომეტრაჟზე დავამატეთ საკვანძო მომენტები (დაწკაპუნებადია პლეერის მეშვეობით):
- 13:20 Clean Code-ისა და New Code-ის დემონსტრაცია JS-ის გამოყენებით SonarQube-ში
- 18:20 დეველოპერების 68% წერს JavaScript-ზე
სტანდარტებისა და ფრეიმვორკების ფართო სპექტრის მხარდაჭერა:
- Editions 3 & 5, ECMAScript 2015 to 2022
- React JSX, Angular, Vue.js, Node.js, Express, Flow
- ტესტირების ფრეიმვორკების მხარდაჭერა (Mocha, Chai)
- Cloud native აპლიკაციების მხარდაჭერა:
გამოყოფილი AWS CDK წესები ღრუბლოვან ინფრასტრუქტურებში მოწყვლადობის მოსაძებნად, რომლებიც აღწერილია JS/TS-ით - მონაცემთა ბაზების API-ების მხარდაჭერა:
Sequelize, pg, pg-pool, pg-promise, mysql, mysql2, sqlite3, better-sqlite3, knex, MongoDB node.js, Mongoose ODM - OWASP Top 10
- CWE Top 25
- SANS Top 25
- PCI DSS
სხვადასხვა ოპერაციული სისტემისა და კომპილატორის მხარდაჭერა (ასევე სხვა ენებზე დაწერილი კოდის სკანირებისთვის):
- Windows, Linux, macOS
- Clang, GCC, MSVC, ARM, QNX კომპილატორები
- Intel-ის კომპილატორები Linux-ისთვის, macOS-ისთვის
- მთლიანად GCC-ზე დაფუძნებული კომპილატორები, Linaro GCC-ის ჩათვლით
- Wind River Diab და GCC
- IAR კომპილატორები 8051, ARM, AVR32, AVR, Renesas RL78, Renesas RX, Renesas V850, Renesas H8 და Texas Instruments MSP430-ისთვის
- Texas Instruments-ის კომპილატორები Windows-სა და macOS-ზე ARM, C2000, C6000, C7000, MSP430, PRU-სთვის
ფასები და ღირებულების შესახებ ინფორმაცია
უსაფრთხოების პრობლემების აღმომჩენი წესების უმეტესობა JavaScript კოდში არ არის ხელმისაწვდომი SonarQube-ის უფასო ვერსიაში (Community Edition).
JavaScript-ის სრული მხარდაჭერა არსებობს შემდეგ გამოცემებში: Developer Edition, Enterprise Edition და DataCenter Edition.
Security Reports-ისა და OWASP-ის მხარდაჭერა ხელმისაწვდომია მხოლოდ SonarQube Enterprise გამოცემაში.
SonarQube-ის ფასი დამოკიდებულია რამდენიმე პარამეტრზე. გამოცემებს შორის განსხვავებების შესახებ დეტალებისთვის, შეგიძლიათ წაიკითხოთ შემდეგი სტატია ან დაგვიკავშირდეთ (დეტალები ქვემოთ).
სტატია პირველად გამოქვეყნდა 2024 წლის ოქტომბერში და მას შემდეგ პერიოდულად ვაახლებთ.
ALM-Toolbox არის SonarSource-ის (SonarQube, SonarCloud და SonarLint-ის შემქმნელი) ექსკლუზიური ოფიციალური დისტრიბუტორი ისრაელსა და სხვა ქვეყნებში.
ჩვენ გთავაზობთ მართვად სერვისებს, მხარდაჭერას, ტრენინგებს, კონსულტაციებსა და ლიცენზიებს SonarQube-ისა და განვითარებისა და DevOps-ის სხვადასხვა დამხმარე ინსტრუმენტისთვის.
დამატებითი დეტალებისთვის დაგვიკავშირდით: sonarqube@almtoolbox.com ან ტელეფონით: +972-72-240-5222
რელევანტური ბმულები:
- SonarQube-ის ვებგვერდი
- როგორ ეხმარება SonarQube დეველოპერებსა და R&D მენეჯერებს?
- ვებინარის ჩანაწერი: SonarQube-ის მიმოხილვა და სიახლეები (2025)
- ვებინარის ჩანაწერი მომხმარებლის ისტორიით: SonarQube @ Dell (ივრითულ ენაზე)
- ვებინარის ჩანაწერი – განმარტება SonarQube-სა და კოდის უსაფრთხოებაზე (ივრითულ ენაზე)
- განმარტება SonarQube-ის მხარდაჭერაზე Java-სთვის
- განმარტება SonarQube-ის მხარდაჭერაზე C#-ისთვის
- განმარტება SonarQube-ის მხარდაჭერაზე C++-ისთვის
- ვენდორის ვებგვერდი (ტექნიკური)