@nathapp/na-cli 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/.gitlab-ci.yml +37 -7
  2. package/Makefile +3 -1
  3. package/README.md +13 -4
  4. package/alias-script.sh +30 -0
  5. package/dist/index.js +106 -147
  6. package/dist/index.js.map +1 -1
  7. package/dist/templates/db-schema/.gitignore-rename +1 -0
  8. package/dist/templates/db-schema/.gitlab-ci.yml +139 -0
  9. package/dist/templates/db-schema/001_Schema.sql +1 -0
  10. package/dist/templates/db-schema/DEV_MODE.txt +1 -0
  11. package/dist/templates/db-schema/Dockerfile +3 -0
  12. package/dist/templates/db-schema/Email-Templates/Individual/README.md +1 -0
  13. package/dist/templates/db-schema/GET_VERSION.sql +47 -0
  14. package/dist/templates/db-schema/Makefile +885 -0
  15. package/dist/templates/db-schema/README.md +117 -0
  16. package/dist/templates/db-schema/SET_VERSION.sql +5 -0
  17. package/dist/templates/db-schema/docker-compose.yaml +47 -0
  18. package/dist/templates/db-schema/package.json +3 -0
  19. package/dist/templates/db-schema/push.sh +0 -0
  20. package/dist/templates/db-schema/samples/899_DB_Grant_User.sql +9 -0
  21. package/dist/templates/db-schema/samples/990_SAMPLE_Init_Data.sql +27 -0
  22. package/dist/templates/k8s-deployment/.gitignore-rename +1 -0
  23. package/dist/templates/k8s-deployment/.gitlab-ci.yml +128 -0
  24. package/dist/templates/k8s-deployment/.helmignore +23 -0
  25. package/dist/templates/k8s-deployment/Chart.yaml +23 -0
  26. package/dist/templates/k8s-deployment/Makefile +196 -0
  27. package/dist/templates/k8s-deployment/README.md +32 -0
  28. package/dist/templates/k8s-deployment/resources/charts/mysql/Chart.yaml +23 -0
  29. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/Chart.yaml +23 -0
  30. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/script/Makefile +12 -0
  31. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/_helpers.tpl +62 -0
  32. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/configmap.yaml +1 -0
  33. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/job.yaml +1 -0
  34. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/templates/secret.yaml +1 -0
  35. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/values.yaml +51 -0
  36. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/_helpers.tpl +62 -0
  37. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/configmap.yaml +1 -0
  38. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/deployment.yaml +1 -0
  39. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/ingress.yaml +1 -0
  40. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/job.yaml +1 -0
  41. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/pv.yaml +1 -0
  42. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/pvc.yaml +1 -0
  43. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/sc.yaml +1 -0
  44. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/secret.yaml +1 -0
  45. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/service.yaml +1 -0
  46. package/dist/templates/k8s-deployment/resources/charts/mysql/templates/statefulset.yaml +1 -0
  47. package/dist/templates/k8s-deployment/resources/charts/mysql/values.yaml +15 -0
  48. package/dist/templates/k8s-deployment/resources/charts/redis/Chart.yaml +23 -0
  49. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/Chart.yaml +23 -0
  50. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/script/Makefile +8 -0
  51. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/_helpers.tpl +62 -0
  52. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/configmap.yaml +1 -0
  53. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/job.yaml +1 -0
  54. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/templates/secret.yaml +1 -0
  55. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/values.yaml +42 -0
  56. package/dist/templates/k8s-deployment/resources/charts/redis/templates/_helpers.tpl +62 -0
  57. package/dist/templates/k8s-deployment/resources/charts/redis/templates/configmap.yaml +1 -0
  58. package/dist/templates/k8s-deployment/resources/charts/redis/templates/deployment.yaml +1 -0
  59. package/dist/templates/k8s-deployment/resources/charts/redis/templates/ingress.yaml +1 -0
  60. package/dist/templates/k8s-deployment/resources/charts/redis/templates/job.yaml +1 -0
  61. package/dist/templates/k8s-deployment/resources/charts/redis/templates/pv.yaml +1 -0
  62. package/dist/templates/k8s-deployment/resources/charts/redis/templates/pvc.yaml +1 -0
  63. package/dist/templates/k8s-deployment/resources/charts/redis/templates/sc.yaml +1 -0
  64. package/dist/templates/k8s-deployment/resources/charts/redis/templates/secret.yaml +1 -0
  65. package/dist/templates/k8s-deployment/resources/charts/redis/templates/service.yaml +1 -0
  66. package/dist/templates/k8s-deployment/resources/charts/redis/templates/statefulset.yaml +1 -0
  67. package/dist/templates/k8s-deployment/resources/charts/redis/values.yaml +12 -0
  68. package/dist/templates/k8s-deployment/services/charts/hooks/Chart.yaml +23 -0
  69. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/Chart.yaml +23 -0
  70. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/Makefile +49 -0
  71. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/_env.yaml +2 -0
  72. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/_helpers.tpl +62 -0
  73. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/configmap.yaml +1 -0
  74. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/job.yaml +1 -0
  75. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/templates/secret.yaml +1 -0
  76. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/values.yaml +36 -0
  77. package/dist/templates/k8s-deployment/services/charts/sample-nginx/Chart.yaml +23 -0
  78. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/_helpers.tpl +62 -0
  79. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/cluster-role-binding.yaml +1 -0
  80. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/configmap.yaml +1 -0
  81. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/cronjob.yaml +1 -0
  82. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/deployment.yaml +1 -0
  83. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/ingress.yaml +1 -0
  84. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/pv.yaml +1 -0
  85. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/pvc.yaml +1 -0
  86. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/sc.yaml +1 -0
  87. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/secret.yaml +1 -0
  88. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/service-account.yaml +1 -0
  89. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/service.yaml +1 -0
  90. package/dist/templates/k8s-deployment/services/charts/sample-nginx/templates/statefulset.yaml +1 -0
  91. package/dist/templates/k8s-deployment/services/charts/sample-nginx/values.yaml +47 -0
  92. package/dist/templates/k8s-deployment/services/charts/tests/Chart.yaml +23 -0
  93. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Chart.yaml +23 -0
  94. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Makefile +9 -0
  95. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/fixtures/index.json +1 -0
  96. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/login-spec.js +47 -0
  97. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/loginEmailWrong-spec.js +14 -0
  98. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/login/loginPasswordWrong-spec.js +14 -0
  99. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/profile/updatePassword-spec.js +15 -0
  100. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/profile/updateProfile-spec.js +25 -0
  101. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/integration/test-script.spec.js +9 -0
  102. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/plugins/index.js +22 -0
  103. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/commands.js +258 -0
  104. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/index.js +35 -0
  105. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress/support/misc.js +8 -0
  106. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/cypress.json +4 -0
  107. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/_helpers.tpl +62 -0
  108. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/configmap.yaml +1 -0
  109. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/pod.yaml +1 -0
  110. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/templates/secret.yaml +1 -0
  111. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/values.yaml +70 -0
  112. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/.helmignore +2 -0
  113. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/Chart.yaml +23 -0
  114. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/script/Makefile +14 -0
  115. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/_helpers.tpl +62 -0
  116. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/configmap.yaml +1 -0
  117. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/pod.yaml +1 -0
  118. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/templates/secret.yaml +1 -0
  119. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/_t-0100-readiness-liveness.ts +84 -0
  120. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/hub.ts +372 -0
  121. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contact.ts +158 -0
  122. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contract.ts +328 -0
  123. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-kyc.ts +304 -0
  124. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-app.ts +823 -0
  125. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-web.ts +493 -0
  126. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-profile.ts +277 -0
  127. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-whitelist.ts +133 -0
  128. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/live.jpg +0 -0
  129. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/mykad_front.jpg +0 -0
  130. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/resources/profile.jpg +0 -0
  131. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/t-0200-start.ts +172 -0
  132. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/values.yaml +59 -0
  133. package/dist/templates/k8s-deployment/templates/_cluster-role-binding.tpl +20 -0
  134. package/dist/templates/k8s-deployment/templates/_configmap.tpl +37 -0
  135. package/dist/templates/k8s-deployment/templates/_cronjob.tpl +225 -0
  136. package/dist/templates/k8s-deployment/templates/_deployment.tpl +246 -0
  137. package/dist/templates/k8s-deployment/templates/_helpers.tpl +31 -0
  138. package/dist/templates/k8s-deployment/templates/_ingress.tpl +77 -0
  139. package/dist/templates/k8s-deployment/templates/_job.tpl +233 -0
  140. package/dist/templates/k8s-deployment/templates/_pod.tpl +214 -0
  141. package/dist/templates/k8s-deployment/templates/_pv.tpl +42 -0
  142. package/dist/templates/k8s-deployment/templates/_pvc.tpl +27 -0
  143. package/dist/templates/k8s-deployment/templates/_root.tpl +314 -0
  144. package/dist/templates/k8s-deployment/templates/_sc.tpl +19 -0
  145. package/dist/templates/k8s-deployment/templates/_secret.tpl +15 -0
  146. package/dist/templates/k8s-deployment/templates/_service-account.tpl +8 -0
  147. package/dist/templates/k8s-deployment/templates/_service.tpl +40 -0
  148. package/dist/templates/k8s-deployment/templates/_statefulset.tpl +244 -0
  149. package/dist/templates/k8s-deployment/templates/root-cm.yaml +10 -0
  150. package/dist/templates/k8s-deployment/templates/root-pull-secret.yaml +11 -0
  151. package/dist/templates/k8s-deployment/templates/root-secret.yaml +24 -0
  152. package/dist/templates/k8s-deployment/values.yaml +38 -0
  153. package/dist/templates/k8s-helm-chart/Chart.yaml +23 -0
  154. package/dist/templates/k8s-helm-chart/templates/_helpers.tpl +62 -0
  155. package/dist/templates/k8s-helm-chart/templates/cluster-role-binding.yaml +1 -0
  156. package/dist/templates/k8s-helm-chart/templates/configmap.yaml +1 -0
  157. package/dist/templates/k8s-helm-chart/templates/cronjob.yaml +1 -0
  158. package/dist/templates/k8s-helm-chart/templates/deployment.yaml +1 -0
  159. package/dist/templates/k8s-helm-chart/templates/ingress.yaml +1 -0
  160. package/dist/templates/k8s-helm-chart/templates/pv.yaml +1 -0
  161. package/dist/templates/k8s-helm-chart/templates/pvc.yaml +1 -0
  162. package/dist/templates/k8s-helm-chart/templates/sc.yaml +1 -0
  163. package/dist/templates/k8s-helm-chart/templates/secret.yaml +1 -0
  164. package/dist/templates/k8s-helm-chart/templates/service-account.yaml +1 -0
  165. package/dist/templates/k8s-helm-chart/templates/service.yaml +1 -0
  166. package/dist/templates/k8s-helm-chart/templates/statefulset.yaml +1 -0
  167. package/dist/templates/k8s-helm-chart/values.yaml +41 -0
  168. package/dist/templates/mxw-base-api-express/.dockerignore +2 -0
  169. package/dist/templates/mxw-base-api-express/.env +10 -0
  170. package/dist/templates/mxw-base-api-express/.gitignore-rename +3 -0
  171. package/dist/templates/mxw-base-api-express/.gitlab-ci.yml +174 -0
  172. package/dist/templates/mxw-base-api-express/.nvmrc +1 -0
  173. package/dist/templates/mxw-base-api-express/Dockerfile +14 -0
  174. package/dist/templates/mxw-base-api-express/Makefile +84 -0
  175. package/dist/templates/mxw-base-api-express/README.md +71 -0
  176. package/dist/templates/mxw-base-api-express/package.json +55 -0
  177. package/dist/templates/mxw-base-api-express/src/app-service.test.ts +94 -0
  178. package/dist/templates/mxw-base-api-express/src/app-service.ts +498 -0
  179. package/dist/templates/mxw-base-api-express/src/auth/auth-user.test.ts +215 -0
  180. package/dist/templates/mxw-base-api-express/src/auth/auth-user.ts +86 -0
  181. package/dist/templates/mxw-base-api-express/src/auth/auth.ts +81 -0
  182. package/dist/templates/mxw-base-api-express/src/core-service.ts +72 -0
  183. package/dist/templates/mxw-base-api-express/src/crud.ts +84 -0
  184. package/dist/templates/mxw-base-api-express/src/http-handler.ts +71 -0
  185. package/dist/templates/mxw-base-api-express/src/server.ts +54 -0
  186. package/dist/templates/mxw-base-api-express/src/test.ts +38 -0
  187. package/dist/templates/mxw-base-api-express/src/utils/api-utilities.ts +52 -0
  188. package/dist/templates/mxw-base-api-express/src/utils/file-utilities.ts +55 -0
  189. package/dist/templates/mxw-base-api-express/tsconfig.json +32 -0
  190. package/dist/templates/nestjs-api/.dockerignore +6 -0
  191. package/dist/templates/nestjs-api/.env +24 -0
  192. package/dist/templates/nestjs-api/.eslintrc.js +25 -0
  193. package/dist/templates/nestjs-api/.gitignore-rename +39 -0
  194. package/dist/templates/nestjs-api/.gitlab-ci.yml +174 -0
  195. package/dist/templates/nestjs-api/.nvmrc +1 -0
  196. package/dist/templates/nestjs-api/.prettierrc +4 -0
  197. package/dist/templates/nestjs-api/Dockerfile +19 -0
  198. package/dist/templates/nestjs-api/Makefile +95 -0
  199. package/dist/templates/nestjs-api/README.md +71 -0
  200. package/dist/templates/nestjs-api/nest-cli.json +11 -0
  201. package/dist/templates/nestjs-api/package.json +81 -0
  202. package/dist/templates/nestjs-api/src/app.controller.spec.ts +22 -0
  203. package/dist/templates/nestjs-api/src/app.controller.ts +27 -0
  204. package/dist/templates/nestjs-api/src/app.module.ts +32 -0
  205. package/dist/templates/nestjs-api/src/app.service.ts +27 -0
  206. package/dist/templates/nestjs-api/src/i18n/en_US/exception.json +12 -0
  207. package/dist/templates/nestjs-api/src/i18n/zh_CN/exception.json +12 -0
  208. package/dist/templates/nestjs-api/src/i18n/zh_TW/exception.json +12 -0
  209. package/dist/templates/nestjs-api/src/main.ts +20 -0
  210. package/dist/templates/nestjs-api/test/app.e2e-spec.ts +24 -0
  211. package/dist/templates/nestjs-api/tsconfig.build.json +4 -0
  212. package/dist/templates/nestjs-api/tsconfig.json +21 -0
  213. package/dist/templates/nestjs-library/.gitignore-rename +39 -0
  214. package/{templates/ts-library → dist/templates/nestjs-library}/.gitlab-ci.yml +27 -5
  215. package/{templates/ts-library → dist/templates/nestjs-library}/.npmignore-rename +8 -1
  216. package/{templates/ts-library → dist/templates/nestjs-library}/Makefile +3 -9
  217. package/dist/templates/nestjs-library/README.md +3 -0
  218. package/dist/templates/nestjs-library/lib/index.ts +2 -0
  219. package/dist/templates/nestjs-library/package.json +50 -0
  220. package/dist/templates/nestjs-library/test/app/controller/hello.controller.ts +7 -0
  221. package/dist/templates/nestjs-library/test/jest-test.json +23 -0
  222. package/{templates/ts-library → dist/templates/nestjs-library}/tsconfig.build.json +3 -0
  223. package/dist/templates/ts-library/.dockerignore +2 -0
  224. package/dist/templates/ts-library/.gitignore-rename +37 -0
  225. package/dist/templates/ts-library/.gitlab-ci.yml +25 -5
  226. package/dist/templates/ts-library/.npmignore-rename +8 -1
  227. package/dist/templates/ts-library/Makefile +5 -13
  228. package/dist/templates/ts-library/package.json +6 -9
  229. package/dist/utils/env.js +146 -0
  230. package/dist/utils/env.js.map +1 -0
  231. package/dist/utils/template.js +362 -1
  232. package/dist/utils/template.js.map +1 -1
  233. package/package.json +6 -2
  234. package/.npm/_cacache/content-v2/sha512/01/56/f0dd42767bd6eaeb8bd2692f409b47e37b53daf296c6a934ec9977da2223299ebe4394385f24eb8b8fd49ff7964f5430147ab0df124f3c30f98f7bb50242 +0 -0
  235. package/.npm/_cacache/content-v2/sha512/02/27/0fac00bb42ed49c4f099f59802665637e508059cda9cfb42ed6d13719d5c384d7be343bdb09ee2fd2507040605e423d24cf0cb13f64690a0772909124e60 +0 -0
  236. package/.npm/_cacache/content-v2/sha512/05/27/8d9f2bacef90b8fff350f6042dd7f72c4d7ca8ffc49bf9a7cb024cc0a6d16e32ca1df4716890636e759a62fe8415ef786754afac47ee4f55131df83afb61 +0 -0
  237. package/.npm/_cacache/content-v2/sha512/08/b3/3c48d303bbb0b9a6c1429fa5a0fed8298ff6ca020ee1736816a9cb91f4e0f916df4f841a48bbc3cb89c3de8acfb10dde985f69dc23c30203ae08f6d7ed20 +0 -0
  238. package/.npm/_cacache/content-v2/sha512/0c/74/295868f240a4878f779b8c523fc1129ca9071d47e328141ca09ed60e672b42a8d7e4776642e004432760d0aa18c7e69f393677778e1509217aeccc55ff24 +0 -0
  239. package/.npm/_cacache/content-v2/sha512/0f/21/4fdc133fdd81d340e0942ffc343991d1d25a4a786af1a2d70759ca8d11d9e5b6a1705d57e110143de1e228df801f429a34ac6922e1cc8889fb58d3a87616 +0 -0
  240. package/.npm/_cacache/content-v2/sha512/0f/61/51d37562afb148bb8e57058db49936fefd9496074d2c8d4f637505edf37803ac8e19b73e45b3bff2cbbe20d8de52550638c58d6a0ebe2b35d770611557d2 +0 -0
  241. package/.npm/_cacache/content-v2/sha512/10/92/db292baf1d3ad54729ce5c26054db40a64e15758d7b7ffa0cdd72ac41f74eeb994f5c7874c4270879df0ab0545221a33badde9c421f681d7b55a465d9de0 +0 -0
  242. package/.npm/_cacache/content-v2/sha512/13/29/094ff4352a34d672da698080207d23b4b4a56e6548e180caf5ee4a93ba6325e807efdc421295e53ba99533a170c54c01d30c2e0d3a81bf67153712f94c3d +0 -0
  243. package/.npm/_cacache/content-v2/sha512/17/1f/904f77c6b52d2393c3af2b22a0001d981cfb2b9aa05170c7930b9019fa5a78bf35ca3cfac5498de22dd82f8c0dc7541908bc978ce89f342d18f1f1b43084 +0 -0
  244. package/.npm/_cacache/content-v2/sha512/17/69/ac95aded69df8c7e1b79709abb2d25dc76e74a4d6095614830ea92c538e1d24ed6658fa496358029f8086ea8b9967413b65f984facb72ef1c54ff1fcb6f3 +0 -0
  245. package/.npm/_cacache/content-v2/sha512/1c/53/3cae467e8b7ceb57ee0b423c10d16f9ecfdf290293063371d4acdd388f70aaccf3b397d9e63f5e58f185cd9bc4071affde69c395123aa1996a64455d0d03 +0 -0
  246. package/.npm/_cacache/content-v2/sha512/21/c8/4d7fa74de2d1e8305227ffb384f0b599d7d63aabfebb0667fabe719112ff1149b0556fd2cf27111c9f0adcc17ea2c52bda886a2898052fbb8612c57ad583 +0 -0
  247. package/.npm/_cacache/content-v2/sha512/27/ba/7ade1462023c35343130c355bb8b7efe07222b3963b95d0400cd9dd539c2f43cdc9bc297e657f374e73140cf043d512c84717eaddd43be2b96aa0503881f +0 -0
  248. package/.npm/_cacache/content-v2/sha512/28/42/258579c8badccac116d090659bfc8e0716a06e532900747803103eb1ab05c97ce3428c5e55a04d1c5c48aeae1dd76aeca0c73783ce0b5752abcb931173cc +0 -0
  249. package/.npm/_cacache/content-v2/sha512/29/99/395d3475766fe4360071f225698e7a3a7d162d01441604e9a3f8ef23ef6e3e9e4d3deeccf87cea0724da4290e254b4752ead99490bb42f4850991db902fb +0 -0
  250. package/.npm/_cacache/content-v2/sha512/2c/32/733d510410f47ecb8f33f7703411dd325dbf29001c865a8fe4e5861d620a58dbfd84b0eb24b09aeaee5387c6bcab54e9f57a31baa00a7c6a1bce2100fcb3 +0 -0
  251. package/.npm/_cacache/content-v2/sha512/30/01/83007cbc7116ad9bde050ddba1245fa2352e7ffe3ad9fcf21f9be418c3d38278381bca61470a133c61522f376cc0af0b117ed2a0137dd07d15af424e033e +0 -0
  252. package/.npm/_cacache/content-v2/sha512/30/49/7dba2aec955c2a414dfaf621cd5995ec23cc9a6581a0fc3eb968e81991ec852701d84b18a57fbad0cd7288ec3743b813eb0576df937b25f6126199de4053 +0 -0
  253. package/.npm/_cacache/content-v2/sha512/31/28/d8cdc58d380d1ec001e9cf4331a5816fc20eb28f2d4d1b7c6d7a8ab3eb8e150a8fd13e09ebd7f186b7e89cde2253cd0f04bb74dd335e126b09d5526184e8 +0 -0
  254. package/.npm/_cacache/content-v2/sha512/34/40/808bac29e8280c7ac1ee55410af09c230af9bfb6f9e7e6909b078d89387a779a0522ccdd276a05eee0712a41906489e18443e8d570c296aa855de820db2d +0 -0
  255. package/.npm/_cacache/content-v2/sha512/36/d5/72b153e4c71af0146514c466217eec7c93bf29401dc9a9805794b45981d194a933b9c14fd4c87a29e69ef48846c6841eeae4a9a26625346372a526b49c13 +0 -0
  256. package/.npm/_cacache/content-v2/sha512/38/ed/291f694ae9ad2166701d6aee48b731cf23aa5496f23b8cc567c54411b70e28c05db093c94e49a6ed1830933f81a0ae0d8c6c69d63bd5fc2b5b78f9f18c0f +0 -0
  257. package/.npm/_cacache/content-v2/sha512/39/ad/8cf5ab6283af5991fc2202963c176632fadccc6dacf2beabf6d51d0db120bc7e5a12382d3d05b4f521358076830642f27f6999d1d4a330771f6dbc79d334 +0 -0
  258. package/.npm/_cacache/content-v2/sha512/39/b3/7a875bf67d32529945e84b79cc43dd8b6c32bd6dee1357ee86fa899094624575c517e6178a8b52d9d589d13088304cb123dc4db86d3ead6278b9d2b9427d +0 -0
  259. package/.npm/_cacache/content-v2/sha512/40/81/101b86324365186460c2e2cacc67b0631ce98d935951d89423e5492705aa64966e961c0f95547ecdfac51d5f703b35e09f185f28e17d52dc0a3b9c07087a +0 -0
  260. package/.npm/_cacache/content-v2/sha512/41/f0/14b5dfaf15d02d150702f020b262dd5f616c52a8088ad9c483eb30c1f0dddca6c10102f471a7dcce1a0e86fd21c7258013f3cfdacff22e0c600bb0d55b1a +0 -0
  261. package/.npm/_cacache/content-v2/sha512/42/35/63c1d5c8b78d3c308880a825f8a142ac814d84a801b3b363e9926e1a4186e39be644584716e127c5353af8b8c35999ad1ecb87f99602eb901d1a5f440ca3 +0 -0
  262. package/.npm/_cacache/content-v2/sha512/45/0b/a5e7011f63b0635a6d2c618f3a72650dfe9717586c95c565fddc314526f72bc5ac79cca96278bc00dd3efbc491b035c656d185ba0981bbd29d66f313c598 +0 -0
  263. package/.npm/_cacache/content-v2/sha512/45/11/023ec8fb8aeff16f9a0a61cb051d2a6914d9ec8ffe763954d129be333f9a275f0545df3566993a0d70e7c60be0910e97cafd4e7ce1f320dfc64709a12529 +0 -0
  264. package/.npm/_cacache/content-v2/sha512/4e/2c/1c45cae4847bdbad96e745c15830b977d037e8bf71caab3a79b4ee5be29b7a1bf49ecca7188660e0d79cd7541b301e672d48040ace7a8d5b62cee6d4c3a3 +0 -0
  265. package/.npm/_cacache/content-v2/sha512/52/00/1bf07f43e350109eefcf6d6942a1f4157275781acd9b0498bd7993f17d4fe182094587748c0cc10d448a9dafb1fa5c59d776892772d141c95b023a8b5357 +0 -0
  266. package/.npm/_cacache/content-v2/sha512/53/1e/328065acbb673b8ac1567bc62ed5896e266a95871a8ad9c2d735003901c0b741f6c636933b7eed18f1bff3d7aa572e7171658bd685dddf84163d0cb982e9 +0 -0
  267. package/.npm/_cacache/content-v2/sha512/53/3f/9d4d7633c575dbb05a4cf3a5a1ddd282c6b42a51c54cc70539e28af09498cea4eddaa3c2fb8f9947f9d59f4f0802c08b8cf4643692f568b736093174c166 +0 -0
  268. package/.npm/_cacache/content-v2/sha512/54/7b/2400a60cf117d2157c1e7b9b7971b3793d97aad56ae1eaa7796e4ca25c87fa51070deb0fc0d1e5ccf6beadf1df8660e87ea3a6618849dbf3c2cdfd8f26db +0 -0
  269. package/.npm/_cacache/content-v2/sha512/55/3d/1923a91945d4e1f18c89c3748c6d89bfbbe36a7ec03112958ed0f7fdb2af3f7bde16c713a93cac7d151d459720ad3950cd390fbc9ed96a17189173eaf9a8 +0 -0
  270. package/.npm/_cacache/content-v2/sha512/5c/f4/891d69a2dfde1fb94bb30e71b3d7088aa967e8d725de70740c45fda5ea1ced4cefa73ebbbae7c0320e781a05eee2b08c44911b0f47715987eb3b8956b853 +0 -0
  271. package/.npm/_cacache/content-v2/sha512/5e/70/08bd0f1e33e902e9a50bc7ac2e422c15b27cec8bd7775b1cd5dc5a564c6035f45eb6d64c1d6ec01c14a5e02941d95accbe998ea22f5b074f1584142cad0c +0 -0
  272. package/.npm/_cacache/content-v2/sha512/5e/a3/daa79ee1862a62f30860bd84853848fb994cf606921352c4bfbe459eca1119d3a5e8130daa4904af8118289715e7f21be92a3f9864322fa1b246e49140c7 +0 -0
  273. package/.npm/_cacache/content-v2/sha512/61/51/888f691a98b493c70e8db198e80717d2c2c9f4c9c75eb26738a7e436d5ce733ee675a65f8d7f155dc4fb5d1ef98d54e43a5d2606e0052dcadfc58bb0f5e9 +0 -0
  274. package/.npm/_cacache/content-v2/sha512/61/9a/372bcd920fb462ca2d04d4440fa232f3ee4a5ea6749023d2323db1c78355d75debdbe5d248eeda72376003c467106c71bbbdcc911e4d1c6f0a9c42b894b6 +0 -0
  275. package/.npm/_cacache/content-v2/sha512/63/7f/153d21dcaa416b0a916743dbee4979aabaebf9a1738aa46793e9a1abaf7a3719cf409556ba2417d448e0a76f1186645fbfd28a08ecaacfb944b3b54754e4 +0 -0
  276. package/.npm/_cacache/content-v2/sha512/63/a6/887900ad35b6a7e5748017807c75f7e120abba680cbf4d716549c1f34b187a8af7d0050c3a523c72109c483addc84f8f58912fac8ae6b23361ff43472680 +0 -0
  277. package/.npm/_cacache/content-v2/sha512/69/2d/265ad5b74f6b0701e9eb4ab8a9d971afdfd3bd75720552ac401161c4392d5e3ed18805abdd3c9635904d881e5d7857fe2209b5223433c6772613b66852a0 +0 -0
  278. package/.npm/_cacache/content-v2/sha512/6c/d1/fd9a633daac2765f8af635ab7507fff574955c9f7fa204b6b7220a89ec46c668335ea4bf504873b13789e0df7b39d9530c86121f8026039370b866694302 +0 -0
  279. package/.npm/_cacache/content-v2/sha512/6e/7e/f51fdfaa5a83902b2643a36e6638c5694a65d1380b13255555633aebb68977778cbe02c2a37f823097643e22e4f4905490d6aa35eba52e230a98abb9869c +0 -0
  280. package/.npm/_cacache/content-v2/sha512/6f/37/cbd58519b0fe35826bbfaa3ac493443a8b68b1fdc55e0216c26ea1fdbb7cd8bad4b570b834d2a86b0f4336315742731e127345293f67815a8f6ba2da6aea +0 -0
  281. package/.npm/_cacache/content-v2/sha512/70/0c/77a9a9b06985fd4747f3388640945a68e00fb5b81542c6aa4acfd0f6eae4c5e2cad15da1934ec8a44266a8b42b4d75b873c941fb7edea9f64b73f6ce9435 +0 -0
  282. package/.npm/_cacache/content-v2/sha512/72/a7/9fb91b21d76a56c86b08a0128903d96e16ede6471080f8e459bc0e24b4b4b322e094b56571188b978a01303b9ff2c1614c67640418a5af9191b5cc33136a +0 -0
  283. package/.npm/_cacache/content-v2/sha512/73/7b/088cd528c34fbcb30370569aa81f86024a128d16431ac3aa07d66352da1683650aa47991651d2ddd8687846ca2a6241e2f5e926e714ea81fbe5a0d8784f6 +0 -0
  284. package/.npm/_cacache/content-v2/sha512/74/ec/bedc0b96ddadb035b64722e319a537208c6b8b53fb812ffb9b71917d3976c3a3c7dfe0ef32569e417f479f4bcb84a18a39ab8171edd63d3a04065e002c40 +0 -0
  285. package/.npm/_cacache/content-v2/sha512/75/c2/855f78e7d0ca486978e2b2846f7b12095442b36aaef3dab64ac5ff8c4abf5391d9879ac5389b695c2e88eb8ff14797c9a4e55c4c99803e7ed4643ffde829 +0 -0
  286. package/.npm/_cacache/content-v2/sha512/7c/6c/4423bfb0b06f71aef763b2b9662f6d8e3134e21d1c0032ba2211e320abc833a0b0bf3d0afb46c4434932d483f6d9019b45f9354890773aff84482abba2f9 +0 -0
  287. package/.npm/_cacache/content-v2/sha512/85/5e/dcae2a9b474a5eec478bdceeba518560f76211d17b00f7bfbdcbe0564de3caf522a6108e50777663eae3e71a43735ec072c014164efba33e5fb52a7f598f +0 -0
  288. package/.npm/_cacache/content-v2/sha512/88/00/7e25b0c41978722146afa0397d58ffc98f5d3a2b3f43127d433e0630e6bb839f47b75a08b7b0a166e79b0049d18134e401f05e7d77da90edd7aaac703cc1 +0 -0
  289. package/.npm/_cacache/content-v2/sha512/88/2b/8f1c3160ac75fb1f6bc423fe71a73d3bcd21c1d344e9ba0aa1998b5598c3bae75f260ae44ca0e60595d101974835f3bb9fa3375a1e058a71815beb5a8688 +0 -0
  290. package/.npm/_cacache/content-v2/sha512/88/ef/59407919c479f89926a4615d2f1470150f210e20942b576b99d3a1f110f731fa6b7cb305e864721b69a27672b25815f12bc92824b6e4d9dc178bcfe5e614 +0 -0
  291. package/.npm/_cacache/content-v2/sha512/8c/db/18555c54f2fe60e3712b8dadf695a2031d77a836f144a57df738ae1dea1963a378c3842043871e5d8420933165288ec72901a8068919012b1a5d97d7f1a8 +0 -0
  292. package/.npm/_cacache/content-v2/sha512/8d/10/899688ca9d9dda75db533a3748aa846e3c4281bcd5dc198ab33bacd6657f0a7ca1299c66398df820250dc48cabaef03e1b251af4cbe7182459986c89971b +0 -0
  293. package/.npm/_cacache/content-v2/sha512/8d/ff/38bb1cf08ae88854a88e2e97d893b378e934b2f2e6d3a279a7798f6fae91cd027a74401b76071595f5d3b7fe3f81a1501bf9ae46e980cf5b73391ce74c59 +0 -0
  294. package/.npm/_cacache/content-v2/sha512/91/df/8edac717fa653f2a448e9c9a3ee06b8f8e42154ef3ac0dbbf47e31904534fca0f7a9b47c606023b1b5f55e3f0182e8799e5267234ce5984015051d1876e3 +0 -0
  295. package/.npm/_cacache/content-v2/sha512/93/47/abda05242dff0ed332898808669139c9953bc8346bfbca00cd3db788b17fd3263189647ba1f41d94c5bb1a1249a5128f4c7e1ad2ce68489614652361979f +0 -0
  296. package/.npm/_cacache/content-v2/sha512/93/dd/88fdbd3cab8c2f16c71708bbea7ec1c2ae3ac5ef2897b10b8856f544ecdf365b7f9aaa9cee51d05b7e159ccbf159477ff82207e532028b3acbcf0eb18224 +0 -0
  297. package/.npm/_cacache/content-v2/sha512/93/e8/b21c4b8f812c3a49bb83a4640cfb4e874146b4e03677a3e17a092cd732fbc8e4a32f9da12a5def9855ee79e51f679fa18fb78d387e8b38c1c829c35d920c +0 -0
  298. package/.npm/_cacache/content-v2/sha512/94/d6/89808fb643951140191c7042874d038f697754c67659125413658d0c15402e684a9ed44f8dcaf81dcff688c8d8ba67d3333b976fd47f27e7cfc610ba77fb +0 -0
  299. package/.npm/_cacache/content-v2/sha512/97/84/a9fc346c7a8afdc0be84bd5dbe4ee427eb774c90f8d9feca7d5e48214c46d5f4a94f4b5c54b19deeeff2103b8c31b5c141e1b82940f45c477402bdeccf71 +0 -0
  300. package/.npm/_cacache/content-v2/sha512/99/3f/220dcae1d37a83191466a00da1981267c69965311fb4ff4aa5ce3a99112e8d762583719902340938acf159f50f39af6eee9e488d360f193a2c195c11f070 +0 -0
  301. package/.npm/_cacache/content-v2/sha512/99/e4/0d37293079c57176ed5195830aa50c78fb079f218a66c62ea07b1a3f2806f0aae26b054ac198a609ac4f0a164550000556127c0d76edb53e0ac3efb277c4 +0 -0
  302. package/.npm/_cacache/content-v2/sha512/9c/ea/87e7d75e0aaf52447971ab5030f39267b78c3a2af2caa9656293aa00f599255cb3483a5aa0e05db2ad3d4c55a4e302abd5c1d7de67bc3b682bc90fbba093 +0 -0
  303. package/.npm/_cacache/content-v2/sha512/a0/a9/db845c91217a54b9ecfc881326c846b89db8f820e432ba173fc32f6463bfd654f73020ef5503aebc3eef1190eefed06efa48b44e7b2c3d0a9434eb58b898 +0 -0
  304. package/.npm/_cacache/content-v2/sha512/a3/2c/8fa6231a28046fbdc822a7e255fbbcdc8b92fc0f55bd459233da5d68d3c00cde97eca62b555a73edde6cc77013e9d76a18313cb4a6aac5b3f0be9b7130b1 +0 -0
  305. package/.npm/_cacache/content-v2/sha512/aa/90/80bd197db2db8e1ef78ab27ec79dc251befe74d6a21a70acd094effe2f0c5cf7ed2adb02f2bf80dfbedf34fc33e7da9a8e06c25d0e2a205c647df8ebf047 +0 -0
  306. package/.npm/_cacache/content-v2/sha512/aa/e2/505e54d25062f62c7f52517a3c570b18e2ca1a9e1828e8b3529bce04d4b05c13cb373b4c29762473c91f73fd9649325316bf7eea38e6fda5d26531410a15 +0 -0
  307. package/.npm/_cacache/content-v2/sha512/af/ae/6709986b6d75dbe9d5ce0028a1600a47c3643aa55d0cdd5d0f4b177be0dd3e0fc9f301d100213ab6a008c0d63567288fad1af101529aa2321d3ead6eb30d +0 -0
  308. package/.npm/_cacache/content-v2/sha512/b0/a2/5fd7e71e401af848c92f427043343b5fe135e95615466ad7aed2df75f1b977d059db1369b8bcd2d7f9559efdda6395bf87ba0198cd6eee4171fdf073c463 +0 -0
  309. package/.npm/_cacache/content-v2/sha512/b1/5a/7161eb80856b743935884f04fdf28c95d06b17c8c957085fb72f54ae69f055508affb882c6441f8dab09338605cabe82690c8a50bea91400b81d990b10c7 +0 -0
  310. package/.npm/_cacache/content-v2/sha512/b1/ef/43668db4128b696f8041a778b0659784ec1ced4841c344b22f9ce579b20103f8eb1213c442f4841e9461370d9a5226816ea42a7a62a342a4dd1055e981c3 +0 -0
  311. package/.npm/_cacache/content-v2/sha512/b4/7a/baa9d6d3f54d4845219fd7808bd2952550b92cbd8f4e67ee5e12097537bb7e380ded1af369c490b3b8a425b0d8025706c0b3aef42f5bdc5508bc8fd1e39c +0 -0
  312. package/.npm/_cacache/content-v2/sha512/b5/5a/6c256ec376379c0221696c80757b7ab1210b04e8da0f739fde4ddadb6c80b88742d5b16867a1ade0fa6d87725048ba31f3b31678549540f8652e736fcb07 +0 -0
  313. package/.npm/_cacache/content-v2/sha512/ba/43/b9b0f283470086591651a8f95a014d12295c665b04a388eacb868403a16c595a0eafc81f572c465588a3b320ee8b9d3210065938532958574ae78492f143 +0 -0
  314. package/.npm/_cacache/content-v2/sha512/bd/31/2fe68f25ebbd366707c033968e7950df5300520ceb3e011a0699600a43a2ce22743c278ff38ccee8bf5d9fb93a64b5429d3108e4782a74ed577bde63e4c7 +0 -0
  315. package/.npm/_cacache/content-v2/sha512/bd/b4/68ac1e455105af95ad7a53c47faa06852326b6a86cf00eb366099b982ab6dd494306e88d5908641179f911561b8e9081959deec1437e4349fa35aaf26a16 +0 -0
  316. package/.npm/_cacache/content-v2/sha512/bd/c7/ee888c6880b5780e51811c850ec08d086eb27c1d63dce0c53b1f3be219e361a3f5090df8ba079a77b07796210d0a188534269c62e591f17a641f2e4900c1 +0 -0
  317. package/.npm/_cacache/content-v2/sha512/bf/69/0311ee7b95e713ba568322e3533f2dd1cb880b189e99d4edef13592b81764daec43e2c54c61d5c558dc5cfb35ecb85b65519e74026ff17675b6f8f916f4a +0 -0
  318. package/.npm/_cacache/content-v2/sha512/bf/73/179d901cbe7cb091350466898801cb657bb4575de79d391df5c3097b565ca85cee108bd6abbd27a73505a77b54dc4708422f51f02c8db56c4a9da63f3fac +0 -0
  319. package/.npm/_cacache/content-v2/sha512/c0/ac/90450a63274b08a7ad84ad265d1ac8cc256b1aa79a1136284786ee86ec954effd8c807a5327af2feb57b8eaab9e0f23fdcc4a4d6c96530bd24eb8a2673fe +0 -0
  320. package/.npm/_cacache/content-v2/sha512/c1/ae/d88f25067cd667808fefb4ad141c037e9600c2c413c2ca55571a9d33bb9f45cf96a21ad3576aadc3848a2fd3adcca2b07e55fb9f2e1dc9945d8a7532b7c6 +0 -0
  321. package/.npm/_cacache/content-v2/sha512/c1/cf/95bdeb3330bc8c585bd72e49688b14f89f485aad42156639e9cf3b5a6749ca2eeba5ed9df688cb767d414601a678cb55d68c544cb422397b0bf28786887a +0 -0
  322. package/.npm/_cacache/content-v2/sha512/c3/57/04b9fdd2f83acb0902fb113ea4cfe82694975babd27bc970928cafce6423c0faa10dd56c85e1901fd186096b8fec84726b6b6b7f77fafc495e098bec7ef1 +0 -0
  323. package/.npm/_cacache/content-v2/sha512/c3/cf/6a83b3c8f3001dbd7eb46cc0cff9b1680f90ef866f682e1785a793b86b6405d1c4811ac057e2a66669d3ccbd5aa52c9041722f96a8618e00fbdc0de35256 +0 -0
  324. package/.npm/_cacache/content-v2/sha512/c6/0c/9f29954c16a13c6882b2d717c556c5f6331c9750d8238266c5e9d45b477b0bf993392b891affd2f89a64f05fc79379562d76ec97bb48145705496b51db37 +0 -0
  325. package/.npm/_cacache/content-v2/sha512/c7/4d/0844d5cdcbade3c069099b33e2828c921db6aaa4dbb329b04e9b32be83639d66943dc3eb3108df95481de36bb20081ed8e3f6aa97f14e378d7328e65b5bb +0 -0
  326. package/.npm/_cacache/content-v2/sha512/c7/dc/9a32f121e4111a64a795402e2fa7797e428163dc15dc7786987ee292cc82328a18dd54044069d632dd230d233d16082752daf07d24bfd4e86424e4f6b143 +0 -0
  327. package/.npm/_cacache/content-v2/sha512/c8/e9/4573eed4b4bffcf6dd998633efbc1fc3780af7afe0eae7c220cec164380bd50ba34c2579821a36e9b5d5dd47daac5fba4a7132feb3cec5b584448b674411 +0 -0
  328. package/.npm/_cacache/content-v2/sha512/ca/c4/fc9a1762c562ba1f0de2d55d80791a99e567d78351b8de6aa86253369dceb7f3c16ae63717cabe6646ca9588bc7f18961da0bd1b7d70fc9e617e667fc8a3 +0 -0
  329. package/.npm/_cacache/content-v2/sha512/cd/b0/7dac22404f5adb8e25436f686a2851cd60bc60b64f0d511c59dc86700f717a36dc5b5d94029e74a2d4b931f880e885d3e5169db6db05402c885e64941212 +0 -0
  330. package/.npm/_cacache/content-v2/sha512/cf/29/a6e7ebbeb02b125b20fda8d69e8d5dc316f84229c94a762cd868952e1c0f3744b8dbee74ae1a775d0871afd2193e298ec130096c59e2b851e83a115e9742 +0 -0
  331. package/.npm/_cacache/content-v2/sha512/cf/b4/9828e2f7d87ede2bd57fcf751765a6d89414a641b788ae9182335522370cf10d58d8574356f7d99853935619ddb1d8e700b6f26f0bf3d410d3ec5585b251 +0 -0
  332. package/.npm/_cacache/content-v2/sha512/d2/97/c5cde81e0d62472480264cb44fd83c078dd179b3b8e8f6dbb3b5d43102120d09dbd2fb79c620da8f774d00a61a8947fd0b8403544baffeed209bf7c60e7c +0 -0
  333. package/.npm/_cacache/content-v2/sha512/d5/53/49ab313d8002d4c8c1b2a435d9657cd1d13b7b2c2f43740650dcebbf43432e6cd537e5a81550d5ca1872a93536daf9fafc19d21d902dba6d10eab4240179 +0 -0
  334. package/.npm/_cacache/content-v2/sha512/d7/ff/54add1e30d973478e5341f1387a12efc0baf540f725132fce527b4bbf52da74da59103fc211824d5f28f5efcdff555af58215ed0e2c3b10fc555e290963b +0 -0
  335. package/.npm/_cacache/content-v2/sha512/dc/17/a5b7ab5d73c6cf800b5b72676d349962ad5a139846f97b6802f783e7930116f6323a0801d47a81bce6d8d63f95aabaa7dabe832d330886e0ff76e9928ab9 +0 -0
  336. package/.npm/_cacache/content-v2/sha512/de/e0/bab069a3a4e29ab594951c8db1075f9d79d82697aebd651beac72f96aa61890d5bac39dcb170a7f2ce35b43f7fc6ac288de2799190b54c84fc0709ce502e +0 -0
  337. package/.npm/_cacache/content-v2/sha512/e1/76/89db341d0b344e6438af1152033e47109fc2cc1526bc923f06c5bfcb9f0ceff40f1572d359fa57e2bc2fec5778af5bc1252531115d9a0f051ad92a434aa3 +0 -0
  338. package/.npm/_cacache/content-v2/sha512/e2/4a/c5f2c7297a385a3a0ab304470633bc832047e2d3ff3ef330d166135967692398727886fdf309b416c68246cf58b0e54d099749e66b5df1cc75dc9dc31abd +0 -0
  339. package/.npm/_cacache/content-v2/sha512/e6/99/1fc670b8c3cd742ea04f5303f96e0ed2151fd44b084c49a01e65041b107781a79ee98ca5d19579aaa4cacb241e32d6882547f736e74dbce77b8dd08f8301 +0 -0
  340. package/.npm/_cacache/content-v2/sha512/e7/c4/bd403a86d17c76ed8c0f4adf5f2718af8d8978df6602c1f0cc7d9fbbd5102a52b65e7fb2eb2906772c72cec024b814b341a653f9df7671f3de5278e087bc +0 -0
  341. package/.npm/_cacache/content-v2/sha512/e7/c9/66c4a480e013722f3f871cc53394e129834f4557e7afe9931edef262860771ce073067c5681043e600b0991bd2e6a9f56834c30aa6db48613546eae0d8ec +0 -0
  342. package/.npm/_cacache/content-v2/sha512/e8/8c/c92ee1a2e3e475e2fc1a8031d7f89ad798f56d3e99f899f7c327551d47bfc4766f3b7e5eb28bc98c04856f16d25a35352f8ee821996e21c0b8511bb802d5 +0 -0
  343. package/.npm/_cacache/content-v2/sha512/ef/31/691f3867a982ab9187548c5d472356f3774572804197f25164e24e7354ca87128112f8ffbb4ca23e12f2cef5654c27c79e91d3b468310ad38e314d7c0f3c +0 -0
  344. package/.npm/_cacache/content-v2/sha512/ef/67/d27a784cc361d931354778203d2829a91086f35a242c8cdf811dc05b4bdbebd66b6dfaf2633dd92c20135498a016f131540cf24ae52514dd0844f4d1170f +0 -0
  345. package/.npm/_cacache/content-v2/sha512/f2/58/0acfc2e60916196500e94724f69b9aca274f139d4e2d47d145156dabc69c51d45cd68b83d0fcd7f238372101ab4769482748f55cc7f479c3a36e4c1cc58b +0 -0
  346. package/.npm/_cacache/content-v2/sha512/f5/8d/20d10f2b992b7e1f7dc37cabfb14e737bfe89123ea3595bcedf2319c228b185b7ec8216ff65d562ae4d3dd99a0f9350e7d364dba2a5fef65bc16f45afcbe +0 -0
  347. package/.npm/_cacache/content-v2/sha512/f5/ae/c2e551e1fb504a6e56988aafbb4df73e10e9a331d65a0f5318b644234a8c6007af6d0635bdf2bcba48ab22e331085b3b4b38c46e2fcec0ddb753fc573fe3 +0 -0
  348. package/.npm/_cacache/content-v2/sha512/f7/27/4edc77bfb56337a2b5429405ab72acaa7541463d20fc37ad3a7821ed2407ac499a48eaf2037a563708d878f3ab21e2f1c0eb9c85b20ba0fceb3289c345a6 +0 -0
  349. package/.npm/_cacache/content-v2/sha512/f8/ef/4972df307fefa55f1c4573885cf0bb23692ab41c5cf32fb715b30f2944320f763283da64f8cad0d994bb92059e1c2ca6455c8acc18eec36d00ad30924c2b +0 -0
  350. package/.npm/_cacache/content-v2/sha512/fd/2a/efe1db30c903417e8846a73f68e986f71b3dd2ad40ea047e6b4ee84647b6a1b656d82a7571c366c214c4658da03b1171da5d9f30b07768745bdb9212a6aa +0 -0
  351. package/.npm/_cacache/content-v2/sha512/fe/c5/d978c9614b402b91f5f6030efcd202735d230f9ca8edb29619bfe7f736228b96e6decc01c3539fbdc73ea0777fcd846dedc500a8eb19609664d2fa84c611 +0 -0
  352. package/.npm/_cacache/index-v5/05/34/1929926becc54c1f69c0921ab74c461c1777ab3d43213900acd4779dbf27 +0 -2
  353. package/.npm/_cacache/index-v5/0b/57/19385728919a097d1777ef98285f6cdfca14b66511276b641ec4a3af64bc +0 -2
  354. package/.npm/_cacache/index-v5/0b/90/c147816be94e86ed9bbb4b9e20409e4791a8991fcfd41d7a44489dedd29b +0 -2
  355. package/.npm/_cacache/index-v5/0b/ac/1bc19a224468b5a9e4382b946d33bb4c236306c2cefe190e5e2db1ded98a +0 -2
  356. package/.npm/_cacache/index-v5/12/6d/f094b1c476935fbda8814b43ee001b439b1f793c265ee5bd97d566143fb4 +0 -2
  357. package/.npm/_cacache/index-v5/12/80/c192e66daf6ba49f528ae81b986857735e6d257bdf4b0b1758eb795cae9b +0 -2
  358. package/.npm/_cacache/index-v5/13/32/a5865acd35ae515cde972c2d6cbff2863e694975883870de78b62a80f30e +0 -2
  359. package/.npm/_cacache/index-v5/14/33/be443b6e6c3ef0ff8f09987bc62d5ef9e61259f3331c422182f6bb74fdeb +0 -2
  360. package/.npm/_cacache/index-v5/14/f7/87042931e5944467d47331c350feb4384bf9143ab6ceebf7108a55905843 +0 -2
  361. package/.npm/_cacache/index-v5/14/fa/f87baceab26935686548c742091e7014930673bc1f077574c54c4c6c2d2d +0 -2
  362. package/.npm/_cacache/index-v5/15/26/abf1072208668be6e34a4311ad25f34fc908c21abc17ef01b5836cef1879 +0 -2
  363. package/.npm/_cacache/index-v5/1a/fd/532a4c7bf52c908d567ded2bb11b0f3282f0733d0d079a5291c2f72e0077 +0 -2
  364. package/.npm/_cacache/index-v5/1b/15/2ed036cc76081b7f1bfb3aa59d491eb3b3602c9381ec8d81435ceecf56b5 +0 -2
  365. package/.npm/_cacache/index-v5/27/b7/7f36d855e73b72c900bef7ba44a2a553de3d77b218493b4ddb6ae6fce516 +0 -2
  366. package/.npm/_cacache/index-v5/27/cc/afd4aa090b087c509f17e75196209f498c916da50ee4e9f26bd8424fd6f7 +0 -2
  367. package/.npm/_cacache/index-v5/2d/80/b5e9ca2e40744e7fa089861626d2a29c62363c01729964f4cf0c3e8ee632 +0 -2
  368. package/.npm/_cacache/index-v5/2d/ed/7f785cb92982f557fdc81aec4081952ce428eb449dd91fa0867b6676fa17 +0 -2
  369. package/.npm/_cacache/index-v5/2e/30/64338ba8469bd5c48ab7843f9d06a83992a346cfd592194af9c6d4d6dc48 +0 -2
  370. package/.npm/_cacache/index-v5/2e/a8/503d5f11e5dcde5786e3973ff160d2acc4736af22f9cd5a883c26adc7824 +0 -2
  371. package/.npm/_cacache/index-v5/30/98/41b0d8db0052e964e4843260ec8a0b12f2541721317cd5ee90b07b6a4d59 +0 -2
  372. package/.npm/_cacache/index-v5/31/64/15cefe5f3b923ebb9c684b37db7451ccf335632aab377fa3c730ec2e79cd +0 -2
  373. package/.npm/_cacache/index-v5/31/ac/4d241faeb3fea9ec8318fd93dd55eb70a87cc8a6e3f849ccef9863882b4b +0 -4
  374. package/.npm/_cacache/index-v5/31/ca/a8c3ab0670811a3887ede187dcd3856d14272349a18f6844f7c8007cc05e +0 -2
  375. package/.npm/_cacache/index-v5/34/a0/f70f68dcf9baef2ff21f29fdd206513fe5b10736be36ddd2f65a654a8f23 +0 -2
  376. package/.npm/_cacache/index-v5/34/f7/8879c3cd1412a0890461590276aa13d0344cb4e09494a4b3d854a7c7660a +0 -2
  377. package/.npm/_cacache/index-v5/35/e5/adb97753b463aa67dc9f26f39e8a52f68bf467cf1187509be7da174c057d +0 -2
  378. package/.npm/_cacache/index-v5/37/53/b5dccfb634beb6de718b268b6434849f27d3cf60d426dc19472a642a3f01 +0 -2
  379. package/.npm/_cacache/index-v5/38/2e/fe53691fa43d2f5ac447c8a2431535ec49118be55bf483c6362d4f72c79b +0 -2
  380. package/.npm/_cacache/index-v5/3c/f6/26a7f7dccb969c764b8bdecb3667023c64bc1159e674fbeeca633c54964c +0 -2
  381. package/.npm/_cacache/index-v5/3d/dd/3e8c6b6c875addf2057fb5fa152fff0fab217f78a8e51c0aa457a925bf12 +0 -2
  382. package/.npm/_cacache/index-v5/3e/77/916dd3c99bb6e83a0217305b0a2a541f122d977edcb92fa6b58eed796c17 +0 -2
  383. package/.npm/_cacache/index-v5/40/62/d04e75208dec117f72a95a5989f81fac7565a530fd22f70ea5e3abc377c3 +0 -3
  384. package/.npm/_cacache/index-v5/42/89/e110619623b1c9111a6392de4b1a62a904fb08d0601f87b9c8e1d493f5d6 +0 -2
  385. package/.npm/_cacache/index-v5/46/5b/f3ce50d3f54a5d65ac316d3c71ef8a8f8bdb072b6dfabc2c69018c3e942a +0 -2
  386. package/.npm/_cacache/index-v5/48/17/0ecf04bc0839b23c609ec7bfea9d339fa2cc3ee5982716cf7465ffaea675 +0 -2
  387. package/.npm/_cacache/index-v5/53/aa/b41f4759346e1d3b6651322d78c7983a4a546cdd6c18c3eb56c944571e4b +0 -2
  388. package/.npm/_cacache/index-v5/57/4d/cdafdfd03e43ca95652cbbb0b23bbbbeef3e16fa307726cb2ae8a5658531 +0 -2
  389. package/.npm/_cacache/index-v5/58/c9/9f8c27572bf3034e8fa9cc74fc00878e45fa7d75d4570d4430e82bfb5ef3 +0 -2
  390. package/.npm/_cacache/index-v5/5a/8c/47e273da29b52c911f59eca44c62faa84be4bb59b1de259ba100ff968559 +0 -2
  391. package/.npm/_cacache/index-v5/5e/89/be4afbbaa5c56c070a74790be14bd112b9e1b3f251324d766264b2c5f880 +0 -2
  392. package/.npm/_cacache/index-v5/5e/e7/453bd89145eccf9d67f5797fb09e5a017b5b13f1ac45cb7b70bda45940ec +0 -3
  393. package/.npm/_cacache/index-v5/5f/57/67c3b0c63ea4198903509c050bb99de2eabd6a2fba583067c4f587dc25f7 +0 -2
  394. package/.npm/_cacache/index-v5/60/8c/b74a2ae1c6978d635a1a21438c553d956a762176742b2749d09db964bf4d +0 -2
  395. package/.npm/_cacache/index-v5/68/6b/1f834b2ea43c7a9d1ffd80eb09f9d44af0895dc31dc3955d4b4c797ea825 +0 -2
  396. package/.npm/_cacache/index-v5/6d/61/c9e7e8446341cea439547eb023fbf47c954ba932e6944a3fd50413c1e861 +0 -2
  397. package/.npm/_cacache/index-v5/6d/b3/82949bd186224f1f51cb3fabdad6a93aa6a64c685b395a36f0a34af15119 +0 -2
  398. package/.npm/_cacache/index-v5/6f/d8/170c71ac7185da1b8040f10243c7294ff9a667a27fffc3479ba2f222f014 +0 -2
  399. package/.npm/_cacache/index-v5/74/d3/f9a4984e5548c5f72b3dc858046781cc3a892b34b6b7e7c353fbc93aa060 +0 -2
  400. package/.npm/_cacache/index-v5/75/ec/5dd4c902abf3f9ae589620cd4fd5b6ccfe045b8abdfbfa050d1a5ba8c01e +0 -2
  401. package/.npm/_cacache/index-v5/77/be/4d3f23909fd5905444d34cb0ce78d5bf6ce157670ae6ed614389a2027d18 +0 -2
  402. package/.npm/_cacache/index-v5/7d/8f/423d7e791f7fedd6bef784f0f467761c619f209ce9c788f08b63e968a880 +0 -2
  403. package/.npm/_cacache/index-v5/80/da/c34ca077ec2051cad25b3313e4e75ff4ad2dc2b12a9c250cb9545c0adc4b +0 -2
  404. package/.npm/_cacache/index-v5/84/d7/a5acf52705a1beb66603196f4bc44e583052d0f1d5a23dfb5316da1811d3 +0 -2
  405. package/.npm/_cacache/index-v5/86/7a/c59a43ec4985d34346e5714968f7220d176ea3a61b55464a7fecae01ac47 +0 -2
  406. package/.npm/_cacache/index-v5/87/55/e56d34b37c3170079064597cabb288d076b0d0468eaba3b8a0cf8686ce1f +0 -2
  407. package/.npm/_cacache/index-v5/8a/c9/c10bf71d66461aba0899e81d7a146332c45dbbacb1693c38fc2e4e578e39 +0 -4
  408. package/.npm/_cacache/index-v5/8a/ee/e3e86b627c10a9fc4ed610c15792507293ba1c14e7ba839e22aec609f1e0 +0 -2
  409. package/.npm/_cacache/index-v5/8b/ee/c2ea22c4bf9c5ddcd0333850e543442de3364478847c7ebc382b1ff3a70d +0 -3
  410. package/.npm/_cacache/index-v5/8c/2d/fc95c0f3896963b4fe4b745b6d2bbc04a2a75f31f108ff740215559617f0 +0 -2
  411. package/.npm/_cacache/index-v5/8e/95/715914a073e3319f22dfec7ffac9df9f293d150c0d6723a60ce08ab7f735 +0 -2
  412. package/.npm/_cacache/index-v5/92/a4/7b5bd924b74993fc2b0de1a458842881545ca2cc22f6bc104a0db4fafdab +0 -2
  413. package/.npm/_cacache/index-v5/96/3a/a15f6c4dc3aeb3fd89c0b7a8c3ba58cb31a9b72c98e3b11a8ef1647b537f +0 -2
  414. package/.npm/_cacache/index-v5/96/b2/def9b882b950a49a7096d71afd5fce3a6a9454795fc060b1901e41d44620 +0 -2
  415. package/.npm/_cacache/index-v5/98/64/01faddae5e2bf199c5f8953942897841c5634b1800e246226ea5489f4584 +0 -2
  416. package/.npm/_cacache/index-v5/99/a9/8e746181ef13bc400da207da412881206f4d2004d75453373f6ee7b25ffa +0 -2
  417. package/.npm/_cacache/index-v5/9a/fc/baddd71f459a50b3c710a007fa7d59fa62febef98033b7331374bf02db64 +0 -2
  418. package/.npm/_cacache/index-v5/9b/55/1bc87872916d09156d5c7056d7ac2b245e7a7638b817eb3dbeafa9d33be8 +0 -2
  419. package/.npm/_cacache/index-v5/9b/b8/d45062af43674e433f967d20768d308ed6ce195be6acadfb7cfd21d11e67 +0 -2
  420. package/.npm/_cacache/index-v5/9c/0e/3faaf557a9613fb7f09b5cecc63ebe78da10371a1f2f58b636f8dcb9a914 +0 -2
  421. package/.npm/_cacache/index-v5/9c/b1/fff150691ce095677426e98bb894621ce4a88097d4b2c5c342224e1852ae +0 -2
  422. package/.npm/_cacache/index-v5/9d/eb/0927bbd589e18b447a3726f591019d6728da728f603e77a1ded3f78dc6eb +0 -2
  423. package/.npm/_cacache/index-v5/9f/43/3636172cbc03abf2262c921f9f71572e6b049aa3db8c65d166bcfe5aca5f +0 -2
  424. package/.npm/_cacache/index-v5/a0/9e/5b7b95cdee86846e4fbe92c9e16e0e7f337c77d2c12de9778522b15bed2e +0 -2
  425. package/.npm/_cacache/index-v5/a1/ff/6532bc014331c9b572482a4bd805bf54a7ff8b4ca179b1c811aff3dec690 +0 -2
  426. package/.npm/_cacache/index-v5/a7/11/13f3c5864a7e9d12ca50a19b99d77d88fbcebb1ceb7455eb7ff77f158b64 +0 -2
  427. package/.npm/_cacache/index-v5/aa/9b/8b6d9e0f45dde1c6af2a4fc211f9b3a74f14041dc04a8a20490a478660b2 +0 -2
  428. package/.npm/_cacache/index-v5/aa/c4/489c0e6a9e4cbd64a8acd4fbfda113e9dfdd114f464830471fda53fff0cd +0 -2
  429. package/.npm/_cacache/index-v5/ab/47/d7a88d46cb8996b726bc7ed9280b5eea26889ab7c848149032a6e8911e4b +0 -2
  430. package/.npm/_cacache/index-v5/ac/4c/71e880f5d5c742e0e3807e7f3c398e920dd019bbf723586f0a7342715580 +0 -2
  431. package/.npm/_cacache/index-v5/ac/86/c0732592365d753d382502d91754a3c88f8b20e22cc25a0327beb9429687 +0 -2
  432. package/.npm/_cacache/index-v5/b0/9b/1a1d76c3ad82dd54353bb8ac8397667df4c5db97e42abf0de3fab68065bb +0 -2
  433. package/.npm/_cacache/index-v5/b3/b3/05a8af0a671c32b41850c1223429fe74449cfcb4c7cac54a9c7c213dfcae +0 -4
  434. package/.npm/_cacache/index-v5/b3/ba/fbf7da5c8eb06d9cc72143e3d36d7f701447b4e0a221c40d4960e06c7296 +0 -2
  435. package/.npm/_cacache/index-v5/b5/5f/1a200e91b7580c5893016e1b1397b6a076ff51cc7c5d382c3b1f1e52edd5 +0 -2
  436. package/.npm/_cacache/index-v5/b6/a8/3bf06da815e92239da2bd4ef7322819b458ee23ae8db9f02dc9a3dca722f +0 -2
  437. package/.npm/_cacache/index-v5/b7/38/992d3e6c01fc9098d137f7dbccfcaa5f5124ba9c487e582e6e0d83f99d30 +0 -2
  438. package/.npm/_cacache/index-v5/b7/d6/b5986a5f5d44d726090a94a22a8dff7a7c391df4a4fa4862bb50b1da196b +0 -2
  439. package/.npm/_cacache/index-v5/ba/d5/f7d95a8e3571758f8b5d095a21909a8f6cdfe7fd2349f7f72b2801eef079 +0 -2
  440. package/.npm/_cacache/index-v5/bb/8a/9c0052bb21f628e48a1e8d25084ee4adb402eba28c747d0299ebf4c3185d +0 -2
  441. package/.npm/_cacache/index-v5/be/a3/c0779c8e0be92c748c91a7dad4e6f0fe57ba0158b6bb1bcfddd8fc56c934 +0 -2
  442. package/.npm/_cacache/index-v5/be/c2/aa68eca6cebd477430ae24727732ec08ee9fc9ef2482df77932eb2f413d9 +0 -2
  443. package/.npm/_cacache/index-v5/bf/7c/375aec77f76404d91225e72006a0105b2a6ec04bb02cfa365ebcd4a0232b +0 -2
  444. package/.npm/_cacache/index-v5/c0/15/8b360dbe06b62052f2a43702140af0bca66e2e4064d7d2016efb4a2a149a +0 -2
  445. package/.npm/_cacache/index-v5/c2/a4/488f71f39bc65742422faf2c74e3b330852ef2192dbb3198fed044e60c20 +0 -2
  446. package/.npm/_cacache/index-v5/c4/89/38b2ab5b89326ead12dbed7a2076caa44d1207dd6cdb3f9f93273843dcf5 +0 -2
  447. package/.npm/_cacache/index-v5/c4/ac/4511be3eecea50ee9cadc09a612f9be8598d7b29d5c8b1253c75fa283cc5 +0 -2
  448. package/.npm/_cacache/index-v5/c5/2d/90031096314e15f4fcc35c804c2180f88214a7851b531aa27bd64064f740 +0 -2
  449. package/.npm/_cacache/index-v5/c7/5e/2acc90bb8fd9d3150354ec8b2f7e7cc2c8e0e59efd575a1963f1ca66cbed +0 -2
  450. package/.npm/_cacache/index-v5/c9/f5/c4a24d8834c4e9523cc24e10c6db63876e3eecdb2cf33762b159e3a1e92f +0 -2
  451. package/.npm/_cacache/index-v5/cc/2d/3cc1e00b73d00c921b8f8c92faaae480a160fc63637ba7b098518db79e02 +0 -2
  452. package/.npm/_cacache/index-v5/cf/56/427919eefb09afe942b12902069325293191afa7d59ff0f2b016c402b4ec +0 -2
  453. package/.npm/_cacache/index-v5/d3/ba/564670f99cd2d757d1ac6209834faf1ce9a94ed856243cf090249d9b2b38 +0 -2
  454. package/.npm/_cacache/index-v5/d5/f4/0913a74f5e223a4fe6108493dd3b03c2d47259df459926160659513c9ad3 +0 -2
  455. package/.npm/_cacache/index-v5/dd/03/456ce7d8bffee20c3acf7e18ef6501b637d59a6fa3fa7bac5ed160b6be3f +0 -2
  456. package/.npm/_cacache/index-v5/e3/6a/b90e45414a9e52cdf1e4a96698065357795b9400d7af079b0a75ee8fd76d +0 -2
  457. package/.npm/_cacache/index-v5/e7/16/c0952e37a6a02b506441a59ee6b0e7fa873a515247763df9dddd162bbcf0 +0 -2
  458. package/.npm/_cacache/index-v5/e8/50/601e38974398787a5a8a8b8d835e29447814cd68ff6fe2e9629738e124c6 +0 -2
  459. package/.npm/_cacache/index-v5/ee/47/02714e9e61ca394444a92772fe85340de8bd216b58f59e1af25d5618303f +0 -2
  460. package/.npm/_cacache/index-v5/ef/74/026f830458505ca7ae44dac678900360af24ed6e76521eb12df5fadcf26f +0 -2
  461. package/.npm/_cacache/index-v5/f1/75/91238e32e2ac4d9c4976deec39a2e6ca85c0c678a4466a50ca4412272a7c +0 -2
  462. package/.npm/_cacache/index-v5/f2/1f/c662626ec8eafafa54476678b9f71799a74ee368f2b7845a6ec9f9174a4d +0 -4
  463. package/.npm/_cacache/index-v5/f5/a4/ca599571c5bcfc5351ca53c418a6cd9d162539528b1ed87a692a1677020e +0 -2
  464. package/.npm/_cacache/index-v5/f6/18/16e565c66306149a0b31bb2af01babb55bd65ef7cb85a8a11d486d933b60 +0 -2
  465. package/.npm/_cacache/index-v5/f8/f5/f04b833fa130e113a9093088ad108d8cf9b2b1d5a0336e48cbf0916b8686 +0 -2
  466. package/.npm/_cacache/index-v5/fa/88/31cbd6ca584e75edf3642c6f8b079c1f2b5eca1d7b2780ce2e86c24f1e84 +0 -2
  467. package/.npm/_cacache/index-v5/fb/ae/46c38299837b3b4dcee9dc45854a6901355864326b4e64c730727ca1c88a +0 -2
  468. package/.npm/_cacache/index-v5/fc/1c/958fc085ebdc42fa37d4985cba976a5cca21f678c751c968f8fe9b259455 +0 -2
  469. package/.npm/_cacache/index-v5/fd/2e/6ead8880f4d02a536a570e21b13b4e7c9700082833e556cd53e9e92bfd1b +0 -2
  470. package/.npm/_cacache/index-v5/fd/46/fa56121e15b7f090f8050d0c954bbc9452e4c7ddde82777b2e00552c4220 +0 -2
  471. package/src/index.ts +0 -201
  472. package/src/utils/template.ts +0 -10
  473. package/templates/ts-library/README.md +0 -1
  474. package/templates/ts-library/lib/index.ts +0 -1
  475. package/templates/ts-library/lib/samples/index.ts +0 -5
  476. package/templates/ts-library/lib/samples/samples-function.ts +0 -3
  477. package/templates/ts-library/package.json +0 -36
  478. package/templates/ts-library/test/sample.e2e-spec.ts +0 -10
  479. /package/{templates/ts-library → dist/templates/nestjs-api}/test/jest-e2e.json +0 -0
  480. /package/{templates/ts-library → dist/templates/nestjs-library}/.eslintrc.js +0 -0
  481. /package/{templates/ts-library → dist/templates/nestjs-library}/.prettierrc +0 -0
  482. /package/{templates/ts-library → dist/templates/nestjs-library}/LICENSE +0 -0
  483. /package/{templates/ts-library → dist/templates/nestjs-library}/index.d.ts +0 -0
  484. /package/{templates/ts-library → dist/templates/nestjs-library}/index.js +0 -0
  485. /package/{templates/ts-library → dist/templates/nestjs-library}/index.ts +0 -0
  486. /package/{templates/ts-library → dist/templates/nestjs-library}/tsconfig.json +0 -0
@@ -0,0 +1,885 @@
1
+ # REQUIREMENT:
2
+ # - GET_VERSION.sql file must be exists in repo root folder
3
+ # - SET_VERSION.sql file must be exists in repo root folder, {{VERSION}} keyword in the script will be replace with actual target version number
4
+ # - All script must be on repo root folder, and filename start with XXX_*.sql or XXX-*.sql
5
+
6
+ # Environment variables:
7
+ # PRERELEASE_TAG (default=false): true=prerelease only, false=otherwise
8
+ # GIT_TAG: the target version
9
+ # VERSION: the installed version
10
+
11
+ MAKEFILE := $(abspath $(lastword $(MAKEFILE_LIST)))
12
+ ROOT_PATH := $(shell pwd)
13
+ REPO_PATH := $(ROOT_PATH)
14
+ GIT_PATH := $(REPO_PATH)/.git
15
+
16
+ .PHONY:
17
+
18
+ release: version-sync
19
+ @bash -e -o pipefail -c '\
20
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit --remove-orphans mysql release || \
21
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
22
+ docker-compose down --remove-orphans -v --rmi local | true; \
23
+ echo ">>== DONE ==<<"'
24
+
25
+ run-release: prepare-patch wait-for
26
+ @set -e -o pipefail; \
27
+ if [ -f $(REPO_PATH)/patch.sql ]; then \
28
+ ((cat $(REPO_PATH)/patch.sql | (mysql --abort-source-on-error=1 --comments -h"mysql" -u"root" 2> $(REPO_PATH)/error.txt)) && \
29
+ ( \
30
+ make --no-print-directory -f$(MAKEFILE) run-exp-table; \
31
+ make --no-print-directory -f$(MAKEFILE) run-exp-sp; \
32
+ make --no-print-directory -f$(MAKEFILE) run-exp-init-data; \
33
+ make --no-print-directory -f$(MAKEFILE) run-exp-grant; \
34
+ echo ">>== EXTRACTED ==<<"; \
35
+ )) || \
36
+ ( \
37
+ make --no-print-directory -f$(MAKEFILE) test-show-patch-error; \
38
+ exit 1; \
39
+ ) \
40
+ fi;
41
+
42
+ run-exp-table:
43
+ @for schema in `make --no-print-directory -f$(MAKEFILE) schemas`; do \
44
+ echo "EXTRACTING TABLE: $$schema"; \
45
+ mysqldump -h"mysql" -u"root" \
46
+ -n --comments --quote-names --no-tablespaces --no-data --compact --skip-set-charset \
47
+ --databases $$schema | \
48
+ sed 's/ AUTO_INCREMENT=[0-9]*//g' > /out/100_$$schema\_Tbl.sql; \
49
+ done;
50
+
51
+ run-exp-sp:
52
+ @for schema in `make --no-print-directory -f$(MAKEFILE) schemas`; do \
53
+ echo "EXTRACTING SP: $$schema"; \
54
+ echo "USE $$schema;" > /out/500_$$schema\_SP.sql; \
55
+ echo "" >> /out/500_$$schema\_SP.sql; \
56
+ echo "" >> /out/500_$$schema\_SP.sql; \
57
+ echo " \
58
+ SET SESSION group_concat_max_len = 1000000; \
59
+ SELECT CONCAT( \
60
+ 'DELIMITER \$$\$$ \nDROP PROCEDURE IF EXISTS \`', db, '\`.\`', name, '\` \$$\$$ \nCREATE PROCEDURE \`', db, \
61
+ '\`.\`', name, '\` (', IFNULL(param_list, ''), '\n) SQL SECURITY INVOKER \n', body, ' \$$\$$\nDELIMITER ;\n\n') \
62
+ FROM ( \
63
+ SELECT R.ROUTINE_SCHEMA db \
64
+ , R.ROUTINE_NAME name \
65
+ , (SELECT GROUP_CONCAT(CONCAT('\n ' \
66
+ , P.PARAMETER_MODE, ' ' \
67
+ , P.PARAMETER_NAME, ' ' \
68
+ , CASE P.DATA_TYPE \
69
+ WHEN 'int' THEN P.DATA_TYPE \
70
+ WHEN 'tinyint' THEN P.DATA_TYPE \
71
+ WHEN 'smallint' THEN P.DATA_TYPE \
72
+ WHEN 'bigint' THEN P.DATA_TYPE \
73
+ ELSE P.DTD_IDENTIFIER \
74
+ END)) \
75
+ FROM INFORMATION_SCHEMA.PARAMETERS P \
76
+ WHERE P.SPECIFIC_SCHEMA = R.ROUTINE_SCHEMA \
77
+ AND P.SPECIFIC_NAME = R.ROUTINE_NAME \
78
+ AND P.ORDINAL_POSITION > 0 \
79
+ ORDER BY P.ORDINAL_POSITION \
80
+ ) param_list \
81
+ , R.ROUTINE_DEFINITION body \
82
+ FROM INFORMATION_SCHEMA.ROUTINES R \
83
+ WHERE R.ROUTINE_SCHEMA = '$$schema' \
84
+ AND R.ROUTINE_TYPE = 'PROCEDURE' \
85
+ ORDER BY R.ROUTINE_NAME \
86
+ ) R;" | \
87
+ mysql -h"mysql" -u"root" --skip-column-names | \
88
+ awk '{gsub(/\\n/,"\n")}1' | awk '{gsub(/\\t/,"\t")}2' >> /out/500_$$schema\_SP.sql; \
89
+ echo " \
90
+ SET SESSION group_concat_max_len = 1000000; \
91
+ SELECT CONCAT( \
92
+ 'DELIMITER \$$\$$ \nDROP FUNCTION IF EXISTS \`', db, '\`.\`', name, '\` \$$\$$ \nCREATE FUNCTION \`', db, \
93
+ '\`.\`', name, '\` (', IFNULL(param_list, ''), '\n)\nRETURNS ', returns, '\nSQL SECURITY INVOKER \n', body, ' \$$\$$\nDELIMITER ;\n\n') \
94
+ FROM ( \
95
+ SELECT R.ROUTINE_SCHEMA db \
96
+ , R.ROUTINE_NAME name \
97
+ , (SELECT GROUP_CONCAT(CONCAT('\n ' \
98
+ , P.PARAMETER_NAME, ' ' \
99
+ , CASE P.DATA_TYPE \
100
+ WHEN 'int' THEN P.DATA_TYPE \
101
+ WHEN 'tinyint' THEN P.DATA_TYPE \
102
+ WHEN 'smallint' THEN P.DATA_TYPE \
103
+ WHEN 'bigint' THEN P.DATA_TYPE \
104
+ ELSE P.DTD_IDENTIFIER \
105
+ END)) \
106
+ FROM INFORMATION_SCHEMA.PARAMETERS P \
107
+ WHERE P.SPECIFIC_SCHEMA = R.ROUTINE_SCHEMA \
108
+ AND P.SPECIFIC_NAME = R.ROUTINE_NAME \
109
+ AND P.ORDINAL_POSITION > 0 \
110
+ ORDER BY P.ORDINAL_POSITION \
111
+ ) param_list \
112
+ , R.ROUTINE_DEFINITION body \
113
+ , CASE R.DATA_TYPE \
114
+ WHEN 'int' THEN R.DATA_TYPE \
115
+ WHEN 'tinyint' THEN R.DATA_TYPE \
116
+ WHEN 'smallint' THEN R.DATA_TYPE \
117
+ WHEN 'bigint' THEN R.DATA_TYPE \
118
+ ELSE R.DTD_IDENTIFIER \
119
+ END returns \
120
+ FROM INFORMATION_SCHEMA.ROUTINES R \
121
+ WHERE R.ROUTINE_SCHEMA = '$$schema' \
122
+ AND R.ROUTINE_TYPE = 'FUNCTION' \
123
+ ORDER BY R.ROUTINE_NAME \
124
+ ) F;" | \
125
+ mysql -h"mysql" -u"root" --skip-column-names | \
126
+ awk '{gsub(/\\n/,"\n")}1' | awk '{gsub(/\\t/,"\t")}2' >> /out/500_$$schema\_SP.sql; \
127
+ done;
128
+
129
+ run-exp-init-data:
130
+ @if ls $(REPO_PATH)/890_*.sql > /dev/null 2>&1; then \
131
+ for file in $(REPO_PATH)/890_*.sql; do \
132
+ echo "EXTRACTING INIT DATA FROM FILE: `basename $$file`"; \
133
+ cp $$file `echo $$file | awk -F"/890_" '{ printf("/out/300_%s", $$2)}'`; \
134
+ done; \
135
+ fi;
136
+ @if ls $(REPO_PATH)/990_*.sql > /dev/null 2>&1; then \
137
+ for file in $(REPO_PATH)/990_*.sql; do \
138
+ echo "EXTRACTING INIT DATA FROM TABLE: `basename $$file`"; \
139
+ export OUTPUT=`echo $$file | awk -F"/990_" '{ printf("/out/300_%s", $$2)}'`; \
140
+ cat $$file | (mysql -h"mysql" -u"root" --skip-column-names) | \
141
+ awk '{gsub(/\\n/,"\n")}1' | awk '{gsub(/\\t/,"\t")}2' \
142
+ > $$OUTPUT; \
143
+ done; \
144
+ fi;
145
+
146
+ run-exp-grant:
147
+ @export PASSWORD='MyAppP@ssw0rd!!'; \
148
+ export SCHEMAS=`make --no-print-directory -f$(MAKEFILE) schemas | \
149
+ awk -F"." 'BEGIN{first=1} \
150
+ { \
151
+ printf("%s", (1 != first) ? "," : ""); \
152
+ first = 0; \
153
+ printf("'\''%s'\''", $$1) \
154
+ }'`; \
155
+ \
156
+ echo "-- GRANT FOR: $$SCHEMAS" > /out/910_DB_Grant_User.sql; \
157
+ echo "" >> /out/910_DB_Grant_User.sql; \
158
+ \
159
+ for grantee in `make --no-print-directory -f$(MAKEFILE) run-exp-grantee`; do \
160
+ echo "DROP USER IF EXISTS $$grantee;" >> /out/910_DB_Grant_User.sql; \
161
+ done; \
162
+ echo "" >> /out/910_DB_Grant_User.sql; \
163
+ \
164
+ for grantee in `make --no-print-directory -f$(MAKEFILE) run-exp-grantee`; do \
165
+ echo "CREATE USER $$grantee IDENTIFIED BY '$$PASSWORD';" >> /out/910_DB_Grant_User.sql; \
166
+ done; \
167
+ echo "" >> /out/910_DB_Grant_User.sql; \
168
+ \
169
+ for grantee in `make --no-print-directory -f$(MAKEFILE) run-exp-grantee`; do \
170
+ echo "EXTRACTING GRANT: $$grantee"; \
171
+ \
172
+ echo "$$grantee" | awk -F"@" '{printf("-- %s\n", toupper($$1))}' >> /out/910_DB_Grant_User.sql; \
173
+ echo " \
174
+ SHOW GRANTS FOR $$grantee;" | \
175
+ mysql -h"mysql" -u"root" --skip-column-names | \
176
+ awk '{gsub(/\\n/,"\n")}1' | awk '{gsub(/\\t/,"\t")}2' | awk '{printf("%s;\n", $$0)}' > grant_sort.sql; \
177
+ \
178
+ for item in `cat grant_sort.sql | awk -F"ON " '{printf("%dON %s\n",NR,$$0)}' | \
179
+ awk -F"ON " '{printf("%s.%s\n", $$1, $$3)}' | \
180
+ awk -F"." '{printf("%s:::::%s\n", $$2, $$1)}' | sort`; \
181
+ do \
182
+ export LINE=`echo $$item | awk -F":::::" '{printf("%s",$$2)}'`; \
183
+ cat grant_sort.sql | awk '{if (NR == ENVIRON["LINE"]) print}' >> /out/910_DB_Grant_User.sql; \
184
+ done; \
185
+ echo "" >> /out/910_DB_Grant_User.sql; \
186
+ done;
187
+
188
+ run-exp-grantee:
189
+ @export SCHEMAS=`make --no-print-directory -f$(MAKEFILE) schemas | \
190
+ awk -F"." 'BEGIN{first=1} \
191
+ { \
192
+ printf("%s", (1 != first) ? "," : ""); \
193
+ first = 0; \
194
+ printf("'\''%s'\''", $$1) \
195
+ }'`; \
196
+ echo " \
197
+ SET SESSION group_concat_max_len = 1000000; \
198
+ SELECT DISTINCT GRANTEE FROM INFORMATION_SCHEMA.SCHEMA_PRIVILEGES \
199
+ WHERE TABLE_SCHEMA IN ($$SCHEMAS) \
200
+ ORDER BY GRANTEE;" | \
201
+ mysql -h"mysql" -u"root" --skip-column-names | \
202
+ awk '{gsub(/\\n/,"\n")}1' | awk '{gsub(/\\t/,"\t")}2';
203
+
204
+ schemas:
205
+ @echo "" | \
206
+ (cat - $(REPO_PATH)/0*.sql 2>/dev/null || cat -) | \
207
+ grep "CREATE DATABASE IF NOT EXISTS " | \
208
+ awk -F"CREATE DATABASE IF NOT EXISTS " '{ print $$2}' | \
209
+ awk -F" " '{ gsub("\`", "", $$1); print $$1 }'
210
+
211
+ cli:
212
+ @docker run --rm -it -v $(REPO_PATH):/sql $$(docker build -q .)
213
+
214
+ dup:
215
+ @(make --no-print-directory -f$(MAKEFILE) dup-list) | sort | uniq -d;
216
+
217
+ dup-count:
218
+ @(make --no-print-directory -f$(MAKEFILE) dup-list) | wc -l | awk '{$$1=$$1};1';
219
+
220
+ dup-list:
221
+ @if [ -f $(REPO_PATH)/DEV_MODE.txt ]; then \
222
+ cat $(REPO_PATH)/DEV_8*.sql 2>/dev/null | \
223
+ awk -F"CREATE PROCEDURE " '{printf("%s\n",$$2)}' | \
224
+ awk NF | \
225
+ awk -F"(" '{print $$1;}' | \
226
+ awk '{$$1=$$1};1' | \
227
+ awk '{gsub("\\`","")}1' | \
228
+ sort; \
229
+ else \
230
+ cat $(REPO_PATH)/8*.sql 2>/dev/null | \
231
+ awk -F"CREATE PROCEDURE " '{printf("%s\n",$$2)}' | \
232
+ awk NF | \
233
+ awk -F"(" '{print $$1;}' | \
234
+ awk '{$$1=$$1};1' | \
235
+ awk '{gsub("\\`","")}1' | \
236
+ sort; \
237
+ fi;
238
+
239
+ # Clone the database repo according to target version (GIt_TAG), and do a prerequisite check
240
+ # Install database when it is not exists, otherwise patching process will be trigger
241
+ install: prerequisite
242
+ @echo "Target version: $(GIT_TAG)"
243
+ @set -e -o pipefail; \
244
+ make --no-print-directory -f$(MAKEFILE) version-get > $(REPO_PATH)/version.txt; \
245
+ if [ -z "$$(cat $(REPO_PATH)/version.txt)" ]; then \
246
+ make --no-print-directory -f$(MAKEFILE) run-init; \
247
+ else \
248
+ make --no-print-directory -f$(MAKEFILE) run-patch; \
249
+ fi;
250
+
251
+ # Initialize database, it will run all the script files (0XX, 1XX, 3XX, 5XX, 6XX, 9XX) except 7XX & 8XX
252
+ # NOTE: MySQL doesn't support transactional DDL, any error on script will lead to database half-migrated
253
+ run-init: version-set
254
+ @set -e -o pipefail; \
255
+ make --no-print-directory -f$(MAKEFILE) get-init > $(REPO_PATH)/all.sql;
256
+ @echo "DATABASE installed version: N/A"
257
+ @echo "DATABASE target version: $(GIT_TAG)"
258
+ @echo "==> DATABASE installation in progress..."
259
+ @set -e -o pipefail; \
260
+ ((cat $(REPO_PATH)/all.sql | (mysql --abort-source-on-error=1 --comments -h"$(HOST_IP)" -u"$(USERNAME)" -p"$(PASSWORD)" 2> $(REPO_PATH)/error.txt)) && \
261
+ ( \
262
+ echo "==> DATABASE has been installed"; \
263
+ )) || \
264
+ ( \
265
+ make --no-print-directory -f$(MAKEFILE) test-show-init-error; \
266
+ exit 1; \
267
+ );
268
+
269
+ # Patch database, it will run all the 7XX, 8XX script files from the installed version to target version (including current repo if it is not versioned)
270
+ # NOTE: MySQL doesn't support transactional DDL, any error on script will lead to database half-migrated
271
+ run-patch: version-set
272
+ @set -e -o pipefail; \
273
+ make --no-print-directory -f$(MAKEFILE) get-patch FROM="$$(make --no-print-directory -f$(MAKEFILE) version-get)" TO="$(GIT_TAG)" > $(REPO_PATH)/patch.sql;
274
+ @echo "DATABASE installed version: $$(cat $(REPO_PATH)/version.txt)"
275
+ @echo "DATABASE target version: $(GIT_TAG)"
276
+ @echo
277
+ @set -e -o pipefail; \
278
+ if [ "$(GIT_TAG)" == "$$(cat $(REPO_PATH)/version.txt)" ]; then \
279
+ echo "==> DATABASE is latest version"; \
280
+ else \
281
+ echo "==> DATABASE patching in progress..."; \
282
+ ((cat $(REPO_PATH)/patch.sql | (mysql --abort-source-on-error=1 --comments -h"$(HOST_IP)" -u"$(USERNAME)" -p"$(PASSWORD)" 2> $(REPO_PATH)/error.txt)) && \
283
+ ( \
284
+ cat $(REPO_PATH)/patch.sql | grep " PATCH - "; \
285
+ echo "==> DATABASE has been patched"; \
286
+ )) || \
287
+ ( \
288
+ make --no-print-directory -f$(MAKEFILE) test-show-patch-error; \
289
+ exit 1; \
290
+ ); \
291
+ fi;
292
+
293
+ run-test: version-sync
294
+ @set -e -o pipefail; \
295
+ if ! [ -z `make --no-print-directory -f$(MAKEFILE) dup` ]; then \
296
+ echo ">>== DUPLICATED STORED PROCEDURE ==<<"; \
297
+ make --no-print-directory -f$(MAKEFILE) dup; \
298
+ echo ">>== \"-_- ==<<"; \
299
+ echo ""; \
300
+ exit 1; \
301
+ else \
302
+ echo ">>== CHECKED `make --no-print-directory -f$(MAKEFILE) dup-count` STORED PROCEDURE(S) ==<<"; \
303
+ fi;
304
+ @set -e -o pipefail; \
305
+ if (ls $(REPO_PATH)/7*.sql > /dev/null 2>&1) || (ls $(REPO_PATH)/8*.sql > /dev/null 2>&1); then \
306
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql patch || \
307
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
308
+ docker-compose down --remove-orphans -v --rmi local | true; \
309
+ fi;
310
+ @set -e -o pipefail; \
311
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql init || \
312
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
313
+ docker-compose down --remove-orphans -v --rmi local | true; \
314
+ echo ">>== DONE ==<<"
315
+
316
+ test: version-sync
317
+ @bash -e -o pipefail -c '\
318
+ if ! [ -z `make --no-print-directory -f$(MAKEFILE) dup` ]; then \
319
+ echo ">>== DUPLICATED STORED PROCEDURE ==<<"; \
320
+ make --no-print-directory -f$(MAKEFILE) dup; \
321
+ echo ">>== \"-_- ==<<"; \
322
+ echo ""; \
323
+ exit 1; \
324
+ else \
325
+ echo ">>== CHECKED `make --no-print-directory -f$(MAKEFILE) dup-count` STORED PROCEDURE(S) ==<<"; \
326
+ fi';
327
+ @bash -e -o pipefail -c '\
328
+ if [ -f $(REPO_PATH)/DEV_MODE.txt ]; then \
329
+ if (ls $(REPO_PATH)/DEV_7*.sql > /dev/null 2>&1) || (ls $(REPO_PATH)/DEV_8*.sql > /dev/null 2>&1); then \
330
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql patch || \
331
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
332
+ docker-compose down --remove-orphans -v --rmi local | true; \
333
+ fi; \
334
+ else \
335
+ if (ls $(REPO_PATH)/7*.sql > /dev/null 2>&1) || (ls $(REPO_PATH)/8*.sql > /dev/null 2>&1); then \
336
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql patch || \
337
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
338
+ docker-compose down --remove-orphans -v --rmi local | true; \
339
+ fi; \
340
+ fi';
341
+ @bash -e -o pipefail -c '\
342
+ docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql init || \
343
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1); \
344
+ docker-compose down --remove-orphans -v --rmi local | true; \
345
+ echo ">>== DONE ==<<"'
346
+
347
+ wait-for:
348
+ @echo "Waiting for database ready..."
349
+ @until nc -w 1 mysql 3306; do sleep 1; done
350
+ @echo "Database is ready!"
351
+
352
+ test-show-init-error:
353
+ @echo ">>== INIT ==<<"
354
+ @echo "..."
355
+ @export ERROR_LINE=`cat $(REPO_PATH)/error.txt | grep "at line " | awk -F"at line " '{ split($$2,e,":"); printf("%s",e[1]); exit 0; }'`; \
356
+ cat $(REPO_PATH)/all.sql | awk 'BEGIN { \
357
+ line = 0; \
358
+ start = 0; \
359
+ limit = 50; \
360
+ if ("" != ENVIRON["ERROR_LINE"]) { \
361
+ start = ENVIRON["ERROR_LINE"]; \
362
+ if (20 <= start) { \
363
+ start = start - 20; \
364
+ } \
365
+ } \
366
+ } \
367
+ { \
368
+ if (line++ > start) { \
369
+ printf("%06d %s\n", line, $$0); \
370
+ if (0 >= limit--) { \
371
+ exit 0; \
372
+ } \
373
+ } \
374
+ }'
375
+ @echo "..."
376
+ @cat $(REPO_PATH)/error.txt
377
+ @echo ">>== INIT ==<<"
378
+
379
+ test-show-patch-error:
380
+ @echo ">>== PATCH ==<<"
381
+ @echo "..."
382
+ @export ERROR_LINE=`cat $(REPO_PATH)/error.txt | grep "at line " | awk -F"at line " '{ split($$2,e,":"); printf("%s",e[1]); exit 0; }'`; \
383
+ cat $(REPO_PATH)/patch.sql | awk 'BEGIN { \
384
+ line = 0; \
385
+ start = 0; \
386
+ limit = 50; \
387
+ if ("" != ENVIRON["ERROR_LINE"]) { \
388
+ start = ENVIRON["ERROR_LINE"]; \
389
+ if (20 <= start) { \
390
+ start = start - 20; \
391
+ } \
392
+ } \
393
+ } \
394
+ { \
395
+ if (line++ > start) { \
396
+ printf("%06d %s\n", line, $$0); \
397
+ if (0 >= limit--) { \
398
+ exit 0; \
399
+ } \
400
+ } \
401
+ }'
402
+ @echo "..."
403
+ @cat $(REPO_PATH)/error.txt
404
+ @echo ">>== PATCH ==<<"
405
+
406
+ test-init: test-run-init test-check-sp-invoker
407
+ @echo ">>== PASSED ==<<";
408
+
409
+ test-run-init: prepare-init wait-for
410
+ @(cat $(REPO_PATH)/all.sql | (mysql --abort-source-on-error=1 --comments -h"mysql" -u"root" 2> $(REPO_PATH)/error.txt)) || \
411
+ ( \
412
+ make --no-print-directory -f$(MAKEFILE) test-show-init-error; \
413
+ exit 1; \
414
+ )
415
+
416
+ test-patch: test-run-patch test-check-sp-invoker
417
+ @echo ">>== PASSED ==<<";
418
+
419
+ test-run-patch: prepare-patch wait-for
420
+ @set -e -o pipefail; \
421
+ if [ -f $(REPO_PATH)/patch.sql ]; then \
422
+ ((cat $(REPO_PATH)/patch.sql | (mysql --abort-source-on-error=1 --comments -h"mysql" -u"root" 2> $(REPO_PATH)/error.txt)) && \
423
+ ( \
424
+ cat $(REPO_PATH)/patch.sql | \
425
+ grep " PATCH - " | \
426
+ awk -F" PATCH - " '{ split($$2,v," "); print "* PATCH " v[1]}' | \
427
+ uniq; \
428
+ )) || \
429
+ ( \
430
+ make --no-print-directory -f$(MAKEFILE) test-show-patch-error; \
431
+ exit 1; \
432
+ ) \
433
+ fi;
434
+
435
+ test-check-sp-invoker:
436
+ @set -e -o pipefail; \
437
+ if [ ! -z "`make --no-print-directory -f$(MAKEFILE) test-run-check-sp-invoker`" ]; then \
438
+ echo "ERROR: Enforced security type INVOKER for STORED PROCEDURES"; \
439
+ echo `make --no-print-directory -f$(MAKEFILE) test-run-check-sp-invoker`; \
440
+ exit 1; \
441
+ fi; \
442
+
443
+ test-run-check-sp-invoker:
444
+ @set -e -o pipefail; \
445
+ for schema in `make --no-print-directory -f$(MAKEFILE) schemas`; do \
446
+ mysql -h"mysql" -u"root" \
447
+ -D $$schema --skip-column-names \
448
+ -e "SELECT CONCAT('\`', db, '\`.\`', name, '\`') sp FROM mysql.proc WHERE db = '$$schema' AND type = 'PROCEDURE' AND security_type != 'INVOKER' ORDER BY name"; \
449
+ done;
450
+
451
+ prepare-init:
452
+ @(make --no-print-directory -f$(MAKEFILE) view-init) > $(REPO_PATH)/all.sql
453
+
454
+ prepare-patch:
455
+ @set -e -o pipefail; \
456
+ if [ ! -z "`make --no-print-directory -f$(MAKEFILE) version-first`" ]; then \
457
+ make --no-print-directory -f$(MAKEFILE) prepare-first-init > $(REPO_PATH)/patch.sql; \
458
+ make --no-print-directory -f$(MAKEFILE) view-patch FROM=`make --no-print-directory -f$(MAKEFILE) version-first` >> $(REPO_PATH)/patch.sql; \
459
+ else \
460
+ make --no-print-directory -f$(MAKEFILE) view-init > $(REPO_PATH)/patch.sql; \
461
+ fi; \
462
+ make --no-print-directory -f$(MAKEFILE) tagged 2>/dev/null || \
463
+ make --no-print-directory -f$(MAKEFILE) view-patch FROM="" >> $(REPO_PATH)/patch.sql; \
464
+
465
+ prepare-first-init:
466
+ @for version in `make --no-print-directory -f$(MAKEFILE) version-first`; do \
467
+ for file in `make --no-print-directory -f$(MAKEFILE) version-files VERSION="$$version" | \
468
+ make --no-print-directory -f$(MAKEFILE) version-init-file`; do \
469
+ echo "-- INIT - $$version $$file --"; \
470
+ git --git-dir=$(GIT_PATH) --no-pager show $$file; \
471
+ echo "-- INIT END --"; \
472
+ echo; \
473
+ done; \
474
+ echo; \
475
+ done;
476
+
477
+ view-init: get-init
478
+
479
+ # Based on DEV_MODE.txt file to determine which group of file need to take for different environment needs
480
+ # DEV_MODE.txt file should be remove when version release
481
+ view-patch:
482
+ @if [ -z "$(FROM)" ]; then \
483
+ if [ -f $(REPO_PATH)/DEV_MODE.txt ]; then \
484
+ if (ls $(REPO_PATH)/DEV_7*.sql > /dev/null 2>&1); then \
485
+ (for file in $(REPO_PATH)/DEV_7*.sql; do \
486
+ echo "-- PATCH - HEAD $$file --"; \
487
+ cat $$file; \
488
+ echo; \
489
+ echo "-- PATCH END --"; \
490
+ echo; \
491
+ done) 2>/dev/null; \
492
+ fi; \
493
+ if (ls $(REPO_PATH)/DEV_8*.sql > /dev/null 2>&1); then \
494
+ (for file in $(REPO_PATH)/DEV_8*.sql; do \
495
+ echo "-- PATCH - HEAD $$file --"; \
496
+ cat $$file; \
497
+ echo; \
498
+ echo "-- PATCH END --"; \
499
+ echo; \
500
+ done) 2>/dev/null; \
501
+ fi; \
502
+ else \
503
+ if (ls $(REPO_PATH)/7*.sql > /dev/null 2>&1); then \
504
+ (for file in $(REPO_PATH)/7*.sql; do \
505
+ echo "-- PATCH - HEAD $$file --"; \
506
+ cat $$file; \
507
+ echo; \
508
+ echo "-- PATCH END --"; \
509
+ echo; \
510
+ done) 2>/dev/null; \
511
+ fi; \
512
+ if (ls $(REPO_PATH)/8*.sql > /dev/null 2>&1); then \
513
+ (for file in $(REPO_PATH)/8*.sql; do \
514
+ echo "-- PATCH - HEAD $$file --"; \
515
+ cat $$file; \
516
+ echo; \
517
+ echo "-- PATCH END --"; \
518
+ echo; \
519
+ done) 2>/dev/null; \
520
+ fi; \
521
+ fi; \
522
+ else \
523
+ make --no-print-directory -f$(MAKEFILE) get-patch; \
524
+ fi;
525
+
526
+ view-patch-file:
527
+ @make --no-print-directory -f$(MAKEFILE) get-patch NO_OUT=1
528
+
529
+ get-init:
530
+ @(for file in $(REPO_PATH)/0*.sql; do cat $$file; echo; done) 2>/dev/null; \
531
+ (for file in $(REPO_PATH)/1*.sql; do cat $$file; echo; done) 2>/dev/null; \
532
+ (for file in $(REPO_PATH)/3*.sql; do cat $$file; echo; done) 2>/dev/null; \
533
+ (for file in $(REPO_PATH)/5*.sql; do cat $$file; echo; done) 2>/dev/null; \
534
+ (for file in $(REPO_PATH)/6*.sql; do cat $$file; echo; done) 2>/dev/null; \
535
+ (for file in $(REPO_PATH)/910_*.sql; do cat $$file; echo; done) 2>/dev/null; \
536
+ (cat $(REPO_PATH)/VERSION.sql 2>/dev/null); echo;
537
+
538
+ # Combine all the 7XX script from installed version to target version (including current repo if it is not tagged)
539
+ get-patch:
540
+ @make --no-print-directory -f$(MAKEFILE) get-prepare-patch | \
541
+ (cat - $(REPO_PATH)/VERSION.sql 2>/dev/null || cat -) | awk 'BEGIN { printf("\n") } { print }';
542
+
543
+ get-prepare-patch:
544
+ @for version in `make --no-print-directory -f$(MAKEFILE) version-range`; do \
545
+ for file in `make --no-print-directory -f$(MAKEFILE) version-files VERSION="$$version" | \
546
+ make --no-print-directory -f$(MAKEFILE) version-patch-file`; do \
547
+ echo "-- PATCH - $$version $$file --"; \
548
+ if [ -z "$(NO_OUT)" ]; then \
549
+ git --git-dir=$(GIT_PATH) --no-pager show $$file; \
550
+ echo; \
551
+ echo "-- PATCH END --"; \
552
+ echo; \
553
+ fi; \
554
+ done; \
555
+ done
556
+
557
+ # Retrieve all the version from the installed version to target version
558
+ version-range:
559
+ @set -e -o pipefail; \
560
+ git --git-dir=$(GIT_PATH) tag --sort=creatordate | \
561
+ awk 'BEGIN { \
562
+ from = 0; \
563
+ to = 0; \
564
+ } \
565
+ { \
566
+ if (from == 0) { \
567
+ if ($$1 != ENVIRON["FROM"]) { \
568
+ next; \
569
+ } \
570
+ from = 1; \
571
+ next; \
572
+ } \
573
+ if (to == 0) { \
574
+ if ($$1 == ENVIRON["TO"]) { \
575
+ to = 1; \
576
+ } \
577
+ if (ENVIRON["PRERELEASE_TAG"] == "true") { \
578
+ if (0 < index($$1, "-rc")) { \
579
+ print $$1; \
580
+ } \
581
+ } \
582
+ else { \
583
+ if (0 == index($$1, "-rc")) { \
584
+ print $$1; \
585
+ } \
586
+ } \
587
+ } \
588
+ }'
589
+
590
+ # Retrieve all the file according to environment variable VERSION
591
+ version-files:
592
+ @for file in `git --git-dir=$(GIT_PATH) ls-tree --name-only $(VERSION):`; \
593
+ do \
594
+ echo "$$file" | awk 'END { printf("%s==>", $$0) }'; \
595
+ git --git-dir=$(GIT_PATH) log --pretty=short $(VERSION) -- $$file | grep commit | cut -b8- | head -n 1; \
596
+ done;
597
+
598
+ # Filter out 7XX script and 8XX script
599
+ version-init-file:
600
+ @awk -F"==>" '{ \
601
+ file = $$1; \
602
+ if (file ~ /^[0-6|9][0-9][0-9][_-].*[.]sql$$/) { \
603
+ hash = $$2; \
604
+ print hash ":" file; \
605
+ } \
606
+ }'
607
+
608
+ # Filter for 7XX script and 8XX script
609
+ version-patch-file:
610
+ @awk -F"==>" '{ \
611
+ file = $$1; \
612
+ if (file ~ /^[7|8][0-9][0-9][_-].*[.]sql$$/) { \
613
+ hash = $$2; \
614
+ print hash ":" file; \
615
+ } \
616
+ }'
617
+
618
+ # Check wheather the cloned repo has been tagged or not
619
+ tagged:
620
+ @if [ -z "$(FROM)" ]; then \
621
+ export FROM=HEAD; \
622
+ fi; \
623
+ for tag in `git --git-dir=$(GIT_PATH) describe --tags $$(git --git-dir=$(GIT_PATH) rev-parse $(FROM))`; do \
624
+ for version in `make --no-print-directory -f$(MAKEFILE) versions`; do \
625
+ if [ $$tag == $$version ]; then \
626
+ exit 0; \
627
+ fi; \
628
+ done; \
629
+ done; \
630
+ exit 1;
631
+
632
+ # Retrieve all the tagged version
633
+ versions:
634
+ @(git tag --sort=-creatordate || echo) | \
635
+ awk '{ \
636
+ if (ENVIRON["PRERELEASE_TAG"] == "false") { \
637
+ if (0 == index($$1, "-rc")) { \
638
+ print $$1; \
639
+ } \
640
+ } \
641
+ else { \
642
+ print $$1; \
643
+ } \
644
+ }' | \
645
+ awk NF
646
+
647
+ # Get the installed version number from database
648
+ version-get:
649
+ @if [ ! -z "$$VERSION" ]; then \
650
+ echo -n $$VERSION; \
651
+ exit 0; \
652
+ fi;
653
+ @set -e; set -o pipefail; cat $(REPO_PATH)/GET_VERSION.sql | \
654
+ awk '{ gsub(/\{\{VERSION\}\}/, ENVIRON["GIT_TAG"], $$0); print }' | \
655
+ mysql -h"$(HOST_IP)" -u"$(USERNAME)" -p"$(PASSWORD)" | \
656
+ awk 'NR==2 { printf("%s", $$0) }'
657
+
658
+ # Set the target version number into database
659
+ # {{VERSION}} keyword will be replace by GIT_TAG value
660
+ # {{CI_PIPELINE_URL}} keyword will be replace by CI pipeline URL
661
+ version-set: prerequisite
662
+ @cat $(REPO_PATH)/SET_VERSION.sql | \
663
+ awk '{ gsub(/\{\{VERSION\}\}/, ENVIRON["GIT_TAG"], $$0); print }' | \
664
+ awk '{ gsub(/\{\{CI_PIPELINE_URL\}\}/, ENVIRON["CI_PIPELINE_URL"], $$0); print }' > $(REPO_PATH)/VERSION.sql
665
+
666
+ # Prerequisite check wheather the get & set version methods are exists
667
+ prerequisite:
668
+ @if [ ! -f $(REPO_PATH)/GET_VERSION.sql ]; then \
669
+ echo "MISSING GET_VERSION SCRIPT!!" && exit 1; \
670
+ else \
671
+ if [ ! -f $(REPO_PATH)/SET_VERSION.sql ]; then \
672
+ echo "MISSING SET_VERSION SCRIPT!!" && exit 1; \
673
+ fi; \
674
+ fi;
675
+
676
+ pre-build: version-prerelease
677
+
678
+ build: version-patch
679
+
680
+ name:
681
+ @echo -n $(PROJECT_NAME)
682
+
683
+ separator:
684
+ @echo -n ":"
685
+
686
+ image: name separator version
687
+
688
+ version:
689
+ @cat package.json | jq -r '.version'
690
+
691
+ version-major: version-sync
692
+ @npm -s version major --no-git-tag-version
693
+
694
+ version-minor: version-sync
695
+ @npm -s version minor --no-git-tag-version
696
+
697
+ version-patch: version-sync
698
+ @npm -s version patch --no-git-tag-version
699
+
700
+ version-prerelease: version-sync
701
+ @npm -s version prerelease --preid=rc --no-git-tag-version
702
+
703
+ version-first:
704
+ @(git tag --sort=-creatordate || echo) | tac | awk 'NR==1 { \
705
+ split($$0, n, "-"); \
706
+ if (n[1] != "") { \
707
+ split(n[1], v, "."); \
708
+ if (v[1] ~ /^[0-9]+$$/ && v[2] ~ /^[0-9]+$$/ && v[3] ~ /^[0-9]+$$/) { \
709
+ if (ENVIRON["PRERELEASE_TAG"] == "true") { \
710
+ printf("%s", $$0); \
711
+ exit 0; \
712
+ } \
713
+ else { \
714
+ if (0 == index($$0, "-rc")) { \
715
+ printf("%s", $$0); \
716
+ exit 0; \
717
+ } \
718
+ } \
719
+ } \
720
+ } \
721
+ }'
722
+
723
+ version-latest:
724
+ @(git tag --sort=-creatordate || echo) | awk 'NR==1 { \
725
+ split($$0, n, "-"); \
726
+ if (n[1] != "") { \
727
+ split(n[1], v, "."); \
728
+ if (v[1] ~ /^[0-9]+$$/ && v[2] ~ /^[0-9]+$$/ && v[3] ~ /^[0-9]+$$/) { \
729
+ if (ENVIRON["PRERELEASE_TAG"] == "true") { \
730
+ printf("%s", $$0); \
731
+ exit 0; \
732
+ } \
733
+ else { \
734
+ if (0 == index($$0, "-rc")) { \
735
+ printf("%s", $$0); \
736
+ exit 0; \
737
+ } \
738
+ } \
739
+ } \
740
+ } \
741
+ }'
742
+
743
+ version-previous:
744
+ @if [ -z "$(FROM)" ]; then \
745
+ export FROM=HEAD; \
746
+ fi; \
747
+ git log --format="%D" `git rev-parse $(FROM)` | grep tag | awk NF | \
748
+ awk '{ \
749
+ split($$0, n, "tag: "); \
750
+ if ("" != n[2]) { \
751
+ split(n[2], v, ", "); \
752
+ if (ENVIRON["PRERELEASE_TAG"] == "true" || 0 == index(v[1], "-rc")) { \
753
+ printf("%s", v[1]); \
754
+ exit 0; \
755
+ } \
756
+ } \
757
+ }'
758
+
759
+ version-sync:
760
+ @if [ ! -z "$(CI_COMMIT_BRANCH)" ]; then \
761
+ git checkout $(CI_COMMIT_BRANCH); \
762
+ fi;
763
+ @git pull 2>/dev/null || true
764
+ @git pull --tags 2>/dev/null || true
765
+ @git tag --sort=-creatordate | head -10
766
+ @echo '{"version": ""}' | jq -r --arg PKG_VERSION `(make --no-print-directory -f$(MAKEFILE) version-latest PRERELEASE_TAG=true) | \
767
+ awk 'END{ \
768
+ if (0 == NR) { \
769
+ printf("1.0.0-rc.0"); \
770
+ } \
771
+ else { \
772
+ print; \
773
+ } \
774
+ }'` '.version=$$PKG_VERSION' > package.json;
775
+ @echo -n "Current Git tag: "; cat package.json | jq -r '.version'
776
+
777
+ sync: version-sync
778
+ @docker-compose up --no-deps --build --force-recreate --abort-on-container-exit mysql run-sync || \
779
+ ((docker-compose down --remove-orphans -v --rmi local | true); exit 1)
780
+ @docker-compose down --remove-orphans -v --rmi local | true
781
+ @echo ">>== DONE ==<<"
782
+
783
+ run-sync: prepare-init wait-for
784
+ @echo ">>== SYNC ==<<"
785
+ @cat $(REPO_PATH)/all.sql | awk 'BEGIN { line = 0 } { printf("%06d %s\n", ++line, $$0) }'
786
+ @echo ">>== SYNC ==<<"
787
+ @set -e -o pipefail; \
788
+ (cat $(REPO_PATH)/all.sql | mysql --abort-source-on-error=1 -h"mysql" -u"root")
789
+
790
+ ## generata insert statement for nm_email_template,required ${TEMPLATE_CODE}-en_US-content.html file to generate new record,
791
+ ## other locale only required ${LOCALE}-content.html & ${LOCALE}-subject.html
792
+ gen-update-statement-email-template-file:
793
+ @make --no-print-directory -f$(MAKEFILE) update-statement-email-template | \
794
+ awk '{ lines = lines $$0 "\n"; } END{ printf("%s;", substr(lines,0,length(lines)-2))}' > push.sh;
795
+
796
+ update-statement-email-template:
797
+ @echo "INSERT INTO \`nm_email_template\` (\`id\`,\`name\`,\`code\`,\`desc\`,\`content\`,\`stored_procedure\`,\`provider_id\`,\`grp\`,\`type\`,\`flag\`,\`status\`,\`cby\`,\`cdate\`,\`mby\`,\`mdate\`,\`aby\`,\`adate\`,\`remarks\`) VALUES";
798
+ @for file in `make --no-print-directory -f$(MAKEFILE) email-template-file`; do \
799
+ echo "(" | tr -d \\n; \
800
+ cat `echo $$file | awk '{ f=$$1; gsub("-content","-id",f); printf(f)}'` | tr -d \\n; \
801
+ TEMPLATECODE=`echo "$$file" | awk -F":" '{ \
802
+ m = split($$1, a, "/"); \
803
+ fileName = a[m]; \
804
+ n = split(fileName, a, "-"); \
805
+ code = a[1]; \
806
+ printf(code); \
807
+ }'`; \
808
+ echo ",'$$TEMPLATECODE','$$TEMPLATECODE',NULL," | tr -d \\n; \
809
+ TOTALFILES=`find $(REPO_PATH)/Email-Templates/Individual -iname "$$TEMPLATECODE-*-content.html" | wc -l`; \
810
+ f=0; \
811
+ echo "'{" | tr -d \\n; \
812
+ for localFile in `find $(REPO_PATH)/Email-Templates/Individual -iname "$$TEMPLATECODE-*-content.html" | sort -n`; do \
813
+ f=$$((f + 1)); \
814
+ LOCALE=`echo "$$localFile" | awk -F":" '{ \
815
+ m = split($$1, a, "/"); \
816
+ fileName = a[m]; \
817
+ n = split(fileName, a, "-"); \
818
+ locale = a[2]; \
819
+ printf(locale); \
820
+ }'`; \
821
+ echo "\"$$LOCALE\":{\"subject\":\"" | tr -d \\n; \
822
+ cat `echo $$localFile | awk '{ f=$$1; gsub("-content","-subject",f); printf(f)}'` | base64 | tr -d \\n; \
823
+ echo "\",\"content\":\"" | tr -d \\n; \
824
+ cat `echo $$localFile` | base64 | tr -d \\n; \
825
+ if (( f == TOTALFILES ));then \
826
+ echo "\"}" | tr -d \\n; \
827
+ else \
828
+ echo "\"}," | tr -d \\n; \
829
+ fi \
830
+ done; \
831
+ echo "}','" | tr -d \\n; \
832
+ cat `echo $$file | awk '{ f=$$1; gsub("-content","-sp",f); printf(f)}'` | tr -d \\n; \
833
+ echo "',1,0,0,0,1,'SYS',UTC_TIMESTAMP(),'SYS',UTC_TIMESTAMP(),NULL,NULL,NULL),"; \
834
+ done;
835
+
836
+ email-template-file:
837
+ @find $(REPO_PATH)/Email-Templates/Individual -iname "*-en_US-content.html"
838
+
839
+
840
+ bus-gen-insert-statement-email-template-file:
841
+ @make --no-print-directory -f$(MAKEFILE) bus-insert-statement-email-template | \
842
+ awk '{ lines = lines $$0 "\n"; } END{ printf("%s;", substr(lines,0,length(lines)-2))}' > push.sh;
843
+
844
+ bus-insert-statement-email-template:
845
+ @echo "INSERT INTO \`nm_email_template\` (\`id\`,\`name\`,\`code\`,\`desc\`,\`content\`,\`stored_procedure\`,\`provider_id\`,\`grp\`,\`type\`,\`flag\`,\`status\`,\`cby\`,\`cdate\`,\`mby\`,\`mdate\`,\`aby\`,\`adate\`,\`remarks\`) VALUES";
846
+ @for file in `make --no-print-directory -f$(MAKEFILE) bus-email-template-file`; do \
847
+ echo "(" | tr -d \\n; \
848
+ cat `echo $$file | awk '{ f=$$1; gsub("-content","-id",f); printf(f)}'` | tr -d \\n; \
849
+ TEMPLATECODE=`echo "$$file" | awk -F":" '{ \
850
+ m = split($$1, a, "/"); \
851
+ fileName = a[m]; \
852
+ n = split(fileName, a, "-"); \
853
+ code = a[1]; \
854
+ printf(code); \
855
+ }'`; \
856
+ echo ",'$$TEMPLATECODE','$$TEMPLATECODE',NULL," | tr -d \\n; \
857
+ TOTALFILES=`find $(REPO_PATH)/Email-Templates/Enterprise -iname "$$TEMPLATECODE-*-content.html" | wc -l`; \
858
+ f=0; \
859
+ echo "'{" | tr -d \\n; \
860
+ for localFile in `find $(REPO_PATH)/Email-Templates/Enterprise -iname "$$TEMPLATECODE-*-content.html" | sort -n`; do \
861
+ f=$$((f + 1)); \
862
+ LOCALE=`echo "$$localFile" | awk -F":" '{ \
863
+ m = split($$1, a, "/"); \
864
+ fileName = a[m]; \
865
+ n = split(fileName, a, "-"); \
866
+ locale = a[2]; \
867
+ printf(locale); \
868
+ }'`; \
869
+ echo "\"$$LOCALE\":{\"subject\":\"" | tr -d \\n; \
870
+ cat `echo $$localFile | awk '{ f=$$1; gsub("-content","-subject",f); printf(f)}'` | base64 | tr -d \\n; \
871
+ echo "\",\"content\":\"" | tr -d \\n; \
872
+ cat `echo $$localFile` | base64 | tr -d \\n; \
873
+ if (( f == TOTALFILES ));then \
874
+ echo "\"}" | tr -d \\n; \
875
+ else \
876
+ echo "\"}," | tr -d \\n; \
877
+ fi \
878
+ done; \
879
+ echo "}','" | tr -d \\n; \
880
+ cat `echo $$file | awk '{ f=$$1; gsub("-content","-sp",f); printf(f)}'` | tr -d \\n; \
881
+ echo "',1,0,0,0,1,'SYS',UTC_TIMESTAMP(),'SYS',UTC_TIMESTAMP(),NULL,NULL,NULL),"; \
882
+ done;
883
+
884
+ bus-email-template-file:
885
+ @find $(REPO_PATH)/Email-Templates/Enterprise -iname "*-en_US-content.html"