Skip to content

Releases: compasjs/compas

v0.1.0

06 May 11:17
61a4310
Compare
Choose a tag to compare

Breaking changes

  • fix(server): rename formLimit option to urlencodedLimit in createBodyParsers d600ac
    • Rename your usage of formLimit to urlencodedLimit in the first argument to createBodyParsers
  • feat(server,code-gen): combine json & multipart 'createBodyParsers' into a single 'createBodyParser' df9e43
    • Removed createBodyParsers use createBodyParser instead.
    • createBodyParser by default does not parse multipart bodies. This should be explicitly enabled with multipart: true. Configure its options with 'multipartOptions' to set a custom maxFileSize for example.
    • Changed the jsonLimit default to '5mb'.
    • The generated Koa router now accepts a single body parser instead of the previous body parser pair returned by 'createBodyParsers'.
    • The updated usage looks something like:
    app.use(
      router(
        createBodyParser({
          multipart: true,
          multipartOptions: {
            maxFileSize: 15 * 1024 * 2024,
          },
        }),
      ),
    );
  • feat(code-gen): promote experimental to stable
    (#2559)
    247aa0
    • Removes support for old code-gen. Use the new target based code-gen instead.
      See the new docs and
      migration guide.
    • It is expected that future Compas release fully break structure
      compatibility with legacy clients, so make sure to migrate as soon as
      possible.
    • Update any @compas/code-gen/experimental import to @compas/code-gen

Features

  • feat(code-gen/experimental: few percent speedup of array validation
    26fb77
  • feat(code-gen/experimental): generate serializable query keys in the
    react-query wrapper
    8d74da
  • feat(code-gen/experimental): generate type docs strings as JSDoc blocks
    a94ee5
  • feat(code-gen): allow CRUD generation for entities with file relations
    727b50

Bug fixes

  • fix(code-gen/experimental): correctly resolve code-gen version when generating
    OpenAPI specs
    28fa44

Other

  • chore: cleanup release notes and changelogs
    143743

Dependency updates

v0.0.249

30 Apr 17:39
fd6efe2
Compare
Choose a tag to compare

Breaking changes

  • feat(code-gen): combine files & body handling when body is multipart 1af5f7
    • The open api importer is not compatible anymore with 'legacy' code-gen, please migrate to experimental code-gen.
    • Rewrite of FormData handling in the 'experimental' api clients, check the new generate output and retest your usages of features using multipart bodies / files.
    • In the near future, we will fully combine files & body handling for the backends as well.
  • feat(cli,code-gen): remove compas visualise 4c6784
    • Use the 'includeEntityDiagram' option of the database generator instead.

Features

  • feat(store): automatically create migration table if not exists 9496b1
  • feat(code-gen): include docs & infer object type in openapi importer a67b38
  • feat(cli): add code-mod to convert api clients to experimental code-gen 0a3ba6

Bug fixes

  • fix(code-gen/experimental): use anyOf#discriminant in JS validators 3fa324
  • fix(code-gen): correct url trimming for openapi imports f64593
  • fix(code-gen/experimental): don't generate react-query wrapper if query, body or files are not objects fb2b2d

Other

  • chore(code-gen/experimental): remove old README.md c96bc4
  • chore(code-gen/experimental): update test helpers 1bffb3
  • chore(examples): align example APP_NAME values f78959
  • chore(code-gen/experimental): add e2e crud tests 64d07c
  • chore(generate): parallelize example generation f01e64
  • chore(code-gen/experimental): add crud nested tests 61f419

Dependency updates

v0.0.248

23 Apr 09:30
e728b49
Compare
Choose a tag to compare

Breaking changes

  • feat(eslint-plugin): replace jsdoc/newline-after-description with jsdoc/tag-lines 53e32c
    • The jsdoc/tag-lines rule is stricter on newlines in JSDoc blocks between different tags. The auto-fix may break multiline types with a new line in between, so make sure to check the diffs.

Features

  • feat(code-gen/experimental): add crud generation support for oneToOne and manyToOne relations 791803

Bug fixes

  • fix(cli): make sure bail prints caughtExceptions under the correct subtest name 7c5134
  • fix(code-gen/experimental): load Compas version from package.json when exporting OpenAPI spec ed1d67
  • fix(code-gen/experimental): resolve readable & writable types of nested crud even if parent doesn't have those types 602c39

Dependency updates

v0.0.247

19 Apr 19:15
96bdab3
Compare
Choose a tag to compare

Features

  • feat(code-gen/experimental): auto convert string 0/1 to boolean in the validators 129deb
  • feat(cli): add --bail support to the test runner 99db0d
  • feat(cli): cleaner logging of t.equal when non-primitives are passed in d33607
  • feat(cli): don't log test suites that are skipped due to a bail after a failed assertion fa57c8

Bug fixes

  • fix(code-gen/experimental): restrict CRUD on views to only allow list & single routes d078d6

Other

  • examples(crud): remove test logs 6e7278
  • examples(crud): remove unused imports 82440e
  • chore(docs): enable the 'local' search feature from Vitepress 97a3a8
  • chore: run tests and lint on Node.js 20 (#2514) b7b30f

Dependency updates

v0.0.246

16 Apr 17:22
eadaf09
Compare
Choose a tag to compare

Breaking changes

  • chore: change the minimum supported version to Node.js 18 (#2506) 354b15
    • Dropped support for Node.js 16

Features

  • feat(server): always log the structured request information in the log middleware 1a4716
  • feat(code-gen/experimental): support custom readable types 1f5c99

Bug fixes

  • fix(code-gen/experimental): satisfy typescript when working with upload files in the api clients d6544a
  • fix(code-gen/experimental): make sure array based filters in crud are optional f26766

Other

  • examples(crud-simple-todo): init example b10b20
  • chore: fix example generation on CI 9b6c14
  • examples(crud-simple-todo): fix flaky tests 6be87f
  • chore(code-gen/experimental): copy CRUD partials from legacy d75aa2

v0.0.245

14 Apr 07:54
0a46461
Compare
Choose a tag to compare

Bug fixes

  • fix(store): stricter session token checks before verify and decode 28282a

v0.0.244

13 Apr 20:50
ce64d1f
Compare
Choose a tag to compare

Bug fixes

  • fix(store): stricter checks on missing tokens df6cfb

Dependency updates

v0.0.243

12 Apr 13:02
1816542
Compare
Choose a tag to compare

Features

  • feat(code-gen/experimental): separate common wrapper file d2c76d

Dependency updates

v0.0.242

10 Apr 12:57
f2063ca
Compare
Choose a tag to compare

Features

  • feat(eslint-plugin): enforce multiline JSDoc description indentation 5c108a
  • feat(eslint-plugin): enforce asterisks on each line of JSDoc blocks 1a23f6
  • feat(eslint-plugin): disallow hyphen before param description in JSDoc blocks 8a543f
  • feat(eslint-plugin): require a return type if the @returns tag is present in JSDoc blocks 3e54b1
  • feat(eslint-plugin): check duplicate export names 718f8e
  • feat(eslint-plugin): stricter checks on existence of imported symbols f6096f
  • feat(eslint-plugin): report event-name error on empty string 8b26de
  • feat(compas): remove all exports, include all packages 9043fc

Bug fixes

  • fix(code-gen/experimental): allow custom .min & .max values greater than normal int sizes 89f829

Dependency updates

v0.0.241

09 Apr 21:27
fe54248
Compare
Choose a tag to compare

Breaking changes

  • feat(code-gen/experimental): add fetch api client support, flatten accepted properties in react-query wrapper (#2490) 7b5c44
    • Closes #2471
    • Closes #2489
    • The generated react-query wrapper for the experimental Axios based apiClient now accepts a flattened object. Internally, this is split back out again in to the params, query, body and files objects to pass in to the apiClient.
  • feat(store): change queue maxRetryCount to 2 04c957
    • The default number of retries goes down from 5 to 2 times. Most of the time if a job fails, it will fail on all retries as well. If you have a flaky job, you may want to catch all errors, and let the job schedule itself another time, instead of relying on auto retries.

Features

  • feat(cli): only try to load commands from files that statically have an exported cliDefinition 219644
  • feat(code-gen/experimental): ensure unique name for inline CRUD items 201c03
  • feat(code-gen/experimental): consistent generate api client paths without leading slash 65ad67
  • feat(code-gen/experimental): cleanup tests, document ways of testing and implement utils 29717d

Bug fixes

  • fix(store): remove quality support for resized gifs 0e13d6
  • fix(code-gen/experimental): disable enableQueries in the route structure fc8d57
  • fix(store): catch any error when cleaning up the test PG database 52417b

Other

  • chore(docs): add some contents in entity structure creation d55cfa
  • chore(docs): add some contents about crud generation ff2222
  • chore(docs): add usage koa-router and axios-api-client f89839
  • chore(examples): replace 'default' and 'with-auth' examples w/ the -experimental ones e57394
  • chore(docs): fix sidebar names for the examples fb6abe
  • chore(docs): small improvements and added references to generated koa router usage 451873
  • chore(docs): clean up old code-gen docs 40d20b
  • chore(docs): re-add generated query usage 77a355
  • chore(tests): cleanup .cache directory usage 030185
  • chore(code-gen/experimental): add some tests, run and satisfy tsc ee9b7a

Dependency updates