18.1.0 (2024-12-11)
- @whook/example: fix the time mock handler (1cc3956)
- core: remove non-necessary modules (ec3f556)
- core: Will have to import whook instead
18.0.3 (2024-12-05)
- build: fix builds (2a2f54f)
18.0.0 (2024-12-05)
18.0.0 (2024-12-05)
- dependencies: update dependencies (3fdd8ed)
- services: use the knifecycle core service mapping (ea84982)
- @whook/example: add a time mock example (21d4987)
- @whook/whook: improve the build autoloader (75132c3)
- dependencies: Things should just work for most cases except if you wrote your own autoloader.
- services: The
SERVICE_NAME_MAP
contents in Whook's projects must be put in asrc/config/:app_env/overrides.ts
file instead.
17.0.2 (2024-10-22)
- @whook/aws-lambda: fix lambdas testing command (123da4f)
17.0.2 (2024-10-02)
17.0.1 (2024-07-25)
- watch: fix watch system (53797ea)
17.0.0 (2024-07-16)
- openapi: move OpenAPI support to 3.1 (87fe576)
16.1.0 (2024-03-18)
- @whook/whook: add prepareCommand function (f5c59f8)
16.0.1 (2024-02-29)
- @whook/create: fix the npm init script (8ab2b10)
- build: fix forgotten node versions (f2584fd)
- watch: fix the watch server for esm (51022fd)
16.0.0 (2024-02-27)
- build: fix AWS Lambdas and GCP Functions builds (140c13d)
- build: Will require Node 20 since it relies on its ESM support. Also, the
PROJECT_SRC
constant is removed and theINITIALIZER_PATHS_MAP
constant is now supposed to have well designed paths in it.
15.0.0 (2024-02-20)
- @whook/example: fix the watch output (5b43590)
- @whook/oauth2: fix the cookies options (66afe54), closes #175
- core: fix CI (ea2bbda)
- core: try to fix CI with new package lock (8179534)
- watch: fix git ignore parsing (392e53f)
- swaggerUI: add displayOperationId option in swaggerUI (5eb1347)
14.0.0 (2023-11-07)
- @whook/whook: add a customizable build directory (7f42eea)
- @whook/whook: allow to filter the API (6597207), closes #170
13.2.1 (2023-09-29)
- watch: fix the watch injection (e2817e5)
13.2.0 (2023-09-29)
- config: add API types configuration to base config (749b6da)
13.1.0 (2023-08-21)
- @whook/aws-lambda: no wrappers for non http lambdas (685b717)
13.1.0 (2023-08-21)
- @whook/gcp-functions: fix functions build (473cc54)
13.1.0 (2023-08-20)
- @whook/graphql: fix GraphQL modules (0357eac)
- build: add changelog and fix the build (b9717bb)
- build: fix build env (0c164f5), closes #135
13.0.0 (2023-08-16)
Update modules of your project, especially the ones who depends on yerror
,
yhttperror
, knifecycle
and schema2dts
. Beware that the versions match to
avoid any problem:
## Example of listing YError dependents module and its versions
npm ls yerror
The CONFIGS
service has been renamed APP_CONFIG
and now comes from the
application-services
module so you will probably have to change it everywhere
you use it and install that new dependency.
NODE_ENV
now only accept Node accepted values (development
, production
and
test
). So if you refers to the old NODE_ENVS
config values anywhere, you may
drop it. If you still need to refer to Node Envs, use the enum type provided by
common-services
.
To specify your deployment target, use APP_ENV
instead ( see the
related whook-example
code).
You will probably have to rename the src/config/development
folder to
src/config/local
to match the APP_ENV
accepted values (local
per default,
but you can
choose it there,
we recommend to have at least local
, test
and production
targets, maybe
also uat
or staging
).
Change the typings too in the whook.d.ts
file to match the new ones especially
the application-services
ones that now replace some of the old Whook types to
be used in other projects (Whook's ENVService becomes application-services
AppEnvVars
).
The NODE_ENV
service does not exists anymore, une ENV.NODE_ENV
instead. Also
use application-services
NodeEnv
enum to deal with its value
(compare/assign...).
The WRAPPERS
service can be removed, it is included in Whook and simply needs
to be fed with the HANDLERS_WRAPPERS
values corresponding to the wrappers you
use, see whook-example
src/index.ts
, src/services/WRAPPERS.ts
and
src/services/HANDLERS.ts
.
The WhookWrapper
type has been simplified, it is now a simple service taking
an handler and returning a wrapped one. Wrappers are simple services that return
a WhookWrapper
. You may look at the whook wrappers (say @whook/cors
) to
convert yours.
Note that like handlers, they can be autoloaded now.
A lot of different types were renamed, adding Whook
in front of them will
often fix the typings.
In a general manner, whook
embed the latest version of knifecycle
that
explicitely requires singletons to depends on singletons only. You will probably
have to set some services as singleton or to avoid singleton for services that
ain't really singletons.
Also, the watch command changed a bit, you can get inspiration here to fix the prettier path. Basically it put internals in the whook's trunk and allow you to hook some logic around the watch reloads.
Once done, you can try to run npm run watch
. If lucky, you're all set!
You can fix the various type errors until you can run the project. If you meet errors in the dependencies injections, you can debug by using the REPL and adding verbose logs:
DEBUG='knifecycle|whook' npm run whook-repl
# In the REPL:
# > .inject myService
If you build for AWS Lambda or GCP Functions, look at the changes in the example PRs of this repository.
Here are issues we'll continue investigating and patch asap:
- the GCP Functions build is not battle tested so if you use it, prepare to also debug it.
- the watch server does not work as expected since ESM has no cache similar to
the plain old require one... there is a path toward it but in the meanwhile,
using a watch command in conjunction with the npm run dev command should work
nicely since we now use the
swc
compiler which is faster thantsc
. That said, only the build do types checking now.
12.0.2 (2023-01-05)
- dependencies: remove typings from deps (c87ba0d)
12.0.1 (2023-01-05)
12.0.0 (2022-12-30)
- @whook/create: fix axios issue for brotli compression (d3da046)
- @whook/server: fix multi headers parsing support (a38cf72)
- @whook/whook: fix the CLI prompt (7cd31b6)
- core: fix AWS built Lambda loader (3ee5e9c)
- gcp: fix GCP functions tests (795346d)
- gcp: fix GCP module name (e2834ae)
- security: also obfuscate newly added multi valued headers (0eedbc1)
- watch: fix log access in watch files (0e0be03)
- @whook/cli: Just replace all import from the @whook/cli package by the @whook/whook one and change the watch server code per the new shorter and customizable one.
11.0.1 (2022-11-14)
11.0.0 (2022-11-10)
- cors: fix only getter on headers (726758e)
10.0.6 (2022-09-30)
- types: fix types, again (b6a1d03)
- whook: avoid duplicate createRequire from resolve service (93b4850)
10.0.5 (2022-09-02)
- build: fix compiler build (d6486e7)
10.0.4 (2022-09-02)
- build: index extension depending on format (06b5e62)
10.0.3 (2022-09-01)
- types: Updated apollo-server to the latest major version. It led to some changes in the way directives are provided into GraphQL fragments.
10.0.2 (2022-06-22)
- @whook/create: fix the whook project initialization (30cfd5b)
10.0.1 (2022-06-22)
10.0.0 (2022-06-22)
- build: fix gcp functions build (8070ed5)
- build: fix the AWS Lambda / GCP Functions builds (bd22ec4)
- docs: fix various doc issues (105ce77)
- tests: fix preversion tests (b010ed2)
9.0.1 (2022-05-29)
- types: fix various types issues (3f3bd22)
9.0.0 (2022-05-28)
- swagger: fix swagger ui URL setup (f02f4f7)
- build: allow main static build (f5b2be3), closes #135
- core: move the REPL in the core (366afae)
- types: allow types overriding (150a2c3)
8.5.1 (2021-10-25)
- libs: fix open api parsing (166b4a4)
8.5.0 (2021-10-18)
- openapi: full oas3 components support (7bf5b96)
- types: build API types despite not used yet in dev mode (d529a84)
8.4.2 (2021-09-26)
- @whook/cors: add an error wrapper for CORS (081a1cc)
8.4.1 (2021-09-25)
- compile: avoid direct import of dev deps (8db9dbe)
8.4.0 (2021-09-24)
- compiler: allow to exclude node_modules from the build (9d4bf19)
8.3.0 (2021-09-24)
- libs: add tools to deal with OpenAPI data (9241cf7)
8.1.1 (2021-06-08)
- @whook/aws-lambda: fix crons HTTP compatibility (401d5af)
8.1.0 (2021-06-08)
- @whook/aws-lambda: fix default parameters value (44d527a)
- @whook/http-router: better error for bad status (6c734b3), closes #110
- docs: fix typo and formatting (66380ba)
8.0.4 (2021-04-11)
- @whook/cli: ensure CLI commands fail with args errors (240b314)
- core: avoid exiting the process when everything is ok (a5fd866)
8.0.3 (2021-03-04)
- @whook/http-transaction: prefer interfaces and fix regression on types (f1a0dad)
- @whook/whook: keep names for the build (590c3ff)
8.0.2 (2021-03-03)
- @whook/http-router: fix ajv validation of formats (3d59215)
8.0.1 (2021-03-03)
- @whook/http-router: fix compatibility issue (e0b3a60)
8.0.0 (2021-03-03)
- build: isolate build functions (17f810e), closes #104
- build: use
esbuild
intead ofwebpack
(bdfcd2f)
- @whook/aws-lambda: support NodeJS14 (f4569eb)
- build: The compiler were moved up to the
@whook/whook
project since it was the same for AWS/GCP and could be reused for other kinds of builds. Also existing project will have to removebabel-loader
,webpack
of dev dependencies and addesbuild
instead. - build: Simply moving functions from
index.ts
tobuild.ts
.
7.1.5 (2021-02-11)
- @whook/aws-lambda: fix error descriptor matching (d8de8c5)
- @whook/cli: fix command definition type (b3b42ab)
7.1.4 (2021-01-12)
7.1.3 (2021-01-11)
- dependencies: fix dependencies hoisting (289b0f6)
- types: fix open api types (4188781), closes #101 kogosoftwarellc/open-api#703
7.1.1 (2021-01-04)
- @whook/aws-lambda: fix the HTTP wrapper (aacd6c3)
- @whook/cors: fix CORS when errors are casted (6c18a87)
7.1.0 (2020-12-27)
7.0.0 (2020-12-22)
- types: fix types (78298d9)
- @whook/aws-lambda: The consumers do not manage batchs anymore and simply pass the records to the lambda implementation in order to avoid having to write custom wrappers for each event type. The user are now free to handle the batchs the way they want.
6.0.0 (2020-12-09)
- @whook/example: fix the watch script to completely wait for the server restart (2d616f7)
- dependencies: update knifecycle (351a9c4)
- doc: regenerate the changelog (d7234dc)
- docs: remove version from the root package (487f02d), closes #70
5.1.6 (2020-12-09)
- @whook/example: fix the watch script to completely wait for the server restart (2d616f7)
- dependencies: update knifecycle (351a9c4)
- doc: regenerate the changelog (d7234dc)
- docs: remove version from the root package (4c70906), closes #70
5.1.8 (2020-11-06)
- @whook/aws-lambda: fix handling of base64 encoded request bodies (9b0b811)
5.1.7 (2020-11-06)
- @whook/aws-lambda: fix query parameters parsing when AWS sets it to null (89ebc66)
5.1.6 (2020-11-05)
- @whook/http-router: fix enum testing (41dd4ea)
5.1.5 (2020-11-05)
- @whook/http-router: fix headers casting (5566a1d)
5.1.4 (2020-10-29)
5.1.3 (2020-10-28)
- @whook/aws-lambda: fix support for multi-valued query parameters (02546b5)
5.1.2 (2020-10-19)
- cookies: avoid specifying sameSite for local dev (2e4aa8d)
5.1.1 (2020-10-05)
- @whook/aws-lambda: fix lambdas build for multiple headers (ed5537a)
- @whook/oauth2: fix cookies for dev env (51776df)
- build: fix the lambda/gcp builds (b97b774)
5.1.0 (2020-10-01)
- @whook/cors: allow to configure all CORS headers (8b933dd)
- @whook/cors: add custom CORS per handlers support (b62c068)
- @whook/oauth2: add common auth endpoints (0af41c3)
5.0.0 (2020-09-15)
- types: use schema2dts instead of dtsgenerator (f5d7166)
- types: Typings of input/output strongly changes but allows for more clarity, expressiveness and productivity
4.1.2 (2020-09-15)
4.1.1 (2020-08-24)
- @whook/create: fix tests failure when creating a project (96a81d7)
- docs: fix repo url (2129109)
- types: fix types imports declarations (91d72f4)
4.1.0 (2020-08-21)
- tests: update tests for the new swagger-ui patch (a4d16e0)
- watch: fix cache invalidation for deep dependencies (86025c7)
- dev: watch mode and API types (c2a0acd), closes #75 #51
- types: allow parametrization of handler definitions (1d7a9b3)
4.0.5 (2020-06-12)
- build: fix lambdas builds for authentication parameters (f3dbc5b)
- core: fix package-lock.json (ba337af)
- docs: retrieve missed changelog (d1021f7), closes #70
4.0.4 (2020-06-09)
- @whook/http-transaction: fix error agnosticism (90a2865)
4.0.3 (2020-05-29)
- @whook/oauth2: fix camel case build issues (cde343a)
- @whook/oauth2: fix types and add some tests (3f064d7)
4.0.2 (2020-05-26)
- @whook/oauth2: fix typings and docs mistakes (f81d8ce)
- @whook/whook: take typescript in count for API definitions (220d016)
4.0.1 (2020-05-19)
- core: fix monorepo config (1e30e86)
4.0.0 (2020-05-19)
- @whook/aws-lambda: fix types generation (784211a)
- @whook/cli: Add project path to the
ls
command (6706fee) - @whook/cli: discard snapshots folders (41ff048), closes #42
- @whook/cli: Fix default arguments (adbbdeb), closes #35
- @whook/cli: Fix the script field (7ede2f3)
- @whook/cli: ignore mappings when autoloading (1d64f7b)
- @whook/cors: Avoid requiring parameters in CORS (fc15a89)
- @whook/cors: Ensure determinism for CORS base operation (f4a42d6)
- @whook/create: Fix create script path (f027832)
- @whook/create: Fix scripts syntax (be071b0)
- @whook/create: Fix the README.md file (b6b3fb4)
- @whook/create: fix whook create and add an e2e test (d4ab9b1)
- @whook/create: remove noises in the generated package.json (72ebcbf)
- @whook/example: make tests rely on a more predictible value (0e57b21)
- @whook/graphql: fix dependencies of generated types (144258c)
- @whook/graphql: fix JSON parse of errors (18af154)
- @whook/graphql: fix the GraphQL config (894eea4)
- @whook/http-router: Use bodySpecs everywhere (422b97d)
- @whook/whook: Allow to autoload the service name map (696a7b5)
- @whook/whook: fix definition autoload ordering (55f2e0a)
- @whook/whook: Make integration testing logs determinists (635784d)
- @whook/whook: Set the right service name for mapped ones (5238818)
- api: fix paths generation (2fe5e00)
- api: hide unused tags in public mode (c01d35f)
- build: ensure types are computed at build (0d7b589)
- Build: Fix build and add a few dev docs (f15a8ad)
- builds: fix GCP and AWS builds (3aa8473)
- core: fix typos (0b20a68)
- dependencies: align dependencies (05277d6)
- Docs: Fix
@whook/authorization
README layout (de782a7) - Docs: Fix old README files (ac295da)
- Test: Fix tests path (2ad2dcf)
- tests: fix broken tests (0d27a8a)
- tests: fix ci build (c8697c6)
- Tests: Fix tests (a6b8fc8)
- types: add process config to whook's one (7919ca0)
- types: export API config types for extension (c1882cc)
- types: fix handlers generic types ordering (2b47262)
- types: propagate the common services types fix (c7cd140)
- versions: fix semver import for webpack (78f5d2d)
- whook-swagger-ui: Remove server version for tests (74127be)
- @whook: load handlers definitions in plugins too (9b9eccc), closes #63
- @whook/authorization: Add WWW-Authenticate header support (36f0051)
- @whook/aws-lambda: add a better query parser (b44dc40)
- @whook/aws-lambda: add AWS lambda to the build (cb4a8fc)
- @whook/cli: Add a command to list commands (8875fc6)
- @whook/cli: add a command to quickly create templated files (92b303f)
- @whook/cli: Add CLI args checking (b88fa8b)
- @whook/cli: allow to inspect injector results (06b2cf4)
- @whook/cli: Allow to prompt required values (a9ae5da)
- @whook/create: Add a way to create a new Whook project (49f9092), closes #12
- @whook/create: Install dependencies for newly created projects (73fe278)
- @whook/gcp-functions: add Google Cloud Functions build (1525f92)
- @whook/graphiql: add GraphIQL to the build (1a22760)
- @whook/graphiql: add more options (e937aaa)
- @whook/graphql: allow to use graphql (bd687ac)
- @whook/http-transaction: add APM and obfuscator services (8fa973e)
- @whook/oauth2: add support for oauth2 (1f126b0), closes #60 #18
- @whook/swagger-ui: Allow to specify a dev token (a2c6fcf)
- @whook/versions: add the wrapper to check versions (0034e38)
- @whook/whook: allow to disable a given handler (b5d7184)
- @whook/whook: enable API filtering by tags (3fcf306)
- @whook/whook: gather api components automatically (bdd0477), closes #30
- API: Add some sample endpoints (0c549fe)
- Authentication: Add authentication wrapper (a956ec2), closes #18
- CLI: Add the Whook CLI tool (5511747), closes #12
- core: add support for esm (92c56cb), closes #68
- create-whook: Add a
putEcho
handler for demo (559c4ad) - create-whook: Add an error example (6557662)
- example: Move the example server (a271520)
- Lerna: Setup Whook as a monorepo (395d8b4)
- Mermaid: Allow to print Mermaid graphs (ee38ceb)
- Plugins: Allow to use plugins in autoloaders (46ff705), closes #11
- swaggerui: add mutedParameters option (88c6176)
- whook-swagger-ui: Add a
getOpenAPI
endpoint (f2b9853)
3.1.3 (2018-10-31)
- $autoload: Fix wrapped handlers names (647c166)
3.1.2 (2018-10-30)
- $autoload: Remove forgotten debug changes (84c9bc2)
3.1.1 (2018-10-30)
- $autoload: Ensure handlers can still be injected without wrappers (68d9975)
3.1.0 (2018-10-22)
- PORT/HOST services: Allow to pickup PORT/HOST from ENV (8ffce98)
3.0.0 (2018-10-21)
2.0.0 (2018-10-14)
Whook prototyped version: first attempt at creating whook