- Upgraded various internal Rust dependencies
Breaking changes
- Upgraded the underlying swc libraries that fta depends on. This results in different scores, since various changes were made to improve the accuracy of how operands and operators are counted. It is also expected that this adds support for many cases of modern JavaScript/TypeScript syntax. For example, the
import withsyntax is now supported.
- Enabled support for TypeScript decorators
- Added type definition to NPM package
- Upgraded release actions to use up-to-date dependencies
Breaking changes
- The halstead calculation was corrected which results in different halstead + FTA scores
Breaking changes
- Added the
include_commentsoption with a default value offalse, which means that comments are no longer included in scoring by default - Added the
exclude_underoption with a default value of6, which means that files that are under n lines of code are excluded from output. This option also takes into account theinclude_commentsoption. - Changed
output_limitto (a) only affect thetableformat output and (b) work as expected.
Other changes
- Exposed
output_limit,score_cap,include_commentsandexclude_underas CLI options - Fixed an
ENOBUFScrash that could occur when analyzing very large projects
- Potentially breaking: changed linux target platforms: we now target
musllinux onx86_64,armandaarch64- This change should result in a more portable and widely compatible
fta-clion Linux systems
- This change should result in a more portable and widely compatible
- Refactored Github Actions workflow so that the publishing of the npm packages is automatic and coupled with releasing the Rust crate
- Improved language detection, add retry mechanism (#31)
- Fix binaries for Ubuntu
- Set +x permissions on macOS + linux binaries during build
- Added WASM npm module
- Refactored internals
- Internal fixes for the NPM module
- Added
--jsonoption
- Added npm package
- Initial release