Skip to content

Commit 4d7bdf2

Browse files
committed
feat: add provideImageKit for standalone angular apps
1 parent 196ce69 commit 4d7bdf2

13 files changed

+44
-24
lines changed

sdk/src/lib/ik-image/ik-image.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, AfterViewInit, OnInit, ElementRef, Input, OnChanges } from '@angular/core';
2-
import { ImagekitService } from '../imagekitio-angular.service';
2+
import { ImagekitService } from '../imagekit-angular.service';
33
import { Dict, QueryParameters, IkImageComponentOptions } from '../utility/ik-type-def-collection';
44
import { getInt } from '../utility/utils';
55
import { buildSrc, getResponsiveImageAttributes, SrcOptions } from '@imagekit/javascript';

sdk/src/lib/ik-video/ik-video.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Component, OnInit, ElementRef, Input } from '@angular/core';
2-
import { ImagekitService } from '../imagekitio-angular.service';
2+
import { ImagekitService } from '../imagekit-angular.service';
33
import { IkVideoComponentOptions, QueryParameters, Dict } from '../utility/ik-type-def-collection';
44
import { buildSrc, SrcOptions } from '@imagekit/javascript';
55
import type { Transformation } from '@imagekit/javascript'
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ import { CommonModule } from '@angular/common';
22
import { ModuleWithProviders, NgModule } from '@angular/core';
33
import { IkImageComponent } from './ik-image/ik-image.component';
44
import { IkVideoComponent } from './ik-video/ik-video.component';
5-
import { ImageKitConfiguration, ImagekitService } from './imagekitio-angular.service';
5+
import { ImagekitService } from './imagekit-angular.service';
6+
import { ImageKitConfiguration } from './utility/ik-type-def-collection';
7+
import { provideImageKit } from './imagekit-angular.tokens';
68

79
@NgModule({
810
declarations: [
@@ -20,9 +22,7 @@ export class ImagekitioAngularModule {
2022
static forRoot(config: ImageKitConfiguration): ModuleWithProviders<ImagekitioAngularModule> {
2123
return {
2224
ngModule: ImagekitioAngularModule,
23-
providers: [
24-
{provide: ImageKitConfiguration, useValue: config }
25-
]
25+
providers: [provideImageKit(config)]
2626
};
2727
}
2828
}
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,19 @@
1-
import { Injectable } from '@angular/core';
1+
import { Inject, Injectable, InjectionToken, Provider } from '@angular/core';
22
import { buildSrc } from '@imagekit/javascript';
33
import type { SrcOptions } from '@imagekit/javascript';
4-
import type { SrcOptions as AngularSourceOptions } from './utility/ik-type-def-collection';
5-
const SDK_VERSION = '5.1.0';
6-
7-
export class ImageKitConfiguration {
8-
urlEndpoint: AngularSourceOptions['urlEndpoint'];
9-
transformationPosition?: AngularSourceOptions['transformationPosition'];
10-
sdkVersion?: string;
11-
}
4+
import { ImageKitConfiguration } from './utility/ik-type-def-collection';
5+
import { IMAGEKIT_CONFIG } from './imagekit-angular.tokens';
6+
const SDK_VERSION = '6.0.0';
127

138

149
@Injectable()
1510
export class ImagekitService {
1611

1712
private configuration: ImageKitConfiguration;
1813

19-
constructor(config: ImageKitConfiguration) {
14+
constructor(
15+
@Inject(IMAGEKIT_CONFIG) config: ImageKitConfiguration
16+
) {
2017
this.configuration = {
2118
...config,
2219
sdkVersion: `angular-${SDK_VERSION}`
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { InjectionToken, Provider } from "@angular/core";
2+
import { ImageKitConfiguration } from "./utility/ik-type-def-collection";
3+
4+
5+
export const IMAGEKIT_CONFIG = new InjectionToken<ImageKitConfiguration>(
6+
'IMAGEKIT_CONFIG'
7+
);
8+
9+
export function provideImageKit(
10+
config: ImageKitConfiguration
11+
): Provider {
12+
return { provide: IMAGEKIT_CONFIG, useValue: config };
13+
}

sdk/src/lib/utility/ik-type-def-collection.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,10 @@ export interface AuthResponse {
8383
signature: string;
8484
expire: string;
8585
token: string;
86-
}
86+
}
87+
88+
export class ImageKitConfiguration {
89+
urlEndpoint: SrcOptions['urlEndpoint'];
90+
transformationPosition?: SrcOptions['transformationPosition'];
91+
sdkVersion?: string;
92+
}

sdk/src/public-api.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
* Public API Surface of imagekitio-angular
33
*/
44

5-
export * from './lib/imagekitio-angular.service';
5+
export * from './lib/imagekit-angular.service';
6+
export * from './lib/imagekit-angular.tokens';
67
export * from './lib/ik-image/ik-image.component';
78
export * from './lib/ik-video/ik-video.component';
8-
export * from './lib/imagekitio-angular.module';
9+
export * from './lib/imagekit-angular.module';
10+
export { ImageKitConfiguration } from './lib/utility/ik-type-def-collection';
911

1012
// Re-export utility functions from @imagekit/javascript
1113
export {

sdk/tests/sdk-tests/ik-image-responsive.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ElementRef } from "@angular/core";
22
import { ComponentFixture, TestBed } from '@angular/core/testing';
33
import { IkImageComponent } from "../../src/lib/ik-image/ik-image.component";
4-
import { ImagekitService } from "../../src/lib/imagekitio-angular.service";
4+
import { ImagekitService } from "../../src/lib/imagekit-angular.service";
55
import { IkImageComponentOptions } from '../../src/lib/utility/ik-type-def-collection'
66

77
describe("IkImageComponent - Responsive Features", () => {

sdk/tests/sdk-tests/ik-image.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ElementRef } from "@angular/core";
22
import { ComponentFixture, TestBed } from '@angular/core/testing';
33
import { IkImageComponent } from "../../src/lib/ik-image/ik-image.component";
4-
import { ImagekitService } from "../../src/lib/imagekitio-angular.service";
4+
import { ImagekitService } from "../../src/lib/imagekit-angular.service";
55
import { IkImageComponentOptions } from '../../src/lib/utility/ik-type-def-collection'
66

77
describe("IkImageComponent", () => {

sdk/tests/sdk-tests/ik-video.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ElementRef } from "@angular/core";
22
import { ComponentFixture, TestBed } from '@angular/core/testing';
33
import { IkVideoComponent } from "../../src/lib/ik-video/ik-video.component";
4-
import { ImagekitService } from "../../src/lib/imagekitio-angular.service";
4+
import { ImagekitService } from "../../src/lib/imagekit-angular.service";
55
import { IkVideoComponentOptions } from '../../src/lib/utility/ik-type-def-collection'
66

77
describe("IkVideoComponent", () => {

0 commit comments

Comments
 (0)