@decaf-ts/for-angular 0.1.1 → 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 (375) 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/{fesm2022 → dist/lib/fesm2022}/decaf-ts-for-angular.mjs +93 -109
  16. package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
  17. package/{index.d.ts → dist/lib/index.d.ts} +6 -5
  18. package/eslint.config.mjs +101 -0
  19. package/ionic.config.json +14 -0
  20. package/jest.config.ts +52 -0
  21. package/jest.setup.ts +50 -0
  22. package/karma.conf.js +50 -0
  23. package/ng-package.json +16 -0
  24. package/ngsw-config.json +30 -0
  25. package/package.json +86 -17
  26. package/playwright.config.ts +80 -0
  27. package/resources/favicon.png +0 -0
  28. package/resources/favicon.svg +29 -0
  29. package/resources/icon-background.png +0 -0
  30. package/resources/icon-foreground.png +0 -0
  31. package/resources/icon-only.png +0 -0
  32. package/resources/icon-only.svg +29 -0
  33. package/resources/splash-dark.png +0 -0
  34. package/resources/splash-dark2.png +0 -0
  35. package/resources/splash.png +0 -0
  36. package/resources/splash2.png +0 -0
  37. package/resources/touch-icon.svg +29 -0
  38. package/schematics/README.md +28 -0
  39. package/schematics/collection.json +20 -0
  40. package/schematics/package-lock.json +1501 -0
  41. package/schematics/package.json +37 -0
  42. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +0 -0
  43. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +3 -0
  44. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +40 -0
  45. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +37 -0
  46. package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template +14 -0
  47. package/schematics/src/component/index.js +146 -0
  48. package/schematics/src/component/schema.js +2 -0
  49. package/schematics/src/component/schema.json +101 -0
  50. package/schematics/src/page/files/__name@dasherize__.page.html.template +15 -0
  51. package/schematics/src/page/files/__name@dasherize__.page.scss.template +0 -0
  52. package/schematics/src/page/files/__name@dasherize__.page.ts.template +19 -0
  53. package/schematics/src/page/index.js +71 -0
  54. package/schematics/src/page/schema.json +87 -0
  55. package/schematics/src/schematics/index.js +11 -0
  56. package/schematics/src/schematics/index_spec.js +13 -0
  57. package/schematics/src/util/ast-util.js +517 -0
  58. package/schematics/src/util/change.js +96 -0
  59. package/schematics/src/util/index.js +14 -0
  60. package/settings.json +112 -0
  61. package/tsconfig.app.json +22 -0
  62. package/tsconfig.cli.json +82 -0
  63. package/tsconfig.lib.json +14 -0
  64. package/tsconfig.lib.prod.json +10 -0
  65. package/tsconfig.spec.json +22 -0
  66. package/webpack.config.js +10 -0
  67. package/workdocs/1-Header.md +5 -0
  68. package/workdocs/2-Badges.md +30 -0
  69. package/workdocs/4-Description.md +4 -0
  70. package/workdocs/5-HowToUse.md +27 -0
  71. package/workdocs/6-Related.md +7 -0
  72. package/workdocs/7-Social.md +5 -0
  73. package/workdocs/99-Footer.md +28 -0
  74. package/workdocs/Readme.md +12 -0
  75. package/workdocs/assets/apple-touch-icon.png +0 -0
  76. package/workdocs/assets/decaf-logo.svg +54 -0
  77. package/workdocs/assets/favicon.png +0 -0
  78. package/workdocs/assets/slogans.json +182 -0
  79. package/workdocs/confluence/.markdown-confluence.template.json +6 -0
  80. package/workdocs/confluence/Angular Module.md +5 -0
  81. package/workdocs/drawings/diagram.drawio +24 -0
  82. package/workdocs/prompts/bulk.md +122 -0
  83. package/workdocs/prompts/code.md +47 -0
  84. package/workdocs/prompts/documentation.md +146 -0
  85. package/workdocs/prompts/uml.md +11 -0
  86. package/workdocs/readme-md.json +6 -0
  87. package/workdocs/reports/CHANGELOG.md +12 -0
  88. package/workdocs/reports/DEPENDENCIES.md +213 -0
  89. package/workdocs/reports/RELEASE_NOTES.md +24 -0
  90. package/workdocs/reports/coverage/.gitkeep +0 -0
  91. package/workdocs/reports/coverage/clover.xml +4110 -0
  92. package/workdocs/reports/coverage/coverage-final.json +76 -0
  93. package/workdocs/reports/coverage/lcov-report/base.css +224 -0
  94. package/workdocs/reports/coverage/lcov-report/block-navigation.js +87 -0
  95. package/workdocs/reports/coverage/lcov-report/favicon.png +0 -0
  96. package/workdocs/reports/coverage/lcov-report/index.html +551 -0
  97. package/workdocs/reports/coverage/lcov-report/prettify.css +1 -0
  98. package/workdocs/reports/coverage/lcov-report/prettify.js +2 -0
  99. package/workdocs/reports/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  100. package/workdocs/reports/coverage/lcov-report/sorter.js +210 -0
  101. package/workdocs/reports/coverage/lcov-report/src/app/models/CategoryModel.ts.html +277 -0
  102. package/workdocs/reports/coverage/lcov-report/src/app/models/DemoModel.ts.html +427 -0
  103. package/workdocs/reports/coverage/lcov-report/src/app/models/UserModel.ts.html +226 -0
  104. package/workdocs/reports/coverage/lcov-report/src/app/models/index.html +146 -0
  105. package/workdocs/reports/coverage/lcov-report/src/cli-module.ts.html +502 -0
  106. package/workdocs/reports/coverage/lcov-report/src/environments/environment.ts.html +166 -0
  107. package/workdocs/reports/coverage/lcov-report/src/environments/index.html +116 -0
  108. package/workdocs/reports/coverage/lcov-report/src/index.html +191 -0
  109. package/workdocs/reports/coverage/lcov-report/src/karma-test.ts.html +121 -0
  110. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/card.component.ts.html +625 -0
  111. package/workdocs/reports/coverage/lcov-report/src/lib/components/card/index.html +116 -0
  112. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/component-renderer.component.ts.html +772 -0
  113. package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/index.html +116 -0
  114. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/crud-field.component.ts.html +2698 -0
  115. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/index.html +116 -0
  116. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/constants.ts.html +133 -0
  117. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/crud-form.component.ts.html +346 -0
  118. package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/index.html +116 -0
  119. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/empty-state.component.ts.html +1264 -0
  120. package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/index.html +116 -0
  121. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/fieldset.component.ts.html +2965 -0
  122. package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/index.html +116 -0
  123. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/file-upload.component.ts.html +2263 -0
  124. package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/index.html +116 -0
  125. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/filter.component.ts.html +2485 -0
  126. package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/index.html +116 -0
  127. package/workdocs/reports/coverage/lcov-report/src/lib/components/for-angular-components.module.ts.html +259 -0
  128. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/icon.component.ts.html +358 -0
  129. package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/index.html +116 -0
  130. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.html +131 -0
  131. package/workdocs/reports/coverage/lcov-report/src/lib/components/index.ts.html +181 -0
  132. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/index.html +116 -0
  133. package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/layout.component.ts.html +943 -0
  134. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/index.html +116 -0
  135. package/workdocs/reports/coverage/lcov-report/src/lib/components/list/list.component.ts.html +4261 -0
  136. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/index.html +116 -0
  137. package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/list-item.component.ts.html +1741 -0
  138. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/index.html +116 -0
  139. package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/modal.component.ts.html +1984 -0
  140. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/index.html +116 -0
  141. package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/model-renderer.component.ts.html +373 -0
  142. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/index.html +116 -0
  143. package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/pagination.component.ts.html +1165 -0
  144. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/index.html +116 -0
  145. package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/searchbar.component.ts.html +1774 -0
  146. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/index.html +116 -0
  147. package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/stepped-form.component.ts.html +1219 -0
  148. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/index.html +116 -0
  149. package/workdocs/reports/coverage/lcov-report/src/lib/components/table/table.component.ts.html +988 -0
  150. package/workdocs/reports/coverage/lcov-report/src/lib/directives/NgxSvgDirective.ts.html +163 -0
  151. package/workdocs/reports/coverage/lcov-report/src/lib/directives/collapsable.directive.ts.html +268 -0
  152. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.html +131 -0
  153. package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.ts.html +91 -0
  154. package/workdocs/reports/coverage/lcov-report/src/lib/engine/DynamicModule.ts.html +133 -0
  155. package/workdocs/reports/coverage/lcov-report/src/lib/engine/MediaService.ts.html +142 -0
  156. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxBaseComponent.ts.html +2194 -0
  157. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxComponentDirective.ts.html +3430 -0
  158. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxCrudFormField.ts.html +721 -0
  159. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafComponentDirective.ts.html +1864 -0
  160. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormFieldDirective.ts.html +952 -0
  161. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormService.ts.html +3211 -0
  162. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxEventHandler.ts.html +307 -0
  163. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormDirective.ts.html +1366 -0
  164. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormFieldDirective.ts.html +1960 -0
  165. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormService.ts.html +3004 -0
  166. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxModelPageDirective.ts.html +1672 -0
  167. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxPageDirective.ts.html +748 -0
  168. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxParentComponentDirective.ts.html +775 -0
  169. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderableComponentDirective.ts.html +727 -0
  170. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderingEngine.ts.html +2005 -0
  171. package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRepositoryDirective.ts.html +1561 -0
  172. package/workdocs/reports/coverage/lcov-report/src/lib/engine/ValidatorFactory.ts.html +817 -0
  173. package/workdocs/reports/coverage/lcov-report/src/lib/engine/constants.ts.html +1120 -0
  174. package/workdocs/reports/coverage/lcov-report/src/lib/engine/decorators.ts.html +376 -0
  175. package/workdocs/reports/coverage/lcov-report/src/lib/engine/helpers.ts.html +676 -0
  176. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.html +356 -0
  177. package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.ts.html +160 -0
  178. package/workdocs/reports/coverage/lcov-report/src/lib/engine/overrides.ts.html +499 -0
  179. package/workdocs/reports/coverage/lcov-report/src/lib/for-angular-common.module.ts.html +298 -0
  180. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.html +131 -0
  181. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.ts.html +121 -0
  182. package/workdocs/reports/coverage/lcov-report/src/lib/helpers/utils.ts.html +1603 -0
  183. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/FakeLoader.ts.html +157 -0
  184. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/Loader.ts.html +826 -0
  185. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.html +146 -0
  186. package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.ts.html +91 -0
  187. package/workdocs/reports/coverage/lcov-report/src/lib/index.html +131 -0
  188. package/workdocs/reports/coverage/lcov-report/src/lib/public-apis.ts.html +157 -0
  189. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxFormService.ts.html +3460 -0
  190. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxMediaService.ts.html +1420 -0
  191. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxRouterService.ts.html +1231 -0
  192. package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxTranslateService.ts.html +214 -0
  193. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.html +176 -0
  194. package/workdocs/reports/coverage/lcov-report/src/lib/services/index.ts.html +91 -0
  195. package/workdocs/reports/coverage/lcov-report/src/lib/utils/DecafFakerRepository.ts.html +571 -0
  196. package/workdocs/reports/coverage/lcov-report/src/lib/utils/helpers.ts.html +1663 -0
  197. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.html +146 -0
  198. package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.ts.html +124 -0
  199. package/workdocs/reports/coverage/lcov-report/src/main.ts.html +100 -0
  200. package/workdocs/reports/coverage/lcov-report/src/polyfills.ts.html +271 -0
  201. package/workdocs/reports/coverage/lcov-report/src/stories/Configure.stories.ts.html +1156 -0
  202. package/workdocs/reports/coverage/lcov-report/src/stories/button.component.ts.html +229 -0
  203. package/workdocs/reports/coverage/lcov-report/src/stories/button.stories.ts.html +235 -0
  204. package/workdocs/reports/coverage/lcov-report/src/stories/crud-field.stories.ts.html +325 -0
  205. package/workdocs/reports/coverage/lcov-report/src/stories/header.stories.ts.html +181 -0
  206. package/workdocs/reports/coverage/lcov-report/src/stories/index.html +281 -0
  207. package/workdocs/reports/coverage/lcov-report/src/stories/list.stories.ts.html +289 -0
  208. package/workdocs/reports/coverage/lcov-report/src/stories/login.page.stories.ts.html +175 -0
  209. package/workdocs/reports/coverage/lcov-report/src/stories/model-renderer.stories.ts.html +259 -0
  210. package/workdocs/reports/coverage/lcov-report/src/stories/page.component.ts.html +331 -0
  211. package/workdocs/reports/coverage/lcov-report/src/stories/page.stories.ts.html +193 -0
  212. package/workdocs/reports/coverage/lcov-report/src/stories/setup.ts.html +127 -0
  213. package/workdocs/reports/coverage/lcov-report/src/stories/utils.ts.html +247 -0
  214. package/workdocs/reports/coverage/lcov-report/src/tests/index.html +116 -0
  215. package/workdocs/reports/coverage/lcov-report/src/tests/karmaErrorParser.ts.html +190 -0
  216. package/workdocs/reports/coverage/lcov-report/src/typings.d.ts.html +88 -0
  217. package/workdocs/reports/coverage/lcov-report/src/zone-flags.ts.html +103 -0
  218. package/workdocs/reports/coverage/lcov.info +7917 -0
  219. package/workdocs/reports/data/.gitkeep +1 -0
  220. package/workdocs/reports/html/.gitkeep +0 -0
  221. package/workdocs/reports/html/jest-html-reporters-attach/test-report/index.js +3 -0
  222. package/workdocs/reports/html/jest-html-reporters-attach/test-report/result.js +1 -0
  223. package/workdocs/reports/html/test-report.html +1 -0
  224. package/workdocs/reports/images/.gitkeep +1 -0
  225. package/workdocs/reports/jest.coverage.config.ts +43 -0
  226. package/workdocs/reports/junit/junit-report.xml +91 -0
  227. package/workdocs/resources/.gitlock +0 -0
  228. package/workdocs/resources/diagram-Actor.png +0 -0
  229. package/workdocs/resources/diagram-banner.png +0 -0
  230. package/workdocs/resources/diagram.png +0 -0
  231. package/workdocs/tutorials/Contributing.md +64 -0
  232. package/workdocs/tutorials/Documentation.md +340 -0
  233. package/workdocs/tutorials/For Developers.md +337 -0
  234. package/workdocs/uml/diagram.puml +11 -0
  235. package/www/1049.10b030f0de36543b.js +1 -0
  236. package/www/1102.67cedfb3e29f0a05.js +1 -0
  237. package/www/1107.6454396befef800d.js +1 -0
  238. package/www/1459.cabc18e941afa5d7.js +1 -0
  239. package/www/1577.5221deebe3501e43.js +1 -0
  240. package/www/2075.b6dc4fbb89dd6afc.js +1 -0
  241. package/www/2348.c4cc27dadbec70ec.js +1 -0
  242. package/www/2375.318d0b24ab346271.js +1 -0
  243. package/www/2415.618d6968ffda319c.js +1 -0
  244. package/www/2460.1d97c6f48b898ee2.js +1 -0
  245. package/www/2560.2e7000dcf80b6b2c.js +1 -0
  246. package/www/2585.dffa5649fffafb44.js +1 -0
  247. package/www/2885.d99b86afd1ff7aa8.js +1 -0
  248. package/www/3162.bbc401f4a5f82460.js +1 -0
  249. package/www/323.f64c512be5c8d797.js +1 -0
  250. package/www/3238.a3e7e8004c6b6667.js +1 -0
  251. package/www/3506.8c03f5589b33a4a6.js +1 -0
  252. package/www/3511.56b7e49bb6c2c936.js +1 -0
  253. package/www/3519.84fbb67dc803f702.js +1 -0
  254. package/www/3675.7ebfdcf145052232.js +1 -0
  255. package/www/3814.765c1794e1be63de.js +1 -0
  256. package/www/3rdpartylicenses.txt +1344 -0
  257. package/www/4171.a974bdbf9c97e4e1.js +1 -0
  258. package/www/4183.41ef1def450a2cc0.js +1 -0
  259. package/www/4406.0b2dd3839b8c1417.js +1 -0
  260. package/www/441.e1031657c7e5f0ff.js +1 -0
  261. package/www/4463.6ad7b857e5f34009.js +1 -0
  262. package/www/4591.42f34534d38b9b31.js +1 -0
  263. package/www/4699.8df8ea9806163d4c.js +1 -0
  264. package/www/5100.ed6483c55a157d67.js +1 -0
  265. package/www/5193.15ea6938534eceb1.js +1 -0
  266. package/www/5197.6733853529768a45.js +1 -0
  267. package/www/5222.8439a641c2c4b1c1.js +1 -0
  268. package/www/5373.d7878f708309f038.js +1 -0
  269. package/www/5467.53f5cce977c2e28b.js +1 -0
  270. package/www/5712.b08cf436ee8145ce.js +1 -0
  271. package/www/5887.3d038f564e925abb.js +1 -0
  272. package/www/5949.37330f20e95dee79.js +1 -0
  273. package/www/6024.c10cc3d1b341c748.js +1 -0
  274. package/www/6433.360fcff952bde822.js +1 -0
  275. package/www/6499.60169da9869db697.js +1 -0
  276. package/www/6521.fab1f34bfe6b8200.js +1 -0
  277. package/www/6631.eaa711da6e0aeed9.js +1 -0
  278. package/www/6717.b4731255038304cd.js +1 -0
  279. package/www/6840.7317cd962ab23932.js +1 -0
  280. package/www/7030.d115d82ca7468a4e.js +1 -0
  281. package/www/7076.cce20ed5c79ff305.js +1 -0
  282. package/www/7179.c0545989ce869b3d.js +1 -0
  283. package/www/7240.69aeb484d78eb24d.js +1 -0
  284. package/www/7372.94c62459e34f7303.js +1 -0
  285. package/www/7402.983a5ecff61e9a5d.js +1 -0
  286. package/www/7428.527ac48035a2f915.js +1 -0
  287. package/www/7676.d7db23d350e4b096.js +1 -0
  288. package/www/770.80af87d5eb0075d3.js +1 -0
  289. package/www/7720.0701576cb9966779.js +1 -0
  290. package/www/7927.ee869d0dc478250a.js +1 -0
  291. package/www/8066.894688fbb2e5c832.js +1 -0
  292. package/www/8193.7f09ecd40b6d42c2.js +1 -0
  293. package/www/8255.158098a6302c91c2.js +1 -0
  294. package/www/8314.596c1ccf26b9c93a.js +1 -0
  295. package/www/8357.c5406b92e6933d7a.js +1 -0
  296. package/www/8477.a3ccc11c25a642d3.js +1 -0
  297. package/www/8487.93b6f7465ae1b7ac.js +1 -0
  298. package/www/8584.b77ad478a5a7ac2a.js +1 -0
  299. package/www/8805.a87413652185ff8f.js +1 -0
  300. package/www/8814.b489a78ae8e926c4.js +1 -0
  301. package/www/8970.234b3db1f97528fe.js +1 -0
  302. package/www/9013.c2e6ba17a915bdd6.js +1 -0
  303. package/www/9073.16c4e42482d55a3c.js +1 -0
  304. package/www/9344.7d2d24b194b794e2.js +1 -0
  305. package/www/9364.9a028036dd89e3e7.js +1 -0
  306. package/www/944.7e4317348c48d4f4.js +1 -0
  307. package/www/964.9a979e1c1aad0f5b.js +1 -0
  308. package/www/9657.8c3589a0aff521c0.js +1 -0
  309. package/www/9956.2d00a2153e9a7799.js +1 -0
  310. package/www/9977.068cd5561462bc99.js +1 -0
  311. package/www/assets/i18n/en.json +210 -0
  312. package/www/assets/i18n/ew/en.json +346 -0
  313. package/www/assets/i18n/pt.json +186 -0
  314. package/www/assets/icons/icon-128.webp +0 -0
  315. package/www/assets/icons/icon-192.webp +0 -0
  316. package/www/assets/icons/icon-256.webp +0 -0
  317. package/www/assets/icons/icon-48.webp +0 -0
  318. package/www/assets/icons/icon-512.webp +0 -0
  319. package/www/assets/icons/icon-72.webp +0 -0
  320. package/www/assets/icons/icon-96.webp +0 -0
  321. package/www/assets/images/angular-logo.svg +45 -0
  322. package/www/assets/images/apple-touch-icon.png +0 -0
  323. package/www/assets/images/decaf-logo-black.svg +22 -0
  324. package/www/assets/images/decaf-logo-contrast.svg +54 -0
  325. package/www/assets/images/decaf-logo-white.svg +22 -0
  326. package/www/assets/images/decaf-logo.svg +54 -0
  327. package/www/assets/images/ew/product.txt +1 -0
  328. package/www/assets/images/favicon-contrast.svg +7 -0
  329. package/www/assets/images/favicon.png +0 -0
  330. package/www/assets/images/favicon.svg +29 -0
  331. package/www/assets/images/icons/document.svg +7 -0
  332. package/www/assets/images/icons/edit.svg +1 -0
  333. package/www/assets/images/icons/logout.svg +4 -0
  334. package/www/assets/images/icons/menu-collapse.svg +5 -0
  335. package/www/assets/images/icons/menu.svg +3 -0
  336. package/www/assets/images/icons/moon-stars.svg +5 -0
  337. package/www/assets/images/icons/trash.svg +1 -0
  338. package/www/cli-module.ts +139 -0
  339. package/www/common.e50b5f8708aca9a5.js +1 -0
  340. package/www/index.html +29 -0
  341. package/www/main.6144bf417dec1977.js +1 -0
  342. package/www/polyfills.4c1e087fffe784e8.js +1 -0
  343. package/www/runtime.d8dcb0932f88fe3c.js +1 -0
  344. package/www/styles.5a3cd83eba16afc9.css +4 -0
  345. package/www/tabler-icons.bfabe54eef86ae62.woff +0 -0
  346. package/www/tabler-icons.d9f65ab9439b4ffc.ttf +0 -0
  347. package/www/tabler-icons.f17d2c3b34a5deaa.woff2 +0 -0
  348. package/fesm2022/decaf-ts-for-angular.mjs.map +0 -1
  349. /package/{assets → dist/lib/assets}/i18n/en.json +0 -0
  350. /package/{assets → dist/lib/assets}/i18n/ew/en.json +0 -0
  351. /package/{assets → dist/lib/assets}/i18n/pt.json +0 -0
  352. /package/{assets → dist/lib/assets}/icons/icon-128.webp +0 -0
  353. /package/{assets → dist/lib/assets}/icons/icon-192.webp +0 -0
  354. /package/{assets → dist/lib/assets}/icons/icon-256.webp +0 -0
  355. /package/{assets → dist/lib/assets}/icons/icon-48.webp +0 -0
  356. /package/{assets → dist/lib/assets}/icons/icon-512.webp +0 -0
  357. /package/{assets → dist/lib/assets}/icons/icon-72.webp +0 -0
  358. /package/{assets → dist/lib/assets}/icons/icon-96.webp +0 -0
  359. /package/{assets → dist/lib/assets}/images/angular-logo.svg +0 -0
  360. /package/{assets → dist/lib/assets}/images/apple-touch-icon.png +0 -0
  361. /package/{assets → dist/lib/assets}/images/decaf-logo-black.svg +0 -0
  362. /package/{assets → dist/lib/assets}/images/decaf-logo-contrast.svg +0 -0
  363. /package/{assets → dist/lib/assets}/images/decaf-logo-white.svg +0 -0
  364. /package/{assets → dist/lib/assets}/images/decaf-logo.svg +0 -0
  365. /package/{assets → dist/lib/assets}/images/ew/product.txt +0 -0
  366. /package/{assets → dist/lib/assets}/images/favicon-contrast.svg +0 -0
  367. /package/{assets → dist/lib/assets}/images/favicon.png +0 -0
  368. /package/{assets → dist/lib/assets}/images/favicon.svg +0 -0
  369. /package/{assets → dist/lib/assets}/images/icons/document.svg +0 -0
  370. /package/{assets → dist/lib/assets}/images/icons/edit.svg +0 -0
  371. /package/{assets → dist/lib/assets}/images/icons/logout.svg +0 -0
  372. /package/{assets → dist/lib/assets}/images/icons/menu-collapse.svg +0 -0
  373. /package/{assets → dist/lib/assets}/images/icons/menu.svg +0 -0
  374. /package/{assets → dist/lib/assets}/images/icons/moon-stars.svg +0 -0
  375. /package/{assets → dist/lib/assets}/images/icons/trash.svg +0 -0
@@ -15,8 +15,8 @@ import * as i1 from '@angular/common';
15
15
  import { Location } from '@angular/common';
16
16
  import { Router } from '@angular/router';
17
17
  import { OverlayBaseController } from '@ionic/angular/common';
18
- import { Observable, Subject, Subscription } from 'rxjs';
19
18
  import { HttpClient } from '@angular/common/http';
19
+ import { Observable, Subject, Subscription } from 'rxjs';
20
20
  import * as i3 from '@ngx-translate/core';
21
21
  import { InterpolationParameters, Translation, InterpolatableTranslationObject, TranslateLoader, TranslationObject, TranslateParser, RootTranslateServiceConfig } from '@ngx-translate/core';
22
22
  import { Title, SafeHtml, DomSanitizer } from '@angular/platform-browser';
@@ -1167,11 +1167,13 @@ declare class NgxRepositoryDirective<M extends Model> extends DecafComponent<M>
1167
1167
  * @type {Observer}
1168
1168
  */
1169
1169
  protected repositoryObserver: Observer;
1170
+ protected destroySubscriptions$: Subject<void>;
1170
1171
  initialize(): Promise<void>;
1171
1172
  set context(context: DecafRepository<M>);
1172
1173
  from(repository: IRepository<M>): NgxRepositoryDirective<M>;
1173
1174
  get repository(): DecafRepository<M>;
1174
1175
  refresh(model?: unknown): Promise<void>;
1176
+ observe(): void;
1175
1177
  protected buildCondition(attr?: keyof M): Condition<M>;
1176
1178
  read(uid: PrimaryKeyType): Promise<M>;
1177
1179
  delete(data: PrimaryKeyType | PrimaryKeyType[] | M[], pk: PrimaryKeyType): Promise<void>;
@@ -1614,7 +1616,6 @@ declare abstract class NgxComponentDirective extends NgxRepositoryDirective<Mode
1614
1616
  * @default WindowColorSchemes.light
1615
1617
  */
1616
1618
  protected colorSchema: WindowColorScheme;
1617
- protected destroySubscriptions$: Subject<void>;
1618
1619
  /**
1619
1620
  * @description Constructor for NgxComponentDirective.
1620
1621
  * @summary Initializes the directive by setting up the component name, locale root,
@@ -5954,7 +5955,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5954
5955
  * @returns {Promise<void>}
5955
5956
  * @memberOf ListComponent
5956
5957
  */
5957
- handleObserveEvent(clazz: UIFunctionLike, event: OperationKeys, uid: string | number): Promise<void>;
5958
+ handleObserveEvent<M extends Model>(data: M, constructor: UIFunctionLike, event: OperationKeys, uid: string | number): Promise<void>;
5958
5959
  /**
5959
5960
  * @description Function for tracking items in the list.
5960
5961
  * @summary Provides a tracking function for the `*ngFor` directive in the component template.
@@ -5978,7 +5979,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5978
5979
  * @param {string | number} uid - The ID of the item to create.
5979
5980
  * @returns {Promise<void>} A promise that resolves when the item is created and added to the list.
5980
5981
  */
5981
- handleCreate(uid: string | number): Promise<void>;
5982
+ handleCreate(data: Model, uid: string | number): Promise<void>;
5982
5983
  /**
5983
5984
  * @description Handles the update event from the repository.
5984
5985
  * @summary Updates the list item with the specified ID based on the new data.
@@ -5988,7 +5989,7 @@ declare class ListComponent extends NgxComponentDirective implements OnInit, OnD
5988
5989
  * @private
5989
5990
  * @memberOf ListComponent
5990
5991
  */
5991
- handleUpdate(uid: string | number): Promise<void>;
5992
+ handleUpdate(item: Model, uid: string | number): Promise<void>;
5992
5993
  /**
5993
5994
  * @description Removes an item from the list by ID.
5994
5995
  * @summary Filters out an item with the specified ID from the data array and
@@ -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
+ );
@@ -0,0 +1,14 @@
1
+
2
+ {
3
+ "defaultProject": "for-angular-app",
4
+ "projects": {
5
+ "for-angular-app": {
6
+ "name": "@decaf-ts/for-angular-app",
7
+ "type": "angular",
8
+ "root": ".",
9
+ "integrations": {
10
+ "capacitor": {}
11
+ }
12
+ }
13
+ }
14
+ }
package/jest.config.ts ADDED
@@ -0,0 +1,52 @@
1
+ import type { Config } from 'jest';
2
+
3
+ const config: Config = {
4
+ preset: 'jest-preset-angular',
5
+ setupFilesAfterEnv: ['<rootDir>/jest.setup.ts'],
6
+ testEnvironment: 'jsdom',
7
+ testPathIgnorePatterns: ['/tests/playwright'],
8
+ modulePathIgnorePatterns: ['/dist', 'src/app'],
9
+
10
+ // Transform settings
11
+ transform: {
12
+ '^.+\\.(ts|js|mjs|html|svg)$': [
13
+ 'jest-preset-angular',
14
+ {
15
+ tsconfig: '<rootDir>/tsconfig.spec.json',
16
+ stringifyContentPathRegex: '\\.(html|svg)$',
17
+ // isolatedModules: true,
18
+ useESM: true,
19
+ },
20
+ ],
21
+ },
22
+
23
+ // Module handling
24
+ moduleNameMapper: {
25
+ '^src/lib/engine/(.*)$': '<rootDir>/src/lib/engine/$1',
26
+ '^src/lib/helpers/(.*)$': '<rootDir>/src/lib/helpers/$1',
27
+ '^src/lib/(.*)$': '<rootDir>/src/lib/$1',
28
+ '^lodash-es$': 'lodash',
29
+ '^ionicons/components/ion-icon.js$': '@ionic/core/components/ion-icon.js'
30
+ },
31
+
32
+ // Critical for Ionic/Stencil modules
33
+ transformIgnorePatterns: [
34
+ 'node_modules/(?!.*\\.mjs$|@ionic/core|@stencil|@ionic/angular|ionicons)',
35
+ ],
36
+
37
+ // Other settings
38
+ verbose: true,
39
+ collectCoverage: false,
40
+ coverageDirectory: './workdocs/reports/coverage',
41
+ collectCoverageFrom: ['src/**/*.{js,jsx,ts,tsx}', '!src/bin/**/*'],
42
+ reporters: ['default'],
43
+ moduleFileExtensions: ['ts', 'tsx', 'mjs', 'js', 'jsx', 'json', 'node', 'html'],
44
+ resolver: 'jest-preset-angular/build/resolvers/ng-jest-resolver.js',
45
+ snapshotSerializers: [
46
+ 'jest-preset-angular/build/serializers/no-ng-attributes',
47
+ 'jest-preset-angular/build/serializers/ng-snapshot',
48
+ 'jest-preset-angular/build/serializers/html-comment',
49
+ ],
50
+ };
51
+
52
+ export default config;
package/jest.setup.ts ADDED
@@ -0,0 +1,50 @@
1
+ // import 'jest-preset-angular/setup-jest'; // deprecated
2
+ import { TextDecoder, TextEncoder } from 'util';
3
+ import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
4
+
5
+ setupZoneTestEnv();
6
+
7
+ // Jest + Ionic
8
+ Object.defineProperty(window, 'CSS', { value: null });
9
+
10
+ // Mocking window.matchMedia
11
+ Object.defineProperty(window, 'matchMedia', {
12
+ writable: true,
13
+ value: jest.fn().mockImplementation(query => ({
14
+ matches: false,
15
+ media: query,
16
+ onchange: null,
17
+ addListener: jest.fn(), // obsoleto
18
+ removeListener: jest.fn(), // obsoleto
19
+ addEventListener: jest.fn(),
20
+ removeEventListener: jest.fn(),
21
+ dispatchEvent: jest.fn(),
22
+ })),
23
+ });
24
+
25
+ // JSDOM: https://thymikee.github.io/jest-preset-angular/docs/getting-started/installation/#customizing
26
+ Object.defineProperty(document, 'doctype', {
27
+ value: '<!DOCTYPE html>',
28
+ });
29
+
30
+ Object.defineProperty(window, 'getComputedStyle', {
31
+ value: () => ({
32
+ display: 'none',
33
+ appearance: ['-webkit-appearance'],
34
+ }),
35
+ });
36
+
37
+ /**
38
+ * Workaround for JSDOM missing transform property
39
+ */
40
+ Object.defineProperty(document.body.style, 'transform', {
41
+ value: () => {
42
+ return {
43
+ enumerable: true,
44
+ configurable: true,
45
+ };
46
+ },
47
+ });
48
+
49
+ (global as Record<string, unknown>)['TextEncoder'] = TextEncoder;
50
+ (global as Record<string, unknown>)['TextDecoder'] = TextDecoder;
package/karma.conf.js ADDED
@@ -0,0 +1,50 @@
1
+ // Karma configuration file, see link for more information
2
+ // https://karma-runner.github.io/1.0/config/configuration-file.html
3
+
4
+ module.exports = function (config) {
5
+ config.set({
6
+ basePath: "",
7
+ frameworks: ["jasmine", "@angular-devkit/build-angular"],
8
+ files: ['src/lib/**/*.spec.ts'],
9
+ plugins: [
10
+ require("karma-jasmine"),
11
+ require("karma-chrome-launcher"),
12
+ require("karma-jasmine-html-reporter"),
13
+ require("karma-coverage"),
14
+ require("@angular-devkit/build-angular/plugins/karma"),
15
+ ],
16
+ client: {
17
+ jasmine: {
18
+ // you can add configuration options for Jasmine here
19
+ // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
20
+ // for example, you can disable the random execution with `random: false`
21
+ // or set a specific seed with `seed: 4321`
22
+ },
23
+ },
24
+ jasmineHtmlReporter: {
25
+ suppressAll: true, // removes the duplicated traces
26
+ },
27
+ coverageReporter: {
28
+ dir: require("path").join(__dirname, "workdocs", "reports", "coverage"),
29
+ subdir: ".",
30
+ reporters: [
31
+ { type: 'html' },
32
+ { type: 'text-summary' },
33
+ { type: 'lcovonly' }
34
+ ],
35
+ },
36
+ reporters: ["progress", "kjhtml"],
37
+ colors: true,
38
+ logLevel: config.LOG_INFO,
39
+ autoWatch: true,
40
+ browsers: ["ChromeHeadless", "Chrome"],
41
+ customLaunchers: {
42
+ ChromeHeadlessCI: {
43
+ base: "ChromeHeadless",
44
+ flags: ["--no-sandbox"],
45
+ },
46
+ },
47
+ singleRun: true,
48
+ restartOnFileChange: true,
49
+ });
50
+ };
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "./dist/lib",
4
+ "lib": {
5
+ "entryFile": "src/lib/public-apis.ts",
6
+ "styleIncludePaths": ["./src/assets"]
7
+ },
8
+ "inlineStyleLanguage": "scss",
9
+ "assets": [
10
+ {
11
+ "glob": "**/*",
12
+ "input": "src/assets",
13
+ "output": "assets"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "./node_modules/@angular/service-worker/config/schema.json",
3
+ "index": "/index.html",
4
+ "assetGroups": [
5
+ {
6
+ "name": "app",
7
+ "installMode": "prefetch",
8
+ "resources": {
9
+ "files": [
10
+ "/favicon.ico",
11
+ "/index.html",
12
+ "/manifest.webmanifest",
13
+ "/*.css",
14
+ "/*.js"
15
+ ]
16
+ }
17
+ },
18
+ {
19
+ "name": "assets",
20
+ "installMode": "lazy",
21
+ "updateMode": "prefetch",
22
+ "resources": {
23
+ "files": [
24
+ "/assets/**",
25
+ "/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)"
26
+ ]
27
+ }
28
+ }
29
+ ]
30
+ }
package/package.json CHANGED
@@ -1,6 +1,59 @@
1
1
  {
2
2
  "name": "@decaf-ts/for-angular",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
+ "scripts": {
5
+ "ng": "ng",
6
+ "start": "npx rimraf .angular && ng run for-angular-app:serve --host=localhost --port=8110",
7
+ "decaf": "npx decaf angular generate",
8
+ "schematics": "schematics",
9
+ "do-install": "NPM_TOKEN=$(cat .npmtoken) npm install",
10
+ "update-scripts": "npx update-scripts",
11
+ "on-first-run": "npx update-scripts --boot",
12
+ "set-git-auth": "git config url.\"https://api:$(cat .token)@github.com/\".insteadOf \"https://github.com/\" && git config url.\"https://ssh:$(cat .token)@github.com/\".insteadOf \"ssh://git@github.com/\" && git config url.\"https://git:$(cat .token)@github.com/\".insteadOf \"git@github.com:\"",
13
+ "flash-forward": "npx npm-check-updates -u && npm run do-install",
14
+ "update-dependencies": "NPM_TOKEN=$(cat .npmtoken) PREFIX=\"decaf-ts\"; npm ls | grep \"$PREFIX\" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update --force @\"$PREFIX\"/package && ng cache clean",
15
+ "update-decaf": "NPM_TOKEN=$(cat .npmtoken) PREFIX=\"decaf-ts\"; npm ls | grep \"$PREFIX\" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update @\"$PREFIX\"/package",
16
+ "reset": "rm -rf * && git checkout . && git pull && npm run do-install",
17
+ "build:prod": "npm run lint && ng build for-angular && ng build for-angular-app",
18
+ "build": "npx rimraf .angular && npm run lint && ng build for-angular --configuration development && ng build for-angular-app --configuration development && npm run build:cli",
19
+ "build:cli": "tsc --project tsconfig.cli.json --outDir dist/for-angular/cli",
20
+ "build:schematics": "node ./bin/build-schematics.js",
21
+ "server": "npm run start",
22
+ "watch": "ng build for-angular --watch --configuration development",
23
+ "test": "npm run test:all",
24
+ "test:all": "jest --runInBand --passWithNoTests",
25
+ "test:components": "jest --runInBand --passWithNoTests src/lib/components",
26
+ "test:services": "jest --runInBand --passWithNoTests src/lib/services",
27
+ "lint": "ng lint for-angular",
28
+ "lint-fix": "ng lint --fix",
29
+ "coverage": "npx rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.ts",
30
+ "prepare-pr": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
31
+ "prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
32
+ "release": "./bin/tag-release.sh",
33
+ "clean-publish": "npx clean-publish",
34
+ "drawings": "for FILE in workdocs/drawings/*.drawio; do echo \"converting $FILE to image...\" && docker run --rm -v $(pwd):/data rlespinasse/drawio-export --format png $FILE; done && cp -rf workdocs/drawings/export/* workdocs/resources/",
35
+ "uml": "cd workdocs/uml && for FILE in ./*.puml; do docker run --rm -v $(pwd):/work -w /work miy4/plantuml -DPLANTUML_LIMIT_SIZE=8192 -tpng $FILE; done && cd ../.. && cp -fr workdocs/uml/*.png workdocs/resources/",
36
+ "docs": "npx rimraf ./docs && mkdir docs && npx build-scripts --docs",
37
+ "publish-docs": "docker run -it --rm --user $(id -u):$(id -g) -v \"$(pwd)/workdocs/confluence:/content\" -e ATLASSIAN_API_TOKEN=$(cat .confluence-token) ghcr.io/markdown-confluence/publish:latest",
38
+ "storybook": "ng run for-angular:storybook --debug-webpack",
39
+ "storybook:build": "ng run for-angular:build-storybook",
40
+ "playwright": "npx playwright test --config=./playwright.config.ts",
41
+ "playwright-ui": "npx playwright test --config=./playwright.config.ts --ui",
42
+ "playwright-setup": "npm init playwright@latest",
43
+ "increase:fs:watches": "sudo sysctl -n -w fs.inotify.max_user_watches=1048576 && sudo sysctl -n -w fs.inotify.max_user_instances=512",
44
+ "publish": "NPM_TOKEN=$(cat .npmtoken) npm publish ./dist/lib --access public",
45
+ "resources": "npm run resources:pwa",
46
+ "resources:android": "npx capacitor-assets generate --android --assetPath='resources' && npm run resources",
47
+ "resources:ios": "npx capacitor-assets generate --ios --assetPath='resources' && npm run resources",
48
+ "resources:pwa": "npx capacitor-assets generate --pwa --assetPath='resources' --pwaManifestPath='src/manifest.webmanifest'",
49
+ "repo:init": "codex exec \"$(cat ./.codex/prompts/repo-setup.md)\nbase_path is `./`, initialize the repository\"",
50
+ "repo:setup": "codex exec \"$(cat ./.codex/prompts/repo-setup.md)\nbase_path is ./\"",
51
+ "repo:doc": "codex exec \"$(cat ./.codex/prompts/doc.md) $(cat ./.codex/prompts/bulk-docs.md)\nbase_path is ./\"",
52
+ "repo:tests": "codex exec \"$(cat ./.codex/prompts/bulk-tests.md)\nbase_path is ./ and coverage is 95%\" -s workspace-write",
53
+ "repo:readme": "codex exec \"$(cat ./.codex/prompts/update-readme.md)\nbase_path is ./\"",
54
+ "repo:pr": "npm run repo:doc && npm run repo:tests && npm run repo:readme",
55
+ "sync-codex": "./bin/sync-codex.sh"
56
+ },
4
57
  "author": "Tiago Venceslau and Contributors",
5
58
  "license": "MPL-2.0 OR AGPL-3.0",
6
59
  "repository": {
@@ -11,6 +64,37 @@
11
64
  "node": ">=20.0.0",
12
65
  "npm": ">=10.0.0"
13
66
  },
67
+ "devDependencies": {
68
+ "@angular-devkit/schematics": "^20.2.0",
69
+ "@angular-devkit/schematics-cli": "^20.2.0",
70
+ "@angular-eslint/builder": "^20.5.0",
71
+ "@angular-eslint/schematics": "^20.2.0",
72
+ "@angular/cli": "^20.3.9",
73
+ "@angular/compiler-cli": "^20.3.9",
74
+ "@decaf-ts/cli": "latest",
75
+ "@decaf-ts/utils": "latest",
76
+ "@faker-js/faker": "^9.9.0",
77
+ "@playwright/test": "^1.54.1",
78
+ "@storybook/addon-docs": "9.1.5",
79
+ "@storybook/addon-onboarding": "9.1.5",
80
+ "@storybook/angular": "9.1.5",
81
+ "@types/bwip-js": "^3.2.3",
82
+ "@types/jest": "^30.0.0",
83
+ "@types/node": "^22.15.24",
84
+ "ajv": "^6.14.0",
85
+ "angular-eslint": "^20.2.0",
86
+ "eslint": "^9.29.0",
87
+ "eslint-plugin-storybook": "9.1.5",
88
+ "eslint-plugin-unused-imports": "^4.4.1",
89
+ "ffmpeg-static": "5.2.0",
90
+ "jest-preset-angular": "^14.6.0",
91
+ "ng-packagr": "^20.3.0",
92
+ "storybook": "^9.1.17",
93
+ "ts-node": "^10.9.2",
94
+ "tslib": "^2.3.0",
95
+ "typescript": "~5.8.3",
96
+ "typescript-eslint": "8.34.1"
97
+ },
14
98
  "peerDependencies": {
15
99
  "@angular-builders/custom-webpack": "^20.0.0",
16
100
  "@angular/animations": "^20.3.16",
@@ -54,20 +138,5 @@
54
138
  "browser": {
55
139
  "worker_threads": false,
56
140
  "node:worker_threads": false
57
- },
58
- "module": "fesm2022/decaf-ts-for-angular.mjs",
59
- "typings": "index.d.ts",
60
- "exports": {
61
- "./package.json": {
62
- "default": "./package.json"
63
- },
64
- ".": {
65
- "types": "./index.d.ts",
66
- "default": "./fesm2022/decaf-ts-for-angular.mjs"
67
- }
68
- },
69
- "sideEffects": false,
70
- "dependencies": {
71
- "tslib": "^2.3.0"
72
141
  }
73
- }
142
+ }
@@ -0,0 +1,80 @@
1
+ import { defineConfig, devices } from '@playwright/test';
2
+
3
+ /**
4
+ * Read environment variables from file.
5
+ * https://github.com/motdotla/dotenv
6
+ */
7
+ // import dotenv from 'dotenv';
8
+ // import path from 'path';
9
+ // dotenv.config({ path: path.resolve(__dirname, '.env') });
10
+
11
+ /**
12
+ * See https://playwright.dev/docs/test-configuration.
13
+ */
14
+ export default defineConfig({
15
+ testDir: './tests/playwright',
16
+ /* Run tests in files in parallel */
17
+ fullyParallel: true,
18
+ /* Fail the build on CI if you accidentally left test.only in the source code. */
19
+ forbidOnly: !!process.env?.['CI'],
20
+ /* Retry on CI only */
21
+ retries: process.env?.['CI'] ? 2 : 0,
22
+ /* Opt out of parallel tests on CI. */
23
+ workers: process.env?.['CI']? 1 : undefined,
24
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
25
+ reporter: 'html',
26
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
27
+ use: {
28
+ /* Base URL to use in actions like `await page.goto('/')`. */
29
+ // baseURL: 'http://localhost:3000',
30
+
31
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
32
+ trace: 'on-first-retry',
33
+ video: 'on',
34
+ },
35
+
36
+ /* Configure projects for major browsers */
37
+ projects: [
38
+ {
39
+ name: 'chromium',
40
+ use: { ...devices['Desktop Chrome'] },
41
+ },
42
+
43
+ // {
44
+ // name: 'firefox',
45
+ // use: { ...devices['Desktop Firefox'] },
46
+ // },
47
+
48
+ // {
49
+ // name: 'webkit',
50
+ // use: { ...devices['Desktop Safari'] },
51
+ // },
52
+
53
+ /* Test against mobile viewports. */
54
+ // {
55
+ // name: 'Mobile Chrome',
56
+ // use: { ...devices['Pixel 5'] },
57
+ // },
58
+ // {
59
+ // name: 'Mobile Safari',
60
+ // use: { ...devices['iPhone 12'] },
61
+ // },
62
+
63
+ /* Test against branded browsers. */
64
+ // {
65
+ // name: 'Microsoft Edge',
66
+ // use: { ...devices['Desktop Edge'], channel: 'msedge' },
67
+ // },
68
+ // {
69
+ // name: 'Google Chrome',
70
+ // use: { ...devices['Desktop Chrome'], channel: 'chrome' },
71
+ // },
72
+ ],
73
+
74
+ /* Run your local dev server before starting the tests */
75
+ // webServer: {
76
+ // command: 'npm run start',
77
+ // url: 'http://localhost:3000',
78
+ // reuseExistingServer: !process.env.CI,
79
+ // },
80
+ });
Binary file