Skip to content

Releases: ngworker/ngworker

Spectacular 15.0.0

08 Aug 17:52
88d4f33
Compare
Choose a tag to compare

15.0.0 (2023-08-08)

Features

  • SpectacularAppComponent is a standalone Angular component (#68)
  • Passing InjectOptions to SpectacularApplicationHarness#inject is supported (#68)
  • Passing InjectOptions to SpectacularFeatureHarness#inject is supported (#68)
  • Passing InjectOptions to SpectacularPipeHarnes#inject is supported (#68)
  • provideSpectacularFeatureTest requires a routes option and optionally accepts the withInitialFeatureNavigation feature and Angular Router features (#76)
  • provideSpectacularFeatureTest returns (EnvironmentProviders | Provider)[] (#76)
  • provideSpectacularFeatureTest is marked as deprecated and a copy is renamed to provideSpectacularFeatureTesting (#76)
  • Add withInitialFeatureNavigation for use with provideSpectacularFeatureTest and provideSpectacularFeatureTesting (#76)
  • SpectacularFeatureTestingModule is deprecated (#76)

BREAKING CHANGES

  • Require Angular 15.0
  • SpectacularAppComponent is a standalone Angular component. Your tests might need to take this into account depending on your setup. Most tests shouldn't need to change. (#68)
  • A routes option must be passed to provideSpectacularFeatureTest. (#76)
  • provideSpectacularFeatureTest returns (EnvironmentProviders | Provider)[] (#76)

Migration

Feature test using Angular Testing Library

Before:

await render(SpectacularAppComponent, {
  excludeComponentDeclaration: true,
  imports: [
    SpectacularFeatureTestingModule.withFeature({
      featurePath: crisisCenterPath,
      routes: [
        { path: crisisCenterPath, loadChildren: () => CrisisCenterModule },
      ],
    }),
  ],
});

After:

await render(SpectacularAppComponent, {
  providers: [
    provideSpectacularFeatureTesting({
      featurePath: crisisCenterPath,
      routes: [
        { path: crisisCenterPath, loadChildren: () => CrisisCenterModule },
      ],
    }),
  ],
});

DEPRECATIONS

  • Passing InjectFlags to SpectacularApplicationHarness#inject is deprecated in favor of passing InjectOptions (#68)
  • Passing InjectFlags to SpectacularFeatureHarness#inject is deprecated in favor of passing InjectOptions (#68)
  • Passing InjectFlags to SpectacularPipeHarnes#inject is deprecated in favor of passing InjectOptions (#68)
  • provideSpectacularFeatureTest is to be removed in Spectacular version 16. Migrate to provideSpectacularFeatureTesting. (#76)
  • SpectacularFeatureTestingModule is to be removed in Spectacular version 16. Migrate to provideSpectacularFeatureTesting. (#76)

Migration

InjectFlags to InjectOptions

Before:

const ngZone = harness.inject(NgZone, InjectFlags.Optional);

After:

const ngZone = harness.inject(NgZone, {
  optional: true,
});

Spectacular 15.0.0-alpha.0

30 Jul 22:37
87cae4a
Compare
Choose a tag to compare
Pre-release

15.0.0-alpha.0 (2023-07-31)

Features

  • SpectacularAppComponent is a standalone Angular component (#68)
  • Passing InjectOptions to SpectacularApplicationHarness#inject is supported (#68)
  • Passing InjectOptions to SpectacularFeatureHarness#inject is supported (#68)
  • Passing InjectOptions to SpectacularPipeHarnes#inject is supported (#68)

BREAKING CHANGES

  • Require Angular 15.0
  • SpectacularAppComponent is a standalone Angular component. Your tests might need to take this into account depending on your setup. Most tests shouldn't need to change.

Migration

Feature test using Angular Testing Library

Before:

await render(SpectacularAppComponent, {
  excludeComponentDeclaration: true,
  imports: [
    SpectacularFeatureTestingModule.withFeature({
      featurePath: crisisCenterPath,
      routes: [
        { path: crisisCenterPath, loadChildren: () => CrisisCenterModule },
      ],
    }),
  ],
});

After:

await render(SpectacularAppComponent, {
  providers: [
    provideSpectacularFeatureTesting({
      featurePath: crisisCenterPath,
      routes: [
        { path: crisisCenterPath, loadChildren: () => CrisisCenterModule },
      ],
    }),
  ],
});

DEPRECATIONS

  • Passing InjectFlags to SpectacularApplicationHarness#inject is deprecated in favor of passing InjectOptions (#68)
  • Passing InjectFlags to SpectacularFeatureHarness#inject is deprecated in favor of passing InjectOptions (#68)
  • Passing InjectFlags to SpectacularPipeHarnes#inject is deprecated in favor of passing InjectOptions (#68)

Migration

InjectFlags to InjectOptions

Before:

const ngZone = harness.inject(NgZone, InjectFlags.Optional);

After:

const ngZone = harness.inject(NgZone, {
  optional: true
});

Spectacular 14.1.0

21 Jul 01:29
cbd80c2
Compare
Choose a tag to compare

14.1.0 (2023-07-21)

Features

  • Support standalone pipe testing (#71)

Spectacular 14.0.1

21 Jul 00:02
03df1ce
Compare
Choose a tag to compare

14.0.1 (2023-07-21)

Refactors

  • Replace constructor injection with inject (#69)

Spectacular 14.0.0

16 Jul 23:53
f800d81
Compare
Choose a tag to compare

14.0.0 (2023-07-17)

BREAKING CHANGES

  • Requires Angular 14

Spectacular 13.0.0

15 Jul 01:05
b381016
Compare
Choose a tag to compare

13.0.0 (2023-07-15)

Features

  • CreateFeatureHarnessOptions#featureModule is replaced by CreateFeatureHarnessOptions#routes (#54)
  • SpectacularFeatureTestingModuleOptions#featureModule is replaced by SpectacularFeatureTestingModuleOptions#routes (#54)
  • SpectacularFeatureLocation is provided through createFeatureHarness, provideSpectacularFeatureTest or SpectacularFeatureTestingModule.withFeature (#54)
  • SpectacularFeatureRouter is provided through createFeatureHarness, provideSpectacularFeatureTest or SpectacularFeatureTestingModule.withFeature (#54)

Performance optimizations

  • Type imports are used to optimize the bundle (#57)

BREAKING CHANGES

  • Requires Angular 13
  • Requires RxJS >=6.5 <7.0 or >=7.4
  • The featureModule option is replaced by the routes option
  • Feature-aware navigation services are not provided by default

Migration

The feature-aware navigation services (SpectacularFeatureLocation and SpectacularFeatureRouter) must be provided through createFeatureHarness, provideSpectacularFeatureTest or SpectacularFeatureTestingModule.withFeature.

createFeatureHarness

Before:

const harness = createFeatureHarness({
  featureModule: CrisisCenterModule,
  featurePath: crisisCenterPath,
});

After:

const harness = createFeatureHarness({
  featurePath: crisisCenterPath,
  routes: [{ path: crisisCenterPath, loadChildren: () => CrisisCenterModule }],
});
SpectacularFeatureTestingModule

Before:

imports: [
  SpectacularFeatureTestingModule.withFeature({
    featureModule: CrisisCenterModule,
    featurePath: crisisCenterPath,
  }),
],

After:

imports: [
  SpectacularFeatureTestingModule.withFeature({
    featurePath: crisisCenterPath,
    routes: [
      { path: crisisCenterPath, loadChildren: () => CrisisCenterModule },
    ],
  }),
],

Spectacular 0.5.0

24 Jul 01:26
c601b0f
Compare
Choose a tag to compare
Spectacular 0.5.0 Pre-release
Pre-release

0.5.0 (2022-07-24)

Features

  • Add provideSpectacularFeatureTest (#47)

BREAKING CHANGES

  • Requires Angular 12
  • Partially Ivy-compiled

Spectacular 0.4.0

20 Jul 07:29
d1753ae
Compare
Choose a tag to compare
Spectacular 0.4.0 Pre-release
Pre-release

0.4.0 (2022-07-20)

Features

  • Add back pipeName option to createPipeHarness (#39)

BREAKING CHANGES

Add back the required pipeName option as PipeResolver is removed in Angular 13.1 and was internally used by Spectacular's Pipe Testing API.

Migration

Add pipeName option argument for createPipeHarness.

Before:

const harness = createPipeHarness({
  pipe: PowPipe,
  value: 2,
});

After:

const harness = createPipeHarness({
  pipe: PowPipe,
  pipeName: 'pow',
  value: 2,
});

Spectacular 0.3.0

31 May 21:47
e52bece
Compare
Choose a tag to compare
Spectacular 0.3.0 Pre-release
Pre-release

0.3.0 (2022-05-31)

Features

  • Remove pipeName option from createPipeHarness (#26)

BREAKING CHANGES

The pipeName option for createPipeHarness is removed. Instead, the pipe name is resolved through reflection.

Migration: Remove pipeName option arguments for createPipeHarness.

Spectacular 0.2.0

04 Mar 06:58
893ed94
Compare
Choose a tag to compare
Spectacular 0.2.0 Pre-release
Pre-release

0.2.0 (2021-03-04)

BREAKING CHANGES

  • createApplicationHarness returns Promise<SpectacularApplicationHarness>.

Bug fixes

  • Fix NGCC error when using Nx + Yarn (#20)
  • Fix asynchronous application initializer support (#19)
  • Fix support for combining asynchronous application initializer with bootstrap listener (#19)

Build changes

  • Remove @angular/forms dependency (#21)
  • Mark rxjs as peer dependency (#21)