Last updated
Was this helpful?
Last updated
Was this helpful?
The BoxLang CFML Feature audit tool is a CLI tool that will scan your source code and give you a compatibility report. This will allow you to see if your CFML code will run natively in BoxLang or if any BIFs or Components are required. Like the other tools, this is based on our BL AST (BoxLang Abstract Syntax Tree), so it should be accurate and not require anything like regex. It’s using the actual BL ANTLR parsers.
Before you run the tool, install the appropriate BoxLang modules so our tool can also account for those module collaborations. We recommend the following to simulate a CFML server:
This CLI tool will scan
a single file
or a folder of files recursively (in parallel)
and will track:
what BIFs you are using
What Components (Tags) you are using
including the
file name where it is used
line number it was used on
The module that BIF/component is from
Whether or not that feature is missing from BoxLang currently (true/false)
Data tracked can be
every occurrence of a component or BIF
aggregate of what BIFs/components were used per file
aggregate summary of what BIFs/components were used across all files
and can be
printed to console
and/or written to CSV report file
You can call the tool using our script or the full path to the jar.
--source
- Defaults to working directory. If supplied, it must be followed by an absolute path or a path relative to the working directory.
--missing
- Filter results to only show BIFs and Components which are missing from BoxLang.
--aggregate
- Instead of showing every usage instance, roll-up counts at the file level by default.
--aggregate summary
- If the arg “summary” is passed after the aggregate flag, we will roll the results up even further to include all files processed. In “summary” mode, the total number of files processed will also be output to the console, along with a breakdown of the number of file extensions encountered.
--quiet
- Do not output the details of what was found on the console. Use in conjunction with the report path arg if you want to write out a report file. Even in quiet mode, each file processed will be output.
--reportFile
- An absolute or relative (to the working dir) file path to write the data matching your filters and aggregate settings in a CSV format. Intermediate folders will be created. If the filename does not end with .csv
, it will be appended.
The CSV columns, when not aggregating the data, will be File,Name,Type,Module,Missing,Line
The CSV columns, when aggregating data at a per-file level, will be: File,Name,Type,Module,Missing,Count
The CSV columns, when aggregating data at a summary level, will be: Name,Type,Module,Missing,Count
Get a full report of all BIFs and Components used in a file
Scan all your models for missing BIFs and Components
Same as above, but aggregate results per file and write results to a CSV report
Get a summary level aggregate report of all missing features in ColdBox output to the console
Make sure you have installed the OS version of so you get all the tools installed as well. Please note that the action command funnels through the boxlang
binary, so you can use all the for boxlang
runner.
Discover if your application is compatible with BoxLang.