Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cxspxr/vue-cli-plugin-sugarss

:strawberry: SugarSS support for vue-cli projects
https://github.com/cxspxr/vue-cli-plugin-sugarss

postcss sass stylus sugarss vue vue-cli vue-cli-plugin webpack

Last synced: 21 days ago
JSON representation

:strawberry: SugarSS support for vue-cli projects

Awesome Lists containing this project

README

        

# vue-cli-plugin-sugarss

[SugarSS](https://github.com/postcss/sugarss) support for the projects created with [@vue/cli](https://github.com/vuejs/vue-cli). Lints [SASS](https://github.com/sass/sass) and [Stylus](https://github.com/stylus/stylus).

## Installation

According to [this](https://cli.vuejs.org/guide/plugins-and-presets.html#installing-plugins-in-an-existing-project) you are able to install community plugins as follows:

```shell
vue add sugarss
```

## Usage

You can just go with `file.sss` and/or `style[lang=sss]` as it is shown below.

```html

body
color: red

```

## PostCSS plugins

This plugin use it's custom webpack rule named `sss`. So in order to add some options (including plugins) to `postcss-loader` (or `vue-style-loader`, or `css-loader`) you need chain existing webpack rule in `vue.config.js` like this:

```bash
$ npm i -D
$ npm i -D
```

```javascript
// vue.config.js
module.exports = {
chainWebpack: config => {
config.module.rule('sss')
.use('postcss-loader')
.loader('postcss-loader')
.tap(opts => {
opts.plugins.push(
// in some order you want
require(''),
require('')
);

// You can change or set any property
// opts.parser = 'sugarss';

return opts;
});
}
}
```

### `postcss-nested` & `postcss-nested-props`

You should `require('post-css-nested-props')` before `require('postcss-nested')` when pushing them to plugins.