open-index/open-npm huggingface dataset:
npm package: @middleware.io/sourcemap-uploader
Description: Command line tool to upload source maps to middleware
Author: Middleware
Latest version: 0.1.6

# Source Maps Uploader

## Uploading source maps to Middleware

In your build pipeline, you will need to run the CLI tool. Here's how to run it:

```sh
npx @middleware.io/sourcemap-uploader upload --apiKey=<mw_rum_api_key> --path="/path/to/sourcemaps"
```

## Commands
### `upload`
- Uploads the javascript sourcemaps to middleware.
### Options
 - `-k, --apiKey <string>`: (Required) The Middleware rum API key.
 - `-av, --appVersion [string]`: The current version of your deploy. (Optional)
- `-p, --path [string]`: Sets the directory of where the sourcemaps are (relative from where the command is run). Defaults to the current directory. (Optional)
- `-bu, --backendUrl [string]`: An optional backend URL for self-hosted deployments. (Optional)
### Example 
1. **Basic Upload with only API key:**
```bash
sourcemap-uploader upload -k your_api_key
```
2.**Upload with specified app version:**
```bash
sourcemap-uploader upload -k your_api_key -av 1.0.0
```
3. **Upload from a specific directory:**
```bash
sourcemap-uploader upload -k your_api_key -p ./dist/sourcemaps
```
4. **Upload to a self-hosted backend:**
```bash
sourcemap-uploader upload -k your_api_key -bu https://your-backend-url.com
```

You can also add this as an npm script

```json
// In package.json

{
  "scripts": {
    "upload-sourcemaps": "npx @middleware.io/sourcemap-uploader upload --apiKey=<mw_rum_api_key> --path=\"/path/to/sourcemaps\""
  }
}
```

## Webpack plugin

Use the Webpack plugin to upload sourcemaps automatically after each build:

```js
// webpack.config.js
const MiddlewareWebpackPlugin = require("@middleware.io/sourcemap-uploader/dist/webpack-plugin").default;

module.exports = {
  // ...
  plugins: [
    new MiddlewareWebpackPlugin(apiKey, appVersion, path, basePath, backendUrl, deleteAfterUpload),
  ],
};
```

## Vite plugin

Use the Vite plugin to upload sourcemaps automatically after each build:

```js
// vite.config.js
import { defineConfig } from "vite";
import middlewareVitePlugin from "@middleware.io/sourcemap-uploader/dist/vite-plugin";

export default defineConfig({
  plugins: [
    middlewareVitePlugin({
      apiKey: process.env.MW_API_KEY || "your_api_key",
      appVersion: "1.0.0",
      // path is optional; defaults to your build output dir (e.g. dist)
      basePath: "",
      backendUrl: undefined,
      deleteAfterUpload: false,
    }),
  ],
});
```

Options:

- **apiKey** (required): Middleware RUM API key (or set `MW_API_KEY` env var).
- **appVersion** (required): Version of the deploy (e.g. git sha or semver).
- **path** (optional): Directory with sourcemaps; defaults to Vite’s `build.outDir`.
- **basePath** (optional): Base path for uploaded sourcemaps in the bucket.
- **backendUrl** (optional): Backend URL for self-hosted deployments.
- **deleteAfterUpload** (optional): Delete sourcemaps after upload (default: `false`).

## Contributing

You can test your changes locally by running the following commands:

```sh
npm run build
node dist/index.js upload ...
```
## License
Apache 2.0