Skip to content

仓库 files navigation

depatcher

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.

Note: diff is bundled to support the patch cross package managers.

⚙️ Installation

Install as a development dependency:

Package Manager Command
npm npm install -D depatcher
yarn yarn add -D depatcher
pnpm pnpm add -D depatcher

📖 Usage

createPatch

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'
)

applyPatch

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'
})

applyPatchMultiple

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'
  }
})

🔄 TODO

  • npm patch support

📜 License

This project is licensed under the MIT License.

关于

No description, website, or topics provided.

Resources

Stars

1 star

关注者

0 watching

复刻s

发布

贡献者

Languages