LintingRules: {
    "absolute-file-paths": {
        createSearch: (
            config: AbsoluteFilePathConfig,
        ) => FlowrSearchBuilderOut<"from-query", [], ParentInformation, "unique">;
        info: {
            defaultConfig: {
                absolutePathRegex: undefined;
                additionalPathFunctions: readonly [];
                include: { allStrings: false; constructed: true };
                useAsWd: "@script";
            };
            description: "Checks whether file paths are absolute.";
            name: "Absolute Paths";
            tags: readonly [Robustness, Reproducibility, Smell, QuickFix];
        };
        prettyPrint: (result: AbsoluteFilePathResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                {
                    node: (RNode<ParentInformation> | undefined) & RNode<
                        ParentInformation,
                    >;
                    query?: | "config"
                    | "origin"
                    | "dataflow"
                    | "search"
                    | "call-context"
                    | "control-flow"
                    | "dataflow-lens"
                    | "normalized-ast"
                    | "id-map"
                    | "dataflow-cluster"
                    | "static-slice"
                    | "lineage"
                    | "dependencies"
                    | "location-map"
                    | "happens-before"
                    | "resolve-value"
                    | "project"
                    | "linter";
                    queryResult?: BaseQueryResult;
                }[],
            >,
            config: AbsoluteFilePathConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": AbsoluteFilePathMetadata;
            results: AbsoluteFilePathResult[];
        };
    };
    "deprecated-functions": {
        createSearch: (
            _config: DeprecatedFunctionsConfig,
        ) => FlowrSearchBuilderOut<"all", [], ParentInformation, "with">;
        info: {
            defaultConfig: {
                deprecatedFunctions: readonly [
                    "all_equal",
                    "arrange_all",
                    "distinct_all",
                    "filter_all",
                    "group_by_all",
                    "summarise_all",
                    "mutate_all",
                    "select_all",
                    "vars",
                    "all_vars",
                    "id",
                    "failwith",
                    "select_vars",
                    "rename_vars",
                    "select_var",
                    "current_vars",
                    "bench_tbls",
                    "compare_tbls",
                    "compare_tbls2",
                    "eval_tbls",
                    "eval_tbls2",
                    "location",
                    "changes",
                    "combine",
                    "do",
                    "funs",
                    "add_count_",
                    "add_tally_",
                    "arrange_",
                    "count_",
                    "distinct_",
                    "do_",
                    "filter_",
                    "funs_",
                    "group_by_",
                    "group_indices_",
                    "mutate_",
                    "tally_",
                    "transmute_",
                    "rename_",
                    "rename_vars_",
                    "select_",
                    "select_vars_",
                    "slice_",
                    "summarise_",
                    "summarize_",
                    "summarise_each",
                    "src_local",
                    "tbl_df",
                    "add_rownames",
                    "group_nest",
                    "group_split",
                    "with_groups",
                    "nest_by",
                    "progress_estimated",
                    "recode",
                    "sample_n",
                    "top_n",
                    "transmute",
                    "fct_explicit_na",
                    "aes_",
                    "aes_auto",
                    "annotation_logticks",
                    "is.Coord",
                    "coord_flip",
                    "coord_map",
                    "is.facet",
                    "fortify",
                    "is.ggproto",
                    "guide_train",
                    "is.ggplot",
                    "qplot",
                    "is.theme",
                    "gg_dep",
                    "liply",
                    "isplit2",
                    "list_along",
                    "cross",
                    "invoke",
                    "at_depth",
                    "prepend",
                    "rerun",
                    "splice",
                    "`%@%`",
                    "rbernoulli",
                    "rdunif",
                    "when",
                    "update_list",
                    "map_raw",
                    "accumulate",
                    "reduce_right",
                    "flatten",
                    "map_dfr",
                    "as_vector",
                    "transpose",
                    "melt_delim",
                    "melt_fwf",
                    "melt_table",
                    "read_table2",
                    "str_interp",
                    "as_tibble",
                    "data_frame",
                    "tibble_",
                    "data_frame_",
                    "lst_",
                    "as_data_frame",
                    "as.tibble",
                    "frame_data",
                    "trunc_mat",
                    "is.tibble",
                    "tidy_names",
                    "set_tidy_names",
                    "repair_names",
                    "extract_numeric",
                    "complete_",
                    "drop_na_",
                    "expand_",
                    "crossing_",
                    "nesting_",
                    "extract_",
                    "fill_",
                    "gather_",
                    "nest_",
                    "separate_rows_",
                    "separate_",
                    "spread_",
                    "unite_",
                    "unnest_",
                    "extract",
                    "gather",
                    "nest_legacy",
                    "separate_rows",
                    "separate",
                    "spread",
                ];
            };
            description: "Marks deprecated functions that should not be used anymore.";
            name: "Deprecated Functions";
            tags: readonly [Deprecated, Smell, Usability, Reproducibility];
        };
        prettyPrint: (result: DeprecatedFunctionsResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElement<ParentInformation>[],
            >,
            config: DeprecatedFunctionsConfig,
        ) => {
            ".meta": DeprecatedFunctionsMetadata;
            results: {
                certainty: Definitely;
                function: Identifier;
                range: SourceRange;
            }[];
        };
    };
    "file-path-validity": {
        createSearch: (
            config: FilePathValidityConfig,
        ) => FlowrSearchBuilder<
            "from-query",
            [],
            ParentInformation,
            FlowrSearchElements<
                ParentInformation,
                FlowrSearchElementFromQuery<ParentInformation>[],
            >,
        >;
        info: {
            defaultConfig: {
                additionalReadFunctions: readonly [];
                additionalWriteFunctions: readonly [];
                includeUnknown: false;
            };
            description: "Checks whether file paths used in read and write operations are valid and point to existing files.";
            name: "File Path Validity";
            tags: readonly [Robustness, Reproducibility, Bug];
        };
        prettyPrint: (result: FilePathValidityResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElementFromQuery<ParentInformation>[],
            >,
            config: FilePathValidityConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": FilePathValidityMetadata;
            results: FilePathValidityResult[];
        };
    };
    "unused-definitions": {
        createSearch: (
            config: UnusedDefinitionConfig,
        ) => FlowrSearchBuilderOut<"all", [], ParentInformation, "filter">;
        info: {
            defaultConfig: { includeFunctionDefinitions: true };
            description: "Checks for unused definitions.";
            name: "Unused Definitions";
            tags: readonly [Readability, Smell, QuickFix];
        };
        prettyPrint: (result: UnusedDefinitionResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElement<ParentInformation>[],
            >,
            config: UnusedDefinitionConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": UnusedDefinitionMetadata;
            results: UnusedDefinitionResult[];
        };
    };
} = ...

The registry of currently supported linting rules. A linting rule can be executed on a dataflow pipeline result using executeLintingRule.

Type declaration

  • Readonlyabsolute-file-paths: {
        createSearch: (
            config: AbsoluteFilePathConfig,
        ) => FlowrSearchBuilderOut<"from-query", [], ParentInformation, "unique">;
        info: {
            defaultConfig: {
                absolutePathRegex: undefined;
                additionalPathFunctions: readonly [];
                include: { allStrings: false; constructed: true };
                useAsWd: "@script";
            };
            description: "Checks whether file paths are absolute.";
            name: "Absolute Paths";
            tags: readonly [Robustness, Reproducibility, Smell, QuickFix];
        };
        prettyPrint: (result: AbsoluteFilePathResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                {
                    node: (RNode<ParentInformation> | undefined) & RNode<
                        ParentInformation,
                    >;
                    query?: | "config"
                    | "origin"
                    | "dataflow"
                    | "search"
                    | "call-context"
                    | "control-flow"
                    | "dataflow-lens"
                    | "normalized-ast"
                    | "id-map"
                    | "dataflow-cluster"
                    | "static-slice"
                    | "lineage"
                    | "dependencies"
                    | "location-map"
                    | "happens-before"
                    | "resolve-value"
                    | "project"
                    | "linter";
                    queryResult?: BaseQueryResult;
                }[],
            >,
            config: AbsoluteFilePathConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": AbsoluteFilePathMetadata;
            results: AbsoluteFilePathResult[];
        };
    }
  • Readonlydeprecated-functions: {
        createSearch: (
            _config: DeprecatedFunctionsConfig,
        ) => FlowrSearchBuilderOut<"all", [], ParentInformation, "with">;
        info: {
            defaultConfig: {
                deprecatedFunctions: readonly [
                    "all_equal",
                    "arrange_all",
                    "distinct_all",
                    "filter_all",
                    "group_by_all",
                    "summarise_all",
                    "mutate_all",
                    "select_all",
                    "vars",
                    "all_vars",
                    "id",
                    "failwith",
                    "select_vars",
                    "rename_vars",
                    "select_var",
                    "current_vars",
                    "bench_tbls",
                    "compare_tbls",
                    "compare_tbls2",
                    "eval_tbls",
                    "eval_tbls2",
                    "location",
                    "changes",
                    "combine",
                    "do",
                    "funs",
                    "add_count_",
                    "add_tally_",
                    "arrange_",
                    "count_",
                    "distinct_",
                    "do_",
                    "filter_",
                    "funs_",
                    "group_by_",
                    "group_indices_",
                    "mutate_",
                    "tally_",
                    "transmute_",
                    "rename_",
                    "rename_vars_",
                    "select_",
                    "select_vars_",
                    "slice_",
                    "summarise_",
                    "summarize_",
                    "summarise_each",
                    "src_local",
                    "tbl_df",
                    "add_rownames",
                    "group_nest",
                    "group_split",
                    "with_groups",
                    "nest_by",
                    "progress_estimated",
                    "recode",
                    "sample_n",
                    "top_n",
                    "transmute",
                    "fct_explicit_na",
                    "aes_",
                    "aes_auto",
                    "annotation_logticks",
                    "is.Coord",
                    "coord_flip",
                    "coord_map",
                    "is.facet",
                    "fortify",
                    "is.ggproto",
                    "guide_train",
                    "is.ggplot",
                    "qplot",
                    "is.theme",
                    "gg_dep",
                    "liply",
                    "isplit2",
                    "list_along",
                    "cross",
                    "invoke",
                    "at_depth",
                    "prepend",
                    "rerun",
                    "splice",
                    "`%@%`",
                    "rbernoulli",
                    "rdunif",
                    "when",
                    "update_list",
                    "map_raw",
                    "accumulate",
                    "reduce_right",
                    "flatten",
                    "map_dfr",
                    "as_vector",
                    "transpose",
                    "melt_delim",
                    "melt_fwf",
                    "melt_table",
                    "read_table2",
                    "str_interp",
                    "as_tibble",
                    "data_frame",
                    "tibble_",
                    "data_frame_",
                    "lst_",
                    "as_data_frame",
                    "as.tibble",
                    "frame_data",
                    "trunc_mat",
                    "is.tibble",
                    "tidy_names",
                    "set_tidy_names",
                    "repair_names",
                    "extract_numeric",
                    "complete_",
                    "drop_na_",
                    "expand_",
                    "crossing_",
                    "nesting_",
                    "extract_",
                    "fill_",
                    "gather_",
                    "nest_",
                    "separate_rows_",
                    "separate_",
                    "spread_",
                    "unite_",
                    "unnest_",
                    "extract",
                    "gather",
                    "nest_legacy",
                    "separate_rows",
                    "separate",
                    "spread",
                ];
            };
            description: "Marks deprecated functions that should not be used anymore.";
            name: "Deprecated Functions";
            tags: readonly [Deprecated, Smell, Usability, Reproducibility];
        };
        prettyPrint: (result: DeprecatedFunctionsResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElement<ParentInformation>[],
            >,
            config: DeprecatedFunctionsConfig,
        ) => {
            ".meta": DeprecatedFunctionsMetadata;
            results: {
                certainty: Definitely;
                function: Identifier;
                range: SourceRange;
            }[];
        };
    }
  • Readonlyfile-path-validity: {
        createSearch: (
            config: FilePathValidityConfig,
        ) => FlowrSearchBuilder<
            "from-query",
            [],
            ParentInformation,
            FlowrSearchElements<
                ParentInformation,
                FlowrSearchElementFromQuery<ParentInformation>[],
            >,
        >;
        info: {
            defaultConfig: {
                additionalReadFunctions: readonly [];
                additionalWriteFunctions: readonly [];
                includeUnknown: false;
            };
            description: "Checks whether file paths used in read and write operations are valid and point to existing files.";
            name: "File Path Validity";
            tags: readonly [Robustness, Reproducibility, Bug];
        };
        prettyPrint: (result: FilePathValidityResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElementFromQuery<ParentInformation>[],
            >,
            config: FilePathValidityConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": FilePathValidityMetadata;
            results: FilePathValidityResult[];
        };
    }
  • Readonlyunused-definitions: {
        createSearch: (
            config: UnusedDefinitionConfig,
        ) => FlowrSearchBuilderOut<"all", [], ParentInformation, "filter">;
        info: {
            defaultConfig: { includeFunctionDefinitions: true };
            description: "Checks for unused definitions.";
            name: "Unused Definitions";
            tags: readonly [Readability, Smell, QuickFix];
        };
        prettyPrint: (result: UnusedDefinitionResult) => string;
        processSearchResult: (
            elements: FlowrSearchElements<
                ParentInformation,
                FlowrSearchElement<ParentInformation>[],
            >,
            config: UnusedDefinitionConfig,
            data: {
                config: FlowrConfigOptions;
                dataflow: DataflowInformation;
                normalize: NormalizedAst;
            },
        ) => {
            ".meta": UnusedDefinitionMetadata;
            results: UnusedDefinitionResult[];
        };
    }