{"id":15718719,"url":"https://github.com/chflick/prettier-plugin-firestore-rules","last_synced_at":"2026-03-15T07:09:45.026Z","repository":{"id":56362864,"uuid":"240196888","full_name":"ChFlick/prettier-plugin-firestore-rules","owner":"ChFlick","description":"Format your firestore security rules using prettier.","archived":false,"fork":false,"pushed_at":"2023-08-04T18:51:00.000Z","size":73316,"stargazers_count":21,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-29T05:35:13.621Z","etag":null,"topics":["autoformat","firebase","firestore","firestore-rules","prettier","prettier-plugin"],"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/ChFlick.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-02-13T06:58:06.000Z","updated_at":"2025-03-11T14:16:56.000Z","dependencies_parsed_at":"2024-06-19T03:08:00.128Z","dependency_job_id":null,"html_url":"https://github.com/ChFlick/prettier-plugin-firestore-rules","commit_stats":{"total_commits":72,"total_committers":2,"mean_commits":36.0,"dds":0.25,"last_synced_commit":"4fd73da6ed7d48916d931aba9f04c2a288982d7a"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChFlick%2Fprettier-plugin-firestore-rules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChFlick%2Fprettier-plugin-firestore-rules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChFlick%2Fprettier-plugin-firestore-rules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChFlick%2Fprettier-plugin-firestore-rules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChFlick","download_url":"https://codeload.github.com/ChFlick/prettier-plugin-firestore-rules/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251714932,"owners_count":21631806,"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":["autoformat","firebase","firestore","firestore-rules","prettier","prettier-plugin"],"created_at":"2024-10-03T21:53:47.309Z","updated_at":"2026-03-15T07:09:44.978Z","avatar_url":"https://github.com/ChFlick.png","language":"TypeScript","readme":"![CI](https://github.com/ChFlick/prettier-plugin-firestore-rules/workflows/CI/badge.svg)\n![MIT-License](https://img.shields.io/github/license/ChFlick/prettier-plugin-firestore-rules)\n![Dependencies](https://img.shields.io/david/ChFlick/prettier-plugin-firestore-rules)\n![DevDependencies](https://img.shields.io/david/dev/ChFlick/prettier-plugin-firestore-rules)\n![npmVersion](https://img.shields.io/npm/v/prettier-plugin-firestore-rules?color=blue)\n\nprettier-plugin-firestore-rules\n===============================\n\nA plugin for [prettier](https://prettier.io/) to enable autoformatting for [Cloud Firestore Security Rules](https://firebase.google.com/docs/firestore/security/get-started).\n\nA custom built parser for the rules is included.\n\nHow to install it\n================\n\nWith npm\n```\nnpm i --save-dev prettier prettier-plugin-firestore-rules\n```\n\nWith yarn\n```\nyarn add -D prettier prettier-plugin-firestore-rules\n```\n\nHow to install it in the CLI\n==========================\n\nGenerally\n```\nprettier -w \u003cpath/to/file\u003e\n```\n\nUsing yarn berry\n```\nyarn prettier -w \u003cpath/to/file\u003e\n```\n\n![Example Usage](./example-usage.gif)\n\nConfiguration\n=======\nCreate a `.prettierrc` file and add your preferred configuration options.\n\nConfigurations are optional.\n\n\n### Available Options\n- `emptyLinesBetweenBlocks`\n  - Default: `0`\n  - Adds empty lines between matcher blocks\n\n### `.prettierrc` example\n```\n{\n  \"emptyLinesBetweenBlocks\" : 1\n}\n```\n\nFor more information see [Prettier documentation](https://prettier.io/docs/en/configuration.html).\n\nTo be done\n==========\n\n- Fix some indentation issues\n  - Array not correctly indented as function parameter\n  ```\n  request.resource.data.keys().hasOnly(\n  ['rank', 'name', 'description', 'imageUrl', 'timeSlot']\n  )\n  ```\n  - Function parameter in general\n  ```\n  get(\n  /databases/$(database)/documents/configurations/someData\n  ).data.values.hasAll(request.resource.data.someData)\n  ```\n  - if-alignments, sometimes off\n  ```\n           if hasValue('writeSLots', request.auth.uid, carId)\n      \u0026\u0026 zxcv\n      \u0026\u0026 xcvb\n    ```\n  - semicolon may be off\n  ```\n  \u0026\u0026 request.resource.data.timeSlot.to \u003e request.resource.data.timeSlot.from\n            ;\n  ```\n- Add formatter options:\n  - \u0026\u0026 at start or end of the line\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchflick%2Fprettier-plugin-firestore-rules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchflick%2Fprettier-plugin-firestore-rules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchflick%2Fprettier-plugin-firestore-rules/lists"}