Skip to content

Commit 149ce29

Browse files
committed
docs: add roadmap with v0.2 plans and future considerations
1 parent 3c0c574 commit 149ce29

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

ROADMAP.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Roadmap
2+
3+
## v0.2
4+
5+
- [ ] **Inline template support** — Allow passing SQL strings directly without requiring a `.sql` file, reducing boilerplate for short one-off queries
6+
- [ ] **Template caching** — Cache loaded templates in a `Map` to avoid redundant `readFileSync` calls when `defineQuery` is used outside module scope
7+
- [ ] **TypeDescriptor `description` field** — Add an optional `description` property to `TypeDescriptor` so schema validation errors can display the expected format (e.g. `Expected: ISO date YYYY-MM-DD`)
8+
9+
## Maybe
10+
11+
- [ ] **Conditional blocks / IN-list expansion** — Support optional WHERE clauses (`{{#if}}`) and array expansion (`WHERE id IN ({{ids}})`). Would change the library's templating nature significantly — evaluate only if `.sql` file duplication becomes a real pain point
12+
- [ ] **Async `loadTemplate`** — Non-blocking file reads for server environments (Express, Fastify). Not needed for current Lambda/script use cases
13+
- [ ] **Query execution integration** — Return parameterized output or integrate with Athena SDK. Intentionally out of scope to preserve single responsibility — better suited as a separate package
14+
- [ ] **Parameterized output mode** — Return `{ sql: string, params: unknown[] }` with `$1, $2` placeholders for engines that support it. Not applicable to Athena but could broaden adoption
15+
- [ ] **Allowlist approach for `schema.string`** — Require a regex allowlist instead of relying on the denylist. Already achievable via custom schema types, so built-in support is low priority

0 commit comments

Comments
 (0)