Skip to content

Instantly share code, notes, and snippets.

@nothingismagick
Created December 4, 2018 22:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nothingismagick/b935636edf113991fe5d2b88b9a9dde1 to your computer and use it in GitHub Desktop.
Save nothingismagick/b935636edf113991fe5d2b88b9a9dde1 to your computer and use it in GitHub Desktop.
<test lang="jest"> template loader for Vue SFC
const fs = require('fs')
const loaderUtils = require('loader-utils')
const path = require('path')
module.exports = function (source) {
const options = loaderUtils.getOptions(this)
const filename = path.parse(this.resourcePath).name
const extension = (options && options.extension) || '_jest.spec.js'
const dir = `${this.context}/__tests__`
console.log(`Created test file: ${filename}`)
if (!fs.existsSync(dir)){
fs.mkdirSync(dir);
}
const code = source.replace(/\n{2,}/, '')
const dest = `${dir}/${filename}${extension}`
fs.writeFileSync(dest, code)
return `<!-- Created test file: ${filename} -->`
}
chain.module.rule('jest')
.test(/\.jest$/)
.use('jest')
.loader(require.resolve('./test/loaders/jest-loader.js'))
chain.module.rule('webdriver')
.test(/\.webdriver$/)
.use('webdriver')
.loader(require.resolve('./test/loaders/webdriver-loader.js'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment