@codacy/tools-unsupported-tools 0.11.4 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +13 -4
  2. package/dist/index.js +25 -22
  3. package/package.json +2 -2
package/README.md CHANGED
@@ -43,7 +43,8 @@ apart from real adapters.
43
43
 
44
44
  Several cloud-only tools ship framework-specific patterns (PHPCS → CakePHP/WordPress/Drupal/Magento/
45
45
  Symfony; dartanalyzer → Flutter/Angular; SonarCSharp → ASP.NET Core/Entity Framework/xUnit/…;
46
- CodeNarc → Grails/Spock/…). `src/framework-mappings.json` maps **tool ID → `FrameworkMappings`** so
46
+ CodeNarc → Grails/Spock/…; Codacy ScalaMeta Pro → Play Framework).
47
+ `src/framework-mappings.json` maps **tool ID → `FrameworkMappings`** so
47
48
  `init --auto` can include those patterns only when the framework is actually detected (and exclude
48
49
  them otherwise), exactly like supported tools.
49
50
 
@@ -52,11 +53,19 @@ them otherwise), exactly like supported tools.
52
53
  `frameworkMappings` at load time.
53
54
  - Choose the mechanism per tool from its pattern shape: `prefixes` when pattern IDs are namespaced by
54
55
  framework (e.g. `PHPCS_CakePHP_`), `tags` otherwise (e.g. `flutter`, `aspnetcore`, `grails`).
55
- - Each **key must equal the discover catalog `displayName`** for that framework
56
- (`packages/runner/src/discover-catalog.ts`) — that's what auto-init matches against. Add a catalog
57
- entry + manifest parser there if discover can't yet detect the framework.
56
+ - Each **key must be a `DEPENDENCY_ENTITIES` key** (`packages/tooling/src/dependency-entities.ts`) —
57
+ the stable slug, not the display name — since that is what auto-init matches against. Display names
58
+ are not unique (`angular` is Angular 2+, `angular-dart` is AngularDart), so the key is what keeps
59
+ a Dart tool's patterns from gating on an npm dependency. If discovery cannot detect the framework
60
+ yet, add a telltale to the right ecosystem module in `packages/runner/src/discover/ecosystems/`.
58
61
  - `test/framework-mappings.test.ts` enforces that every key maps to a real tool, the merge applied,
59
62
  and every prefix/tag still matches ≥1 committed pattern (guards against drift after regeneration).
63
+ - **Codacy ScalaMeta Pro**: its six `Custom_Scala_Play*` patterns are all default-on and read Play's
64
+ request/header API, so before being mapped they fired in every Scala repo. `play-framework` is
65
+ detected from the `sbt-plugin` coordinate `addSbtPlugin` declares and from the `conf/routes`
66
+ layout — Play is declared as an sbt _plugin_, which is why the telltale keys on `group:artifact`.
67
+ Its other 80 patterns carry no tags at all and are genuinely general Scala rules, so they stay
68
+ universal.
60
69
 
61
70
  ## Regenerating the manifest
62
71
 
package/dist/index.js CHANGED
@@ -200,35 +200,38 @@ var descriptors_default = [
200
200
  // src/framework-mappings.json
201
201
  var framework_mappings_default = {
202
202
  PHPCS: {
203
- CakePHP: { prefixes: ["PHPCS_CakePHP_"] },
204
- Drupal: { prefixes: ["PHPCS_Drupal_"] },
205
- Symfony: { prefixes: ["PHPCS_Symfony_"] }
203
+ cakephp: { prefixes: ["PHPCS_CakePHP_"] },
204
+ drupal: { prefixes: ["PHPCS_Drupal_"] },
205
+ symfony: { prefixes: ["PHPCS_Symfony_"] }
206
206
  },
207
207
  dartanalyzer: {
208
- Flutter: { tags: ["flutter"] },
209
- Angular: { tags: ["angular"] }
208
+ flutter: { tags: ["flutter"] },
209
+ "angular-dart": { tags: ["angular"] }
210
210
  },
211
211
  SonarCSharp: {
212
- "ASP.NET Core": { tags: ["aspnetcore"] },
213
- Blazor: { tags: ["blazor"] },
214
- "Entity Framework": { tags: ["entityframework", "entityframeworkcore"] },
215
- xUnit: { tags: ["xunit"] },
216
- NUnit: { tags: ["nunit"] },
217
- MSTest: { tags: ["mstest"] },
218
- Moq: { tags: ["moq"] },
219
- NSubstitute: { tags: ["nsubstitute"] },
220
- FluentAssertions: { tags: ["fluentassertions"] },
221
- Shouldly: { tags: ["shouldly"] },
222
- Serilog: { tags: ["serilog"] },
223
- NLog: { tags: ["nlog"] },
212
+ "aspnet-core": { tags: ["aspnetcore"] },
213
+ blazor: { tags: ["blazor"] },
214
+ "entity-framework": { tags: ["entityframework", "entityframeworkcore"] },
215
+ xunit: { tags: ["xunit"] },
216
+ nunit: { tags: ["nunit"] },
217
+ mstest: { tags: ["mstest"] },
218
+ moq: { tags: ["moq"] },
219
+ nsubstitute: { tags: ["nsubstitute"] },
220
+ fluentassertions: { tags: ["fluentassertions"] },
221
+ shouldly: { tags: ["shouldly"] },
222
+ serilog: { tags: ["serilog"] },
223
+ nlog: { tags: ["nlog"] },
224
224
  log4net: { tags: ["log4net", "apachelog4net"] }
225
225
  },
226
+ "codacy-scalameta-pro": {
227
+ "play-framework": { prefixes: ["Custom_Scala_Play"] }
228
+ },
226
229
  CodeNarc: {
227
- Grails: { tags: ["grails"] },
228
- GORM: { tags: ["gorm"] },
229
- Spock: { tags: ["spock"] },
230
- Jenkins: { tags: ["jenkins", "jenkinspipeline"] },
231
- JUnit: { tags: ["junit"] }
230
+ grails: { tags: ["grails"] },
231
+ "grails-gorm": { tags: ["gorm"] },
232
+ spock: { tags: ["spock"] },
233
+ jenkins: { tags: ["jenkins", "jenkinspipeline"] },
234
+ junit: { tags: ["junit"] }
232
235
  }
233
236
  };
234
237
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codacy/tools-unsupported-tools",
3
- "version": "0.11.4",
3
+ "version": "0.12.0",
4
4
  "description": "Generated manifest of Codacy Cloud tools without a local analyzer (descriptors + patterns)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,7 +8,7 @@
8
8
  "dist"
9
9
  ],
10
10
  "dependencies": {
11
- "@codacy/tooling": "0.18.0"
11
+ "@codacy/tooling": "0.19.0"
12
12
  },
13
13
  "license": "MIT",
14
14
  "author": "Codacy <support@codacy.com> (https://www.codacy.com)",