You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ngcp-csc-ui/test/loaders/jest-loader.js

21 lines
616 B

import { existsSync, mkdirSync, writeFileSync } from 'fs'
import { parse } from 'path'
import { getOptions } from 'loader-utils'
export default async function (source) {
const options = getOptions(this)
const filename = parse(this.resourcePath).name
const extension = (options && options.extension) || '_jest.spec.js'
const dir = `${this.context}/__tests__`
if (!existsSync(dir)) {
mkdirSync(dir)
}
const code = source.replace(/\n{2,}/, '')
const dest = `${dir}/${filename}${extension}`
writeFileSync(dest, code)
return `<!-- Created test file: ${filename} -->`
}