{"id":13850179,"url":"https://github.com/jaredpalmer/tsdx-monorepo","last_synced_at":"2025-07-12T21:33:15.615Z","repository":{"id":56525215,"uuid":"298045998","full_name":"jaredpalmer/tsdx-monorepo","owner":"jaredpalmer","description":"A really good starting point for your next React x TypeScript monorepo","archived":true,"fork":false,"pushed_at":"2021-08-05T21:02:03.000Z","size":468,"stargazers_count":175,"open_issues_count":3,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-05T20:31:54.832Z","etag":null,"topics":["react"],"latest_commit_sha":null,"homepage":"","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/jaredpalmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["jaredpalmer"]}},"created_at":"2020-09-23T17:32:17.000Z","updated_at":"2024-03-20T00:00:46.000Z","dependencies_parsed_at":"2022-08-15T20:20:40.861Z","dependency_job_id":null,"html_url":"https://github.com/jaredpalmer/tsdx-monorepo","commit_stats":null,"previous_names":[],"tags_count":3,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredpalmer%2Ftsdx-monorepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredpalmer%2Ftsdx-monorepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredpalmer%2Ftsdx-monorepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredpalmer%2Ftsdx-monorepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredpalmer","download_url":"https://codeload.github.com/jaredpalmer/tsdx-monorepo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225839485,"owners_count":17532305,"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":["react"],"created_at":"2024-08-04T20:01:00.767Z","updated_at":"2024-11-22T03:30:48.960Z","avatar_url":"https://github.com/jaredpalmer.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jaredpalmer"],"categories":["TypeScript"],"sub_categories":[],"readme":"# TSDX Monorepo Example/Playground\n\n_If you are here, you should checkout https://turborepo.com. It's roughly 2-5x faster than this monorepo thanks to Turborepo's intelligent (remote) caching, task scheduling, and incremental execution._\n\n## Usage\n\nThis monorepo is setup for a dummy `@thefakeorg/` NPM organization. There are 2 packages by default:\n\n- `@thefakeorg/react` - A placholder React component\n- `@thefakeorg/utils` - A utils packages\n\nUnlike other TSDX templates, the developer experience for this template is currently a bit more manual.\n\nYour first order of business will be to search and replace `@thefakeorg` for the npm organization of your own.\n\nAfter that you can install all the dependencies in the root directory. Since the monorepo uses Lerna and Yarn Workspaces, npm CLI is not supported (only yarn).\n\n```sh\nyarn install\n```\n\nThis will install all dependencies in each project, build them, and symlink them via Lerna\n\n## Development workflow\n\nIn one terminal, run tsdx watch in parallel:\n\n```sh\nyarn start\n```\n\nThis builds each package to `\u003cpackages\u003e/\u003cpackage\u003e/dist` and runs the project in watch mode so any edits you save inside `\u003cpackages\u003e/\u003cpackage\u003e/src` cause a rebuild to `\u003cpackages\u003e/\u003cpackage\u003e/dist`. The results will stream to to the terminal.\n\n### Using the example/playground\n\nYou can play with local packages in the Parcel-powered example/playground.\n\n```sh\nyarn start:app\n```\n\nThis will start the example/playground on `localhost:1234`. If you have lerna running watch in parallel mode in one terminal, and then you run parcel, your playground will hot reload when you make changes to any imported module whose source is inside of `packages/*/src/*`. Note that to accomplish this, each package's `start` command passes TDSX the `--noClean` flag. This prevents Parcel from exploding between rebuilds because of File Not Found errors.\n\nImportant Safety Tip: When adding/altering packages in the playground, use `alias` object in package.json. This will tell Parcel to resolve them to the filesystem instead of trying to install the package from NPM. It also fixes duplicate React errors you may run into.\n\n### Running Cypress\n\n(In a third terminal) you can run Cypress and it will run your integration tests against the playground/example. If you want to keep integration tests and examples seperate you can copy the example folder to another folder called like `app` or whatever. Cypress will look for `localhost:1234` by default. If you change ports, also make sure to update [`.github/integration.yaml`](.github/integration.yml) as well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredpalmer%2Ftsdx-monorepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredpalmer%2Ftsdx-monorepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredpalmer%2Ftsdx-monorepo/lists"}