Releases: ngworker/ngworker
Releases · ngworker/ngworker
Spectacular 15.0.0
15.0.0 (2023-08-08)
Features
SpectacularAppComponent
is a standalone Angular component (#68)- Passing
InjectOptions
toSpectacularApplicationHarness#inject
is supported (#68) - Passing
InjectOptions
toSpectacularFeatureHarness#inject
is supported (#68) - Passing
InjectOptions
toSpectacularPipeHarnes#inject
is supported (#68) provideSpectacularFeatureTest
requires aroutes
option and optionally accepts thewithInitialFeatureNavigation
feature and Angular Router features (#76)provideSpectacularFeatureTest
returns(EnvironmentProviders | Provider)[]
(#76)provideSpectacularFeatureTest
is marked as deprecated and a copy is renamed toprovideSpectacularFeatureTesting
(#76)- Add
withInitialFeatureNavigation
for use withprovideSpectacularFeatureTest
andprovideSpectacularFeatureTesting
(#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 toprovideSpectacularFeatureTest
. (#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
toSpectacularApplicationHarness#inject
is deprecated in favor of passingInjectOptions
(#68) - Passing
InjectFlags
toSpectacularFeatureHarness#inject
is deprecated in favor of passingInjectOptions
(#68) - Passing
InjectFlags
toSpectacularPipeHarnes#inject
is deprecated in favor of passingInjectOptions
(#68) provideSpectacularFeatureTest
is to be removed in Spectacular version 16. Migrate toprovideSpectacularFeatureTesting
. (#76)SpectacularFeatureTestingModule
is to be removed in Spectacular version 16. Migrate toprovideSpectacularFeatureTesting
. (#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
15.0.0-alpha.0 (2023-07-31)
Features
SpectacularAppComponent
is a standalone Angular component (#68)- Passing
InjectOptions
toSpectacularApplicationHarness#inject
is supported (#68) - Passing
InjectOptions
toSpectacularFeatureHarness#inject
is supported (#68) - Passing
InjectOptions
toSpectacularPipeHarnes#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
toSpectacularApplicationHarness#inject
is deprecated in favor of passingInjectOptions
(#68) - Passing
InjectFlags
toSpectacularFeatureHarness#inject
is deprecated in favor of passingInjectOptions
(#68) - Passing
InjectFlags
toSpectacularPipeHarnes#inject
is deprecated in favor of passingInjectOptions
(#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
Spectacular 14.0.1
Spectacular 14.0.0
14.0.0 (2023-07-17)
BREAKING CHANGES
- Requires Angular 14
Spectacular 13.0.0
13.0.0 (2023-07-15)
Features
CreateFeatureHarnessOptions#featureModule
is replaced byCreateFeatureHarnessOptions#routes
(#54)SpectacularFeatureTestingModuleOptions#featureModule
is replaced bySpectacularFeatureTestingModuleOptions#routes
(#54)SpectacularFeatureLocation
is provided throughcreateFeatureHarness
,provideSpectacularFeatureTest
orSpectacularFeatureTestingModule.withFeature
(#54)SpectacularFeatureRouter
is provided throughcreateFeatureHarness
,provideSpectacularFeatureTest
orSpectacularFeatureTestingModule.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 theroutes
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
0.5.0 (2022-07-24)
Features
- Add
provideSpectacularFeatureTest
(#47)
BREAKING CHANGES
- Requires Angular 12
- Partially Ivy-compiled
Spectacular 0.4.0
0.4.0 (2022-07-20)
Features
- Add back
pipeName
option tocreatePipeHarness
(#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
0.3.0 (2022-05-31)
Features
- Remove
pipeName
option fromcreatePipeHarness
(#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
0.2.0 (2021-03-04)
BREAKING CHANGES
createApplicationHarness
returnsPromise<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)