1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const { resolve } = require('path')
- const { moduleExists } = require('./utils')
- const logger = require('./logger')
- module.exports = function (moduleOptions) {
- if (!moduleExists('stylelint')) {
- logger.warn(
- 'The dependency `stylelint` not found.',
- 'Please run `yarn add stylelint --dev` or `npm install stylelint --save-dev`'
- )
- return
- }
- const options = {
- context: this.options.srcDir,
- files: [
- `${this.options.dir.assets}/**/*.{s?(a|c)ss,less,stylus}`,
- `{components,${this.options.dir.layouts},${this.options.dir.pages}}/**/*.vue`
- ],
- ...this.options.stylelint,
- ...moduleOptions
- }
- const filesToWatch = [
- '.stylelintignore',
- '.stylelintrc',
- '.stylelintrc.json',
- '.stylelintrc.yaml',
- '.stylelintrc.yml',
- '.stylelintrc.js',
- 'stylelint.config.js'
- ]
- this.options.watch.push(
- ...filesToWatch.map(file => resolve(this.options.rootDir, file))
- )
- this.extendBuild((config, { isDev, isClient }) => {
- if (isDev && isClient) {
- const StylelintPlugin = require('stylelint-webpack-plugin')
- config.plugins.push(new StylelintPlugin(options))
- }
- })
- }
- module.exports.meta = require('../package.json')
|