@ackplus/nest-dynamic-templates 1.1.15 → 2.0.0

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/MIGRATION.md +97 -0
  3. package/README.md +201 -116
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/config/resolve-config.d.ts +7 -0
  8. package/dist/lib/config/resolve-config.js +50 -0
  9. package/dist/lib/config/resolve-config.js.map +1 -0
  10. package/dist/lib/constant.d.ts +1 -0
  11. package/dist/lib/constant.js +2 -1
  12. package/dist/lib/constant.js.map +1 -1
  13. package/dist/lib/dto/create-template-layout.dto.js +49 -12
  14. package/dist/lib/dto/create-template-layout.dto.js.map +1 -1
  15. package/dist/lib/dto/create-template.dto.js +59 -14
  16. package/dist/lib/dto/create-template.dto.js.map +1 -1
  17. package/dist/lib/dto/render-template.dto.d.ts +3 -6
  18. package/dist/lib/dto/render-template.dto.js +17 -38
  19. package/dist/lib/dto/render-template.dto.js.map +1 -1
  20. package/dist/lib/engines/language/html.engine.d.ts +2 -3
  21. package/dist/lib/engines/language/html.engine.js +4 -34
  22. package/dist/lib/engines/language/html.engine.js.map +1 -1
  23. package/dist/lib/engines/language/markdown.engine.d.ts +4 -2
  24. package/dist/lib/engines/language/markdown.engine.js +20 -20
  25. package/dist/lib/engines/language/markdown.engine.js.map +1 -1
  26. package/dist/lib/engines/language/mjml.engine.d.ts +4 -2
  27. package/dist/lib/engines/language/mjml.engine.js +18 -20
  28. package/dist/lib/engines/language/mjml.engine.js.map +1 -1
  29. package/dist/lib/engines/language/text.engine.d.ts +2 -1
  30. package/dist/lib/engines/language/text.engine.js +2 -1
  31. package/dist/lib/engines/language/text.engine.js.map +1 -1
  32. package/dist/lib/engines/language-engine.d.ts +4 -1
  33. package/dist/lib/engines/language-engine.js +2 -0
  34. package/dist/lib/engines/language-engine.js.map +1 -1
  35. package/dist/lib/engines/load-peer.d.ts +1 -0
  36. package/dist/lib/engines/load-peer.js +21 -0
  37. package/dist/lib/engines/load-peer.js.map +1 -0
  38. package/dist/lib/engines/template/ejs.engine.d.ts +6 -3
  39. package/dist/lib/engines/template/ejs.engine.js +13 -12
  40. package/dist/lib/engines/template/ejs.engine.js.map +1 -1
  41. package/dist/lib/engines/template/handlebars.engine.d.ts +8 -3
  42. package/dist/lib/engines/template/handlebars.engine.js +26 -13
  43. package/dist/lib/engines/template/handlebars.engine.js.map +1 -1
  44. package/dist/lib/engines/template/nunjucks.engine.d.ts +8 -8
  45. package/dist/lib/engines/template/nunjucks.engine.js +26 -33
  46. package/dist/lib/engines/template/nunjucks.engine.js.map +1 -1
  47. package/dist/lib/engines/template/pug.engine.d.ts +7 -5
  48. package/dist/lib/engines/template/pug.engine.js +11 -20
  49. package/dist/lib/engines/template/pug.engine.js.map +1 -1
  50. package/dist/lib/engines/template-engine.d.ts +4 -1
  51. package/dist/lib/engines/template-engine.js +2 -0
  52. package/dist/lib/engines/template-engine.js.map +1 -1
  53. package/dist/lib/entities/template-layout.entity.js +51 -14
  54. package/dist/lib/entities/template-layout.entity.js.map +1 -1
  55. package/dist/lib/entities/template.entity.js +58 -15
  56. package/dist/lib/entities/template.entity.js.map +1 -1
  57. package/dist/lib/errors/diagnose.d.ts +11 -0
  58. package/dist/lib/errors/diagnose.js +162 -0
  59. package/dist/lib/errors/diagnose.js.map +1 -0
  60. package/dist/lib/errors/template.errors.d.ts +77 -13
  61. package/dist/lib/errors/template.errors.js +104 -59
  62. package/dist/lib/errors/template.errors.js.map +1 -1
  63. package/dist/lib/interfaces/module-config.interface.d.ts +29 -18
  64. package/dist/lib/nest-dynamic-templates.module.d.ts +1 -4
  65. package/dist/lib/nest-dynamic-templates.module.js +40 -96
  66. package/dist/lib/nest-dynamic-templates.module.js.map +1 -1
  67. package/dist/lib/services/template-config.service.d.ts +12 -15
  68. package/dist/lib/services/template-config.service.js +30 -45
  69. package/dist/lib/services/template-config.service.js.map +1 -1
  70. package/dist/lib/services/template-engine.registry.d.ts +6 -10
  71. package/dist/lib/services/template-engine.registry.js +42 -50
  72. package/dist/lib/services/template-engine.registry.js.map +1 -1
  73. package/dist/lib/services/template-layout.service.d.ts +1 -3
  74. package/dist/lib/services/template-layout.service.js +80 -152
  75. package/dist/lib/services/template-layout.service.js.map +1 -1
  76. package/dist/lib/services/template.service.d.ts +1 -3
  77. package/dist/lib/services/template.service.js +107 -209
  78. package/dist/lib/services/template.service.js.map +1 -1
  79. package/dist/tsconfig.build.tsbuildinfo +1 -1
  80. package/package.json +17 -20
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ackplus/nest-dynamic-templates",
3
- "version": "1.1.15",
4
- "description": "A powerful and flexible dynamic template rendering library for NestJS applications with support for Nunjucks, Handlebars, EJS, MJML, and more.",
3
+ "version": "2.0.0",
4
+ "description": "A powerful and flexible dynamic template rendering library for NestJS applications with support for Nunjucks, Handlebars, EJS, Pug, MJML, Markdown, and more.",
5
5
  "author": "AckPlus",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -9,6 +9,8 @@
9
9
  "files": [
10
10
  "dist",
11
11
  "README.md",
12
+ "CHANGELOG.md",
13
+ "MIGRATION.md",
12
14
  "LICENSE"
13
15
  ],
14
16
  "keywords": [
@@ -36,25 +38,18 @@
36
38
  "peerDependencies": {
37
39
  "@nestjs/common": "^10.0.0 || ^11.0.0",
38
40
  "@nestjs/core": "^10.0.0 || ^11.0.0",
39
- "@faker-js/faker": "^9.0.0 || ^10.0.0",
40
41
  "reflect-metadata": "^0.2",
41
42
  "handlebars": "^4.7.0",
42
43
  "mjml": "^4.14.0",
43
44
  "ejs": "^3.1.0",
44
45
  "nunjucks": "^3.2.0",
45
46
  "pug": "^3.0.0",
47
+ "marked": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0",
46
48
  "@nestjs/swagger": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0",
47
49
  "typeorm": "^0.3.0",
48
- "@nestjs/typeorm": "^10.0.0 || ^11.0.0",
49
- "htmlparser2": "^9.0.0"
50
+ "@nestjs/typeorm": "^10.0.0 || ^11.0.0"
50
51
  },
51
52
  "peerDependenciesMeta": {
52
- "ts-node": {
53
- "optional": true
54
- },
55
- "typescript": {
56
- "optional": true
57
- },
58
53
  "handlebars": {
59
54
  "optional": true
60
55
  },
@@ -70,7 +65,7 @@
70
65
  "pug": {
71
66
  "optional": true
72
67
  },
73
- "htmlparser2": {
68
+ "marked": {
74
69
  "optional": true
75
70
  },
76
71
  "@nestjs/swagger": {
@@ -85,15 +80,12 @@
85
80
  },
86
81
  "dependencies": {
87
82
  "lodash": "^4.17.21",
88
- "yargs": "^17.7.2",
89
83
  "class-validator": "^0.14.0",
90
- "class-transformer": "^0.5.1",
91
- "deepmerge": "^4.3.1"
84
+ "class-transformer": "^0.5.1"
92
85
  },
93
86
  "devDependencies": {
94
87
  "@eslint/eslintrc": "^3.2.0",
95
88
  "@eslint/js": "^9.18.0",
96
- "@faker-js/faker": "^9.9.0",
97
89
  "@nestjs-modules/ioredis": "^2.0.0",
98
90
  "@nestjs/cli": "^11.0.0",
99
91
  "@nestjs/common": "^11.0.1",
@@ -110,7 +102,6 @@
110
102
  "@types/nunjucks": "^3.2.0",
111
103
  "@types/pug": "^2.0.0",
112
104
  "@types/supertest": "^6.0.2",
113
- "@types/htmlparser2": "^3.10.0",
114
105
  "eslint": "^9.18.0",
115
106
  "eslint-config-prettier": "^10.0.1",
116
107
  "eslint-plugin-prettier": "^5.2.2",
@@ -124,12 +115,13 @@
124
115
  "ts-loader": "^9.5.2",
125
116
  "ts-node": "^10.9.2",
126
117
  "tsconfig-paths": "^4.2.0",
118
+ "better-sqlite3": "^11.3.0",
119
+ "marked": "^14.0.0",
127
120
  "typescript": "^5.7.3",
128
121
  "typescript-eslint": "^8.20.0",
129
122
  "typeorm": "^0.3.20",
130
123
  "@nestjs/typeorm": "^10.0.2",
131
- "@nestjs/swagger": "^8.1.0",
132
- "htmlparser2": "^9.1.0"
124
+ "@nestjs/swagger": "^8.1.0"
133
125
  },
134
126
  "jest": {
135
127
  "moduleFileExtensions": [
@@ -140,7 +132,12 @@
140
132
  "rootDir": "src",
141
133
  "testRegex": ".*\\.spec\\.ts$",
142
134
  "transform": {
143
- "^.+\\.(t|j)s$": "ts-jest"
135
+ "^.+\\.(t|j)s$": [
136
+ "ts-jest",
137
+ {
138
+ "tsconfig": "tsconfig.spec.json"
139
+ }
140
+ ]
144
141
  },
145
142
  "collectCoverageFrom": [
146
143
  "**/*.(t|j)s"