{"id":19378522,"url":"https://github.com/izhaki/pliz","last_synced_at":"2026-06-08T23:02:06.666Z","repository":{"id":36115481,"uuid":"221094279","full_name":"Izhaki/pliz","owner":"Izhaki","description":"A minimalistic task router for Node.","archived":false,"fork":false,"pushed_at":"2023-10-19T19:43:50.000Z","size":1358,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T00:32:48.149Z","etag":null,"topics":["cli","development","nodes","tasks"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Izhaki.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-12T00:18:12.000Z","updated_at":"2021-11-29T23:21:06.000Z","dependencies_parsed_at":"2024-11-10T05:33:29.301Z","dependency_job_id":"18ffeffb-df29-4cca-b877-f8626f46037a","html_url":"https://github.com/Izhaki/pliz","commit_stats":{"total_commits":71,"total_committers":3,"mean_commits":"23.666666666666668","dds":"0.22535211267605637","last_synced_commit":"8ec0f055ddddd145879a2e82ded4f08f7ef923f5"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Izhaki%2Fpliz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Izhaki%2Fpliz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Izhaki%2Fpliz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Izhaki%2Fpliz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Izhaki","download_url":"https://codeload.github.com/Izhaki/pliz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240511296,"owners_count":19813237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","development","nodes","tasks"],"created_at":"2024-11-10T09:06:03.946Z","updated_at":"2026-06-08T23:02:06.633Z","avatar_url":"https://github.com/Izhaki.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"100%\" src=\"https://user-images.githubusercontent.com/880132/68632060-3287bd80-04e5-11ea-9e3c-bdd959755da3.png\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca aria-label=\"Build\" href=\"https://github.com/Izhaki/pliz/actions/workflows/tests_and_release.yml\"\u003e\n    \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/workflow/status/Izhaki/pliz/Test%20\u0026%20Release?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"NPM version\" href=\"https://npmjs.org/package/pliz\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/npm/v/pliz?style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nPliz is a cli tool that invokes JS functions (typically development, build, or deploy tasks).\n\nPliz can be supercharged with [Google's zx](https://github.com/google/zx) for ultimate shell power.\n\n# Example\n\nWhen calling:\n\n```shell\n$ pliz bump minor\n```\n\nA function like this may be invoked:\n\n```js\n// plizers.js\nimport { $ } from 'zx';\n\nexport async function bump([versionType]) {\n  await $`npm version ${versionType}`;\n  await $`git push`;\n  await $`git push --tags`;\n}\n```\n\n# Rationale\n\n## With pliz\n\n- All tasks are written in javascript and can be easily invoked from command line\u003csup\u003e1\u003c/sup\u003e.\n- Single source of truth, in a single file/folder.\n- Reduction of cognitive load.\n\n\u003csup\u003e1\u003c/sup\u003e _Existing shell scripts do not need migration as their invocation is still possible (via javascript)._\n\n## Without pliz\n\nModern Javascript projects involve a multitude of development tasks. Typically these live in:\n\n- `package.json` script commands:\n  - shell syntax\n  - no comments\n  - sometimes require extra dependencies (eg, `cross-env`)\n  - parametrisation and branching can be tricky\n- **shell scripts**:\n  - another syntax to learn and maintain\n  - shells may differ across machines\n- `scripts` folder\n  - onboarding and discoverability may be sub-optimal\n- **our heads**:\n  - What's the command to kill a process? Do everyone remember `-9`? What about Windows?\n  - What's the command to enter a docker image interactive shell again?\n\n# Quick Start\n\n## 1. Install Globally\n\n```shell\n$ npm i -g pliz\n```\n\n## 2. Create plizers\n\nCreate the following `plizers.js` file (or `plizers/index.js`) in your project root:\n\n```js\nconst say = ([text]) =\u003e {\n  console.log(`${text}!`);\n};\n\nmodule.exports = {\n  say,\n};\n```\n\n\u003cdetails\u003e\n  \u003csummary style=\"margin-bottom: 10px;\"\u003e💡 Using ES6\u003c/summary\u003e\n  \n```shell\nyarn add --dev @babel/core @babel/register @babel/preset-env\n```\n\n`pliz.config.js`:\n\n```js\nrequire('@babel/register')({\n  presets: [\n    [\n      '@babel/preset-env',\n      {\n        targets: { node: 'current' },\n      },\n    ],\n  ],\n});\n```\n\n`plizers.js`:\n\n```js\nexport const say = ([text]) =\u003e {\n  console.log(`${text}!`);\n};\n```\n\n\u003c/details\u003e\n\n## 3. Use\n\nIn your shell:\n\n```shell\n$ pliz say Hello\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizhaki%2Fpliz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizhaki%2Fpliz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizhaki%2Fpliz/lists"}