Install the plugin with npm:
$ npm install kss kss-webpack-plugin --save-dev
The plugin will generate a KSS styleguide using kss-node. None of the chunks created by Webpack will be added to the styleguide by default - the developer is required to include those manually.
var KssWebpackPlugin = require('kss-webpack-plugin');
var KssConfig = {
source: 'path/to/css_or_scss'
};
var webpackConfig = {
entry: 'index.js',
output: {
path: 'dist',
filename: 'index_bundle.js'
},
plugins: [new KssWebpackPlugin(KssConfig)]
};
Using the chunks
config option, an array of named chunks can be supplied to KssWebpackPlugin, for automatic insersion into the compiled styleguide. Currently only JS or CSS chunks are supported.
var KssWebpackPlugin = require('kss-webpack-plugin');
var KssConfig = {
source: 'path/to/css_or_scss',
chunks: ['manifest', 'vendor', 'common', 'styles']
};
var webpackConfig = {
entry: {
styles: './assets/scss/index.scss',
common: './assets/js/index.js',
},
output: {
path: 'dist',
filename: 'index_bundle.js'
},
plugins: [new KssWebpackPlugin(KssConfig)]
};
For more options, see kss-node cli options
You can generate a copy of the demo style guide like so:
$ kss demo
Then pass the path to the template in the KssConfig
object like this
var KssWebpackPlugin = require('kss-webpack-plugin');
var KssConfig = {
source: 'path/to/css_or_scss',
builder: 'path/to/template'
};
var webpackConfig = {
entry: 'index.js',
output: {
path: 'dist',
filename: 'index_bundle.js'
},
plugins: [new KssWebpackPlugin(KssConfig)]
};