54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# @reflink/reflink
|
|
|
|
[](https://www.npmjs.com/package/@reflink/reflink)
|
|
[](https://github.com/pnpm/reflink/actions)
|
|
|
|
Copy-on-write file cloning for Node.js, powered by NAPI-RS and built upon [reflink-copy](https://github.com/cargo-bins/reflink-copy). This package supports a variety of platforms, including ARM and x86 architectures.
|
|
|
|
### Supported Platforms
|
|
- Linux
|
|
- MacOS
|
|
- Windows (Server 2012+ and Windows Dev Drives)
|
|
|
|
## Installation
|
|
|
|
Just install `@reflink/reflink` using your favorite package manager:
|
|
|
|
```bash
|
|
pnpm add @reflink/reflink
|
|
```
|
|
|
|
## Usage
|
|
|
|
The package provides both synchronous and asynchronous methods to clone files.
|
|
|
|
### TypeScript Usage
|
|
|
|
First, import the package:
|
|
|
|
```typescript
|
|
import { reflinkFileSync, reflinkFile } from '@reflink/reflink';
|
|
```
|
|
|
|
#### Synchronous Method
|
|
|
|
```typescript
|
|
reflinkFileSync('source.txt', 'destination.txt');
|
|
```
|
|
|
|
#### Asynchronous Method
|
|
|
|
```typescript
|
|
await reflinkFile('source.txt', 'destination.txt');
|
|
```
|
|
|
|
## Testing
|
|
|
|
This package is tested using `vitest`. You can run the tests locally using:
|
|
|
|
```bash
|
|
pnpm install
|
|
pnpm build
|
|
pnpm test
|
|
```
|