node package manager




Yaap is a generic annotation processor for javascript. It can be used to implement cross-cutting concerns and inject additional aspect oriented code.

It supports annotations at class-, function- and parameter-level of javascript objects. (see examples)

There are also three examples for server and client scenario:

There is a more complex web application example developed with wire and a lot of yaap-features: yaap-nodepad


  • moved wire-plugins and express-functionality into its own project yaap-wire to make yaap more lightweight
  • improved debug logging
  • support for Promises in yaap/wire/express (instead of @Callback)
  • updated dependencies to wire.js 0.10.0 and when.js 2.2.1

  • added yaap-options:

    • debug: add debug output (default: false)
    • shallow: only process own methods (not inherited) => boosts performance (default: true)
    • improved performance
  • classbased annotations
  • "return"-callback with @Callback to cope with asynchronity
  • connect-auth integration with @Auth
  • bugfix for @PreDestroy/@PostConstruct
  • New Express-Annotations: @POST,@GET,@PUT,@DELETE and req/res-processing parameters: @Body, @JSON, @Param
  • New Wire-Annotations: @PostConstruct, @PreDestroy (more information)
  • New Browser-specific Wire-Annotation: @On (for eventbinding) (more information)
  • Performance Improvements
  • Rearranged plugin-api
  • yaap/wire-plugins can promise now (and must, in case of deferred reference-resolving) (more information)
  • browser-compatibility (available in bower)
  • Yaap Annotation processor
  • Initial Annotations: @Default, @NotNull
  • Initial Wire-specific Annotations: @Autowired