Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@feathersjs/feathers

feathersjs429.8kMIT5.0.34TypeScript support: included

A framework for real-time applications and REST API with JavaScript and TypeScript

feathers, REST, socket.io, realtime

readme

Feathers - The API and real-time application framework

CI Maintainability Test Coverage Download Status Discord

Feathers is a full-stack framework for creating web APIs and real-time applications with TypeScript or JavaScript.

Feathers can interact with any backend technology, supports many databases out of the box and works with any frontend like React, VueJS, Angular, React Native, Android or iOS.

Getting started

Get started with just three commands:

$ npm create feathers my-new-app
$ cd my-new-app
$ npm run dev

To learn more about Feathers visit the website at feathersjs.com or jump right into the Feathers guides.

Contributing

To start developing, clone this repository, then run:

cd feathers
npm install

To run all tests run

npm test

Individual tests can be run in the module you are working on:

cd packages/feathers
npm test

License

Copyright (c) 2024 Feathers contributors

Licensed under the MIT license.

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

5.0.34 (2025-05-03)

Bug Fixes

5.0.33 (2025-02-24)

Bug Fixes

5.0.32 (2025-02-01)

Note: Version bump only for package @feathersjs/feathers

5.0.31 (2024-10-31)

Bug Fixes

5.0.30 (2024-09-02)

Note: Version bump only for package @feathersjs/feathers

5.0.29 (2024-07-10)

Note: Version bump only for package @feathersjs/feathers

5.0.28 (2024-07-10)

Note: Version bump only for package @feathersjs/feathers

5.0.27 (2024-06-18)

Note: Version bump only for package @feathersjs/feathers

5.0.26 (2024-06-09)

Note: Version bump only for package @feathersjs/feathers

5.0.25 (2024-05-03)

Note: Version bump only for package @feathersjs/feathers

5.0.24 (2024-03-13)

Note: Version bump only for package @feathersjs/feathers

5.0.23 (2024-02-25)

Bug Fixes

5.0.22 (2024-02-15)

Note: Version bump only for package @feathersjs/feathers

5.0.21 (2024-01-25)

Note: Version bump only for package @feathersjs/feathers

5.0.20 (2024-01-24)

Note: Version bump only for package @feathersjs/feathers

5.0.19 (2024-01-23)

Note: Version bump only for package @feathersjs/feathers

5.0.18 (2024-01-22)

Note: Version bump only for package @feathersjs/feathers

5.0.17 (2024-01-22)

Note: Version bump only for package @feathersjs/feathers

5.0.16 (2024-01-22)

Note: Version bump only for package @feathersjs/feathers

5.0.15 (2024-01-22)

Note: Version bump only for package @feathersjs/feathers

5.0.14 (2024-01-05)

Note: Version bump only for package @feathersjs/feathers

5.0.13 (2023-12-29)

Note: Version bump only for package @feathersjs/feathers

5.0.12 (2023-11-28)

Note: Version bump only for package @feathersjs/feathers

5.0.11 (2023-10-11)

Bug Fixes

  • core: context.path is now typed correctly (#3303) (ff18b3f)
  • knex: Update all dependencies and Knex peer (#3308) (d2f9860)

5.0.10 (2023-10-03)

Note: Version bump only for package @feathersjs/feathers

5.0.9 (2023-09-27)

Note: Version bump only for package @feathersjs/feathers

5.0.8 (2023-07-19)

Note: Version bump only for package @feathersjs/feathers

5.0.7 (2023-07-14)

Bug Fixes

  • core: Ensure .service does not access Object properties (#3235) (c0b670a)

5.0.6 (2023-06-15)

Note: Version bump only for package @feathersjs/feathers

5.0.5 (2023-04-28)

Note: Version bump only for package @feathersjs/feathers

5.0.4 (2023-04-12)

Bug Fixes

  • Make sure all Readme files are up to date (#3154) (a5f0b38)

5.0.3 (2023-04-05)

Bug Fixes

5.0.1 (2023-03-15)

Bug Fixes

  • core: Add PaginationParams to general find method (#3095) (8ebdcf5)

5.0.0 (2023-02-24)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.38 (2023-02-17)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.37 (2023-02-09)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.36 (2023-01-29)

Bug Fixes

  • feathers: Run after all hooks first, and then after method hooks (#3004) (3692fd5)
  • Update all dependencies (#3024) (283dc47)

5.0.0-pre.35 (2023-01-12)

Features

  • generators: Move core code generators to shared generators package (#2982) (0328d22)

5.0.0-pre.34 (2022-12-14)

Bug Fixes

  • core: context.type for around hooks (#2890) (d606ac6)
  • core: Allow services with no external methods (#2921) (df56918)
  • core: Improve service option usage and method option typings (#2902) (164d75c)

Features

  • adapter: Add patch data type to adapters and refactor AdapterBase usage (#2906) (9ddc2e6)

5.0.0-pre.33 (2022-11-08)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.32 (2022-10-26)

Bug Fixes

  • docs: Review transport API docs and update Express middleware setup (#2811) (1b97f14)

Features

  • docs: New website and documentation pages (#2802) (ae85fa2)

5.0.0-pre.31 (2022-10-12)

Features

  • cli: Generate full client test suite and improve typed client (#2788) (57119b6)

5.0.0-pre.30 (2022-10-07)

Bug Fixes

  • core: Ensure setup and teardown can be overriden and maintain hook functionality (#2779) (ab580cb)

Features

  • core: Allow to unregister services at runtime (#2756) (d16601f)

5.0.0-pre.29 (2022-09-16)

Features

5.0.0-pre.28 (2022-08-03)

Bug Fixes

  • cli: Improve generated application and client (#2701) (bd55ffb)
  • core: Get hooks to work reliably with custom methods (#2714) (8d7e04a)

5.0.0-pre.27 (2022-07-13)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.26 (2022-06-22)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.25 (2022-06-22)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.24 (2022-06-21)

Features

  • authentication-local: Add passwordHash property resolver (#2660) (b41279b)
  • cli: Add typed client to a generated app (#2669) (5b801b5)

5.0.0-pre.23 (2022-06-06)

Features

  • client: Improve client side custom method support (#2654) (c138acf)
  • core: Rename async hooks to around hooks, allow usual registration format (#2652) (2a485a0)

5.0.0-pre.22 (2022-05-24)

Bug Fixes

  • schema: Allows resolveData with different resolvers based on method (#2644) (be71fa2)

5.0.0-pre.21 (2022-05-23)

Bug Fixes

  • core: Do not throw missing method error for regular hook methods (#2636) (afe9a3b)

5.0.0-pre.20 (2022-05-04)

Bug Fixes

  • dependencies: Lock monorepo package version numbers (#2623) (5640c10)

5.0.0-pre.19 (2022-05-01)

Features

  • typescript: Improve adapter typings (#2605) (3b2ca0a)
  • typescript: Improve params and query typeability (#2600) (df28b76)

5.0.0-pre.18 (2022-04-11)

Bug Fixes

  • core: Ensure that dynamically registered services are always set up (#2593) (27cc7d0)

Features

  • authentication: Add setup method for auth strategies (#1611) (a3c3581)
  • core: Add app.setup and app.teardown hook support (#2585) (ae4ebee)
  • core: Add app.teardown functionality (#2570) (fcdf524)
  • core: Finalize app.teardown() functionality (#2584) (1a166f3)
  • transport-commons: add context.http.response (#2524) (5bc9d44)

5.0.0-pre.17 (2022-02-15)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.16 (2022-01-12)

Features

5.0.0-pre.15 (2021-11-27)

Bug Fixes

Features

  • core: add context.http and move statusCode there (#2496) (b701bf7)
  • core: Improve legacy hooks integration (08c8b40)
  • transport-commons: Ability to register routes with custom params (#2482) (497990a)

5.0.0-pre.14 (2021-10-13)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.13 (2021-10-13)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.12 (2021-10-12)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.11 (2021-10-06)

Bug Fixes

  • core: Allow to return a new hook context in basic hooks (#2462) (422b6fc)

5.0.0-pre.10 (2021-09-19)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.9 (2021-08-09)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.8 (2021-08-09)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.7 (2021-08-09)

Bug Fixes

  • core: Clean up readme (eb3b4f2)
  • core: Set version back to development (b328767)

5.0.0-pre.6 (2021-08-08)

Note: Version bump only for package @feathersjs/feathers

5.0.0-pre.5 (2021-06-23)

Bug Fixes

  • core: Add list of protected methods that can not be used for custom methods (#2390) (6584a21)

5.0.0-pre.4 (2021-05-13)

Bug Fixes

  • typescript: Move Paginated type back for better compatibility (#2350) (2917d05)

5.0.0-pre.3 (2021-04-21)

Bug Fixes

  • typescript: Improve TypeScript backwards compatibility (#2310) (f33be73)

Features

5.0.0-pre.2 (2021-04-06)

Note: Version bump only for package @feathersjs/feathers

5.0.0-beta.1 (2021-04-03)

Bug Fixes

  • dependencies: Fix transport-commons dependency and update other dependencies (#2284) (05b03b2)
  • feathers: Always enable hooks on default service methods (#2275) (827cc9b)

5.0.0-beta.0 (2021-03-28)

Bug Fixes

Features

BREAKING CHANGES

  • core: Services no longer extend Uberproto objects and service.mixin() is no longer available.

5.0.0-pre.1 (2020-12-17)

5.0.0-pre.0 (2020-05-19)

Features

  • core: Migrate @feathersjs/feathers to TypeScript (#1963) (7812529)
  • core: use @feathers/hooks and add async type (#1929) (a5c4756)

5.0.0-pre.0 (2020-05-19)

Features

  • core: Migrate @feathersjs/feathers to TypeScript (#1963) (7812529)
  • core: use @feathers/hooks and add async type (#1929) (a5c4756)

4.5.11 (2020-12-05)

Note: Version bump only for package @feathersjs/feathers

4.5.10 (2020-11-08)

Bug Fixes

  • typescript: Add user property to the Params. (#2090) (1e94265)

4.5.9 (2020-10-09)

Note: Version bump only for package @feathersjs/feathers

4.5.8 (2020-08-12)

Note: Version bump only for package @feathersjs/feathers

4.5.7 (2020-07-24)

Bug Fixes

  • typescript: Revert add overload types for find service methods (#1972)" (#2025) (a9501ac)

4.5.5 (2020-07-11)

Bug Fixes

  • typescript: add overload types for find service methods (#1972) (ef55af0)

4.5.3 (2020-04-17)

Bug Fixes

  • typescript: Use stricter type for HookContext 'method' prop (#1896) (24a41b7)

4.5.2 (2020-03-04)

Bug Fixes

  • typescript: Make HookMap and HookObject generics. (#1815) (d10145d)

4.5.1 (2020-01-24)

Note: Version bump only for package @feathersjs/feathers

4.5.0 (2020-01-18)

Bug Fixes

  • Add params.authentication type, remove hook.connection type (#1732) (d46b7b2)

4.4.3 (2019-12-06)

Note: Version bump only for package @feathersjs/feathers

4.4.1 (2019-11-27)

Note: Version bump only for package @feathersjs/feathers

4.4.0 (2019-11-27)

Bug Fixes

  • core: Improve hook missing parameter message by adding the service name (#1703) (2331c2a)
  • typescript: Allow specific service typings for Hook and HookContext (#1688) (f5d0ddd)

4.3.11 (2019-11-11)

Note: Version bump only for package @feathersjs/feathers

4.3.10 (2019-10-26)

Note: Version bump only for package @feathersjs/feathers

4.3.9 (2019-10-26)

Bug Fixes

4.3.7 (2019-10-14)

Bug Fixes

  • improve Service and AdapterService types (#1567) (baad6a2)

4.3.4 (2019-10-03)

Bug Fixes

  • Reset version number after every publish (#1596) (f24f82f)

4.3.3 (2019-09-21)

Bug Fixes

  • Small improvements in dependencies and code sturcture (#1562) (42c13e2)

4.3.2 (2019-09-16)

Note: Version bump only for package @feathersjs/feathers

4.3.1 (2019-09-09)

Note: Version bump only for package @feathersjs/feathers

4.3.0 (2019-08-27)

Note: Version bump only for package @feathersjs/feathers

4.3.0-pre.4 (2019-08-22)

Note: Version bump only for package @feathersjs/feathers

4.3.0-pre.3 (2019-08-19)

Note: Version bump only for package @feathersjs/feathers

4.3.0-pre.2 (2019-08-02)

Bug Fixes

4.3.0-pre.1 (2019-07-11)

Note: Version bump only for package @feathersjs/feathers

4.0.0-pre.5 (2019-07-10)

Note: Version bump only for package @feathersjs/feathers

4.0.0-pre.4 (2019-07-05)

Bug Fixes

4.0.0-pre.3 (2019-06-01)

Bug Fixes

4.0.0-pre.2 (2019-05-15)

Bug Fixes

4.0.0-pre.1 (2019-05-08)

Bug Fixes

4.0.0-pre.0 (2019-04-21)

Bug Fixes

  • Do not inherit app object from Object prototype (#1153) (ed8c2e4)
  • Make Mocha a proper devDependency for every repository (#1053) (9974803)
  • Normalize params to object even when it is falsy (#1012) (af97818)
  • Update adapter common tests (#1135) (8166dda)
  • Update all dependencies to latest (#1206) (e51e0f6)

Features

3.3.1 (2019-01-02)

Bug Fixes

3.3.0 (2018-12-16)

Bug Fixes

  • Make Mocha a proper devDependency for every repository (#1053) (9974803)

Features

  • Allow registering a service at the root level (#1115) (c73d322)

3.2.3 (2018-09-21)

Bug Fixes

  • Normalize params to object even when it is falsy (#1012) (af97818)

3.2.2 (2018-09-17)

Note: Version bump only for package @feathersjs/feathers

3.2.1 (2018-09-02)

Note: Version bump only for package @feathersjs/express

v3.2.0 (2018-08-19)

Full Changelog

Merged pull requests:

v3.1.7 (2018-06-16)

Full Changelog

Merged pull requests:

  • Update to latest Uberproto and other dependencies #889 (daffl)

v3.1.6 (2018-06-03)

Full Changelog

Merged pull requests:

v3.1.5 (2018-05-04)

Full Changelog

Merged pull requests:

v3.1.4 (2018-03-26)

Full Changelog

Merged pull requests:

  • Make sure error hooks always have the original context information #842 (daffl)

v3.1.3 (2018-02-16)

Full Changelog

Merged pull requests:

v3.1.2 (2018-02-10)

Full Changelog

Merged pull requests:

  • Handle errors in error hooks properly #819 (daffl)

v3.1.1 (2018-02-08)

Full Changelog

Merged pull requests:

v3.1.0 (2018-01-26)

Full Changelog

Merged pull requests:

v3.0.5 (2018-01-04)

Full Changelog

Merged pull requests:

v2.2.4 (2018-01-04)

Full Changelog

v3.0.4 (2018-01-03)

Full Changelog

Merged pull requests:

  • Update Readme to correspond with latest release #772 (daffl)

v3.0.3 (2018-01-02)

Full Changelog

Merged pull requests:

  • Properly resolve the promise in error hooks if returnHook is set. #769 (daffl)
  • Update semistandard to the latest version 🚀 #768 (greenkeeper[bot])

v3.0.2 (2017-12-05)

Full Changelog

Merged pull requests:

v3.0.1 (2017-11-16)

Full Changelog

Merged pull requests:

v3.0.0 (2017-11-01)

Full Changelog

Merged pull requests:

v3.0.0-pre.3 (2017-10-25)

Full Changelog

Merged pull requests:

  • Better logic for returning the hook object from method call #706 (daffl)
  • Codeclimate Updates #704 (ekryski)
  • Add more inline documentation #703 (daffl)

v3.0.0-pre.2 (2017-10-20)

Full Changelog

Merged pull requests:

  • Move to @feathersjs npm scope #699 (daffl)
  • Also pass app object as parameter to configure callbacks #698 (daffl)

v2.2.3 (2017-10-20)

Full Changelog

Merged pull requests:

v2.2.2 (2017-09-30)

Full Changelog

Merged pull requests:

  • Update to latest secure dependencies #684 (daffl)

v2.2.1 (2017-09-25)

Full Changelog

Merged pull requests:

v2.2.0 (2017-09-01)

Full Changelog

Merged pull requests:

v3.0.0-pre.1 (2017-07-19)

Full Changelog

Merged pull requests:

  • Add a missing configure() method in typescript definition #624 (jansel369)

v2.1.7 (2017-07-16)

Full Changelog

v2.1.6 (2017-07-16)

Full Changelog

Merged pull requests:

  • Allows error hooks to swallow error by setting the result #621 (daffl)
  • typings: properly overload .create() #619 (j2L4e)
  • Update to new plugin infrastructure #614 (daffl)
  • Allow flag to return the hook object #607 (daffl)
  • Use inline version Babel plugin #606 (daffl)
  • Initial changes for Feathers v3 #605 (daffl)
  • Update index.d.ts #603 (j2L4e)

v2.1.4 (2017-06-26)

Full Changelog

Merged pull requests:

v2.1.3 (2017-05-29)

Full Changelog

Merged pull requests:

v2.1.2 (2017-05-09)

Full Changelog

Merged pull requests:

v2.1.1 (2017-03-03)

Full Changelog

Merged pull requests:

v2.1.0 (2017-03-01)

Full Changelog

Merged pull requests:

v2.0.3 (2016-12-10)

Full Changelog

Merged pull requests:

v2.0.2 (2016-09-15)

Full Changelog

Merged pull requests:

v2.0.1 (2016-04-28)

Full Changelog

Merged pull requests:

v2.0.0 (2016-02-22)

Full Changelog

Merged pull requests:

v2.0.0-pre.4 (2016-01-16)

Full Changelog

Merged pull requests:

v2.0.0-pre.3 (2016-01-16)

Full Changelog

Merged pull requests:

v2.0.0-pre.2 (2016-01-10)

Full Changelog

Merged pull requests:

v2.0.0-pre.1 (2016-01-05)

Full Changelog

Merged pull requests:

  • Migration to ES6 and API providers in separate modules #188 (daffl)

v1.3.0 (2015-12-16)

Full Changelog

v1.2.1 (2015-12-12)

Full Changelog

Merged pull requests:

  • Add ability to create, update, patch and remove many #179 (daffl)
  • Handle middleware passed after the service to app.use #178 (dbkaplun)
  • Adding tests to make sure that dispatcher context is set properly. #172 (daffl)

v1.2.0 (2015-11-07)

Full Changelog

Merged pull requests:

  • Make sure event hookups happens after method normalization #151 (daffl)
  • Add rubberduck args to service events parameters #148 (loris)
  • Debug should be for socket.io instead of primus #147 (marshallswain)

v1.1.1 (2015-09-22)

Full Changelog

Merged pull requests:

  • Fix 404 not being properly thrown by REST provider #146 (loris)

v1.1.0 (2015-07-22)

Full Changelog

Merged pull requests:

1.1.0-pre.0 (2015-04-10)

Full Changelog

Merged pull requests:

  • Run Socket configurations before service setup (#131) #132 (daffl)
  • Allow services to dispatch custom events. #128 (daffl)
  • Moving documentation into the main repository. #127 (daffl)
  • Adding contributing guidelines and updating build process. #126 (daffl)
  • Service method call normalization #124 (daffl)
  • Tests for socket message validation and errors. #123 (daffl)
  • Migrating shared functionality into the feathers-commons module #122 (daffl)
  • Adding debug module and messages. #117 (daffl)
  • Fix duplicate events in dynamic services. #115 (marshallswain)
  • Make sure .setup() runs on dynamic services. #110 (marshallswain)
  • Add a Gitter chat badge to readme.md #109 (gitter-badger)
  • Support for registering services dynamically #107 (marshallswain)

1.0.2 (2015-02-04)

Full Changelog

Merged pull requests:

  • Use Uberproto extended instance when creating services #105 (daffl)
  • Make sure that mixins are specific to each new app #104 (daffl)

1.0.1 (2014-12-31)

Full Changelog

Merged pull requests:

  • Rename Uberproto .create to avoid conflicts with service method #100 (daffl)

1.0.0 (2014-10-03)

Full Changelog

Merged pull requests:

  • Version 1.0 homepage #95 (daffl)
  • Remove app.lookup and make the functionality available as app.service #94 (daffl)
  • Allow not passing parameters in socket calls #92 (daffl)
  • Add _setup method #91 (daffl)
  • Better bodyParser usage, fix typo. #90 (olegskl)
  • Throw an error when registering a service after application start #78 (daffl)
  • Use URI parameters as service params and remove bodyParser dependendency #77 (daffl)
  • Send socket parameters as params.query #72 (daffl)
  • Send HTTP 201 and 204 status codes #71 (daffl)
  • Upgrade to SocketIO 1.0 #70 (daffl)
  • Allow service methods to return a promise #59 (daffl)
  • Allow to register services with custom middleware. #56 (daffl)
  • Upgrade to Express 4 #55 (daffl)

1.0.0-pre.5 (2014-06-13)

Full Changelog

Merged pull requests:

1.0.0-pre.1 (2014-06-04)

Full Changelog

0.4.0 (2014-04-08)

Full Changelog

Merged pull requests:

  • Allow to configure REST handler manually #52 (daffl)
  • Event filtering and params extension for Primus #51 (daffl)
  • SocketIO event filtering #50 (daffl)
  • Adding SocketIO handshake data to service call parameters #49 (daffl)
  • Added patch support #47 (mlaug)

0.3.2 (2014-03-28)

Full Changelog

Merged pull requests:

  • Use feathers/express apps #46 (bredele)
  • Upgrading dependencies and switching to Lodash #42 (daffl)

0.3.1 (2014-02-19)

Full Changelog

Merged pull requests:

0.3.0 (2014-01-06)

Full Changelog

Merged pull requests:

0.2.0 (2013-09-27)

Full Changelog

Merged pull requests:

  • Allows registering services with slashes #18 (daffl)
  • Allows setting service params in middleware #17 (daffl)

0.1.0 (2013-08-27)

Full Changelog

0.0.5 (2013-08-27)

Full Changelog

0.0.4 (2013-08-27)

Full Changelog

Merged pull requests:

  • Major refactoring and simplification #16 (daffl)

0.0.3 (2013-08-26)

Full Changelog

Merged pull requests:

  • Improved Mixin organization, updated tests and examples. #15 (daffl)

0.0.2 (2013-07-13)

Merged pull requests:

  • Added a couple examples. Started to add a mongo adapter. #2 (ekryski)

* This Change Log was automatically generated by [githubchangelog_generator](https://github.com/skywinder/Github-Changelog-Generator)_