UNPKG

@jigx/mdk

Version:

Jigx Mobile Development Kit - SDK for building Jigx applications

38 lines 5.26 kB
import * as fs from 'fs'; import { application } from '../src'; // or jigx-mdk/ import { defaultDatabase } from './databases/default'; import { dataExpenseCategories } from './datasources/data-expense-categories'; import { dataExpenses } from './datasources/data-expenses'; import { homeScreen } from './screens/home-screen'; import { addExpenseScreen } from './screens/add-expense-screen'; import { editExpenseScreen } from './screens/edit-expense-screen'; import { expenseListScreen } from './screens/expense-list-screen'; /** * Template expense tracking application demonstrating Jigx SDK best practices. * Features offline-capable expense management with categories and reporting. */ export const app = application('expense-tracker') .title('Expense Tracker') .category('personal') .expression('formatCurrency', `=function($amount) { '$' & $formatNumber($amount, '#,##0.00') }`); // Configure database schema defaultDatabase(app); // Configure data providers dataExpenses(app); dataExpenseCategories(app); // Configure application screens homeScreen(app); expenseListScreen(app); addExpenseScreen(app); editExpenseScreen(app); // Configure navigation tab app.addTab('home', 'credit-card') .label('Expenses'); // CRITICAL: Generate and save JSON export const built = app.build(); const outputPath = '/workspace/output.json'; fs.writeFileSync(outputPath, JSON.stringify(built)); // No formatting to save space console.log(`Output written to ${outputPath}`); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVtcGxhdGUtYXBwLTEvYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUEsQ0FBQyxlQUFlO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRWpFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUM7S0FDOUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0tBQ3hCLFFBQVEsQ0FBQyxVQUFVLENBQUM7S0FDcEIsVUFBVSxDQUFDLGdCQUFnQixFQUFFOztJQUU1QixDQUFDLENBQUE7QUFFTCw0QkFBNEI7QUFDNUIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRXBCLDJCQUEyQjtBQUMzQixZQUFZLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDakIscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFMUIsZ0NBQWdDO0FBQ2hDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNmLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3RCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3JCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRXRCLDJCQUEyQjtBQUMzQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7S0FDOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0FBRXBCLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFBO0FBQ2hDLE1BQU0sVUFBVSxHQUFHLHdCQUF3QixDQUFBO0FBQzNDLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLDhCQUE4QjtBQUNsRixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixVQUFVLEVBQUUsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnXG5pbXBvcnQgeyBhcHBsaWNhdGlvbiB9IGZyb20gJy4uL3NyYycgLy8gb3IgamlneC1tZGsvXG5pbXBvcnQgeyBkZWZhdWx0RGF0YWJhc2UgfSBmcm9tICcuL2RhdGFiYXNlcy9kZWZhdWx0J1xuaW1wb3J0IHsgZGF0YUV4cGVuc2VDYXRlZ29yaWVzIH0gZnJvbSAnLi9kYXRhc291cmNlcy9kYXRhLWV4cGVuc2UtY2F0ZWdvcmllcydcbmltcG9ydCB7IGRhdGFFeHBlbnNlcyB9IGZyb20gJy4vZGF0YXNvdXJjZXMvZGF0YS1leHBlbnNlcydcbmltcG9ydCB7IGhvbWVTY3JlZW4gfSBmcm9tICcuL3NjcmVlbnMvaG9tZS1zY3JlZW4nXG5pbXBvcnQgeyBhZGRFeHBlbnNlU2NyZWVuIH0gZnJvbSAnLi9zY3JlZW5zL2FkZC1leHBlbnNlLXNjcmVlbidcbmltcG9ydCB7IGVkaXRFeHBlbnNlU2NyZWVuIH0gZnJvbSAnLi9zY3JlZW5zL2VkaXQtZXhwZW5zZS1zY3JlZW4nXG5pbXBvcnQgeyBleHBlbnNlTGlzdFNjcmVlbiB9IGZyb20gJy4vc2NyZWVucy9leHBlbnNlLWxpc3Qtc2NyZWVuJ1xuXG4vKipcbiAqIFRlbXBsYXRlIGV4cGVuc2UgdHJhY2tpbmcgYXBwbGljYXRpb24gZGVtb25zdHJhdGluZyBKaWd4IFNESyBiZXN0IHByYWN0aWNlcy5cbiAqIEZlYXR1cmVzIG9mZmxpbmUtY2FwYWJsZSBleHBlbnNlIG1hbmFnZW1lbnQgd2l0aCBjYXRlZ29yaWVzIGFuZCByZXBvcnRpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHAgPSBhcHBsaWNhdGlvbignZXhwZW5zZS10cmFja2VyJylcbiAgLnRpdGxlKCdFeHBlbnNlIFRyYWNrZXInKVxuICAuY2F0ZWdvcnkoJ3BlcnNvbmFsJylcbiAgLmV4cHJlc3Npb24oJ2Zvcm1hdEN1cnJlbmN5JywgYD1mdW5jdGlvbigkYW1vdW50KSB7XG4gICAgJyQnICYgJGZvcm1hdE51bWJlcigkYW1vdW50LCAnIywjIzAuMDAnKVxuICB9YClcblxuLy8gQ29uZmlndXJlIGRhdGFiYXNlIHNjaGVtYVxuZGVmYXVsdERhdGFiYXNlKGFwcClcblxuLy8gQ29uZmlndXJlIGRhdGEgcHJvdmlkZXJzXG5kYXRhRXhwZW5zZXMoYXBwKVxuZGF0YUV4cGVuc2VDYXRlZ29yaWVzKGFwcClcblxuLy8gQ29uZmlndXJlIGFwcGxpY2F0aW9uIHNjcmVlbnNcbmhvbWVTY3JlZW4oYXBwKVxuZXhwZW5zZUxpc3RTY3JlZW4oYXBwKVxuYWRkRXhwZW5zZVNjcmVlbihhcHApXG5lZGl0RXhwZW5zZVNjcmVlbihhcHApXG5cbi8vIENvbmZpZ3VyZSBuYXZpZ2F0aW9uIHRhYlxuYXBwLmFkZFRhYignaG9tZScsICdjcmVkaXQtY2FyZCcpXG4gIC5sYWJlbCgnRXhwZW5zZXMnKVxuXG4vLyBDUklUSUNBTDogR2VuZXJhdGUgYW5kIHNhdmUgSlNPTlxuZXhwb3J0IGNvbnN0IGJ1aWx0ID0gYXBwLmJ1aWxkKClcbmNvbnN0IG91dHB1dFBhdGggPSAnL3dvcmtzcGFjZS9vdXRwdXQuanNvbidcbmZzLndyaXRlRmlsZVN5bmMob3V0cHV0UGF0aCwgSlNPTi5zdHJpbmdpZnkoYnVpbHQpKSAvLyBObyBmb3JtYXR0aW5nIHRvIHNhdmUgc3BhY2VcbmNvbnNvbGUubG9nKGBPdXRwdXQgd3JpdHRlbiB0byAke291dHB1dFBhdGh9YClcbiJdfQ==