@eagleoutice/flowr 2.7.0 → 2.7.2

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 (149) hide show
  1. package/README.md +20 -20
  2. package/abstract-interpretation/absint-visitor.d.ts +160 -0
  3. package/abstract-interpretation/absint-visitor.js +279 -0
  4. package/abstract-interpretation/data-frame/dataframe-domain.d.ts +2 -2
  5. package/abstract-interpretation/data-frame/dataframe-domain.js +23 -7
  6. package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +6 -6
  7. package/abstract-interpretation/data-frame/mappers/access-mapper.js +10 -14
  8. package/abstract-interpretation/data-frame/mappers/arguments.d.ts +10 -9
  9. package/abstract-interpretation/data-frame/mappers/arguments.js +7 -4
  10. package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +17 -17
  11. package/abstract-interpretation/data-frame/mappers/function-mapper.js +45 -50
  12. package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +7 -7
  13. package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +25 -29
  14. package/abstract-interpretation/data-frame/semantics.js +2 -3
  15. package/abstract-interpretation/data-frame/shape-inference.d.ts +52 -28
  16. package/abstract-interpretation/data-frame/shape-inference.js +67 -90
  17. package/abstract-interpretation/domains/bounded-set-domain.d.ts +2 -2
  18. package/abstract-interpretation/domains/interval-domain.d.ts +2 -2
  19. package/abstract-interpretation/domains/set-range-domain.d.ts +10 -4
  20. package/abstract-interpretation/domains/set-range-domain.js +7 -1
  21. package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +2 -2
  22. package/abstract-interpretation/domains/singleton-domain.d.ts +2 -2
  23. package/benchmark/slicer.js +13 -14
  24. package/cli/common/options.d.ts +431 -8
  25. package/cli/common/options.js +1 -1
  26. package/cli/common/scripts-info.d.ts +431 -7
  27. package/cli/flowr-main-options.d.ts +102 -2
  28. package/cli/flowr.d.ts +102 -2
  29. package/cli/repl/commands/repl-commands.d.ts +25 -0
  30. package/cli/repl/commands/repl-query.js +17 -5
  31. package/cli/wiki.d.ts +13 -0
  32. package/cli/wiki.js +7 -2
  33. package/config.d.ts +4 -4
  34. package/config.js +1 -1
  35. package/control-flow/basic-cfg-guided-visitor.js +7 -8
  36. package/control-flow/control-flow-graph.d.ts +1 -1
  37. package/control-flow/semantic-cfg-guided-visitor.d.ts +1 -1
  38. package/control-flow/semantic-cfg-guided-visitor.js +1 -1
  39. package/dataflow/eval/resolve/alias-tracking.js +1 -1
  40. package/dataflow/internal/linker.d.ts +2 -0
  41. package/dataflow/internal/linker.js +10 -12
  42. package/documentation/doc-capabilities.d.ts +1 -1
  43. package/documentation/doc-readme.d.ts +1 -1
  44. package/documentation/doc-util/doc-cfg.js +1 -1
  45. package/documentation/doc-util/doc-cli-option.d.ts +6 -6
  46. package/documentation/doc-util/doc-cli-option.js +3 -3
  47. package/documentation/doc-util/doc-dfg.d.ts +1 -1
  48. package/documentation/doc-util/doc-files.d.ts +3 -0
  49. package/documentation/doc-util/doc-files.js +4 -1
  50. package/documentation/doc-util/doc-normalized-ast.js +2 -2
  51. package/documentation/issue-linting-rule.d.ts +1 -1
  52. package/documentation/wiki-analyzer.d.ts +1 -1
  53. package/documentation/wiki-cfg.d.ts +1 -1
  54. package/documentation/wiki-core.d.ts +1 -1
  55. package/documentation/wiki-dataflow-graph.d.ts +1 -1
  56. package/documentation/wiki-dataflow-graph.js +6 -6
  57. package/documentation/wiki-engine.d.ts +1 -1
  58. package/documentation/wiki-engine.js +9 -10
  59. package/documentation/wiki-faq.d.ts +1 -1
  60. package/documentation/wiki-interface.d.ts +1 -1
  61. package/documentation/wiki-interface.js +12 -13
  62. package/documentation/wiki-linter.d.ts +1 -1
  63. package/documentation/wiki-linting-and-testing.d.ts +1 -1
  64. package/documentation/wiki-mk/doc-context.d.ts +54 -1
  65. package/documentation/wiki-mk/doc-context.js +17 -0
  66. package/documentation/wiki-mk/doc-maker.d.ts +5 -5
  67. package/documentation/wiki-mk/doc-maker.js +3 -1
  68. package/documentation/wiki-normalized-ast.d.ts +1 -1
  69. package/documentation/wiki-onboarding.d.ts +1 -1
  70. package/documentation/wiki-overview.d.ts +9 -0
  71. package/documentation/wiki-overview.js +248 -0
  72. package/documentation/wiki-query.d.ts +1 -1
  73. package/documentation/wiki-query.js +17 -1
  74. package/documentation/wiki-search.d.ts +1 -1
  75. package/documentation/wiki-setup.d.ts +9 -0
  76. package/documentation/wiki-setup.js +122 -0
  77. package/linter/rules/dataframe-access-validation.d.ts +1 -1
  78. package/linter/rules/dataframe-access-validation.js +8 -10
  79. package/linter/rules/unused-definition.js +1 -1
  80. package/package.json +1 -1
  81. package/project/context/flowr-analyzer-context.d.ts +4 -0
  82. package/project/context/flowr-analyzer-files-context.d.ts +9 -1
  83. package/project/context/flowr-analyzer-files-context.js +4 -0
  84. package/project/context/flowr-file.d.ts +2 -0
  85. package/project/context/flowr-file.js +2 -0
  86. package/project/plugins/file-plugins/{flowr-description-file.d.ts → files/flowr-description-file.d.ts} +1 -1
  87. package/project/plugins/file-plugins/files/flowr-description-file.js +75 -0
  88. package/project/plugins/file-plugins/files/flowr-news-file.d.ts +27 -0
  89. package/project/plugins/file-plugins/files/flowr-news-file.js +152 -0
  90. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +1 -1
  91. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +1 -1
  92. package/project/plugins/file-plugins/flowr-analyzer-news-file-plugin.d.ts +23 -0
  93. package/project/plugins/file-plugins/flowr-analyzer-news-file-plugin.js +35 -0
  94. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +1 -1
  95. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +1 -1
  96. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +1 -1
  97. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +1 -1
  98. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +1 -1
  99. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +1 -1
  100. package/project/plugins/flowr-analyzer-plugin-defaults.js +2 -0
  101. package/project/plugins/plugin-registry.d.ts +2 -1
  102. package/project/plugins/plugin-registry.js +2 -0
  103. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -1
  104. package/queries/catalog/df-shape-query/df-shape-query-executor.js +4 -2
  105. package/queries/catalog/files-query/files-query-executor.d.ts +6 -0
  106. package/queries/catalog/files-query/files-query-executor.js +49 -0
  107. package/queries/catalog/files-query/files-query-format.d.ts +36 -0
  108. package/queries/catalog/files-query/files-query-format.js +114 -0
  109. package/queries/catalog/linter-query/linter-query-format.js +1 -1
  110. package/queries/query.d.ts +10 -1
  111. package/queries/query.js +3 -1
  112. package/r-bridge/lang-4.x/ast/model/model.d.ts +1 -1
  113. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +8 -8
  114. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +8 -8
  115. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -1
  116. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +0 -1
  117. package/statistics/features/supported/data-access/data-access.js +1 -1
  118. package/util/containers.js +1 -1
  119. package/util/files.d.ts +0 -7
  120. package/util/files.js +0 -41
  121. package/util/mermaid/ast.d.ts +3 -2
  122. package/util/mermaid/ast.js +13 -7
  123. package/util/mermaid/cfg.d.ts +3 -2
  124. package/util/mermaid/cfg.js +26 -6
  125. package/util/mermaid/dfg.d.ts +1 -7
  126. package/util/mermaid/dfg.js +7 -3
  127. package/util/mermaid/info.d.ts +17 -0
  128. package/util/mermaid/info.js +5 -0
  129. package/util/prefix.d.ts +9 -5
  130. package/util/prefix.js +14 -6
  131. package/util/r-regex.d.ts +21 -0
  132. package/util/r-regex.js +25 -0
  133. package/util/text/args.js +12 -3
  134. package/util/version.js +1 -1
  135. package/abstract-interpretation/data-frame/absint-info.d.ts +0 -109
  136. package/abstract-interpretation/data-frame/absint-info.js +0 -31
  137. package/abstract-interpretation/data-frame/absint-visitor.d.ts +0 -57
  138. package/abstract-interpretation/data-frame/absint-visitor.js +0 -176
  139. package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -21
  140. package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -34
  141. package/documentation/doc-util/doc-print.d.ts +0 -5
  142. package/documentation/doc-util/doc-print.js +0 -36
  143. package/project/plugins/file-plugins/flowr-description-file.js +0 -37
  144. package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
  145. package/project/plugins/file-plugins/notebooks/notebook.js +0 -2
  146. /package/project/plugins/file-plugins/{notebooks → files}/flowr-jupyter-file.d.ts +0 -0
  147. /package/project/plugins/file-plugins/{notebooks → files}/flowr-jupyter-file.js +0 -0
  148. /package/project/plugins/file-plugins/{notebooks → files}/flowr-rmarkdown-file.d.ts +0 -0
  149. /package/project/plugins/file-plugins/{notebooks → files}/flowr-rmarkdown-file.js +0 -0
@@ -32,7 +32,62 @@ declare const _scripts: {
32
32
  toolName: string;
33
33
  target: string;
34
34
  description: string;
35
- options: OptionDefinition[];
35
+ options: [{
36
+ readonly name: "verbose";
37
+ readonly alias: "v";
38
+ readonly type: BooleanConstructor;
39
+ readonly description: "Run with verbose logging";
40
+ }, {
41
+ readonly name: "help";
42
+ readonly alias: "h";
43
+ readonly type: BooleanConstructor;
44
+ readonly description: "Print this usage guide";
45
+ }, {
46
+ readonly name: "input";
47
+ readonly alias: "i";
48
+ readonly type: StringConstructor;
49
+ readonly description: "(Required) Pass a single file to slice";
50
+ readonly multiple: false;
51
+ readonly defaultOption: true;
52
+ readonly typeLabel: "{underline files}";
53
+ }, {
54
+ readonly name: "input-is-text";
55
+ readonly alias: "r";
56
+ readonly type: BooleanConstructor;
57
+ readonly description: "Indicate, that the input is *not* a file, but R code to directly consume";
58
+ }, {
59
+ readonly name: "diff";
60
+ readonly alias: "d";
61
+ readonly type: BooleanConstructor;
62
+ readonly description: "This requires ansi-output and only works if the api option is not set. It visualizes the slice as a diff.";
63
+ }, {
64
+ readonly name: "criterion";
65
+ readonly alias: "c";
66
+ readonly type: StringConstructor;
67
+ readonly description: "(Required) Slicing criterion either in the form {underline line:col} or {underline line@variable}, multiple can be separated by '{bold ;}'. If you do not want to slice but only process the file, pass an empty string.";
68
+ readonly multiple: false;
69
+ }, {
70
+ readonly name: "stats";
71
+ readonly alias: "s";
72
+ readonly type: BooleanConstructor;
73
+ readonly description: "Print stats and write them to {italic <output>.stats} (runtimes etc.)";
74
+ readonly multiple: false;
75
+ }, {
76
+ readonly name: "output";
77
+ readonly alias: "o";
78
+ readonly type: StringConstructor;
79
+ readonly description: "File to write all the generated quads to (defaults to the commandline)";
80
+ readonly typeLabel: "{underline file}";
81
+ }, {
82
+ readonly name: "no-magic-comments";
83
+ readonly alias: "m";
84
+ readonly type: BooleanConstructor;
85
+ readonly description: "Disable the effects of magic comments which force lines to be included.";
86
+ }, {
87
+ readonly name: "api";
88
+ readonly type: BooleanConstructor;
89
+ readonly description: "Instead of human-readable output, dump a lot of json with the results of all intermediate steps.";
90
+ }];
36
91
  usageExample: string;
37
92
  type: string;
38
93
  };
@@ -42,14 +97,199 @@ declare const _scripts: {
42
97
  description: string;
43
98
  type: string;
44
99
  usageExample: string;
45
- options: OptionDefinition[];
100
+ options: [{
101
+ readonly name: "verbose";
102
+ readonly alias: "v";
103
+ readonly type: BooleanConstructor;
104
+ readonly description: "Run with verbose logging [do not use for the real benchmark as this affects the time measurements, but only to find errors]";
105
+ }, {
106
+ readonly name: "help";
107
+ readonly alias: "h";
108
+ readonly type: BooleanConstructor;
109
+ readonly description: "Print this usage guide";
110
+ }, {
111
+ readonly name: "limit";
112
+ readonly alias: "l";
113
+ readonly type: NumberConstructor;
114
+ readonly description: "Limit the number of files to process (if given, this will choose these files randomly and add the chosen names to the output";
115
+ }, {
116
+ readonly name: "runs";
117
+ readonly alias: "r";
118
+ readonly type: NumberConstructor;
119
+ readonly description: "The amount of benchmark runs that should be done, out of which an average will be calculated";
120
+ }, {
121
+ readonly name: "seed";
122
+ readonly type: StringConstructor;
123
+ readonly description: "The random seed for sampling the files if a limit is set, and for sampling the slicing criteria if a maximum is set";
124
+ }, {
125
+ readonly name: "input";
126
+ readonly alias: "i";
127
+ readonly type: StringConstructor;
128
+ readonly description: "Pass a folder or file as src to read from. Alternatively, pass a single JSON file that contains a list of paths.";
129
+ readonly multiple: true;
130
+ readonly defaultOption: true;
131
+ readonly defaultValue: readonly [];
132
+ readonly typeLabel: "{underline files/folders}";
133
+ }, {
134
+ readonly name: "parallel";
135
+ readonly alias: "p";
136
+ readonly type: StringConstructor;
137
+ readonly description: "Number of parallel executors (defaults to {italic max(cpu.count-1, 1)})";
138
+ readonly defaultValue: number;
139
+ readonly typeLabel: "{underline number}";
140
+ }, {
141
+ readonly name: "slice";
142
+ readonly alias: "s";
143
+ readonly type: StringConstructor;
144
+ readonly description: "Automatically slice for *all* variables (default) or *no* slicing and only parsing/dataflow construction. Numbers will indicate: sample X random slices from all.";
145
+ readonly defaultValue: "all";
146
+ readonly typeLabel: "{underline all/no}";
147
+ }, {
148
+ readonly name: "output";
149
+ readonly alias: "o";
150
+ readonly type: StringConstructor;
151
+ readonly description: `Folder to write all the measurements to in a per-file-basis (defaults to {italic benchmark-${string}})`;
152
+ readonly defaultValue: `benchmark-${string}`;
153
+ readonly typeLabel: "{underline folder}";
154
+ }, {
155
+ readonly name: "parser";
156
+ readonly type: StringConstructor;
157
+ readonly description: "The parser to use for the benchmark";
158
+ readonly defaultValue: "r-shell";
159
+ readonly typeLabel: "{underline parser}";
160
+ }, {
161
+ readonly name: "dataframe-shape-inference";
162
+ readonly type: BooleanConstructor;
163
+ readonly description: "Infer the shape of data frames using abstract interpretation (includes control flow graph extraction)";
164
+ readonly defaultValue: false;
165
+ }, {
166
+ readonly name: "enable-pointer-tracking";
167
+ readonly type: BooleanConstructor;
168
+ readonly description: "Run dataflow analysis with pointer tracking";
169
+ readonly defaultValue: false;
170
+ }, {
171
+ readonly name: "max-file-slices";
172
+ readonly type: NumberConstructor;
173
+ readonly description: "If file has more than passed number of slices, the file is not processed";
174
+ readonly defaultValue: -1;
175
+ readonly typeLabel: "{underline number}";
176
+ }, {
177
+ readonly name: "threshold";
178
+ readonly alias: "t";
179
+ readonly type: NumberConstructor;
180
+ readonly description: "How many re-visits of the same node are ok?";
181
+ readonly defaultValue: undefined;
182
+ readonly typeLabel: "{underline number}";
183
+ }, {
184
+ readonly name: "per-file-time-limit";
185
+ readonly type: NumberConstructor;
186
+ readonly description: "Time limit in milliseconds to process single file (disabled by default)";
187
+ readonly defaultValue: undefined;
188
+ readonly typeLabel: "{underline number}";
189
+ }, {
190
+ readonly name: "sampling-strategy";
191
+ readonly type: StringConstructor;
192
+ readonly description: "Which strategy to use, when sampling is enabled";
193
+ readonly defaultValue: "random";
194
+ readonly typeLabel: "{underline random/equidistant}";
195
+ }, {
196
+ readonly name: "cfg";
197
+ readonly alias: "c";
198
+ readonly type: BooleanConstructor;
199
+ readonly description: "Extract the control flow graph of the file (benchmark it too)";
200
+ }];
46
201
  };
47
202
  'benchmark-helper': {
48
203
  toolName: string;
49
204
  target: string;
50
205
  description: string;
51
206
  usageExample: string;
52
- options: OptionDefinition[];
207
+ options: [{
208
+ readonly name: "verbose";
209
+ readonly alias: "v";
210
+ readonly type: BooleanConstructor;
211
+ readonly description: "Run with verbose logging [do not use for the real benchmark as this affects the time measurements, but only to find errors]";
212
+ }, {
213
+ readonly name: "help";
214
+ readonly alias: "h";
215
+ readonly type: BooleanConstructor;
216
+ readonly description: "Print this usage guide";
217
+ }, {
218
+ readonly name: "input";
219
+ readonly alias: "i";
220
+ readonly type: StringConstructor;
221
+ readonly description: "Pass a single file as src to read from";
222
+ readonly multiple: false;
223
+ readonly defaultOption: true;
224
+ readonly typeLabel: "{underline file}";
225
+ }, {
226
+ readonly name: "file-id";
227
+ readonly alias: "d";
228
+ readonly type: NumberConstructor;
229
+ readonly description: "A numeric file id that can be used to match an input and run-num to a file";
230
+ }, {
231
+ readonly name: "run-num";
232
+ readonly alias: "r";
233
+ readonly type: NumberConstructor;
234
+ readonly description: "The n-th time that the file with the given file-id is being benchmarked";
235
+ }, {
236
+ readonly name: "slice";
237
+ readonly alias: "s";
238
+ readonly type: StringConstructor;
239
+ readonly description: "Automatically slice for *all* variables (default) or *no* slicing and only parsing/dataflow construction. Numbers will indicate: sample X random slices from all.";
240
+ readonly defaultValue: "all";
241
+ readonly typeLabel: "{underline all/no}";
242
+ }, {
243
+ readonly name: "cfg";
244
+ readonly alias: "c";
245
+ readonly type: BooleanConstructor;
246
+ readonly description: "Extract the control flow graph of the file (benchmark it too)";
247
+ }, {
248
+ readonly name: "output";
249
+ readonly alias: "o";
250
+ readonly type: StringConstructor;
251
+ readonly description: "File to write the measurements to (appends a single line in JSON format)";
252
+ readonly typeLabel: "{underline file}";
253
+ }, {
254
+ readonly name: "parser";
255
+ readonly type: StringConstructor;
256
+ readonly description: "The parser to use for the benchmark";
257
+ readonly defaultValue: "r-shell";
258
+ readonly typeLabel: "{underline parser}";
259
+ }, {
260
+ readonly name: "dataframe-shape-inference";
261
+ readonly type: BooleanConstructor;
262
+ readonly description: "Infer the shape of data frames using abstract interpretation (includes control flow graph extraction)";
263
+ readonly defaultValue: false;
264
+ }, {
265
+ readonly name: "enable-pointer-tracking";
266
+ readonly type: BooleanConstructor;
267
+ readonly description: "Run dataflow analysis with pointer tracking";
268
+ readonly defaultValue: false;
269
+ }, {
270
+ readonly name: "max-slices";
271
+ readonly type: NumberConstructor;
272
+ readonly description: "If file has more than passed number of slices, the file is not processed";
273
+ readonly defaultValue: -1;
274
+ readonly typeLabel: "{underline number}";
275
+ }, {
276
+ readonly name: "threshold";
277
+ readonly alias: "t";
278
+ readonly type: NumberConstructor;
279
+ readonly description: "How many re-visits of the same node are ok?";
280
+ readonly defaultValue: undefined;
281
+ readonly typeLabel: "{underline number}";
282
+ }, {
283
+ readonly name: "sampling-strategy";
284
+ readonly type: StringConstructor;
285
+ readonly description: "Which strategy to use, when sampling is enabled";
286
+ readonly defaultValue: "random";
287
+ readonly typeLabel: "{underline random/equidistant}";
288
+ }, {
289
+ readonly name: "seed";
290
+ readonly type: StringConstructor;
291
+ readonly description: "The random seed for sampling the slicing criteria if a maximum is set";
292
+ }];
53
293
  type: string;
54
294
  masterScripts: string[];
55
295
  };
@@ -57,7 +297,57 @@ declare const _scripts: {
57
297
  toolName: string;
58
298
  target: string;
59
299
  description: string;
60
- options: OptionDefinition[];
300
+ options: [{
301
+ readonly name: "verbose";
302
+ readonly alias: "v";
303
+ readonly type: BooleanConstructor;
304
+ readonly description: "Run with verbose logging";
305
+ }, {
306
+ readonly name: "help";
307
+ readonly alias: "h";
308
+ readonly type: BooleanConstructor;
309
+ readonly description: "Print this usage guide";
310
+ }, {
311
+ readonly name: "type";
312
+ readonly alias: "t";
313
+ readonly type: StringConstructor;
314
+ readonly description: "Manually specify if you want to post-process benchmark results, statistics, or compressed statistics (defaults to auto).";
315
+ readonly defaultValue: "auto";
316
+ }, {
317
+ readonly name: "graph";
318
+ readonly alias: "g";
319
+ readonly type: BooleanConstructor;
320
+ readonly description: "Produce data to be used for visualizing benchmarks over time";
321
+ }, {
322
+ readonly name: "categorize";
323
+ readonly type: BooleanConstructor;
324
+ readonly description: "Categorize the results (e.g., \"test\", \"example\", ...)";
325
+ readonly defaultValue: false;
326
+ }, {
327
+ readonly name: "project-skip";
328
+ readonly type: NumberConstructor;
329
+ readonly description: "Skip the first n folders to find the location of projects";
330
+ readonly defaultValue: 0;
331
+ }, {
332
+ readonly name: "ultimate-only";
333
+ readonly alias: "u";
334
+ readonly type: BooleanConstructor;
335
+ readonly description: "Only perform the second summary-stage, with this, the input is used to find the summary-output.";
336
+ }, {
337
+ readonly name: "input";
338
+ readonly alias: "i";
339
+ readonly type: StringConstructor;
340
+ readonly description: "The {italic output} produced by the benchmark, the statistics, ...";
341
+ readonly defaultOption: true;
342
+ readonly multiple: false;
343
+ readonly typeLabel: "{underline file.json/output}";
344
+ }, {
345
+ readonly name: "output";
346
+ readonly alias: "o";
347
+ readonly type: StringConstructor;
348
+ readonly description: "Basename of the summaries (defaults to {italic <input>-summary})";
349
+ readonly typeLabel: "{underline file}";
350
+ }];
61
351
  usageExample: string;
62
352
  type: string;
63
353
  };
@@ -66,14 +356,98 @@ declare const _scripts: {
66
356
  target: string;
67
357
  description: string;
68
358
  usageExample: string;
69
- options: OptionDefinition[];
359
+ options: [{
360
+ readonly name: "verbose";
361
+ readonly alias: "v";
362
+ readonly type: BooleanConstructor;
363
+ readonly description: "Run with verbose logging";
364
+ }, {
365
+ readonly name: "help";
366
+ readonly alias: "h";
367
+ readonly type: BooleanConstructor;
368
+ readonly description: "Print this usage guide";
369
+ }, {
370
+ readonly name: "input";
371
+ readonly alias: "i";
372
+ readonly type: StringConstructor;
373
+ readonly description: "Pass a folder or file as src to read from";
374
+ readonly multiple: true;
375
+ readonly defaultOption: true;
376
+ readonly defaultValue: readonly [];
377
+ readonly typeLabel: "{underline files/folders}";
378
+ }, {
379
+ readonly name: "limit";
380
+ readonly alias: "l";
381
+ readonly type: NumberConstructor;
382
+ readonly description: "Limit the number of files to process";
383
+ }, {
384
+ readonly name: "output";
385
+ readonly alias: "o";
386
+ readonly type: StringConstructor;
387
+ readonly description: "File to write all the generated quads to (defaults to {italic out.quads})";
388
+ readonly typeLabel: "{underline file}";
389
+ }];
70
390
  type: string;
71
391
  };
72
392
  stats: {
73
393
  toolName: string;
74
394
  target: string;
75
395
  description: string;
76
- options: OptionDefinition[];
396
+ options: [{
397
+ readonly name: "verbose";
398
+ readonly alias: "v";
399
+ readonly type: BooleanConstructor;
400
+ readonly description: "Run with verbose logging";
401
+ }, {
402
+ readonly name: "help";
403
+ readonly alias: "h";
404
+ readonly type: BooleanConstructor;
405
+ readonly description: "Print this usage guide";
406
+ }, {
407
+ readonly name: "limit";
408
+ readonly alias: "l";
409
+ readonly type: NumberConstructor;
410
+ readonly description: "Limit the number of files to process";
411
+ }, {
412
+ readonly name: "input";
413
+ readonly alias: "i";
414
+ readonly type: StringConstructor;
415
+ readonly description: "Pass a folder or file as src to read from";
416
+ readonly multiple: true;
417
+ readonly defaultOption: true;
418
+ readonly defaultValue: readonly [];
419
+ readonly typeLabel: "{underline files/folders}";
420
+ }, {
421
+ readonly name: "output-dir";
422
+ readonly alias: "o";
423
+ readonly type: StringConstructor;
424
+ readonly description: "Folder to write the output to";
425
+ readonly defaultValue: `${string}/statistics-out/${string}`;
426
+ readonly typeLabel: "{underline folder}";
427
+ }, {
428
+ readonly name: "dump-json";
429
+ readonly type: BooleanConstructor;
430
+ readonly description: "Write JSON output during the extraction";
431
+ readonly typeLabel: "{underline folder}";
432
+ }, {
433
+ readonly name: "no-ansi";
434
+ readonly type: BooleanConstructor;
435
+ readonly description: "Disable ansi-escape-sequences in the output. Useful, if you want to redirect the output to a file.";
436
+ }, {
437
+ readonly name: "parallel";
438
+ readonly alias: "p";
439
+ readonly type: StringConstructor;
440
+ readonly description: "Number of parallel executors (defaults to {italic max(cpu.count-1, 1)})";
441
+ readonly defaultValue: number;
442
+ readonly typeLabel: "{underline number}";
443
+ }, {
444
+ readonly name: "features";
445
+ readonly type: StringConstructor;
446
+ readonly description: `Features to track, supported are "all" or ${string}`;
447
+ readonly multiple: true;
448
+ readonly defaultValue: "all";
449
+ readonly typeLabel: "{underline names}";
450
+ }];
77
451
  usageExample: string;
78
452
  type: string;
79
453
  };
@@ -81,7 +455,57 @@ declare const _scripts: {
81
455
  toolName: string;
82
456
  target: string;
83
457
  description: string;
84
- options: OptionDefinition[];
458
+ options: [{
459
+ readonly name: "verbose";
460
+ readonly alias: "v";
461
+ readonly type: BooleanConstructor;
462
+ readonly description: "Run with verbose logging";
463
+ }, {
464
+ readonly name: "help";
465
+ readonly alias: "h";
466
+ readonly type: BooleanConstructor;
467
+ readonly description: "Print this usage guide";
468
+ }, {
469
+ readonly name: "input";
470
+ readonly alias: "i";
471
+ readonly type: StringConstructor;
472
+ readonly description: "Pass single file as src to read from";
473
+ readonly multiple: false;
474
+ readonly defaultOption: true;
475
+ readonly typeLabel: "{underline file}";
476
+ }, {
477
+ readonly name: "output-dir";
478
+ readonly alias: "o";
479
+ readonly type: StringConstructor;
480
+ readonly description: "Folder to write the output to";
481
+ readonly typeLabel: "{underline folder}";
482
+ }, {
483
+ readonly name: "root-dir";
484
+ readonly type: StringConstructor;
485
+ readonly description: "Root dir for the statistics files";
486
+ readonly defaultValue: "";
487
+ }, {
488
+ readonly name: "compress";
489
+ readonly type: BooleanConstructor;
490
+ readonly description: "Compress the output folder to a single file";
491
+ readonly defaultValue: false;
492
+ }, {
493
+ readonly name: "dump-json";
494
+ readonly type: BooleanConstructor;
495
+ readonly description: "Write JSON output during the extraction";
496
+ readonly typeLabel: "{underline folder}";
497
+ }, {
498
+ readonly name: "no-ansi";
499
+ readonly type: BooleanConstructor;
500
+ readonly description: "Disable ansi-escape-sequences in the output. Useful, if you want to redirect the output to a file.";
501
+ }, {
502
+ readonly name: "features";
503
+ readonly type: StringConstructor;
504
+ readonly description: `Features to track, supported are "all" or ${string}`;
505
+ readonly multiple: true;
506
+ readonly defaultValue: "all";
507
+ readonly typeLabel: "{underline names}";
508
+ }];
85
509
  usageExample: string;
86
510
  type: string;
87
511
  masterScripts: string[];
@@ -1,7 +1,107 @@
1
- import type { OptionDefinition } from 'command-line-usage';
2
1
  /**
3
2
  * Returns a comma-separated list of all available master scripts.
4
3
  */
5
4
  export declare function getScriptsText(): string;
6
- export declare const flowrMainOptionDefinitions: OptionDefinition[];
5
+ export declare const flowrMainOptionDefinitions: [{
6
+ readonly name: "config-file";
7
+ readonly type: StringConstructor;
8
+ readonly description: "The name of the configuration file to use";
9
+ readonly multiple: false;
10
+ }, {
11
+ readonly name: "config-json";
12
+ readonly type: StringConstructor;
13
+ readonly description: "The flowR configuration to use, as a JSON string";
14
+ readonly multiple: false;
15
+ }, {
16
+ readonly name: "execute";
17
+ readonly alias: "e";
18
+ readonly type: StringConstructor;
19
+ readonly description: "Execute the given command and exit. Use a semicolon \";\" to separate multiple commands.";
20
+ readonly typeLabel: "{underline command}";
21
+ readonly multiple: false;
22
+ }, {
23
+ readonly name: "help";
24
+ readonly alias: "h";
25
+ readonly type: BooleanConstructor;
26
+ readonly description: "Print this usage guide (or the guide of the corresponding script)";
27
+ }, {
28
+ readonly name: "no-ansi";
29
+ readonly type: BooleanConstructor;
30
+ readonly description: "Disable ansi-escape-sequences in the output. Useful, if you want to redirect the output to a file.";
31
+ }, {
32
+ readonly name: "port";
33
+ readonly type: NumberConstructor;
34
+ readonly description: "The port to listen on, if --server is given.";
35
+ readonly defaultValue: 1042;
36
+ readonly typeLabel: "{underline port}";
37
+ }, {
38
+ readonly name: "r-path";
39
+ readonly type: StringConstructor;
40
+ readonly description: "The path to the R executable to use. Defaults to your PATH. This option is being phased out in favor of the engine configuration option \"engine.r-shell.r-path\", which should be used instead.";
41
+ readonly multiple: false;
42
+ }, {
43
+ readonly name: "r-session-access";
44
+ readonly type: BooleanConstructor;
45
+ readonly description: "Allow to access the underlying R session when using flowR (security warning: this allows the execution of arbitrary R code!)";
46
+ }, {
47
+ readonly name: "script";
48
+ readonly alias: "s";
49
+ readonly type: StringConstructor;
50
+ readonly description: `The sub-script to run (${string})`;
51
+ readonly multiple: false;
52
+ readonly defaultOption: true;
53
+ readonly typeLabel: "{underline files}";
54
+ readonly defaultValue: undefined;
55
+ }, {
56
+ readonly name: "server";
57
+ readonly type: BooleanConstructor;
58
+ readonly description: "Do not drop into a repl, but instead start a server on the given port (default: 1042) and listen for messages.";
59
+ }, {
60
+ readonly name: "verbose";
61
+ readonly alias: "v";
62
+ readonly type: BooleanConstructor;
63
+ readonly description: "Run with verbose logging (will be passed to the corresponding script)";
64
+ }, {
65
+ readonly name: "version";
66
+ readonly alias: "V";
67
+ readonly type: BooleanConstructor;
68
+ readonly description: "Provide information about the version of flowR as well as its underlying R system and exit.";
69
+ }, {
70
+ readonly name: "ws";
71
+ readonly type: BooleanConstructor;
72
+ readonly description: "If the server flag is set, use websocket for messaging";
73
+ }, {
74
+ readonly name: "engine.r-shell.disabled";
75
+ readonly type: BooleanConstructor;
76
+ readonly description: "Disable the R shell engine";
77
+ }, {
78
+ readonly name: "engine.r-shell.r-path";
79
+ readonly type: StringConstructor;
80
+ readonly description: "The path to the R executable to use. Defaults to your PATH.";
81
+ readonly multiple: false;
82
+ }, {
83
+ readonly name: "engine.tree-sitter.disabled";
84
+ readonly type: BooleanConstructor;
85
+ readonly description: "Disable the tree-sitter engine";
86
+ }, {
87
+ readonly name: "engine.tree-sitter.wasm-path";
88
+ readonly type: StringConstructor;
89
+ readonly description: "The path to the tree-sitter-r WASM binary to use. Defaults to the one shipped with flowR.";
90
+ readonly multiple: false;
91
+ }, {
92
+ readonly name: "engine.tree-sitter.tree-sitter-wasm-path";
93
+ readonly type: StringConstructor;
94
+ readonly description: "The path to the tree-sitter WASM binary to use. Defaults to the path specified by the tree-sitter package.";
95
+ readonly multiple: false;
96
+ }, {
97
+ readonly name: "engine.tree-sitter.lax";
98
+ readonly type: BooleanConstructor;
99
+ readonly description: "Use the lax parser for parsing R code (allowing for syntax errors).";
100
+ readonly multiple: false;
101
+ }, {
102
+ readonly name: "default-engine";
103
+ readonly type: StringConstructor;
104
+ readonly description: "The default engine to use for interacting with R code. If this is undefined, an arbitrary engine from the specified list will be used.";
105
+ readonly multiple: false;
106
+ }];
7
107
  export declare const defaultConfigFile = "flowr.json";