diff --git a/package.sh b/package.sh index 2e8a8fc..08a8f3b 100755 --- a/package.sh +++ b/package.sh @@ -6,6 +6,8 @@ # # +v="V1.0.0" + echo " _ _ _ _ | (_) | | | @@ -52,6 +54,19 @@ npm run build echo " +==> Resetting databases <== + +" + +sleep 1 + +cd ../../server +node prepareDB.js + +sleep 1 + +echo " + ==> Collecting files to archive <== " @@ -60,10 +75,87 @@ sleep 1 cd ../../ +rm -rf dist/ mkdir dist/ cd dist -cp -r ../src/server . +shopt -s extglob +cp -r ../src/server/!(node_modules) . -ls \ No newline at end of file +rm webapp +mkdir webapp +mkdir webapp/main +mkdir webapp/setup + +pwd + +cp -rv ../src/webapp/main/dist ./webapp/main/dist +cp -rv ../src/webapp/setup/dist ./webapp/setup/dist + +echo " + +==> Collected files to archive <== +==> Archiving... <== + +" + +sleep 1 + +cd .. +zip -9r libreevent-$v-prebuilt.zip dist + +echo " + +==> Created prebuilt archive <== +==> Creating archive for node_modules <== + +" + +sleep 1 + +cd src/server +npm i +cd ../../ +zip -9r libreevent-$v-npm.zip src/server/node_modules + +echo " + +==> Created npm archive <== +==> Creating archive for full-icu package.json <== + +" + +sleep 1 + +cd src/server +npm i full-icu +cd ../../ + +zip -9r libreevent-$v-full-icu.zip src/server/package.json src/server/package-lock.json + +cd src/server +npm uninstall full-icu + +echo " + + _ _ _ _ +| (_) | | | +| |_| |__ _ __ ___ _____ _____ _ __ | |_ +| | | '_ \\| '__/ _ \\/ _ \\ \\ / / _ \\ '_ \\| __| +| | | |_) | | | __/ __/\\ V / __/ | | | |_ +|_|_|_.__/|_| \\___|\\___| \\_/ \\___|_| |_|\\__| + + + + + ------------------------------- + + ==> Done + ==> Successfully packaged libreevent $v + + Next steps: + - Check that everything was packaged correctly + - Create a release on GitHub + +" \ No newline at end of file diff --git a/src/server/prepareDB.js b/src/server/prepareDB.js index 56d1b45..3067bbc 100644 --- a/src/server/prepareDB.js +++ b/src/server/prepareDB.js @@ -1,4 +1,34 @@ -const db = require( './backend/db/db.js' ); +const fs = require( 'fs' ); +const path = require( 'path' ); + +const letters = [ ',', '{' ]; + +const writeJSONData = ( db, data ) => { + return new Promise( ( resolve, reject ) => { + fs.writeFile( path.join( __dirname + '/data/' + db + '.json' ), JSON.stringify( data ), ( error ) => { + if ( error ) { + reject( 'Error occurred: Error trace: ' + error ); + } else { + resolve( true ); + } + } ); + } ); +}; + +const saveSettings = ( settings ) => { + const settingsString = JSON.stringify( settings ); + let settingsToSave = ''; + for ( let letter in settingsString ) { + if ( letters.includes( settingsString[ letter ] ) ) { + settingsToSave += settingsString[ letter ] + '\n\t'; + } else if ( settingsString[ letter ] === '}' ) { + settingsToSave += '\n' + settingsString[ letter ]; + } else { + settingsToSave += settingsString[ letter ]; + } + } + fs.writeFileSync( path.join( __dirname + '/config/settings.config.json' ), settingsToSave ); +}; console.log( ` @@ -18,17 +48,17 @@ console.log( ` ` ); -db.writeJSONData( 'booked', {} ); -db.writeJSONData( 'eventDrafts', {} ); -db.writeJSONData( 'events', {} ); -db.writeJSONData( 'locations', {} ); -db.writeJSONData( 'events', {} ); -db.writeJSONData( 'seatplan', {} ); -db.writeJSONData( 'tickets', {} ); -db.writeJSONData( 'rootAccount', {} ); -db.writeJSONData( 'db', {} ); +writeJSONData( 'booked', {} ); +writeJSONData( 'eventDrafts', {} ); +writeJSONData( 'events', {} ); +writeJSONData( 'locations', {} ); +writeJSONData( 'events', {} ); +writeJSONData( 'seatplan', {} ); +writeJSONData( 'tickets', {} ); +writeJSONData( 'rootAccount', {} ); +writeJSONData( 'db', {} ); -db.saveSettings( { +saveSettings( { 'init': false, 'setupDone': false, 'twoFA': 'allow',