{"id":24064877,"url":"https://github.com/gearonix/sorry-nx","last_synced_at":"2025-02-26T18:22:34.359Z","repository":{"id":227223901,"uuid":"770782662","full_name":"gearonix/sorry-nx","owner":"gearonix","description":"Tiny alternative to the Nx Runner CLI, providing comprehensive task running capabilities.","archived":false,"fork":false,"pushed_at":"2024-06-17T02:53:52.000Z","size":709,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T11:04:16.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/@grnx/sx","language":"TypeScript","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/gearonix.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2024-03-12T06:37:03.000Z","updated_at":"2024-12-09T15:15:41.000Z","dependencies_parsed_at":"2024-04-29T03:28:24.485Z","dependency_job_id":"54255c46-ff80-48f6-b7c7-4681f6a82db6","html_url":"https://github.com/gearonix/sorry-nx","commit_stats":null,"previous_names":["gearonix/gx","gearonix/sorry-nx","grnxx/sorry-nx","gearonixx/sorry-nx"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gearonix%2Fsorry-nx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gearonix%2Fsorry-nx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gearonix%2Fsorry-nx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gearonix%2Fsorry-nx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gearonix","download_url":"https://codeload.github.com/gearonix/sorry-nx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240909049,"owners_count":19876900,"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":[],"created_at":"2025-01-09T10:53:20.776Z","updated_at":"2025-02-26T18:22:34.340Z","avatar_url":"https://github.com/gearonix.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sorry-Nx\n\n[![npm](https://img.shields.io/npm/v/@grnx/sx)](https://www.npmjs.com/package/@grnx/sx)\n[![License](https://img.shields.io/github/license/gearonix/sorry-nx)](https://github.com/gearonix/sorry-nx)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/gearonix/sorry-nx)\n\n[Sorry-Nx](github.com/gearonix/sorry-nx)  is a tiny alternative to the Nx Runner CLI, providing comprehensive task running capabilities.\n\nIt supports 4 package managers, dependency graphs, custom schemas, multitasking, and more.\n\nThe library seamlessly integrates with `package.json` scripts, making it a flexible choice for your project needs.\n\n## Quick Features\n\n- 🧨 Comprehensive TypeScript support\n- 🤯 Faster task executions\n- 🔢 Out-of-the-box support for npm, yarn, pnpm, and bun\n- 💣 Custom configuration\n- 🗿 Nx-like schemas (project.json)\n- 🔥 Interactive mode\n- 👍 Schema generation\n\n## Table of Contents\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Sorry-Nx](#sorry-nx)\n  - [Quick Features](#quick-features)\n  - [Installation](#installation)\n  - [Usage](#usage)\n    - [`sx` - Run Target](#sx---run-target)\n  - [Interactive Mode](#interactive-mode)\n    - [`sx run-many` - Run Multiple Commands](#sx-run-many---run-multiple-commands)\n  - [`targets.json` - Schemas](#targetsjson---schemas)\n    - [`sx migrate` - Migrate from package.json Scripts](#sx-migrate---migrate-from-packagejson-scripts)\n    - [`sx show` - Show Workspace Projects](#sx-show---show-workspace-projects)\n  - [Configuration](#configuration)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\n## Installation\n\nYou can install [sorry-nx](github.com/gearonix/sorry-nx) via your preferred package manager:\n\n```bash\n# using pnpm\n$ pnpm add -g @grnx/sx\n\n# using yarn\n$ bun install -g @grnx/sx\n\n# using npm\n$ npm install -g @grnx/sx\n```\n\n\u003cbr\u003e\n\n## Usage\n\n### `sx` - Run Target\n\nExecute a command defined in project targets or package.json scripts.\n\nIt automatically detects your package manager and is built on the workspaces pattern.\n\n```bash\nsx serve frontend\n\n# npm run serve --workspace=frontend --silent\n# yarn --silent workspace frontend run serve\n# pnpm --filter=frontend run serve --silent\n# cd ~/my-prj/frontend \u0026\u0026 bun run frontend --silent\n```\n\nFor the root workspace:\n\n```bash\nsx serve\n\n# with extra options\nsx serve --parallel --envFile .env.development\nsx serve --cwd ~/dsk/backend\n```\n\n\u003cbr\u003e\n\n## Interactive Mode\n\nRunning the command without arguments initiates the interactive mode, allowing you to select projects and commands to run.\n\n```bash\nsx # without arguments\n```\n\n### `sx run-many` - Run Multiple Commands\n\nRun multiple targets and multiple projects. (similar to [nx/run-many](https://nx.dev/nx-api/nx/documents/run-many)).\n\n```bash\nsx run-many --parallel=3 projects=frontend,backend\nsx run-many --parallel=10 exclude=backend\nsx run-many --all\n```\n\n\u003cbr\u003e\n\n### `targets.json` - Schemas\n\nDefine custom configurations for each script, similar to Nx [project.json](https://nx.dev/reference/project-configuration).\n\nCreate a `targets.json` file in the root of each workspace.\n\n```bash\n.\n+-- targets.json\n`-- packages\n   +-- frontend\n   |   `-- targets.json\n   `-- backend\n       `-- targets.json\n```\n\nExample of `targets.json`\n\n```json\n{\n  \"build\": \"vite build\",\n  \"preview\": {\n    \"description\": \"Add description here\",\n    \"commands\": [\"vite preview\", \"rimraf tmp/logs\"],\n    \"args\": \"--host 127.0.0.1\",\n    \"cwd\": \"packages/frontend\",\n    \"parallel\": true,\n    \"envFile\": \".env.production\"\n  },\n  \"dev\": {\n    \"command\": \"vite dev\",\n    \"env\": {\n      \"VITE_PORT\": 3000\n    }\n  }\n}\n```\n\n\u003cbr\u003e\n\n### `sx migrate` - Migrate from package.json Scripts\n\nGenerate a `targets.json` file from package.json scripts for the project. Works for all nested projects with the `all` flag.\n\n```bash\nsx migrate frontend\nsx migrate --all # deep migration to targets.json\n```\n\n\u003cbr\u003e \n\n### `sx show` - Show Workspace Projects\n\nDisplay the dependency graph, structured on workspaces using any package manager.  \n\n```bash\nsx show\nsx show --json # json format\n```\n```bash\n# output\n@nx/react-native - /home/grnx/hub/nx/packages/react-native\n@nx/remix - /home/grnx/hub/nx/packages/remix\n@nx/rollup - /home/grnx/hub/nx/packages/rollup\n@nx/storybook - /home/grnx/hub/nx/packages/storybook\n```\n\n\n\u003cbr\u003e\n\n\n## Configuration\n\n```ini\n; .sxrc\n\npreferredResolvingOrder[] = package-scripts\npreferredResolvingOrder[] = targets\n\n; default = targets.json\ncommandsFile = commands.json\n```\n\nSet a custom configuration file path:\n\n```bash\n# ~/.bashrc\n\nexport SX_CONFIG_FILE=\"$HOME/.sxrc\"\n```\n\nFor Windows:\n\n```powershell\n# Set a custom configuration file path in PowerShell accessible within the `$profile` path\n$Env:SX_CONFIG_FILE = 'C:\\to\\your\\config\\location'\n```\n\n\u003e **Contribution:** If you encounter any bugs, please submit an issue.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgearonix%2Fsorry-nx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgearonix%2Fsorry-nx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgearonix%2Fsorry-nx/lists"}