1 | const { resolve } = require('path')
|
2 | const { pathExists, copy } = require('fs-extra')
|
3 | const logger = require('./logger')
|
4 |
|
5 | async function ensureTemplateFile (srcDir, from, to) {
|
6 | const relativePath = to.replace(srcDir, '~')
|
7 | const fileExists = await pathExists(to)
|
8 |
|
9 | if (fileExists) {
|
10 | return true
|
11 | }
|
12 |
|
13 | try {
|
14 |
|
15 | await copy(resolve(__dirname, 'templates', from), to)
|
16 | logger.success(`${relativePath} created`)
|
17 | return true
|
18 | } catch (err) {
|
19 | logger.warn(`Could not create ${relativePath}:`, err.message)
|
20 | return false
|
21 | }
|
22 | }
|
23 |
|
24 | module.exports = {
|
25 | ensureTemplateFile
|
26 | }
|