{"id":13698851,"url":"https://github.com/fsouza/prettierd","last_synced_at":"2026-02-07T15:34:09.601Z","repository":{"id":37700555,"uuid":"274430747","full_name":"fsouza/prettierd","owner":"fsouza","description":"prettier, as a daemon, for improved formatting speed.","archived":false,"fork":false,"pushed_at":"2026-01-31T01:14:17.000Z","size":1541,"stargazers_count":970,"open_issues_count":18,"forks_count":31,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-31T15:49:49.387Z","etag":null,"topics":["efm-langserver","emacs","formatter","hacktoberfest","javascript","neovim","prettier","typescript","vim"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fsouza.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-06-23T14:41:56.000Z","updated_at":"2026-01-31T01:14:20.000Z","dependencies_parsed_at":"2024-01-10T05:34:19.663Z","dependency_job_id":"ec7d207d-d3ac-462b-90e2-a1209d0f9007","html_url":"https://github.com/fsouza/prettierd","commit_stats":{"total_commits":896,"total_committers":18,"mean_commits":49.77777777777778,"dds":0.3069196428571429,"last_synced_commit":"b48ef1a30007d82afc6b2f947affcbcb471467af"},"previous_names":[],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/fsouza/prettierd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsouza%2Fprettierd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsouza%2Fprettierd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsouza%2Fprettierd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsouza%2Fprettierd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsouza","download_url":"https://codeload.github.com/fsouza/prettierd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsouza%2Fprettierd/sbom","scorecard":{"id":412796,"data":{"date":"2025-08-11","repo":{"name":"github.com/fsouza/prettierd","commit":"8cace390394c96de8f0fa695ed36b8ac5419da07"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"18 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/main.yaml:1","Warn: no topLevel permission defined: .github/workflows/publish.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/fsouza/prettierd/main.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/fsouza/prettierd/main.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/fsouza/prettierd/publish.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/fsouza/prettierd/publish.yaml/main?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: ISC License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T23:08:23.434Z","repository_id":37700555,"created_at":"2025-08-18T23:08:23.435Z","updated_at":"2025-08-18T23:08:23.435Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29198178,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T14:35:27.868Z","status":"ssl_error","status_checked_at":"2026-02-07T14:25:51.081Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["efm-langserver","emacs","formatter","hacktoberfest","javascript","neovim","prettier","typescript","vim"],"created_at":"2024-08-02T19:00:53.813Z","updated_at":"2026-02-07T15:34:09.591Z","avatar_url":"https://github.com/fsouza.png","language":"TypeScript","readme":"# prettierd\n\n[![Build Status](https://github.com/fsouza/prettierd/workflows/Build/badge.svg)](https://github.com/fsouza/prettierd/actions?query=branch:main+workflow:Build)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [Installation guide](#installation-guide)\n- [Using in the command line with node.js](#using-in-the-command-line-with-nodejs)\n- [Supported languages / plugins](#supported-languages--plugins)\n- [Additional plugins](#additional-plugins)\n- [Provide Default Configuration](#provide-default-configuration)\n- [Local Instance](#local-instance)\n- [Editor integration](#editor-integration)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\nWanna run prettier in your editor, but fast? Welcome to prettierd!\n\nThis is built on top of [core_d.js](https://github.com/mantoni/core_d.js) and\nintegrates with prettier.\n\n## Installation guide\n\n```\n$ npm install -g @fsouza/prettierd\n```\n\n**NOTE**: `npm` comes builtin to [`node`](https://nodejs.org).\n\nAlternatively, users may also use homebrew:\n\n```\n$ brew install prettierd\n```\n\n## Using in the command line with node.js\n\nThe prettierd script always takes the file in the standard input and the\npositional parameter with the name of the file:\n\n```\n$ cat file.ts | prettierd file.ts\n```\n\n## Supported languages / plugins\n\nMany parsers ship with prettierd, including JavaScript, TypeScript, GraphQL,\nCSS, HTML and YAML.\nPlease notice that starting with version 0.12.0, prettierd now supports\ninvoking the local version of prettier, so instead of adding new languages to\nprettierd, you should rely on that feature to use it locally with your custom\nversion of prettier and enabled plugins.\n\n## Additional plugins\n\nAdditional plugins can be supported by installing them and adding them to the\nprettier configuration. For example, to use the Ruby plugin, install\n[`@prettier/plugin-ruby`](https://www.npmjs.com/package/@prettier/plugin-ruby)\nand add it to your configuration:\n\n```jsonc\n{\n  // ... other settings\n  \"plugins\": [\"@prettier/plugin-ruby\"],\n}\n```\n\nThen formatting Ruby files should be possible.\n\n## Provide Default Configuration\n\nYou can provide a default configuration for the prettier via setting the\nenvironment variable `PRETTIERD_DEFAULT_CONFIG` to the exact path of the\n`prettier` configuration file.\n\n## Local Instance\n\nIf you have locally installed `prettier` in your package, it will use that.\nOtherwise, it will use the one bundled with the package itself.\n\nIf you want to use prettierd exclusively with the locally installed prettier\npackage, you can set the environment variable `PRETTIERD_LOCAL_PRETTIER_ONLY`\n(any truthy value will do, good examples are `true` or `1`).\n\n## Editor integration\n\n### Vim / Neovim\n\nI use this directly with neovim's LSP client, via\n[efm-langserver](https://github.com/mattn/efm-langserver):\n\n```lua\nlocal prettier = {\n  formatCommand = 'prettierd \"${INPUT}\"',\n  formatStdin = true,\n  env = {\n    string.format('PRETTIERD_DEFAULT_CONFIG=%s', vim.fn.expand('~/.config/nvim/utils/linter-config/.prettierrc.json')),\n  },\n}\n```\n\nAlternatively, you can use\n[prettierme](https://github.com/ruyadorno/prettierme) to integrate directly\nwith other editors.\n\nOr, as a third option for users of Vim/Neovim plugins such as\n[formatter.nvim](https://github.com/mhartington/formatter.nvim) or\n[vim-codefmt](https://github.com/google/vim-codefmt), you can configure\nprettierd in the stdin mode. Below is an example with `formatter.nvim`:\n\n```lua\nrequire('formatter').setup({\n  logging = false,\n  filetype = {\n    javascript = {\n        -- prettierd\n       function()\n          return {\n            exe = \"prettierd\",\n            args = {vim.api.nvim_buf_get_name(0)},\n            stdin = true\n          }\n        end\n    },\n    -- other formatters ...\n  }\n})\n```\n\n### Sublime Text\n\n#### Prettierd Format\n\nYou can use [Prettierd Format](https://packagecontrol.io/packages/Prettierd%20Format) to format your files with prettierd. After installation, it enables format-on-save for any file supported by Prettier by default.\n\n#### Fmt\n\nAlternatively, if you're looking for something more advanced that supports multiple formatters, you can use [Fmt](https://packagecontrol.io/packages/Fmt) and configure prettierd for each language scope you wish to format:\n\n```jsonc\n{\n  \"rules\": [\n    {\n      \"selector\": \"source.ts\",\n      \"cmd\": [\"prettierd\", \"--stdin-filepath\", \"$file\"],\n      \"format_on_save\": true,\n    },\n    {\n      \"selector\": \"source.json\",\n      // ...\n    },\n    // ...\n  ],\n}\n```\n\n### Zed\n\nTo use Prettierd with Zed, you need to configure the `language_overrides` adding a `format_on_save` command for each of the languages you wish to be handling.\n\n\u003e [!NOTE]\n\u003e Configuration below assumes you have installed `prettierd` and gives an example of its path from Homebrew installation. You can check path on your system by running `which prettierd`.\n\nExample configuration:\n\n```json\n{\n  \"language_overrides\": {\n    \"TypeScript\": {\n      \"format_on_save\": {\n        \"external\": {\n          \"command\": \"/opt/homebrew/bin/prettierd\",\n          \"arguments\": [\"--stdin-filepath\", \"{buffer_path}\"]\n        }\n      }\n    }\n  }\n}\n```\n\nSave your configuration file, and provided you've installed and set the correct path to `prettierd` program, Zed will start formatting your files on save action.\n\n### Other editors\n\nI don't know much about other editors, but feel free to send a pull requests on\ninstructions.\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsouza%2Fprettierd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffsouza%2Fprettierd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffsouza%2Fprettierd/lists"}