Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
f5af5cc
:building_construction: [#81] Re-architect the base building blocks f…
sergei-maertens Dec 30, 2025
6038d97
:sparkles: [#81] Define email component schema
sergei-maertens Dec 31, 2025
47f631a
:sparkles: [#81] Implement the number component schema
sergei-maertens Dec 31, 2025
34444dc
:truck: [#81] Use the existing type names
sergei-maertens Dec 31, 2025
f2ca86d
:package: [#81] Update build config to use dist/ folder
sergei-maertens Dec 31, 2025
a1ba7bf
:recycle: [#81] Replace legacy component definitions
sergei-maertens Dec 31, 2025
2492787
:green_heart: [#81] Update tests for obsoleted properties
sergei-maertens Dec 31, 2025
c48abbf
:sparkles: [#81] Implement textarea component schema
sergei-maertens Dec 31, 2025
0100740
:sparkles: [#81] Implement the postcode component
sergei-maertens Dec 31, 2025
0926544
:sparkles: [#81] Implement the phoneNumber component schema
sergei-maertens Dec 31, 2025
76f0973
:sparkles: [#81] Implement the bsn component schema
sergei-maertens Dec 31, 2025
d309618
:sparkles: [#81] Implement the checkbox component schema
sergei-maertens Dec 31, 2025
b313534
:sparkles: [#81] Implement the currency component schema
sergei-maertens Dec 31, 2025
9ad5703
:sparkles: [#81] Implement the IBAN component schema
sergei-maertens Dec 31, 2025
f0a0bbc
:sparkles: [#81] Implement the license plate component schema
sergei-maertens Dec 31, 2025
cb181ef
:fire: [#81] Remove product price component again
sergei-maertens Dec 31, 2025
5115656
:sparkles: [#81] Implement the content component schema
sergei-maertens Dec 31, 2025
a4ebe37
:sparkles: [#81] Implement the cosign components
sergei-maertens Dec 31, 2025
8e404b5
:sparkles: [#81] Implement signature component schema
sergei-maertens Dec 31, 2025
b125122
:sparkles: [#81] Implement softRequiredErrors component schema
sergei-maertens Dec 31, 2025
3654a75
:sparkles: [#81] Implement npFamilyMembers component schema
sergei-maertens Dec 31, 2025
2818a03
:sparkles: [#81] Implement addressNL component schema
sergei-maertens Dec 31, 2025
8fc18f5
:sparkles: [#81] Implement file component schema
sergei-maertens Dec 31, 2025
dd518e9
:sparkles: [#81] Implement children component type
sergei-maertens Dec 31, 2025
d37ef78
:sparkles: [#81] Implement partners component type
sergei-maertens Jan 1, 2026
fc8ecbf
:sparkles: [#81] Implement the customer profile component
sergei-maertens Jan 1, 2026
0d9910c
:sparkles: [#81] Implement the time component
sergei-maertens Jan 1, 2026
2589d43
:sparkles: [#81] Implement the date component
sergei-maertens Jan 1, 2026
3256225
:sparkles: [#81] Implement the datetime component
sergei-maertens Jan 1, 2026
b475a64
:sparkles: [#81] Implement the fieldset component
sergei-maertens Jan 1, 2026
c7025e3
:sparkles: [#81] Implement the columns component
sergei-maertens Jan 2, 2026
0ca7306
:sparkles: [#81] Implement the editgrid component
sergei-maertens Jan 2, 2026
6784f46
:sparkles: [#81] Implement the map component
sergei-maertens Jan 2, 2026
165969e
:sparkles: [#81] Implement the selectboxes component
sergei-maertens Jan 2, 2026
c6bb4fd
:sparkles: [#81] Implement the radio component
sergei-maertens Jan 2, 2026
362af8a
:sparkles: [#81] Implement the select component
sergei-maertens Jan 2, 2026
62a74fd
:recycle: [#81] Replace legacy component definitions
sergei-maertens Dec 31, 2025
5d48c25
:recycle: [#81] Clean up validation-related types
sergei-maertens Jan 2, 2026
cd3aea8
:recycle: [#81] Clean up json types
sergei-maertens Jan 2, 2026
0140239
:coffin: [#81] Delete obsoleted/moved code
sergei-maertens Jan 1, 2026
6fd3489
:recycle: [#81] Move the FallbackSchema
sergei-maertens Jan 2, 2026
410e779
:heavy_minus_sign: [#81] Drop the dependency on formiojs
sergei-maertens Jan 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: build
path: lib/
path: dist/
retention-days: 1

prettier:
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
uses: actions/download-artifact@v4
with:
name: build
path: lib/
path: dist/

- name: Install dependencies
run: npm ci
Expand Down Expand Up @@ -167,7 +167,7 @@ jobs:
uses: actions/download-artifact@v4
with:
name: build
path: lib/
path: dist/

- name: Publish package to NPM
run: |
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,20 @@ git push origin main --tags
If you have PGP keys set up, you can use them for the git tag operation.

The CI pipeline will then publish the new version to npmjs.

## Coding style / guidelines

A common debate in TS is `interface` vs `type` aliases. They're mostly equivalent - the biggest
exception is probably that interfaces can be augmented by downstream code. Some may also argue that
the code is cleaner.

In this repository, we apply some rules to decide which to use:

- when the shape of the object exists by itself and is not expected to be further extended, use an
`interface` for the improved readability
- when the type is a base to be composed into more complex types (e.g. variants of the same
component type), use a `type`, combined with the `Prettify` helper on the final result for better
readability in code editors
- for component types, always use `type` for consistency - there are a number of component
types/variants that result in unions, and allowing interfaces leads to a mix of types that are
harder to read.
Loading