You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: wiki/Analyzer.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
_This document was generated from '[src/documentation/wiki-analyzer.ts](https://github.com/flowr-analysis/flowr/tree/main//src/documentation/wiki-analyzer.ts)' on 2026-07-06, 06:59:05 UTC presenting an overview of flowR's analyzer (v2.10.10, using R v4.6.0). Please do not edit this file/wiki page directly._
1
+
_This document was generated from '[src/documentation/wiki-analyzer.ts](https://github.com/flowr-analysis/flowr/tree/main//src/documentation/wiki-analyzer.ts)' on 2026-07-06, 07:19:33 UTC presenting an overview of flowR's analyzer (v2.10.10, using R v4.5.0). Please do not edit this file/wiki page directly._
2
2
3
3
-[Overview](#Overview)
4
4
-[Overview of the Analyzer](#Overview_of_the_Analyzer)
@@ -284,7 +284,7 @@ Currently, flowR supports the following plugin types built-in:
284
284
| <code>versions:description</code> | <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.ts#L15"><code><spantitle="This plugin extracts package versions from R DESCRIPTION files. It looks at the Depends and Imports fields to find package names and their version constraints.">FlowrAnalyzerPackageVersionsDescriptionFilePlugin</span></code></a> | package-versions | This plugin extracts package versions from R `DESCRIPTION` files. It looks at the `Depends` and `Imports` fields to find package names and their version constraints. |
285
285
| <code>versions:pkgdb</code> | <a href="https://github.com/flowr-analysis/flowr/tree/main/src/project/plugins/package-version-plugins/flowr-analyzer-package-versions-pkgdb-plugin.ts#L53"><code><span title="Resolves library(pkg) / use(pkg, fn) from precomputed flowr-pkgdb databases: the one bundled with flowR plus any extra sources (constructor args or $FLOWR_PKGDB). Extra sources are consulted first, so they override the bundle; packages only in the bundle still resolve. Everything is loaded lazily on the first miss (never touched if a project uses no external packages). On by default; opt out via u...">FlowrAnalyzerPackageVersionsPkgDbPlugin</span></code></a> | package-versions | Resolves `library(pkg)` / `use(pkg, fn)` from precomputed `flowr-pkgdb` databases: the one bundled with flowR plus any extra sources (constructor args or `$FLOWR_PKGDB`). Extra sources are consulted first, so they override the bundle; packages only in the bundle still resolve. Everything is loaded lazily on the first miss (never touched if a project uses no external packages). On by default; opt out via `unregisterPlugins(PkgDbPluginName)` or `$FLOWR_DISABLE_DEFAULT_PKGDB`. A source may be an `http(s)` URL to a downloadable summary; call <code>preload</code> once at the analyzer boundary to fetch it, so resolution falls through to it for packages not in the bundle. |
286
286
| <code>versions:renv</code> | <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/project/plugins/package-version-plugins/flowr-analyzer-package-versions-lockfile-plugin.ts#L22"><code><spantitle="Reads package versions from an renv.lock (JSON). renv pins are exact.">FlowrAnalyzerPackageVersionsRenvPlugin</span></code></a> | package-versions | Reads package versions from an `renv.lock` (JSON). renv pins are exact. |
287
-
| <code>versions:rv</code> | <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/project/plugins/package-version-plugins/flowr-analyzer-package-versions-lockfile-plugin.ts#L48"><code><spantitle="Reads package versions from an rv.lock (the resolved rv project lockfile, TOML).">FlowrAnalyzerPackageVersionsRvPlugin</span></code></a> | package-versions | Reads package versions from an `rv.lock` (the resolved rv project lockfile, TOML). |
287
+
| <code>versions:rv</code> | <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/project/plugins/package-version-plugins/flowr-analyzer-package-versions-lockfile-plugin.ts#L46"><code><spantitle="Reads package versions from an rv.lock (the resolved rv project lockfile, TOML).">FlowrAnalyzerPackageVersionsRvPlugin</span></code></a> | package-versions | Reads package versions from an `rv.lock` (the resolved rv project lockfile, TOML). |
Copy file name to clipboardExpand all lines: wiki/Linter.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
_This document was generated from '[src/documentation/wiki-linter.ts](https://github.com/flowr-analysis/flowr/tree/main//src/documentation/wiki-linter.ts)' on 2026-07-06, 06:31:34 UTC presenting an overview of flowR's linter (v2.10.10, using R v4.6.0). Please do not edit this file/wiki page directly._
1
+
_This document was generated from '[src/documentation/wiki-linter.ts](https://github.com/flowr-analysis/flowr/tree/main//src/documentation/wiki-linter.ts)' on 2026-07-06, 07:19:32 UTC presenting an overview of flowR's linter (v2.10.10, using R v4.5.0). Please do not edit this file/wiki page directly._
2
2
This page describes the flowR linter, which is a tool that utilizes flowR's dataflow analysis to find common issues in R scripts. The linter can currently be used through the linter [query](https://github.com/flowr-analysis/flowr/wiki/query-api).
3
3
Some rules also draw on the [package database](https://github.com/flowr-analysis/flowr/wiki/package-database).
_All queries together required ≈43 ms (1ms accuracy, total 45 ms)_
127
+
_All queries together required ≈5 ms (1ms accuracy, total 5 ms)_
128
128
129
129
<details> <summarystyle="color:gray">Show Detailed Results as Json</summary>
130
130
131
-
The analysis required _45.4 ms_ (including parsing and normalization and the query) within the generation environment.
131
+
The analysis required _5.3 ms_ (including parsing and normalization and the query) within the generation environment.
132
132
133
133
In general, the JSON contains the Ids of the nodes in question as they are present in the normalized AST or the dataflow graph of flowR.
134
134
Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Interface) wiki page for more information on how to get those.
@@ -145,7 +145,7 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
145
145
".meta": {
146
146
"totalCalls": 0,
147
147
"totalFunctionDefinitions": 0,
148
-
"searchTimeMs": 8,
148
+
"searchTimeMs": 1,
149
149
"processTimeMs": 0
150
150
}
151
151
},
@@ -168,8 +168,8 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
168
168
"totalUnknown": 0,
169
169
"totalWritesBeforeAlways": 0,
170
170
"totalValid": 0,
171
-
"searchTimeMs": 26,
172
-
"processTimeMs": 1
171
+
"searchTimeMs": 2,
172
+
"processTimeMs": 0
173
173
}
174
174
},
175
175
"seeded-randomness": {
@@ -200,8 +200,8 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
200
200
".meta": {
201
201
"totalConsidered": 1,
202
202
"totalUnknown": 0,
203
-
"searchTimeMs": 1,
204
-
"processTimeMs": 0
203
+
"searchTimeMs": 0,
204
+
"processTimeMs": 1
205
205
}
206
206
},
207
207
"unused-definitions": {
@@ -226,7 +226,7 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
226
226
".meta": {
227
227
"totalCalls": 0,
228
228
"totalFunctionDefinitions": 0,
229
-
"searchTimeMs": 1,
229
+
"searchTimeMs": 0,
230
230
"processTimeMs": 0
231
231
}
232
232
},
@@ -237,13 +237,13 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
237
237
"numAccesses": 0,
238
238
"totalAccessed": 0,
239
239
"searchTimeMs": 0,
240
-
"processTimeMs": 4
240
+
"processTimeMs": 1
241
241
}
242
242
},
243
243
"dead-code": {
244
244
"results": [],
245
245
".meta": {
246
-
"searchTimeMs": 1,
246
+
"searchTimeMs": 0,
247
247
"processTimeMs": 0
248
248
}
249
249
},
@@ -267,7 +267,7 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
267
267
".meta": {
268
268
"consideredNodes": 0,
269
269
"searchTimeMs": 0,
270
-
"processTimeMs": 1
270
+
"processTimeMs": 0
271
271
}
272
272
},
273
273
"roxygen-arguments": {
@@ -333,11 +333,11 @@ Please consult the [Interface](https://github.com/flowr-analysis/flowr/wiki/Inte
333
333
}
334
334
},
335
335
".meta": {
336
-
"timing": 43
336
+
"timing": 5
337
337
}
338
338
},
339
339
".meta": {
340
-
"timing": 43
340
+
"timing": 5
341
341
}
342
342
}
343
343
```
@@ -368,7 +368,7 @@ The following linting rules are available:
368
368
369
369
370
370
371
-
**[Absolute Paths](https://github.com/flowr-analysis/flowr/wiki/%5BLinting%20Rule%5D%20Absolute%20File%20Paths):** Checks whether file paths are absolute. [see <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/linter/rules/absolute-path.ts#L134">src/linter/rules/absolute-path.ts</a>]\
371
+
**[Absolute Paths](https://github.com/flowr-analysis/flowr/wiki/%5BLinting%20Rule%5D%20Absolute%20File%20Paths):** Checks whether file paths are absolute. [see <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/linter/rules/absolute-path.ts#L135">src/linter/rules/absolute-path.ts</a>]\
372
372
<spantitle="This rule is used to detect issues that do not directly affect the semantics of the code, but are still considered bad practice."><ahref='#smell'> </a></span> <spantitle="This rule may provide quickfixes to automatically fix the issues it detects."><ahref='#quickfix'> </a></span> <spantitle="This rule is used to detect issues that are related to the reproducibility of the code. For example, missing or incorrect random seeds, or missing data."><ahref='#reproducibility'> </a></span> <spantitle="This rule is used to detect issues that are related to the portability of the code. For example, platform-specific code, or code that relies on specific R versions or packages."><ahref='#robustness'> </a></span>
373
373
374
374
**[Dataframe Access Validation](https://github.com/flowr-analysis/flowr/wiki/%5BLinting%20Rule%5D%20Dataframe%20Access%20Validation):** Validates the existence of accessed columns and rows of dataframes. [see <ahref="https://github.com/flowr-analysis/flowr/tree/main/src/linter/rules/dataframe-access-validation.ts#L56">src/linter/rules/dataframe-access-validation.ts</a>]\
0 commit comments