@taon-dev/seo 0.0.0-stage → 21.0.5

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 (727) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +5 -0
  2. package/assets/shared/shared_folder_info.txt +7 -0
  3. package/bin/seo +5 -0
  4. package/bin/seo-debug +5 -0
  5. package/bin/seo-debug-brk +4 -0
  6. package/browser/README.md +24 -0
  7. package/browser/fesm2022/seo-browser-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs +15 -0
  8. package/browser/fesm2022/seo-browser-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs.map +1 -0
  9. package/browser/fesm2022/seo-browser-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs +16 -0
  10. package/browser/fesm2022/seo-browser-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs.map +1 -0
  11. package/browser/fesm2022/seo-browser-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs +15 -0
  12. package/browser/fesm2022/seo-browser-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs.map +1 -0
  13. package/browser/fesm2022/seo-browser-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs +15 -0
  14. package/browser/fesm2022/seo-browser-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs.map +1 -0
  15. package/browser/fesm2022/seo-browser-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs +15 -0
  16. package/browser/fesm2022/seo-browser-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs.map +1 -0
  17. package/browser/fesm2022/seo-browser-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs +15 -0
  18. package/browser/fesm2022/seo-browser-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs.map +1 -0
  19. package/browser/fesm2022/seo-browser.mjs +2652 -0
  20. package/browser/fesm2022/seo-browser.mjs.map +1 -0
  21. package/browser/package.json +23 -0
  22. package/browser/types/seo-browser.d.ts +971 -0
  23. package/browser-prod/README.md +24 -0
  24. package/browser-prod/fesm2022/seo-browser-prod-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs +15 -0
  25. package/browser-prod/fesm2022/seo-browser-prod-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs.map +1 -0
  26. package/browser-prod/fesm2022/seo-browser-prod-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs +16 -0
  27. package/browser-prod/fesm2022/seo-browser-prod-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs.map +1 -0
  28. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs +15 -0
  29. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs.map +1 -0
  30. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs +15 -0
  31. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs.map +1 -0
  32. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs +15 -0
  33. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs.map +1 -0
  34. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs +15 -0
  35. package/browser-prod/fesm2022/seo-browser-prod-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs.map +1 -0
  36. package/browser-prod/fesm2022/seo-browser-prod.mjs +2653 -0
  37. package/browser-prod/fesm2022/seo-browser-prod.mjs.map +1 -0
  38. package/browser-prod/package.json +23 -0
  39. package/browser-prod/types/seo-browser-prod.d.ts +953 -0
  40. package/browser-prod.re-export.json +1 -0
  41. package/browser-prod.split-namespaces.json +30 -0
  42. package/cli.d.ts +1 -0
  43. package/cli.js +8 -0
  44. package/cli.js.map +1 -0
  45. package/html/app/baseline-backoffice/taon-baseline-backoffice.component.html +23 -0
  46. package/html/app/seo-example/seo-example.component.html +2 -0
  47. package/html/assets/generated/pwa/html-pwa.html +60 -0
  48. package/html/imports.html +3 -0
  49. package/html/lib/taon-seo-backoffice/taon-seo-backoffice.component.html +1 -0
  50. package/html/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.html +12 -0
  51. package/html/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.html +86 -0
  52. package/html/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.html +75 -0
  53. package/i18n/app.ts.en-US.i18n.data.d.ts +8 -0
  54. package/i18n/app.ts.en-US.i18n.data.js +2 -0
  55. package/i18n/app.ts.en-US.i18n.data.js.map +1 -0
  56. package/i18n/app.ts.pl-PL.i18n.data.d.ts +8 -0
  57. package/i18n/app.ts.pl-PL.i18n.data.js +2 -0
  58. package/i18n/app.ts.pl-PL.i18n.data.js.map +1 -0
  59. package/i18n/src.translation.d.ts +4 -0
  60. package/i18n/src.translation.js +2 -0
  61. package/i18n/src.translation.js.map +1 -0
  62. package/index.d.ts +3 -0
  63. package/index.js +20 -0
  64. package/index.js.map +1 -0
  65. package/lib/build-info._auto-generated_.d.ts +24 -0
  66. package/lib/build-info._auto-generated_.js +30 -0
  67. package/lib/build-info._auto-generated_.js.map +1 -0
  68. package/lib/env/env.angular-node-app.d.ts +71 -0
  69. package/lib/env/env.angular-node-app.js +153 -0
  70. package/lib/env/env.angular-node-app.js.map +1 -0
  71. package/lib/env/env.docs-webapp.d.ts +71 -0
  72. package/lib/env/env.docs-webapp.js +153 -0
  73. package/lib/env/env.docs-webapp.js.map +1 -0
  74. package/lib/env/env.electron-app.d.ts +71 -0
  75. package/lib/env/env.electron-app.js +153 -0
  76. package/lib/env/env.electron-app.js.map +1 -0
  77. package/lib/env/env.mobile-app.d.ts +71 -0
  78. package/lib/env/env.mobile-app.js +153 -0
  79. package/lib/env/env.mobile-app.js.map +1 -0
  80. package/lib/env/env.npm-lib-and-cli-tool.d.ts +71 -0
  81. package/lib/env/env.npm-lib-and-cli-tool.js +153 -0
  82. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  83. package/lib/env/env.vscode-plugin.d.ts +71 -0
  84. package/lib/env/env.vscode-plugin.js +153 -0
  85. package/lib/env/env.vscode-plugin.js.map +1 -0
  86. package/lib/env/index.d.ts +6 -0
  87. package/lib/env/index.js +23 -0
  88. package/lib/env/index.js.map +1 -0
  89. package/lib/i18n/lib.translation.d.ts +4 -0
  90. package/lib/i18n/lib.translation.js +5 -0
  91. package/lib/i18n/lib.translation.js.map +1 -0
  92. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +15 -0
  93. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js +15 -0
  94. package/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +1 -0
  95. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +16 -0
  96. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +16 -0
  97. package/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +1 -0
  98. package/lib/index._auto-generated_.d.ts +52 -0
  99. package/lib/index._auto-generated_.js +74 -0
  100. package/lib/index._auto-generated_.js.map +1 -0
  101. package/lib/index.d.ts +13 -0
  102. package/lib/index.js +29 -0
  103. package/lib/index.js.map +1 -0
  104. package/lib/migrations/1791132517216_initial.d.ts +7 -0
  105. package/lib/migrations/1791132517216_initial.js +74 -0
  106. package/lib/migrations/1791132517216_initial.js.map +1 -0
  107. package/lib/migrations/1791655200000_seo_configuration.d.ts +6 -0
  108. package/lib/migrations/1791655200000_seo_configuration.js +73 -0
  109. package/lib/migrations/1791655200000_seo_configuration.js.map +1 -0
  110. package/lib/migrations/index.d.ts +5 -0
  111. package/lib/migrations/index.js +10 -0
  112. package/lib/migrations/index.js.map +1 -0
  113. package/lib/migrations/migrations_index._auto-generated_.d.ts +6 -0
  114. package/lib/migrations/migrations_index._auto-generated_.js +13 -0
  115. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  116. package/lib/my-organization-proj.d.ts +1 -0
  117. package/lib/my-organization-proj.js +9 -0
  118. package/lib/my-organization-proj.js.map +1 -0
  119. package/lib/package.json +4 -0
  120. package/lib/start-cli.d.ts +7 -0
  121. package/lib/start-cli.js +94 -0
  122. package/lib/start-cli.js.map +1 -0
  123. package/lib/taon-seo-backoffice/index.d.ts +1 -0
  124. package/lib/taon-seo-backoffice/index.js +5 -0
  125. package/lib/taon-seo-backoffice/index.js.map +1 -0
  126. package/lib/taon-seo-backoffice/taon-seo-backoffice.models.d.ts +1 -0
  127. package/lib/taon-seo-backoffice/taon-seo-backoffice.models.js +3 -0
  128. package/lib/taon-seo-backoffice/taon-seo-backoffice.models.js.map +1 -0
  129. package/lib/taon-seo-image.controller.d.ts +14 -0
  130. package/lib/taon-seo-image.controller.js +79 -0
  131. package/lib/taon-seo-image.controller.js.map +1 -0
  132. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.d.ts +15 -0
  133. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js +15 -0
  134. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js.map +1 -0
  135. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  136. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js +15 -0
  137. package/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js.map +1 -0
  138. package/lib/taon-seo-page/i18n/taon-seo-page.translation.d.ts +4 -0
  139. package/lib/taon-seo-page/i18n/taon-seo-page.translation.js +5 -0
  140. package/lib/taon-seo-page/i18n/taon-seo-page.translation.js.map +1 -0
  141. package/lib/taon-seo-page/index.d.ts +12 -0
  142. package/lib/taon-seo-page/index.js +29 -0
  143. package/lib/taon-seo-page/index.js.map +1 -0
  144. package/lib/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -0
  145. package/lib/taon-seo-page/taon-seo-page-backoffice/index.js +5 -0
  146. package/lib/taon-seo-page/taon-seo-page-backoffice/index.js.map +1 -0
  147. package/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.d.ts +1 -0
  148. package/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js +3 -0
  149. package/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js.map +1 -0
  150. package/lib/taon-seo-page/taon-seo-page.abstract.context.d.ts +16 -0
  151. package/lib/taon-seo-page/taon-seo-page.abstract.context.js +28 -0
  152. package/lib/taon-seo-page/taon-seo-page.abstract.context.js.map +1 -0
  153. package/lib/taon-seo-page/taon-seo-page.constants.d.ts +6 -0
  154. package/lib/taon-seo-page/taon-seo-page.constants.js +25 -0
  155. package/lib/taon-seo-page/taon-seo-page.constants.js.map +1 -0
  156. package/lib/taon-seo-page/taon-seo-page.controller.d.ts +13 -0
  157. package/lib/taon-seo-page/taon-seo-page.controller.js +96 -0
  158. package/lib/taon-seo-page/taon-seo-page.controller.js.map +1 -0
  159. package/lib/taon-seo-page/taon-seo-page.entity.d.ts +16 -0
  160. package/lib/taon-seo-page/taon-seo-page.entity.js +140 -0
  161. package/lib/taon-seo-page/taon-seo-page.entity.js.map +1 -0
  162. package/lib/taon-seo-page/taon-seo-page.kv.repository.d.ts +7 -0
  163. package/lib/taon-seo-page/taon-seo-page.kv.repository.js +24 -0
  164. package/lib/taon-seo-page/taon-seo-page.kv.repository.js.map +1 -0
  165. package/lib/taon-seo-page/taon-seo-page.middleware.d.ts +3 -0
  166. package/lib/taon-seo-page/taon-seo-page.middleware.js +21 -0
  167. package/lib/taon-seo-page/taon-seo-page.middleware.js.map +1 -0
  168. package/lib/taon-seo-page/taon-seo-page.models.d.ts +8 -0
  169. package/lib/taon-seo-page/taon-seo-page.models.js +12 -0
  170. package/lib/taon-seo-page/taon-seo-page.models.js.map +1 -0
  171. package/lib/taon-seo-page/taon-seo-page.provider.d.ts +12 -0
  172. package/lib/taon-seo-page/taon-seo-page.provider.js +32 -0
  173. package/lib/taon-seo-page/taon-seo-page.provider.js.map +1 -0
  174. package/lib/taon-seo-page/taon-seo-page.repository.d.ts +9 -0
  175. package/lib/taon-seo-page/taon-seo-page.repository.js +62 -0
  176. package/lib/taon-seo-page/taon-seo-page.repository.js.map +1 -0
  177. package/lib/taon-seo-page/taon-seo-page.subscriber.d.ts +6 -0
  178. package/lib/taon-seo-page/taon-seo-page.subscriber.js +28 -0
  179. package/lib/taon-seo-page/taon-seo-page.subscriber.js.map +1 -0
  180. package/lib/taon-seo-page/taon-seo-page.utils.d.ts +4 -0
  181. package/lib/taon-seo-page/taon-seo-page.utils.js +11 -0
  182. package/lib/taon-seo-page/taon-seo-page.utils.js.map +1 -0
  183. package/lib/taon-seo-page/taon-seo-page.validators.d.ts +7 -0
  184. package/lib/taon-seo-page/taon-seo-page.validators.js +3 -0
  185. package/lib/taon-seo-page/taon-seo-page.validators.js.map +1 -0
  186. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.d.ts +15 -0
  187. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js +15 -0
  188. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js.map +1 -0
  189. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  190. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js +15 -0
  191. package/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js.map +1 -0
  192. package/lib/taon-seo-settings/i18n/taon-seo-settings.translation.d.ts +4 -0
  193. package/lib/taon-seo-settings/i18n/taon-seo-settings.translation.js +5 -0
  194. package/lib/taon-seo-settings/i18n/taon-seo-settings.translation.js.map +1 -0
  195. package/lib/taon-seo-settings/index.d.ts +12 -0
  196. package/lib/taon-seo-settings/index.js +29 -0
  197. package/lib/taon-seo-settings/index.js.map +1 -0
  198. package/lib/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -0
  199. package/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js +5 -0
  200. package/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js.map +1 -0
  201. package/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.d.ts +1 -0
  202. package/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js +3 -0
  203. package/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js.map +1 -0
  204. package/lib/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +16 -0
  205. package/lib/taon-seo-settings/taon-seo-settings.abstract.context.js +28 -0
  206. package/lib/taon-seo-settings/taon-seo-settings.abstract.context.js.map +1 -0
  207. package/lib/taon-seo-settings/taon-seo-settings.constants.d.ts +6 -0
  208. package/lib/taon-seo-settings/taon-seo-settings.constants.js +24 -0
  209. package/lib/taon-seo-settings/taon-seo-settings.constants.js.map +1 -0
  210. package/lib/taon-seo-settings/taon-seo-settings.controller.d.ts +11 -0
  211. package/lib/taon-seo-settings/taon-seo-settings.controller.js +62 -0
  212. package/lib/taon-seo-settings/taon-seo-settings.controller.js.map +1 -0
  213. package/lib/taon-seo-settings/taon-seo-settings.entity.d.ts +14 -0
  214. package/lib/taon-seo-settings/taon-seo-settings.entity.js +122 -0
  215. package/lib/taon-seo-settings/taon-seo-settings.entity.js.map +1 -0
  216. package/lib/taon-seo-settings/taon-seo-settings.kv.repository.d.ts +7 -0
  217. package/lib/taon-seo-settings/taon-seo-settings.kv.repository.js +24 -0
  218. package/lib/taon-seo-settings/taon-seo-settings.kv.repository.js.map +1 -0
  219. package/lib/taon-seo-settings/taon-seo-settings.middleware.d.ts +3 -0
  220. package/lib/taon-seo-settings/taon-seo-settings.middleware.js +21 -0
  221. package/lib/taon-seo-settings/taon-seo-settings.middleware.js.map +1 -0
  222. package/lib/taon-seo-settings/taon-seo-settings.models.d.ts +8 -0
  223. package/lib/taon-seo-settings/taon-seo-settings.models.js +12 -0
  224. package/lib/taon-seo-settings/taon-seo-settings.models.js.map +1 -0
  225. package/lib/taon-seo-settings/taon-seo-settings.provider.d.ts +12 -0
  226. package/lib/taon-seo-settings/taon-seo-settings.provider.js +32 -0
  227. package/lib/taon-seo-settings/taon-seo-settings.provider.js.map +1 -0
  228. package/lib/taon-seo-settings/taon-seo-settings.repository.d.ts +8 -0
  229. package/lib/taon-seo-settings/taon-seo-settings.repository.js +48 -0
  230. package/lib/taon-seo-settings/taon-seo-settings.repository.js.map +1 -0
  231. package/lib/taon-seo-settings/taon-seo-settings.subscriber.d.ts +6 -0
  232. package/lib/taon-seo-settings/taon-seo-settings.subscriber.js +28 -0
  233. package/lib/taon-seo-settings/taon-seo-settings.subscriber.js.map +1 -0
  234. package/lib/taon-seo-settings/taon-seo-settings.utils.d.ts +4 -0
  235. package/lib/taon-seo-settings/taon-seo-settings.utils.js +11 -0
  236. package/lib/taon-seo-settings/taon-seo-settings.utils.js.map +1 -0
  237. package/lib/taon-seo-settings/taon-seo-settings.validators.d.ts +7 -0
  238. package/lib/taon-seo-settings/taon-seo-settings.validators.js +3 -0
  239. package/lib/taon-seo-settings/taon-seo-settings.validators.js.map +1 -0
  240. package/lib/taon-seo.abstract.context.d.ts +16 -0
  241. package/lib/taon-seo.abstract.context.js +22 -0
  242. package/lib/taon-seo.abstract.context.js.map +1 -0
  243. package/lib/taon-seo.provider.d.ts +6 -0
  244. package/lib/taon-seo.provider.js +31 -0
  245. package/lib/taon-seo.provider.js.map +1 -0
  246. package/lib/taon-seo.utils.d.ts +15 -0
  247. package/lib/taon-seo.utils.js +33 -0
  248. package/lib/taon-seo.utils.js.map +1 -0
  249. package/lib/taon-seo.validation.d.ts +7 -0
  250. package/lib/taon-seo.validation.js +127 -0
  251. package/lib/taon-seo.validation.js.map +1 -0
  252. package/lib-esm/app/baseline-backoffice/index.d.ts +0 -0
  253. package/lib-esm/app/baseline-backoffice/index.js +2 -0
  254. package/lib-esm/app/baseline-backoffice/index.js.map +1 -0
  255. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.d.ts +0 -0
  256. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js +2 -0
  257. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.component.js.map +1 -0
  258. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.d.ts +0 -0
  259. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js +2 -0
  260. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.models.js.map +1 -0
  261. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.d.ts +0 -0
  262. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js +2 -0
  263. package/lib-esm/app/baseline-backoffice/taon-baseline-backoffice.routes.js.map +1 -0
  264. package/lib-esm/app/seo-example/index.d.ts +0 -0
  265. package/lib-esm/app/seo-example/index.js +2 -0
  266. package/lib-esm/app/seo-example/index.js.map +1 -0
  267. package/lib-esm/app/seo-example/seo-example.component.d.ts +0 -0
  268. package/lib-esm/app/seo-example/seo-example.component.js +2 -0
  269. package/lib-esm/app/seo-example/seo-example.component.js.map +1 -0
  270. package/lib-esm/app/seo-example/seo-example.models.d.ts +0 -0
  271. package/lib-esm/app/seo-example/seo-example.models.js +2 -0
  272. package/lib-esm/app/seo-example/seo-example.models.js.map +1 -0
  273. package/lib-esm/app/seo-example/seo-example.routes.d.ts +0 -0
  274. package/lib-esm/app/seo-example/seo-example.routes.js +2 -0
  275. package/lib-esm/app/seo-example/seo-example.routes.js.map +1 -0
  276. package/lib-esm/app.d.ts +0 -0
  277. package/lib-esm/app.electron.d.ts +0 -0
  278. package/lib-esm/app.electron.js +2 -0
  279. package/lib-esm/app.electron.js.map +1 -0
  280. package/lib-esm/app.hosts.d.ts +0 -0
  281. package/lib-esm/app.hosts.js +2 -0
  282. package/lib-esm/app.hosts.js.map +1 -0
  283. package/lib-esm/app.js +2 -0
  284. package/lib-esm/app.js.map +1 -0
  285. package/lib-esm/app.vscode.d.ts +0 -0
  286. package/lib-esm/app.vscode.js +2 -0
  287. package/lib-esm/app.vscode.js.map +1 -0
  288. package/lib-esm/cli.d.ts +1 -0
  289. package/lib-esm/cli.js +4 -0
  290. package/lib-esm/cli.js.map +1 -0
  291. package/lib-esm/i18n/app.ts.en-US.i18n.data.d.ts +0 -0
  292. package/lib-esm/i18n/app.ts.en-US.i18n.data.js +2 -0
  293. package/lib-esm/i18n/app.ts.en-US.i18n.data.js.map +1 -0
  294. package/lib-esm/i18n/app.ts.pl-PL.i18n.data.d.ts +0 -0
  295. package/lib-esm/i18n/app.ts.pl-PL.i18n.data.js +2 -0
  296. package/lib-esm/i18n/app.ts.pl-PL.i18n.data.js.map +1 -0
  297. package/lib-esm/i18n/src.translation.d.ts +0 -0
  298. package/lib-esm/i18n/src.translation.js +2 -0
  299. package/lib-esm/i18n/src.translation.js.map +1 -0
  300. package/lib-esm/index.d.ts +3 -0
  301. package/lib-esm/index.js +4 -0
  302. package/lib-esm/index.js.map +1 -0
  303. package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
  304. package/lib-esm/lib/build-info._auto-generated_.js +27 -0
  305. package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
  306. package/lib-esm/lib/env/env.angular-node-app.d.ts +71 -0
  307. package/lib-esm/lib/env/env.angular-node-app.js +146 -0
  308. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
  309. package/lib-esm/lib/env/env.docs-webapp.d.ts +71 -0
  310. package/lib-esm/lib/env/env.docs-webapp.js +146 -0
  311. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
  312. package/lib-esm/lib/env/env.electron-app.d.ts +71 -0
  313. package/lib-esm/lib/env/env.electron-app.js +146 -0
  314. package/lib-esm/lib/env/env.electron-app.js.map +1 -0
  315. package/lib-esm/lib/env/env.mobile-app.d.ts +71 -0
  316. package/lib-esm/lib/env/env.mobile-app.js +146 -0
  317. package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
  318. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +71 -0
  319. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +146 -0
  320. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  321. package/lib-esm/lib/env/env.vscode-plugin.d.ts +71 -0
  322. package/lib-esm/lib/env/env.vscode-plugin.js +146 -0
  323. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
  324. package/lib-esm/lib/env/index.d.ts +6 -0
  325. package/lib-esm/lib/env/index.js +7 -0
  326. package/lib-esm/lib/env/index.js.map +1 -0
  327. package/lib-esm/lib/i18n/lib.translation.d.ts +4 -0
  328. package/lib-esm/lib/i18n/lib.translation.js +4 -0
  329. package/lib-esm/lib/i18n/lib.translation.js.map +1 -0
  330. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +15 -0
  331. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js +13 -0
  332. package/lib-esm/lib/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +1 -0
  333. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +16 -0
  334. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +14 -0
  335. package/lib-esm/lib/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +1 -0
  336. package/lib-esm/lib/index._auto-generated_.d.ts +52 -0
  337. package/lib-esm/lib/index._auto-generated_.js +58 -0
  338. package/lib-esm/lib/index._auto-generated_.js.map +1 -0
  339. package/lib-esm/lib/index.d.ts +13 -0
  340. package/lib-esm/lib/index.js +13 -0
  341. package/lib-esm/lib/index.js.map +1 -0
  342. package/lib-esm/lib/migrations/1791132517216_initial.d.ts +7 -0
  343. package/lib-esm/lib/migrations/1791132517216_initial.js +65 -0
  344. package/lib-esm/lib/migrations/1791132517216_initial.js.map +1 -0
  345. package/lib-esm/lib/migrations/1791655200000_seo_configuration.d.ts +6 -0
  346. package/lib-esm/lib/migrations/1791655200000_seo_configuration.js +64 -0
  347. package/lib-esm/lib/migrations/1791655200000_seo_configuration.js.map +1 -0
  348. package/lib-esm/lib/migrations/index.d.ts +5 -0
  349. package/lib-esm/lib/migrations/index.js +7 -0
  350. package/lib-esm/lib/migrations/index.js.map +1 -0
  351. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +6 -0
  352. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +10 -0
  353. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  354. package/lib-esm/lib/my-organization-proj.d.ts +1 -0
  355. package/lib-esm/lib/my-organization-proj.js +6 -0
  356. package/lib-esm/lib/my-organization-proj.js.map +1 -0
  357. package/lib-esm/lib/start-cli.d.ts +7 -0
  358. package/lib-esm/lib/start-cli.js +91 -0
  359. package/lib-esm/lib/start-cli.js.map +1 -0
  360. package/lib-esm/lib/taon-seo-backoffice/index.d.ts +1 -0
  361. package/lib-esm/lib/taon-seo-backoffice/index.js +2 -0
  362. package/lib-esm/lib/taon-seo-backoffice/index.js.map +1 -0
  363. package/lib-esm/lib/taon-seo-backoffice/taon-seo-backoffice.models.d.ts +1 -0
  364. package/lib-esm/lib/taon-seo-backoffice/taon-seo-backoffice.models.js +2 -0
  365. package/lib-esm/lib/taon-seo-backoffice/taon-seo-backoffice.models.js.map +1 -0
  366. package/lib-esm/lib/taon-seo-image.controller.d.ts +14 -0
  367. package/lib-esm/lib/taon-seo-image.controller.js +70 -0
  368. package/lib-esm/lib/taon-seo-image.controller.js.map +1 -0
  369. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.d.ts +15 -0
  370. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js +13 -0
  371. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js.map +1 -0
  372. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  373. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js +13 -0
  374. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js.map +1 -0
  375. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.translation.d.ts +4 -0
  376. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.translation.js +4 -0
  377. package/lib-esm/lib/taon-seo-page/i18n/taon-seo-page.translation.js.map +1 -0
  378. package/lib-esm/lib/taon-seo-page/index.d.ts +12 -0
  379. package/lib-esm/lib/taon-seo-page/index.js +13 -0
  380. package/lib-esm/lib/taon-seo-page/index.js.map +1 -0
  381. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -0
  382. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/index.js +2 -0
  383. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/index.js.map +1 -0
  384. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.d.ts +1 -0
  385. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js +2 -0
  386. package/lib-esm/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js.map +1 -0
  387. package/lib-esm/lib/taon-seo-page/taon-seo-page.abstract.context.d.ts +16 -0
  388. package/lib-esm/lib/taon-seo-page/taon-seo-page.abstract.context.js +25 -0
  389. package/lib-esm/lib/taon-seo-page/taon-seo-page.abstract.context.js.map +1 -0
  390. package/lib-esm/lib/taon-seo-page/taon-seo-page.constants.d.ts +6 -0
  391. package/lib-esm/lib/taon-seo-page/taon-seo-page.constants.js +22 -0
  392. package/lib-esm/lib/taon-seo-page/taon-seo-page.constants.js.map +1 -0
  393. package/lib-esm/lib/taon-seo-page/taon-seo-page.controller.d.ts +13 -0
  394. package/lib-esm/lib/taon-seo-page/taon-seo-page.controller.js +81 -0
  395. package/lib-esm/lib/taon-seo-page/taon-seo-page.controller.js.map +1 -0
  396. package/lib-esm/lib/taon-seo-page/taon-seo-page.entity.d.ts +16 -0
  397. package/lib-esm/lib/taon-seo-page/taon-seo-page.entity.js +128 -0
  398. package/lib-esm/lib/taon-seo-page/taon-seo-page.entity.js.map +1 -0
  399. package/lib-esm/lib/taon-seo-page/taon-seo-page.kv.repository.d.ts +7 -0
  400. package/lib-esm/lib/taon-seo-page/taon-seo-page.kv.repository.js +15 -0
  401. package/lib-esm/lib/taon-seo-page/taon-seo-page.kv.repository.js.map +1 -0
  402. package/lib-esm/lib/taon-seo-page/taon-seo-page.middleware.d.ts +3 -0
  403. package/lib-esm/lib/taon-seo-page/taon-seo-page.middleware.js +12 -0
  404. package/lib-esm/lib/taon-seo-page/taon-seo-page.middleware.js.map +1 -0
  405. package/lib-esm/lib/taon-seo-page/taon-seo-page.models.d.ts +8 -0
  406. package/lib-esm/lib/taon-seo-page/taon-seo-page.models.js +9 -0
  407. package/lib-esm/lib/taon-seo-page/taon-seo-page.models.js.map +1 -0
  408. package/lib-esm/lib/taon-seo-page/taon-seo-page.provider.d.ts +12 -0
  409. package/lib-esm/lib/taon-seo-page/taon-seo-page.provider.js +22 -0
  410. package/lib-esm/lib/taon-seo-page/taon-seo-page.provider.js.map +1 -0
  411. package/lib-esm/lib/taon-seo-page/taon-seo-page.repository.d.ts +9 -0
  412. package/lib-esm/lib/taon-seo-page/taon-seo-page.repository.js +53 -0
  413. package/lib-esm/lib/taon-seo-page/taon-seo-page.repository.js.map +1 -0
  414. package/lib-esm/lib/taon-seo-page/taon-seo-page.subscriber.d.ts +6 -0
  415. package/lib-esm/lib/taon-seo-page/taon-seo-page.subscriber.js +19 -0
  416. package/lib-esm/lib/taon-seo-page/taon-seo-page.subscriber.js.map +1 -0
  417. package/lib-esm/lib/taon-seo-page/taon-seo-page.utils.d.ts +4 -0
  418. package/lib-esm/lib/taon-seo-page/taon-seo-page.utils.js +8 -0
  419. package/lib-esm/lib/taon-seo-page/taon-seo-page.utils.js.map +1 -0
  420. package/lib-esm/lib/taon-seo-page/taon-seo-page.validators.d.ts +7 -0
  421. package/lib-esm/lib/taon-seo-page/taon-seo-page.validators.js +2 -0
  422. package/lib-esm/lib/taon-seo-page/taon-seo-page.validators.js.map +1 -0
  423. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.d.ts +15 -0
  424. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js +13 -0
  425. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js.map +1 -0
  426. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  427. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js +13 -0
  428. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js.map +1 -0
  429. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.translation.d.ts +4 -0
  430. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.translation.js +4 -0
  431. package/lib-esm/lib/taon-seo-settings/i18n/taon-seo-settings.translation.js.map +1 -0
  432. package/lib-esm/lib/taon-seo-settings/index.d.ts +12 -0
  433. package/lib-esm/lib/taon-seo-settings/index.js +13 -0
  434. package/lib-esm/lib/taon-seo-settings/index.js.map +1 -0
  435. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -0
  436. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js +2 -0
  437. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/index.js.map +1 -0
  438. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.d.ts +1 -0
  439. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js +2 -0
  440. package/lib-esm/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js.map +1 -0
  441. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +16 -0
  442. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.abstract.context.js +25 -0
  443. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.abstract.context.js.map +1 -0
  444. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.constants.d.ts +6 -0
  445. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.constants.js +21 -0
  446. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.constants.js.map +1 -0
  447. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.controller.d.ts +11 -0
  448. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.controller.js +47 -0
  449. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.controller.js.map +1 -0
  450. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.entity.d.ts +14 -0
  451. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.entity.js +110 -0
  452. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.entity.js.map +1 -0
  453. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.kv.repository.d.ts +7 -0
  454. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.kv.repository.js +15 -0
  455. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.kv.repository.js.map +1 -0
  456. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.middleware.d.ts +3 -0
  457. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.middleware.js +12 -0
  458. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.middleware.js.map +1 -0
  459. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.models.d.ts +8 -0
  460. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.models.js +9 -0
  461. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.models.js.map +1 -0
  462. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.provider.d.ts +12 -0
  463. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.provider.js +22 -0
  464. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.provider.js.map +1 -0
  465. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.repository.d.ts +8 -0
  466. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.repository.js +39 -0
  467. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.repository.js.map +1 -0
  468. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.subscriber.d.ts +6 -0
  469. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.subscriber.js +19 -0
  470. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.subscriber.js.map +1 -0
  471. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.utils.d.ts +4 -0
  472. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.utils.js +8 -0
  473. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.utils.js.map +1 -0
  474. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.validators.d.ts +7 -0
  475. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.validators.js +2 -0
  476. package/lib-esm/lib/taon-seo-settings/taon-seo-settings.validators.js.map +1 -0
  477. package/lib-esm/lib/taon-seo.abstract.context.d.ts +16 -0
  478. package/lib-esm/lib/taon-seo.abstract.context.js +19 -0
  479. package/lib-esm/lib/taon-seo.abstract.context.js.map +1 -0
  480. package/lib-esm/lib/taon-seo.provider.d.ts +6 -0
  481. package/lib-esm/lib/taon-seo.provider.js +22 -0
  482. package/lib-esm/lib/taon-seo.provider.js.map +1 -0
  483. package/lib-esm/lib/taon-seo.utils.d.ts +15 -0
  484. package/lib-esm/lib/taon-seo.utils.js +28 -0
  485. package/lib-esm/lib/taon-seo.utils.js.map +1 -0
  486. package/lib-esm/lib/taon-seo.validation.d.ts +7 -0
  487. package/lib-esm/lib/taon-seo.validation.js +120 -0
  488. package/lib-esm/lib/taon-seo.validation.js.map +1 -0
  489. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  490. package/lib-prod/build-info._auto-generated_.js +27 -0
  491. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  492. package/lib-prod/env/env.angular-node-app.d.ts +71 -0
  493. package/lib-prod/env/env.angular-node-app.js +146 -0
  494. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  495. package/lib-prod/env/env.docs-webapp.d.ts +71 -0
  496. package/lib-prod/env/env.docs-webapp.js +146 -0
  497. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  498. package/lib-prod/env/env.electron-app.d.ts +71 -0
  499. package/lib-prod/env/env.electron-app.js +146 -0
  500. package/lib-prod/env/env.electron-app.js.map +1 -0
  501. package/lib-prod/env/env.mobile-app.d.ts +71 -0
  502. package/lib-prod/env/env.mobile-app.js +146 -0
  503. package/lib-prod/env/env.mobile-app.js.map +1 -0
  504. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +71 -0
  505. package/lib-prod/env/env.npm-lib-and-cli-tool.js +146 -0
  506. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  507. package/lib-prod/env/env.vscode-plugin.d.ts +71 -0
  508. package/lib-prod/env/env.vscode-plugin.js +146 -0
  509. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  510. package/lib-prod/env/index.d.ts +6 -0
  511. package/lib-prod/env/index.js +7 -0
  512. package/lib-prod/env/index.js.map +1 -0
  513. package/lib-prod/i18n/lib.translation.d.ts +4 -0
  514. package/lib-prod/i18n/lib.translation.js +4 -0
  515. package/lib-prod/i18n/lib.translation.js.map +1 -0
  516. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.d.ts +15 -0
  517. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.js +13 -0
  518. package/lib-prod/i18n/my-organization-proj.ts.en-US.i18n.data.js.map +1 -0
  519. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.d.ts +16 -0
  520. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.js +14 -0
  521. package/lib-prod/i18n/my-organization-proj.ts.pl-PL.i18n.data.js.map +1 -0
  522. package/lib-prod/index._auto-generated_.d.ts +38 -0
  523. package/lib-prod/index._auto-generated_.js +58 -0
  524. package/lib-prod/index._auto-generated_.js.map +1 -0
  525. package/lib-prod/index.d.ts +11 -0
  526. package/lib-prod/index.js +13 -0
  527. package/lib-prod/index.js.map +1 -0
  528. package/lib-prod/migrations/1791132517216_initial.d.ts +7 -0
  529. package/lib-prod/migrations/1791132517216_initial.js +65 -0
  530. package/lib-prod/migrations/1791132517216_initial.js.map +1 -0
  531. package/lib-prod/migrations/1791655200000_seo_configuration.d.ts +6 -0
  532. package/lib-prod/migrations/1791655200000_seo_configuration.js +64 -0
  533. package/lib-prod/migrations/1791655200000_seo_configuration.js.map +1 -0
  534. package/lib-prod/migrations/index.d.ts +5 -0
  535. package/lib-prod/migrations/index.js +7 -0
  536. package/lib-prod/migrations/index.js.map +1 -0
  537. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +6 -0
  538. package/lib-prod/migrations/migrations_index._auto-generated_.js +10 -0
  539. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -0
  540. package/lib-prod/my-organization-proj.d.ts +1 -0
  541. package/lib-prod/my-organization-proj.js +6 -0
  542. package/lib-prod/my-organization-proj.js.map +1 -0
  543. package/lib-prod/package.json +4 -0
  544. package/lib-prod/start-cli.d.ts +7 -0
  545. package/lib-prod/start-cli.js +91 -0
  546. package/lib-prod/start-cli.js.map +1 -0
  547. package/lib-prod/taon-seo-backoffice/index.d.ts +1 -0
  548. package/lib-prod/taon-seo-backoffice/index.js +2 -0
  549. package/lib-prod/taon-seo-backoffice/index.js.map +1 -0
  550. package/lib-prod/taon-seo-backoffice/taon-seo-backoffice.models.d.ts +0 -0
  551. package/lib-prod/taon-seo-backoffice/taon-seo-backoffice.models.js +3 -0
  552. package/lib-prod/taon-seo-backoffice/taon-seo-backoffice.models.js.map +1 -0
  553. package/lib-prod/taon-seo-image.controller.d.ts +14 -0
  554. package/lib-prod/taon-seo-image.controller.js +70 -0
  555. package/lib-prod/taon-seo-image.controller.js.map +1 -0
  556. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.d.ts +15 -0
  557. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js +13 -0
  558. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.en-US.i18n.data.js.map +1 -0
  559. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  560. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js +13 -0
  561. package/lib-prod/taon-seo-page/i18n/taon-seo-page.constants.ts.pl-PL.i18n.data.js.map +1 -0
  562. package/lib-prod/taon-seo-page/i18n/taon-seo-page.translation.d.ts +4 -0
  563. package/lib-prod/taon-seo-page/i18n/taon-seo-page.translation.js +4 -0
  564. package/lib-prod/taon-seo-page/i18n/taon-seo-page.translation.js.map +1 -0
  565. package/lib-prod/taon-seo-page/index.d.ts +10 -0
  566. package/lib-prod/taon-seo-page/index.js +13 -0
  567. package/lib-prod/taon-seo-page/index.js.map +1 -0
  568. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/index.d.ts +1 -0
  569. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/index.js +2 -0
  570. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/index.js.map +1 -0
  571. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.d.ts +0 -0
  572. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js +3 -0
  573. package/lib-prod/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.models.js.map +1 -0
  574. package/lib-prod/taon-seo-page/taon-seo-page.abstract.context.d.ts +16 -0
  575. package/lib-prod/taon-seo-page/taon-seo-page.abstract.context.js +25 -0
  576. package/lib-prod/taon-seo-page/taon-seo-page.abstract.context.js.map +1 -0
  577. package/lib-prod/taon-seo-page/taon-seo-page.constants.d.ts +6 -0
  578. package/lib-prod/taon-seo-page/taon-seo-page.constants.js +22 -0
  579. package/lib-prod/taon-seo-page/taon-seo-page.constants.js.map +1 -0
  580. package/lib-prod/taon-seo-page/taon-seo-page.controller.d.ts +13 -0
  581. package/lib-prod/taon-seo-page/taon-seo-page.controller.js +81 -0
  582. package/lib-prod/taon-seo-page/taon-seo-page.controller.js.map +1 -0
  583. package/lib-prod/taon-seo-page/taon-seo-page.entity.d.ts +16 -0
  584. package/lib-prod/taon-seo-page/taon-seo-page.entity.js +128 -0
  585. package/lib-prod/taon-seo-page/taon-seo-page.entity.js.map +1 -0
  586. package/lib-prod/taon-seo-page/taon-seo-page.kv.repository.d.ts +7 -0
  587. package/lib-prod/taon-seo-page/taon-seo-page.kv.repository.js +15 -0
  588. package/lib-prod/taon-seo-page/taon-seo-page.kv.repository.js.map +1 -0
  589. package/lib-prod/taon-seo-page/taon-seo-page.middleware.d.ts +3 -0
  590. package/lib-prod/taon-seo-page/taon-seo-page.middleware.js +12 -0
  591. package/lib-prod/taon-seo-page/taon-seo-page.middleware.js.map +1 -0
  592. package/lib-prod/taon-seo-page/taon-seo-page.models.d.ts +6 -0
  593. package/lib-prod/taon-seo-page/taon-seo-page.models.js +8 -0
  594. package/lib-prod/taon-seo-page/taon-seo-page.models.js.map +1 -0
  595. package/lib-prod/taon-seo-page/taon-seo-page.provider.d.ts +12 -0
  596. package/lib-prod/taon-seo-page/taon-seo-page.provider.js +22 -0
  597. package/lib-prod/taon-seo-page/taon-seo-page.provider.js.map +1 -0
  598. package/lib-prod/taon-seo-page/taon-seo-page.repository.d.ts +9 -0
  599. package/lib-prod/taon-seo-page/taon-seo-page.repository.js +53 -0
  600. package/lib-prod/taon-seo-page/taon-seo-page.repository.js.map +1 -0
  601. package/lib-prod/taon-seo-page/taon-seo-page.subscriber.d.ts +6 -0
  602. package/lib-prod/taon-seo-page/taon-seo-page.subscriber.js +19 -0
  603. package/lib-prod/taon-seo-page/taon-seo-page.subscriber.js.map +1 -0
  604. package/lib-prod/taon-seo-page/taon-seo-page.utils.d.ts +2 -0
  605. package/lib-prod/taon-seo-page/taon-seo-page.utils.js +6 -0
  606. package/lib-prod/taon-seo-page/taon-seo-page.utils.js.map +1 -0
  607. package/lib-prod/taon-seo-page/taon-seo-page.validators.d.ts +1 -0
  608. package/lib-prod/taon-seo-page/taon-seo-page.validators.js +22 -0
  609. package/lib-prod/taon-seo-page/taon-seo-page.validators.js.map +1 -0
  610. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.d.ts +15 -0
  611. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js +13 -0
  612. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.en-US.i18n.data.js.map +1 -0
  613. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.d.ts +15 -0
  614. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js +13 -0
  615. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.constants.ts.pl-PL.i18n.data.js.map +1 -0
  616. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.translation.d.ts +4 -0
  617. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.translation.js +4 -0
  618. package/lib-prod/taon-seo-settings/i18n/taon-seo-settings.translation.js.map +1 -0
  619. package/lib-prod/taon-seo-settings/index.d.ts +10 -0
  620. package/lib-prod/taon-seo-settings/index.js +13 -0
  621. package/lib-prod/taon-seo-settings/index.js.map +1 -0
  622. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/index.d.ts +1 -0
  623. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/index.js +2 -0
  624. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/index.js.map +1 -0
  625. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.d.ts +0 -0
  626. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js +3 -0
  627. package/lib-prod/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.models.js.map +1 -0
  628. package/lib-prod/taon-seo-settings/taon-seo-settings.abstract.context.d.ts +16 -0
  629. package/lib-prod/taon-seo-settings/taon-seo-settings.abstract.context.js +25 -0
  630. package/lib-prod/taon-seo-settings/taon-seo-settings.abstract.context.js.map +1 -0
  631. package/lib-prod/taon-seo-settings/taon-seo-settings.constants.d.ts +6 -0
  632. package/lib-prod/taon-seo-settings/taon-seo-settings.constants.js +21 -0
  633. package/lib-prod/taon-seo-settings/taon-seo-settings.constants.js.map +1 -0
  634. package/lib-prod/taon-seo-settings/taon-seo-settings.controller.d.ts +11 -0
  635. package/lib-prod/taon-seo-settings/taon-seo-settings.controller.js +47 -0
  636. package/lib-prod/taon-seo-settings/taon-seo-settings.controller.js.map +1 -0
  637. package/lib-prod/taon-seo-settings/taon-seo-settings.entity.d.ts +14 -0
  638. package/lib-prod/taon-seo-settings/taon-seo-settings.entity.js +110 -0
  639. package/lib-prod/taon-seo-settings/taon-seo-settings.entity.js.map +1 -0
  640. package/lib-prod/taon-seo-settings/taon-seo-settings.kv.repository.d.ts +7 -0
  641. package/lib-prod/taon-seo-settings/taon-seo-settings.kv.repository.js +15 -0
  642. package/lib-prod/taon-seo-settings/taon-seo-settings.kv.repository.js.map +1 -0
  643. package/lib-prod/taon-seo-settings/taon-seo-settings.middleware.d.ts +3 -0
  644. package/lib-prod/taon-seo-settings/taon-seo-settings.middleware.js +12 -0
  645. package/lib-prod/taon-seo-settings/taon-seo-settings.middleware.js.map +1 -0
  646. package/lib-prod/taon-seo-settings/taon-seo-settings.models.d.ts +6 -0
  647. package/lib-prod/taon-seo-settings/taon-seo-settings.models.js +8 -0
  648. package/lib-prod/taon-seo-settings/taon-seo-settings.models.js.map +1 -0
  649. package/lib-prod/taon-seo-settings/taon-seo-settings.provider.d.ts +12 -0
  650. package/lib-prod/taon-seo-settings/taon-seo-settings.provider.js +22 -0
  651. package/lib-prod/taon-seo-settings/taon-seo-settings.provider.js.map +1 -0
  652. package/lib-prod/taon-seo-settings/taon-seo-settings.repository.d.ts +8 -0
  653. package/lib-prod/taon-seo-settings/taon-seo-settings.repository.js +39 -0
  654. package/lib-prod/taon-seo-settings/taon-seo-settings.repository.js.map +1 -0
  655. package/lib-prod/taon-seo-settings/taon-seo-settings.subscriber.d.ts +6 -0
  656. package/lib-prod/taon-seo-settings/taon-seo-settings.subscriber.js +19 -0
  657. package/lib-prod/taon-seo-settings/taon-seo-settings.subscriber.js.map +1 -0
  658. package/lib-prod/taon-seo-settings/taon-seo-settings.utils.d.ts +2 -0
  659. package/lib-prod/taon-seo-settings/taon-seo-settings.utils.js +6 -0
  660. package/lib-prod/taon-seo-settings/taon-seo-settings.utils.js.map +1 -0
  661. package/lib-prod/taon-seo-settings/taon-seo-settings.validators.d.ts +1 -0
  662. package/lib-prod/taon-seo-settings/taon-seo-settings.validators.js +22 -0
  663. package/lib-prod/taon-seo-settings/taon-seo-settings.validators.js.map +1 -0
  664. package/lib-prod/taon-seo.abstract.context.d.ts +16 -0
  665. package/lib-prod/taon-seo.abstract.context.js +19 -0
  666. package/lib-prod/taon-seo.abstract.context.js.map +1 -0
  667. package/lib-prod/taon-seo.provider.d.ts +6 -0
  668. package/lib-prod/taon-seo.provider.js +22 -0
  669. package/lib-prod/taon-seo.provider.js.map +1 -0
  670. package/lib-prod/taon-seo.utils.d.ts +15 -0
  671. package/lib-prod/taon-seo.utils.js +28 -0
  672. package/lib-prod/taon-seo.utils.js.map +1 -0
  673. package/lib-prod/taon-seo.validation.d.ts +7 -0
  674. package/lib-prod/taon-seo.validation.js +120 -0
  675. package/lib-prod/taon-seo.validation.js.map +1 -0
  676. package/lib-prod.re-export.json +1 -0
  677. package/lib-prod.split-namespaces.json +22 -0
  678. package/package.json +38 -4
  679. package/scss/app/baseline-backoffice/taon-baseline-backoffice.component.scss +3 -0
  680. package/scss/app/seo-example/seo-example.component.scss +3 -0
  681. package/scss/global.scss +94 -0
  682. package/scss/index.scss +2 -0
  683. package/scss/lib/index.scss +1 -0
  684. package/scss/lib/taon-seo-backoffice/taon-seo-backoffice.component.scss +3 -0
  685. package/scss/lib/taon-seo-page/taon-seo-page-backoffice/taon-seo-page-backoffice.component.scss +4 -0
  686. package/scss/lib/taon-seo-page/taon-seo-page-edit-dialog/taon-seo-page-edit-dialog.component.scss +7 -0
  687. package/scss/lib/taon-seo-settings/taon-seo-settings-backoffice/taon-seo-settings-backoffice.component.scss +13 -0
  688. package/scss/vars.scss +7 -0
  689. package/src.d.ts +6 -0
  690. package/src.js +4 -0
  691. package/websql/README.md +24 -0
  692. package/websql/fesm2022/seo-websql-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs +15 -0
  693. package/websql/fesm2022/seo-websql-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs.map +1 -0
  694. package/websql/fesm2022/seo-websql-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs +16 -0
  695. package/websql/fesm2022/seo-websql-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs.map +1 -0
  696. package/websql/fesm2022/seo-websql-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs +15 -0
  697. package/websql/fesm2022/seo-websql-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs.map +1 -0
  698. package/websql/fesm2022/seo-websql-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs +15 -0
  699. package/websql/fesm2022/seo-websql-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs.map +1 -0
  700. package/websql/fesm2022/seo-websql-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs +15 -0
  701. package/websql/fesm2022/seo-websql-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs.map +1 -0
  702. package/websql/fesm2022/seo-websql-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs +15 -0
  703. package/websql/fesm2022/seo-websql-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs.map +1 -0
  704. package/websql/fesm2022/seo-websql.mjs +2789 -0
  705. package/websql/fesm2022/seo-websql.mjs.map +1 -0
  706. package/websql/package.json +23 -0
  707. package/websql/types/seo-websql.d.ts +971 -0
  708. package/websql-prod/README.md +24 -0
  709. package/websql-prod/fesm2022/seo-websql-prod-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs +15 -0
  710. package/websql-prod/fesm2022/seo-websql-prod-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs.map +1 -0
  711. package/websql-prod/fesm2022/seo-websql-prod-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs +16 -0
  712. package/websql-prod/fesm2022/seo-websql-prod-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs.map +1 -0
  713. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs +15 -0
  714. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs.map +1 -0
  715. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs +15 -0
  716. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs.map +1 -0
  717. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs +15 -0
  718. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs.map +1 -0
  719. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs +15 -0
  720. package/websql-prod/fesm2022/seo-websql-prod-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs.map +1 -0
  721. package/websql-prod/fesm2022/seo-websql-prod.mjs +2790 -0
  722. package/websql-prod/fesm2022/seo-websql-prod.mjs.map +1 -0
  723. package/websql-prod/package.json +23 -0
  724. package/websql-prod/types/seo-websql-prod.d.ts +953 -0
  725. package/websql-prod.re-export.json +1 -0
  726. package/websql-prod.split-namespaces.json +30 -0
  727. package/README.md +0 -3
@@ -0,0 +1,2653 @@
1
+ import { __decorate, __param, __metadata } from 'tslib';
2
+ import { TaonBaseEntity, TaonEntity, TaonBaseMigration, TaonMigration, TaonBaseProvider, TaonProvider, TaonBaseStorageController, TaonController, TaonBaseAngularService, TaonBaseRepository, TaonRepository, TaonBaseCrudController, GET, Query, POST, Body, PUT, DELETE, TaonBaseClass, createContext, TaonBaseContext, Taon__NS__error, TaonBaseKvRepository, TaonBaseMiddleware, TaonMiddleware, TaonBaseSubscriberForEntity, TaonSubscriber } from 'taon/browser-prod';
3
+ import { Table } from 'taon-typeorm/browser-prod';
4
+ import { Translation } from '@taon-dev/i18n/browser-prod';
5
+ import { MyAppRole, MyAppPermission, MyAppGroup } from '@taon-dev/cms/browser-prod';
6
+ import { TaonAuthContextRepository, TaonSessionRepository, TaonSessionAbstractContext } from '@taon-dev/session/browser-prod';
7
+ import { decodeEnv, UtilsJson__NS__getValue } from 'tnp-core/browser-prod';
8
+ import { BaseCommandLineFeature } from 'tnp-helpers/browser-prod';
9
+ import * as i0 from '@angular/core';
10
+ import { Injectable, signal, inject, DestroyRef, APP_BOOTSTRAP_LISTENER, ChangeDetectionStrategy, Component, model, ViewChild } from '@angular/core';
11
+ import { map, filter, startWith, distinctUntilChanged, switchMap, forkJoin, catchError, of, EMPTY, finalize } from 'rxjs';
12
+ import { DOCUMENT, AsyncPipe } from '@angular/common';
13
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
14
+ import { Meta, Title } from '@angular/platform-browser';
15
+ import { Router, NavigationEnd, PRIMARY_OUTLET, RouterOutlet } from '@angular/router';
16
+ import { adminLazyRoute, TaonConfirmDialogComponent, TaonDatatableComponent } from '@taon-dev/ui/browser-prod';
17
+ import * as i2 from '@angular/material/button';
18
+ import { MatButtonModule } from '@angular/material/button';
19
+ import * as i4 from '@angular/material/dialog';
20
+ import { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule, MatDialog } from '@angular/material/dialog';
21
+ import * as i1 from '@angular/forms';
22
+ import { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
23
+ import * as i3 from '@angular/material/checkbox';
24
+ import { MatCheckboxModule } from '@angular/material/checkbox';
25
+ import * as i5 from '@angular/material/form-field';
26
+ import { MatFormFieldModule } from '@angular/material/form-field';
27
+ import * as i6 from '@angular/material/input';
28
+ import { MatInputModule } from '@angular/material/input';
29
+
30
+ let TaonSeoPageEntity = class TaonSeoPageEntity extends TaonBaseEntity {
31
+ };
32
+ TaonSeoPageEntity = __decorate([
33
+ TaonEntity({
34
+ className: 'TaonSeoPageEntity',
35
+ createTable: true,
36
+ })
37
+ ], TaonSeoPageEntity);
38
+
39
+ const t$2 = Translation.for('src/lib/taon-seo-settings/taon-seo-settings.constants.ts', { "src/lib/taon-seo-settings/taon-seo-settings.constants.ts": { "en-US": async () => (await import('./seo-browser-prod-taon-seo-settings.constants.ts.en-US.i18n.data-LWWjHZk9.mjs')).default, "pl-PL": async () => (await import('./seo-browser-prod-taon-seo-settings.constants.ts.pl-PL.i18n.data-oTEAEZ_p.mjs')).default } });
40
+ const TaonSeoSettingsDefaultsValues = {
41
+ id: 1,
42
+ siteName: '',
43
+ defaultTitle: '',
44
+ defaultDescription: '',
45
+ defaultKeywords: null,
46
+ defaultImageKey: null,
47
+ canonicalBaseUrl: null,
48
+ robotsIndex: true,
49
+ robotsFollow: true,
50
+ };
51
+ var TaonSeoSettingsErrors;
52
+ (function (TaonSeoSettingsErrors) {
53
+ TaonSeoSettingsErrors["INVALID_PASSWORD_EXAMPLE_ERROR"] = "INVALID_PASSWORD_EXAMPLE_ERROR";
54
+ })(TaonSeoSettingsErrors || (TaonSeoSettingsErrors = {}));
55
+ const TaonSeoSettingsTranslationErorsMap = new Map([
56
+ [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t$2.gettext('Invalid Password')],
57
+ ]);
58
+
59
+ let TaonSeoSettingsEntity = class TaonSeoSettingsEntity extends TaonBaseEntity {
60
+ };
61
+ TaonSeoSettingsEntity = __decorate([
62
+ TaonEntity({
63
+ className: 'TaonSeoSettingsEntity',
64
+ createTable: true,
65
+ })
66
+ ], TaonSeoSettingsEntity);
67
+
68
+ let SeoContext_1791655200000_seo_configuration = class SeoContext_1791655200000_seo_configuration extends TaonBaseMigration {
69
+ async up(queryRunner) {
70
+ for (const entity of [TaonSeoSettingsEntity, TaonSeoPageEntity]) {
71
+ const metadata = queryRunner.connection.getMetadata(entity);
72
+ const expected = Table.create(metadata, queryRunner.connection.driver);
73
+ const current = await queryRunner.getTable(metadata.tablePath);
74
+ if (current) {
75
+ const expectedNames = expected.columns
76
+ .map(column => column.name)
77
+ .sort()
78
+ .join(',');
79
+ const currentNames = current.columns
80
+ .map(column => column.name)
81
+ .sort()
82
+ .join(',');
83
+ if (expectedNames === currentNames) {
84
+ continue;
85
+ }
86
+ // Demo rows contain no route identity; never invent application paths for them.
87
+ const count = await queryRunner.manager
88
+ .createQueryBuilder()
89
+ .from(metadata.tablePath, 'seo')
90
+ .getCount();
91
+ if (count > 0) {
92
+ throw new Error(`Cannot migrate populated legacy SEO table ${metadata.tablePath}. Map its demo records to the new SEO schema before retrying.`);
93
+ }
94
+ await queryRunner.dropTable(current);
95
+ }
96
+ await queryRunner.createTable(expected, true);
97
+ }
98
+ const settings = queryRunner.manager.getRepository(TaonSeoSettingsEntity);
99
+ const records = await settings.find();
100
+ if (records.some(record => record.id !== 1)) {
101
+ throw new Error('Global SEO settings must use the singleton ID 1. Consolidate existing settings before retrying.');
102
+ }
103
+ const now = new Date();
104
+ await settings
105
+ .createQueryBuilder()
106
+ .insert()
107
+ .values({
108
+ ...TaonSeoSettingsDefaultsValues,
109
+ createdAt: now,
110
+ updatedAt: now,
111
+ })
112
+ .orIgnore()
113
+ .execute();
114
+ }
115
+ async down(queryRunner) {
116
+ for (const entity of [TaonSeoPageEntity, TaonSeoSettingsEntity]) {
117
+ const metadata = queryRunner.connection.getMetadata(entity);
118
+ await queryRunner.dropTable(metadata.tablePath, true);
119
+ }
120
+ }
121
+ };
122
+ SeoContext_1791655200000_seo_configuration = __decorate([
123
+ TaonMigration({ className: 'SeoContext_1791655200000_seo_configuration' })
124
+ ], SeoContext_1791655200000_seo_configuration);
125
+
126
+ //#region Migration class for context "SeoContext"
127
+ let SeoContext_1791132517216_initial = class SeoContext_1791132517216_initial extends TaonBaseMigration {
128
+ constructor() {
129
+ super(...arguments);
130
+ this.taonAuthContextRepository = this.injectCustomRepo((TaonAuthContextRepository));
131
+ //#endregion
132
+ }
133
+ //#region up
134
+ async up(queryRunner) {
135
+ await queryRunner.startTransaction();
136
+ try {
137
+ await this.taonAuthContextRepository.persistTree({
138
+ enums: {
139
+ groups: MyAppGroup,
140
+ roles: MyAppRole,
141
+ permissions: MyAppPermission,
142
+ },
143
+ tree: {
144
+ groupAndRoles: {
145
+ [MyAppGroup.Administrator]: '*',
146
+ [MyAppGroup.Customers]: [MyAppRole.BlogReader],
147
+ },
148
+ rolesAndPermissions: {
149
+ [MyAppRole.Customer]: [
150
+ MyAppPermission.AccessCourseP2,
151
+ MyAppPermission.AccessCourseP2,
152
+ ],
153
+ [MyAppRole.CustomerPremium]: '*',
154
+ },
155
+ },
156
+ });
157
+ await queryRunner.commitTransaction();
158
+ }
159
+ catch (error) {
160
+ console.error('Error in migration:', error);
161
+ await queryRunner.rollbackTransaction();
162
+ }
163
+ finally {
164
+ await queryRunner.release();
165
+ }
166
+ }
167
+ //#endregion
168
+ //#region down
169
+ async down(queryRunner) {
170
+ await queryRunner.startTransaction();
171
+ try {
172
+ await this.taonAuthContextRepository.clearRolesGroupPermissions();
173
+ await queryRunner.commitTransaction();
174
+ }
175
+ catch (error) {
176
+ console.error('Error in migration:', error);
177
+ await queryRunner.rollbackTransaction();
178
+ }
179
+ finally {
180
+ await queryRunner.release();
181
+ }
182
+ }
183
+ };
184
+ SeoContext_1791132517216_initial = __decorate([
185
+ TaonMigration({
186
+ className: 'SeoContext_1791132517216_initial',
187
+ })
188
+ ], SeoContext_1791132517216_initial);
189
+ //#endregion
190
+
191
+ // THIS FILE IS GENERATED - DO NOT MODIFY
192
+ // THIS FILE IS GENERATED - DO NOT MODIFY
193
+ const MIGRATIONS_CLASSES_FOR_SeoContext$1 = {
194
+ /* 04-10-2026 18:48:37 */ SeoContext_1791132517216_initial,
195
+ /* 10-10-2026 20:00:00 */ SeoContext_1791655200000_seo_configuration,
196
+ };
197
+ // THIS FILE IS GENERATED - DO NOT MODIFY
198
+
199
+ const MIGRATIONS_CLASSES_FOR_SeoContext = {
200
+ ...MIGRATIONS_CLASSES_FOR_SeoContext$1,
201
+ SeoContext_1791655200000_seo_configuration,
202
+ };
203
+
204
+ // THIS FILE IS GENERATED - DO NOT MODIFY
205
+ // config.superUsers
206
+ const ENV_ANGULAR_NODE_APP_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
207
+ // config.googleSecret
208
+ const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
209
+ // config.googleClientId
210
+ const ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
211
+ // loading.preAngularBootstrap.background
212
+ const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
213
+ // loading.preAngularBootstrap.loader.name
214
+ const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
215
+ // website.domain
216
+ const ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';
217
+ // website.title
218
+ const ENV_ANGULAR_NODE_APP_WEBSITE_TITLE = 'Seo';
219
+ // website.useDomain
220
+ const ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN = true;
221
+ // release.targetArtifact
222
+ const ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT = 'angular-node-app';
223
+ // release.envName
224
+ const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME = '__';
225
+ // finishCallback
226
+ const ENV_ANGULAR_NODE_APP_FINISH_CALLBACK = () => decodeEnv({});
227
+ // container.only
228
+ const ENV_ANGULAR_NODE_APP_CONTAINER_ONLY = undefined;
229
+ // container.end
230
+ const ENV_ANGULAR_NODE_APP_CONTAINER_END = undefined;
231
+ // container.start
232
+ const ENV_ANGULAR_NODE_APP_CONTAINER_START = undefined;
233
+ // container.skipReleased
234
+ const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED = undefined;
235
+ // container.skip
236
+ const ENV_ANGULAR_NODE_APP_CONTAINER_SKIP = undefined;
237
+ // init.branding
238
+ const ENV_ANGULAR_NODE_APP_INIT_BRANDING = undefined;
239
+ // init.struct
240
+ const ENV_ANGULAR_NODE_APP_INIT_STRUCT = undefined;
241
+ // build.pwa.disableServiceWorker
242
+ const ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
243
+ // build.pwa.name
244
+ const ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME = undefined;
245
+ // build.pwa.short_name
246
+ const ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME = undefined;
247
+ // build.pwa.start_url
248
+ const ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL = undefined;
249
+ // build.electron.showDevTools
250
+ const ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
251
+ // build.ssr
252
+ const ENV_ANGULAR_NODE_APP_BUILD_SSR = undefined;
253
+ // build.websql
254
+ const ENV_ANGULAR_NODE_APP_BUILD_WEBSQL = undefined;
255
+ // build.prod
256
+ const ENV_ANGULAR_NODE_APP_BUILD_PROD = undefined;
257
+ // build.overrideOutputPath
258
+ const ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
259
+ // build.baseHref
260
+ const ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF = undefined;
261
+ // build.watch
262
+ const ENV_ANGULAR_NODE_APP_BUILD_WATCH = undefined;
263
+ // build.genOnlyClientCode
264
+ const ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
265
+ // loading.preAngularBootstrap.loader
266
+ const ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
267
+ // release.cli.minify
268
+ const ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY = undefined;
269
+ // release.cli.includeNodeModules
270
+ const ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
271
+ // release.cli.uglify
272
+ const ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY = undefined;
273
+ // release.cli.obscure
274
+ const ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE = undefined;
275
+ // release.cli.compress
276
+ const ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS = undefined;
277
+ // release.nodeBackendApp.minify
278
+ const ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
279
+ // release.lib.removeDts
280
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS = undefined;
281
+ // release.lib.obscureFileByFile
282
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
283
+ // release.lib.uglifyFileByFile
284
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
285
+ // release.lib.includeSourceMaps
286
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
287
+ // release.lib.compress
288
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS = undefined;
289
+ // release.lib.doNotIncludeLibFiles
290
+ const ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
291
+ // release.resolvedNewVersion
292
+ const ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;
293
+ // release.releaseVersionBumpType
294
+ const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
295
+ // release.envNumber
296
+ const ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER = undefined;
297
+ // release.installLocally
298
+ const ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY = undefined;
299
+ // release.removeReleaseOutputAfterLocalInstall
300
+ const ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
301
+ // release.releaseType
302
+ const ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE = undefined;
303
+ // release.autoReleaseUsingConfig
304
+ const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
305
+ // release.autoReleaseTaskName
306
+ const ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
307
+ // release.taonInstanceIp
308
+ const ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP = undefined;
309
+ // release.skipNpmPublish
310
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;
311
+ // release.skipDeploy
312
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY = undefined;
313
+ // release.skipTagGitPush
314
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
315
+ // release.skipReleaseQuestion
316
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
317
+ // release.skipResolvingGitChanges
318
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
319
+ // release.skipCodeCutting
320
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;
321
+ // release.skipBuildingArtifacts
322
+ const ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
323
+ // release.pushToAllOriginsWhenLocalReleaseBranch
324
+ const ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
325
+ // release.useLocalReleaseBranch
326
+ const ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
327
+ // copyToManager.beforeCopyHook
328
+ const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
329
+ // copyToManager.copyToLocations
330
+ const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
331
+ // copyToManager.copyToProjects
332
+ const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
333
+ // copyToManager.skip
334
+ const ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP = undefined;
335
+ // purpose
336
+ const ENV_ANGULAR_NODE_APP_PURPOSE = undefined;
337
+ // recursiveAction
338
+ const ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION = undefined;
339
+ // isCiProcess
340
+ const ENV_ANGULAR_NODE_APP_IS_CI_PROCESS = undefined;
341
+ // docker.additionalContainer
342
+ const ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;
343
+ // docker.skipStartInOrder
344
+ const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;
345
+ // docker.skipUsingMysqlDb
346
+ const ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
347
+ // THIS FILE IS GENERATED - DO NOT MODIFY
348
+
349
+ // THIS FILE IS GENERATED - DO NOT MODIFY
350
+ // config.superUsers
351
+ const ENV_DOCS_WEBAPP_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
352
+ // config.googleSecret
353
+ const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
354
+ // config.googleClientId
355
+ const ENV_DOCS_WEBAPP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
356
+ // loading.preAngularBootstrap.background
357
+ const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
358
+ // loading.preAngularBootstrap.loader.name
359
+ const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
360
+ // website.domain
361
+ const ENV_DOCS_WEBAPP_WEBSITE_DOMAIN = 'seo.example.domain.com';
362
+ // website.title
363
+ const ENV_DOCS_WEBAPP_WEBSITE_TITLE = 'Seo';
364
+ // website.useDomain
365
+ const ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN = true;
366
+ // release.targetArtifact
367
+ const ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT = 'docs-webapp';
368
+ // release.envName
369
+ const ENV_DOCS_WEBAPP_RELEASE_ENV_NAME = '__';
370
+ // finishCallback
371
+ const ENV_DOCS_WEBAPP_FINISH_CALLBACK = () => decodeEnv({});
372
+ // container.only
373
+ const ENV_DOCS_WEBAPP_CONTAINER_ONLY = undefined;
374
+ // container.end
375
+ const ENV_DOCS_WEBAPP_CONTAINER_END = undefined;
376
+ // container.start
377
+ const ENV_DOCS_WEBAPP_CONTAINER_START = undefined;
378
+ // container.skipReleased
379
+ const ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED = undefined;
380
+ // container.skip
381
+ const ENV_DOCS_WEBAPP_CONTAINER_SKIP = undefined;
382
+ // init.branding
383
+ const ENV_DOCS_WEBAPP_INIT_BRANDING = undefined;
384
+ // init.struct
385
+ const ENV_DOCS_WEBAPP_INIT_STRUCT = undefined;
386
+ // build.pwa.disableServiceWorker
387
+ const ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
388
+ // build.pwa.name
389
+ const ENV_DOCS_WEBAPP_BUILD_PWA_NAME = undefined;
390
+ // build.pwa.short_name
391
+ const ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME = undefined;
392
+ // build.pwa.start_url
393
+ const ENV_DOCS_WEBAPP_BUILD_PWA_START_URL = undefined;
394
+ // build.electron.showDevTools
395
+ const ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
396
+ // build.ssr
397
+ const ENV_DOCS_WEBAPP_BUILD_SSR = undefined;
398
+ // build.websql
399
+ const ENV_DOCS_WEBAPP_BUILD_WEBSQL = undefined;
400
+ // build.prod
401
+ const ENV_DOCS_WEBAPP_BUILD_PROD = undefined;
402
+ // build.overrideOutputPath
403
+ const ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
404
+ // build.baseHref
405
+ const ENV_DOCS_WEBAPP_BUILD_BASE_HREF = undefined;
406
+ // build.watch
407
+ const ENV_DOCS_WEBAPP_BUILD_WATCH = undefined;
408
+ // build.genOnlyClientCode
409
+ const ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
410
+ // loading.preAngularBootstrap.loader
411
+ const ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
412
+ // release.cli.minify
413
+ const ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY = undefined;
414
+ // release.cli.includeNodeModules
415
+ const ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
416
+ // release.cli.uglify
417
+ const ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY = undefined;
418
+ // release.cli.obscure
419
+ const ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE = undefined;
420
+ // release.cli.compress
421
+ const ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS = undefined;
422
+ // release.nodeBackendApp.minify
423
+ const ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
424
+ // release.lib.removeDts
425
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS = undefined;
426
+ // release.lib.obscureFileByFile
427
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
428
+ // release.lib.uglifyFileByFile
429
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
430
+ // release.lib.includeSourceMaps
431
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
432
+ // release.lib.compress
433
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS = undefined;
434
+ // release.lib.doNotIncludeLibFiles
435
+ const ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
436
+ // release.resolvedNewVersion
437
+ const ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION = undefined;
438
+ // release.releaseVersionBumpType
439
+ const ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
440
+ // release.envNumber
441
+ const ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER = undefined;
442
+ // release.installLocally
443
+ const ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY = undefined;
444
+ // release.removeReleaseOutputAfterLocalInstall
445
+ const ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
446
+ // release.releaseType
447
+ const ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE = undefined;
448
+ // release.autoReleaseUsingConfig
449
+ const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
450
+ // release.autoReleaseTaskName
451
+ const ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
452
+ // release.taonInstanceIp
453
+ const ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP = undefined;
454
+ // release.skipNpmPublish
455
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH = undefined;
456
+ // release.skipDeploy
457
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY = undefined;
458
+ // release.skipTagGitPush
459
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
460
+ // release.skipReleaseQuestion
461
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
462
+ // release.skipResolvingGitChanges
463
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
464
+ // release.skipCodeCutting
465
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING = undefined;
466
+ // release.skipBuildingArtifacts
467
+ const ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
468
+ // release.pushToAllOriginsWhenLocalReleaseBranch
469
+ const ENV_DOCS_WEBAPP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
470
+ // release.useLocalReleaseBranch
471
+ const ENV_DOCS_WEBAPP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
472
+ // copyToManager.beforeCopyHook
473
+ const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
474
+ // copyToManager.copyToLocations
475
+ const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
476
+ // copyToManager.copyToProjects
477
+ const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
478
+ // copyToManager.skip
479
+ const ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP = undefined;
480
+ // purpose
481
+ const ENV_DOCS_WEBAPP_PURPOSE = undefined;
482
+ // recursiveAction
483
+ const ENV_DOCS_WEBAPP_RECURSIVE_ACTION = undefined;
484
+ // isCiProcess
485
+ const ENV_DOCS_WEBAPP_IS_CI_PROCESS = undefined;
486
+ // docker.additionalContainer
487
+ const ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER = undefined;
488
+ // docker.skipStartInOrder
489
+ const ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER = undefined;
490
+ // docker.skipUsingMysqlDb
491
+ const ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
492
+ // THIS FILE IS GENERATED - DO NOT MODIFY
493
+
494
+ // THIS FILE IS GENERATED - DO NOT MODIFY
495
+ // config.superUsers
496
+ const ENV_ELECTRON_APP_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
497
+ // config.googleSecret
498
+ const ENV_ELECTRON_APP_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
499
+ // config.googleClientId
500
+ const ENV_ELECTRON_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
501
+ // build.ssr
502
+ const ENV_ELECTRON_APP_BUILD_SSR = false;
503
+ // loading.preAngularBootstrap.background
504
+ const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
505
+ // loading.preAngularBootstrap.loader.name
506
+ const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
507
+ // website.domain
508
+ const ENV_ELECTRON_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';
509
+ // website.title
510
+ const ENV_ELECTRON_APP_WEBSITE_TITLE = 'Seo';
511
+ // website.useDomain
512
+ const ENV_ELECTRON_APP_WEBSITE_USE_DOMAIN = true;
513
+ // release.targetArtifact
514
+ const ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT = 'electron-app';
515
+ // release.envName
516
+ const ENV_ELECTRON_APP_RELEASE_ENV_NAME = '__';
517
+ // finishCallback
518
+ const ENV_ELECTRON_APP_FINISH_CALLBACK = () => decodeEnv({});
519
+ // container.only
520
+ const ENV_ELECTRON_APP_CONTAINER_ONLY = undefined;
521
+ // container.end
522
+ const ENV_ELECTRON_APP_CONTAINER_END = undefined;
523
+ // container.start
524
+ const ENV_ELECTRON_APP_CONTAINER_START = undefined;
525
+ // container.skipReleased
526
+ const ENV_ELECTRON_APP_CONTAINER_SKIP_RELEASED = undefined;
527
+ // container.skip
528
+ const ENV_ELECTRON_APP_CONTAINER_SKIP = undefined;
529
+ // init.branding
530
+ const ENV_ELECTRON_APP_INIT_BRANDING = undefined;
531
+ // init.struct
532
+ const ENV_ELECTRON_APP_INIT_STRUCT = undefined;
533
+ // build.pwa.disableServiceWorker
534
+ const ENV_ELECTRON_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
535
+ // build.pwa.name
536
+ const ENV_ELECTRON_APP_BUILD_PWA_NAME = undefined;
537
+ // build.pwa.short_name
538
+ const ENV_ELECTRON_APP_BUILD_PWA_SHORT_NAME = undefined;
539
+ // build.pwa.start_url
540
+ const ENV_ELECTRON_APP_BUILD_PWA_START_URL = undefined;
541
+ // build.electron.showDevTools
542
+ const ENV_ELECTRON_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
543
+ // build.websql
544
+ const ENV_ELECTRON_APP_BUILD_WEBSQL = undefined;
545
+ // build.prod
546
+ const ENV_ELECTRON_APP_BUILD_PROD = undefined;
547
+ // build.overrideOutputPath
548
+ const ENV_ELECTRON_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
549
+ // build.baseHref
550
+ const ENV_ELECTRON_APP_BUILD_BASE_HREF = undefined;
551
+ // build.watch
552
+ const ENV_ELECTRON_APP_BUILD_WATCH = undefined;
553
+ // build.genOnlyClientCode
554
+ const ENV_ELECTRON_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
555
+ // loading.preAngularBootstrap.loader
556
+ const ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
557
+ // release.cli.minify
558
+ const ENV_ELECTRON_APP_RELEASE_CLI_MINIFY = undefined;
559
+ // release.cli.includeNodeModules
560
+ const ENV_ELECTRON_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
561
+ // release.cli.uglify
562
+ const ENV_ELECTRON_APP_RELEASE_CLI_UGLIFY = undefined;
563
+ // release.cli.obscure
564
+ const ENV_ELECTRON_APP_RELEASE_CLI_OBSCURE = undefined;
565
+ // release.cli.compress
566
+ const ENV_ELECTRON_APP_RELEASE_CLI_COMPRESS = undefined;
567
+ // release.nodeBackendApp.minify
568
+ const ENV_ELECTRON_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
569
+ // release.lib.removeDts
570
+ const ENV_ELECTRON_APP_RELEASE_LIB_REMOVE_DTS = undefined;
571
+ // release.lib.obscureFileByFile
572
+ const ENV_ELECTRON_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
573
+ // release.lib.uglifyFileByFile
574
+ const ENV_ELECTRON_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
575
+ // release.lib.includeSourceMaps
576
+ const ENV_ELECTRON_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
577
+ // release.lib.compress
578
+ const ENV_ELECTRON_APP_RELEASE_LIB_COMPRESS = undefined;
579
+ // release.lib.doNotIncludeLibFiles
580
+ const ENV_ELECTRON_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
581
+ // release.resolvedNewVersion
582
+ const ENV_ELECTRON_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;
583
+ // release.releaseVersionBumpType
584
+ const ENV_ELECTRON_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
585
+ // release.envNumber
586
+ const ENV_ELECTRON_APP_RELEASE_ENV_NUMBER = undefined;
587
+ // release.installLocally
588
+ const ENV_ELECTRON_APP_RELEASE_INSTALL_LOCALLY = undefined;
589
+ // release.removeReleaseOutputAfterLocalInstall
590
+ const ENV_ELECTRON_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
591
+ // release.releaseType
592
+ const ENV_ELECTRON_APP_RELEASE_RELEASE_TYPE = undefined;
593
+ // release.autoReleaseUsingConfig
594
+ const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
595
+ // release.autoReleaseTaskName
596
+ const ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
597
+ // release.taonInstanceIp
598
+ const ENV_ELECTRON_APP_RELEASE_TAON_INSTANCE_IP = undefined;
599
+ // release.skipNpmPublish
600
+ const ENV_ELECTRON_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;
601
+ // release.skipDeploy
602
+ const ENV_ELECTRON_APP_RELEASE_SKIP_DEPLOY = undefined;
603
+ // release.skipTagGitPush
604
+ const ENV_ELECTRON_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
605
+ // release.skipReleaseQuestion
606
+ const ENV_ELECTRON_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
607
+ // release.skipResolvingGitChanges
608
+ const ENV_ELECTRON_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
609
+ // release.skipCodeCutting
610
+ const ENV_ELECTRON_APP_RELEASE_SKIP_CODE_CUTTING = undefined;
611
+ // release.skipBuildingArtifacts
612
+ const ENV_ELECTRON_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
613
+ // release.pushToAllOriginsWhenLocalReleaseBranch
614
+ const ENV_ELECTRON_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
615
+ // release.useLocalReleaseBranch
616
+ const ENV_ELECTRON_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
617
+ // copyToManager.beforeCopyHook
618
+ const ENV_ELECTRON_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
619
+ // copyToManager.copyToLocations
620
+ const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
621
+ // copyToManager.copyToProjects
622
+ const ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
623
+ // copyToManager.skip
624
+ const ENV_ELECTRON_APP_COPY_TO_MANAGER_SKIP = undefined;
625
+ // purpose
626
+ const ENV_ELECTRON_APP_PURPOSE = undefined;
627
+ // recursiveAction
628
+ const ENV_ELECTRON_APP_RECURSIVE_ACTION = undefined;
629
+ // isCiProcess
630
+ const ENV_ELECTRON_APP_IS_CI_PROCESS = undefined;
631
+ // docker.additionalContainer
632
+ const ENV_ELECTRON_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;
633
+ // docker.skipStartInOrder
634
+ const ENV_ELECTRON_APP_DOCKER_SKIP_START_IN_ORDER = undefined;
635
+ // docker.skipUsingMysqlDb
636
+ const ENV_ELECTRON_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
637
+ // THIS FILE IS GENERATED - DO NOT MODIFY
638
+
639
+ // THIS FILE IS GENERATED - DO NOT MODIFY
640
+ // config.superUsers
641
+ const ENV_MOBILE_APP_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
642
+ // config.googleSecret
643
+ const ENV_MOBILE_APP_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
644
+ // config.googleClientId
645
+ const ENV_MOBILE_APP_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
646
+ // loading.preAngularBootstrap.background
647
+ const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
648
+ // loading.preAngularBootstrap.loader.name
649
+ const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
650
+ // website.domain
651
+ const ENV_MOBILE_APP_WEBSITE_DOMAIN = 'seo.example.domain.com';
652
+ // website.title
653
+ const ENV_MOBILE_APP_WEBSITE_TITLE = 'Seo';
654
+ // website.useDomain
655
+ const ENV_MOBILE_APP_WEBSITE_USE_DOMAIN = true;
656
+ // release.targetArtifact
657
+ const ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT = 'mobile-app';
658
+ // release.envName
659
+ const ENV_MOBILE_APP_RELEASE_ENV_NAME = '__';
660
+ // finishCallback
661
+ const ENV_MOBILE_APP_FINISH_CALLBACK = () => decodeEnv({});
662
+ // container.only
663
+ const ENV_MOBILE_APP_CONTAINER_ONLY = undefined;
664
+ // container.end
665
+ const ENV_MOBILE_APP_CONTAINER_END = undefined;
666
+ // container.start
667
+ const ENV_MOBILE_APP_CONTAINER_START = undefined;
668
+ // container.skipReleased
669
+ const ENV_MOBILE_APP_CONTAINER_SKIP_RELEASED = undefined;
670
+ // container.skip
671
+ const ENV_MOBILE_APP_CONTAINER_SKIP = undefined;
672
+ // init.branding
673
+ const ENV_MOBILE_APP_INIT_BRANDING = undefined;
674
+ // init.struct
675
+ const ENV_MOBILE_APP_INIT_STRUCT = undefined;
676
+ // build.pwa.disableServiceWorker
677
+ const ENV_MOBILE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
678
+ // build.pwa.name
679
+ const ENV_MOBILE_APP_BUILD_PWA_NAME = undefined;
680
+ // build.pwa.short_name
681
+ const ENV_MOBILE_APP_BUILD_PWA_SHORT_NAME = undefined;
682
+ // build.pwa.start_url
683
+ const ENV_MOBILE_APP_BUILD_PWA_START_URL = undefined;
684
+ // build.electron.showDevTools
685
+ const ENV_MOBILE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
686
+ // build.ssr
687
+ const ENV_MOBILE_APP_BUILD_SSR = undefined;
688
+ // build.websql
689
+ const ENV_MOBILE_APP_BUILD_WEBSQL = undefined;
690
+ // build.prod
691
+ const ENV_MOBILE_APP_BUILD_PROD = undefined;
692
+ // build.overrideOutputPath
693
+ const ENV_MOBILE_APP_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
694
+ // build.baseHref
695
+ const ENV_MOBILE_APP_BUILD_BASE_HREF = undefined;
696
+ // build.watch
697
+ const ENV_MOBILE_APP_BUILD_WATCH = undefined;
698
+ // build.genOnlyClientCode
699
+ const ENV_MOBILE_APP_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
700
+ // loading.preAngularBootstrap.loader
701
+ const ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
702
+ // release.cli.minify
703
+ const ENV_MOBILE_APP_RELEASE_CLI_MINIFY = undefined;
704
+ // release.cli.includeNodeModules
705
+ const ENV_MOBILE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
706
+ // release.cli.uglify
707
+ const ENV_MOBILE_APP_RELEASE_CLI_UGLIFY = undefined;
708
+ // release.cli.obscure
709
+ const ENV_MOBILE_APP_RELEASE_CLI_OBSCURE = undefined;
710
+ // release.cli.compress
711
+ const ENV_MOBILE_APP_RELEASE_CLI_COMPRESS = undefined;
712
+ // release.nodeBackendApp.minify
713
+ const ENV_MOBILE_APP_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
714
+ // release.lib.removeDts
715
+ const ENV_MOBILE_APP_RELEASE_LIB_REMOVE_DTS = undefined;
716
+ // release.lib.obscureFileByFile
717
+ const ENV_MOBILE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
718
+ // release.lib.uglifyFileByFile
719
+ const ENV_MOBILE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
720
+ // release.lib.includeSourceMaps
721
+ const ENV_MOBILE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
722
+ // release.lib.compress
723
+ const ENV_MOBILE_APP_RELEASE_LIB_COMPRESS = undefined;
724
+ // release.lib.doNotIncludeLibFiles
725
+ const ENV_MOBILE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
726
+ // release.resolvedNewVersion
727
+ const ENV_MOBILE_APP_RELEASE_RESOLVED_NEW_VERSION = undefined;
728
+ // release.releaseVersionBumpType
729
+ const ENV_MOBILE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
730
+ // release.envNumber
731
+ const ENV_MOBILE_APP_RELEASE_ENV_NUMBER = undefined;
732
+ // release.installLocally
733
+ const ENV_MOBILE_APP_RELEASE_INSTALL_LOCALLY = undefined;
734
+ // release.removeReleaseOutputAfterLocalInstall
735
+ const ENV_MOBILE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
736
+ // release.releaseType
737
+ const ENV_MOBILE_APP_RELEASE_RELEASE_TYPE = undefined;
738
+ // release.autoReleaseUsingConfig
739
+ const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
740
+ // release.autoReleaseTaskName
741
+ const ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
742
+ // release.taonInstanceIp
743
+ const ENV_MOBILE_APP_RELEASE_TAON_INSTANCE_IP = undefined;
744
+ // release.skipNpmPublish
745
+ const ENV_MOBILE_APP_RELEASE_SKIP_NPM_PUBLISH = undefined;
746
+ // release.skipDeploy
747
+ const ENV_MOBILE_APP_RELEASE_SKIP_DEPLOY = undefined;
748
+ // release.skipTagGitPush
749
+ const ENV_MOBILE_APP_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
750
+ // release.skipReleaseQuestion
751
+ const ENV_MOBILE_APP_RELEASE_SKIP_RELEASE_QUESTION = undefined;
752
+ // release.skipResolvingGitChanges
753
+ const ENV_MOBILE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
754
+ // release.skipCodeCutting
755
+ const ENV_MOBILE_APP_RELEASE_SKIP_CODE_CUTTING = undefined;
756
+ // release.skipBuildingArtifacts
757
+ const ENV_MOBILE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
758
+ // release.pushToAllOriginsWhenLocalReleaseBranch
759
+ const ENV_MOBILE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
760
+ // release.useLocalReleaseBranch
761
+ const ENV_MOBILE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
762
+ // copyToManager.beforeCopyHook
763
+ const ENV_MOBILE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
764
+ // copyToManager.copyToLocations
765
+ const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
766
+ // copyToManager.copyToProjects
767
+ const ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
768
+ // copyToManager.skip
769
+ const ENV_MOBILE_APP_COPY_TO_MANAGER_SKIP = undefined;
770
+ // purpose
771
+ const ENV_MOBILE_APP_PURPOSE = undefined;
772
+ // recursiveAction
773
+ const ENV_MOBILE_APP_RECURSIVE_ACTION = undefined;
774
+ // isCiProcess
775
+ const ENV_MOBILE_APP_IS_CI_PROCESS = undefined;
776
+ // docker.additionalContainer
777
+ const ENV_MOBILE_APP_DOCKER_ADDITIONAL_CONTAINER = undefined;
778
+ // docker.skipStartInOrder
779
+ const ENV_MOBILE_APP_DOCKER_SKIP_START_IN_ORDER = undefined;
780
+ // docker.skipUsingMysqlDb
781
+ const ENV_MOBILE_APP_DOCKER_SKIP_USING_MYSQL_DB = undefined;
782
+ // THIS FILE IS GENERATED - DO NOT MODIFY
783
+
784
+ // THIS FILE IS GENERATED - DO NOT MODIFY
785
+ // config.superUsers
786
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
787
+ // config.googleSecret
788
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
789
+ // config.googleClientId
790
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
791
+ // loading.preAngularBootstrap.background
792
+ const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
793
+ // loading.preAngularBootstrap.loader.name
794
+ const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
795
+ // website.domain
796
+ const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN = 'seo.example.domain.com';
797
+ // website.title
798
+ const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE = 'Seo';
799
+ // website.useDomain
800
+ const ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_USE_DOMAIN = true;
801
+ // release.targetArtifact
802
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT = 'npm-lib-and-cli-tool';
803
+ // release.envName
804
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME = '__';
805
+ // finishCallback
806
+ const ENV_NPM_LIB_AND_CLI_TOOL_FINISH_CALLBACK = () => decodeEnv({});
807
+ // container.only
808
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_ONLY = undefined;
809
+ // container.end
810
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_END = undefined;
811
+ // container.start
812
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_START = undefined;
813
+ // container.skipReleased
814
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP_RELEASED = undefined;
815
+ // container.skip
816
+ const ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP = undefined;
817
+ // init.branding
818
+ const ENV_NPM_LIB_AND_CLI_TOOL_INIT_BRANDING = undefined;
819
+ // init.struct
820
+ const ENV_NPM_LIB_AND_CLI_TOOL_INIT_STRUCT = undefined;
821
+ // build.pwa.disableServiceWorker
822
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
823
+ // build.pwa.name
824
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_NAME = undefined;
825
+ // build.pwa.short_name
826
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_SHORT_NAME = undefined;
827
+ // build.pwa.start_url
828
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_START_URL = undefined;
829
+ // build.electron.showDevTools
830
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
831
+ // build.ssr
832
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_SSR = undefined;
833
+ // build.websql
834
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WEBSQL = undefined;
835
+ // build.prod
836
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PROD = undefined;
837
+ // build.overrideOutputPath
838
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
839
+ // build.baseHref
840
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_BASE_HREF = undefined;
841
+ // build.watch
842
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WATCH = undefined;
843
+ // build.genOnlyClientCode
844
+ const ENV_NPM_LIB_AND_CLI_TOOL_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
845
+ // loading.preAngularBootstrap.loader
846
+ const ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
847
+ // release.cli.minify
848
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_MINIFY = undefined;
849
+ // release.cli.includeNodeModules
850
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
851
+ // release.cli.uglify
852
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_UGLIFY = undefined;
853
+ // release.cli.obscure
854
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_OBSCURE = undefined;
855
+ // release.cli.compress
856
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_COMPRESS = undefined;
857
+ // release.nodeBackendApp.minify
858
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
859
+ // release.lib.removeDts
860
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_REMOVE_DTS = undefined;
861
+ // release.lib.obscureFileByFile
862
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
863
+ // release.lib.uglifyFileByFile
864
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
865
+ // release.lib.includeSourceMaps
866
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
867
+ // release.lib.compress
868
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_COMPRESS = undefined;
869
+ // release.lib.doNotIncludeLibFiles
870
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
871
+ // release.resolvedNewVersion
872
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RESOLVED_NEW_VERSION = undefined;
873
+ // release.releaseVersionBumpType
874
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
875
+ // release.envNumber
876
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NUMBER = undefined;
877
+ // release.installLocally
878
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_INSTALL_LOCALLY = undefined;
879
+ // release.removeReleaseOutputAfterLocalInstall
880
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
881
+ // release.releaseType
882
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_TYPE = undefined;
883
+ // release.autoReleaseUsingConfig
884
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
885
+ // release.autoReleaseTaskName
886
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
887
+ // release.taonInstanceIp
888
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TAON_INSTANCE_IP = undefined;
889
+ // release.skipNpmPublish
890
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_NPM_PUBLISH = undefined;
891
+ // release.skipDeploy
892
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_DEPLOY = undefined;
893
+ // release.skipTagGitPush
894
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
895
+ // release.skipReleaseQuestion
896
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RELEASE_QUESTION = undefined;
897
+ // release.skipResolvingGitChanges
898
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
899
+ // release.skipCodeCutting
900
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_CODE_CUTTING = undefined;
901
+ // release.skipBuildingArtifacts
902
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
903
+ // release.pushToAllOriginsWhenLocalReleaseBranch
904
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
905
+ // release.useLocalReleaseBranch
906
+ const ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
907
+ // copyToManager.beforeCopyHook
908
+ const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
909
+ // copyToManager.copyToLocations
910
+ const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
911
+ // copyToManager.copyToProjects
912
+ const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
913
+ // copyToManager.skip
914
+ const ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_SKIP = undefined;
915
+ // purpose
916
+ const ENV_NPM_LIB_AND_CLI_TOOL_PURPOSE = undefined;
917
+ // recursiveAction
918
+ const ENV_NPM_LIB_AND_CLI_TOOL_RECURSIVE_ACTION = undefined;
919
+ // isCiProcess
920
+ const ENV_NPM_LIB_AND_CLI_TOOL_IS_CI_PROCESS = undefined;
921
+ // docker.additionalContainer
922
+ const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_ADDITIONAL_CONTAINER = undefined;
923
+ // docker.skipStartInOrder
924
+ const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_START_IN_ORDER = undefined;
925
+ // docker.skipUsingMysqlDb
926
+ const ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_USING_MYSQL_DB = undefined;
927
+ // THIS FILE IS GENERATED - DO NOT MODIFY
928
+
929
+ // THIS FILE IS GENERATED - DO NOT MODIFY
930
+ // config.superUsers
931
+ const ENV_VSCODE_PLUGIN_CONFIG_SUPER_USERS = () => decodeEnv("dariusz@taon.dev");
932
+ // config.googleSecret
933
+ const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_SECRET = () => decodeEnv("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");
934
+ // config.googleClientId
935
+ const ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_CLIENT_ID = '289576612173-2mh31b67pmq2qdes5jedno9tr1m542es.apps.googleusercontent.com';
936
+ // loading.preAngularBootstrap.background
937
+ const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND = '#fdebed';
938
+ // loading.preAngularBootstrap.loader.name
939
+ const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME = 'lds-default';
940
+ // website.domain
941
+ const ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN = 'seo.example.domain.com';
942
+ // website.title
943
+ const ENV_VSCODE_PLUGIN_WEBSITE_TITLE = 'Seo';
944
+ // website.useDomain
945
+ const ENV_VSCODE_PLUGIN_WEBSITE_USE_DOMAIN = true;
946
+ // release.targetArtifact
947
+ const ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT = 'vscode-plugin';
948
+ // release.envName
949
+ const ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME = '__';
950
+ // finishCallback
951
+ const ENV_VSCODE_PLUGIN_FINISH_CALLBACK = () => decodeEnv({});
952
+ // container.only
953
+ const ENV_VSCODE_PLUGIN_CONTAINER_ONLY = undefined;
954
+ // container.end
955
+ const ENV_VSCODE_PLUGIN_CONTAINER_END = undefined;
956
+ // container.start
957
+ const ENV_VSCODE_PLUGIN_CONTAINER_START = undefined;
958
+ // container.skipReleased
959
+ const ENV_VSCODE_PLUGIN_CONTAINER_SKIP_RELEASED = undefined;
960
+ // container.skip
961
+ const ENV_VSCODE_PLUGIN_CONTAINER_SKIP = undefined;
962
+ // init.branding
963
+ const ENV_VSCODE_PLUGIN_INIT_BRANDING = undefined;
964
+ // init.struct
965
+ const ENV_VSCODE_PLUGIN_INIT_STRUCT = undefined;
966
+ // build.pwa.disableServiceWorker
967
+ const ENV_VSCODE_PLUGIN_BUILD_PWA_DISABLE_SERVICE_WORKER = undefined;
968
+ // build.pwa.name
969
+ const ENV_VSCODE_PLUGIN_BUILD_PWA_NAME = undefined;
970
+ // build.pwa.short_name
971
+ const ENV_VSCODE_PLUGIN_BUILD_PWA_SHORT_NAME = undefined;
972
+ // build.pwa.start_url
973
+ const ENV_VSCODE_PLUGIN_BUILD_PWA_START_URL = undefined;
974
+ // build.electron.showDevTools
975
+ const ENV_VSCODE_PLUGIN_BUILD_ELECTRON_SHOW_DEV_TOOLS = undefined;
976
+ // build.ssr
977
+ const ENV_VSCODE_PLUGIN_BUILD_SSR = undefined;
978
+ // build.websql
979
+ const ENV_VSCODE_PLUGIN_BUILD_WEBSQL = undefined;
980
+ // build.prod
981
+ const ENV_VSCODE_PLUGIN_BUILD_PROD = undefined;
982
+ // build.overrideOutputPath
983
+ const ENV_VSCODE_PLUGIN_BUILD_OVERRIDE_OUTPUT_PATH = undefined;
984
+ // build.baseHref
985
+ const ENV_VSCODE_PLUGIN_BUILD_BASE_HREF = undefined;
986
+ // build.watch
987
+ const ENV_VSCODE_PLUGIN_BUILD_WATCH = undefined;
988
+ // build.genOnlyClientCode
989
+ const ENV_VSCODE_PLUGIN_BUILD_GEN_ONLY_CLIENT_CODE = undefined;
990
+ // loading.preAngularBootstrap.loader
991
+ const ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER = undefined;
992
+ // release.cli.minify
993
+ const ENV_VSCODE_PLUGIN_RELEASE_CLI_MINIFY = undefined;
994
+ // release.cli.includeNodeModules
995
+ const ENV_VSCODE_PLUGIN_RELEASE_CLI_INCLUDE_NODE_MODULES = undefined;
996
+ // release.cli.uglify
997
+ const ENV_VSCODE_PLUGIN_RELEASE_CLI_UGLIFY = undefined;
998
+ // release.cli.obscure
999
+ const ENV_VSCODE_PLUGIN_RELEASE_CLI_OBSCURE = undefined;
1000
+ // release.cli.compress
1001
+ const ENV_VSCODE_PLUGIN_RELEASE_CLI_COMPRESS = undefined;
1002
+ // release.nodeBackendApp.minify
1003
+ const ENV_VSCODE_PLUGIN_RELEASE_NODE_BACKEND_APP_MINIFY = undefined;
1004
+ // release.lib.removeDts
1005
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_REMOVE_DTS = undefined;
1006
+ // release.lib.obscureFileByFile
1007
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_OBSCURE_FILE_BY_FILE = undefined;
1008
+ // release.lib.uglifyFileByFile
1009
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_UGLIFY_FILE_BY_FILE = undefined;
1010
+ // release.lib.includeSourceMaps
1011
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_INCLUDE_SOURCE_MAPS = undefined;
1012
+ // release.lib.compress
1013
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_COMPRESS = undefined;
1014
+ // release.lib.doNotIncludeLibFiles
1015
+ const ENV_VSCODE_PLUGIN_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES = undefined;
1016
+ // release.resolvedNewVersion
1017
+ const ENV_VSCODE_PLUGIN_RELEASE_RESOLVED_NEW_VERSION = undefined;
1018
+ // release.releaseVersionBumpType
1019
+ const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_VERSION_BUMP_TYPE = undefined;
1020
+ // release.envNumber
1021
+ const ENV_VSCODE_PLUGIN_RELEASE_ENV_NUMBER = undefined;
1022
+ // release.installLocally
1023
+ const ENV_VSCODE_PLUGIN_RELEASE_INSTALL_LOCALLY = undefined;
1024
+ // release.removeReleaseOutputAfterLocalInstall
1025
+ const ENV_VSCODE_PLUGIN_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL = undefined;
1026
+ // release.releaseType
1027
+ const ENV_VSCODE_PLUGIN_RELEASE_RELEASE_TYPE = undefined;
1028
+ // release.autoReleaseUsingConfig
1029
+ const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_USING_CONFIG = undefined;
1030
+ // release.autoReleaseTaskName
1031
+ const ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_TASK_NAME = undefined;
1032
+ // release.taonInstanceIp
1033
+ const ENV_VSCODE_PLUGIN_RELEASE_TAON_INSTANCE_IP = undefined;
1034
+ // release.skipNpmPublish
1035
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_NPM_PUBLISH = undefined;
1036
+ // release.skipDeploy
1037
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_DEPLOY = undefined;
1038
+ // release.skipTagGitPush
1039
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_TAG_GIT_PUSH = undefined;
1040
+ // release.skipReleaseQuestion
1041
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RELEASE_QUESTION = undefined;
1042
+ // release.skipResolvingGitChanges
1043
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_RESOLVING_GIT_CHANGES = undefined;
1044
+ // release.skipCodeCutting
1045
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_CODE_CUTTING = undefined;
1046
+ // release.skipBuildingArtifacts
1047
+ const ENV_VSCODE_PLUGIN_RELEASE_SKIP_BUILDING_ARTIFACTS = undefined;
1048
+ // release.pushToAllOriginsWhenLocalReleaseBranch
1049
+ const ENV_VSCODE_PLUGIN_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH = undefined;
1050
+ // release.useLocalReleaseBranch
1051
+ const ENV_VSCODE_PLUGIN_RELEASE_USE_LOCAL_RELEASE_BRANCH = undefined;
1052
+ // copyToManager.beforeCopyHook
1053
+ const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_BEFORE_COPY_HOOK = undefined;
1054
+ // copyToManager.copyToLocations
1055
+ const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_LOCATIONS = undefined;
1056
+ // copyToManager.copyToProjects
1057
+ const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_PROJECTS = undefined;
1058
+ // copyToManager.skip
1059
+ const ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_SKIP = undefined;
1060
+ // purpose
1061
+ const ENV_VSCODE_PLUGIN_PURPOSE = undefined;
1062
+ // recursiveAction
1063
+ const ENV_VSCODE_PLUGIN_RECURSIVE_ACTION = undefined;
1064
+ // isCiProcess
1065
+ const ENV_VSCODE_PLUGIN_IS_CI_PROCESS = undefined;
1066
+ // docker.additionalContainer
1067
+ const ENV_VSCODE_PLUGIN_DOCKER_ADDITIONAL_CONTAINER = undefined;
1068
+ // docker.skipStartInOrder
1069
+ const ENV_VSCODE_PLUGIN_DOCKER_SKIP_START_IN_ORDER = undefined;
1070
+ // docker.skipUsingMysqlDb
1071
+ const ENV_VSCODE_PLUGIN_DOCKER_SKIP_USING_MYSQL_DB = undefined;
1072
+ // THIS FILE IS GENERATED - DO NOT MODIFY
1073
+
1074
+ // THIS FILE IS GENERATED - DO NOT MODIFY
1075
+ /**
1076
+ * Autogenerated by current cli tool
1077
+ */
1078
+ const BUILD_FRAMEWORK_CLI_NAME = 'tnp';
1079
+ /**
1080
+ * This value can be change in taon.jsonc (appId)
1081
+ */
1082
+ const APP_ID = 'com.domain.example.seo';
1083
+ /**
1084
+ * Autogenerated by current cli tool
1085
+ */
1086
+ const BUILD_BASE_HREF = '';
1087
+ /**
1088
+ * This value can be change in taon.jsonc (overrideNpmName)
1089
+ */
1090
+ const PROJECT_NPM_NAME = '@taon-dev/seo';
1091
+ /**
1092
+ * Taon version from you project taon.json
1093
+ */
1094
+ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
1095
+ /**
1096
+ * Autogenerated by current cli tool. Use *tnp release* to bump version.
1097
+ */
1098
+ const CURRENT_PACKAGE_VERSION = '21.0.5';
1099
+ // THIS FILE IS GENERATED - DO NOT MODIFY
1100
+
1101
+ const t$1 = Translation.for('src/lib/my-organization-proj.ts', { "src/lib/my-organization-proj.ts": { "en-US": async () => (await import('./seo-browser-prod-my-organization-proj.ts.en-US.i18n.data-CoSik70Y.mjs')).default, "pl-PL": async () => (await import('./seo-browser-prod-my-organization-proj.ts.pl-PL.i18n.data-BZPsT3Zk.mjs')).default } });
1102
+ function myOrgProj() {
1103
+ t$1.gettext('My Translated Company Name!');
1104
+ }
1105
+
1106
+ //#region tnp-helpers cli template
1107
+ /* */
1108
+ //#endregion
1109
+ //#region CLI / global scope
1110
+ /**
1111
+ * This class is for handling global arguments. *
1112
+ * Cli engine will parse: hello:world:from:global:arg to helloWorldFromGlobalArg
1113
+ * (lower case, camel case) .. so you don't need to worry about misspelling
1114
+ * arguments
1115
+ */
1116
+ class $Global extends BaseCommandLineFeature {
1117
+ /**
1118
+ * When you execute cli without arguments:`$ cli`
1119
+ */
1120
+ _() {
1121
+ console.log(`Hello world from cli`);
1122
+ this._exit();
1123
+ }
1124
+ /**
1125
+ * When you execute: `$ cli hello:world:from:global:arg`
1126
+ * (or `$ cli helloWorldFromGlobalArg`)
1127
+ */
1128
+ helloWorldFromGlobalArg() {
1129
+ console.log('hello world from global argument!');
1130
+ this._exit(0);
1131
+ }
1132
+ }
1133
+ //#endregion
1134
+ //#region CLI / Version Scope
1135
+ /**
1136
+ *
1137
+ */
1138
+ class $Version extends BaseCommandLineFeature {
1139
+ /**
1140
+ * When you execute: `$ cli version`
1141
+ */
1142
+ _() {
1143
+ console.log(`Hello world from version argument`);
1144
+ this._exit();
1145
+ }
1146
+ /**
1147
+ * When you execute: `$ cli version:getFromPackageJson`
1148
+ */
1149
+ getFromPackageJson() {
1150
+ const ver = UtilsJson__NS__getValue(this.project.pathFor('package.json'), 'version', {
1151
+ defaultValue: '<not defined>',
1152
+ });
1153
+ console.log(`Version from packageJson ${ver}`);
1154
+ this._exit(0);
1155
+ }
1156
+ }
1157
+ //#endregion
1158
+ /**
1159
+ *
1160
+ * @param argsv process.argsv
1161
+ * @param filename needed if you want ipc communicaiton
1162
+ */
1163
+ async function startCli(argsv, filename) {
1164
+ /* */
1165
+ /* */
1166
+ /* */
1167
+ /* */
1168
+ /* */
1169
+ /* */
1170
+ /* */
1171
+ /* */
1172
+ /* */
1173
+ /* */
1174
+ /* */
1175
+ /* */
1176
+ /* */
1177
+ /* */
1178
+ /* */
1179
+ /* */
1180
+ /* */
1181
+ /* */
1182
+ /* */
1183
+ /* */
1184
+ /* */
1185
+ /* */
1186
+ /* */
1187
+ /* */
1188
+ /* */
1189
+ /* */
1190
+ /* */
1191
+ /* */
1192
+ return (void 0);
1193
+ }
1194
+
1195
+ let TaonSeoProvider = class TaonSeoProvider extends TaonBaseProvider {
1196
+ constructor() {
1197
+ super(...arguments);
1198
+ this.sessions = this.injectCustomRepo(TaonSessionRepository);
1199
+ this.authorization = this.injectCustomRepo(TaonAuthContextRepository);
1200
+ }
1201
+ async requireAdministrator({ req, res, }) {
1202
+ /* */
1203
+ /* */
1204
+ /* */
1205
+ /* */
1206
+ /* */
1207
+ /* */
1208
+ /* */
1209
+ return (void 0);
1210
+ }
1211
+ };
1212
+ TaonSeoProvider = __decorate([
1213
+ TaonProvider({ className: 'TaonSeoProvider' })
1214
+ ], TaonSeoProvider);
1215
+
1216
+ const imageTypes = new Map([
1217
+ ['png', 'image/png'],
1218
+ ['jpg', 'image/jpeg'],
1219
+ ['jpeg', 'image/jpeg'],
1220
+ ['gif', 'image/gif'],
1221
+ ['webp', 'image/webp'],
1222
+ ]);
1223
+ let TaonSeoImageController = class TaonSeoImageController extends TaonBaseStorageController {
1224
+ constructor() {
1225
+ super(...arguments);
1226
+ this.seo = this.injectProvider(TaonSeoProvider);
1227
+ }
1228
+ async beforeEachRequest(params) {
1229
+ /* */
1230
+ /* */
1231
+ /* */
1232
+ /* */
1233
+ /* */
1234
+ /* */
1235
+ /* */
1236
+ /* */
1237
+ /* */
1238
+ /* */
1239
+ /* */
1240
+ /* */
1241
+ /* */
1242
+ /* */
1243
+ /* */
1244
+ /* */
1245
+ /* */
1246
+ return (void 0);
1247
+ }
1248
+ async handleUploadFiles(files, queryParams, req, res) {
1249
+ /* */
1250
+ /* */
1251
+ /* */
1252
+ /* */
1253
+ /* */
1254
+ /* */
1255
+ /* */
1256
+ /* */
1257
+ /* */
1258
+ /* */
1259
+ /* */
1260
+ return (void 0);
1261
+ }
1262
+ afterFileUploadHook() { }
1263
+ buildStorageDownloadUrl(options) {
1264
+ /* */
1265
+ /* */
1266
+ /* */
1267
+ /* */
1268
+ /* */
1269
+ /* */
1270
+ /* */
1271
+ /* */
1272
+ /* */
1273
+ return (void 0);
1274
+ }
1275
+ async createStorageDownloadToken() {
1276
+ throw new Error('SEO images are public; private download tokens are not supported.');
1277
+ }
1278
+ };
1279
+ TaonSeoImageController = __decorate([
1280
+ TaonController({
1281
+ className: 'TaonSeoImageController',
1282
+ allowedMethods: ['download', 'getPublicUrl', 'uploadFormDataToServer'],
1283
+ })
1284
+ ], TaonSeoImageController);
1285
+
1286
+ class TaonSeoImageApiService extends TaonBaseAngularService {
1287
+ constructor() {
1288
+ super(...arguments);
1289
+ this.images = this.injectController(TaonSeoImageController);
1290
+ }
1291
+ async upload(file) {
1292
+ const data = new FormData();
1293
+ data.append('file', file);
1294
+ const response = await this.images.uploadFormDataToServer(data).request();
1295
+ const objects = response.body.json;
1296
+ if (objects.length !== 1 || !objects[0].key) {
1297
+ throw new Error('The upload did not return an image key.');
1298
+ }
1299
+ return objects[0].key;
1300
+ }
1301
+ getPublicUrl(key) {
1302
+ return this.images.getPublicUrl(key).request().observable.pipe(map(response => {
1303
+ const url = response.responseText;
1304
+ if (!url || !/^https?:\/\//.test(url)) {
1305
+ throw new Error('The image endpoint did not return an absolute HTTP(S) URL.');
1306
+ }
1307
+ return url;
1308
+ }));
1309
+ }
1310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoImageApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1311
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoImageApiService }); }
1312
+ }
1313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoImageApiService, decorators: [{
1314
+ type: Injectable
1315
+ }] });
1316
+
1317
+ let TaonSeoPageRepository = class TaonSeoPageRepository extends TaonBaseRepository {
1318
+ constructor() {
1319
+ super(...arguments);
1320
+ this.entityClassResolveFn = () => TaonSeoPageEntity;
1321
+ }
1322
+ async findByPath(path) {
1323
+ /* */
1324
+ /* */
1325
+ return (void 0);
1326
+ }
1327
+ async savePage(input, id) {
1328
+ /* */
1329
+ /* */
1330
+ /* */
1331
+ /* */
1332
+ /* */
1333
+ /* */
1334
+ /* */
1335
+ /* */
1336
+ /* */
1337
+ /* */
1338
+ /* */
1339
+ /* */
1340
+ /* */
1341
+ /* */
1342
+ /* */
1343
+ /* */
1344
+ /* */
1345
+ /* */
1346
+ /* */
1347
+ /* */
1348
+ /* */
1349
+ /* */
1350
+ /* */
1351
+ /* */
1352
+ /* */
1353
+ /* */
1354
+ return (void 0);
1355
+ }
1356
+ async deletePage(id) {
1357
+ /* */
1358
+ /* */
1359
+ /* */
1360
+ /* */
1361
+ /* */
1362
+ /* */
1363
+ /* */
1364
+ /* */
1365
+ return (void 0);
1366
+ }
1367
+ };
1368
+ TaonSeoPageRepository = __decorate([
1369
+ TaonRepository({ className: 'TaonSeoPageRepository' })
1370
+ ], TaonSeoPageRepository);
1371
+
1372
+ let TaonSeoPageController = class TaonSeoPageController extends TaonBaseCrudController {
1373
+ constructor() {
1374
+ super(...arguments);
1375
+ this.entityClassResolveFn = () => TaonSeoPageEntity;
1376
+ this.pages = this.injectCustomRepo(TaonSeoPageRepository);
1377
+ this.seo = this.injectProvider(TaonSeoProvider);
1378
+ }
1379
+ async beforeEachRequest(params) {
1380
+ /* */
1381
+ /* */
1382
+ /* */
1383
+ /* */
1384
+ return (void 0);
1385
+ }
1386
+ findByPath(path) {
1387
+ /* */
1388
+ /* */
1389
+ return (void 0);
1390
+ }
1391
+ createPage(input) {
1392
+ /* */
1393
+ /* */
1394
+ return (void 0);
1395
+ }
1396
+ updatePage(id, input) {
1397
+ /* */
1398
+ /* */
1399
+ return (void 0);
1400
+ }
1401
+ deletePage(id) {
1402
+ /* */
1403
+ /* */
1404
+ return (void 0);
1405
+ }
1406
+ };
1407
+ __decorate([
1408
+ GET(),
1409
+ __param(0, Query('path')),
1410
+ __metadata("design:type", Function),
1411
+ __metadata("design:paramtypes", [String]),
1412
+ __metadata("design:returntype", Object)
1413
+ ], TaonSeoPageController.prototype, "findByPath", null);
1414
+ __decorate([
1415
+ POST(),
1416
+ __param(0, Body()),
1417
+ __metadata("design:type", Function),
1418
+ __metadata("design:paramtypes", [Object]),
1419
+ __metadata("design:returntype", Object)
1420
+ ], TaonSeoPageController.prototype, "createPage", null);
1421
+ __decorate([
1422
+ PUT(),
1423
+ __param(0, Query('id')),
1424
+ __param(1, Body()),
1425
+ __metadata("design:type", Function),
1426
+ __metadata("design:paramtypes", [Number, Object]),
1427
+ __metadata("design:returntype", Object)
1428
+ ], TaonSeoPageController.prototype, "updatePage", null);
1429
+ __decorate([
1430
+ DELETE(),
1431
+ __param(0, Query('id')),
1432
+ __metadata("design:type", Function),
1433
+ __metadata("design:paramtypes", [Number]),
1434
+ __metadata("design:returntype", Object)
1435
+ ], TaonSeoPageController.prototype, "deletePage", null);
1436
+ TaonSeoPageController = __decorate([
1437
+ TaonController({
1438
+ className: 'TaonSeoPageController',
1439
+ allowedMethods: [
1440
+ 'getAll',
1441
+ 'getBy',
1442
+ 'paginationQuery',
1443
+ 'findByPath',
1444
+ 'createPage',
1445
+ 'updatePage',
1446
+ 'deletePage',
1447
+ ],
1448
+ })
1449
+ ], TaonSeoPageController);
1450
+
1451
+ //#endregion
1452
+ class TaonTaonSeoPageConfig extends TaonBaseClass {
1453
+ }
1454
+ let TaonSeoPageProvider = class TaonSeoPageProvider extends TaonBaseProvider {
1455
+ constructor() {
1456
+ super(...arguments);
1457
+ this.enabledTaonSeoPageOption = true;
1458
+ this.config = new TaonTaonSeoPageConfig();
1459
+ }
1460
+ clone() {
1461
+ return {
1462
+ enabledTaonSeoPageOption: this.enabledTaonSeoPageOption,
1463
+ config: this.config.clone(),
1464
+ };
1465
+ }
1466
+ };
1467
+ TaonSeoPageProvider = __decorate([
1468
+ TaonProvider({
1469
+ className: 'TaonSeoPageProvider',
1470
+ })
1471
+ ], TaonSeoPageProvider);
1472
+
1473
+ //#region imports
1474
+ // import { TaonSeoPageMiddleware } from './taon-seo-page.middleware';
1475
+ // import { TaonSeoPageSubscriber } from './taon-seo-page.subscriber';
1476
+ //#endregion
1477
+ const TaonSeoPageAbstractContext = createContext(() => ({
1478
+ contextName: 'TaonSeoPageAbstractContext',
1479
+ abstract: true,
1480
+ contexts: { TaonBaseContext },
1481
+ entities: { TaonSeoPageEntity },
1482
+ controllers: { TaonSeoPageController },
1483
+ repositories: {
1484
+ // TaonSeoPageKvRepository
1485
+ TaonSeoPageRepository,
1486
+ },
1487
+ providers: { TaonSeoPageProvider },
1488
+ // middlewares: { TaonSeoPageMiddleware },
1489
+ // subscribers: { TaonSeoPageSubscriber },
1490
+ }));
1491
+
1492
+ let TaonSeoSettingsRepository = class TaonSeoSettingsRepository extends TaonBaseRepository {
1493
+ constructor() {
1494
+ super(...arguments);
1495
+ this.entityClassResolveFn = () => TaonSeoSettingsEntity;
1496
+ }
1497
+ async getGlobal() {
1498
+ /* */
1499
+ /* */
1500
+ /* */
1501
+ /* */
1502
+ /* */
1503
+ /* */
1504
+ /* */
1505
+ /* */
1506
+ /* */
1507
+ /* */
1508
+ /* */
1509
+ /* */
1510
+ /* */
1511
+ /* */
1512
+ /* */
1513
+ /* */
1514
+ /* */
1515
+ return (void 0);
1516
+ }
1517
+ async saveGlobal(input) {
1518
+ /* */
1519
+ /* */
1520
+ /* */
1521
+ /* */
1522
+ /* */
1523
+ /* */
1524
+ /* */
1525
+ /* */
1526
+ return (void 0);
1527
+ }
1528
+ };
1529
+ TaonSeoSettingsRepository = __decorate([
1530
+ TaonRepository({ className: 'TaonSeoSettingsRepository' })
1531
+ ], TaonSeoSettingsRepository);
1532
+
1533
+ let TaonSeoSettingsController = class TaonSeoSettingsController extends TaonBaseCrudController {
1534
+ constructor() {
1535
+ super(...arguments);
1536
+ this.entityClassResolveFn = () => TaonSeoSettingsEntity;
1537
+ this.settings = this.injectCustomRepo(TaonSeoSettingsRepository);
1538
+ this.seo = this.injectProvider(TaonSeoProvider);
1539
+ }
1540
+ async beforeEachRequest(params) {
1541
+ /* */
1542
+ /* */
1543
+ /* */
1544
+ /* */
1545
+ return (void 0);
1546
+ }
1547
+ getGlobal() {
1548
+ /* */
1549
+ /* */
1550
+ return (void 0);
1551
+ }
1552
+ saveGlobal(input) {
1553
+ /* */
1554
+ /* */
1555
+ return (void 0);
1556
+ }
1557
+ };
1558
+ __decorate([
1559
+ GET(),
1560
+ __metadata("design:type", Function),
1561
+ __metadata("design:paramtypes", []),
1562
+ __metadata("design:returntype", Object)
1563
+ ], TaonSeoSettingsController.prototype, "getGlobal", null);
1564
+ __decorate([
1565
+ PUT(),
1566
+ __param(0, Body()),
1567
+ __metadata("design:type", Function),
1568
+ __metadata("design:paramtypes", [Object]),
1569
+ __metadata("design:returntype", Object)
1570
+ ], TaonSeoSettingsController.prototype, "saveGlobal", null);
1571
+ TaonSeoSettingsController = __decorate([
1572
+ TaonController({
1573
+ className: 'TaonSeoSettingsController',
1574
+ allowedMethods: ['getGlobal', 'saveGlobal'],
1575
+ })
1576
+ ], TaonSeoSettingsController);
1577
+
1578
+ //#endregion
1579
+ class TaonTaonSeoSettingsConfig extends TaonBaseClass {
1580
+ }
1581
+ let TaonSeoSettingsProvider = class TaonSeoSettingsProvider extends TaonBaseProvider {
1582
+ constructor() {
1583
+ super(...arguments);
1584
+ this.enabledTaonSeoSettingsOption = true;
1585
+ this.config = new TaonTaonSeoSettingsConfig();
1586
+ }
1587
+ clone() {
1588
+ return {
1589
+ enabledTaonSeoSettingsOption: this.enabledTaonSeoSettingsOption,
1590
+ config: this.config.clone(),
1591
+ };
1592
+ }
1593
+ };
1594
+ TaonSeoSettingsProvider = __decorate([
1595
+ TaonProvider({
1596
+ className: 'TaonSeoSettingsProvider',
1597
+ })
1598
+ ], TaonSeoSettingsProvider);
1599
+
1600
+ //#region imports
1601
+ // import { TaonSeoSettingsMiddleware } from './taon-seo-settings.middleware';
1602
+ // import { TaonSeoSettingsSubscriber } from './taon-seo-settings.subscriber';
1603
+ //#endregion
1604
+ const TaonSeoSettingsAbstractContext = createContext(() => ({
1605
+ contextName: 'TaonSeoSettingsAbstractContext',
1606
+ abstract: true,
1607
+ contexts: { TaonBaseContext },
1608
+ entities: { TaonSeoSettingsEntity },
1609
+ controllers: { TaonSeoSettingsController },
1610
+ repositories: {
1611
+ // TaonSeoSettingsKvRepository
1612
+ TaonSeoSettingsRepository,
1613
+ },
1614
+ providers: { TaonSeoSettingsProvider },
1615
+ // middlewares: { TaonSeoSettingsMiddleware },
1616
+ // subscribers: { TaonSeoSettingsSubscriber },
1617
+ }));
1618
+
1619
+ const TaonSeoAbstractContext = createContext(() => ({
1620
+ contextName: 'TaonSeoAbstractContext',
1621
+ abstract: true,
1622
+ contexts: {
1623
+ TaonSessionAbstractContext,
1624
+ // local
1625
+ TaonSeoPageAbstractContext,
1626
+ TaonSeoSettingsAbstractContext,
1627
+ },
1628
+ controllers: { TaonSeoImageController },
1629
+ providers: { TaonSeoProvider },
1630
+ }));
1631
+
1632
+ class TaonSeoPageApiService extends TaonBaseAngularService {
1633
+ constructor() {
1634
+ super(...arguments);
1635
+ this.taonSeoPageController = this.injectController(TaonSeoPageController);
1636
+ }
1637
+ findByPath(path) {
1638
+ return this.taonSeoPageController.findByPath(path)
1639
+ .request().observable.pipe(map(res => res.body.json));
1640
+ }
1641
+ createPage(input) {
1642
+ return this.taonSeoPageController.createPage(input)
1643
+ .request().observable.pipe(map(res => res.body.json));
1644
+ }
1645
+ updatePage(id, input) {
1646
+ return this.taonSeoPageController.updatePage(id, input)
1647
+ .request().observable.pipe(map(res => res.body.json));
1648
+ }
1649
+ deletePage(id) {
1650
+ return this.taonSeoPageController.deletePage(id).request().observable.pipe(map(res => res.body.json));
1651
+ }
1652
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1653
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageApiService }); }
1654
+ }
1655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageApiService, decorators: [{
1656
+ type: Injectable
1657
+ }] });
1658
+
1659
+ class TaonSeoSettingsApiService extends TaonBaseAngularService {
1660
+ constructor() {
1661
+ super(...arguments);
1662
+ this.taonSeoSettingsController = this.injectController(TaonSeoSettingsController);
1663
+ }
1664
+ getGlobal() {
1665
+ return this.taonSeoSettingsController.getGlobal()
1666
+ .request().observable.pipe(map(res => res.body.json));
1667
+ }
1668
+ saveGlobal(input) {
1669
+ return this.taonSeoSettingsController.saveGlobal(input)
1670
+ .request().observable.pipe(map(res => res.body.json));
1671
+ }
1672
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1673
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsApiService }); }
1674
+ }
1675
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsApiService, decorators: [{
1676
+ type: Injectable
1677
+ }] });
1678
+
1679
+ function normalizeSeoPath(path) {
1680
+ const pathname = path.split(/[?#]/, 1)[0];
1681
+ return pathname.replace(/\/+$/, '') || '/';
1682
+ }
1683
+ function seoText(value) {
1684
+ return value?.trim() || null;
1685
+ }
1686
+ function resolveSeoMetadata(settings, path, page) {
1687
+ const title = seoText(page?.title) ?? settings.defaultTitle;
1688
+ const description = seoText(page?.description) ?? settings.defaultDescription;
1689
+ const base = seoText(settings.canonicalBaseUrl);
1690
+ return {
1691
+ title,
1692
+ description,
1693
+ keywords: seoText(page?.keywords) ?? seoText(settings.defaultKeywords),
1694
+ canonicalUrl: seoText(page?.canonicalUrl) ??
1695
+ (base ? `${base.replace(/\/+$/, '')}${normalizeSeoPath(path)}` : null),
1696
+ robots: [
1697
+ !settings.robotsIndex || page?.noIndex ? 'noindex' : 'index',
1698
+ !settings.robotsFollow || page?.noFollow ? 'nofollow' : 'follow',
1699
+ ].join(', '),
1700
+ ogTitle: seoText(page?.ogTitle) ?? title,
1701
+ ogDescription: seoText(page?.ogDescription) ?? description,
1702
+ ogImageKey: seoText(page?.ogImageKey) ?? seoText(settings.defaultImageKey),
1703
+ siteName: settings.siteName,
1704
+ };
1705
+ }
1706
+
1707
+ class TaonSeoService {
1708
+ constructor() {
1709
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
1710
+ this.router = inject(Router);
1711
+ this.settings = inject(TaonSeoSettingsApiService);
1712
+ this.pages = inject(TaonSeoPageApiService);
1713
+ this.images = inject(TaonSeoImageApiService);
1714
+ this.meta = inject(Meta);
1715
+ this.title = inject(Title);
1716
+ this.document = inject(DOCUMENT);
1717
+ this.destroyRef = inject(DestroyRef);
1718
+ this.originalTitle = this.title.getTitle();
1719
+ this.started = false;
1720
+ }
1721
+ start() {
1722
+ if (this.started) {
1723
+ return;
1724
+ }
1725
+ this.started = true;
1726
+ this.router.events
1727
+ .pipe(filter(event => event instanceof NavigationEnd), startWith(null), map(() => this.currentPath()), distinctUntilChanged(), switchMap(path => {
1728
+ this.error.set('');
1729
+ this.clear();
1730
+ return forkJoin({
1731
+ settings: this.settings.getGlobal(),
1732
+ page: this.pages.findByPath(path),
1733
+ }).pipe(map(({ settings, page }) => resolveSeoMetadata(settings, path, page)), switchMap(metadata => {
1734
+ // Clear the previous route's image while resolving a public storage URL.
1735
+ this.apply(metadata, null);
1736
+ return metadata.ogImageKey
1737
+ ? this.images.getPublicUrl(metadata.ogImageKey).pipe(map(imageUrl => ({ metadata, imageUrl })), catchError((error) => {
1738
+ console.error('[taon-seo] Unable to resolve social image', error);
1739
+ this.error.set('The social image could not be loaded for the current page.');
1740
+ return of({ metadata, imageUrl: null });
1741
+ }))
1742
+ : of({ metadata, imageUrl: null });
1743
+ }), catchError((error) => {
1744
+ console.error('[taon-seo] Unable to update route metadata', error);
1745
+ this.error.set('SEO metadata could not be loaded for the current page.');
1746
+ this.clear();
1747
+ return EMPTY;
1748
+ }));
1749
+ }), takeUntilDestroyed(this.destroyRef))
1750
+ .subscribe(({ metadata, imageUrl }) => this.apply(metadata, imageUrl));
1751
+ }
1752
+ currentPath() {
1753
+ const segments = [];
1754
+ let route = this.router.routerState.snapshot.root;
1755
+ while (route) {
1756
+ segments.push(...route.url.map(segment => segment.path));
1757
+ const child = route.children.find(candidate => candidate.outlet === PRIMARY_OUTLET);
1758
+ if (!child) {
1759
+ break;
1760
+ }
1761
+ route = child;
1762
+ }
1763
+ return normalizeSeoPath(`/${segments.join('/')}`);
1764
+ }
1765
+ apply(metadata, imageUrl) {
1766
+ this.title.setTitle(metadata.title);
1767
+ this.setMeta('name', 'description', metadata.description);
1768
+ this.setMeta('name', 'keywords', metadata.keywords);
1769
+ this.setMeta('name', 'robots', metadata.robots);
1770
+ this.setMeta('property', 'og:title', metadata.ogTitle);
1771
+ this.setMeta('property', 'og:description', metadata.ogDescription);
1772
+ this.setMeta('property', 'og:image', imageUrl);
1773
+ this.setMeta('property', 'og:site_name', metadata.siteName);
1774
+ this.setMeta('property', 'og:url', metadata.canonicalUrl);
1775
+ this.setCanonical(metadata.canonicalUrl);
1776
+ }
1777
+ setMeta(attribute, key, content) {
1778
+ const selector = `${attribute}="${key}"`;
1779
+ // Remove duplicates and stale values, including tags left by the previous route.
1780
+ this.meta.getTags(selector).forEach(tag => this.meta.removeTagElement(tag));
1781
+ if (content) {
1782
+ this.meta.addTag({ [attribute]: key, content });
1783
+ }
1784
+ }
1785
+ setCanonical(url) {
1786
+ this.document.head
1787
+ .querySelectorAll('link[rel="canonical"]')
1788
+ .forEach(link => link.remove());
1789
+ if (url) {
1790
+ const link = this.document.createElement('link');
1791
+ link.rel = 'canonical';
1792
+ link.href = url;
1793
+ this.document.head.appendChild(link);
1794
+ }
1795
+ }
1796
+ clear() {
1797
+ this.title.setTitle(this.originalTitle);
1798
+ for (const name of ['description', 'keywords', 'robots']) {
1799
+ this.setMeta('name', name, null);
1800
+ }
1801
+ for (const property of [
1802
+ 'og:title',
1803
+ 'og:description',
1804
+ 'og:image',
1805
+ 'og:site_name',
1806
+ 'og:url',
1807
+ ]) {
1808
+ this.setMeta('property', property, null);
1809
+ }
1810
+ this.setCanonical(null);
1811
+ }
1812
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1813
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoService }); }
1814
+ }
1815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoService, decorators: [{
1816
+ type: Injectable
1817
+ }] });
1818
+ function provideTaonSeo() {
1819
+ return [
1820
+ TaonSeoService,
1821
+ TaonSeoPageApiService,
1822
+ TaonSeoSettingsApiService,
1823
+ TaonSeoImageApiService,
1824
+ {
1825
+ provide: APP_BOOTSTRAP_LISTENER,
1826
+ multi: true,
1827
+ deps: [TaonSeoService],
1828
+ useFactory: (seo) => () => seo.start(),
1829
+ },
1830
+ ];
1831
+ }
1832
+
1833
+ function seoError(message, status = 400) {
1834
+ Taon__NS__error({ message, status });
1835
+ throw new Error(message);
1836
+ }
1837
+ function requireSeoId(id) {
1838
+ if (!Number.isSafeInteger(id) || id <= 0) {
1839
+ seoError('The page ID must be a positive integer.');
1840
+ }
1841
+ }
1842
+ function requireObject(input) {
1843
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
1844
+ seoError('SEO settings must be an object.');
1845
+ }
1846
+ }
1847
+ function requireText(value, field, nullable = false) {
1848
+ if (nullable && value === null) {
1849
+ return;
1850
+ }
1851
+ if (typeof value !== 'string') {
1852
+ seoError(`${field} must be ${nullable ? 'a string or null' : 'a string'}.`);
1853
+ }
1854
+ }
1855
+ function requireBoolean(value, field) {
1856
+ if (typeof value !== 'boolean') {
1857
+ seoError(`${field} must be a boolean.`);
1858
+ }
1859
+ }
1860
+ function validateUrl(value, field) {
1861
+ const text = seoText(value);
1862
+ if (!text) {
1863
+ return null;
1864
+ }
1865
+ let url;
1866
+ try {
1867
+ url = new URL(text);
1868
+ }
1869
+ catch {
1870
+ seoError(`${field} must be an absolute HTTP(S) URL.`);
1871
+ }
1872
+ if (!['http:', 'https:'].includes(url.protocol) ||
1873
+ url.username ||
1874
+ url.password ||
1875
+ url.search ||
1876
+ url.hash) {
1877
+ seoError(`${field} must be an HTTP(S) URL without credentials, query or fragment.`);
1878
+ }
1879
+ return url.href;
1880
+ }
1881
+ function validateSeoPath(path) {
1882
+ requireText(path, 'path');
1883
+ const text = path.trim();
1884
+ if (!text.startsWith('/') ||
1885
+ text.startsWith('//') ||
1886
+ /[;?#\\\s()]/.test(text) ||
1887
+ /\/{2,}/.test(text) ||
1888
+ text.split('/').some(segment => segment === '.' || segment === '..')) {
1889
+ seoError('path must be an application path such as /pricing, without query, fragment or auxiliary outlets.');
1890
+ }
1891
+ return normalizeSeoPath(text);
1892
+ }
1893
+ function validateSeoSettings(input) {
1894
+ requireObject(input);
1895
+ for (const field of [
1896
+ 'siteName',
1897
+ 'defaultTitle',
1898
+ 'defaultDescription',
1899
+ ]) {
1900
+ requireText(input[field], field);
1901
+ }
1902
+ for (const field of [
1903
+ 'defaultKeywords',
1904
+ 'defaultImageKey',
1905
+ 'canonicalBaseUrl',
1906
+ ]) {
1907
+ requireText(input[field], field, true);
1908
+ }
1909
+ requireBoolean(input.robotsIndex, 'robotsIndex');
1910
+ requireBoolean(input.robotsFollow, 'robotsFollow');
1911
+ return {
1912
+ siteName: input.siteName.trim(),
1913
+ defaultTitle: input.defaultTitle.trim(),
1914
+ defaultDescription: input.defaultDescription.trim(),
1915
+ defaultKeywords: seoText(input.defaultKeywords),
1916
+ defaultImageKey: seoText(input.defaultImageKey),
1917
+ canonicalBaseUrl: validateUrl(input.canonicalBaseUrl, 'canonicalBaseUrl'),
1918
+ robotsIndex: input.robotsIndex,
1919
+ robotsFollow: input.robotsFollow,
1920
+ };
1921
+ }
1922
+ function validateSeoPage(input) {
1923
+ requireObject(input);
1924
+ for (const field of [
1925
+ 'title',
1926
+ 'description',
1927
+ 'keywords',
1928
+ 'canonicalUrl',
1929
+ 'ogTitle',
1930
+ 'ogDescription',
1931
+ 'ogImageKey',
1932
+ ]) {
1933
+ requireText(input[field], field, true);
1934
+ }
1935
+ requireBoolean(input.noIndex, 'noIndex');
1936
+ requireBoolean(input.noFollow, 'noFollow');
1937
+ return {
1938
+ path: validateSeoPath(input.path),
1939
+ title: seoText(input.title),
1940
+ description: seoText(input.description),
1941
+ keywords: seoText(input.keywords),
1942
+ canonicalUrl: validateUrl(input.canonicalUrl, 'canonicalUrl'),
1943
+ ogTitle: seoText(input.ogTitle),
1944
+ ogDescription: seoText(input.ogDescription),
1945
+ ogImageKey: seoText(input.ogImageKey),
1946
+ noIndex: input.noIndex,
1947
+ noFollow: input.noFollow,
1948
+ };
1949
+ }
1950
+
1951
+ ;
1952
+ // THIS FILE IS GENERATED - DO NOT MODIFY
1953
+
1954
+ //#region imports
1955
+ //#endregion
1956
+ class TaonSeoBackofficeComponent {
1957
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1958
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.9", type: TaonSeoBackofficeComponent, isStandalone: true, selector: "app-taon-seo-backoffice", ngImport: i0, template: "<router-outlet></router-outlet>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1959
+ }
1960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoBackofficeComponent, decorators: [{
1961
+ type: Component,
1962
+ args: [{ selector: 'app-taon-seo-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, RouterOutlet], template: "<router-outlet></router-outlet>\n", styles: [":host{display:block}\n"] }]
1963
+ }] });
1964
+
1965
+ var taonSeoBackoffice_component = /*#__PURE__*/Object.freeze({
1966
+ __proto__: null,
1967
+ TaonSeoBackofficeComponent: TaonSeoBackofficeComponent
1968
+ });
1969
+
1970
+ //namespace TaonSeoBackofficeModels
1971
+ //end of namespace TaonSeoBackofficeModels
1972
+
1973
+ //#endregion
1974
+ const TaonSeoBackofficeRoutes = [
1975
+ {
1976
+ path: '',
1977
+ loadComponent: () => Promise.resolve().then(function () { return taonSeoBackoffice_component; }).then(m => m.TaonSeoBackofficeComponent),
1978
+ children: [
1979
+ { path: '', pathMatch: 'full', redirectTo: 'settings' },
1980
+ adminLazyRoute({
1981
+ path: 'settings',
1982
+ menuItem: 'General (Settings)',
1983
+ icon: 'settings',
1984
+ expandable: false,
1985
+ loader: () => Promise.resolve().then(function () { return taonSeoSettingsBackoffice_routes; }).then(m => m.TaonSeoSettingsBackofficeRoutes),
1986
+ }),
1987
+ adminLazyRoute({
1988
+ path: 'pages',
1989
+ menuItem: 'Pages',
1990
+ icon: 'extension',
1991
+ expandable: false,
1992
+ loader: () => Promise.resolve().then(function () { return taonSeoPageBackoffice_routes; }).then(m => m.TaonSeoPageBackofficeRoutes),
1993
+ }),
1994
+ ],
1995
+ },
1996
+ ];
1997
+ /**
1998
+ * By default exporting TaonSeoBackofficeRoutes,
1999
+ * the command `taon generate:app:routes`
2000
+ * will automatically add them to the root routes in ./src/app.ts.
2001
+ */
2002
+ // export default TaonSeoBackofficeRoutes;
2003
+
2004
+ class TaonSeoImageInputComponent {
2005
+ constructor() {
2006
+ this.key = model(null, ...(ngDevMode ? [{ debugName: "key" }] : []));
2007
+ this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2008
+ this.uploading = model(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
2009
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2010
+ this.api = inject(TaonSeoImageApiService);
2011
+ }
2012
+ async upload(event) {
2013
+ const target = event.target;
2014
+ if (!(target instanceof HTMLInputElement)) {
2015
+ return;
2016
+ }
2017
+ const file = target.files?.[0];
2018
+ if (!file || this.disabled() || this.uploading()) {
2019
+ return;
2020
+ }
2021
+ this.error.set('');
2022
+ this.uploading.set(true);
2023
+ try {
2024
+ this.key.set(await this.api.upload(file));
2025
+ }
2026
+ catch (error) {
2027
+ console.error('[taon-seo-image-input] Unable to upload image', error);
2028
+ this.error.set('The image could not be uploaded. Please try again.');
2029
+ }
2030
+ finally {
2031
+ this.uploading.set(false);
2032
+ target.value = '';
2033
+ }
2034
+ }
2035
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoImageInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2036
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonSeoImageInputComponent, isStandalone: true, selector: "taon-seo-image-input", inputs: { key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, uploading: { classPropertyName: "uploading", publicName: "uploading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { key: "keyChange", disabled: "disabledChange", uploading: "uploadingChange" }, providers: [TaonSeoImageApiService], ngImport: i0, template: `
2037
+ <p>Social / Open Graph image</p>
2038
+ <input
2039
+ type="file"
2040
+ aria-label="Upload social image"
2041
+ accept="image/png,image/jpeg,image/gif,image/webp"
2042
+ [disabled]="disabled() || uploading()"
2043
+ (change)="upload($event)" />
2044
+ @if (key()) {
2045
+ <p>Image key: {{ key() }}</p>
2046
+ <button
2047
+ mat-button
2048
+ type="button"
2049
+ [disabled]="disabled() || uploading()"
2050
+ (click)="key.set(null)">
2051
+ Clear image
2052
+ </button>
2053
+ }
2054
+ @if (uploading()) {
2055
+ <p role="status">Uploading image...</p>
2056
+ }
2057
+ @if (error()) {
2058
+ <p role="alert">{{ error() }}</p>
2059
+ }
2060
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2061
+ }
2062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoImageInputComponent, decorators: [{
2063
+ type: Component,
2064
+ args: [{
2065
+ selector: 'taon-seo-image-input',
2066
+ changeDetection: ChangeDetectionStrategy.OnPush,
2067
+ imports: [MatButtonModule],
2068
+ providers: [TaonSeoImageApiService],
2069
+ template: `
2070
+ <p>Social / Open Graph image</p>
2071
+ <input
2072
+ type="file"
2073
+ aria-label="Upload social image"
2074
+ accept="image/png,image/jpeg,image/gif,image/webp"
2075
+ [disabled]="disabled() || uploading()"
2076
+ (change)="upload($event)" />
2077
+ @if (key()) {
2078
+ <p>Image key: {{ key() }}</p>
2079
+ <button
2080
+ mat-button
2081
+ type="button"
2082
+ [disabled]="disabled() || uploading()"
2083
+ (click)="key.set(null)">
2084
+ Clear image
2085
+ </button>
2086
+ }
2087
+ @if (uploading()) {
2088
+ <p role="status">Uploading image...</p>
2089
+ }
2090
+ @if (error()) {
2091
+ <p role="alert">{{ error() }}</p>
2092
+ }
2093
+ `,
2094
+ }]
2095
+ }], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }, { type: i0.Output, args: ["keyChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], uploading: [{ type: i0.Input, args: [{ isSignal: true, alias: "uploading", required: false }] }, { type: i0.Output, args: ["uploadingChange"] }] } });
2096
+
2097
+ //#region imports
2098
+ //#endregion
2099
+ class TaonSeoPageConfigService extends TaonBaseAngularService {
2100
+ constructor() {
2101
+ super(...arguments);
2102
+ this.taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);
2103
+ }
2104
+ get isEnableOption() {
2105
+ return this.taonSeoPageProvider.enabledTaonSeoPageOption;
2106
+ }
2107
+ clone() {
2108
+ const cloned = this.taonSeoPageProvider.clone();
2109
+ return cloned;
2110
+ }
2111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2112
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageConfigService }); }
2113
+ }
2114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageConfigService, decorators: [{
2115
+ type: Injectable
2116
+ }] });
2117
+
2118
+ const t = Translation.for('src/lib/taon-seo-page/taon-seo-page.constants.ts', { "src/lib/taon-seo-page/taon-seo-page.constants.ts": { "en-US": async () => (await import('./seo-browser-prod-taon-seo-page.constants.ts.en-US.i18n.data-Dsakq_TX.mjs')).default, "pl-PL": async () => (await import('./seo-browser-prod-taon-seo-page.constants.ts.pl-PL.i18n.data-BP9Mj15C.mjs')).default } });
2119
+ const TaonSeoPageDefaultsValues = {
2120
+ path: '/',
2121
+ title: null,
2122
+ description: null,
2123
+ keywords: null,
2124
+ canonicalUrl: null,
2125
+ ogTitle: null,
2126
+ ogDescription: null,
2127
+ ogImageKey: null,
2128
+ noIndex: false,
2129
+ noFollow: false,
2130
+ };
2131
+ var TaonSeoPageErrors;
2132
+ (function (TaonSeoPageErrors) {
2133
+ TaonSeoPageErrors["INVALID_PASSWORD_EXAMPLE_ERROR"] = "INVALID_PASSWORD_EXAMPLE_ERROR";
2134
+ })(TaonSeoPageErrors || (TaonSeoPageErrors = {}));
2135
+ const TaonSeoPageTranslationErorsMap = new Map([
2136
+ [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR, t.gettext('Invalid Password')],
2137
+ ]);
2138
+
2139
+ //#endregion
2140
+ let TaonSeoPageKvRepository = class TaonSeoPageKvRepository extends TaonBaseKvRepository {
2141
+ async notifyUsers(users) {
2142
+ this.set('usersToNotify', users);
2143
+ }
2144
+ };
2145
+ TaonSeoPageKvRepository = __decorate([
2146
+ TaonRepository({
2147
+ className: 'TaonSeoPageKvRepository',
2148
+ })
2149
+ ], TaonSeoPageKvRepository);
2150
+
2151
+ //#endregion
2152
+ let TaonSeoPageMiddleware = class TaonSeoPageMiddleware extends TaonBaseMiddleware {
2153
+ };
2154
+ TaonSeoPageMiddleware = __decorate([
2155
+ TaonMiddleware({
2156
+ className: 'TaonSeoPageMiddleware',
2157
+ })
2158
+ ], TaonSeoPageMiddleware);
2159
+
2160
+ //namespace TaonSeoPageModels
2161
+ var TaonSeoPageModels__NS__TaonSeoPageState;
2162
+ (function (TaonSeoPageModels__NS__TaonSeoPageState) {
2163
+ TaonSeoPageModels__NS__TaonSeoPageState["Active"] = "active";
2164
+ TaonSeoPageModels__NS__TaonSeoPageState["Inactive"] = "inactive";
2165
+ })(TaonSeoPageModels__NS__TaonSeoPageState || (TaonSeoPageModels__NS__TaonSeoPageState = {}));
2166
+ //end of namespace TaonSeoPageModels
2167
+
2168
+ //#endregion
2169
+ let TaonSeoPageSubscriber = class TaonSeoPageSubscriber extends TaonBaseSubscriberForEntity {
2170
+ constructor() {
2171
+ super(...arguments);
2172
+ this.taonSeoPageProvider = this.injectProvider(TaonSeoPageProvider);
2173
+ }
2174
+ listenTo() {
2175
+ return TaonSeoPageEntity;
2176
+ }
2177
+ };
2178
+ TaonSeoPageSubscriber = __decorate([
2179
+ TaonSubscriber({
2180
+ className: 'TaonSeoPageSubscriber',
2181
+ // allowedEvents: ['afterUpdate'],
2182
+ })
2183
+ ], TaonSeoPageSubscriber);
2184
+
2185
+ //namespace TaonSeoPageUtils
2186
+ function TaonSeoPageUtils__NS__isActive(state) {
2187
+ return state === 'active';
2188
+ }
2189
+ //end of namespace TaonSeoPageUtils
2190
+
2191
+ //namespace TaonSeoPageValidators
2192
+ //#region @browser
2193
+ /**
2194
+ * TODO REMOVE THIS EXAMPLE.
2195
+ */
2196
+ const TaonSeoPageValidators__NS__passwordMatchValidator = (control) => {
2197
+ const password = control.get('password');
2198
+ const passwordRepeat = control.get('passwordRepeat');
2199
+ if (!password || !passwordRepeat) {
2200
+ return null;
2201
+ }
2202
+ return password.value === passwordRepeat.value
2203
+ ? null
2204
+ : { [TaonSeoPageErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };
2205
+ };
2206
+ //#endregion
2207
+ //end of namespace TaonSeoPageValidators
2208
+
2209
+ //#region imports
2210
+ //#endregion
2211
+ class TaonSeoSettingsConfigService extends TaonBaseAngularService {
2212
+ constructor() {
2213
+ super(...arguments);
2214
+ this.taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);
2215
+ }
2216
+ get isEnableOption() {
2217
+ return this.taonSeoSettingsProvider.enabledTaonSeoSettingsOption;
2218
+ }
2219
+ clone() {
2220
+ const cloned = this.taonSeoSettingsProvider.clone();
2221
+ return cloned;
2222
+ }
2223
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsConfigService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2224
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsConfigService }); }
2225
+ }
2226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsConfigService, decorators: [{
2227
+ type: Injectable
2228
+ }] });
2229
+
2230
+ //#endregion
2231
+ let TaonSeoSettingsKvRepository = class TaonSeoSettingsKvRepository extends TaonBaseKvRepository {
2232
+ async notifyUsers(users) {
2233
+ this.set('usersToNotify', users);
2234
+ }
2235
+ };
2236
+ TaonSeoSettingsKvRepository = __decorate([
2237
+ TaonRepository({
2238
+ className: 'TaonSeoSettingsKvRepository',
2239
+ })
2240
+ ], TaonSeoSettingsKvRepository);
2241
+
2242
+ //#endregion
2243
+ let TaonSeoSettingsMiddleware = class TaonSeoSettingsMiddleware extends TaonBaseMiddleware {
2244
+ };
2245
+ TaonSeoSettingsMiddleware = __decorate([
2246
+ TaonMiddleware({
2247
+ className: 'TaonSeoSettingsMiddleware',
2248
+ })
2249
+ ], TaonSeoSettingsMiddleware);
2250
+
2251
+ //namespace TaonSeoSettingsModels
2252
+ var TaonSeoSettingsModels__NS__TaonSeoSettingsState;
2253
+ (function (TaonSeoSettingsModels__NS__TaonSeoSettingsState) {
2254
+ TaonSeoSettingsModels__NS__TaonSeoSettingsState["Active"] = "active";
2255
+ TaonSeoSettingsModels__NS__TaonSeoSettingsState["Inactive"] = "inactive";
2256
+ })(TaonSeoSettingsModels__NS__TaonSeoSettingsState || (TaonSeoSettingsModels__NS__TaonSeoSettingsState = {}));
2257
+ //end of namespace TaonSeoSettingsModels
2258
+
2259
+ //#endregion
2260
+ let TaonSeoSettingsSubscriber = class TaonSeoSettingsSubscriber extends TaonBaseSubscriberForEntity {
2261
+ constructor() {
2262
+ super(...arguments);
2263
+ this.taonSeoSettingsProvider = this.injectProvider(TaonSeoSettingsProvider);
2264
+ }
2265
+ listenTo() {
2266
+ return TaonSeoSettingsEntity;
2267
+ }
2268
+ };
2269
+ TaonSeoSettingsSubscriber = __decorate([
2270
+ TaonSubscriber({
2271
+ className: 'TaonSeoSettingsSubscriber',
2272
+ // allowedEvents: ['afterUpdate'],
2273
+ })
2274
+ ], TaonSeoSettingsSubscriber);
2275
+
2276
+ //namespace TaonSeoSettingsUtils
2277
+ function TaonSeoSettingsUtils__NS__isActive(state) {
2278
+ return state === 'active';
2279
+ }
2280
+ //end of namespace TaonSeoSettingsUtils
2281
+
2282
+ //namespace TaonSeoSettingsValidators
2283
+ //#region @browser
2284
+ /**
2285
+ * TODO REMOVE THIS EXAMPLE.
2286
+ */
2287
+ const TaonSeoSettingsValidators__NS__passwordMatchValidator = (control) => {
2288
+ const password = control.get('password');
2289
+ const passwordRepeat = control.get('passwordRepeat');
2290
+ if (!password || !passwordRepeat) {
2291
+ return null;
2292
+ }
2293
+ return password.value === passwordRepeat.value
2294
+ ? null
2295
+ : { [TaonSeoSettingsErrors.INVALID_PASSWORD_EXAMPLE_ERROR]: true };
2296
+ };
2297
+ //#endregion
2298
+ //end of namespace TaonSeoSettingsValidators
2299
+
2300
+ ;
2301
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2302
+
2303
+ class TaonSeoPageEditDialogComponent {
2304
+ constructor() {
2305
+ this.data = inject(MAT_DIALOG_DATA);
2306
+ this.saving = signal(false, ...(ngDevMode ? [{ debugName: "saving" }] : []));
2307
+ this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
2308
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2309
+ this.form = new FormGroup({
2310
+ path: new FormControl(this.data.page?.path ?? '/', {
2311
+ nonNullable: true,
2312
+ validators: [
2313
+ Validators.required,
2314
+ Validators.pattern(/^\/[^;?#\\\s()]*$/),
2315
+ ],
2316
+ }),
2317
+ title: new FormControl(this.data.page?.title ?? null),
2318
+ description: new FormControl(this.data.page?.description ?? null),
2319
+ keywords: new FormControl(this.data.page?.keywords ?? null),
2320
+ canonicalUrl: new FormControl(this.data.page?.canonicalUrl ?? null),
2321
+ ogTitle: new FormControl(this.data.page?.ogTitle ?? null),
2322
+ ogDescription: new FormControl(this.data.page?.ogDescription ?? null),
2323
+ ogImageKey: new FormControl(this.data.page?.ogImageKey ?? null),
2324
+ noIndex: new FormControl(this.data.page?.noIndex ?? false, {
2325
+ nonNullable: true,
2326
+ }),
2327
+ noFollow: new FormControl(this.data.page?.noFollow ?? false, {
2328
+ nonNullable: true,
2329
+ }),
2330
+ });
2331
+ this.api = inject(TaonSeoPageApiService);
2332
+ this.destroyRef = inject(DestroyRef);
2333
+ this.ref = inject((MatDialogRef));
2334
+ }
2335
+ close() {
2336
+ if (!this.saving() && !this.uploading()) {
2337
+ this.ref.close();
2338
+ }
2339
+ }
2340
+ save() {
2341
+ if (this.saving() || this.uploading()) {
2342
+ return;
2343
+ }
2344
+ this.form.markAllAsTouched();
2345
+ if (this.form.invalid) {
2346
+ this.error.set('Enter an application path such as /pricing.');
2347
+ return;
2348
+ }
2349
+ this.error.set('');
2350
+ this.saving.set(true);
2351
+ const input = this.form.getRawValue();
2352
+ const request = this.data.page
2353
+ ? this.api.updatePage(this.data.page.id, input)
2354
+ : this.api.createPage(input);
2355
+ request
2356
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.saving.set(false)))
2357
+ .subscribe({
2358
+ next: page => this.ref.close(page),
2359
+ error: (error) => {
2360
+ console.error('[taon-seo-page-editor] Unable to save page', error);
2361
+ this.error.set('The page could not be saved. Ensure the path is unique and the canonical URL is an absolute HTTP(S) URL.');
2362
+ },
2363
+ });
2364
+ }
2365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2366
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonSeoPageEditDialogComponent, isStandalone: true, selector: "taon-seo-page-edit-dialog", providers: [TaonSeoPageApiService], ngImport: i0, template: "<h2 mat-dialog-title>{{ data.page ? 'Edit SEO page' : 'Add SEO page' }}</h2>\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <mat-dialog-content>\n <p>\n Static/application page overrides. Blank fields inherit global defaults.\n </p>\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n <fieldset [disabled]=\"saving()\">\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n formControlName=\"path\"\n placeholder=\"/pricing\" />\n <mat-error\n >Enter an application path without query or fragment.</mat-error\n >\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Keywords</mat-label>\n <input\n matInput\n formControlName=\"keywords\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Canonical URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalUrl\"\n placeholder=\"https://example.com/pricing\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph title</mat-label>\n <input\n matInput\n formControlName=\"ogTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph description</mat-label>\n <textarea\n matInput\n formControlName=\"ogDescription\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.ogImageKey.value\"\n (keyChange)=\"form.controls.ogImageKey.setValue($event)\"\n [disabled]=\"saving()\"\n [(uploading)]=\"uploading\" />\n <mat-checkbox formControlName=\"noIndex\">noIndex</mat-checkbox>\n <mat-checkbox formControlName=\"noFollow\">noFollow</mat-checkbox>\n </fieldset>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving() || uploading()\"\n (click)=\"close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"saving() || uploading()\">\n {{ saving() ? 'Saving...' : 'Save page' }}\n </button>\n </mat-dialog-actions>\n</form>\n", styles: ["fieldset{border:0;display:flex;flex-direction:column;gap:1rem;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: TaonSeoImageInputComponent, selector: "taon-seo-image-input", inputs: ["key", "disabled", "uploading"], outputs: ["keyChange", "disabledChange", "uploadingChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2367
+ }
2368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageEditDialogComponent, decorators: [{
2369
+ type: Component,
2370
+ args: [{ selector: 'taon-seo-page-edit-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2371
+ ReactiveFormsModule,
2372
+ MatButtonModule,
2373
+ MatCheckboxModule,
2374
+ MatDialogModule,
2375
+ MatFormFieldModule,
2376
+ MatInputModule,
2377
+ TaonSeoImageInputComponent,
2378
+ ], providers: [TaonSeoPageApiService], template: "<h2 mat-dialog-title>{{ data.page ? 'Edit SEO page' : 'Add SEO page' }}</h2>\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <mat-dialog-content>\n <p>\n Static/application page overrides. Blank fields inherit global defaults.\n </p>\n @if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n }\n <fieldset [disabled]=\"saving()\">\n <mat-form-field>\n <mat-label>Path</mat-label>\n <input\n matInput\n formControlName=\"path\"\n placeholder=\"/pricing\" />\n <mat-error\n >Enter an application path without query or fragment.</mat-error\n >\n </mat-form-field>\n <mat-form-field>\n <mat-label>Title</mat-label>\n <input\n matInput\n formControlName=\"title\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Description</mat-label>\n <textarea\n matInput\n formControlName=\"description\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Keywords</mat-label>\n <input\n matInput\n formControlName=\"keywords\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Canonical URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalUrl\"\n placeholder=\"https://example.com/pricing\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph title</mat-label>\n <input\n matInput\n formControlName=\"ogTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Open Graph description</mat-label>\n <textarea\n matInput\n formControlName=\"ogDescription\"\n rows=\"3\"></textarea>\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.ogImageKey.value\"\n (keyChange)=\"form.controls.ogImageKey.setValue($event)\"\n [disabled]=\"saving()\"\n [(uploading)]=\"uploading\" />\n <mat-checkbox formControlName=\"noIndex\">noIndex</mat-checkbox>\n <mat-checkbox formControlName=\"noFollow\">noFollow</mat-checkbox>\n </fieldset>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button\n mat-button\n type=\"button\"\n [disabled]=\"saving() || uploading()\"\n (click)=\"close()\">\n Cancel\n </button>\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"saving() || uploading()\">\n {{ saving() ? 'Saving...' : 'Save page' }}\n </button>\n </mat-dialog-actions>\n</form>\n", styles: ["fieldset{border:0;display:flex;flex-direction:column;gap:1rem;padding:0}\n"] }]
2379
+ }] });
2380
+
2381
+ class TaonSeoPageBackofficeComponent {
2382
+ constructor() {
2383
+ this.api = inject(TaonSeoPageApiService);
2384
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2385
+ this.deleting = signal(null, ...(ngDevMode ? [{ debugName: "deleting" }] : []));
2386
+ this.dialog = inject(MatDialog);
2387
+ this.destroyRef = inject(DestroyRef);
2388
+ this.columns = [
2389
+ { header: 'ID', field: 'id', sortable: true },
2390
+ { header: 'Path', field: 'path', sortable: true },
2391
+ { header: 'Title', field: 'title', sortable: true },
2392
+ { header: 'noIndex', field: 'noIndex', type: 'boolean' },
2393
+ { header: 'noFollow', field: 'noFollow', type: 'boolean' },
2394
+ {
2395
+ header: 'Actions',
2396
+ field: 'actions',
2397
+ type: 'button',
2398
+ buttons: [
2399
+ {
2400
+ type: 'icon',
2401
+ icon: 'edit',
2402
+ tooltip: 'Edit SEO page',
2403
+ click: (page) => this.edit(page),
2404
+ },
2405
+ {
2406
+ type: 'icon',
2407
+ icon: 'delete',
2408
+ tooltip: 'Delete SEO page',
2409
+ disabled: () => this.deleting() !== null,
2410
+ click: (page) => this.delete(page),
2411
+ },
2412
+ ],
2413
+ },
2414
+ ];
2415
+ }
2416
+ get crud() {
2417
+ return this.api.taonSeoPageController;
2418
+ }
2419
+ add() {
2420
+ this.edit();
2421
+ }
2422
+ edit(page) {
2423
+ this.dialog
2424
+ .open(TaonSeoPageEditDialogComponent, {
2425
+ data: { page },
2426
+ width: '48rem',
2427
+ maxWidth: '95vw',
2428
+ disableClose: true,
2429
+ })
2430
+ .afterClosed()
2431
+ .pipe(takeUntilDestroyed(this.destroyRef))
2432
+ .subscribe(saved => {
2433
+ if (saved) {
2434
+ this.datatable.reload();
2435
+ }
2436
+ });
2437
+ }
2438
+ delete(page) {
2439
+ if (this.deleting() !== null) {
2440
+ return;
2441
+ }
2442
+ this.deleting.set(page.id);
2443
+ this.dialog
2444
+ .open(TaonConfirmDialogComponent, {
2445
+ data: {
2446
+ title: 'Delete SEO page?',
2447
+ message: `Delete the override for ${page.path}? This page will inherit global SEO defaults.`,
2448
+ confirmText: 'Delete',
2449
+ },
2450
+ })
2451
+ .afterClosed()
2452
+ .pipe(takeUntilDestroyed(this.destroyRef))
2453
+ .subscribe(confirmed => {
2454
+ if (!confirmed) {
2455
+ this.deleting.set(null);
2456
+ return;
2457
+ }
2458
+ this.error.set('');
2459
+ this.api
2460
+ .deletePage(page.id)
2461
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.deleting.set(null)))
2462
+ .subscribe({
2463
+ next: () => this.datatable.reload(),
2464
+ error: (error) => {
2465
+ console.error('[taon-seo-pages] Unable to delete page', error);
2466
+ this.error.set('The SEO page could not be deleted. Refresh and try again.');
2467
+ },
2468
+ });
2469
+ });
2470
+ }
2471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonSeoPageBackofficeComponent, isStandalone: true, selector: "app-taon-seo-page-backoffice", providers: [TaonSeoPageApiService], viewQueries: [{ propertyName: "datatable", first: true, predicate: TaonDatatableComponent, descendants: true }], ngImport: i0, template: "<h1>SEO pages</h1>\n<p>SEO overrides for application/static pages, not CMS content.</p>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'path', 'title', 'noIndex', 'noFollow']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n", styles: [":host{display:block;padding:1rem}\n"], dependencies: [{ kind: "component", type: TaonDatatableComponent, selector: "taon-datatable", inputs: ["pageNumber", "pageSize", "pageSizeOptions", "allowedColumns", "expansionTemplate", "entityCrudController", "columns", "hideSearch", "hideAddButton", "safe", "searchMode", "callQueryMethod", "data", "showPaginator"], outputs: ["expansionChange", "addingItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2473
+ }
2474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoPageBackofficeComponent, decorators: [{
2475
+ type: Component,
2476
+ args: [{ selector: 'app-taon-seo-page-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TaonDatatableComponent], providers: [TaonSeoPageApiService], template: "<h1>SEO pages</h1>\n<p>SEO overrides for application/static pages, not CMS content.</p>\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n}\n<taon-datatable\n [entityCrudController]=\"crud\"\n [columns]=\"columns\"\n [allowedColumns]=\"['id', 'path', 'title', 'noIndex', 'noFollow']\"\n searchMode=\"advanced\"\n (addingItem)=\"add()\">\n</taon-datatable>\n", styles: [":host{display:block;padding:1rem}\n"] }]
2477
+ }], propDecorators: { datatable: [{
2478
+ type: ViewChild,
2479
+ args: [TaonDatatableComponent]
2480
+ }] } });
2481
+
2482
+ var taonSeoPageBackoffice_component = /*#__PURE__*/Object.freeze({
2483
+ __proto__: null,
2484
+ TaonSeoPageBackofficeComponent: TaonSeoPageBackofficeComponent
2485
+ });
2486
+
2487
+ //namespace TaonSeoPageBackofficeModels
2488
+ //end of namespace TaonSeoPageBackofficeModels
2489
+
2490
+ //#endregion
2491
+ const TaonSeoPageBackofficeRoutes = [
2492
+ {
2493
+ path: '',
2494
+ loadComponent: () => Promise.resolve().then(function () { return taonSeoPageBackoffice_component; }).then(m => m.TaonSeoPageBackofficeComponent),
2495
+ children: [
2496
+ // adminLazyRoute({
2497
+ // path: 'dashboard',
2498
+ // menuItem: 'Dashboard',
2499
+ // icon: 'dashboard',
2500
+ // expandable: false,
2501
+ // loader: () =>
2502
+ // import('./anothermodule.routes').then(m => m.DashboardRoutes),
2503
+ // }),
2504
+ ],
2505
+ },
2506
+ ];
2507
+ /**
2508
+ * By default exporting TaonSeoPageBackofficeRoutes,
2509
+ * the command `taon generate:app:routes`
2510
+ * will automatically add them to the root routes in ./src/app.ts.
2511
+ */
2512
+ // export default TaonSeoPageBackofficeRoutes;
2513
+
2514
+ var taonSeoPageBackoffice_routes = /*#__PURE__*/Object.freeze({
2515
+ __proto__: null,
2516
+ TaonSeoPageBackofficeRoutes: TaonSeoPageBackofficeRoutes
2517
+ });
2518
+
2519
+ ;
2520
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2521
+
2522
+ class TaonSeoSettingsBackofficeComponent {
2523
+ constructor() {
2524
+ this.form = new FormGroup({
2525
+ siteName: new FormControl('', { nonNullable: true }),
2526
+ defaultTitle: new FormControl('', { nonNullable: true }),
2527
+ defaultDescription: new FormControl('', { nonNullable: true }),
2528
+ defaultKeywords: new FormControl(null),
2529
+ defaultImageKey: new FormControl(null),
2530
+ canonicalBaseUrl: new FormControl(null),
2531
+ robotsIndex: new FormControl(true, { nonNullable: true }),
2532
+ robotsFollow: new FormControl(true, { nonNullable: true }),
2533
+ });
2534
+ this.loading = signal(true, ...(ngDevMode ? [{ debugName: "loading" }] : []));
2535
+ this.saving = signal(false, ...(ngDevMode ? [{ debugName: "saving" }] : []));
2536
+ this.uploading = signal(false, ...(ngDevMode ? [{ debugName: "uploading" }] : []));
2537
+ this.error = signal('', ...(ngDevMode ? [{ debugName: "error" }] : []));
2538
+ this.saved = signal(false, ...(ngDevMode ? [{ debugName: "saved" }] : []));
2539
+ this.api = inject(TaonSeoSettingsApiService);
2540
+ this.destroyRef = inject(DestroyRef);
2541
+ }
2542
+ ngOnInit() {
2543
+ this.load();
2544
+ }
2545
+ load() {
2546
+ this.loading.set(true);
2547
+ this.error.set('');
2548
+ this.api
2549
+ .getGlobal()
2550
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.loading.set(false)))
2551
+ .subscribe({
2552
+ next: settings => {
2553
+ this.form.enable();
2554
+ this.form.patchValue(settings);
2555
+ },
2556
+ error: (error) => {
2557
+ console.error('[taon-seo-settings] Unable to load settings', error);
2558
+ this.error.set('SEO settings could not be loaded. Retry before saving.');
2559
+ this.form.disable();
2560
+ },
2561
+ });
2562
+ }
2563
+ save() {
2564
+ if (this.loading() ||
2565
+ this.saving() ||
2566
+ this.uploading() ||
2567
+ this.form.disabled) {
2568
+ return;
2569
+ }
2570
+ this.saving.set(true);
2571
+ this.saved.set(false);
2572
+ this.error.set('');
2573
+ this.api
2574
+ .saveGlobal(this.form.getRawValue())
2575
+ .pipe(takeUntilDestroyed(this.destroyRef), finalize(() => this.saving.set(false)))
2576
+ .subscribe({
2577
+ next: settings => {
2578
+ this.form.patchValue(settings);
2579
+ this.form.markAsPristine();
2580
+ this.saved.set(true);
2581
+ },
2582
+ error: (error) => {
2583
+ console.error('[taon-seo-settings] Unable to save settings', error);
2584
+ this.error.set('SEO settings could not be saved. Check the canonical URL and try again.');
2585
+ },
2586
+ });
2587
+ }
2588
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsBackofficeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2589
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TaonSeoSettingsBackofficeComponent, isStandalone: true, selector: "app-taon-seo-settings-backoffice", providers: [TaonSeoSettingsApiService], ngImport: i0, template: "<h1>General SEO settings</h1>\n@if (loading()) {\n <p role=\"status\">Loading SEO settings...</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n @if (form.disabled) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry\n </button>\n }\n}\n@if (saved()) {\n <p role=\"status\">SEO settings saved.</p>\n}\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <fieldset [disabled]=\"loading() || saving() || form.disabled\">\n <mat-form-field>\n <mat-label>Site name</mat-label>\n <input\n matInput\n formControlName=\"siteName\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default page title</mat-label>\n <input\n matInput\n formControlName=\"defaultTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default meta description</mat-label>\n <textarea\n matInput\n formControlName=\"defaultDescription\"\n rows=\"4\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default keywords</mat-label>\n <input\n matInput\n formControlName=\"defaultKeywords\" />\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.defaultImageKey.value\"\n (keyChange)=\"form.controls.defaultImageKey.setValue($event)\"\n [disabled]=\"loading() || saving() || form.disabled\"\n [(uploading)]=\"uploading\" />\n <mat-form-field>\n <mat-label>Canonical base URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalBaseUrl\"\n placeholder=\"https://example.com\" />\n <mat-hint\n >Absolute website URL, optionally including its deployment\n subpath.</mat-hint\n >\n </mat-form-field>\n <mat-checkbox formControlName=\"robotsIndex\">Allow indexing</mat-checkbox>\n <mat-checkbox formControlName=\"robotsFollow\"\n >Allow following links</mat-checkbox\n >\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"loading() || saving() || uploading() || form.disabled\">\n {{ saving() ? 'Saving...' : 'Save settings' }}\n </button>\n </fieldset>\n</form>\n", styles: [":host{display:block;padding:1rem}fieldset{border:0;display:flex;flex-direction:column;gap:1rem;max-width:48rem;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: TaonSeoImageInputComponent, selector: "taon-seo-image-input", inputs: ["key", "disabled", "uploading"], outputs: ["keyChange", "disabledChange", "uploadingChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2590
+ }
2591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonSeoSettingsBackofficeComponent, decorators: [{
2592
+ type: Component,
2593
+ args: [{ selector: 'app-taon-seo-settings-backoffice', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
2594
+ ReactiveFormsModule,
2595
+ MatButtonModule,
2596
+ MatCheckboxModule,
2597
+ MatFormFieldModule,
2598
+ MatInputModule,
2599
+ TaonSeoImageInputComponent,
2600
+ ], providers: [TaonSeoSettingsApiService], template: "<h1>General SEO settings</h1>\n@if (loading()) {\n <p role=\"status\">Loading SEO settings...</p>\n}\n@if (error()) {\n <p role=\"alert\">{{ error() }}</p>\n @if (form.disabled) {\n <button\n mat-button\n type=\"button\"\n (click)=\"load()\">\n Retry\n </button>\n }\n}\n@if (saved()) {\n <p role=\"status\">SEO settings saved.</p>\n}\n<form\n [formGroup]=\"form\"\n (ngSubmit)=\"save()\">\n <fieldset [disabled]=\"loading() || saving() || form.disabled\">\n <mat-form-field>\n <mat-label>Site name</mat-label>\n <input\n matInput\n formControlName=\"siteName\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default page title</mat-label>\n <input\n matInput\n formControlName=\"defaultTitle\" />\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default meta description</mat-label>\n <textarea\n matInput\n formControlName=\"defaultDescription\"\n rows=\"4\"></textarea>\n </mat-form-field>\n <mat-form-field>\n <mat-label>Default keywords</mat-label>\n <input\n matInput\n formControlName=\"defaultKeywords\" />\n </mat-form-field>\n <taon-seo-image-input\n [key]=\"form.controls.defaultImageKey.value\"\n (keyChange)=\"form.controls.defaultImageKey.setValue($event)\"\n [disabled]=\"loading() || saving() || form.disabled\"\n [(uploading)]=\"uploading\" />\n <mat-form-field>\n <mat-label>Canonical base URL</mat-label>\n <input\n matInput\n formControlName=\"canonicalBaseUrl\"\n placeholder=\"https://example.com\" />\n <mat-hint\n >Absolute website URL, optionally including its deployment\n subpath.</mat-hint\n >\n </mat-form-field>\n <mat-checkbox formControlName=\"robotsIndex\">Allow indexing</mat-checkbox>\n <mat-checkbox formControlName=\"robotsFollow\"\n >Allow following links</mat-checkbox\n >\n <button\n mat-flat-button\n type=\"submit\"\n [disabled]=\"loading() || saving() || uploading() || form.disabled\">\n {{ saving() ? 'Saving...' : 'Save settings' }}\n </button>\n </fieldset>\n</form>\n", styles: [":host{display:block;padding:1rem}fieldset{border:0;display:flex;flex-direction:column;gap:1rem;max-width:48rem;padding:0}\n"] }]
2601
+ }] });
2602
+
2603
+ var taonSeoSettingsBackoffice_component = /*#__PURE__*/Object.freeze({
2604
+ __proto__: null,
2605
+ TaonSeoSettingsBackofficeComponent: TaonSeoSettingsBackofficeComponent
2606
+ });
2607
+
2608
+ //namespace TaonSeoSettingsBackofficeModels
2609
+ //end of namespace TaonSeoSettingsBackofficeModels
2610
+
2611
+ //#endregion
2612
+ const TaonSeoSettingsBackofficeRoutes = [
2613
+ {
2614
+ path: '',
2615
+ loadComponent: () => Promise.resolve().then(function () { return taonSeoSettingsBackoffice_component; }).then(m => m.TaonSeoSettingsBackofficeComponent),
2616
+ children: [
2617
+ // adminLazyRoute({
2618
+ // path: 'dashboard',
2619
+ // menuItem: 'Dashboard',
2620
+ // icon: 'dashboard',
2621
+ // expandable: false,
2622
+ // loader: () =>
2623
+ // import('./anothermodule.routes').then(m => m.DashboardRoutes),
2624
+ // }),
2625
+ ],
2626
+ },
2627
+ ];
2628
+ /**
2629
+ * By default exporting TaonSeoSettingsBackofficeRoutes,
2630
+ * the command `taon generate:app:routes`
2631
+ * will automatically add them to the root routes in ./src/app.ts.
2632
+ */
2633
+ // export default TaonSeoSettingsBackofficeRoutes;
2634
+
2635
+ var taonSeoSettingsBackoffice_routes = /*#__PURE__*/Object.freeze({
2636
+ __proto__: null,
2637
+ TaonSeoSettingsBackofficeRoutes: TaonSeoSettingsBackofficeRoutes
2638
+ });
2639
+
2640
+ // @ts-nocheck
2641
+ // This file is auto-generated during init process. Do not modify.
2642
+ // This disable this auto generate file.
2643
+ // set property "shouldGenerateAutogenIndexFile: false"
2644
+ // in taon.jsonc of your project.
2645
+
2646
+ var index = {};
2647
+
2648
+ /**
2649
+ * Generated bundle index. Do not edit.
2650
+ */
2651
+
2652
+ export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, ENV_ANGULAR_NODE_APP_BUILD_BASE_HREF, ENV_ANGULAR_NODE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_ANGULAR_NODE_APP_BUILD_GEN_ONLY_CLIENT_CODE, ENV_ANGULAR_NODE_APP_BUILD_OVERRIDE_OUTPUT_PATH, ENV_ANGULAR_NODE_APP_BUILD_PROD, ENV_ANGULAR_NODE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_ANGULAR_NODE_APP_BUILD_PWA_NAME, ENV_ANGULAR_NODE_APP_BUILD_PWA_SHORT_NAME, ENV_ANGULAR_NODE_APP_BUILD_PWA_START_URL, ENV_ANGULAR_NODE_APP_BUILD_SSR, ENV_ANGULAR_NODE_APP_BUILD_WATCH, ENV_ANGULAR_NODE_APP_BUILD_WEBSQL, ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_CLIENT_ID, ENV_ANGULAR_NODE_APP_CONFIG_GOOGLE_SECRET, ENV_ANGULAR_NODE_APP_CONFIG_SUPER_USERS, ENV_ANGULAR_NODE_APP_CONTAINER_END, ENV_ANGULAR_NODE_APP_CONTAINER_ONLY, ENV_ANGULAR_NODE_APP_CONTAINER_SKIP, ENV_ANGULAR_NODE_APP_CONTAINER_SKIP_RELEASED, ENV_ANGULAR_NODE_APP_CONTAINER_START, ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_ANGULAR_NODE_APP_COPY_TO_MANAGER_SKIP, ENV_ANGULAR_NODE_APP_DOCKER_ADDITIONAL_CONTAINER, ENV_ANGULAR_NODE_APP_DOCKER_SKIP_START_IN_ORDER, ENV_ANGULAR_NODE_APP_DOCKER_SKIP_USING_MYSQL_DB, ENV_ANGULAR_NODE_APP_FINISH_CALLBACK, ENV_ANGULAR_NODE_APP_INIT_BRANDING, ENV_ANGULAR_NODE_APP_INIT_STRUCT, ENV_ANGULAR_NODE_APP_IS_CI_PROCESS, ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_ANGULAR_NODE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_ANGULAR_NODE_APP_PURPOSE, ENV_ANGULAR_NODE_APP_RECURSIVE_ACTION, ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_ANGULAR_NODE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_ANGULAR_NODE_APP_RELEASE_CLI_COMPRESS, ENV_ANGULAR_NODE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_ANGULAR_NODE_APP_RELEASE_CLI_MINIFY, ENV_ANGULAR_NODE_APP_RELEASE_CLI_OBSCURE, ENV_ANGULAR_NODE_APP_RELEASE_CLI_UGLIFY, ENV_ANGULAR_NODE_APP_RELEASE_ENV_NAME, ENV_ANGULAR_NODE_APP_RELEASE_ENV_NUMBER, ENV_ANGULAR_NODE_APP_RELEASE_INSTALL_LOCALLY, ENV_ANGULAR_NODE_APP_RELEASE_LIB_COMPRESS, ENV_ANGULAR_NODE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_ANGULAR_NODE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_ANGULAR_NODE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_ANGULAR_NODE_APP_RELEASE_LIB_REMOVE_DTS, ENV_ANGULAR_NODE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_ANGULAR_NODE_APP_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_ANGULAR_NODE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_TYPE, ENV_ANGULAR_NODE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_ANGULAR_NODE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_ANGULAR_NODE_APP_RELEASE_RESOLVED_NEW_VERSION, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_CODE_CUTTING, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_DEPLOY, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_NPM_PUBLISH, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RELEASE_QUESTION, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_ANGULAR_NODE_APP_RELEASE_SKIP_TAG_GIT_PUSH, ENV_ANGULAR_NODE_APP_RELEASE_TAON_INSTANCE_IP, ENV_ANGULAR_NODE_APP_RELEASE_TARGET_ARTIFACT, ENV_ANGULAR_NODE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_ANGULAR_NODE_APP_WEBSITE_DOMAIN, ENV_ANGULAR_NODE_APP_WEBSITE_TITLE, ENV_ANGULAR_NODE_APP_WEBSITE_USE_DOMAIN, ENV_DOCS_WEBAPP_BUILD_BASE_HREF, ENV_DOCS_WEBAPP_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_DOCS_WEBAPP_BUILD_GEN_ONLY_CLIENT_CODE, ENV_DOCS_WEBAPP_BUILD_OVERRIDE_OUTPUT_PATH, ENV_DOCS_WEBAPP_BUILD_PROD, ENV_DOCS_WEBAPP_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_DOCS_WEBAPP_BUILD_PWA_NAME, ENV_DOCS_WEBAPP_BUILD_PWA_SHORT_NAME, ENV_DOCS_WEBAPP_BUILD_PWA_START_URL, ENV_DOCS_WEBAPP_BUILD_SSR, ENV_DOCS_WEBAPP_BUILD_WATCH, ENV_DOCS_WEBAPP_BUILD_WEBSQL, ENV_DOCS_WEBAPP_CONFIG_GOOGLE_CLIENT_ID, ENV_DOCS_WEBAPP_CONFIG_GOOGLE_SECRET, ENV_DOCS_WEBAPP_CONFIG_SUPER_USERS, ENV_DOCS_WEBAPP_CONTAINER_END, ENV_DOCS_WEBAPP_CONTAINER_ONLY, ENV_DOCS_WEBAPP_CONTAINER_SKIP, ENV_DOCS_WEBAPP_CONTAINER_SKIP_RELEASED, ENV_DOCS_WEBAPP_CONTAINER_START, ENV_DOCS_WEBAPP_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_DOCS_WEBAPP_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_DOCS_WEBAPP_COPY_TO_MANAGER_SKIP, ENV_DOCS_WEBAPP_DOCKER_ADDITIONAL_CONTAINER, ENV_DOCS_WEBAPP_DOCKER_SKIP_START_IN_ORDER, ENV_DOCS_WEBAPP_DOCKER_SKIP_USING_MYSQL_DB, ENV_DOCS_WEBAPP_FINISH_CALLBACK, ENV_DOCS_WEBAPP_INIT_BRANDING, ENV_DOCS_WEBAPP_INIT_STRUCT, ENV_DOCS_WEBAPP_IS_CI_PROCESS, ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_DOCS_WEBAPP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_DOCS_WEBAPP_PURPOSE, ENV_DOCS_WEBAPP_RECURSIVE_ACTION, ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_DOCS_WEBAPP_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_DOCS_WEBAPP_RELEASE_CLI_COMPRESS, ENV_DOCS_WEBAPP_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_DOCS_WEBAPP_RELEASE_CLI_MINIFY, ENV_DOCS_WEBAPP_RELEASE_CLI_OBSCURE, ENV_DOCS_WEBAPP_RELEASE_CLI_UGLIFY, ENV_DOCS_WEBAPP_RELEASE_ENV_NAME, ENV_DOCS_WEBAPP_RELEASE_ENV_NUMBER, ENV_DOCS_WEBAPP_RELEASE_INSTALL_LOCALLY, ENV_DOCS_WEBAPP_RELEASE_LIB_COMPRESS, ENV_DOCS_WEBAPP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_DOCS_WEBAPP_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_DOCS_WEBAPP_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_DOCS_WEBAPP_RELEASE_LIB_REMOVE_DTS, ENV_DOCS_WEBAPP_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_DOCS_WEBAPP_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_DOCS_WEBAPP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_DOCS_WEBAPP_RELEASE_RELEASE_TYPE, ENV_DOCS_WEBAPP_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_DOCS_WEBAPP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_DOCS_WEBAPP_RELEASE_RESOLVED_NEW_VERSION, ENV_DOCS_WEBAPP_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_DOCS_WEBAPP_RELEASE_SKIP_CODE_CUTTING, ENV_DOCS_WEBAPP_RELEASE_SKIP_DEPLOY, ENV_DOCS_WEBAPP_RELEASE_SKIP_NPM_PUBLISH, ENV_DOCS_WEBAPP_RELEASE_SKIP_RELEASE_QUESTION, ENV_DOCS_WEBAPP_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_DOCS_WEBAPP_RELEASE_SKIP_TAG_GIT_PUSH, ENV_DOCS_WEBAPP_RELEASE_TAON_INSTANCE_IP, ENV_DOCS_WEBAPP_RELEASE_TARGET_ARTIFACT, ENV_DOCS_WEBAPP_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_DOCS_WEBAPP_WEBSITE_DOMAIN, ENV_DOCS_WEBAPP_WEBSITE_TITLE, ENV_DOCS_WEBAPP_WEBSITE_USE_DOMAIN, ENV_ELECTRON_APP_BUILD_BASE_HREF, ENV_ELECTRON_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_ELECTRON_APP_BUILD_GEN_ONLY_CLIENT_CODE, ENV_ELECTRON_APP_BUILD_OVERRIDE_OUTPUT_PATH, ENV_ELECTRON_APP_BUILD_PROD, ENV_ELECTRON_APP_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_ELECTRON_APP_BUILD_PWA_NAME, ENV_ELECTRON_APP_BUILD_PWA_SHORT_NAME, ENV_ELECTRON_APP_BUILD_PWA_START_URL, ENV_ELECTRON_APP_BUILD_SSR, ENV_ELECTRON_APP_BUILD_WATCH, ENV_ELECTRON_APP_BUILD_WEBSQL, ENV_ELECTRON_APP_CONFIG_GOOGLE_CLIENT_ID, ENV_ELECTRON_APP_CONFIG_GOOGLE_SECRET, ENV_ELECTRON_APP_CONFIG_SUPER_USERS, ENV_ELECTRON_APP_CONTAINER_END, ENV_ELECTRON_APP_CONTAINER_ONLY, ENV_ELECTRON_APP_CONTAINER_SKIP, ENV_ELECTRON_APP_CONTAINER_SKIP_RELEASED, ENV_ELECTRON_APP_CONTAINER_START, ENV_ELECTRON_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_ELECTRON_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_ELECTRON_APP_COPY_TO_MANAGER_SKIP, ENV_ELECTRON_APP_DOCKER_ADDITIONAL_CONTAINER, ENV_ELECTRON_APP_DOCKER_SKIP_START_IN_ORDER, ENV_ELECTRON_APP_DOCKER_SKIP_USING_MYSQL_DB, ENV_ELECTRON_APP_FINISH_CALLBACK, ENV_ELECTRON_APP_INIT_BRANDING, ENV_ELECTRON_APP_INIT_STRUCT, ENV_ELECTRON_APP_IS_CI_PROCESS, ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_ELECTRON_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_ELECTRON_APP_PURPOSE, ENV_ELECTRON_APP_RECURSIVE_ACTION, ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_ELECTRON_APP_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_ELECTRON_APP_RELEASE_CLI_COMPRESS, ENV_ELECTRON_APP_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_ELECTRON_APP_RELEASE_CLI_MINIFY, ENV_ELECTRON_APP_RELEASE_CLI_OBSCURE, ENV_ELECTRON_APP_RELEASE_CLI_UGLIFY, ENV_ELECTRON_APP_RELEASE_ENV_NAME, ENV_ELECTRON_APP_RELEASE_ENV_NUMBER, ENV_ELECTRON_APP_RELEASE_INSTALL_LOCALLY, ENV_ELECTRON_APP_RELEASE_LIB_COMPRESS, ENV_ELECTRON_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_ELECTRON_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_ELECTRON_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_ELECTRON_APP_RELEASE_LIB_REMOVE_DTS, ENV_ELECTRON_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_ELECTRON_APP_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_ELECTRON_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_ELECTRON_APP_RELEASE_RELEASE_TYPE, ENV_ELECTRON_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_ELECTRON_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_ELECTRON_APP_RELEASE_RESOLVED_NEW_VERSION, ENV_ELECTRON_APP_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_ELECTRON_APP_RELEASE_SKIP_CODE_CUTTING, ENV_ELECTRON_APP_RELEASE_SKIP_DEPLOY, ENV_ELECTRON_APP_RELEASE_SKIP_NPM_PUBLISH, ENV_ELECTRON_APP_RELEASE_SKIP_RELEASE_QUESTION, ENV_ELECTRON_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_ELECTRON_APP_RELEASE_SKIP_TAG_GIT_PUSH, ENV_ELECTRON_APP_RELEASE_TAON_INSTANCE_IP, ENV_ELECTRON_APP_RELEASE_TARGET_ARTIFACT, ENV_ELECTRON_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_ELECTRON_APP_WEBSITE_DOMAIN, ENV_ELECTRON_APP_WEBSITE_TITLE, ENV_ELECTRON_APP_WEBSITE_USE_DOMAIN, ENV_MOBILE_APP_BUILD_BASE_HREF, ENV_MOBILE_APP_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_MOBILE_APP_BUILD_GEN_ONLY_CLIENT_CODE, ENV_MOBILE_APP_BUILD_OVERRIDE_OUTPUT_PATH, ENV_MOBILE_APP_BUILD_PROD, ENV_MOBILE_APP_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_MOBILE_APP_BUILD_PWA_NAME, ENV_MOBILE_APP_BUILD_PWA_SHORT_NAME, ENV_MOBILE_APP_BUILD_PWA_START_URL, ENV_MOBILE_APP_BUILD_SSR, ENV_MOBILE_APP_BUILD_WATCH, ENV_MOBILE_APP_BUILD_WEBSQL, ENV_MOBILE_APP_CONFIG_GOOGLE_CLIENT_ID, ENV_MOBILE_APP_CONFIG_GOOGLE_SECRET, ENV_MOBILE_APP_CONFIG_SUPER_USERS, ENV_MOBILE_APP_CONTAINER_END, ENV_MOBILE_APP_CONTAINER_ONLY, ENV_MOBILE_APP_CONTAINER_SKIP, ENV_MOBILE_APP_CONTAINER_SKIP_RELEASED, ENV_MOBILE_APP_CONTAINER_START, ENV_MOBILE_APP_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_MOBILE_APP_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_MOBILE_APP_COPY_TO_MANAGER_SKIP, ENV_MOBILE_APP_DOCKER_ADDITIONAL_CONTAINER, ENV_MOBILE_APP_DOCKER_SKIP_START_IN_ORDER, ENV_MOBILE_APP_DOCKER_SKIP_USING_MYSQL_DB, ENV_MOBILE_APP_FINISH_CALLBACK, ENV_MOBILE_APP_INIT_BRANDING, ENV_MOBILE_APP_INIT_STRUCT, ENV_MOBILE_APP_IS_CI_PROCESS, ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_MOBILE_APP_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_MOBILE_APP_PURPOSE, ENV_MOBILE_APP_RECURSIVE_ACTION, ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_MOBILE_APP_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_MOBILE_APP_RELEASE_CLI_COMPRESS, ENV_MOBILE_APP_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_MOBILE_APP_RELEASE_CLI_MINIFY, ENV_MOBILE_APP_RELEASE_CLI_OBSCURE, ENV_MOBILE_APP_RELEASE_CLI_UGLIFY, ENV_MOBILE_APP_RELEASE_ENV_NAME, ENV_MOBILE_APP_RELEASE_ENV_NUMBER, ENV_MOBILE_APP_RELEASE_INSTALL_LOCALLY, ENV_MOBILE_APP_RELEASE_LIB_COMPRESS, ENV_MOBILE_APP_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_MOBILE_APP_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_MOBILE_APP_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_MOBILE_APP_RELEASE_LIB_REMOVE_DTS, ENV_MOBILE_APP_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_MOBILE_APP_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_MOBILE_APP_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_MOBILE_APP_RELEASE_RELEASE_TYPE, ENV_MOBILE_APP_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_MOBILE_APP_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_MOBILE_APP_RELEASE_RESOLVED_NEW_VERSION, ENV_MOBILE_APP_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_MOBILE_APP_RELEASE_SKIP_CODE_CUTTING, ENV_MOBILE_APP_RELEASE_SKIP_DEPLOY, ENV_MOBILE_APP_RELEASE_SKIP_NPM_PUBLISH, ENV_MOBILE_APP_RELEASE_SKIP_RELEASE_QUESTION, ENV_MOBILE_APP_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_MOBILE_APP_RELEASE_SKIP_TAG_GIT_PUSH, ENV_MOBILE_APP_RELEASE_TAON_INSTANCE_IP, ENV_MOBILE_APP_RELEASE_TARGET_ARTIFACT, ENV_MOBILE_APP_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_MOBILE_APP_WEBSITE_DOMAIN, ENV_MOBILE_APP_WEBSITE_TITLE, ENV_MOBILE_APP_WEBSITE_USE_DOMAIN, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_BASE_HREF, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_GEN_ONLY_CLIENT_CODE, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_OVERRIDE_OUTPUT_PATH, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PROD, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_NAME, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_SHORT_NAME, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_PWA_START_URL, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_SSR, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WATCH, ENV_NPM_LIB_AND_CLI_TOOL_BUILD_WEBSQL, ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_CLIENT_ID, ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_GOOGLE_SECRET, ENV_NPM_LIB_AND_CLI_TOOL_CONFIG_SUPER_USERS, ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_END, ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_ONLY, ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP, ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_SKIP_RELEASED, ENV_NPM_LIB_AND_CLI_TOOL_CONTAINER_START, ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_NPM_LIB_AND_CLI_TOOL_COPY_TO_MANAGER_SKIP, ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_ADDITIONAL_CONTAINER, ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_START_IN_ORDER, ENV_NPM_LIB_AND_CLI_TOOL_DOCKER_SKIP_USING_MYSQL_DB, ENV_NPM_LIB_AND_CLI_TOOL_FINISH_CALLBACK, ENV_NPM_LIB_AND_CLI_TOOL_INIT_BRANDING, ENV_NPM_LIB_AND_CLI_TOOL_INIT_STRUCT, ENV_NPM_LIB_AND_CLI_TOOL_IS_CI_PROCESS, ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_NPM_LIB_AND_CLI_TOOL_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_NPM_LIB_AND_CLI_TOOL_PURPOSE, ENV_NPM_LIB_AND_CLI_TOOL_RECURSIVE_ACTION, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_COMPRESS, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_MINIFY, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_OBSCURE, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_CLI_UGLIFY, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NAME, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_ENV_NUMBER, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_INSTALL_LOCALLY, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_COMPRESS, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_REMOVE_DTS, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_TYPE, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_RESOLVED_NEW_VERSION, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_CODE_CUTTING, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_DEPLOY, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_NPM_PUBLISH, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RELEASE_QUESTION, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_SKIP_TAG_GIT_PUSH, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TAON_INSTANCE_IP, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_TARGET_ARTIFACT, ENV_NPM_LIB_AND_CLI_TOOL_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_DOMAIN, ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_TITLE, ENV_NPM_LIB_AND_CLI_TOOL_WEBSITE_USE_DOMAIN, ENV_VSCODE_PLUGIN_BUILD_BASE_HREF, ENV_VSCODE_PLUGIN_BUILD_ELECTRON_SHOW_DEV_TOOLS, ENV_VSCODE_PLUGIN_BUILD_GEN_ONLY_CLIENT_CODE, ENV_VSCODE_PLUGIN_BUILD_OVERRIDE_OUTPUT_PATH, ENV_VSCODE_PLUGIN_BUILD_PROD, ENV_VSCODE_PLUGIN_BUILD_PWA_DISABLE_SERVICE_WORKER, ENV_VSCODE_PLUGIN_BUILD_PWA_NAME, ENV_VSCODE_PLUGIN_BUILD_PWA_SHORT_NAME, ENV_VSCODE_PLUGIN_BUILD_PWA_START_URL, ENV_VSCODE_PLUGIN_BUILD_SSR, ENV_VSCODE_PLUGIN_BUILD_WATCH, ENV_VSCODE_PLUGIN_BUILD_WEBSQL, ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_CLIENT_ID, ENV_VSCODE_PLUGIN_CONFIG_GOOGLE_SECRET, ENV_VSCODE_PLUGIN_CONFIG_SUPER_USERS, ENV_VSCODE_PLUGIN_CONTAINER_END, ENV_VSCODE_PLUGIN_CONTAINER_ONLY, ENV_VSCODE_PLUGIN_CONTAINER_SKIP, ENV_VSCODE_PLUGIN_CONTAINER_SKIP_RELEASED, ENV_VSCODE_PLUGIN_CONTAINER_START, ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_BEFORE_COPY_HOOK, ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_LOCATIONS, ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_COPY_TO_PROJECTS, ENV_VSCODE_PLUGIN_COPY_TO_MANAGER_SKIP, ENV_VSCODE_PLUGIN_DOCKER_ADDITIONAL_CONTAINER, ENV_VSCODE_PLUGIN_DOCKER_SKIP_START_IN_ORDER, ENV_VSCODE_PLUGIN_DOCKER_SKIP_USING_MYSQL_DB, ENV_VSCODE_PLUGIN_FINISH_CALLBACK, ENV_VSCODE_PLUGIN_INIT_BRANDING, ENV_VSCODE_PLUGIN_INIT_STRUCT, ENV_VSCODE_PLUGIN_IS_CI_PROCESS, ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_BACKGROUND, ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER, ENV_VSCODE_PLUGIN_LOADING_PRE_ANGULAR_BOOTSTRAP_LOADER_NAME, ENV_VSCODE_PLUGIN_PURPOSE, ENV_VSCODE_PLUGIN_RECURSIVE_ACTION, ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_TASK_NAME, ENV_VSCODE_PLUGIN_RELEASE_AUTO_RELEASE_USING_CONFIG, ENV_VSCODE_PLUGIN_RELEASE_CLI_COMPRESS, ENV_VSCODE_PLUGIN_RELEASE_CLI_INCLUDE_NODE_MODULES, ENV_VSCODE_PLUGIN_RELEASE_CLI_MINIFY, ENV_VSCODE_PLUGIN_RELEASE_CLI_OBSCURE, ENV_VSCODE_PLUGIN_RELEASE_CLI_UGLIFY, ENV_VSCODE_PLUGIN_RELEASE_ENV_NAME, ENV_VSCODE_PLUGIN_RELEASE_ENV_NUMBER, ENV_VSCODE_PLUGIN_RELEASE_INSTALL_LOCALLY, ENV_VSCODE_PLUGIN_RELEASE_LIB_COMPRESS, ENV_VSCODE_PLUGIN_RELEASE_LIB_DO_NOT_INCLUDE_LIB_FILES, ENV_VSCODE_PLUGIN_RELEASE_LIB_INCLUDE_SOURCE_MAPS, ENV_VSCODE_PLUGIN_RELEASE_LIB_OBSCURE_FILE_BY_FILE, ENV_VSCODE_PLUGIN_RELEASE_LIB_REMOVE_DTS, ENV_VSCODE_PLUGIN_RELEASE_LIB_UGLIFY_FILE_BY_FILE, ENV_VSCODE_PLUGIN_RELEASE_NODE_BACKEND_APP_MINIFY, ENV_VSCODE_PLUGIN_RELEASE_PUSH_TO_ALL_ORIGINS_WHEN_LOCAL_RELEASE_BRANCH, ENV_VSCODE_PLUGIN_RELEASE_RELEASE_TYPE, ENV_VSCODE_PLUGIN_RELEASE_RELEASE_VERSION_BUMP_TYPE, ENV_VSCODE_PLUGIN_RELEASE_REMOVE_RELEASE_OUTPUT_AFTER_LOCAL_INSTALL, ENV_VSCODE_PLUGIN_RELEASE_RESOLVED_NEW_VERSION, ENV_VSCODE_PLUGIN_RELEASE_SKIP_BUILDING_ARTIFACTS, ENV_VSCODE_PLUGIN_RELEASE_SKIP_CODE_CUTTING, ENV_VSCODE_PLUGIN_RELEASE_SKIP_DEPLOY, ENV_VSCODE_PLUGIN_RELEASE_SKIP_NPM_PUBLISH, ENV_VSCODE_PLUGIN_RELEASE_SKIP_RELEASE_QUESTION, ENV_VSCODE_PLUGIN_RELEASE_SKIP_RESOLVING_GIT_CHANGES, ENV_VSCODE_PLUGIN_RELEASE_SKIP_TAG_GIT_PUSH, ENV_VSCODE_PLUGIN_RELEASE_TAON_INSTANCE_IP, ENV_VSCODE_PLUGIN_RELEASE_TARGET_ARTIFACT, ENV_VSCODE_PLUGIN_RELEASE_USE_LOCAL_RELEASE_BRANCH, ENV_VSCODE_PLUGIN_WEBSITE_DOMAIN, ENV_VSCODE_PLUGIN_WEBSITE_TITLE, ENV_VSCODE_PLUGIN_WEBSITE_USE_DOMAIN, MIGRATIONS_CLASSES_FOR_SeoContext, PROJECT_NPM_NAME, TaonSeoAbstractContext, TaonSeoBackofficeComponent, TaonSeoBackofficeRoutes, TaonSeoImageApiService, TaonSeoImageController, TaonSeoImageInputComponent, TaonSeoPageAbstractContext, TaonSeoPageApiService, TaonSeoPageBackofficeComponent, TaonSeoPageBackofficeRoutes, TaonSeoPageConfigService, TaonSeoPageController, TaonSeoPageDefaultsValues, TaonSeoPageEditDialogComponent, TaonSeoPageEntity, TaonSeoPageErrors, TaonSeoPageKvRepository, TaonSeoPageMiddleware, TaonSeoPageModels__NS__TaonSeoPageState, TaonSeoPageProvider, TaonSeoPageRepository, TaonSeoPageSubscriber, TaonSeoPageTranslationErorsMap, TaonSeoPageUtils__NS__isActive, TaonSeoPageValidators__NS__passwordMatchValidator, TaonSeoProvider, TaonSeoService, TaonSeoSettingsAbstractContext, TaonSeoSettingsApiService, TaonSeoSettingsBackofficeComponent, TaonSeoSettingsBackofficeRoutes, TaonSeoSettingsConfigService, TaonSeoSettingsController, TaonSeoSettingsDefaultsValues, TaonSeoSettingsEntity, TaonSeoSettingsErrors, TaonSeoSettingsKvRepository, TaonSeoSettingsMiddleware, TaonSeoSettingsModels__NS__TaonSeoSettingsState, TaonSeoSettingsProvider, TaonSeoSettingsRepository, TaonSeoSettingsSubscriber, TaonSeoSettingsTranslationErorsMap, TaonSeoSettingsUtils__NS__isActive, TaonSeoSettingsValidators__NS__passwordMatchValidator, TaonTaonSeoPageConfig, TaonTaonSeoSettingsConfig, myOrgProj, normalizeSeoPath, provideTaonSeo, requireSeoId, resolveSeoMetadata, seoError, seoText, startCli, validateSeoPage, validateSeoPath, validateSeoSettings };
2653
+ //# sourceMappingURL=seo-browser-prod.mjs.map