Skip to content
This repository has been archived by the owner on Nov 7, 2023. It is now read-only.

Update dependency typedi to ^0.10.0 #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jan 24, 2021

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
typedi ^0.8.0 -> ^0.10.0 age adoption passing confidence

Release Notes

pleerock/typedi

v0.10.0

Compare Source

BREAKING CHANGES
Container.remove signature change

The Container.remove method from now accepts one ID or an array of IDs.

// Old format
Container.remove(myServiceA, myServiceB);

// New format
Container.remove([myServiceA, myServiceB]);
Removed support for calling Service([depA, depB], factory)

This was an undocumented way of calling the Service function directly instead of using it as a decorator. This option
has been removed and the official supported way of achieving the same is with Container.set. Example:

const myToken = new Token('myToken');

Container.set(myToken, 'test-value');

// Old format:
const oldWayService = Service([myToken], function myFactory(myToken) {
  return myToken.toUpperCase();
});
const oldResult = Container.get(oldWayService);
// New format
const newWayService = Container.set({
  // ID can be anything, we use string for simplicity
  id: 'my-custom-service',
  factory: function myFactory(container) {
    return container.get(myToken).toUppserCase();
  },
});
const newResult = Container.get('my-custom-service');

oldResult === newResult; // -> true, both equals to "TEST-VALUE"
Added
  • added eager option to ServiceOptions, when enabled the class will be instantiated as soon as it's registered in the container
  • added support for destroying removed services, when a service is removed and has a callable destroy property it will be called by TypeDI
Changed
  • [BREAKING] removed old, undocumented way of calling @Service decorator directly
  • [BREAKING] renamed MissingProvidedServiceTypeError to CannotInstantiateValueError
  • various internal refactors
  • updated various dev dependencies
Fixed
  • generated sourcemaps contains the Typescript files preventing reference errors when using TypeDI with various build tools

v0.9.1

Compare Source

Fixed
  • correctly export error classes from package root

v0.9.0

BREAKING CHANGES
Unregistered types are not resolved

Prior to this version when an unknown constructable type was requested from the default container it was added automatically
to the container and returned. This behavior has changed and now a ServiceNotFoundError error is thrown.

Changed container reset behavior

Until now resetting a container removed all dependency declarations from the container. From now on the default behavior
is to remove the created instances only but not the definitions. This means requesting a Service again from the container
won't result in a ServiceNotFoundError but will create a new instance of the requested function again.

The old behavior can be restored with passing the { strategy: 'resetServices'} to the ContainerInstance.reset function.

Changed
  • [BREAKING] unknown values are not resolved anymore (ref #​87)
  • [BREAKING] resetting a container doesn't remove the service definitions only the created instances by default
  • [BREAKING] container ID can be string only now
  • default container ID changed from undefined to default
  • stricter type definitions and assertions across the project
  • updated the wording of ServiceNotFoundError to better explain which service is missing (#​138)
  • updated various dev-dependencies
  • various changes to project tooling
Fixed
  • fixed a bug where requesting service with circular dependencies from a scoped container would result in Maximum call stack size exceeded error (ref #​112)
  • fixed a bug where @Inject-ed properties were not injected in inherited child classes (ref #​102)
  • fixed a typing issue which prevented using abstract class as service identifier (ref #​144)
  • fixed a bug which broke transient services when Container.reset() was called (ref #​157)
  • fixed some typos in the getting started documentation

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate
Copy link
Author

renovate bot commented Mar 24, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant