@playform/eliminate
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

Eliminate↘️

Eliminate is a utility that analyzes your TypeScript code to identify variables and functions that are defined but only used once and are not exported. It then eliminates these definitions and replaces their usage with their initializers, optimizing your code for better readability and performance.

Before After
let a = 5;
let b = 10;
let c = a + b;
console.log(c);
console.log(5 + 10);

Feature 📦

  • TypeScript support with type-checking
  • Variable & Function Usage Analysis: Analyzes the code to count how many times each variable and function is used.
  • Export Detection: Ensures exported variables and functions are not removed.
  • Code Transformation: Removes unnecessary variable and function declarations and replaces their usage with initializers.
  • Complex Scenarios Handling: Handles destructuring, default parameters, nested scopes, and type annotations.
  • Configuration Options:
    • Comment: Whether to preserve symbols with comments (defaults to true).
    • Max: Maximum size of expressions to inline (defaults to 100 nodes).
    • Async: Whether to preserve async/await expressions (defaults to false).
    • Const: Whether to preserve const variables (defaults to false).
    • Function: Whether to preserve functions (defaults to false).
    • Debug: Enables debug mode for verbose logging (defaults to false).

Installation 🚀

Install the package as a development dependency:

npm install -D -E @playform/eliminate

Usage 🛠️

Command Line

Run the build tool from the command line:

npx @playform/eliminate Configuration.ts

See an example configuration file in: Configuration.ts

CLI Options

Usage: Eliminate Eliminate

Arguments:
  Eliminate                 Eliminate configuration file 📜

Options:
  -V, --version             Output the version number
  -h, --help                Display help information

NPM Scripts

Add Eliminate to your package.json scripts:

{
	"scripts": {
		"Eliminate": "Eliminate Configuration.ts"
	}
}

Contributing 🤝

Contributions are welcome! Please see CONTRIBUTING.md for guidelines and feel free to submit a Pull Request.

Changelog

See CHANGELOG.md for a history of changes to this component.

Package Sidebar

Install

npm i @playform/eliminate

Weekly Downloads

139

Version

0.0.7

License

SEE LICENSE IN LICENSE

Unpacked Size

32 kB

Total Files

30

Last publish

Collaborators

  • nikolarhristov