Darko Gjorgjijoski
e64529468c
Replace deleted_files with manifest-based updater cleanup, add release workflow
...
- Add manifest.json generation script (scripts/generate-manifest.php)
- Add Updater::cleanStaleFiles() that removes files not in manifest
- Add /api/v1/update/clean endpoint with backward compatibility
- Add configurable update_protected_paths in config/invoiceshelf.php
- Update frontend to use clean step instead of delete step
- Add GitHub Actions release workflow triggered on version tags
- Add .github/release.yml for auto-generated changelog categories
- Update Makefile to include manifest generation and scripts directory
2026-04-06 19:27:33 +02:00
Darko Gjorgjijoski
74b4b2df4e
Finalize Typescript restructure
2026-04-06 17:59:15 +02:00
Darko Gjorgjijoski
a46cca5cd8
Complete scripts-v2 TypeScript migration — all imports resolved,
...
build passes
Create all missing components (modals, dropdowns, icons, tabs, mail
drivers, customer partials), fix all @/scripts/ imports to @v2/,
wire up vite entry point and blade template. 382 files, 48883 lines.
- 27 settings components: modals (tax, payment, custom field, note,
category, role, exchange rate, unit, mail test), dropdowns (6),
customization tabs (4), mail driver forms (4)
- 22 icon components: 5 utility icons, 4 dashboard icons, 13 editor
toolbar icons with typed barrel export
- 3 customer components: info, chart placeholder, custom fields single
- Fixed usePopper composable, client/format-money import patterns
- Zero remaining @/scripts/ imports in scripts-v2/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 09:30:00 +02:00
Darko Gjorgjijoski
812956abcc
Phase 5-6: Router, plugins, entry points — scripts-v2 complete
...
13 files completing the TypeScript migration:
- router/ (3 files): typed guards, route meta augmentation,
merged feature routes from all 16 modules
- plugins/ (4 files): i18n with dynamic locale loading, pinia,
tooltip directive
- Entry points: main.ts, InvoiceShelf.ts bootstrap class,
App.vue, global-components.ts with typed registration
- NoCompanyView and NotFoundView stubs
scripts-v2/ totals: 324 files, 42853 lines of strict TypeScript.
Zero any types. Complete feature-based architecture with typed
stores, API services, composables, and Vue components.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 08:00:00 +02:00
Darko Gjorgjijoski
d91f6ff2e3
Phase 4b: Remaining features — payments, expenses, recurring
...
invoices, members, reports, settings, customer portal, modules,
installation
82 files, 14293 lines. Completes all feature modules:
- payments: CRUD with send/preview, payment modes
- expenses: CRUD with receipt upload, categories
- recurring-invoices: full frequency logic, limit by date/count
- members: list with roles, invite modal, pending invitations
- reports: sales, profit/loss, expenses, tax with date ranges
- settings: 14 settings views, number customizer, mail config
- customer-portal: consolidated store, 8 views, portal layout
- modules: marketplace index, detail/install, module cards
- installation: 8-step wizard with requirements/db/mail/account
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 07:30:00 +02:00
Darko Gjorgjijoski
774b2614f0
Phase 4a: Feature modules — layouts, auth, admin, dashboard,
...
customers, items, invoices, estimates, shared document form
77 files, 14451 lines. Typed layouts (CompanyLayout, AuthLayout,
header, sidebar, company switcher), auth views (login, register,
forgot/reset password), admin feature (dashboard, companies, users,
settings with typed store), company features (dashboard with chart/
stats, customers CRUD, items CRUD, invoices CRUD with full store,
estimates CRUD with full store), and shared document form components
(items table, item row, totals, notes, tax popup, template select,
exchange rate converter, calculation composable).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 06:30:00 +02:00