UNPKG

@revoloo/cypress6

Version:

Cypress.io end to end testing tool

82 lines (70 loc) 1.8 kB
import _ from 'lodash' import getCommonConfig, { HtmlWebpackPlugin } from '@packages/web-config/webpack.config.base' import path from 'path' import webpack from 'webpack' const commonConfig = getCommonConfig() // @ts-ignore const babelLoader = _.find(commonConfig.module.rules, (rule) => { // @ts-ignore return _.includes(rule.use.loader, 'babel-loader') }) // @ts-ignore babelLoader.use.options.plugins.push([require.resolve('babel-plugin-prismjs'), { 'languages': ['javascript', 'coffeescript', 'typescript', 'jsx', 'tsx'], 'plugins': ['line-numbers', 'line-highlight'], 'theme': 'default', 'css': false, }]) let pngRule // @ts-ignore const nonPngRules = _.filter(commonConfig.module.rules, (rule) => { // @ts-ignore if (rule.test.toString().includes('png')) { pngRule = rule return false } return true }) pngRule.use[0].options = { name: '[name].[ext]', outputPath: 'img', publicPath: '/__cypress/runner/img/', } // @ts-ignore const config: webpack.Configuration = { ...commonConfig, module: { rules: [ ...nonPngRules, pngRule, ], }, entry: { cypress_runner: [path.resolve(__dirname, 'src/index.js')], }, output: { path: path.resolve(__dirname, 'dist'), filename: '[name].js', }, } // @ts-ignore config.plugins = [ // @ts-ignore ...config.plugins, new HtmlWebpackPlugin({ template: path.resolve(__dirname, './static/index.html'), inject: false, }), ] config.resolve = { ...config.resolve, alias: { 'bluebird': require.resolve('bluebird'), 'lodash': require.resolve('lodash'), 'mobx': require.resolve('mobx'), 'mobx-react': require.resolve('mobx-react'), 'react': require.resolve('react'), 'react-dom': require.resolve('react-dom'), }, } export default config