{"id":22423302,"url":"https://github.com/prantlf/rollup-plugin-write-only-changes","last_synced_at":"2026-01-30T14:17:05.119Z","repository":{"id":161508561,"uuid":"636248090","full_name":"prantlf/rollup-plugin-write-only-changes","owner":"prantlf","description":"A Rollup plugin for writing files to the output directoriy only if their contents actually changed.","archived":false,"fork":false,"pushed_at":"2024-12-10T15:37:20.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-08T11:09:41.466Z","etag":null,"topics":["changes","plugin","rollup","rollup-plugin","watch","write"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/prantlf.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":"2023-05-04T12:32:17.000Z","updated_at":"2024-12-10T15:37:27.000Z","dependencies_parsed_at":"2025-01-04T18:41:17.150Z","dependency_job_id":null,"html_url":"https://github.com/prantlf/rollup-plugin-write-only-changes","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"3e526142694c3a8e84cd22a3a6134dbaad157d16"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/prantlf/rollup-plugin-write-only-changes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Frollup-plugin-write-only-changes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Frollup-plugin-write-only-changes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Frollup-plugin-write-only-changes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Frollup-plugin-write-only-changes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prantlf","download_url":"https://codeload.github.com/prantlf/rollup-plugin-write-only-changes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Frollup-plugin-write-only-changes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28913969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: 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":["changes","plugin","rollup","rollup-plugin","watch","write"],"created_at":"2024-12-05T18:09:56.257Z","updated_at":"2026-01-30T14:17:05.100Z","avatar_url":"https://github.com/prantlf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rollup-plugin-write-only-changes\n\nA [Rollup] plugin for writing files to the output directory only if their contents actually changed.\n\n[Rollup] rewrites all files in the output directory on each build. If the output directory is watched by other tools, the rewriting will cause unnecessary change events triggered. This plugin prevents [Rollup] from rewriting an output file, if the file already exists in the output directory and if it contains the same contents.\n\n## Requirements\n\nThis plugin requires [Node.js] [LTS] (currently 22, at least 14.8) and Rollup 1.20 or newer.\n\n## Installation\n\nUsing npm:\n\n    npm i -D rollup-plugin-write-only-changes\n\n## Usage\n\nCreate a `rollup.config.js` [configuration file] and import the plugin:\n\n```js\nimport { writeOnlyChanges } from 'rollup-plugin-write-only-changes';\n\nexport default {\n  input: 'src/index.js',\n  output: {\n    dir: 'output',\n    format: 'cjs'\n  },\n  plugins: [writeOnlyChanges()]\n}\n```\n\nThen call `rollup` either via the [command-line] or the [programmatically].\n\n## Options\n\nThe plugin can be customised by the following options, which can be passed as an object with the properties below.\n\n### `verbose`\n\nType: `boolean` | `{ missing, failing, existed, created, changed, intact }`\u003cbr\u003e\nDefault: `{ failing: true }`\n\nLogging configuration. All cases can be enabled by `true` and disabled\nby `false`. ingle cases are selectable by specifying an object with\nthe following boolean properties, which are `false` by default,\nexcept for `failing`, which `true` by default:\n\n  * `missing`: Log files, which were missing in the output directory.\n  * `failing`: Log files, which failed when they tried to be read from the output directory.\n  * `existed`: Log files, which already existed in the output directory and were read.\n  * `created`: Log files, which had to be created in the output directory,\n               because they did not exist there.\n  * `changed`: Log files, which had to be rewritten in the output directory,\n               because their content was different.\n  * `intact`:  Log files, which did not have to be rewritten in the output directory,\n               because their content remained the same.\n\n### `rebuild`\n\nType: `boolean`\u003cbr\u003e\nDefault: `false`\n\nIf the output files should be forcibly written at least once, when rollup\nstarts and the project is built at first, before the watcher starts.\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Lint and test your code.\n\n## License\n\nCopyright (C) 2023-2024 Ferdinand Prantl\n\nLicensed under the [MIT License].\n\n[MIT License]: http://en.wikipedia.org/wiki/MIT_License\n[Rollup]: https://rollupjs.org/\n[Node.js]: https://nodejs.org/\n[LTS]: https://github.com/nodejs/Release\n[configuration file]: https://www.rollupjs.org/guide/en/#configuration-files\n[command-line]: https://www.rollupjs.org/guide/en/#command-line-reference\n[programmatically]: https://www.rollupjs.org/guide/en/#javascript-api\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Frollup-plugin-write-only-changes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprantlf%2Frollup-plugin-write-only-changes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Frollup-plugin-write-only-changes/lists"}