Skip to content

Conversation

andipaetzold
Copy link
Contributor

@andipaetzold andipaetzold commented Apr 10, 2025

Summary

For many entities, sys.type is string. This PR changes the type to the actual string literal.

This is a breaking change.

Description

Adding a new generic to BasicMetaSysProps and MetaSysProps. For each entity, the correct type string is passed.

Motivation and Context

Improved types for internal use cases

Checklist (check all before merging)

  • Both unit and integration tests are passing
  • There are no breaking changes
  • Changes are reflected in the documentation

Callouts

We should try to get rid of MetaSysProps and BasicMetaSysProps... It's likely that many types are not accurate because of the fields in there.

Copy link
Contributor

@denkristoffer denkristoffer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

Base automatically changed from remove-syslink-and-metalinkprops to release/v12 April 16, 2025 14:49
@whitelisab whitelisab force-pushed the string-literal-types-for-sys-type branch from 6209176 to 4160e14 Compare April 16, 2025 15:09
@whitelisab whitelisab merged commit 2bebbd2 into release/v12 Apr 16, 2025
6 checks passed
@whitelisab whitelisab deleted the string-literal-types-for-sys-type branch April 16, 2025 15:24
whitelisab added a commit that referenced this pull request Apr 16, 2025
* BREAKING CHANGE: full ESM support (#2472)

* fix: clean dependencies, delete unused file, migrated overlooked tests from last merge

* refactor: build process now supports TS, ESM, CJS and browser

* build: upgrade to ESM version of contentful-sdk-core

* test: reduce bundle size limits thanks to our optimizations

* build: clean up depdency changes

* chore: typos

* feat: this SDK now also includes its version number in its bundles

* test: fix output integration tests

* build: npm dedupe

* build: latest rollup dependencies

* fix: use with keyword instead of assert to mark import as json

* build: update depndencies related to this branch

* build: make npm happy to resolve our dependencies without --force

* test: ensure new failing typescript lint rules throw warnings only - still should be resolved at some point

* test: fix import paths

* build: ensure json-patch is available for typescript in projects using this api client

* ci: update node version

* fix: adjust import path

* style: ensure prettier doesnt fail on our rollup config file

* style: format code to make prettier lint happy

* style: format code to make prettier lint happy #2

* ci: update circleci config to match our new setup

* ci: cleanup

* test: slightly increase bundle size limits

* feat: introduce MIGRATION.md file

* docs: readme cleanup

* fix: move types definition to top of exports as demanded by node docs

* fix: disable linting on inject-env file

* docs: fix wrong link

---------

Co-authored-by: Lisa White <[email protected]>

* fix: replace `SysLink` & `MetaLinkProps` with `Link<T>` to improve type safety [CFISO-2344] (#2590)

* fix: replace `SysLink` & `MetaLinkProps` with `Link<T>` to improve type safety

* chore: prettier

* fix: more specific types for subject links

* fix: snapshots are created by users

* fix: webhook health is created by webhook defs

* fix: webhook call is created by webhook defs

* chore: formatting

* fix: update AiAction links

* fix: `createdBy` etc should be a union, not an object

* fix: remove unused types

* fix: remove import

* feat: narrow `sys.type` to a string literal type for better type safety (#2611)

* feat: narrow `sys.type` to a string literal type for better type safety

* fix: types for `Usage`

* chore: prettier

* feat: align taxonomy update methods with standard [NONE] (#2478)

* fix: make version param required for entry patch method of plain client [DX-34] (#2610)

---------

Co-authored-by: Benedikt Rötsch <[email protected]>
Co-authored-by: Andi Pätzold <[email protected]>
Co-authored-by: LiamStokingerContentful <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants