Replacements for feathers-hooks-common
feathers-utils
feathers-utils is the official successor of feathers-hooks-common. It provides a modern set of hooks, utilities, predicates and transformers for Feathers v5, is fully typed and tree-shakeable.
feathers-utils is ESM only and requires Node.js 22 or later. The migration is not a 1:1 mapping: some hooks were renamed, some were replaced by more explicit alternatives (e.g. discard and keep by transformData/transformResult with transformers), and some were removed. See the migration guide for details on every hook and utility.
Example:
ts
import { discard, iff, isProvider } from 'feathers-hooks-common'
import { iff, transformResult } from 'feathers-utils/hooks'
import { isProvider } from 'feathers-utils/predicates'
import { omit } from 'feathers-utils/transformers'
app.service('users').hooks({
after: {
all: [
iff(isProvider('external'), discard('password'))
iff(isProvider('external'), transformResult((item) => omit(item, ['password'])))
]
}
})