{"id":13580687,"url":"https://github.com/PlayForm/Format","last_synced_at":"2025-04-06T02:32:24.419Z","repository":{"id":200078201,"uuid":"704508222","full_name":"PlayForm/Format","owner":"PlayForm","description":"Format 🗻","archived":false,"fork":false,"pushed_at":"2025-04-05T01:10:33.000Z","size":2360,"stargazers_count":37,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"Current","last_synced_at":"2025-04-05T02:21:39.411Z","etag":null,"topics":["astro","astro-biome","astro-component","astro-format","astro-integration","biome","format","formatter","javascript","linter","performance","playform","typescript","withastro"],"latest_commit_sha":null,"homepage":"https://NPMJS.Org/@playform/format","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PlayForm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"custom":"https://Stripe.PlayForm.LTD/b/3csdQZfzn2LDaBOcMN","open_collective":"playform-cloud-collective"}},"created_at":"2023-10-13T12:09:23.000Z","updated_at":"2025-04-05T01:10:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"2e9a2961-d22a-407e-afd0-dbdc5888c121","html_url":"https://github.com/PlayForm/Format","commit_stats":{"total_commits":1316,"total_committers":6,"mean_commits":"219.33333333333334","dds":"0.37689969604863227","last_synced_commit":"89475e1014d32901e9a0a7bea5975eee31ea9bfb"},"previous_names":["nikolarhristov/astrobiome","playform/astrobiome","playform/biomeastro"],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FFormat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FFormat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FFormat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PlayForm%2FFormat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PlayForm","download_url":"https://codeload.github.com/PlayForm/Format/tar.gz/refs/heads/Current","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247426353,"owners_count":20937106,"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":["astro","astro-biome","astro-component","astro-format","astro-integration","biome","format","formatter","javascript","linter","performance","playform","typescript","withastro"],"created_at":"2024-08-01T15:01:54.253Z","updated_at":"2025-04-06T02:32:24.408Z","avatar_url":"https://github.com/PlayForm.png","language":"TypeScript","readme":"\u003ctable\u003e\u003ctr\u003e \u003ctd colspan=\"1\"\u003e \u003ch3 align=\"center\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://PlayForm.LTD/Dark/Image/GitHub/Astro.svg\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://PlayForm.LTD/Image/GitHub/Astro.svg\"\u003e \u003cimg width=\"28\" alt=\"Astro\" src=\"https://PlayForm.LTD/Image/GitHub/Astro.svg\"\u003e \u003c/picture\u003e  \u003c/h3\u003e \u003c/td\u003e \u003ctd colspan=\"3\" valign=\"top\"\u003e \u003ch3 align=\"center\"\u003e Related \u003c/h3\u003e \u003c/td\u003e \u003c/tr\u003e\u003ctr\u003e\u003ctd valign=\"top\" colspan=\"1\"\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Compress/actions/workflows/Node.yml\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Compress/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Compress/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Compress/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Build\" title=\"Build\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/compress?activeTab=dependencies\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/librariesio/release/npm/@playform/compress?logo=dependabot\u0026label=\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/librariesio/release/npm/@playform/compress?logo=dependabot\u0026label=\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/librariesio/release/npm/@playform/compress?logo=dependabot\u0026label=\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Dependency\" title=\"Dependency\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/compress\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/npm/v/@playform/compress?label=Version\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/npm/v/@playform/compress?label=Version\u0026logo=npm\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/npm/v/@playform/compress?label=Version\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Version\" title=\"Version\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003c/td\u003e\u003ctd valign=\"top\" colspan=\"1\"\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Compress\" target=\"_blank\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/stars/PlayForm/Compress?style=flat\u0026label=Star\u0026logo=github\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/stars/PlayForm/Compress?style=flat\u0026label=Star\u0026logo=github\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/PlayForm/Compress?style=flat\u0026label=Star\u0026logo=github\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Star\"\u003e\u003c/picture\u003e\u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/compress\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/npm/dt/@playform/compress?label=Download\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/npm/dt/@playform/compress?label=Download\u0026logo=npm\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/npm/dt/@playform/compress?label=Download\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Download\" title=\"Download\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Compress\" target=\"_blank\"\u003e\u003cb\u003eCompress 🗜️\u003c/b\u003e\u003c/a\u003e\u003c/td\u003e\u003ctd valign=\"top\" colspan=\"1\"\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Inline/actions/workflows/Node.yml\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Inline/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Inline/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/PlayForm/Inline/Node.yml?branch=main\u0026label=Build\u0026logo=node.js\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Build\" title=\"Build\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/inline?activeTab=dependencies\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/librariesio/release/npm/@playform/inline?logo=dependabot\u0026label=\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/librariesio/release/npm/@playform/inline?logo=dependabot\u0026label=\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/librariesio/release/npm/@playform/inline?logo=dependabot\u0026label=\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Dependency\" title=\"Dependency\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/inline\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/npm/v/@playform/inline?label=Version\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/npm/v/@playform/inline?label=Version\u0026logo=npm\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/npm/v/@playform/inline?label=Version\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Version\" title=\"Version\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003c/td\u003e\u003ctd valign=\"top\" colspan=\"1\"\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Inline\" target=\"_blank\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/stars/PlayForm/Inline?style=flat\u0026label=Star\u0026logo=github\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/stars/PlayForm/Inline?style=flat\u0026label=Star\u0026logo=github\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/PlayForm/Inline?style=flat\u0026label=Star\u0026logo=github\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Star\"\u003e\u003c/picture\u003e\u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://NPMJS.Org/@playform/inline\" target=\"_blank\"\u003e \u003cpicture\u003e \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/npm/dt/@playform/inline?label=Download\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\"\u003e \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/npm/dt/@playform/inline?label=Download\u0026logo=npm\u0026color=white\u0026labelColor=white\u0026logoColor=black\u0026logoWidth=0\"\u003e \u003cimg src=\"https://img.shields.io/npm/dt/@playform/inline?label=Download\u0026logo=npm\u0026color=black\u0026labelColor=black\u0026logoColor=white\u0026logoWidth=0\" alt=\"Download\" title=\"Download\"\u003e \u003c/picture\u003e \u003c/a\u003e\u003cbr\u003e\u003ca href=\"HTTPS://GitHub.Com/PlayForm/Inline\" target=\"_blank\"\u003e\u003cb\u003eInline 🦔\u003c/b\u003e\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n# [Format] 🗻\n\nThis **[`Astro integration`][astro-integration]** brings Biome tools to your\nAstro project.\n\n[`Biome`][Biome]\n\n\u003e **Note**\n\u003e\n\u003e `Format` will not lint / format your requests, only your statically generated\n\u003e build and pre-rendered routes.\n\n## Installation 🚀\n\nThere are two ways to add integrations to your project. Let's try the most\nconvenient option first!\n\n### `astro add` command\n\nAstro includes a CLI tool for adding first party integrations: `astro add`. This\ncommand will:\n\n1. (Optionally) Install all necessary dependencies and peer dependencies\n2. (Also optionally) Update your `astro.config.*` file to apply this integration\n\nTo install `Format`, run the following from your project directory and follow\nthe prompts:\n\nUsing NPM:\n\n```sh\nnpx astro add @playform/format\n```\n\nUsing Yarn:\n\n```sh\nyarn astro add @playform/format\n```\n\nUsing PNPM:\n\n```sh\npnpx astro add @playform/format\n```\n\n### Install dependencies manually\n\nFirst, install the `Format` integration like so:\n\n```sh\nnpm install -D -E @playform/format\n```\n\nThen, apply this integration to your `astro.config.*` file using the\n`integrations` property:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default { integrations: [Biome()] };\n```\n\n## Getting started\n\nThe utility will now lint and format with [`Biome`][Biome] all of your\nJavaScript and TypeScript files, including CommonJS modules in the Astro\n`outDir` folder.\n\nYou can override any of the default options from the configurations of:\n\n- [`biome`](Source/Option/Biome.ts)\n\nor disable them entirely:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tBiome: false,\n\t\t}),\n\t],\n};\n```\n\n\u003e **Note**\n\u003e\n\u003e If you provide a `biome.json` config file the utility will pick it up\n\u003e automatically.\n\n\u003e [!WARNING]\n\u003e\n\u003e The configuration options from the `astro.config.ts` file will override the\n\u003e `biome.json` config.\n\n### Add Multiple Paths\n\nYou can add multiple paths to validate / format by specifying an array as the\n`Path` variable.\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tPath: [\"./Target\", \"./Build\"],\n\t\t}),\n\t],\n};\n```\n\n### Input-Output Mapping\n\nYou can also provide a map of paths for different input output directories:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tPath: new Map([[\"./Source\", \"./Target\"]]),\n\t\t}),\n\t],\n};\n```\n\nOr an array of the two:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tPath: [\n\t\t\t\t// Format Target\n\t\t\t\t\"./Target\",\n\t\t\t\t// Format Target one more time into a different directory\n\t\t\t\tnew Map([[\"./Target\", \"./TargetInline\"]]),\n\t\t\t],\n\t\t}),\n\t],\n};\n```\n\n### File Filtering\n\nYou can provide a filter to exclude files from formatting. A filter can be an\narray of regexes or a single match. You can use functions, as well to match on\nfile names:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tExclude: [\n\t\t\t\t\"Firebase.ts\",\n\t\t\t\t(File: string) =\u003e File === \"./Source/Library/File.ts\",\n\t\t\t],\n\t\t}),\n\t],\n};\n```\n\n### Controlling Logging\n\nSet `Logger` to `0` if you do not want to see debug messages. Default is `2`:\n\n**`astro.config.ts`**\n\n```ts\nimport Biome from \"@playform/format\";\n\nexport default {\n\tintegrations: [\n\t\tBiome({\n\t\t\tLogger: 0,\n\t\t}),\n\t],\n};\n```\n\n[Format]: HTTPS://NPMJS.Org/@playform/format\n[Biome]: HTTPS://NPMJS.Org/@biomejs/biome\n[astro-integration]: HTTPS://docs.astro.build/en/guides/integrations-guide/\n\n## Changelog\n\nSee [`CHANGELOG.md`](CHANGELOG.md) for a history of changes to this integration.\n","funding_links":["https://Stripe.PlayForm.LTD/b/3csdQZfzn2LDaBOcMN","https://opencollective.com/playform-cloud-collective"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlayForm%2FFormat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPlayForm%2FFormat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPlayForm%2FFormat/lists"}