@decaf-ts/for-angular 0.1.3 → 0.1.4

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 (374) hide show
  1. package/.editorconfig +31 -0
  2. package/.gitlab-ci.yml +197 -0
  3. package/.hintrc +19 -0
  4. package/.prettierrc +49 -0
  5. package/.snyk +13 -0
  6. package/LICENSE.md +260 -0
  7. package/angular.json +274 -0
  8. package/bs-config.json +5 -0
  9. package/cli-module.js.map +1 -0
  10. package/dist/for-angular/cli/cli-module.d.ts +22 -0
  11. package/dist/for-angular/cli/cli-module.d.ts.map +1 -0
  12. package/dist/for-angular/cli/cli-module.js +131 -0
  13. package/dist/for-angular/cli/cli-module.js.map +1 -0
  14. package/dist/lib/README.md +117 -0
  15. package/eslint.config.mjs +101 -0
  16. package/ionic.config.json +14 -0
  17. package/jest.config.ts +52 -0
  18. package/jest.setup.ts +50 -0
  19. package/karma.conf.js +50 -0
  20. package/ng-package.json +16 -0
  21. package/ngsw-config.json +30 -0
  22. package/package.json +86 -17
  23. package/playwright.config.ts +80 -0
  24. package/resources/favicon.png +0 -0
  25. package/resources/favicon.svg +29 -0
  26. package/resources/icon-background.png +0 -0
  27. package/resources/icon-foreground.png +0 -0
  28. package/resources/icon-only.png +0 -0
  29. package/resources/icon-only.svg +29 -0
  30. package/resources/splash-dark.png +0 -0
  31. package/resources/splash-dark2.png +0 -0
  32. package/resources/splash.png +0 -0
  33. package/resources/splash2.png +0 -0
  34. package/resources/touch-icon.svg +29 -0
  35. package/schematics/README.md +28 -0
  36. package/schematics/collection.json +20 -0
  37. package/schematics/package-lock.json +1501 -0
  38. package/schematics/package.json +37 -0
  39. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +0 -0
  40. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +3 -0
  41. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +40 -0
  42. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +37 -0
  43. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template +14 -0
  44. package/schematics/src/component/index.js +146 -0
  45. package/schematics/src/component/schema.js +2 -0
  46. package/schematics/src/component/schema.json +101 -0
  47. package/schematics/src/page/files/__name@dasherize__.page.html.template +15 -0
  48. package/schematics/src/page/files/__name@dasherize__.page.scss.template +0 -0
  49. package/schematics/src/page/files/__name@dasherize__.page.ts.template +19 -0
  50. package/schematics/src/page/index.js +71 -0
  51. package/schematics/src/page/schema.json +87 -0
  52. package/schematics/src/schematics/index.js +11 -0
  53. package/schematics/src/schematics/index_spec.js +13 -0
  54. package/schematics/src/util/ast-util.js +517 -0
  55. package/schematics/src/util/change.js +96 -0
  56. package/schematics/src/util/index.js +14 -0
  57. package/settings.json +112 -0
  58. package/tsconfig.app.json +22 -0
  59. package/tsconfig.cli.json +82 -0
  60. package/tsconfig.lib.json +14 -0
  61. package/tsconfig.lib.prod.json +10 -0
  62. package/tsconfig.spec.json +22 -0
  63. package/webpack.config.js +10 -0
  64. package/workdocs/1-Header.md +5 -0
  65. package/workdocs/2-Badges.md +30 -0
  66. package/workdocs/4-Description.md +4 -0
  67. package/workdocs/5-HowToUse.md +27 -0
  68. package/workdocs/6-Related.md +7 -0
  69. package/workdocs/7-Social.md +5 -0
  70. package/workdocs/99-Footer.md +28 -0
  71. package/workdocs/Readme.md +12 -0
  72. package/workdocs/assets/apple-touch-icon.png +0 -0
  73. package/workdocs/assets/decaf-logo.svg +54 -0
  74. package/workdocs/assets/favicon.png +0 -0
  75. package/workdocs/assets/slogans.json +182 -0
  76. package/workdocs/confluence/.markdown-confluence.template.json +6 -0
  77. package/workdocs/confluence/Angular Module.md +5 -0
  78. package/workdocs/drawings/diagram.drawio +24 -0
  79. package/workdocs/prompts/bulk.md +122 -0
  80. package/workdocs/prompts/code.md +47 -0
  81. package/workdocs/prompts/documentation.md +146 -0
  82. package/workdocs/prompts/uml.md +11 -0
  83. package/workdocs/readme-md.json +6 -0
  84. package/workdocs/reports/CHANGELOG.md +12 -0
  85. package/workdocs/reports/DEPENDENCIES.md +213 -0
  86. package/workdocs/reports/RELEASE_NOTES.md +24 -0
  87. package/workdocs/reports/coverage/.gitkeep +0 -0
  88. package/workdocs/reports/coverage/clover.xml +4110 -0
  89. package/workdocs/reports/coverage/coverage-final.json +76 -0
  90. package/workdocs/reports/coverage/lcov-report/base.css +224 -0
  91. package/workdocs/reports/coverage/lcov-report/block-navigation.js +87 -0
  92. package/workdocs/reports/coverage/lcov-report/favicon.png +0 -0
  93. package/workdocs/reports/coverage/lcov-report/index.html +551 -0
  94. package/workdocs/reports/coverage/lcov-report/prettify.css +1 -0
  95. package/workdocs/reports/coverage/lcov-report/prettify.js +2 -0
  96. package/workdocs/reports/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  97. package/workdocs/reports/coverage/lcov-report/sorter.js +210 -0
  98. package/workdocs/reports/coverage/lcov-report/src/app/models/CategoryModel.ts.html +277 -0
  99. package/workdocs/reports/coverage/lcov-report/src/app/models/DemoModel.ts.html +427 -0
  100. package/workdocs/reports/coverage/lcov-report/src/app/models/UserModel.ts.html +226 -0
  101. package/workdocs/reports/coverage/lcov-report/src/app/models/index.html +146 -0
  102. package/workdocs/reports/coverage/lcov-report/src/cli-module.ts.html +502 -0
  103. package/workdocs/reports/coverage/lcov-report/src/environments/environment.ts.html +166 -0
  104. package/workdocs/reports/coverage/lcov-report/src/environments/index.html +116 -0
  105. package/workdocs/reports/coverage/lcov-report/src/index.html +191 -0
  106. package/workdocs/reports/coverage/lcov-report/src/karma-test.ts.html +121 -0
  107. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/card.component.ts.html +625 -0
  108. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/index.html +116 -0
  109. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/component-renderer.component.ts.html +772 -0
  110. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/index.html +116 -0
  111. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/crud-field.component.ts.html +2698 -0
  112. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/index.html +116 -0
  113. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/constants.ts.html +133 -0
  114. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/crud-form.component.ts.html +346 -0
  115. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/index.html +116 -0
  116. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/empty-state.component.ts.html +1264 -0
  117. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/index.html +116 -0
  118. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/fieldset.component.ts.html +2965 -0
  119. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/index.html +116 -0
  120. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/file-upload.component.ts.html +2263 -0
  121. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/index.html +116 -0
  122. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/filter.component.ts.html +2485 -0
  123. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/index.html +116 -0
  124. package/workdocs/reports/coverage/lcov-report/src/lib/components/for-angular-components.module.ts.html +259 -0
  125. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/icon.component.ts.html +358 -0
  126. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/index.html +116 -0
  127. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.html +131 -0
  128. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.ts.html +181 -0
  129. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/index.html +116 -0
  130. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/layout.component.ts.html +943 -0
  131. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/index.html +116 -0
  132. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/list.component.ts.html +4261 -0
  133. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/index.html +116 -0
  134. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/list-item.component.ts.html +1741 -0
  135. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/index.html +116 -0
  136. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/modal.component.ts.html +1984 -0
  137. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/index.html +116 -0
  138. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/model-renderer.component.ts.html +373 -0
  139. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/index.html +116 -0
  140. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/pagination.component.ts.html +1165 -0
  141. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/index.html +116 -0
  142. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/searchbar.component.ts.html +1774 -0
  143. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/index.html +116 -0
  144. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/stepped-form.component.ts.html +1219 -0
  145. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/index.html +116 -0
  146. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/table.component.ts.html +988 -0
  147. package/workdocs/reports/coverage/lcov-report/src/lib/directives/NgxSvgDirective.ts.html +163 -0
  148. package/workdocs/reports/coverage/lcov-report/src/lib/directives/collapsable.directive.ts.html +268 -0
  149. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.html +131 -0
  150. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.ts.html +91 -0
  151. package/workdocs/reports/coverage/lcov-report/src/lib/engine/DynamicModule.ts.html +133 -0
  152. package/workdocs/reports/coverage/lcov-report/src/lib/engine/MediaService.ts.html +142 -0
  153. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxBaseComponent.ts.html +2194 -0
  154. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxComponentDirective.ts.html +3430 -0
  155. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxCrudFormField.ts.html +721 -0
  156. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafComponentDirective.ts.html +1864 -0
  157. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormFieldDirective.ts.html +952 -0
  158. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormService.ts.html +3211 -0
  159. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxEventHandler.ts.html +307 -0
  160. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormDirective.ts.html +1366 -0
  161. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormFieldDirective.ts.html +1960 -0
  162. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormService.ts.html +3004 -0
  163. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxModelPageDirective.ts.html +1672 -0
  164. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxPageDirective.ts.html +748 -0
  165. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxParentComponentDirective.ts.html +775 -0
  166. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderableComponentDirective.ts.html +727 -0
  167. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderingEngine.ts.html +2005 -0
  168. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRepositoryDirective.ts.html +1561 -0
  169. package/workdocs/reports/coverage/lcov-report/src/lib/engine/ValidatorFactory.ts.html +817 -0
  170. package/workdocs/reports/coverage/lcov-report/src/lib/engine/constants.ts.html +1120 -0
  171. package/workdocs/reports/coverage/lcov-report/src/lib/engine/decorators.ts.html +376 -0
  172. package/workdocs/reports/coverage/lcov-report/src/lib/engine/helpers.ts.html +676 -0
  173. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.html +356 -0
  174. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.ts.html +160 -0
  175. package/workdocs/reports/coverage/lcov-report/src/lib/engine/overrides.ts.html +499 -0
  176. package/workdocs/reports/coverage/lcov-report/src/lib/for-angular-common.module.ts.html +298 -0
  177. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.html +131 -0
  178. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.ts.html +121 -0
  179. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/utils.ts.html +1603 -0
  180. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/FakeLoader.ts.html +157 -0
  181. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/Loader.ts.html +826 -0
  182. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.html +146 -0
  183. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.ts.html +91 -0
  184. package/workdocs/reports/coverage/lcov-report/src/lib/index.html +131 -0
  185. package/workdocs/reports/coverage/lcov-report/src/lib/public-apis.ts.html +157 -0
  186. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxFormService.ts.html +3460 -0
  187. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxMediaService.ts.html +1420 -0
  188. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxRouterService.ts.html +1231 -0
  189. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxTranslateService.ts.html +214 -0
  190. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.html +176 -0
  191. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.ts.html +91 -0
  192. package/workdocs/reports/coverage/lcov-report/src/lib/utils/DecafFakerRepository.ts.html +571 -0
  193. package/workdocs/reports/coverage/lcov-report/src/lib/utils/helpers.ts.html +1663 -0
  194. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.html +146 -0
  195. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.ts.html +124 -0
  196. package/workdocs/reports/coverage/lcov-report/src/main.ts.html +100 -0
  197. package/workdocs/reports/coverage/lcov-report/src/polyfills.ts.html +271 -0
  198. package/workdocs/reports/coverage/lcov-report/src/stories/Configure.stories.ts.html +1156 -0
  199. package/workdocs/reports/coverage/lcov-report/src/stories/button.component.ts.html +229 -0
  200. package/workdocs/reports/coverage/lcov-report/src/stories/button.stories.ts.html +235 -0
  201. package/workdocs/reports/coverage/lcov-report/src/stories/crud-field.stories.ts.html +325 -0
  202. package/workdocs/reports/coverage/lcov-report/src/stories/header.stories.ts.html +181 -0
  203. package/workdocs/reports/coverage/lcov-report/src/stories/index.html +281 -0
  204. package/workdocs/reports/coverage/lcov-report/src/stories/list.stories.ts.html +289 -0
  205. package/workdocs/reports/coverage/lcov-report/src/stories/login.page.stories.ts.html +175 -0
  206. package/workdocs/reports/coverage/lcov-report/src/stories/model-renderer.stories.ts.html +259 -0
  207. package/workdocs/reports/coverage/lcov-report/src/stories/page.component.ts.html +331 -0
  208. package/workdocs/reports/coverage/lcov-report/src/stories/page.stories.ts.html +193 -0
  209. package/workdocs/reports/coverage/lcov-report/src/stories/setup.ts.html +127 -0
  210. package/workdocs/reports/coverage/lcov-report/src/stories/utils.ts.html +247 -0
  211. package/workdocs/reports/coverage/lcov-report/src/tests/index.html +116 -0
  212. package/workdocs/reports/coverage/lcov-report/src/tests/karmaErrorParser.ts.html +190 -0
  213. package/workdocs/reports/coverage/lcov-report/src/typings.d.ts.html +88 -0
  214. package/workdocs/reports/coverage/lcov-report/src/zone-flags.ts.html +103 -0
  215. package/workdocs/reports/coverage/lcov.info +7917 -0
  216. package/workdocs/reports/data/.gitkeep +1 -0
  217. package/workdocs/reports/html/.gitkeep +0 -0
  218. package/workdocs/reports/html/jest-html-reporters-attach/test-report/index.js +3 -0
  219. package/workdocs/reports/html/jest-html-reporters-attach/test-report/result.js +1 -0
  220. package/workdocs/reports/html/test-report.html +1 -0
  221. package/workdocs/reports/images/.gitkeep +1 -0
  222. package/workdocs/reports/jest.coverage.config.ts +43 -0
  223. package/workdocs/reports/junit/junit-report.xml +91 -0
  224. package/workdocs/resources/.gitlock +0 -0
  225. package/workdocs/resources/diagram-Actor.png +0 -0
  226. package/workdocs/resources/diagram-banner.png +0 -0
  227. package/workdocs/resources/diagram.png +0 -0
  228. package/workdocs/tutorials/Contributing.md +64 -0
  229. package/workdocs/tutorials/Documentation.md +340 -0
  230. package/workdocs/tutorials/For Developers.md +337 -0
  231. package/workdocs/uml/diagram.puml +11 -0
  232. package/www/1049.10b030f0de36543b.js +1 -0
  233. package/www/1102.67cedfb3e29f0a05.js +1 -0
  234. package/www/1107.6454396befef800d.js +1 -0
  235. package/www/1459.cabc18e941afa5d7.js +1 -0
  236. package/www/1577.5221deebe3501e43.js +1 -0
  237. package/www/2075.b6dc4fbb89dd6afc.js +1 -0
  238. package/www/2348.c4cc27dadbec70ec.js +1 -0
  239. package/www/2375.318d0b24ab346271.js +1 -0
  240. package/www/2415.618d6968ffda319c.js +1 -0
  241. package/www/2460.1d97c6f48b898ee2.js +1 -0
  242. package/www/2560.2e7000dcf80b6b2c.js +1 -0
  243. package/www/2585.dffa5649fffafb44.js +1 -0
  244. package/www/2885.d99b86afd1ff7aa8.js +1 -0
  245. package/www/3162.bbc401f4a5f82460.js +1 -0
  246. package/www/323.f64c512be5c8d797.js +1 -0
  247. package/www/3238.a3e7e8004c6b6667.js +1 -0
  248. package/www/3506.8c03f5589b33a4a6.js +1 -0
  249. package/www/3511.56b7e49bb6c2c936.js +1 -0
  250. package/www/3519.84fbb67dc803f702.js +1 -0
  251. package/www/3675.7ebfdcf145052232.js +1 -0
  252. package/www/3814.765c1794e1be63de.js +1 -0
  253. package/www/3rdpartylicenses.txt +1344 -0
  254. package/www/4171.a974bdbf9c97e4e1.js +1 -0
  255. package/www/4183.41ef1def450a2cc0.js +1 -0
  256. package/www/4406.0b2dd3839b8c1417.js +1 -0
  257. package/www/441.e1031657c7e5f0ff.js +1 -0
  258. package/www/4463.6ad7b857e5f34009.js +1 -0
  259. package/www/4591.42f34534d38b9b31.js +1 -0
  260. package/www/4699.8df8ea9806163d4c.js +1 -0
  261. package/www/5100.ed6483c55a157d67.js +1 -0
  262. package/www/5193.15ea6938534eceb1.js +1 -0
  263. package/www/5197.6733853529768a45.js +1 -0
  264. package/www/5222.8439a641c2c4b1c1.js +1 -0
  265. package/www/5373.d7878f708309f038.js +1 -0
  266. package/www/5467.53f5cce977c2e28b.js +1 -0
  267. package/www/5712.b08cf436ee8145ce.js +1 -0
  268. package/www/5887.3d038f564e925abb.js +1 -0
  269. package/www/5949.37330f20e95dee79.js +1 -0
  270. package/www/6024.c10cc3d1b341c748.js +1 -0
  271. package/www/6433.360fcff952bde822.js +1 -0
  272. package/www/6499.60169da9869db697.js +1 -0
  273. package/www/6521.fab1f34bfe6b8200.js +1 -0
  274. package/www/6631.eaa711da6e0aeed9.js +1 -0
  275. package/www/6717.b4731255038304cd.js +1 -0
  276. package/www/6840.7317cd962ab23932.js +1 -0
  277. package/www/7030.d115d82ca7468a4e.js +1 -0
  278. package/www/7076.cce20ed5c79ff305.js +1 -0
  279. package/www/7179.c0545989ce869b3d.js +1 -0
  280. package/www/7240.69aeb484d78eb24d.js +1 -0
  281. package/www/7372.94c62459e34f7303.js +1 -0
  282. package/www/7402.983a5ecff61e9a5d.js +1 -0
  283. package/www/7428.527ac48035a2f915.js +1 -0
  284. package/www/7676.d7db23d350e4b096.js +1 -0
  285. package/www/770.80af87d5eb0075d3.js +1 -0
  286. package/www/7720.0701576cb9966779.js +1 -0
  287. package/www/7927.ee869d0dc478250a.js +1 -0
  288. package/www/8066.894688fbb2e5c832.js +1 -0
  289. package/www/8193.7f09ecd40b6d42c2.js +1 -0
  290. package/www/8255.158098a6302c91c2.js +1 -0
  291. package/www/8314.596c1ccf26b9c93a.js +1 -0
  292. package/www/8357.c5406b92e6933d7a.js +1 -0
  293. package/www/8477.a3ccc11c25a642d3.js +1 -0
  294. package/www/8487.93b6f7465ae1b7ac.js +1 -0
  295. package/www/8584.b77ad478a5a7ac2a.js +1 -0
  296. package/www/8805.a87413652185ff8f.js +1 -0
  297. package/www/8814.b489a78ae8e926c4.js +1 -0
  298. package/www/8970.234b3db1f97528fe.js +1 -0
  299. package/www/9013.c2e6ba17a915bdd6.js +1 -0
  300. package/www/9073.16c4e42482d55a3c.js +1 -0
  301. package/www/9344.7d2d24b194b794e2.js +1 -0
  302. package/www/9364.9a028036dd89e3e7.js +1 -0
  303. package/www/944.7e4317348c48d4f4.js +1 -0
  304. package/www/964.9a979e1c1aad0f5b.js +1 -0
  305. package/www/9657.8c3589a0aff521c0.js +1 -0
  306. package/www/9956.2d00a2153e9a7799.js +1 -0
  307. package/www/9977.068cd5561462bc99.js +1 -0
  308. package/www/assets/i18n/en.json +210 -0
  309. package/www/assets/i18n/ew/en.json +346 -0
  310. package/www/assets/i18n/pt.json +186 -0
  311. package/www/assets/icons/icon-128.webp +0 -0
  312. package/www/assets/icons/icon-192.webp +0 -0
  313. package/www/assets/icons/icon-256.webp +0 -0
  314. package/www/assets/icons/icon-48.webp +0 -0
  315. package/www/assets/icons/icon-512.webp +0 -0
  316. package/www/assets/icons/icon-72.webp +0 -0
  317. package/www/assets/icons/icon-96.webp +0 -0
  318. package/www/assets/images/angular-logo.svg +45 -0
  319. package/www/assets/images/apple-touch-icon.png +0 -0
  320. package/www/assets/images/decaf-logo-black.svg +22 -0
  321. package/www/assets/images/decaf-logo-contrast.svg +54 -0
  322. package/www/assets/images/decaf-logo-white.svg +22 -0
  323. package/www/assets/images/decaf-logo.svg +54 -0
  324. package/www/assets/images/ew/product.txt +1 -0
  325. package/www/assets/images/favicon-contrast.svg +7 -0
  326. package/www/assets/images/favicon.png +0 -0
  327. package/www/assets/images/favicon.svg +29 -0
  328. package/www/assets/images/icons/document.svg +7 -0
  329. package/www/assets/images/icons/edit.svg +1 -0
  330. package/www/assets/images/icons/logout.svg +4 -0
  331. package/www/assets/images/icons/menu-collapse.svg +5 -0
  332. package/www/assets/images/icons/menu.svg +3 -0
  333. package/www/assets/images/icons/moon-stars.svg +5 -0
  334. package/www/assets/images/icons/trash.svg +1 -0
  335. package/www/cli-module.ts +139 -0
  336. package/www/common.e50b5f8708aca9a5.js +1 -0
  337. package/www/index.html +29 -0
  338. package/www/main.6144bf417dec1977.js +1 -0
  339. package/www/polyfills.4c1e087fffe784e8.js +1 -0
  340. package/www/runtime.d8dcb0932f88fe3c.js +1 -0
  341. package/www/styles.5a3cd83eba16afc9.css +4 -0
  342. package/www/tabler-icons.bfabe54eef86ae62.woff +0 -0
  343. package/www/tabler-icons.d9f65ab9439b4ffc.ttf +0 -0
  344. package/www/tabler-icons.f17d2c3b34a5deaa.woff2 +0 -0
  345. /package/{assets → dist/lib/assets}/i18n/en.json +0 -0
  346. /package/{assets → dist/lib/assets}/i18n/ew/en.json +0 -0
  347. /package/{assets → dist/lib/assets}/i18n/pt.json +0 -0
  348. /package/{assets → dist/lib/assets}/icons/icon-128.webp +0 -0
  349. /package/{assets → dist/lib/assets}/icons/icon-192.webp +0 -0
  350. /package/{assets → dist/lib/assets}/icons/icon-256.webp +0 -0
  351. /package/{assets → dist/lib/assets}/icons/icon-48.webp +0 -0
  352. /package/{assets → dist/lib/assets}/icons/icon-512.webp +0 -0
  353. /package/{assets → dist/lib/assets}/icons/icon-72.webp +0 -0
  354. /package/{assets → dist/lib/assets}/icons/icon-96.webp +0 -0
  355. /package/{assets → dist/lib/assets}/images/angular-logo.svg +0 -0
  356. /package/{assets → dist/lib/assets}/images/apple-touch-icon.png +0 -0
  357. /package/{assets → dist/lib/assets}/images/decaf-logo-black.svg +0 -0
  358. /package/{assets → dist/lib/assets}/images/decaf-logo-contrast.svg +0 -0
  359. /package/{assets → dist/lib/assets}/images/decaf-logo-white.svg +0 -0
  360. /package/{assets → dist/lib/assets}/images/decaf-logo.svg +0 -0
  361. /package/{assets → dist/lib/assets}/images/ew/product.txt +0 -0
  362. /package/{assets → dist/lib/assets}/images/favicon-contrast.svg +0 -0
  363. /package/{assets → dist/lib/assets}/images/favicon.png +0 -0
  364. /package/{assets → dist/lib/assets}/images/favicon.svg +0 -0
  365. /package/{assets → dist/lib/assets}/images/icons/document.svg +0 -0
  366. /package/{assets → dist/lib/assets}/images/icons/edit.svg +0 -0
  367. /package/{assets → dist/lib/assets}/images/icons/logout.svg +0 -0
  368. /package/{assets → dist/lib/assets}/images/icons/menu-collapse.svg +0 -0
  369. /package/{assets → dist/lib/assets}/images/icons/menu.svg +0 -0
  370. /package/{assets → dist/lib/assets}/images/icons/moon-stars.svg +0 -0
  371. /package/{assets → dist/lib/assets}/images/icons/trash.svg +0 -0
  372. /package/{fesm2022 → dist/lib/fesm2022}/decaf-ts-for-angular.mjs +0 -0
  373. /package/{fesm2022 → dist/lib/fesm2022}/decaf-ts-for-angular.mjs.map +0 -0
  374. /package/{index.d.ts → dist/lib/index.d.ts} +0 -0
package/angular.json ADDED
@@ -0,0 +1,274 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3
+ "version": 1,
4
+ "newProjectRoot": "projects",
5
+ "projects": {
6
+ "for-angular": {
7
+ "projectType": "library",
8
+ "root": ".",
9
+ "sourceRoot": "src/lib",
10
+ "prefix": "ngx-decaf",
11
+ "cli": {
12
+ "schematicCollections": ["./schematics"]
13
+ },
14
+ "schematics": {
15
+ "@schematics/angular:component": {
16
+ "style": "scss",
17
+ "standalone": true,
18
+ "path": "src/lib/components"
19
+ },
20
+ "@schematics/angular:service": {
21
+ "path": "src/lib/services"
22
+ },
23
+ "@schematics/angular:directive": {
24
+ "standalone": true,
25
+ "path": "src/lib/directives"
26
+ }
27
+ },
28
+ "architect": {
29
+ "build": {
30
+ "builder": "@angular-devkit/build-angular:ng-packagr",
31
+ "options": {
32
+ "project": "ng-package.json"
33
+ },
34
+ "configurations": {
35
+ "production": {
36
+ "tsConfig": "tsconfig.lib.prod.json"
37
+ },
38
+ "development": {
39
+ "tsConfig": "tsconfig.lib.json"
40
+ }
41
+ },
42
+ "defaultConfiguration": "production"
43
+ },
44
+ "storybook": {
45
+ "builder": "@storybook/angular:start-storybook",
46
+ "options": {
47
+ "configDir": ".storybook",
48
+ "browserTarget": "for-angular:build",
49
+ "compodoc": false,
50
+ "port": 6006,
51
+ "assets": [
52
+ {
53
+ "glob": "**/*",
54
+ "input": "src/assets",
55
+ "output": "assets"
56
+ },
57
+ {
58
+ "glob": "**/*.svg",
59
+ "input": "node_modules/ionicons/dist/ionicons/svg",
60
+ "output": "./svg"
61
+ }
62
+ ],
63
+ "styles": ["src/theme/variables.scss", "src/global.scss"]
64
+ }
65
+ },
66
+ "build-storybook": {
67
+ "builder": "@storybook/angular:build-storybook",
68
+ "options": {
69
+ "configDir": "./.storybook",
70
+ "browserTarget": "for-angular:build",
71
+ "compodoc": false,
72
+ "outputDir": "dist/storybook/for-angular"
73
+ }
74
+ },
75
+ "lint": {
76
+ "builder": "@angular-eslint/builder:lint",
77
+ "options": {
78
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
79
+ }
80
+ }
81
+ }
82
+ },
83
+ "for-angular-app": {
84
+ "projectType": "application",
85
+ "root": "",
86
+ "sourceRoot": "src",
87
+ "prefix": "app",
88
+ "architect": {
89
+ "build": {
90
+ "builder": "@angular-builders/custom-webpack:browser",
91
+ "options": {
92
+ "preserveSymlinks": true,
93
+ "outputPath": "www",
94
+ "index": "src/index.html",
95
+ "main": "src/main.ts",
96
+ "polyfills": ["src/polyfills.ts", "zone.js", "zone.js/testing"],
97
+ "customWebpackConfig": {
98
+ "path": "./webpack.config.js"
99
+ },
100
+
101
+ "tsConfig": "tsconfig.app.json",
102
+ "inlineStyleLanguage": "scss",
103
+ "assets": [
104
+ {
105
+ "glob": "**/*",
106
+ "input": "src/assets",
107
+ "output": "assets"
108
+ },
109
+ {
110
+ "glob": "**/*",
111
+ "input": "src/app/assets",
112
+ "output": "app/assets"
113
+ },
114
+ "src/manifest.webmanifest",
115
+ "src/cli-module.ts",
116
+ "src/lib/**/*"
117
+ ],
118
+ "styles": ["src/global.scss", "src/theme/variables.scss"],
119
+ "serviceWorker": false,
120
+ "ngswConfigPath": "ngsw-config.json"
121
+ },
122
+ "configurations": {
123
+ "production": {
124
+ "budgets": [
125
+ {
126
+ "type": "initial",
127
+ "maximumWarning": "5mb",
128
+ "maximumError": "10mb"
129
+ },
130
+ {
131
+ "type": "anyComponentStyle",
132
+ "maximumWarning": "8kb",
133
+ "maximumError": "16kb"
134
+ }
135
+ ],
136
+ "outputHashing": "all"
137
+ },
138
+ "development": {
139
+ "buildOptimizer": false,
140
+ "optimization": false,
141
+ "vendorChunk": true,
142
+ "extractLicenses": false,
143
+ "sourceMap": true,
144
+ "namedChunks": true
145
+ },
146
+ "ci": {
147
+ "progress": false
148
+ }
149
+ },
150
+ "defaultConfiguration": "production"
151
+ },
152
+ "serve": {
153
+ "builder": "@angular-devkit/build-angular:dev-server",
154
+ "options": {
155
+ "port": 8111
156
+ },
157
+ "configurations": {
158
+ "production": {
159
+ "buildTarget": "for-angular-app:build:production"
160
+ },
161
+ "development": {
162
+ "buildTarget": "for-angular-app:build:development"
163
+ },
164
+ "ci": {}
165
+ },
166
+ "defaultConfiguration": "development"
167
+ },
168
+ "extract-i18n": {
169
+ "builder": "@angular-devkit/build-angular:extract-i18n",
170
+ "options": {
171
+ "buildTarget": "for-angular-app:build"
172
+ }
173
+ },
174
+ "test": {
175
+ "builder": "@angular-devkit/build-angular:karma",
176
+ "options": {
177
+ "main": "src/test.ts",
178
+ "polyfills": "src/polyfills.ts",
179
+ "tsConfig": "tsconfig.spec.json",
180
+ "karmaConfig": "karma.conf.js",
181
+ "inlineStyleLanguage": "scss",
182
+ "assets": [
183
+ {
184
+ "glob": "**/*",
185
+ "input": "src/assets",
186
+ "output": "assets"
187
+ },
188
+ {
189
+ "glob": "**/*.svg",
190
+ "input": "node_modules/ionicons/dist/ionicons/svg",
191
+ "output": "./svg"
192
+ },
193
+ "src/manifest.webmanifest",
194
+ "src/cli-module.ts",
195
+ "src/lib/**/*"
196
+ ],
197
+ "styles": ["src/global.scss", "src/theme/variables.scss"],
198
+ "scripts": []
199
+ },
200
+ "configurations": {
201
+ "ci": {
202
+ "progress": false,
203
+ "watch": false
204
+ }
205
+ }
206
+ },
207
+ "storybook": {
208
+ "builder": "@storybook/angular:start-storybook",
209
+ "options": {
210
+ "configDir": ".storybook",
211
+ "browserTarget": "for-angular-app:build",
212
+ "compodoc": false,
213
+ "port": 6006,
214
+ "assets": [
215
+ {
216
+ "glob": "**/*",
217
+ "input": "src/assets",
218
+ "output": "assets"
219
+ },
220
+ {
221
+ "glob": "**/*.svg",
222
+ "input": "node_modules/ionicons/dist/ionicons/svg",
223
+ "output": "./svg"
224
+ }
225
+ ],
226
+ "styles": ["src/theme/variables.scss", "src/global.scss"]
227
+ }
228
+ },
229
+ "build-storybook": {
230
+ "builder": "@storybook/angular:build-storybook",
231
+ "options": {
232
+ "configDir": "./.storybook",
233
+ "browserTarget": "for-angular-app:build",
234
+ "compodoc": false,
235
+ "outputDir": "dist/storybook/for-angular-app"
236
+ }
237
+ },
238
+ "lint": {
239
+ "builder": "@angular-eslint/builder:lint",
240
+ "options": {
241
+ "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
242
+ }
243
+ }
244
+ }
245
+ }
246
+ },
247
+ "cli": {
248
+ "schematicCollections": ["@ionic/angular-toolkit"],
249
+ "analytics": false
250
+ },
251
+ "schematics": {
252
+ "@ionic/angular-toolkit:component": {
253
+ "styleext": "scss",
254
+ "path": "src/app/components",
255
+ "standalone": true
256
+ },
257
+ "@ionic/angular-toolkit:page": {
258
+ "styleext": "scss",
259
+ "path": "src/app/pages",
260
+ "standalone": true,
261
+ "schematicCollections": ".schematics"
262
+ },
263
+ "@schematics/angular:service": {
264
+ "path": "src/app/services"
265
+ },
266
+ "@schematics/angular:directive": {
267
+ "standalone": true,
268
+ "path": "src/app/directives"
269
+ },
270
+ "@schematics/angular:pipe": {
271
+ "path": "src/app/pipes"
272
+ }
273
+ }
274
+ }
package/bs-config.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "port": 8122,
3
+ "files": ["./src/**/*.{html,htm,css,js}"],
4
+ "server": { "baseDir": "./www" }
5
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-module.js","sourceRoot":"","sources":["src/cli-module.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,SAAgB,OAAO;IACrB,OAAO,IAAI,mBAAO,EAAE;SACjB,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CACT,6CAA6C,IAAI,aAAa,IAAI,EAAE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AATD,0BASC"}
@@ -0,0 +1,22 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Creates and returns a Command object for the Angular CLI module in decaf-ts.
4
+ * This function sets up a 'generate' command that can create various Angular artifacts.
5
+ *
6
+ * @returns {Command} A Command object configured with the 'generate' subcommand and its action.
7
+ *
8
+ * The command syntax is: generate <type> <name> [project]
9
+ * @param {Types} type - The type of artifact to generate (e.g., service, component, directive, page).
10
+ * @param {string} name - The name of the artifact to be generated.
11
+ * @param {Projects} [project=Projects.FOR_ANGULAR] - The project for which to generate the artifact.
12
+ * Defaults to the main Angular project if not specified.
13
+ *
14
+ * @throws {Error} If an invalid type is provided.
15
+ *
16
+ * @example
17
+ * // Usage in CLI
18
+ * // decaf-ts generate service my-service
19
+ * // decaf-ts generate component my-component for-angular-app
20
+ */
21
+ export default function angular(): Command;
22
+ //# sourceMappingURL=cli-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-module.d.ts","sourceRoot":"","sources":["../../../src/cli-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,YA+B9B"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = angular;
4
+ const commander_1 = require("commander");
5
+ const utils_1 = require("@decaf-ts/utils");
6
+ const logging_1 = require("@decaf-ts/logging");
7
+ var Projects;
8
+ (function (Projects) {
9
+ Projects["FOR_ANGULAR"] = "for-angular";
10
+ Projects["FOR_ANGULAR_APP"] = "for-angular-app";
11
+ Projects["LIB"] = "lib";
12
+ Projects["APP"] = "app";
13
+ })(Projects || (Projects = {}));
14
+ ;
15
+ var Types;
16
+ (function (Types) {
17
+ Types["PAGE"] = "page";
18
+ Types["SERVICE"] = "service";
19
+ Types["COMPONENT"] = "component";
20
+ Types["DIRECTIVE"] = "directive";
21
+ Types["SCHEMATICS"] = "schematics";
22
+ })(Types || (Types = {}));
23
+ ;
24
+ const logger = logging_1.Logging.for("for-angular-cli");
25
+ /**
26
+ * Creates and returns a Command object for the Angular CLI module in decaf-ts.
27
+ * This function sets up a 'generate' command that can create various Angular artifacts.
28
+ *
29
+ * @returns {Command} A Command object configured with the 'generate' subcommand and its action.
30
+ *
31
+ * The command syntax is: generate <type> <name> [project]
32
+ * @param {Types} type - The type of artifact to generate (e.g., service, component, directive, page).
33
+ * @param {string} name - The name of the artifact to be generated.
34
+ * @param {Projects} [project=Projects.FOR_ANGULAR] - The project for which to generate the artifact.
35
+ * Defaults to the main Angular project if not specified.
36
+ *
37
+ * @throws {Error} If an invalid type is provided.
38
+ *
39
+ * @example
40
+ * // Usage in CLI
41
+ * // decaf-ts generate service my-service
42
+ * // decaf-ts generate component my-component for-angular-app
43
+ */
44
+ function angular() {
45
+ return new commander_1.Command()
46
+ .name('decaf generate')
47
+ .command('generate <type> <name> [project]')
48
+ .description(`decaf-ts Angular CLI module`)
49
+ .action(async (type, name, project = Projects.FOR_ANGULAR) => {
50
+ if (!validateType(type))
51
+ return logger.error(`${type} is not valid. Use service, component or directive.`);
52
+ if (type === Types.SCHEMATICS)
53
+ return await generateSchematics();
54
+ if (type === Types.PAGE) {
55
+ logger.info(`Pages can be only generate for app. Forcing project to: ${Projects.FOR_ANGULAR_APP}`);
56
+ project = Projects.FOR_ANGULAR_APP;
57
+ }
58
+ project = parseProjectName(project);
59
+ if (!validateProject(project))
60
+ project = Projects.FOR_ANGULAR;
61
+ const command = project === Projects.FOR_ANGULAR_APP ?
62
+ 'ionic generate' : `ng generate --project=${Projects.FOR_ANGULAR} --path=src/lib/${type}s`;
63
+ try {
64
+ const result = await execute(`${command} ${type} ${name}`);
65
+ logger.info(result);
66
+ }
67
+ catch (error) {
68
+ logger.error(error?.message || error);
69
+ }
70
+ });
71
+ }
72
+ async function generateSchematics() {
73
+ return Promise.all([
74
+ execute(`npm link schematics`),
75
+ execute(`cd schematics`),
76
+ execute(`npm install`),
77
+ execute(`npm run build`),
78
+ execute(`npx schematics .:schematics --name=decaf`)
79
+ ])
80
+ .then(res => res)
81
+ .catch(error => error);
82
+ }
83
+ /**
84
+ * Executes a shell command asynchronously.
85
+ *
86
+ * @param command - The shell command to execute.
87
+ * @returns A Promise that resolves with the command's stdout output as a string if successful,
88
+ * or rejects with an error message if the command fails or produces stderr output.
89
+ */
90
+ async function execute(command) {
91
+ try {
92
+ return await (0, utils_1.runCommand)(command).promise;
93
+ }
94
+ catch (error) {
95
+ logger.error(error?.message || error);
96
+ }
97
+ }
98
+ /**
99
+ * Parses and normalizes the project name input.
100
+ *
101
+ * @param value - The input project name to be parsed.
102
+ * Can be 'app', 'lib', or any other string value.
103
+ * @returns A normalized string representation of the project name.
104
+ * Returns 'for-angular-app' if input is 'app',
105
+ * 'for-angular' if input is 'lib',
106
+ * or the lowercase version of the input for any other value.
107
+ */
108
+ function parseProjectName(value) {
109
+ return (value === Projects.APP ?
110
+ Projects.FOR_ANGULAR_APP : value === Projects.LIB ?
111
+ Projects.FOR_ANGULAR : value).toLowerCase();
112
+ }
113
+ /**
114
+ * Validates if the given type value is a valid enum member of Types.
115
+ *
116
+ * @param value - The type value to validate.
117
+ * @returns A boolean indicating whether the value is a valid Types enum member.
118
+ */
119
+ function validateType(value) {
120
+ return Object.values(Types).includes(value);
121
+ }
122
+ /**
123
+ * Validates if the given project value is a valid enum member of Projects.
124
+ *
125
+ * @param value - The project value to validate.
126
+ * @returns A boolean indicating whether the value is a valid Projects enum member.
127
+ */
128
+ function validateProject(value) {
129
+ return Object.values(Projects).includes(value);
130
+ }
131
+ //# sourceMappingURL=cli-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../../../src/cli-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ ![Banner](./workdocs/assets/decaf-logo.svg)
2
+
3
+ # Decaf's Angular Module
4
+
5
+ > Release docs refreshed on 2025-11-26. See [workdocs/reports/RELEASE_NOTES.md](./workdocs/reports/RELEASE_NOTES.md) for ticket summaries.
6
+
7
+ ![Licence](https://img.shields.io/github/license/decaf-ts/for-angular.svg?style=plastic)
8
+ ![GitHub language count](https://img.shields.io/github/languages/count/decaf-ts/for-angular?style=plastic)
9
+ ![GitHub top language](https://img.shields.io/github/languages/top/decaf-ts/for-angular?style=plastic)
10
+
11
+ [![Build & Test](https://github.com/decaf-ts/for-angular/actions/workflows/nodejs-build-prod.yaml/badge.svg)](https://github.com/decaf-ts/for-angular/actions/workflows/nodejs-build-prod.yaml)
12
+ [![CodeQL](https://github.com/decaf-ts/for-angular/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/decaf-ts/for-angular/actions/workflows/codeql-analysis.yml)[![Snyk Analysis](https://github.com/decaf-ts/for-angular/actions/workflows/snyk-analysis.yaml/badge.svg)](https://github.com/decaf-ts/for-angular/actions/workflows/snyk-analysis.yaml)
13
+ [![Pages builder](https://github.com/decaf-ts/for-angular/actions/workflows/pages.yaml/badge.svg)](https://github.com/decaf-ts/for-angular/actions/workflows/pages.yaml)
14
+ [![.github/workflows/release-on-tag.yaml](https://github.com/decaf-ts/for-angular/actions/workflows/release-on-tag.yaml/badge.svg?event=release)](https://github.com/decaf-ts/for-angular/actions/workflows/release-on-tag.yaml)
15
+
16
+ ![Open Issues](https://img.shields.io/github/issues/decaf-ts/for-angular.svg)
17
+ ![Closed Issues](https://img.shields.io/github/issues-closed/decaf-ts/for-angular.svg)
18
+ ![Pull Requests](https://img.shields.io/github/issues-pr-closed/decaf-ts/for-angular.svg)
19
+ ![Maintained](https://img.shields.io/badge/Maintained%3F-yes-green.svg)
20
+
21
+ ![Line Coverage](workdocs/reports/coverage/badge-lines.svg)
22
+ ![Function Coverage](workdocs/reports/coverage/badge-functions.svg)
23
+ ![Statement Coverage](workdocs/reports/coverage/badge-statements.svg)
24
+ ![Branch Coverage](workdocs/reports/coverage/badge-branches.svg)
25
+
26
+
27
+ ![Forks](https://img.shields.io/github/forks/decaf-ts/for-angular.svg)
28
+ ![Stars](https://img.shields.io/github/stars/decaf-ts/for-angular.svg)
29
+ ![Watchers](https://img.shields.io/github/watchers/decaf-ts/for-angular.svg)
30
+
31
+ ![Node Version](https://img.shields.io/badge/dynamic/json.svg?url=https%3A%2F%2Fraw.githubusercontent.com%2Fbadges%2Fshields%2Fmaster%2Fpackage.json&label=Node&query=$.engines.node&colorB=blue)
32
+ ![NPM Version](https://img.shields.io/badge/dynamic/json.svg?url=https%3A%2F%2Fraw.githubusercontent.com%2Fbadges%2Fshields%2Fmaster%2Fpackage.json&label=NPM&query=$.engines.npm&colorB=purple)
33
+
34
+ Documentation available [here](https://decaf-ts.github.io/for-angular/)
35
+
36
+ Minimal size: unknown kb gzipped
37
+
38
+
39
+ ### Description
40
+
41
+ A very versatile persistence layer. from smart contracts, Digital wallets or just regular database access
42
+
43
+
44
+
45
+ ### How to Use
46
+
47
+ - [Initial Setup](./workdocs/tutorials/For%20Developers.md#_initial-setup_)
48
+ - [Installation](./workdocs/tutorials/For%20Developers.md#installation)
49
+
50
+
51
+
52
+
53
+ ## Coding Principles
54
+
55
+ - group similar functionality in folders (analog to namespaces but without any namespace declaration)
56
+ - one class per file;
57
+ - one interface per file (unless interface is just used as a type);
58
+ - group types as other interfaces in a types.ts file per folder;
59
+ - group constants or enums in a constants.ts file per folder;
60
+ - group decorators in a decorators.ts file per folder;
61
+ - always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages);
62
+ - prefer the usage of established design patters where applicable:
63
+ - Singleton (can be an anti-pattern. use with care);
64
+ - factory;
65
+ - observer;
66
+ - strategy;
67
+ - builder;
68
+ - etc;
69
+
70
+ ## Release Documentation Hooks
71
+ Stay aligned with the automated release pipeline by reviewing [Release Notes](./workdocs/reports/RELEASE_NOTES.md) and [Dependencies](./workdocs/reports/DEPENDENCIES.md) after trying these recipes (updated on 2025-11-26).
72
+
73
+
74
+ ### Related
75
+
76
+ [![decaf-ts](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=decaf-ts)](https://github.com/decaf-ts/decaf-ts)
77
+ [![ui-decorators](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=ui-decorators)](https://github.com/decaf-ts/ui-decorators)
78
+ [![styles](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=styles)](https://github.com/decaf-ts/styles)
79
+ [![decorator-validation](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=decorator-validation)](https://github.com/decaf-ts/decorator-validation)
80
+ [![db-decorators](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=db-decorators)](https://github.com/decaf-ts/db-decorators)
81
+
82
+
83
+ ### Social
84
+
85
+ [![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/decaf-ts/)
86
+
87
+
88
+
89
+
90
+ #### Languages
91
+
92
+ ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
93
+ ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black)
94
+ ![NodeJS](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white)
95
+ ![ShellScript](https://img.shields.io/badge/Shell_Script-121011?style=for-the-badge&logo=gnu-bash&logoColor=white)
96
+
97
+ ## Getting help
98
+
99
+ If you have bug reports, questions or suggestions please [create a new issue](https://github.com/decaf-ts/ts-workspace/issues/new/choose).
100
+
101
+ ## Contributing
102
+
103
+ I am grateful for any contributions made to this project. Please read [this](./workdocs/98-Contributing.md) to get started.
104
+
105
+ ## Supporting
106
+
107
+ The first and easiest way you can support it is by [Contributing](./workdocs/98-Contributing.md). Even just finding a typo in the documentation is important.
108
+
109
+ Financial support is always welcome and helps keep both me and the project alive and healthy.
110
+
111
+ So if you can, if this project in any way. either by learning something or simply by helping you save precious time, please consider donating.
112
+
113
+ ## License
114
+
115
+ This project is licensed under the Mozilla Public License 2.0 (MPL-2.0). See `./LICENSE.md` for a Fair Usage Addendum that explains when AGPL-3.0 applies (automated AI/Decaf MCP code generation and non-deterministic UI generation).
116
+
117
+ By developers, for developers...
@@ -0,0 +1,101 @@
1
+ import eslint from '@eslint/js';
2
+ import angular from 'angular-eslint';
3
+ import unusedImports from 'eslint-plugin-unused-imports';
4
+ import tseslint from 'typescript-eslint';
5
+ // import Ajv from 'ajv/dist/ajv.bundle.js';
6
+
7
+ // new Ajv({ missingRefs: 'ignore' });
8
+ export default tseslint.config(
9
+ {
10
+ ignores: [
11
+ '.vscode/*',
12
+ 'tests/**',
13
+ '**/*.spec.*',
14
+ '**/cli-module.*',
15
+ 'src/tests/**',
16
+ 'src/app/**',
17
+ 'src/stories/**/*.ts',
18
+ 'src/polyfills.ts',
19
+ 'src/zone-flags.ts',
20
+ ],
21
+ },
22
+ {
23
+ files: ['**/*.ts'],
24
+ languageOptions: {
25
+ parserOptions: {
26
+ project: './tsconfig.json',
27
+ },
28
+ },
29
+
30
+ extends: [
31
+ eslint.configs.recommended,
32
+ ...tseslint.configs.recommended,
33
+ ...tseslint.configs.stylistic,
34
+ ...angular.configs.tsRecommended,
35
+ ],
36
+ processor: angular.processInlineTemplates,
37
+ plugins: {
38
+ 'unused-imports': unusedImports,
39
+ },
40
+ rules: {
41
+ 'prefer-const': 'warn',
42
+ '@typescript-eslint/no-explicit-any': 'warn',
43
+ 'no-useless-constructor': 'off',
44
+ '@typescript-eslint/no-useless-constructor': 'warn',
45
+ '@typescript-eslint/no-inferrable-types': 'off',
46
+ '@typescript-eslint/no-empty-function': 'warn',
47
+
48
+ '@angular-eslint/no-empty-lifecycle-method': 'warn',
49
+ '@angular-eslint/prefer-inject': 'warn',
50
+ '@angular-eslint/component-class-suffix': ['error', { suffixes: ['Page', 'Component'] }],
51
+ '@angular-eslint/directive-selector': [
52
+ 'error',
53
+ {
54
+ type: 'attribute',
55
+ prefix: ['ngx-decaf', ''],
56
+ style: 'kebab-case',
57
+ },
58
+ ],
59
+ '@angular-eslint/component-selector': [
60
+ 'error',
61
+ {
62
+ type: 'element',
63
+ prefix: ['app', 'for-angular', 'decaf', 'ngx-decaf'],
64
+ style: 'kebab-case',
65
+ },
66
+ ],
67
+
68
+ 'unused-imports/no-unused-imports': 'warn',
69
+ 'unused-imports/no-unused-vars': [
70
+ 'warn',
71
+ {
72
+ vars: 'all',
73
+ varsIgnorePattern: '^_',
74
+ args: 'after-used',
75
+ argsIgnorePattern: '^_',
76
+ },
77
+ ],
78
+
79
+ '@typescript-eslint/no-unused-vars': 'warn',
80
+ },
81
+ },
82
+
83
+ // regras para tipos
84
+ {
85
+ files: ['**/*.ts', '**/*.spec.ts'],
86
+ rules: {
87
+ 'unused-imports/no-unused-imports': 'off',
88
+ 'unused-imports/no-unused-vars': 'off',
89
+ '@typescript-eslint/no-unused-vars': 'off',
90
+ },
91
+ // Só ativa este override se o arquivo estiver na mesma pasta que types.ts
92
+ // ou se o caminho contiver "types"
93
+ ignores: ['!**/types.ts', '!**/types/*'],
94
+ },
95
+
96
+ {
97
+ files: ['**/*.html'],
98
+ extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
99
+ rules: {},
100
+ }
101
+ );