@ackplus/nest-dynamic-templates 0.1.32 → 0.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,172 +1,288 @@
1
- # @nestjs/dynamic-templates
1
+ # NestJS Dynamic Templates
2
2
 
3
- A dynamic template management system for NestJS applications. This package provides a flexible way to manage and render templates with support for multiple template engines and language formats.
3
+ A powerful NestJS module for dynamic template management with support for multiple template engines and languages.
4
4
 
5
5
  ## Features
6
6
 
7
- - Support for multiple template engines (Nunjucks, Handlebars, EJS, Pug)
8
- - Support for multiple language formats (MJML, HTML, Markdown, Text)
9
- - Template layouts with inheritance
10
- - Scoped templates with fallback to system templates
11
- - Locale support with fallback
12
- - Template validation
13
- - TypeScript support
7
+ - 🚀 Multiple template engines (Nunjucks, Handlebars, EJS, Pug)
8
+ - 🌐 Multiple language support (HTML, MJML, Markdown, Text)
9
+ - 💾 Database storage for templates and layouts
10
+ - 🔧 Configurable and extensible
11
+ - 🎯 TypeScript support
12
+ - 📦 Easy integration
14
13
 
15
14
  ## Installation
16
15
 
17
16
  ```bash
18
- npm install @nestjs/dynamic-templates
17
+ npm install @ackplus/nest-dynamic-templates
18
+ # or
19
+ yarn add @ackplus/nest-dynamic-templates
19
20
  ```
20
21
 
21
- ## Quick Start
22
+ ## Usage
22
23
 
23
- 1. Import the module in your `app.module.ts`:
24
+ ### Option 1: Basic Usage (No Configuration Required)
24
25
 
25
26
  ```typescript
26
27
  import { Module } from '@nestjs/common';
27
- import { TypeOrmModule } from '@nestjs/typeorm';
28
- import { NestDynamicTemplatesModule } from '@nestjs/dynamic-templates';
28
+ import { NestDynamicTemplatesModule } from '@ackplus/nest-dynamic-templates';
29
29
 
30
30
  @Module({
31
31
  imports: [
32
- TypeOrmModule.forRoot({
33
- // your database configuration
32
+ NestDynamicTemplatesModule, // Provides basic services with default configuration
33
+ ],
34
+ })
35
+ export class AppModule {}
36
+ ```
37
+
38
+ ### Option 2: Using forFeature() (Explicit Basic Usage)
39
+
40
+ ```typescript
41
+ import { Module } from '@nestjs/common';
42
+ import { NestDynamicTemplatesModule } from '@ackplus/nest-dynamic-templates';
43
+
44
+ @Module({
45
+ imports: [
46
+ NestDynamicTemplatesModule.forFeature(), // Explicitly import basic services
47
+ ],
48
+ })
49
+ export class AppModule {}
50
+ ```
51
+
52
+ ### Option 3: Using forRoot() (With Configuration)
53
+
54
+ ```typescript
55
+ import { Module } from '@nestjs/common';
56
+ import { NestDynamicTemplatesModule, TemplateEngineEnum, TemplateLanguageEnum } from '@ackplus/nest-dynamic-templates';
57
+
58
+ @Module({
59
+ imports: [
60
+ NestDynamicTemplatesModule.forRoot({
61
+ isGlobal: true,
62
+ engines: {
63
+ template: [TemplateEngineEnum.NUNJUCKS, TemplateEngineEnum.HANDLEBARS],
64
+ language: [TemplateLanguageEnum.HTML, TemplateLanguageEnum.MJML],
65
+ },
66
+ enginesOptions: {
67
+ filters: {
68
+ uppercase: (str) => str.toUpperCase(),
69
+ reverse: (str) => str.split('').reverse().join(''),
70
+ },
71
+ template: {
72
+ [TemplateEngineEnum.NUNJUCKS]: {
73
+ autoescape: true,
74
+ },
75
+ },
76
+ },
77
+ }),
78
+ ],
79
+ })
80
+ export class AppModule {}
81
+ ```
82
+
83
+ ### Option 4: Using forRootAsync() (Async Configuration)
84
+
85
+ #### With useFactory
86
+
87
+ ```typescript
88
+ import { Module } from '@nestjs/common';
89
+ import { ConfigModule, ConfigService } from '@nestjs/config';
90
+ import { NestDynamicTemplatesModule } from '@ackplus/nest-dynamic-templates';
91
+
92
+ @Module({
93
+ imports: [
94
+ ConfigModule.forRoot(),
95
+ NestDynamicTemplatesModule.forRootAsync({
96
+ imports: [ConfigModule],
97
+ useFactory: async (configService: ConfigService) => ({
98
+ isGlobal: true,
99
+ engines: {
100
+ template: configService.get('TEMPLATE_ENGINES')?.split(',') || ['nunjucks'],
101
+ language: configService.get('LANGUAGE_ENGINES')?.split(',') || ['html'],
102
+ },
103
+ }),
104
+ inject: [ConfigService],
34
105
  }),
35
- NestDynamicTemplatesModule
36
- ]
106
+ ],
37
107
  })
38
108
  export class AppModule {}
39
109
  ```
40
110
 
41
- 2. Use the services in your application:
111
+ #### With useClass
42
112
 
43
113
  ```typescript
44
114
  import { Injectable } from '@nestjs/common';
45
- import { TemplateService } from '@nestjs/dynamic-templates';
46
- import { TemplateTypeEnum } from '@nestjs/dynamic-templates';
115
+ import {
116
+ NestDynamicTemplatesModuleOptionsFactory,
117
+ NestDynamicTemplatesModuleConfig,
118
+ TemplateEngineEnum,
119
+ TemplateLanguageEnum
120
+ } from '@ackplus/nest-dynamic-templates';
121
+
122
+ @Injectable()
123
+ export class TemplatesConfigService implements NestDynamicTemplatesModuleOptionsFactory {
124
+ createNestDynamicTemplatesModuleOptions(): NestDynamicTemplatesModuleConfig {
125
+ return {
126
+ isGlobal: true,
127
+ engines: {
128
+ template: [TemplateEngineEnum.NUNJUCKS],
129
+ language: [TemplateLanguageEnum.HTML, TemplateLanguageEnum.MJML],
130
+ },
131
+ };
132
+ }
133
+ }
134
+
135
+ @Module({
136
+ imports: [
137
+ NestDynamicTemplatesModule.forRootAsync({
138
+ useClass: TemplatesConfigService,
139
+ }),
140
+ ],
141
+ providers: [TemplatesConfigService],
142
+ })
143
+ export class AppModule {}
144
+ ```
145
+
146
+ ## Using the Services
147
+
148
+ Once imported, you can inject and use the template services:
149
+
150
+ ```typescript
151
+ import { Injectable } from '@nestjs/common';
152
+ import { TemplateService, TemplateLayoutService } from '@ackplus/nest-dynamic-templates';
47
153
 
48
154
  @Injectable()
49
155
  export class EmailService {
50
- constructor(private readonly templateService: TemplateService) {}
156
+ constructor(
157
+ private readonly templateService: TemplateService,
158
+ private readonly templateLayoutService: TemplateLayoutService,
159
+ ) {}
51
160
 
52
161
  async sendWelcomeEmail(user: any) {
53
- const result = await this.templateService.renderTemplate({
54
- type: TemplateTypeEnum.EMAIL,
55
- name: 'welcome',
56
- scope: 'user',
57
- scopeId: user.id,
58
- locale: user.locale,
59
- context: {
60
- user,
61
- appName: 'My App'
62
- }
162
+ // Create a template
163
+ const template = await this.templateService.createTemplate({
164
+ name: 'welcome-email',
165
+ displayName: 'Welcome Email',
166
+ engine: 'nunjucks',
167
+ language: 'html',
168
+ subject: 'Welcome {{ user.name }}!',
169
+ content: '<h1>Hello {{ user.name }}</h1><p>Welcome to our platform!</p>',
170
+ scope: 'system',
171
+ locale: 'en',
63
172
  });
64
173
 
65
- // Send email using your email service
66
- await this.emailService.send({
67
- to: user.email,
68
- subject: result.subject,
69
- html: result.content
174
+ // Render the template
175
+ const rendered = await this.templateService.renderTemplate('welcome-email', {
176
+ user: { name: user.name },
70
177
  });
178
+
179
+ console.log('Rendered email:', rendered);
180
+ // Send email using your preferred email service
181
+ }
182
+
183
+ async createEmailLayout() {
184
+ // Create a layout
185
+ const layout = await this.templateLayoutService.createTemplateLayout({
186
+ name: 'email-layout',
187
+ displayName: 'Email Layout',
188
+ engine: 'nunjucks',
189
+ language: 'html',
190
+ content: `
191
+ <!DOCTYPE html>
192
+ <html>
193
+ <head><title>{{ subject }}</title></head>
194
+ <body>
195
+ <header>Our Company</header>
196
+ <main>{{ content | safe }}</main>
197
+ <footer>© 2024 Our Company</footer>
198
+ </body>
199
+ </html>
200
+ `,
201
+ scope: 'system',
202
+ locale: 'en',
203
+ });
204
+
205
+ return layout;
71
206
  }
72
207
  }
73
208
  ```
74
209
 
75
- ## Template Creation
210
+ ## Configuration Options
76
211
 
77
- Create a template using the `TemplateService`:
212
+ ### NestDynamicTemplatesModuleConfig
78
213
 
79
214
  ```typescript
80
- await templateService.createTemplate({
81
- name: 'welcome',
82
- type: TemplateTypeEnum.EMAIL,
83
- format: TemplateFormatEnum.NUNJUCKS,
84
- languageFormat: LanguageFormatEnum.MJML,
85
- content: `
86
- <mjml>
87
- <mj-body>
88
- <mj-section>
89
- <mj-column>
90
- <mj-text>
91
- Welcome to {{ appName }}, {{ user.name }}!
92
- </mj-text>
93
- </mj-column>
94
- </mj-section>
95
- </mj-body>
96
- </mjml>
97
- `,
98
- subject: 'Welcome to {{ appName }}',
99
- scope: 'user',
100
- scopeId: '123',
101
- locale: 'en'
102
- });
215
+ interface NestDynamicTemplatesModuleConfig {
216
+ isGlobal?: boolean; // Make module global
217
+ engines?: {
218
+ template?: TemplateEngineEnum[]; // Enabled template engines
219
+ language?: TemplateLanguageEnum[]; // Enabled language engines
220
+ };
221
+ enginesOptions?: {
222
+ filters?: Record<string, Function>; // Custom filters
223
+ template?: Partial<Record<TemplateEngineEnum, any>>; // Engine-specific options
224
+ language?: Partial<Record<TemplateLanguageEnum, any>>; // Language-specific options
225
+ };
226
+ }
103
227
  ```
104
228
 
105
- ## Template Layouts
229
+ ### Supported Engines
106
230
 
107
- Create a layout template:
231
+ #### Template Engines
232
+ - `nunjucks` - Nunjucks templating
233
+ - `handlebars` - Handlebars templating
234
+ - `ejs` - EJS templating
235
+ - `pug` - Pug templating
108
236
 
109
- ```typescript
110
- await templateLayoutService.createLayout({
111
- name: 'email-base',
112
- format: TemplateFormatEnum.NUNJUCKS,
113
- languageFormat: LanguageFormatEnum.MJML,
114
- content: `
115
- <mjml>
116
- <mj-head>
117
- <mj-title>{{ title }}</mj-title>
118
- </mj-head>
119
- <mj-body>
120
- <mj-section>
121
- <mj-column>
122
- <mj-text>
123
- {{ content }}
124
- </mj-text>
125
- </mj-column>
126
- </mj-section>
127
- </mj-body>
128
- </mjml>
129
- `,
130
- scope: 'system'
131
- });
132
- ```
237
+ #### Language Engines
238
+ - `html` - HTML output
239
+ - `mjml` - MJML email templates
240
+ - `markdown` - Markdown output
241
+ - `text` - Plain text output
133
242
 
134
- Use the layout in a template:
243
+ ## Benefits of Each Approach
135
244
 
136
- ```typescript
137
- await templateService.createTemplate({
138
- name: 'welcome',
139
- type: TemplateTypeEnum.EMAIL,
140
- format: TemplateFormatEnum.NUNJUCKS,
141
- languageFormat: LanguageFormatEnum.MJML,
142
- content: 'Welcome to {{ appName }}, {{ user.name }}!',
143
- subject: 'Welcome to {{ appName }}',
144
- templateLayoutName: 'email-base',
145
- scope: 'user',
146
- scopeId: '123',
147
- locale: 'en'
148
- });
149
- ```
245
+ ### Basic Usage (`NestDynamicTemplatesModule`)
246
+ - ✅ **Zero configuration** - Works out of the box
247
+ - ✅ **Quick setup** - Just import and use
248
+ - ✅ **Default engines** - Nunjucks + HTML/MJML/Text
249
+ - ❌ **Limited customization** - No custom filters or options
250
+
251
+ ### forFeature()
252
+ - **Explicit** - Clear intent for basic usage
253
+ - ✅ **Same as basic** - All benefits of basic usage
254
+ - ✅ **Consistent API** - Matches other NestJS modules
255
+
256
+ ### forRoot()
257
+ - ✅ **Full configuration** - Complete control over engines and options
258
+ - ✅ **Custom filters** - Add your own template filters
259
+ - ✅ **Engine options** - Configure individual engines
260
+ - ✅ **Global module** - Available throughout the app
150
261
 
151
- ## API Reference
262
+ ### forRootAsync()
263
+ - ✅ **Dynamic configuration** - Load config from external sources
264
+ - ✅ **Dependency injection** - Use other services for configuration
265
+ - ✅ **Environment-based** - Different configs for different environments
266
+ - ✅ **Factory pattern** - Clean separation of configuration logic
152
267
 
153
- ### TemplateService
268
+ ## Migration Guide
154
269
 
155
- - `renderTemplate(data: RenderTemplateDto): Promise<TemplateOutputDTO>`
156
- - `createTemplate(data: CreateTemplateDto): Promise<NestDynamicTemplate>`
157
- - `updateTemplate(data: UpdateTemplateDto): Promise<NestDynamicTemplate>`
158
- - `deleteTemplate(id: string): Promise<void>`
159
- - `findTemplate(id: string): Promise<NestDynamicTemplate>`
160
- - `findTemplates(type?: TemplateTypeEnum, scope?: string, scopeId?: string, locale?: string): Promise<NestDynamicTemplate[]>`
270
+ If you're upgrading from a previous version:
161
271
 
162
- ### TemplateLayoutService
272
+ ### Before
273
+ ```typescript
274
+ // Only forRoot was available
275
+ NestDynamicTemplatesModule.forRoot(config)
276
+ ```
163
277
 
164
- - `renderLayout(data: RenderTemplateLayoutDto): Promise<string>`
165
- - `createLayout(data: CreateTemplateLayoutDto): Promise<TemplateLayout>`
166
- - `updateLayout(data: UpdateTemplateLayoutDto): Promise<TemplateLayout>`
167
- - `deleteLayout(id: string): Promise<void>`
168
- - `findLayout(id: string): Promise<TemplateLayout>`
169
- - `findLayouts(scope?: string, scopeId?: string, locale?: string): Promise<TemplateLayout[]>`
278
+ ### After
279
+ ```typescript
280
+ // Multiple options now available
281
+ NestDynamicTemplatesModule // Basic usage
282
+ NestDynamicTemplatesModule.forFeature() // Explicit basic usage
283
+ NestDynamicTemplatesModule.forRoot(config) // With configuration
284
+ NestDynamicTemplatesModule.forRootAsync(...) // Async configuration
285
+ ```
170
286
 
171
287
  ## License
172
288
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ackplus/nest-dynamic-templates",
3
- "version": "0.1.32",
3
+ "version": "0.1.34",
4
4
  "description": "Dynamic template management for NestJS applications",
5
5
  "author": "Chetan",
6
6
  "dependencies": {
package/src/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { NestDynamicTemplateLayout } from './lib/entities/template-layout.entity
2
2
  export * from './lib/nest-dynamic-templates.module';
3
3
  export * from './lib/services/template.service';
4
4
  export * from './lib/services/template-layout.service';
5
+ export * from './lib/services/template-config.service';
5
6
  export * from './lib/interfaces/module-config.interface';
6
7
  export * from './lib/interfaces/template.types';
7
8
  export * from './lib/dto/create-template.dto';
package/src/index.js CHANGED
@@ -7,6 +7,7 @@ const template_entity_1 = require("./lib/entities/template.entity");
7
7
  tslib_1.__exportStar(require("./lib/nest-dynamic-templates.module"), exports);
8
8
  tslib_1.__exportStar(require("./lib/services/template.service"), exports);
9
9
  tslib_1.__exportStar(require("./lib/services/template-layout.service"), exports);
10
+ tslib_1.__exportStar(require("./lib/services/template-config.service"), exports);
10
11
  tslib_1.__exportStar(require("./lib/interfaces/module-config.interface"), exports);
11
12
  tslib_1.__exportStar(require("./lib/interfaces/template.types"), exports);
12
13
  tslib_1.__exportStar(require("./lib/dto/create-template.dto"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nest-dynamic-templates/src/index.ts"],"names":[],"mappings":";;;;AAAA,kFAAkF;AAClF,oEAAqE;AAErE,8EAAoD;AAGpD,0EAAgD;AAChD,iFAAuD;AAGvD,mFAAyD;AACzD,0EAAgD;AAGhD,wEAA8C;AAC9C,wEAA8C;AAC9C,wEAA8C;AAC9C,+EAAqD;AACrD,+EAAqD;AACrD,+EAAqD;AAGxC,QAAA,4BAA4B,GAAG;IACxC,qCAAmB;IACnB,kDAAyB;CAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/nest-dynamic-templates/src/index.ts"],"names":[],"mappings":";;;;AAAA,kFAAkF;AAClF,oEAAqE;AAErE,8EAAoD;AAGpD,0EAAgD;AAChD,iFAAuD;AACvD,iFAAuD;AAGvD,mFAAyD;AACzD,0EAAgD;AAGhD,wEAA8C;AAC9C,wEAA8C;AAC9C,wEAA8C;AAC9C,+EAAqD;AACrD,+EAAqD;AACrD,+EAAqD;AAGxC,QAAA,4BAA4B,GAAG;IACxC,qCAAmB;IACnB,kDAAyB;CAC5B,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare const NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG: unique symbol;
2
+ export declare const NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER = "NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG = void 0;
3
+ exports.NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER = exports.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG = void 0;
4
4
  exports.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG = Symbol('NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG');
5
+ exports.NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER = 'NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER';
5
6
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../../packages/nest-dynamic-templates/src/lib/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAC"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../../../packages/nest-dynamic-templates/src/lib/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAC;AACtF,QAAA,6CAA6C,GAAG,+CAA+C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { TemplateEngineEnum, TemplateLanguageEnum } from './template.types';
2
+ import { ModuleMetadata, Type } from '@nestjs/common';
2
3
  export interface EngineConfig {
3
4
  enabled: boolean;
4
5
  options?: Record<string, any>;
@@ -23,3 +24,13 @@ export interface NestDynamicTemplatesModuleConfig {
23
24
  language?: TemplateLanguageEnum[];
24
25
  };
25
26
  }
27
+ export interface NestDynamicTemplatesModuleOptionsFactory {
28
+ createNestDynamicTemplatesModuleOptions(): Promise<NestDynamicTemplatesModuleConfig> | NestDynamicTemplatesModuleConfig;
29
+ }
30
+ export interface NestDynamicTemplatesModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
31
+ isGlobal?: boolean;
32
+ useExisting?: Type<NestDynamicTemplatesModuleOptionsFactory>;
33
+ useClass?: Type<NestDynamicTemplatesModuleOptionsFactory>;
34
+ useFactory?: (...args: any[]) => Promise<NestDynamicTemplatesModuleConfig> | NestDynamicTemplatesModuleConfig;
35
+ inject?: any[];
36
+ }
@@ -1,5 +1,10 @@
1
1
  import { DynamicModule } from '@nestjs/common';
2
- import { NestDynamicTemplatesModuleConfig } from './interfaces/module-config.interface';
2
+ import { NestDynamicTemplatesModuleConfig, NestDynamicTemplatesModuleAsyncOptions } from './interfaces/module-config.interface';
3
3
  export declare class NestDynamicTemplatesModule {
4
+ static moduleDefaultOptions: Partial<NestDynamicTemplatesModuleConfig>;
4
5
  static forRoot(config?: NestDynamicTemplatesModuleConfig): DynamicModule;
6
+ static forRootAsync(options: NestDynamicTemplatesModuleAsyncOptions): DynamicModule;
7
+ private static createAsyncProviders;
8
+ private static createAsyncOptionsProvider;
9
+ private static getOptions;
5
10
  }
@@ -11,6 +11,7 @@ const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
11
11
  const template_engine_registry_1 = require("./services/template-engine.registry");
12
12
  const template_layout_service_1 = require("./services/template-layout.service");
13
13
  const template_service_1 = require("./services/template.service");
14
+ const template_config_service_1 = require("./services/template-config.service");
14
15
  const constant_1 = require("./constant");
15
16
  const template_types_1 = require("./interfaces/template.types");
16
17
  const template_types_2 = require("./interfaces/template.types");
@@ -22,30 +23,109 @@ const defaultConfig = {
22
23
  };
23
24
  let NestDynamicTemplatesModule = NestDynamicTemplatesModule_1 = class NestDynamicTemplatesModule {
24
25
  static forRoot(config = {}) {
25
- const mergedConfig = (0, deepmerge_1.default)(defaultConfig, config);
26
+ const mergedConfig = this.getOptions(config);
27
+ template_config_service_1.TemplateConfigService.setOptions(mergedConfig);
26
28
  return {
27
29
  module: NestDynamicTemplatesModule_1,
28
- global: config.isGlobal,
30
+ global: mergedConfig.isGlobal,
31
+ imports: [
32
+ typeorm_1.TypeOrmModule.forFeature([template_entity_1.NestDynamicTemplate, template_layout_entity_1.NestDynamicTemplateLayout]),
33
+ ],
29
34
  providers: [
30
- {
31
- provide: constant_1.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG,
32
- useValue: mergedConfig,
33
- },
35
+ template_config_service_1.TemplateConfigService,
34
36
  template_engine_registry_1.TemplateEngineRegistryService,
35
37
  template_layout_service_1.TemplateLayoutService,
36
38
  template_service_1.TemplateService,
37
39
  ],
38
40
  exports: [
41
+ template_config_service_1.TemplateConfigService,
39
42
  template_service_1.TemplateService,
40
43
  template_layout_service_1.TemplateLayoutService,
41
44
  ],
42
45
  };
43
46
  }
47
+ static forRootAsync(options) {
48
+ const asyncProviders = this.createAsyncProviders(options);
49
+ return {
50
+ module: NestDynamicTemplatesModule_1,
51
+ global: options.isGlobal,
52
+ imports: [
53
+ typeorm_1.TypeOrmModule.forFeature([template_entity_1.NestDynamicTemplate, template_layout_entity_1.NestDynamicTemplateLayout]),
54
+ ...(options.imports || []),
55
+ ],
56
+ providers: [
57
+ ...asyncProviders,
58
+ template_config_service_1.TemplateConfigService,
59
+ template_engine_registry_1.TemplateEngineRegistryService,
60
+ template_layout_service_1.TemplateLayoutService,
61
+ template_service_1.TemplateService,
62
+ ],
63
+ exports: [
64
+ template_config_service_1.TemplateConfigService,
65
+ template_service_1.TemplateService,
66
+ template_layout_service_1.TemplateLayoutService,
67
+ ],
68
+ };
69
+ }
70
+ static createAsyncProviders(options) {
71
+ if (options.useExisting || options.useFactory) {
72
+ return [this.createAsyncOptionsProvider(options)];
73
+ }
74
+ if (options.useClass) {
75
+ return [
76
+ this.createAsyncOptionsProvider(options),
77
+ {
78
+ provide: options.useClass,
79
+ useClass: options.useClass,
80
+ },
81
+ ];
82
+ }
83
+ return [];
84
+ }
85
+ static createAsyncOptionsProvider(options) {
86
+ if (options.useFactory) {
87
+ return {
88
+ provide: constant_1.NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER,
89
+ useFactory: async (...args) => {
90
+ const userOptions = await options.useFactory(...args);
91
+ const mergedOptions = this.getOptions(userOptions);
92
+ template_config_service_1.TemplateConfigService.setOptions(mergedOptions);
93
+ return mergedOptions;
94
+ },
95
+ inject: options.inject || [],
96
+ };
97
+ }
98
+ return {
99
+ provide: constant_1.NEST_DYNAMIC_TEMPLATES_ASYNC_OPTIONS_PROVIDER,
100
+ useFactory: async (optionsFactory) => {
101
+ const userOptions = await optionsFactory.createNestDynamicTemplatesModuleOptions();
102
+ const mergedOptions = this.getOptions(userOptions);
103
+ template_config_service_1.TemplateConfigService.setOptions(mergedOptions);
104
+ return mergedOptions;
105
+ },
106
+ inject: [options.useExisting || options.useClass],
107
+ };
108
+ }
109
+ static getOptions(options) {
110
+ return (0, deepmerge_1.default)(this.moduleDefaultOptions, options);
111
+ }
44
112
  };
45
113
  exports.NestDynamicTemplatesModule = NestDynamicTemplatesModule;
114
+ NestDynamicTemplatesModule.moduleDefaultOptions = defaultConfig;
46
115
  exports.NestDynamicTemplatesModule = NestDynamicTemplatesModule = NestDynamicTemplatesModule_1 = tslib_1.__decorate([
47
116
  (0, common_1.Module)({
48
117
  imports: [typeorm_1.TypeOrmModule.forFeature([template_entity_1.NestDynamicTemplate, template_layout_entity_1.NestDynamicTemplateLayout])],
118
+ providers: [
119
+ template_config_service_1.TemplateConfigService,
120
+ template_engine_registry_1.TemplateEngineRegistryService,
121
+ template_layout_service_1.TemplateLayoutService,
122
+ template_service_1.TemplateService,
123
+ ],
124
+ exports: [
125
+ template_config_service_1.TemplateConfigService,
126
+ template_service_1.TemplateService,
127
+ template_layout_service_1.TemplateLayoutService,
128
+ ],
49
129
  })
50
130
  ], NestDynamicTemplatesModule);
51
131
  //# sourceMappingURL=nest-dynamic-templates.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nest-dynamic-templates.module.js","sourceRoot":"","sources":["../../../../../packages/nest-dynamic-templates/src/lib/nest-dynamic-templates.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAAuD;AACvD,6CAAgD;AAChD,gEAAiE;AACjE,8EAA8E;AAE9E,kEAAkC;AAClC,kFAAoF;AACpF,gFAA2E;AAC3E,kEAA8D;AAC9D,yCAAkE;AAClE,gEAAiE;AACjE,gEAAmE;AAGnE,MAAM,aAAa,GAAqC;IACtD,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC,mCAAkB,CAAC,QAAQ,CAAC;QACvC,QAAQ,EAAE,CAAC,qCAAoB,CAAC,IAAI,EAAE,qCAAoB,CAAC,IAAI,EAAE,qCAAoB,CAAC,IAAI,CAAC;KAC5F;CACF,CAAA;AAKM,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAErC,MAAM,CAAC,OAAO,CAAC,SAA2C,EAAE;QAC1D,MAAM,YAAY,GAAG,IAAA,mBAAS,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAEtD,OAAO;YACL,MAAM,EAAE,4BAA0B;YAClC,MAAM,EAAE,MAAM,CAAC,QAAQ;YACvB,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,+CAAoC;oBAC7C,QAAQ,EAAE,YAAY;iBACvB;gBACD,wDAA6B;gBAC7B,+CAAqB;gBACrB,kCAAe;aAChB;YACD,OAAO,EAAE;gBACP,kCAAe;gBACf,+CAAqB;aACtB;SACF,CAAC;IACJ,CAAC;CAEF,CAAA;AAxBY,gEAA0B;qCAA1B,0BAA0B;IAHtC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,qCAAmB,EAAE,kDAAyB,CAAC,CAAC,CAAC;KACtF,CAAC;GACW,0BAA0B,CAwBtC"}
1
+ {"version":3,"file":"nest-dynamic-templates.module.js","sourceRoot":"","sources":["../../../../../packages/nest-dynamic-templates/src/lib/nest-dynamic-templates.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { NestDynamicTemplatesModuleConfig } from '../interfaces/module-config.interface';
2
+ import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
3
+ export declare class TemplateConfigService {
4
+ private static config;
5
+ private static readonly defaultConfig;
6
+ static setOptions(config: NestDynamicTemplatesModuleConfig): void;
7
+ static getOptions(): NestDynamicTemplatesModuleConfig;
8
+ static hasConfig(): boolean;
9
+ static reset(): void;
10
+ static get<K extends keyof NestDynamicTemplatesModuleConfig>(key: K): NestDynamicTemplatesModuleConfig[K];
11
+ static isTemplateEngineEnabled(engine: TemplateEngineEnum): boolean;
12
+ static isLanguageEngineEnabled(language: TemplateLanguageEnum): boolean;
13
+ static getEnabledTemplateEngines(): TemplateEngineEnum[];
14
+ static getEnabledLanguageEngines(): TemplateLanguageEnum[];
15
+ static getTemplateEngineOptions(engine: TemplateEngineEnum): any;
16
+ static getLanguageEngineOptions(language: TemplateLanguageEnum): any;
17
+ static getCustomFilters(): Record<string, Function>;
18
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateConfigService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const template_types_1 = require("../interfaces/template.types");
7
+ let TemplateConfigService = class TemplateConfigService {
8
+ static setOptions(config) {
9
+ this.config = { ...this.defaultConfig, ...config };
10
+ }
11
+ static getOptions() {
12
+ if (!this.config) {
13
+ return this.defaultConfig;
14
+ }
15
+ return this.config;
16
+ }
17
+ static hasConfig() {
18
+ return !!this.config;
19
+ }
20
+ static reset() {
21
+ this.config = { ...this.defaultConfig };
22
+ }
23
+ static get(key) {
24
+ const config = this.getOptions();
25
+ return config[key];
26
+ }
27
+ static isTemplateEngineEnabled(engine) {
28
+ const config = this.getOptions();
29
+ return config.engines?.template?.includes(engine) ?? false;
30
+ }
31
+ static isLanguageEngineEnabled(language) {
32
+ const config = this.getOptions();
33
+ return config.engines?.language?.includes(language) ?? false;
34
+ }
35
+ static getEnabledTemplateEngines() {
36
+ const config = this.getOptions();
37
+ return config.engines?.template ?? this.defaultConfig.engines.template;
38
+ }
39
+ static getEnabledLanguageEngines() {
40
+ const config = this.getOptions();
41
+ return config.engines?.language ?? this.defaultConfig.engines.language;
42
+ }
43
+ static getTemplateEngineOptions(engine) {
44
+ const config = this.getOptions();
45
+ return config.enginesOptions?.template?.[engine];
46
+ }
47
+ static getLanguageEngineOptions(language) {
48
+ const config = this.getOptions();
49
+ return config.enginesOptions?.language?.[language];
50
+ }
51
+ static getCustomFilters() {
52
+ const config = this.getOptions();
53
+ return config.enginesOptions?.filters ?? {};
54
+ }
55
+ };
56
+ exports.TemplateConfigService = TemplateConfigService;
57
+ TemplateConfigService.defaultConfig = {
58
+ engines: {
59
+ template: [template_types_1.TemplateEngineEnum.NUNJUCKS],
60
+ language: [template_types_1.TemplateLanguageEnum.HTML, template_types_1.TemplateLanguageEnum.MJML, template_types_1.TemplateLanguageEnum.TEXT]
61
+ }
62
+ };
63
+ exports.TemplateConfigService = TemplateConfigService = tslib_1.__decorate([
64
+ (0, common_1.Injectable)()
65
+ ], TemplateConfigService);
66
+ //# sourceMappingURL=template-config.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-config.service.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template-config.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAE5C,iEAAwF;AAGjF,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAa9B,MAAM,CAAC,UAAU,CAAC,MAAwC;QACtD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;IACvD,CAAC;IAKD,MAAM,CAAC,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAKD,MAAM,CAAC,SAAS;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAKD,MAAM,CAAC,KAAK;QACR,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;IAKD,MAAM,CAAC,GAAG,CACN,GAAM;QAEN,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAKD,MAAM,CAAC,uBAAuB,CAAC,MAA0B;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/D,CAAC;IAKD,MAAM,CAAC,uBAAuB,CAAC,QAA8B;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACjE,CAAC;IAKD,MAAM,CAAC,yBAAyB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,QAAS,CAAC;IAC7E,CAAC;IAKD,MAAM,CAAC,yBAAyB;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,QAAS,CAAC;IAC7E,CAAC;IAKD,MAAM,CAAC,wBAAwB,CAAC,MAA0B;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAKD,MAAM,CAAC,wBAAwB,CAAC,QAA8B;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAKD,MAAM,CAAC,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC;IAChD,CAAC;;AAzGQ,sDAAqB;AAGN,mCAAa,GAAqC;IACtE,OAAO,EAAE;QACL,QAAQ,EAAE,CAAC,mCAAkB,CAAC,QAAQ,CAAC;QACvC,QAAQ,EAAE,CAAC,qCAAoB,CAAC,IAAI,EAAE,qCAAoB,CAAC,IAAI,EAAE,qCAAoB,CAAC,IAAI,CAAC;KAC9F;CACJ,AALoC,CAKnC;gCARO,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CA0GjC"}
@@ -1,13 +1,12 @@
1
1
  import { TemplateEngineEnum, TemplateLanguageEnum } from '../interfaces/template.types';
2
- import { NestDynamicTemplatesModuleConfig } from '../interfaces/module-config.interface';
3
2
  import { TemplateEngine } from '../engines/template-engine';
4
3
  import { LanguageEngine } from '../engines/language-engine';
5
4
  type ClassType<T> = new (...args: any[]) => T;
6
5
  export declare class TemplateEngineRegistryService {
7
- private config;
8
6
  private templateEngines;
9
7
  private languageEngines;
10
- constructor(config: NestDynamicTemplatesModuleConfig);
8
+ private config;
9
+ constructor();
11
10
  registerTemplateEngines(engineClasses: ClassType<TemplateEngine>[]): void;
12
11
  registerTemplateEngine(format: TemplateEngineEnum, engine: TemplateEngine): void;
13
12
  registerLanguageEngine(format: TemplateLanguageEnum, engine: LanguageEngine): void;
@@ -10,12 +10,12 @@ const language_1 = require("../engines/language");
10
10
  const ejs_engine_1 = require("../engines/template/ejs.engine");
11
11
  const handlebars_engine_1 = require("../engines/template/handlebars.engine");
12
12
  const pug_engine_1 = require("../engines/template/pug.engine");
13
- const constant_1 = require("../constant");
13
+ const template_config_service_1 = require("./template-config.service");
14
14
  let TemplateEngineRegistryService = class TemplateEngineRegistryService {
15
- constructor(config) {
16
- this.config = config;
15
+ constructor() {
17
16
  this.templateEngines = new Map();
18
17
  this.languageEngines = new Map();
18
+ this.config = template_config_service_1.TemplateConfigService.getOptions();
19
19
  this.registerTemplateEngines([
20
20
  nunjucks_engine_1.NunjucksEngine,
21
21
  handlebars_engine_1.HandlebarsEngine,
@@ -88,7 +88,6 @@ let TemplateEngineRegistryService = class TemplateEngineRegistryService {
88
88
  exports.TemplateEngineRegistryService = TemplateEngineRegistryService;
89
89
  exports.TemplateEngineRegistryService = TemplateEngineRegistryService = tslib_1.__decorate([
90
90
  (0, common_1.Injectable)(),
91
- tslib_1.__param(0, (0, common_1.Inject)(constant_1.NEST_DYNAMIC_TEMPLATES_MODULE_CONFIG)),
92
- tslib_1.__metadata("design:paramtypes", [Object])
91
+ tslib_1.__metadata("design:paramtypes", [])
93
92
  ], TemplateEngineRegistryService);
94
93
  //# sourceMappingURL=template-engine.registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-engine.registry.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template-engine.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-engine.registry.js","sourceRoot":"","sources":["../../../../../../packages/nest-dynamic-templates/src/lib/services/template-engine.registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":"5.7.3"}
1
+ {"version":"5.8.3"}