2016-12-01 16:44:03 +01:00

97 lines
3.1 KiB
JavaScript

require('shelljs/global');
/**
* Adds mark check symbol
*/
function addCheckMark(callback) {
process.stdout.write(' ✓');
callback();
}
if (!which('git')) {
echo('Sorry, this script requires git');
exit(1);
}
if (!test('-e', 'internals/templates')) {
echo('The example is deleted already.');
exit(1);
}
process.stdout.write('Cleanup started...');
// Cleanup components folder
rm('-rf', 'app/components/*');
// Cleanup containers folder
rm('-rf', 'app/containers/*');
mkdir('-p', 'app/containers/App');
mkdir('-p', 'app/containers/NotFoundPage');
mkdir('-p', 'app/containers/HomePage');
cp('internals/templates/appContainer.js', 'app/containers/App/index.js');
cp('internals/templates/notFoundPage/notFoundPage.js', 'app/containers/NotFoundPage/index.js');
cp('internals/templates/notFoundPage/messages.js', 'app/containers/NotFoundPage/messages.js');
cp('internals/templates/homePage/homePage.js', 'app/containers/HomePage/index.js');
cp('internals/templates/homePage/messages.js', 'app/containers/HomePage/messages.js');
// Handle Translations
mkdir('-p', 'app/translations');
cp('internals/templates/translations/en.json',
'app/translations/en.json');
// move i18n file
cp('internals/templates/i18n.js',
'app/i18n.js');
// Copy LanguageProvider
mkdir('-p', 'app/containers/LanguageProvider');
mkdir('-p', 'app/containers/LanguageProvider/tests');
cp('internals/templates/languageProvider/actions.js',
'app/containers/LanguageProvider/actions.js');
cp('internals/templates/languageProvider/constants.js',
'app/containers/LanguageProvider/constants.js');
cp('internals/templates/languageProvider/languageProvider.js',
'app/containers/LanguageProvider/index.js');
cp('internals/templates/languageProvider/reducer.js',
'app/containers/LanguageProvider/reducer.js');
cp('internals/templates/languageProvider/selectors.js',
'app/containers/LanguageProvider/selectors.js');
cp('internals/templates/styles.css', 'app/containers/App/styles.css');
// Copy selectors
mkdir('app/containers/App/tests');
cp('internals/templates/selectors.js',
'app/containers/App/selectors.js');
cp('internals/templates/selectors.test.js',
'app/containers/App/tests/selectors.test.js');
// Utils
rm('-rf', 'app/utils');
mkdir('app/utils');
mkdir('app/utils/tests');
cp('internals/templates/asyncInjectors.js',
'app/utils/asyncInjectors.js');
cp('internals/templates/asyncInjectors.test.js',
'app/utils/tests/asyncInjectors.test.js');
// Replace the files in the root app/ folder
cp('internals/templates/app.js', 'app/app.js');
cp('internals/templates/index.html', 'app/index.html');
cp('internals/templates/reducers.js', 'app/reducers.js');
cp('internals/templates/routes.js', 'app/routes.js');
cp('internals/templates/store.js', 'app/store.js');
cp('internals/templates/store.test.js', 'app/tests/store.test.js');
// Remove the templates folder
rm('-rf', 'internals/templates');
process.stdout.write(' ✓');
// Commit the changes
if (exec('git add . --all && git commit -qm "Remove default example"').code !== 0) {
echo('\nError: Git commit failed');
exit(1);
}
echo('\nCleanup done. Happy Coding!!!');