{"id":21405393,"url":"https://github.com/karimsa/mono","last_synced_at":"2025-03-16T16:51:09.783Z","repository":{"id":44482461,"uuid":"195514415","full_name":"karimsa/mono","owner":"karimsa","description":"Monorepo helper for JavaScript.","archived":false,"fork":false,"pushed_at":"2022-12-04T01:55:54.000Z","size":2170,"stargazers_count":0,"open_issues_count":16,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-11T21:04:00.610Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://npmjs.org/@karimsa/mono","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karimsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-06T08:05:13.000Z","updated_at":"2020-12-13T00:42:55.000Z","dependencies_parsed_at":"2023-01-23T12:16:06.750Z","dependency_job_id":null,"html_url":"https://github.com/karimsa/mono","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karimsa%2Fmono","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karimsa%2Fmono/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karimsa%2Fmono/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karimsa%2Fmono/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karimsa","download_url":"https://codeload.github.com/karimsa/mono/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243902293,"owners_count":20366259,"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":"2024-11-22T16:25:12.234Z","updated_at":"2025-03-16T16:51:09.748Z","avatar_url":"https://github.com/karimsa.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @karimsa/mono [![CircleCI](https://circleci.com/gh/karimsa/mono.svg?style=svg)](https://circleci.com/gh/karimsa/mono)\n\nMonorepo helper for JavaScript.\n\n## Usage\n\nTo get started, you don't have to do anything. As long as your project follows the typical JS monorepo structure of having projects under `packages/` - you should be good to go.\n\nTo run a cross-project `npm install`, simply do `npx @karimsa/mono` (you don't have to install this package, it should download quite fast with npx given that it has no dependencies \u0026 it is really small).\n\nHere's some other things you can do:\n\n - **Build all your packages:** `npx @karimsa/mono run build`\n - **Run all tests**: `npx @karimsa/mono test`\n - **Start all dev servers**: `npx @karimsa/mono start`\n - **Link all libraries**: `npx @karimsa/mono link` (`install` will also run `link` after)\n\n## `start`\n\nThe `start` command in `@karimsa/mono` is a bit different from the other commands. Most commands will simply run the correct commands in each project directory, but `start` will concurrently run `start` across all projects that support it. This means that you can run all your dev servers in parallel, since this is the typical use case for `start`.\n\n## `link`\n\nThe `link` command will create require shortcuts in all repositories to all other packages. For instance, if you have the following directory structure:\n\n```\npackages\n |--- a\n |--- b\n```\n\nThen running `npx @karimsa/mono link` will make it so that you can `require('a')` inside of `b` and `require('b')` inside of `a`. The require links the module directly rather than making a copy so changes will always be reflected when you do a `require()`.\n\n## License\n\nLicensed under the MIT license.\n\nCopyright \u0026copy; 2019-present Karim Alibhai. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarimsa%2Fmono","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarimsa%2Fmono","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarimsa%2Fmono/lists"}