# spsave-webpack-plugin

> Webpack plugin that uploads webpack assets to SharePoint using the spsave npm module.

Latest version **2.0.1** (published 2021-02-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install spsave-webpack-plugin
pnpm add spsave-webpack-plugin
yarn add spsave-webpack-plugin
bun add spsave-webpack-plugin
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2021-02-12 |
| First published | 2016-12-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 7.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 10 |
| Author | Yohan Belval |
| Maintainers | s-kainet, ybelval |
| Keywords | spsave, sharepoint, webpack, plugin |

## Links

- npm: https://www.npmjs.com/package/spsave-webpack-plugin
- Repository: https://github.com/yohanb/spsave-webpack-plugin
- Homepage: https://github.com/yohanb/spsave-webpack-plugin#readme
- Issues: https://github.com/yohanb/spsave-webpack-plugin/issues
- npm.io page: https://npm.io/package/spsave-webpack-plugin

## Dependencies (2)

- [path](https://npm.io/package/path.md) ^0.12.7
- [spsave](https://npm.io/package/spsave.md) ^4.0.0

## 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

- 2.0.1 (latest) — 2021-02-12
- 2.0.0 — 2018-05-23
- 1.0.8 — 2018-05-22
- 1.0.7 — 2017-09-10
- 1.0.6 — 2017-09-10
- 1.0.5 — 2017-08-23
- 1.0.4 — 2016-12-14
- 1.0.3 — 2016-12-12
- 1.0.2 — 2016-12-12
- 1.0.1 — 2016-12-12

## README

# SPSave Webpack Plugin [![npm version](https://badge.fury.io/js/spsave-webpack-plugin.svg)](https://badge.fury.io/js/spsave-webpack-plugin)

This is a [webpack](http://webpack.github.io/) plugin that allows you upload generated assets to a SharePoint site.
This uses the [spsave](https://www.npmjs.com/package/spsave) plugin to authenticate and upload to SharePoint.

Maintainers: Yohan Belval [@yohanb](https://github.com/yohanb) and Sergei Sergeev [@s-KaiNet](https://github.com/s-KaiNet)

## Installation

### Important!
The latest version (2.x as of now) of the plugin supports webpack 4.x and doesn't have backward compatibility with webpack 3 or 2.

For webpack, earlier than 4.x version, explicitly use 1.x version:
```shell
$ npm install spsave-webpack-plugin@~1.0.8 --save-dev
```

For webpack 4.x and higher, use regular install:

```shell
$ npm install spsave-webpack-plugin --save-dev
```

## Basic Usage

The plugin will upload all your webpack's assets to SharePoint using [spsave](https://github.com/s-KaiNet/spsave). Just add the plugin to your webpack config as follows:

```javascript
const path = require('path');

const SPSaveWebpackPlugin = require('spsave-webpack-plugin');
const root = path.join.bind(path, path.resolve(__dirname));

const webpackConfig = {
  entry: './index.js',
  output: {
    path: root('dist'),
    filename: 'bundle.js'
  },
  plugins: [new SPSaveWebpackPlugin({
            "coreOptions": {
                "checkin": true,
                "checkinType": 1,
                "siteUrl": "[your sharepoint site URL]"
            },
            "credentialOptions": {
                    /* See https://github.com/s-KaiNet/node-sp-auth#params for authentication options */
            },
            "fileOptions": {
                "folder": "Style Library/dist"
            }
        })]
};
module.exports = webpackConfig;
```

This will upload the `dist/bundle.js` to the specified folder:
![SharePoint library result](https://i.imgur.com/SA72gNH.png=250x)

## Configuration

Since the Webpack plugin is based on the [spsave](https://www.npmjs.com/package/spsave) node module, all configuration options are 
virtually identical. The **only difference** is the fact that you do not need to specify `fileOptions` other that the destination
folder since the uploaded files will be the ones emitted by the Webpack build.
**NOTE:** This plugin is not intended to be used when in a _hot-reloading_ Webpack setup.

## Version History

### Version 2.0

- Webpack 4.0 support (not compatible with older Webpack versions anymore)
- Support for [HTML Webpack Plugin](https://www.npmjs.com/package/html-webpack-plugin)
- Fixed issue with wrong folder structure on SharePoint (flat folder structure instead of intended folder structure)

## License

This project is licensed under MIT.

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