# Copy Plugin for Bun

The Copy Plugin for Bun is a utility plugin designed to copy files and directories during the build process using [Bun](https://github.com/oven-sh/bun). This plugin facilitates the copying of assets from one location to another, offering flexibility and convenience for managing project assets.

## Installation

You can install the Copy Plugin via Bun:

```bash
bun install @alik6/bun-copy-plugin
```

# Usage

## Importing
```ts
import { Copy } from "@alik6/bun-copy-plugin";
```
## Configuration

```ts
import { build } from 'bun';
import { Copy } from "@alik6/bun-copy-plugin";

build({
    entrypoints: [],
    // If not explicitly set in 'to', defaults to 'outdir' if defined otherwise 'dist/'.
    outdir: 'out',
    plugins: [
        Copy({
            // Array of asset objects to copy.
            assets: [
                // Copies images from 'images/' to 'dist/assets/'.
                { from: 'images/', to: 'dist/assets/' },
                // Copies 'app.tsx' to 'dist/'.
                { from: 'app.tsx', to: 'dist/' },
                // Copies all images to the default output directory.
                { from: 'images/' },
                // Copies 'app.tsx' to the default output directory.
                { from: 'app.tsx' }
            ],
            // Whether to verify the existence of 'from' before copying. If set to true, the plugin will exit if the source file or directory doesn't exist.
            verify: true,
            // if to show  plugin's logs or not
            verbose: false,
        })
    ]
}).catch(error => console.error(error))

```
# Contributing to @alik6/bun-copy-plugin

Welcome to @alik6/bun-copy-plugin, We appreciate your interest in contributing.

## Ways to Contribute

1. **Reporting Bugs:** If you encounter a bug, please open an issue on GitHub and provide detailed information about the problem, including steps to reproduce it.

2. **Requesting Features:** If you have an idea for a new feature or enhancement, you can submit a feature request on GitHub. Provide a clear description of the proposed feature and its use case.

3. **Submitting Pull Requests:** If you'd like to contribute code, you can fork the repository, create a new branch, and submit a pull request with your changes. Please ensure that your code adheres to our coding standards and include relevant tests.

## Getting Started

To get started with contributing, follow these steps:

1. Fork the repository on GitHub.
2. Clone your forked repository to your local machine.
3. Create a new branch for your changes (`git checkout -b feature/my-feature`).
4. Make your changes and commit them (`git commit -am 'Add my feature'`).
5. Push your changes to your forked repository (`git push origin feature/my-feature`).
6. Submit a pull request on GitHub.


## License

By contributing to @alik6/bun-copy-plugin, you agree that your contributions will be licensed under the [MIT License](LICENSE.md).
