const path = require('path'); global._STRAWBERRY_CURRENT_APP = null; module.exports = { Start: (app) => { Strawberry.Tick.Events = []; Strawberry.ProcessKeyboard = false; let name = path.basename(app, ".app"); load("Strawberry.DisplayRaw"); console.clear(); let horizontal = Math.round(process.stdout.columns / 2 - (1 + (name.length / 2))); process.stdout.write(color.bgBlue.white(" ".repeat(horizontal) + name + " ".repeat(process.stdout.columns - horizontal - name.length))); global._STRAWBERRY_INIT_APP(); global._STRAWBERRY_CURRENT_APP = app; require(app + "/Main.js")(); }, Quit: () => { Strawberry.Tick.Events = []; Strawberry.ProcessKeyboard = false; load("Strawberry.DisplayRaw"); console.clear(); process.stdout.write(color.bgBlue.white(" ".repeat(process.stdout.columns))); Object.keys(require.cache).map((i) => { let ji = 0; require.cache[i].children.map((j) => { if (require.cache[i].children[ji] !== undefined) { let ki = 0; require.cache[i].children[ji].children.map((k) => { if (j.id.startsWith(global._STRAWBERRY_CURRENT_APP)) { delete require.cache[i].children[j].children[ki]; } ki++; }) } if (j.id.startsWith(global._STRAWBERRY_CURRENT_APP)) { delete require.cache[i].children[ji]; } ji++; }) if (i.startsWith(global._STRAWBERRY_CURRENT_APP)) { delete require.cache[i]; } }) global._STRAWBERRY_CURRENT_APP = null; global._STRAWBERRY_INIT_APP(); global._STRAWBERRY_SYSTEMSOFTWARE_INIT(); } }