const { logs } = require('@vue/cli-shared-utils') const Service = require('../lib/Service') beforeEach(() => { logs.warn = [] }) const LANGS = ['css', 'sass', 'scss', 'less', 'styl', 'stylus'] const extractLoaderPath = require('mini-css-extract-plugin').loader const LOADERS = { css: 'css', sass: 'sass', scss: 'sass', less: 'less', styl: 'stylus', stylus: 'stylus' } const genConfig = (pkg = {}, env) => { const prevEnv = process.env.NODE_ENV if (env) process.env.NODE_ENV = env const service = new Service('/', { pkg }) service.init() const config = service.resolveWebpackConfig() process.env.NODE_ENV = prevEnv return config } const findRule = (config, lang, index = 3) => { const baseRule = config.module.rules.find(rule => { return rule.test.test(`.${lang}`) }) // all CSS rules have 4 oneOf rules: // 0 -