34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
module.exports = (api, options) => {
|
|
api.render('./templateExampleApp')
|
|
if(options.createVueConfigJs.toLowerCase() === 'y') {
|
|
api.render('./template')
|
|
}
|
|
|
|
api.extendPackage({
|
|
dependencies: {
|
|
'@vue/composition-api': '^0.5.0'
|
|
},
|
|
devDependencies: {
|
|
"purs-loader": "^3.7.1"
|
|
}
|
|
})
|
|
|
|
api.injectImports(api.entryFile, `import VueCompositionApi from '@vue/composition-api'`)
|
|
|
|
module.exports.hooks = (api) => {
|
|
api.afterInvoke(() => {
|
|
const { EOL } = require('os')
|
|
const fs = require('fs')
|
|
const contentMain = fs.readFileSync(api.resolve(api.entryFile), { encoding: 'utf-8' })
|
|
const lines = contentMain.split(/\r?\n/g).reverse()
|
|
|
|
if (lines.findIndex(line => line.match(/Vue\.use.*VueCompositionApi.*/)) !== -1) return
|
|
|
|
const renderIndex = lines.findIndex(line => line.match(/import/))
|
|
lines[renderIndex-1] += `${EOL}Vue.use(VueCompositionApi);${EOL}`
|
|
lines.reverse()
|
|
|
|
fs.writeFileSync(api.entryFile, lines.join(EOL), { encoding: 'utf-8' })
|
|
})
|
|
}
|
|
} |