{"_id":"@alexjball/nx-firebase","name":"@alexjball/nx-firebase","dist-tags":{"latest":"0.3.4"},"versions":{"0.3.4":{"name":"@alexjball/nx-firebase","version":"0.3.4","description":"A Firebase plugin for Nx monorepo workspaces.","author":{"name":"Simon Morris"},"license":"MIT","homepage":"https://github.com/simondotm/nx-firebase","repository":{"type":"git","url":"git+ssh://git@github.com/simondotm/nx-firebase.git"},"bugs":{"url":"https://github.com/simondotm/nx-firebase/issues"},"keywords":["Firebase","Nx","Monorepo"],"main":"src/index.js","generators":"./generators.json","executors":"./executors.json","peerDependencies":{"@nrwl/devkit":">= 12.1.1","@nrwl/workspace":">= 12.1.1","@nrwl/linter":">= 12.1.1","@nrwl/jest":">= 12.1.1"},"typings":"./src/index.d.ts","dependencies":{"fs-extra":"^10.0.0"},"gitHead":"14b88ff6a8c0d6fede325e6562b7e7ec661b5de9","_id":"@alexjball/nx-firebase@0.3.4","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-tSl6QQEl++DvxHb7gIEjpHbAMS0FOke5xM9BOiqVQqSCvNHB6/zcdk9PQd2Eg/LMbQ4yobfaHsEAZXieNeZr+Q==","shasum":"5b156237d88bb97e1d85aeb73ada37405ff78027","tarball":"https://registry.npmjs.org/@alexjball/nx-firebase/-/nx-firebase-0.3.4.tgz","fileCount":66,"unpackedSize":119014,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICx1X10ehmDfWbPSQjSl7xsikeY8HEkRvgp3ovwPmDM1AiBmrJmzvqdbpnzkXiftbdkVns+65LN73KiCqjbgOUKP9g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjg8h5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaSRAAiAUTRXv7wxvXIW6ULX/usHeejbj57oxSIOZCTEMjjmOAyX2m\r\nbcq3M2bQaulOT2VYnY/x+AwgQZo/9Pmr/M0DXeuvf/702TIovnED0Hnskf5E\r\ncfg8GKHP2RIFBQNGMO2vr6wrSdK8ctZTJFw+B+HO5q9IhNcejY6jgKes1pJt\r\nxKlJAl8rhHpC4HYrdJmZfh9HwNN/A/tYhWNo5CZyjCN7Nfuwu89vTbI6JhHw\r\nzDexIRRjrmduNnQxeiMT1PtDgevtwXVkxM2la2CxM4KfnyBWVZoqrxIAZI65\r\n6qcCb4PajCs89LCj78ZYvVr1fPM9uCpwbIVfG78SA6jssX0BloC/ZFcKhAJL\r\ncWzcEaze1UDutezpu9LehM6PRTHqQg/aNT0t7Z/3tTCGcEhIgTC022Q6oyp0\r\ny+7NkiQxDZLmqfHOHgB9FrXU79Fqq8zv/sgNRb/jzr2PlQ972XxTRnlPzVtK\r\nQxtfoe/+4O31TC8HURU97DWUTe3jnqdGLIxGIX9c7QYUnkU2MNuRqO5C9ayE\r\nxv+vCDRXlmNPUgyAq9IuTKMuyfpgfFOF+BNL4mT832lTMtJG6Pp0W3YJOQJg\r\n6bfgw8mIEGB+PiqkRpnagwmxMLmnpBxVAB9S3GGyy8WkzUhqUSmvflWSHWRq\r\n5OIpSyT/GrCtCtwireNnfNmE1UZHB0Lwtzc=\r\n=dwRw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"alexjball","email":"me@alexjball.com"},"directories":{},"maintainers":[{"name":"alexjball","email":"me@alexjball.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nx-firebase_0.3.4_1669580920794_0.6477325179801139"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-27T20:28:40.656Z","0.3.4":"2022-11-27T20:28:41.008Z","modified":"2022-11-27T20:28:41.131Z"},"maintainers":[{"name":"alexjball","email":"me@alexjball.com"}],"description":"A Firebase plugin for Nx monorepo workspaces.","homepage":"https://github.com/simondotm/nx-firebase","keywords":["Firebase","Nx","Monorepo"],"repository":{"type":"git","url":"git+ssh://git@github.com/simondotm/nx-firebase.git"},"author":{"name":"Simon Morris"},"bugs":{"url":"https://github.com/simondotm/nx-firebase/issues"},"license":"MIT","readme":"# @simondotm/nx-firebase\n\nA plugin for [Nx](https://nx.dev) >= 12.1.1 that provides support for Firebase projects in an Nx monorepo workspace.\n\n**This project has been renamed from `@simondotm/nxfirebase` to `@simondotm/nx-firebase`**\n\nSee [CHANGELOG](https://github.com/simondotm/nx-firebase/blob/main/CHANGELOG.md) for more details. \n\n## Overview\n\nNx provides a great way to manage monorepo workflows, however if you have a development setup where your Nx workspace uses one or more Firebase projects that use different combinations and configurations of Firebase features such as _hosting_, _storage_, _database rules/indexes_, and _functions_, then some extra tooling is necessary in order to maintain a familiar Firebase workflow within your monorepo.\n\nThis plugin aims to help with this by:\n1. Enabling & promoting use of shared Typescript code libraries within Firebase functions\n2. Retaining a familiar usage of all Firebase features in a way that feels integrated with Nx workflow\n3. Requiring minimal friction/setup for configuration of an Nx workspace in order to be productive with development, building & deployment of Firebase projects\n\n# Quick Start\n\n## Installation\n**`npm install @simondotm/nx-firebase`**\n\nInstalls this plugin into your Nx workspace.\n\n\n**`nx g @simondotm/nx-firebase:init`**\n\nInstalls firebase dependencies (both for backend and frontend) to your root workspace `package.json` (or you can just `npm install` firebase dependencies manually)\n\n## Create Firebase Application\n\n**`nx g @simondotm/nx-firebase:app <appname> [--directory dir]`**\n\nGenerates a new Nx Firebase application in the workspace - `/apps/[dir]/appname`\n\nThe app generator will also create a Firebase configuration file called `firebase.appname.json` in the root of your workspace (along with a default `.firebaserc` and `firebase.json` if they don't already exist)\n\n## Build Project\n\n**`nx build appname [--with-deps]`**\n\nCompiles & builds the target Nx Firebase (functions) application to `dist/apps/[dir]/appname`. It will also auto-generate a `package.json` that is compatible with the Firebase CLI for functions deployment.\n\n## Deploy Project (Firebase functions)\n\nFor inital deployment:\n\n**`firebase login`** if not already authenticated\n\n**`firebase use --add`** to add your Firebase Project(s) to the `.firebaserc` file in your workspace. This step must be completed before you can deploy anything to Firebase.\n\nThen:\n\n**`firebase deploy --only functions --config firebase.appname.json`**\n\nOr\n\n**`nx deploy appname --only functions`**\n\n\n## Serve Project\n\n**`nx serve appname`** - will run `tsc` in watch mode on the app function code and start the Firebase emulators\n\nSee the full plugin [README](https://github.com/simondotm/nx-firebase/blob/main/README.md) for more details.\n\n# Nx-Firebase Features\n\nSupports:\n* Typescript Firebase functions\n* Single or multiple Firebase projects in one Nx workspace\n* Firebase applications in app subdirectories\n* Use of Nx buildable node libraries in Firebase functions\n* Nx dependency checking for builds\n* Building functions with `tsc` `--watch` mode\n* Firebase Emulators\n* Convenience Nx `getconfig` target to fetch remote firebase functions configuration variables to local `.runtimeconfig.json` file\n* Convenience Nx `deploy`, `emulate`, and `serve` targets for functions\n\nAdditionally:\n* Auto generates Firebase functions `package.json` ready for no fuss deployment using the Firebase CLI\n* Auto generates default `firebase.json` configurations, rules and indexes for each Firebase app\n* Only very lightly opinionated about your Firebase configurations and workspace layouts; you can just use the Firebase CLI as usual\n* Keeps all of your firebase rules and indexes within your app folder, to keep your workspace root free of clutter\n","readmeFilename":"README.md"}