jko
v1.0.0
Published
Extended scripts, enhanced lifecycle hooks, integrated dependencies, and environment setup — Your all in one script execution tool.
Downloads
24
Maintainers
Keywords
Readme
j•ko
j•ko is a script execution tool that extends scripts and integrates dependencies from external files, promoting organization and sharing.
🚀 Quick Start
- Install
jko:
$ npm install -g jko- Confirm that the
jkois installed correctly and check out the available options.:
$ jko --help- List available scripts defined in the
jko.jsfile (or inpackage.json):
$ jko- Run one of your scripts:
$ jko yourScript arg1 ... argN📦 Sharing Scripts and Dependencies across Projects
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.
jko.js:
import extraScripts from './extra-scripts'
import fromSomePackageScripts from 'somePackage'
import { devDependencies } from './another/path/dependencies'
import { dependencies } from 'anotherPackage/dependencies'
export default {
scripts: {
yourScript1: "someCommand",
yourScript2: function (param1, paramN) {
// do something
},
...extraScripts,
...fromSomePackageScripts.scripts
},
envFile: './path/to/.env',
dependencies: {
packageName1: "#.#.#",
packageNameN: "#.#.#",
...dependencies
},
devDependencies: {
devPackageName1: "#.#.#",
devPackageNameN: "#.#.#",
...devDependencies
},
packageManager: 'npm',
logLevel: 'error',
}Run your script:
$ jko yourScript2 arg1 ... argNor install your dependencies:
$ jko install📜 Declarative Syntax
jko provides a structured and declarative way to manage scripts, and orchestrate tasks.
$pre– Defines pre-execution steps that must run before the script.$post– Specifies post-execution actions that run after the script.$catch– Handles errors within the script, allowing custom error responses.$disable– Prevents a specific script from executing.$comment– Adds a descriptive remark for a specific script.
export default {
scripts: {
"$pre (yourScript)": "echo 'Preparing for ...'",
"yourScript": "someCommand",
"$comment (yourScript)": "This script will ..."
"$post (yourScript)": "echo 'Done!'",
"$catch (yourScript)": "echo 'An error occurred during execution!'",
"$disable (yourScript2)": function (param1, paramN) {
// do something
}
}
}Run your script:
$ jko yourScript arg1 ... argN