@clairejs/core

Claire dependency injection foundation and common services.

Usage no npm install needed!

<script type="module">
  import clairejsCore from 'https://cdn.skypack.dev/@clairejs/core';
</script>

README

Change Log

2.3.10

  • move QueryOperator interfaces to core

2.3.8

  • add cascade to hasMany
  • fix isIntegral => floating

2.3.7

  • remove @Integral, add @Floating

2.3.6

  • fix default value for model

2.3.5

  • update UpdateManyResponse interface

2.3.4

  • add @HasMany decorator, add currentUser to @FK() decorator

2.3.1

  • add uriMapper/public info in @URI decorator

2.3.0 [Breaking change]

  • @Provider now require baseClass, and no longer need addProvider to be called

2.2.8

  • fix abstract model created at = 0

2.2.7

  • downgrade webpack

2.2.6

  • add @Register for DI injection

2.2.3

  • npm audit

2.2.2

  • allow optional @Inject
  • add resolveOptional to IInjector

2.2.0

  • @Injectable now does not auto register service, but only there to trigger constructor params metadata

2.1.6

  • add timestamp to DefaultLogger

2.1.5

  • add Regex decorator for DTO

2.1.4

  • fix abstract model default value for created at and id
  • auto-detect model default value and apply @Default decorator

2.1.2

  • fix abstract model default value for created at and id

2.1.1

  • add Initable for default logger
  • add IInit in ILogMedium

2.1.0

  • add SocketMethod
  • rename Http to HttpMethod

2.0.9

  • add more errors code
  • export AccessToken interface

2.0.5

  • move constructor dependencies info to metadata to avoid registration when using @Inject decorator

2.0.0

  • BIG CHANGE: upgrade dependency injection and resolve technic
  • WARNING: this change affects the fundamental logic in all of @clairejs/core depedants

1.6.16:

  • update socket messages

1.6.15:

  • fix build script
  • update socket messages
  • fix default logger content serializer

1.6.9:

  • fix some DTO decorators requires AbstractModel

1.6.8:

  • fix SocketAuthenticationDownstreamMessage: authId => authInfo

1.6.7:

  • remove ISocket

1.6.6:

  • add onReconnect and onDisconnect for ISocket

1.6.5:

  • add isOpen(): boolean to ISocket

1.6.4:

  • add @Required(false) ability for @Inject() decorator

1.6.3:

  • adjust ISocket interface

1.6.2:

  • add ISocket

1.6.1:

  • filter initables by environment

1.6.0:

  • revert back to 1.4.23

1.4.23:

  • copy extra keys to validated DTO if not strict

1.4.22:

  • update server modify fn

1.4.20:

  • add mime file size check in dto validator

1.4.16 (Breaking change):

  • move some decorators from Model to Dto

1.4.15:

  • fix validator not validate empty string

1.4.12:

  • add IdParam

1.4.11:

  • add @Relation decorator to dto decorators

1.4.9:

  • add partial to @DTO decorator

1.4.8:

  • move @ServerValue to DtoMetadata

1.4.6:

  • remove isRequired from @PK and @ServerTime decorators to allow DTO extension from Model

1.4.4:

  • reintroduce terser plugin to keep mangled class name

1.4.3:

  • emit source map

1.4.2:

  • fix @Labal decorator
  • export @Label decorator

1.4.0 (Breaking change):

  • introduce DAG to sort initables
  • remove getModels and use public property instead

1.3.9:

  • can provide constructor class to @Inject decorator

1.3.8 (Breaking change):

  • add @Label decorator
  • remove name property of @Field decorator

1.3.7:

  • improve ClaireError

1.3.6:

  • adjust @Timestamp and @ServerTime decorators

1.3.5:

  • add Utils

1.3.4:

  • optional environment and configuration resolver

1.3.3:

  • export @Timestamp decorator

1.3.2:

  • fix typo

1.3.1:

  • refactor ClaireApp and its builder

1.2.7:

  • throw ClaireError in decorators

1.2.6:

  • update tsconfig.json build config

1.2.3:

  • add DtoClass decorator

1.2.2:

  • fix DTO validator

1.2.1:

  • introduce AbstractBootstrap

1.2.0 (Breaking change):

  • update injection, remove some rarely used functions

1.1.2 (Breaking change):

  • update GetManyQueries and UpdateManyQueries signature

1.0.16:

  • fix enum value check

1.0.15:

  • update request response dtos

1.0.14:

  • fix missing export @Searchable decorator

1.0.13:

  • add case and accent sensitive config in @TextField decorator

1.0.10:

  • fix ClaireApp not validate configuration