Summary
jko
was designed to streamline project management by organizing and sharing scripts and dependencies across projects, leveraging JavaScript’s dynamic capabilities to import files. This modular approach enables you to build complex dependency trees and automate tasks with ease. It provides a structured and declarative way to manage scripts, and orchestrate tasks. Whether you need to streamline your project’s workflow, integrate community-driven enhancements, or simply automate routine tasks, this CLI system adapts to your needs while providing a robust foundation for scalable development.
⭐ Key Features
-
Run Scripts: Execute predefined commands sequentially—ideal for automating workflows such as builds, tests, and deployments.
-
Function Scripts: Leverage reusable logic for dynamic execution, allowing customization based on parameters and context.
-
Declarative Syntax: Use special keywords—
$pre
,$post
,$catch
,$comment
,$disable
—to define script behavior, ensuring predictable execution and unlocking additional functionality. -
Script Lifecycle Management:
$pre
and$post
directives manage actions before and after script execution.$catch
handles errors gracefully.
-
Grouping Scripts: The
|
operator lets multiple scripts share a common definition, reducing duplication and streamlining execution. -
Organize Scripts and Dependencies:
- Use a JavaScript file (e.g.,
jko.js
) to manage scripts and/or dependencies. - Alternatively, use a JSON file with
$extends
and$installs
directives.
- Use a JavaScript file (e.g.,
-
Environment Variables Handling:
- jko-generated variables use the
jko_
prefix. - Compatibility variables prefixed with
npm_package_
are also supported.
- jko-generated variables use the
-
Easy and Quick Settings:
- Configure via
jko.js
fields likeenvFile
,logLevel
, andpackageManager
. - Or use command-line options such as
--config-file
,--env-file
,--log
, and--package-manager
.
- Configure via
-
Well Documented:
- Comprehensive documentation is provided.
- Quick information is available via the
--help
command-line option.
👍 Advantages
-
Predictability: Clearly defined execution flows ensure consistent and reliable outcomes.
-
Modularity: Easily extend and modify scripts and dependencies across various environments.
-
Automation-Friendly: Simplifies complex scripting tasks, reducing manual efforts and potential errors.
-
Clear Output: Informative, colored labels help you quickly understand what happened during execution.