@quasar/app-webpack
Version:
Quasar Framework App CLI with Webpack
40 lines (32 loc) • 1 kB
JavaScript
const { existsSync } = require('node:fs')
const fse = require('fs-extra')
const { spawnSync } = require('../../utils/spawn.js')
const { log, fatal } = require('../../utils/logger.js')
function ensureWWW({ appPaths, forced }) {
const www = appPaths.resolve.cordova('www')
if (forced === true) fse.removeSync(www)
if (!existsSync(www)) {
fse.copySync(appPaths.resolve.cli('templates/cordova/www'), www)
}
}
module.exports.ensureWWW = ensureWWW
function ensureDeps({ appPaths }) {
if (existsSync(appPaths.resolve.cordova('node_modules'))) return
log('Installing dependencies in /src-cordova')
spawnSync(
'npm',
['install'],
{
cwd: appPaths.cordovaDir,
env: { ...process.env, NODE_ENV: 'development' }
},
() => {
fatal('npm failed installing dependencies in /src-cordova', 'FAIL')
}
)
}
module.exports.ensureDeps = ensureDeps
module.exports.ensureConsistency = function ensureConsistency(opts) {
ensureWWW(opts)
ensureDeps(opts)
}