[PR #101] [CLOSED] Split off AQL compiler into separate package #3019

Closed
opened 2026-02-28 20:35:06 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/101
Author: @TomAFrench
Created: 6/26/2022
Status: Closed

Base: masterHead: aql-package


📝 Commits (10+)

  • 77c24ab feat: move AQL compiler to new package
  • e43dc36 refactor: remove unused varibles
  • eb01e9c refactor: move compiler into subfolder
  • 58eeec7 refactor: remove compiler state arg from functions which don't use it
  • 20da4d8 refactor: split error code into separate file
  • 7f9ea19 feat: add types to errors.ts
  • 8eec10c refactor: split paths code into separate file
  • 161594f feat: add basic type for CompilerState
  • 66ea87e feat: add type for schema
  • e74ced2 feat: add simple types where possible

📊 Changes

15 files changed (+4459 additions, -212 deletions)

View changed files

packages/aql/.gitignore (+1 -0)
packages/aql/jest.config.js (+3 -0)
packages/aql/package.json (+46 -0)
packages/aql/rollup.config.ts (+26 -0)
packages/aql/src/compiler/aggregate.ts (+37 -0)
packages/aql/src/compiler/compiler.test.ts (+993 -0)
packages/aql/src/compiler/compiler.ts (+949 -0)
packages/aql/src/compiler/errors.ts (+86 -0)
packages/aql/src/compiler/index.ts (+1 -0)
packages/aql/src/compiler/paths.ts (+88 -0)
packages/aql/src/compiler/types.ts (+59 -0)
packages/aql/src/index.ts (+2 -0)
packages/aql/src/query.ts (+144 -0)
packages/aql/tsconfig.json (+12 -0)
📝 yarn.lock (+2012 -212)

📄 Description

This isn't close to being finished but thought I'd share based on the topic coming up on the stream.

This PR is a migration of the AQL compiler and related code into a new package written in typescript. This hopefully allows us to have some more guarantees about correctness inside the compiler.

As I'm not particularly familiar with the AQL compiler I've taken a very slow approach on this, starting with a near direct copy paste of the existing code while ensuring the diffs are as readable as possible.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/101 **Author:** [@TomAFrench](https://github.com/TomAFrench) **Created:** 6/26/2022 **Status:** ❌ Closed **Base:** `master` ← **Head:** `aql-package` --- ### 📝 Commits (10+) - [`77c24ab`](https://github.com/actualbudget/actual/commit/77c24ab414108bc2dc152441b29e64940df58f11) feat: move AQL compiler to new package - [`e43dc36`](https://github.com/actualbudget/actual/commit/e43dc36d5c5a10f3e7d855e15e47259136920ecb) refactor: remove unused varibles - [`eb01e9c`](https://github.com/actualbudget/actual/commit/eb01e9c4dbfab9e8a0fdbe57041f9c71fef8661b) refactor: move compiler into subfolder - [`58eeec7`](https://github.com/actualbudget/actual/commit/58eeec744ff9148a543c7675ddd2578a51c68e1d) refactor: remove compiler state arg from functions which don't use it - [`20da4d8`](https://github.com/actualbudget/actual/commit/20da4d8e3fdcda00904ca040b45d09eea1c1cb3b) refactor: split error code into separate file - [`7f9ea19`](https://github.com/actualbudget/actual/commit/7f9ea1958addd9e2d7a8b897db0d0ef67372eb82) feat: add types to errors.ts - [`8eec10c`](https://github.com/actualbudget/actual/commit/8eec10c4fef230d48e0a31ca30a28d96c6cfae0f) refactor: split paths code into separate file - [`161594f`](https://github.com/actualbudget/actual/commit/161594fdcc160bbaa9ede9800e6fb17194d8b65b) feat: add basic type for CompilerState - [`66ea87e`](https://github.com/actualbudget/actual/commit/66ea87e8aa588cae8e17375bc3cc22ac58a4bf59) feat: add type for schema - [`e74ced2`](https://github.com/actualbudget/actual/commit/e74ced2be7788a5b6fcda607c389c6cae214fd71) feat: add simple types where possible ### 📊 Changes **15 files changed** (+4459 additions, -212 deletions) <details> <summary>View changed files</summary> ➕ `packages/aql/.gitignore` (+1 -0) ➕ `packages/aql/jest.config.js` (+3 -0) ➕ `packages/aql/package.json` (+46 -0) ➕ `packages/aql/rollup.config.ts` (+26 -0) ➕ `packages/aql/src/compiler/aggregate.ts` (+37 -0) ➕ `packages/aql/src/compiler/compiler.test.ts` (+993 -0) ➕ `packages/aql/src/compiler/compiler.ts` (+949 -0) ➕ `packages/aql/src/compiler/errors.ts` (+86 -0) ➕ `packages/aql/src/compiler/index.ts` (+1 -0) ➕ `packages/aql/src/compiler/paths.ts` (+88 -0) ➕ `packages/aql/src/compiler/types.ts` (+59 -0) ➕ `packages/aql/src/index.ts` (+2 -0) ➕ `packages/aql/src/query.ts` (+144 -0) ➕ `packages/aql/tsconfig.json` (+12 -0) 📝 `yarn.lock` (+2012 -212) </details> ### 📄 Description This isn't close to being finished but thought I'd share based on the topic coming up on the stream. This PR is a migration of the AQL compiler and related code into a new package written in typescript. This hopefully allows us to have some more guarantees about correctness inside the compiler. As I'm not particularly familiar with the AQL compiler I've taken a very slow approach on this, starting with a near direct copy paste of the existing code while ensuring the diffs are as readable as possible. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 20:35:06 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#3019