Major features
- 6 new adaptability rules (https://sonarsource.atlassian.net/browse/MMF-3931)
What's Changed
- Update release.yml: Fix slack channel by @vdiez in #4674
- Prepare next development iteration by @vdiez in #4675
- BUILD-4873 Disable GitHub issue creation by @Wohops in #4676
- Resolve JS-147 - Adapt SonarJS to the next ESLint Plugin by @ericmorand-sonarsource in #4677
- Resolve JS-81- Options Schemas required for ESLint v9 by @ericmorand-sonarsource in #4679
- Resolve JS-150 by @ericmorand-sonarsource in #4680
- Change trigger type of perf task to
manual
by @saberduck in #4682 - Resolve JS-151 - Add explicit
meta.schema
to the configurable rules that are missing it by @ericmorand-sonarsource in #4683 - JS-148 Fix deprecations by @zglicz in #4681
- Use Cirrus cache for Orchestrator by @saberduck in #4696
- JS-161 Separate bridge from sonar-javascript-plugin by @saberduck in #4697
- JS-162 Create API module by @saberduck in #4704
- JS-157 Generate protobuf definition of ESTree by @ilia-kebets-sonarsource in #4700
- JS-163 New Java API to process files during the analysis by @saberduck in #4706
- JS-174 Generate Java classes for deserialization of ESTree by @saberduck in #4714
- JS-154: Bridge sends AST to plugin as
multipart/form-data
by @ilia-kebets-sonarsource in #4711 - JS-158 Prepare generator to produce Java classes by @saberduck in #4723
- JS-170 Bundle SonarJS with Node.js Runtime on Linux ARM64 Platform by @yassin-kammoun-sonarsource in #4726
- JS-164 Improve S5122: Detect origin reflection by @yassin-kammoun-sonarsource in #4724
- JS-158 Geneate Java API for ESTree by @saberduck in #4725
- JS-159 Send real AST using
protobufjs
by @ilia-kebets-sonarsource in #4716 - JS-160 Create Java based AST by @saberduck in #4731
- JS-160 Add fail-safe in case of deserialization error by @quentin-jaquier-sonarsource in #4736
- JS-166 The AST should be serialized and sent to the plugin only when at least one consumer is listening by @ilia-kebets-sonarsource in #4733
- JS-186 ESTree AST should not be serialized when Armor is disabled by @quentin-jaquier-sonarsource in #4737
- JS-155 SonarJS exposes entry point to the parser for testing by @quentin-jaquier-sonarsource in #4734
- Do not serialize the AST if the
skipAst
flag is set by @ilia-kebets-sonarsource in #4738 - Serialize the AST for all file extensions by @ilia-kebets-sonarsource in #4739
- JS-185 Do not crash for protobuf exceptions by @quentin-jaquier-sonarsource in #4740
- JS-193 Add missing
body
property to static block by @ilia-kebets-sonarsource in #4741 - JS-195 Add literal to ExportAllDeclaration's
exported
property type by @ilia-kebets-sonarsource in #4743 - JS-188 Directive can be used as a Statement by @quentin-jaquier-sonarsource in #4742
- Update S4649: Clarify how to use the rule property "ignoreFontFamilies" by @yassin-kammoun-sonarsource in #4744
- Update rules count by @ilia-kebets-sonarsource in #4745
- JS-209 Catch IllegalStateException when saving highlights and cpd tokens by @vdiez in #4746
- JS-210 Do not print the full stack trace in case of
InvalidProtocolBufferException
during Protobuf parsing in the plugin by @quentin-jaquier-sonarsource in #4749 - JS-191 Import rules from eslint-plugin-sonarjs by @vdiez in #4747
- Remove Burgr related stuff - as we're decomissioning it by @ilia-kebets-sonarsource in #4751
- JS-230 Java ESTree AST should correctly build array expressions and patterns with empty elements by @quentin-jaquier-sonarsource in #4753
- JS-225 Release eslint-plugin-sonarjs by @vdiez in #4752
- Update new rule template by @vdiez in #4754
- JS-229 Fix eslint-plugin-sonarjs release action by @vdiez in #4755
- Use new docs URL by @vdiez in #4756
- JS-236 Add eslint-plugin-sonarjs compatibility with ESLint 9 by @vdiez in #4758
- Create README for eslint-plugin-sonarjs by @vdiez in #4759
- Fix Typedoc task by @vdiez in #4760
- Add name to ESLint recommended config by @vdiez in #4761
- JS-185 Deeply nested ASTs should be de-serialized correctly by @quentin-jaquier-sonarsource in #4762
- SONARARMOR-98 SonarArmor JS/TS rules should be in Sonar Way profile by @quentin-jaquier-sonarsource in #4764
- Update license headers to include 2024 by @Wohops in #4768
- JS-276 Ruling is executable with parameters by @ilia-kebets-sonarsource in #4766
- JS-283 Use repository to determine AnalysisMode by @saberduck in #4771
- Update the package.json bugs URL by @ilia-kebets-sonarsource in #4765
- Release eslint-plugin-sonarjs version 2.0.0 with tag latest by @vdiez in #4773
- Resolves JS-278 by @ericmorand-sonarsource in #4769
- Fix SonarQube issue 9eccec63 by @ericmorand-sonarsource in #4776
- Fix eslint-plugin-sonarjs release action by @vdiez in #4775
- JS-295 List of rules is created automatically by @vdiez in #4778
- JS-284 Rule parameter schema should be available statically in meta file by @vdiez in #4772
- Promote Release 2.0.1 by @ericmorand-sonarsource in #4781
- BUILD-6088 Create Security.md by @SamirM-BE in #4774
- JS-299 List nodes that need to be supported in TS by @ericmorand-sonarsource in #4785
- Fix ESLint plugin type dependencies by @vdiez in #4782
- JS-280 Support unknown nodes in AST protobuf file by @vdiez in #4786
- JS-304 Support TSAsExpression nodes by @ericmorand-sonarsource in #4788
- Remove
estree.proto
file duplication by @vdiez in #4787 - ESLINTJS-52 Argument of type 'Config' is not assignable to parameter … by @ericmorand-sonarsource in #4790
- JS-305 Support TSNonNullExpression nodes by @ilia-kebets-sonarsource in #4792
- JS-307 Support TSSatisfiesExpression nodes by @ilia-kebets-sonarsource in #4791
- JS-308 Support TSTypeAssertion nodes by @ilia-kebets-sonarsource in #4793
- JS-306 Support TSParameterProperty nodes by @ilia-kebets-sonarsource in #4794
- Do not log when serializing unsupported nodes, only for unknown ones by @ilia-kebets-sonarsource in #4796
- Fix compilation errors: also delete
packages/jsts/src/rules/lib/
in_:bridge:clear
script by @ilia-kebets-sonarsource in #4800 - JS-312 Create rule S1607 (
no-skipped-tests
): Tests should not be skipped without providing a reason by @yassin-kammoun-sonarsource in #4797 - Remove deprecated GitHub actions by @ilia-kebets-sonarsource in #4801
- JS-312 Improve S1607 (
no-skipped-tests
): Allow explanation comments adjacent to the disabled test by @yassin-kammoun-sonarsource in #4804 - JS-59: Create rule S7059 (
no-async-constructor
): Constructors should not contain asynchronous operations by @vdiez in #4798 - JS-323 Create rule S6627 (
no-internal-api-use
): Users should not use internal APIs by @ilia-kebets-sonarsource in #4802 - Document issue tracking process by @ilia-kebets-sonarsource in #4806
- Update DEV.md by @zglicz in #4803
- JS-328 Improve rule S4328 (
no-implicit-dependencies
) by @vdiez in #4809 - Fix dot folder exclusion from ruling analysis by @zglicz in #4811
- JS-54 Add rule S7060 Modules should not import themselves by @saberduck in #4810
- Fixable attribute from RSPEC should override by metadata from rule itself by @saberduck in #4812
- Remove a column in the readme of plugin rules by @zglicz in #4808
- JS-327 Support TSExportAssignment nodes by @ilia-kebets-sonarsource in #4814
- JS-296 Fix rule S128 to support eslint v9 by @zglicz in #4815
- Update parent pom by @saberduck in #4817
- JS-313 Create rule S2301 (
no-selector-parameter
): Methods should not contain selector parameters by @ericmorand-sonarsource in #4799 - Prepare release 10.15.0 by @ericmorand-sonarsource in #4824
- Update analyzer-commons to 2.13.0.3004 by @saberduck in #4827
New Contributors
- @SamirM-BE made their first contribution in #4774
Full Changelog: 10.14.0.26080...10.15.0.27423
This release will be part of SonarQube 10.7.
milestone: https://github.com/SonarSource/SonarJS/milestone/92?closed=1