mirror of
https://github.com/strapi/strapi.git
synced 2025-07-16 21:41:59 +00:00
61 lines
1.2 KiB
JavaScript
61 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const { execSync } = require('child_process');
|
|
const execa = require('execa');
|
|
const hasYarn = require('./has-yarn');
|
|
const logger = require('./logger');
|
|
|
|
/**
|
|
* @param {string} path Path to directory (frontend, backend)
|
|
*/
|
|
function runInstall(path) {
|
|
if (hasYarn()) {
|
|
return execa('yarn', ['install'], {
|
|
cwd: path,
|
|
stdin: 'ignore',
|
|
});
|
|
}
|
|
|
|
return execa('npm', ['install'], { cwd: path, stdin: 'ignore' });
|
|
}
|
|
|
|
function runApp(rootPath) {
|
|
if (hasYarn()) {
|
|
return execa('yarn', ['develop'], {
|
|
stdio: 'inherit',
|
|
cwd: rootPath,
|
|
});
|
|
} else {
|
|
return execa('npm', ['run', 'develop'], {
|
|
stdio: 'inherit',
|
|
cwd: rootPath,
|
|
});
|
|
}
|
|
}
|
|
|
|
async function initGit(rootPath) {
|
|
try {
|
|
await execa('git', ['init'], {
|
|
cwd: rootPath,
|
|
});
|
|
} catch (err) {
|
|
logger.warn(`Could not initialize a git repository`);
|
|
}
|
|
|
|
try {
|
|
await execa(`git`, [`add`, `-A`], { cwd: rootPath });
|
|
|
|
execSync(`git commit -m "Create Strapi starter project"`, {
|
|
cwd: rootPath,
|
|
});
|
|
} catch (err) {
|
|
logger.warn(`Could not create initial git commit`);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
runInstall,
|
|
runApp,
|
|
initGit,
|
|
};
|