feathersjs / feathers

The API and real-time application framework
https://feathersjs.com
MIT License
15.02k stars 745 forks source link

Query syntax problems with TypeBox 0.26 #3182

Open daffl opened 1 year ago

daffl commented 1 year ago

The query syntax helper creates two different types between TypeBox 0.25:

Screenshot_2023-04-20_at_20 46 18

And 0.26:

Screenshot_2023-04-20_at_20 51 28

While the local package tests are passing, in a generated app this means that any operator like

app.service('messages').find({
  query: {
    createdAt: {
      $gte: Date.now() - 24 * 60 * 60 * 1000
    }
  }
})

Will receive a TypeScript error like this:

Property '$something' is incompatible with index signature.
          Type '<type>' is not assignable to type 'never'.

The current solution is to revert to TypeBox 0.25 and probably add a better integration like

Type.QuerySyntax(queryProperties, ['text', 'id'])

To v5.1