flow_compare_runs()
displays 2 calls on the same diagram, making it easy to
observe their divergenceflow_view_uses()
displays functions that recursively call its input, basically it
does the opposite of flow_view_deps()
flow_view_source_calls()
draws the dependencies between files sourcing each other.flow_view_deps()
gains an include_formals
arg, TRUE
by default, so it
displays dependencies used in formals.flow_view_deps()
accepts a list of functions as input, to display a diagram
that starts from several functions.flow_view_deps()
's trim
, promote
, demote
, trim
arguments support
regular expressions.flow_view_doc()
and flow_view_doc()
were simplified to output only html since
the md output was rarely used and brittle.flow_debugonce()
is deprecated, use flow_debug()
and flow_undebug()
We provide new experimental functions, these might be subjected to non trivial breaking changes in the future and they have some known issues but we decided to release them in the wild already:
flow_view_vars()
shows dependencies between variables within a functionflow_view_deps()
shows dependencies between functions in a given packageflow_view_shiny()
is a wrapper around flow_view_deps()
to show only server
and ui functions and functions that call themThese are introduced in vignette("experimental-functions")
Additionally :
The API was simplified, we lose some flexibility, but I doubt we lose anything useful, if you miss something, speak up in the github issues.
sub_fun_id
argument was renamed into nested_fun
.prefix
can now be a vector, in which case all prefixes are consideredtruncate
argument provides a way to improve display of wide diagrams,
by truncating output.show_passes
argument was removed and passes are always shown.flow_test()
functions build a report detailing testthat unit tests.flow_doc
supports md
output and in particular if no argument is given,
a diagrams.md file is created at the root of the project folder so it can
be leveraged by {pkgdown} to add a section to the website that will contain
all diagrams (as is done on
{flow}'s website)NEWS.md
file to track changes to the package.flow_run()
was reworked to be more robust, in particular:
on.exit()
, formals()
, match.arg()
etc now work seamlessly
in flow_run()
.base::browser()
so all its features are available, it also means we can
go through loops and iterations.show_passes
was added to flow_run()
to display the number of passes
through each continuous edge of the diagram.browse = TRUE
, the diagrams are not drawn automatically,
instead we now use d
or flow_draw()
to redraw the diagram at the chosen step.
running flow_draw(always = TRUE)
in the debugger makes sure they're drawn
automatically at each step of the run.Moreover:
flow_debug()
and flow_debugonce()
make it convenient to
call debug_run()
indirectly through another call.flow_doc()
draws the diagrams of all the functions of a
package to an html file.