# @tormak/vite-plugin-sitemap

> Automatic Sitemap generation for Vite projects, based on provided routes

Latest version **1.1.18** (published 2022-04-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install @tormak/vite-plugin-sitemap
pnpm add @tormak/vite-plugin-sitemap
yarn add @tormak/vite-plugin-sitemap
bun add @tormak/vite-plugin-sitemap
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.18 |
| Published | 2022-04-12 |
| First published | 2022-04-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 9.8 KB |
| Known vulnerabilities | 0 (+20 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 3 |
| Author | Travis Lane |
| Maintainers | tormak |
| Keywords | vite-plugin, sitemap, extendable |

## Links

- npm: https://www.npmjs.com/package/@tormak/vite-plugin-sitemap
- Repository: https://github.com/Tormak9970/vite-plugin-sitemap
- Issues: https://github.com/Tormak9970/vite-plugin-sitemap/issues
- npm.io page: https://npm.io/package/@tormak/vite-plugin-sitemap

## Dependencies (1)

- [vite](https://npm.io/package/vite.md) ^2.9.1

## Alternatives

- [raw-loader](https://npm.io/package/raw-loader.md) — 4.3M weekly downloads
- [plop](https://npm.io/package/plop.md) — 1.4M weekly downloads
- [webpack-deadcode-plugin](https://npm.io/package/webpack-deadcode-plugin.md) — 80.3K weekly downloads
- [@storybook/preact-vite](https://npm.io/package/@storybook/preact-vite.md) — 54.2K weekly downloads
- [vite-plugin-transform](https://npm.io/package/vite-plugin-transform.md) — 2.4K weekly downloads

## Recent versions

- 1.1.18 (latest) — 2022-04-12
- 1.1.17 — 2022-04-12
- 1.1.15 — 2022-04-12
- 1.1.14 — 2022-04-12
- 1.1.13 — 2022-04-12
- 1.1.12 — 2022-04-12
- 1.1.11 — 2022-04-12
- 1.1.10 — 2022-04-12
- 1.1.9 — 2022-04-12
- 1.1.7 — 2022-04-11
- 1.1.6 — 2022-04-11
- 1.1.5 — 2022-04-11
- 1.1.4 — 2022-04-11
- 1.1.3 — 2022-04-11
- 1.1.2 — 2022-04-11
- … 3 more at https://npm.io/package/@tormak/vite-plugin-sitemap/versions

## README

# vite-plugin-sitemap

Automatic sitemap generation for Vite, based on a provided routes object, and optional generation function.

## Requirements

This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v8.0.0+).

## Install

Using npm:

```console
npm install --save-dev vite-plugin-sitemap
```

## Usage

**Note**: These examples use typescript files (.ts) but can still be implimented the same way for javascript files (.js).

Create a `vite.config.ts` [configuration file](https://vitejs.dev/config/#config-file) and import the plugin:

```js
import { defineConfig } from 'vite'
import { VitePluginSitemap } from 'vite-plugin-sitemap';

const routes = [
  { path: '/', name: 'Home' },
  { path: '/about', name: 'About' },
  {
    path: '/blog',
    name: 'Blog',
    children: [
        { path: '/article', name: 'Article' }
    ]
  },
];

export default defineConfig({
  plugins: [
    VitePluginSitemap({
      baseUrl: 'https://example.com',
      contentBase: 'public',
      routes: routes,
      urlGenHook: (config) => {
          let updatedRoutes = config.routes;

          /** put any logic here that you want to run before the sitemap.xml file is generated 
           * ex: generate URLs for all of your blog posts
           */

          return updateRoutes;
      }
    })
  ]
});
```

## Options

### `baseUrl`

Type: `String`<br>
Default: `null`

A string to define what the base URL for the website of the sitemap.

### `contentBase`

Type: `String`<br>
Default: `'public'`

This will be the directory in your project where the `sitemap.xml` file will be generated. Normally this is named either `public` or `dist`.

### `routes`

Type: `Array[...Object]`<br>
Default: `null`

A list of routes with two required properties, `path` and `name`. Name is there in case you want to define a route but not make it show up on the sitemap file. See the code above for an example of this value.

### `urlGenHook`

Type: `function`<br>
Default: `null`
Parameters:
 * `Config`: The plugin config object
Return value: `Route[]`

This function is called before the `routes` object is parsed, allowing you to dynamically add routes during the build step. The function takes the plugin config as an argument, giving you access to existing routes.

---
_Source: https://npm.io/package/@tormak/vite-plugin-sitemap · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
