{"id":19426654,"url":"https://github.com/mainawycliffe/nx-toolkits","last_synced_at":"2025-07-11T08:40:39.863Z","repository":{"id":65126460,"uuid":"581810451","full_name":"mainawycliffe/nx-toolkits","owner":"mainawycliffe","description":"An NX Generator For Firebase Functions and Hosting","archived":false,"fork":false,"pushed_at":"2024-03-22T22:22:42.000Z","size":1541,"stargazers_count":11,"open_issues_count":25,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-01T19:31:42.589Z","etag":null,"topics":["firebase","firebase-functions","firebase-hosting","firestore","javascript","monorepo","nx","nx-cloud","nx-plugin","nx-workspace","serverless","testing","typescript"],"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/mainawycliffe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":["mainawycliffe"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-12-24T12:25:07.000Z","updated_at":"2024-07-07T21:00:34.868Z","dependencies_parsed_at":"2023-01-03T09:16:47.449Z","dependency_job_id":"c0c7a833-ff3c-4e45-9982-cb70ef510136","html_url":"https://github.com/mainawycliffe/nx-toolkits","commit_stats":{"total_commits":105,"total_committers":2,"mean_commits":52.5,"dds":0.02857142857142858,"last_synced_commit":"89d25d87e70a79e27198ec6ebf5ba77439828f2c"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mainawycliffe%2Fnx-toolkits","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mainawycliffe%2Fnx-toolkits/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mainawycliffe%2Fnx-toolkits/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mainawycliffe%2Fnx-toolkits/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mainawycliffe","download_url":"https://codeload.github.com/mainawycliffe/nx-toolkits/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250674282,"owners_count":21469191,"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":["firebase","firebase-functions","firebase-hosting","firestore","javascript","monorepo","nx","nx-cloud","nx-plugin","nx-workspace","serverless","testing","typescript"],"created_at":"2024-11-10T14:08:31.880Z","updated_at":"2025-04-24T17:31:11.176Z","avatar_url":"https://github.com/mainawycliffe.png","language":"TypeScript","funding_links":["https://github.com/sponsors/mainawycliffe"],"categories":[],"sub_categories":[],"readme":"# Nx Toolkits\n\nThis is a monorepo for the Nx toolkits. It contains the following toolkits:\n\n- [@nx-toolkits/firebase](packages/firebase/README.md) - Generate Firebase\n  Functions apps.\n- [@nx-toolkits/testing-library](packages/testing-library/README.md) - Setup\n  Testing Library for React and Angular.\n\n## @nx-toolkits/firebase\n\nThis is a toolkit for generating Firebase apps - at the moment, only Firebase\nFunctions apps are supported, but I am working on expanding it to include\nFirebase hosting.\n\n### NX Functions Generator\n\nWe generate a Firebase Functions app using the `@nx-toolkits/firebase:functions` and\nconnect it to the Firebase project using the `--project` option. This allows for\nnormal firebase cli commands to be used to work, as if it was an app generated\nusing firebase cli.\n\n#### Installation\n\nInstall the generator in an nx workspace:\n\n```bash\nnpm install -D @nx-toolkits/firebase\n```\n\n#### Generate a Firebase Functions app\n\nUse the generator to generate a Firebase Functions app:\n\n```bash\nnx g @nx-toolkits/firebase:functions\n```\n\nThis will generate a Firebase Functions app in the `apps` folder.\n\n#### Generator Options\n\n| Option              | alias       | Description                                                                                                                  |\n| ------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- |\n| `--name`            |             | The name of the nx app to create.                                                                                            |\n| `--firebaseProject` | `--project` | The Firebase project to connect to.                                                                                          |\n| `--codebase`        |             | The codebase to use. Learn more [here](https://firebase.googlecom/docs/functions/organize-functions) about Firebase Codebase |\n| `--nodeVersion`     |             | The runtime node version to use on firebase functions.                                                                       |\n| `--directory`       |             | The directory to create the app in.                                                                                          |\n| `--tags`            |             | Tags to add to the app.                                                                                                      |\n| `--dry-run`         |             | Run through without making changes.                                                                                          |\n\n#### Deploy a Firebase Functions app\n\nYou can deploy a Firebase Functions app using the `nx run deploy` command:\n\n```bash\nnx run my-functions-app:deploy\n```\n\nThe above with run linting, building, and then deploy the app to Firebase.\n\nYou can also use firebase-tools to deploy the app:\n\n```bash\nfirebase deploy --only functions\n```\n\n#### Linting a Firebase Functions app\n\nYou can lint a Firebase Functions app using the `nx run lint` command:\n\n```bash\nnx run my-functions-app:lint\n```\n\n#### Building a Firebase Functions app\n\nYou can build a Firebase Functions app using the `nx run build` command:\n\n```bash\nnx run my-functions-app:build\n```\n\n### Roadmap\n\n- [x] Add support for Firebase functions\n- [ ] Add support for Firebase hosting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmainawycliffe%2Fnx-toolkits","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmainawycliffe%2Fnx-toolkits","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmainawycliffe%2Fnx-toolkits/lists"}