Programmatically create and apply .patch files to your project's dependencies.
Under the hood, it leverages diff to generate diffs and package manager primitives to apply them.
Install as a development dependency:
| Package Manager | Command |
|---|---|
| npm | npm install -D depatcher |
| yarn | yarn add -D depatcher |
| pnpm | pnpm add -D depatcher |
Generates a .patch file by comparing an original file with a modified (patched) file.
import { createPatch } from 'depatcher'
createPatch(
'./original_file.js',
'./patched_file.js',
'./file.patch'
)Applies .patch files to specific file paths within a target dependency.
import { applyPatch } from 'depatcher'
// applyPatch(packageName, patchMap)
await applyPatch('packageName', {
// 'target_file_in_dependency': 'path_to_patch_file'
'/dist/index.js': './packageName_index.patch'
})Applies .patch files to multiple target dependencies efficiently.
import { applyPatchMultiple } from 'depatcher'
// applyPatchMultiple(packagePatchMap)
await applyPatchMultiple({
packageName1: {
'/dist/index.js': './packageName1_index.patch'
},
packageName2: {
'/dist/index.js': './packageName2_index.patch'
}
})-
npmpatch support
This project is licensed under the MIT License.