Invoice #279028 to Aurelia
Aurelia 2 AOT/SSR (Nov 27 - Dec 24, 2025) - https://github.com/aurelia/aurelia-ls/pull/6
Paid
Invoice #279028
Maintenance and Development
Dec 24, 2025
Expense Details
Invoice items
tooling: Built AOT compilation pipeline with plan/emit architecture and provenance tracking (4.5h)
€213.75 EUR
tooling: Designed expression table manifest and implemented server-side string renderer (3h)
€142.50 EUR
runtime: Implemented SSR marker system for hydration target identification (2h)
€95.00 EUR
runtime: Added Aurelia.hydrate() API with core hydration infrastructure for repeat/if template controllers (6h)
€285.00 EUR
tooling: Restructured codebase for AOT/SSR work (-29k lines, new test structure) (3h)
€142.50 EUR
tooling: Created build package with SSR end-to-end slice and AOT wireup (6.5h)
€308.75 EUR
tooling: Built SSR processor with path-based identification, marker stripping, compileWithAot API (3h)
€142.50 EUR
tooling: Created todo-app example demonstrating SSR hydration end-to-end (1h)
€47.50 EUR
tooling: Implemented Vite SSR plugin with dev middleware and SSRContext integration (5h)
€237.50 EUR
tooling: Built SSR e2e test suite with lifecycle, nesting, and multi-render coverage (1.5h)
€71.25 EUR
runtime: Implemented SSR recording API for repeat/if controllers with target indices (4h)
€190.00 EUR
tooling: Developed resolution package with resource extraction and TypeScript program analysis (5.5h)
€261.25 EUR
tooling: Completed resolution package with scope analysis and template discovery (5h)
€237.50 EUR
tooling: Implemented child component SSR with Vite loader and cache invalidation (2h)
€95.00 EUR
tooling: Fixed expression parser interpolation handling for runtime parity (1h)
€47.50 EUR
tooling: Fixed AOT parity issues (else controller, portal, au-compose, au-slot, let) (3h)
€142.50 EUR
tooling: Stabilized SSR rendering with multi-render consistency and form state sync (checked, value, selected) (4h)
€190.00 EUR
runtime: Fixed component boundary detection in manifest recording, added dev instrumentation (3h)
€142.50 EUR
tooling: Built tree-based manifest recorder with adopted target tracking and child scopes (3h)
€142.50 EUR
runtime: Refactored to tree-based manifest structure for nested component boundaries (2h)
€95.00 EUR
tooling: Optimized manifest wire format with expression deduplication and direct AST emission (4h)
€190.00 EUR
tooling: Added router SSR support with viewport recording, multi-binding syntax, DI hooks (4h)
€190.00 EUR
tooling: Created router-app example demonstrating multi-route SSR with navigation (1h)
€47.50 EUR
runtime: Added router SSR hydration with ServerLocationManager and viewport element adoption (3h)
€142.50 EUR
tooling: Built transform package for compile-time static $au injection into TypeScript (5h)
€237.50 EUR
runtime: Added SSR hydration for with/switch template controllers, extracted view adoption helpers (2h)
€95.00 EUR
tooling: Implemented entry point transform with dependencies/bindables extraction, import cleanup (3h)
€142.50 EUR
tooling: Implemented SSG route discovery with @route decorator extraction and static generation (3h)
€142.50 EUR
tooling: Fixed Vite production builds with virtual file system for .html imports (1h)
€47.50 EUR
runtime: Aligned comment marker format and numeric instruction types with Aurelia core (1h)
€47.50 EUR
runtime: Assisted with beta.27 release: changesets bootstrap, @latest tagging workflow, release docs (1h)
€47.50 EUR
Total amount
€4,560.00 EUR
Accounted as (USD):
$5,360.73 USD
Additional Information
Paid to
Fred Kleuver@fred-kleuver
payout method
Bank account
Details
********By Fred Kleuver
on Expense created
By Binh Vo
on Expense approved
Collective balance
Expense policies
Expense policies
File an invoice only when you are requesting payment for services you personally performed. We can only pay the individual who completed the work -- no third parties or friends. The person who performed the work must be the owner of the account receiving payment.
We have strict requirements for what we can and cannot process. Certain information is required on all invoices, and we cannot process payment if required information is missing.
Please review our full policies before submitting:
https://docs.oscollective.org/for-hosted-member-projects/spending-money-and-getting-paid
https://docs.oscollective.org/for-hosted-member-projects/spending-money-and-getting-paid
If your expense is missing required information or documentation, you will be asked to revise it before processing can begin.
Processing and Payment:
- Expenses are processed twice weekly after approval by a Collective administrator and a secondary OSC review
- Payments are made via PayPal or Wise (bank transfer)
- Payments are limited to countries supported by these providers
- If you use PayPal, you may be required to complete a KYC process
An uploaded invoice is not required -- the information entered in the expense form is sufficient.
If you choose to upload an invoice, address it to:
Collective/Project Name, Open Source Collective
440 N. Barranca Avenue #3939
Covina, CA 91723, USA
FAQ
How do I get paid from a Collective?
Submit an expense and provide your payment information.
How are expenses approved?
Collective admins are notified when an expense is submitted, and they can approve or reject it.
Is my private data made public?
No. Only the expense amount and description are public. Attachments, payment info, emails and addresses are only visible to you and the admins.
When will I get paid?
Payments are processed by the Collective's Fiscal Host, the organization that hold funds on their behalf. Many Fiscal Hosts pay expenses weekly, but each one is different.
Why do you need my legal name?
The display name is public and the legal name is private, appearing on receipts, invoices, and other official documentation used for tax and accounting purposes.
Collective balance
$2,261.31 USDFiscal Host:
Open Source Collective