gina 0.1.1-alpha.98 → 0.1.2-alpha.1

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 (370) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +30 -0
  3. package/README.md +125 -39
  4. package/bin/cli +130 -41
  5. package/bin/cli-debug +46 -15
  6. package/bin/cmd +63 -41
  7. package/bin/gina +57 -49
  8. package/framework/{v0.1.1-alpha.98/lib/inherits → v0.1.2-alpha.1}/LICENSE +1 -1
  9. package/framework/v0.1.2-alpha.1/VERSION +1 -0
  10. package/framework/{v0.1.1-alpha.98/core/asset/js/plugin/readme.md → v0.1.2-alpha.1/core/asset/plugin/README.md} +34 -12
  11. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  12. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  13. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  14. package/framework/{v0.1.1-alpha.98/core/asset/js/plugin/dist → v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js}/gina.js +4588 -3416
  15. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js +765 -0
  16. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  17. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
  18. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  19. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/config.js +315 -131
  20. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/index.js +460 -274
  21. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.js +22 -0
  22. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  23. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  24. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.v4.js +384 -0
  25. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/n1ql.js +3 -2
  26. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.js +22 -0
  27. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  28. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  29. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/controller/controller.js +1351 -902
  30. package/framework/v0.1.2-alpha.1/core/controller/index.js +23 -0
  31. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/gna.js +48 -24
  35. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/README.md +5 -0
  36. package/framework/v0.1.2-alpha.1/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.2-alpha.1/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.2-alpha.1/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/form-validator.js +404 -300
  53. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/main.js +1384 -1314
  54. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/router.js +221 -122
  55. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.express.js +69 -65
  56. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.isaac.js +274 -180
  57. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.js +710 -615
  58. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/config/settings.json +12 -0
  59. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  60. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/templates.json +4 -4
  61. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  62. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  63. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/index.js +13 -1
  64. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  65. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  66. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  67. package/framework/{v0.1.1-alpha.98/core/template/boilerplate/bundle_templates/html/layout → v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  68. package/framework/v0.1.2-alpha.1/core/template/command/gina.bat.tpl +8 -0
  69. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/command/gina.tpl +4 -4
  70. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/env.json +12 -0
  71. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/manifest.json +2 -0
  72. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/package.json +2 -2
  73. package/framework/v0.1.2-alpha.1/core/template/conf/statics.json +12 -0
  74. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/templates.json +9 -9
  75. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/console.js +3 -3
  76. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/context.js +233 -75
  77. package/framework/v0.1.2-alpha.1/helpers/data/LICENSE +9 -0
  78. package/framework/v0.1.2-alpha.1/helpers/data/README.md +12 -0
  79. package/framework/v0.1.2-alpha.1/helpers/data/package.json +20 -0
  80. package/framework/v0.1.2-alpha.1/helpers/data/src/main.js +295 -0
  81. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/dateFormat.js +9 -7
  82. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/index.js +13 -8
  83. package/framework/v0.1.2-alpha.1/helpers/json/LICENSE +9 -0
  84. package/framework/v0.1.2-alpha.1/helpers/json/README.md +12 -0
  85. package/framework/{v0.1.1-alpha.98/helpers/plugins → v0.1.2-alpha.1/helpers/json}/package.json +2 -2
  86. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/json/src/main.js +33 -28
  87. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/path.js +97 -22
  88. package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/helpers/plugins}/package.json +2 -2
  89. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/api-error.js +23 -23
  90. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/main.js +3 -3
  91. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/prototypes.js +46 -38
  92. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/text.js +2 -2
  93. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/package.json +1 -1
  94. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/dep/jszip.min.js +3 -3
  95. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/main.js +183 -168
  96. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/aliases.json +4 -1
  97. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/add.js +84 -28
  98. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/arguments.json +8 -0
  99. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/help.txt +4 -2
  100. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/list.js +175 -0
  101. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/remove.js +39 -27
  102. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/restart.js +14 -8
  103. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/start.js +283 -49
  104. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/stop.js +93 -74
  105. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/add.js +87 -49
  106. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/list.js +26 -4
  107. package/framework/{v0.1.1-alpha.98/lib/cmd/scope → v0.1.2-alpha.1/lib/cmd/env}/remove.js +29 -24
  108. package/framework/v0.1.2-alpha.1/lib/cmd/env/use.js +106 -0
  109. package/framework/v0.1.2-alpha.1/lib/cmd/framework/build.js +93 -0
  110. package/framework/v0.1.2-alpha.1/lib/cmd/framework/init.js +932 -0
  111. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link-node-modules.js +123 -0
  112. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link.js +132 -0
  113. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/open.js +25 -1
  114. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/restart.js +78 -26
  115. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/set.js +120 -40
  116. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/start.js +49 -20
  117. package/framework/v0.1.2-alpha.1/lib/cmd/framework/status.js +144 -0
  118. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/stop.js +64 -31
  119. package/framework/v0.1.2-alpha.1/lib/cmd/framework/tail.js +303 -0
  120. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/version.js +19 -4
  121. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/helper.js +357 -53
  122. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/index.js +23 -23
  123. package/framework/v0.1.2-alpha.1/lib/cmd/port/inc/scan.js +142 -0
  124. package/framework/v0.1.2-alpha.1/lib/cmd/port/list.js +464 -0
  125. package/framework/v0.1.2-alpha.1/lib/cmd/port/reset.js +417 -0
  126. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/add.js +344 -157
  127. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/arguments.json +2 -1
  128. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/build.js +28 -28
  129. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.txt +7 -1
  130. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/list.js +22 -2
  131. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/remove.js +19 -17
  132. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rename.js +11 -11
  133. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/set.js +260 -211
  134. package/framework/v0.1.2-alpha.1/lib/cmd/scope/add.js +129 -0
  135. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.txt +4 -4
  136. package/framework/{v0.1.1-alpha.98/lib/cmd/env/use.js → v0.1.2-alpha.1/lib/cmd/scope/link-production.js} +22 -21
  137. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/list.js +34 -11
  138. package/framework/v0.1.2-alpha.1/lib/cmd/scope/remove.js +122 -0
  139. package/framework/v0.1.2-alpha.1/lib/cmd/scope/use.js +68 -0
  140. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/view/add.js +35 -10
  141. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/package.json +1 -1
  142. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/src/main.js +247 -244
  143. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/config.js +33 -31
  144. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/package.json +1 -1
  145. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/src/main.js +16 -11
  146. package/framework/v0.1.2-alpha.1/lib/domain/LICENSE +9 -0
  147. package/framework/v0.1.2-alpha.1/lib/domain/README.md +46 -0
  148. package/framework/v0.1.2-alpha.1/lib/domain/dist/public_suffix_list.dat +14186 -0
  149. package/framework/v0.1.2-alpha.1/lib/domain/package.json +20 -0
  150. package/framework/v0.1.2-alpha.1/lib/domain/src/main.js +442 -0
  151. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/generator/index.js +5 -5
  152. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/index.js +3 -2
  153. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1/lib/inherits}/LICENSE +1 -1
  154. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/README.md +2 -2
  155. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/package.json +3 -4
  156. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/src/main.js +3 -3
  157. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/package.json +2 -2
  158. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/default/index.js +15 -2
  159. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/index.js +109 -14
  160. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/index.js +12 -3
  161. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/listener.js +29 -21
  162. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/speaker.js +33 -4
  163. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/helper.js +22 -1
  164. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/main.js +36 -9
  165. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/math/index.js +9 -9
  166. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/README.md +2 -2
  167. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/package.json +1 -1
  168. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/src/main.js +118 -91
  169. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/model.js +10 -10
  170. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/proc.js +92 -49
  171. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/package.json +1 -1
  172. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/src/main.js +377 -420
  173. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/session-store.js +13 -7
  174. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/shell.js +3 -3
  175. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/swig-filters/package.json +1 -1
  176. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/swig-filters/src/main.js +140 -119
  177. package/framework/v0.1.2-alpha.1/lib/url/README.md +0 -0
  178. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/validator.js +2 -2
  179. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/package.json +1 -1
  180. package/package.json +10 -10
  181. package/resources/home/main.json +39 -5
  182. package/resources/home/settings.json +8 -0
  183. package/resources/package.json.template +1 -1
  184. package/script/lib.js +0 -0
  185. package/script/post_install.js +180 -90
  186. package/script/pre_install.js +97 -13
  187. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  188. package/services/.gna/arch +1 -0
  189. package/services/.gna/locals.json +14 -0
  190. package/services/.gna/platform +1 -0
  191. package/services/configure +6 -0
  192. package/services/env.json +18 -0
  193. package/services/manifest.json +30 -0
  194. package/services/package.json +11 -0
  195. package/services/src/proxy/config/app.json +6 -0
  196. package/services/src/proxy/config/routing.json +11 -0
  197. package/services/src/proxy/config/settings.json +9 -0
  198. package/services/src/proxy/config/settings.server.json +31 -0
  199. package/services/src/proxy/config/statics.json +3 -0
  200. package/services/src/proxy/controllers/controller.content.js +58 -0
  201. package/services/src/proxy/controllers/controller.js +30 -0
  202. package/{framework/v0.1.1-alpha.98/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  203. package/services/src/proxy/index.js +31 -0
  204. package/services/src/proxy/lib/domain/README.md +48 -0
  205. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  206. package/services/src/toolbar/config/app.json +6 -0
  207. package/services/src/toolbar/config/routing.json +11 -0
  208. package/{framework/v0.1.1-alpha.98/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  209. package/services/src/toolbar/config/settings.server.json +30 -0
  210. package/services/src/toolbar/controllers/controller.content.js +39 -0
  211. package/services/src/toolbar/controllers/controller.js +30 -0
  212. package/services/src/toolbar/controllers/setup.js +111 -0
  213. package/services/src/toolbar/index.js +43 -0
  214. package/utils/helper.js +25 -156
  215. package/utils/prototypes.js +9 -9
  216. package/utils/prototypes.json_clone.js +70 -37
  217. package/framework/v0.1.1-alpha.98/VERSION +0 -1
  218. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.js.map +0 -56
  219. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css +0 -1
  220. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  221. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js +0 -736
  222. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  223. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  224. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  225. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/connector.js +0 -20
  226. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/session-store.js +0 -21
  227. package/framework/v0.1.1-alpha.98/core/controller/index.js +0 -27
  228. package/framework/v0.1.1-alpha.98/core/locales/dist/region/en.json +0 -9492
  229. package/framework/v0.1.1-alpha.98/core/locales/dist/region/fr.json +0 -9492
  230. package/framework/v0.1.1-alpha.98/core/locales/src/resources/region.mapping.json +0 -28
  231. package/framework/v0.1.1-alpha.98/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  232. package/framework/v0.1.1-alpha.98/core/template/conf/statics.json +0 -10
  233. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/arguments.json +0 -4
  234. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/list.js +0 -129
  235. package/framework/v0.1.1-alpha.98/lib/cmd/env/remove.js +0 -150
  236. package/framework/v0.1.1-alpha.98/lib/cmd/framework/init.js +0 -541
  237. package/framework/v0.1.1-alpha.98/lib/cmd/framework/status.js +0 -72
  238. package/framework/v0.1.1-alpha.98/lib/cmd/framework/tail.js +0 -184
  239. package/framework/v0.1.1-alpha.98/lib/cmd/port/inc/scan.js +0 -108
  240. package/framework/v0.1.1-alpha.98/lib/cmd/port/list.js +0 -176
  241. package/framework/v0.1.1-alpha.98/lib/cmd/scope/set.js +0 -57
  242. package/framework/v0.1.1-alpha.98/lib/cmd/scope/unset.js +0 -44
  243. package/framework/v0.1.1-alpha.98/lib/cmd/scope/use.js +0 -79
  244. package/script/post_publish.js +0 -185
  245. package/script/prepare_version.js +0 -552
  246. /package/{framework/v0.1.1-alpha.98/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  247. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/AUTHORS +0 -0
  248. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/nolayout.html +0 -0
  249. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/static.html +0 -0
  250. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-192x192.png +0 -0
  251. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-512x512.png +0 -0
  252. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/apple-touch-icon.png +0 -0
  253. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-16x16.png +0 -0
  254. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-32x32.png +0 -0
  255. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon.ico +0 -0
  256. /package/framework/{v0.1.1-alpha.98/core/asset/js → v0.1.2-alpha.1/core/asset}/plugin/uuid.json +0 -0
  257. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  258. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/controller/controller.framework.js +0 -0
  259. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/.travis.yml +0 -0
  260. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/LICENSE +0 -0
  261. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/README.md +0 -0
  262. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  263. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  264. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/main.js +0 -0
  265. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/multipart.js +0 -0
  266. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  267. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/utils.js +0 -0
  268. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/package.json +0 -0
  269. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  270. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/tools.js +0 -0
  271. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/currency.json +0 -0
  272. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/en.json +0 -0
  273. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/fr.json +0 -0
  274. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/currency.csv +0 -0
  275. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/region.csv +0 -0
  276. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/mime.types +0 -0
  277. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/README.md +0 -0
  279. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/build.json +0 -0
  280. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/README.md +0 -0
  281. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/build.json +0 -0
  282. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/README.md +0 -0
  283. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/build.json +0 -0
  284. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/README.md +0 -0
  285. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/build.json +0 -0
  286. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/status.codes +0 -0
  287. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  288. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  289. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  290. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  291. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  292. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  293. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  294. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  295. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  296. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  297. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/settings.json +0 -0
  298. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/401.json +0 -0
  299. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/403.json +0 -0
  300. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/404.json +0 -0
  301. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/html/50x.html +0 -0
  302. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/500.json +0 -0
  303. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/503.json +0 -0
  304. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/extensions/logger/config.json +0 -0
  305. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/README.md +0 -0
  306. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/task.js +0 -0
  307. /package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/lib/archiver}/README.md +0 -0
  308. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/build.json +0 -0
  309. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/copy.js +0 -0
  310. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/cp.js +0 -0
  311. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rename.js +0 -0
  313. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rm.js +0 -0
  314. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/status.js +0 -0
  315. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/get.js +0 -0
  316. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.js +0 -0
  317. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.txt +0 -0
  318. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/link-dev.js +0 -0
  319. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/rm.js +0 -0
  320. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/set.js +0 -0
  321. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/unset.js +0 -0
  322. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/dot.js +0 -0
  323. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/get.js +0 -0
  324. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.js +0 -0
  325. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.txt +0 -0
  326. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/update.js +0 -0
  328. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-dev.1.md +0 -0
  329. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-framework.1.md +0 -0
  330. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina.1.md +0 -0
  331. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/msg.json +0 -0
  332. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.js +0 -0
  333. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.txt +0 -0
  334. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/set.js +0 -0
  335. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.js +0 -0
  336. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/restart.js +0 -0
  339. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rm.js +0 -0
  340. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/start.js +0 -0
  341. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/status.js +0 -0
  342. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/stop.js +0 -0
  343. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.js +0 -0
  344. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.txt +0 -0
  345. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/list.js +0 -0
  346. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.js +0 -0
  347. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/link-local.js +0 -0
  348. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/rm.js +0 -0
  349. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.98/lib/archiver/README.md → v0.1.2-alpha.1/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.98/lib/routing/README.md → v0.1.2-alpha.1/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  358. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.98/lib/swig-filters → v0.1.2-alpha.1/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.98/lib/url → v0.1.2-alpha.1/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/test.js +0 -0
@@ -8,26 +8,78 @@ const net = require('net');
8
8
  // const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
9
9
  // const { execSync } = require('child_process');
10
10
 
11
+ var helpers = null;
11
12
 
12
- const merge = require(__dirname + '/../../../../merge');
13
+ var merge = require(__dirname + '/../../../../merge');
14
+ if ( typeof(merge) != 'function' ) {
15
+ // if needed for unit tests
16
+ merge = eval(fs.readFileSync(__dirname +'/../../../../merge/src/main.js').toString())
17
+ }
13
18
 
14
19
  function FileContainer(opt, loggers) {
15
20
  var self = {
16
21
  // flow or container name/id
17
22
  name: 'file'
18
23
  };
24
+
19
25
  var mqId = 'MQ'+ self.name.substring(0,1).toLocaleUpperCase() + self.name.substring(1);
20
26
 
21
- //var defaultOptions = ;
27
+ helpers = require(__dirname +'/../../../../../helpers');
28
+
22
29
 
23
30
  var loggerHelper = require(__dirname +'/../../helper.js')(opt, loggers);
24
31
  var format = loggerHelper.format;
25
32
  var processProperties = null;
26
33
  var filenames = {};
27
34
 
28
- function init() {
35
+ function init(opt) {
36
+
37
+ // ---------- BO - hack for early calls
38
+ var isWin32 = (process.platform === 'win32') ? true : false;
39
+ var binPath = __dirname +'/../../../../../../../';
40
+ var ginaPath = (binPath.replace(/\\/g, '/')).replace('/bin', '');
41
+ ginaPath = (isWin32) ? ginaPath.replace(/\//g, '\\') : ginaPath;
42
+ // loading pack
43
+ var pack = ginaPath + '/package.json';
44
+ pack = (isWin32) ? pack.replace(/\//g, '\\') : pack;
45
+ var packObj = require(pack);
46
+ var version = packObj.version;// jshint ignore:line
47
+ // var frameworkPath = ginaPath + '/framework/v' + version;
48
+
49
+
50
+ var shortVersion = version.split('.');
51
+ shortVersion.splice(2);
52
+ shortVersion = shortVersion.join('.');
53
+
54
+ var settings = { mq_port: 8125, host_v4: '127.0.0.1' };
55
+ try {
56
+ settings = require( getUserHome() + '/.gina/' + shortVersion + '/settings.json');
57
+ } catch (err) {}
58
+
59
+ opt.mqPort = settings.mq_port;
60
+ opt.hostV4 = settings.host_v4;
61
+ // ---------- EO - hack for early calls
62
+
63
+ // handle server not started yet or server exited
64
+ // process.on('gina#mqlistener-started', function onGinaStarted(mqPort, hostV4, group) {
65
+ // if (group) {
66
+ // console.info('[MQFile] Group `'+group+'` connected `'+ hostV4 +'` on port `'+ mqPort +'` :)');
67
+ // }
68
+ // clearInterval(nIntervId);
69
+ // nIntervId = null;
70
+ // onPayload({mqPort: mqPort, hostV4: hostV4});
71
+ // });
72
+
73
+ process.on('gina#bundle-logging', function onBundleStarted(mqPort, hostV4, group) {
74
+ console.debug('[MQFile] resuming ...')
75
+ if (group) {
76
+ console.info('[MQFile] Group `'+group+'` connected `'+ hostV4 +'` on port `'+ mqPort +'` :)');
77
+ }
78
+ // only if tail not already running !! Or you will get duplicate logs
79
+ onPayload({mqPort: mqPort, hostV4: hostV4}, true);
80
+ });
29
81
 
30
- onPayload();
82
+ onPayload(opt);
31
83
 
32
84
  // ----------------------------Debug---------------------------------------
33
85
  var level = 'debug';
@@ -75,22 +127,36 @@ function FileContainer(opt, loggers) {
75
127
  var projectName = bfnArr[1];
76
128
  var homeDir = getUserHome() || process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];// jshint ignore:line
77
129
  homeDir += '/.gina';
78
- var project = requireJSON(_(homeDir +'/projects.json', true))[projectName];
130
+ var project = requireJSON(_(homeDir +'/projects.json', true))[projectName];// jshint ignore:line
79
131
  var projectPath = project.path;
80
- console.info('write env: ', bundleName, process.env.NODE_ENV || getEnvVar('GINA_ENV'));
81
- var envObj = requireJSON(_(projectPath +'/env.json', true))[bundleName][process.env.NODE_ENV || getEnvVar('GINA_ENV')]
132
+ // console.debug('logger::file write env: ', bundleName, process.env.NODE_ENV, getEnvVar('GINA_ENV'), JSON.stringify(process.gina, null, 2) );// jshint ignore:line
133
+
134
+ var env = process.env.NODE_ENV || getEnvVar('GINA_ENV');// jshint ignore:line
135
+ var Config = require(getEnvVar('GINA_CORE') + '/config');
136
+ var conf = new Config({
137
+ env: env,
138
+ projectName: projectName,
139
+ executionPath: projectPath,
140
+ startingApp: bundleName,
141
+ ginaPath: getEnvVar('GINA_CORE')
142
+ }, true).getInstance(bundleName);
143
+
144
+ var envObj = conf.envConf[bundleName][env];// jshint ignore:line
82
145
  var webroot = ( !/\s+|\//.test(envObj.server && envObj.server.webroot) ) ? envObj.server.webroot +'.' : '';
83
146
  var hostname = envObj.host;
84
- var logDir = getLogDir() || getEnvVar('GINA_LOGDIR');
147
+ var logDir = getLogDir() || getEnvVar('GINA_LOGDIR');// jshint ignore:line
85
148
 
86
- filenames[group].filename = _(logDir +'/'+ webroot + hostname +'.log', true);
149
+ filenames[group].filename = _(logDir +'/'+ webroot + hostname +'.log', true);// jshint ignore:line
87
150
  console.debug('Log group `'+ group +'` filename set to: ' + filenames[group].filename);
88
151
  process.stdout.write( format(opt.name, 'info', 'Log group `'+ group +'` filename set to: ' + filenames[group].filename) );
89
152
  }
90
153
 
91
- function onPayload() {
92
- var port = 8125;
154
+ function onPayload(opt, isResuming) {
155
+ // console.debug('mqFile options: ', JSON.stringify(opt, null, 2));
156
+ var port = opt.mqPort || getEnvVar('GINA_MQ_PORT') || 8125;// jshint ignore:line
157
+ var host = opt.hostV4 || getEnvVar('GINA_HOST_V4') || '127.0.0.1';// jshint ignore:line
93
158
  var clientOptions = {
159
+ host : host,
94
160
  port : port,
95
161
  request : 'writeToFile'
96
162
  }
@@ -104,7 +170,7 @@ function FileContainer(opt, loggers) {
104
170
 
105
171
  var delayedMessages = [];
106
172
  var resume = function(payload) {
107
- process.stdout.write('['+ mqId +'] Resuming with group: '+ payload.group);
173
+ // process.stdout.write('['+ mqId +'] Resuming with group: '+ payload.group);
108
174
  var i = 0;
109
175
  while (i < delayedMessages.length) {
110
176
  let pl = delayedMessages[i];
@@ -118,22 +184,45 @@ function FileContainer(opt, loggers) {
118
184
  }
119
185
 
120
186
 
187
+
188
+
121
189
  var client = net.createConnection(clientOptions, () => {
122
190
  // 'connect' listener.
123
- console.info('['+ mqId +'] connected to server :) ', process.argv);
191
+ console.info('['+ mqId +'] connected to server :) on host: '+ host + ' & port: '+ port, process.argv);
124
192
  processProperties = loggerHelper.getProcessProperties();
125
193
  console.info('['+ mqId +'] process properties ', processProperties);
194
+
195
+ process.emit('gina#container-writting', host, port);
196
+
126
197
  // send request
127
198
  client.write( JSON.stringify(clientOptions) +'\r\n');
128
199
 
129
200
  });
201
+
202
+
130
203
  client.on('error', (data) => {
131
204
  var err = data.toString();
132
205
  process.stdout.write( format(opt.name, 'warn', '['+ mqId +'] ' + err) );
206
+
207
+ // allowing the framework to quit properly
208
+ if ( /write EPIPE|read ECONNRESET|connect ECONNREFUSED/i.test(err) ) {
209
+ process.exit(0)
210
+ }
211
+
212
+ // var mqPort = null;
213
+ // nIntervId = setInterval(() => {
214
+ // try {
215
+ // mqPort = ~~(fs.readFileSync(mqPortFile).toString());
216
+ // if (mqPort) {
217
+ // process.emit('gina#mqlistener-started', mqPort, host);
218
+ // }
219
+ // } catch (fileErr) {}
220
+ // }, 100);
133
221
  });
134
222
 
135
223
  var payloads = null, i = null;
136
224
  client.on('data', (data) => {
225
+
137
226
  //console.log('['+ mqId +'] (data): ' + data.toString());
138
227
  payloads = data.toString();
139
228
 
@@ -185,6 +274,12 @@ function FileContainer(opt, loggers) {
185
274
  continue;
186
275
  }
187
276
 
277
+ // resuming logging from another process
278
+ // we do not want to print twice in this case since another logger server is already running
279
+ if (isResuming) {
280
+ return
281
+ }
282
+
188
283
  // only for debug
189
284
  // process.stdout.write( '['+ mqId +'] '+ pl.content +'\n' );
190
285
 
@@ -246,6 +341,6 @@ function FileContainer(opt, loggers) {
246
341
 
247
342
 
248
343
 
249
- init();
344
+ init(opt);
250
345
  }
251
346
  module.exports = FileContainer;
@@ -4,8 +4,11 @@ const fs = require('fs');
4
4
  const net = require('net');
5
5
  const util = require('util');
6
6
  const promisify = util.promisify;
7
- const merge = require(__dirname +'/../../../../merge');
8
-
7
+ var merge = require(__dirname +'/../../../../merge');
8
+ if ( typeof(merge) != 'function' ) {
9
+ // if needed for unit tests
10
+ merge = eval(fs.readFileSync(__dirname +'/../../../../merge/src/main.js').toString())
11
+ }
9
12
  function MqContainer(opt, loggers) {
10
13
  var self = {
11
14
  // flow or container name/id
@@ -15,10 +18,11 @@ function MqContainer(opt, loggers) {
15
18
  // TODO - get options like the `port` from: ~/.gina/user/extensions/logger/{container}/config.json
16
19
 
17
20
  var MQSpeaker = require('./speaker.js');
18
- opt = merge(opt, { port: 8125 });
21
+ opt = merge(opt, { mqPort: 8125, hostV4: '127.0.0.1' });
19
22
  var mqSpeaker = new MQSpeaker(opt, loggers);
20
23
 
21
24
  function init() {
25
+
22
26
  onPayload()
23
27
 
24
28
  // ------------------------------------------------------------------------
@@ -37,9 +41,14 @@ function MqContainer(opt, loggers) {
37
41
 
38
42
  function onPayload() {
39
43
  process.on('logger#'+self.name, function onPayload(payload) {
44
+ if ( loggers[opt.name]._options.isFlushing ) {
45
+ return;
46
+ }
47
+
40
48
  if ( !loggers[opt.name]._options.isReporting ) {
41
49
  return;
42
50
  }
51
+
43
52
  if (mqSpeaker.write) {
44
53
  mqSpeaker.write( payload +'\r\n' );
45
54
  }
@@ -15,23 +15,23 @@ function MQListener(opt, cb) {
15
15
  // will be in memory until the framework is stopped
16
16
  // TODO - remove specific `bundle` or `CLI` config when the process is terminated
17
17
  var sharedConfig = { loggers: {}};
18
- var homedir = getEnvVar('GINA_HOMEDIR');
18
+ var homedir = getEnvVar('GINA_HOMEDIR');// jshint ignore:line
19
19
  var isLoggedByFile = false; // by default
20
20
  var fileLogsList = {};
21
21
 
22
22
 
23
23
  function init(opt, cb) {
24
24
  setup();
25
- return startMQListener(opt.port, cb);
25
+ return startMQListener(opt, cb);
26
26
  }
27
27
 
28
28
  function setup() {
29
- var mainConfigPath = _(homedir +'/user/extensions/logger/default/config.json', true);
30
- if ( !new _(mainConfigPath, true).existsSync() ) {
29
+ var mainConfigPath = _(homedir +'/user/extensions/logger/default/config.json', true);// jshint ignore:line
30
+ if ( !new _(mainConfigPath, true).existsSync() ) {// jshint ignore:line
31
31
  //throw new Error('Required file not found: '+ mainConfigPath);
32
32
  return;
33
33
  }
34
- var mainConfig = requireJSON(mainConfigPath);
34
+ var mainConfig = requireJSON(mainConfigPath);// jshint ignore:line
35
35
  if ( mainConfig.flows.indexOf('file') > -1 ) {
36
36
  isLoggedByFile = true;
37
37
  }
@@ -64,8 +64,8 @@ function MQListener(opt, cb) {
64
64
  file = name;
65
65
  }
66
66
  file += '.log';
67
- var filename = _(GINA_LOGDIR +'/'+ file);
68
- var filenameObj = new _(filename);
67
+ var filename = _(GINA_LOGDIR +'/'+ file);// jshint ignore:line
68
+ var filenameObj = new _(filename);// jshint ignore:line
69
69
  if ( !filenameObj.existsSync() ) {
70
70
  // create an empty file
71
71
  try {
@@ -81,10 +81,10 @@ function MQListener(opt, cb) {
81
81
  compress: true,
82
82
  count: 3
83
83
  };
84
- var rotatorOptionsPath = _(homedir +'/user/extensions/logger/file/config.json', true);
85
- if ( new _(rotatorOptionsPath).existsSync() ) {
84
+ var rotatorOptionsPath = _(homedir +'/user/extensions/logger/file/config.json', true);// jshint ignore:line
85
+ if ( new _(rotatorOptionsPath).existsSync() ) {// jshint ignore:line
86
86
  try {
87
- rotatorOptions = merge( requireJSON(rotatorOptionsPath).logrotator, rotatorOptions );
87
+ rotatorOptions = merge( requireJSON(rotatorOptionsPath).logrotator, rotatorOptions );// jshint ignore:line
88
88
  } catch (userConfigErr) {
89
89
  throw userConfigErr
90
90
  }
@@ -149,9 +149,9 @@ function MQListener(opt, cb) {
149
149
  sessions[sessionId].write( JSON.stringify(payload) +'\r\n');
150
150
  }
151
151
 
152
- function startMQListener(port, cb) {
153
- // AbortController is a global object
154
- const controller = new AbortController();// jshint ignore:line
152
+ function startMQListener(opt, cb) {
153
+ var port = opt.port;
154
+ var host = opt.hostV4;
155
155
  var server = net.createServer( function(conn) {//'connection' listener
156
156
 
157
157
  conn.sessionId = uuid.v4();
@@ -165,7 +165,7 @@ function MQListener(opt, cb) {
165
165
  delete sessions[this.sessionId];
166
166
  if ( this.request != 'report' ) {
167
167
  forwardId = forwardList[this.request].indexOf(this.sessionId);
168
- if ( forwardId > -1 ) {
168
+ if ( forwardId > -1 && typeof(forwardList[this.request]) != 'undefined') {
169
169
  forwardList[this.request].splice(forwardId, 1);
170
170
  }
171
171
  }
@@ -264,7 +264,7 @@ function MQListener(opt, cb) {
264
264
 
265
265
  server.on('error', function(err) {
266
266
  if (err.code === 'EADDRINUSE') {
267
- console.warn('[MQListener] is already running on port [ '+ (err.port || port) +' ]');
267
+ console.warn('[MQListener] `'+ host +'` is already running on port [ '+ (err.port || port) +' ]');// jshint ignore:line
268
268
  } else {
269
269
  console.emerg('[MQListener] Could not start', err.stack)
270
270
  }
@@ -282,13 +282,21 @@ function MQListener(opt, cb) {
282
282
  }
283
283
  });
284
284
 
285
- server.listen({
286
- host: '127.0.0.1',
287
- port: port,
288
- signal: controller.signal
289
- }, function() {
285
+ var listenOption = {
286
+ host: host,
287
+ port: port
288
+ };
289
+ var controller = null;
290
+ // AbortController nodejs >= v15
291
+ if ( typeof(AbortController) != 'undefined' ) {
292
+ // AbortController is a global object
293
+ var controller = new AbortController();// jshint ignore:line
294
+ listenOption.signal = controller.signal;
295
+ }
296
+
297
+ server.listen(listenOption, function() {
290
298
  // Server started.
291
- console.info('[MQListener] is waitting for speakers on port `'+ port +'`');
299
+ console.info('[MQListener] `'+ host +'`is waitting for speakers on port `'+ port +'`');
292
300
  if (cb) {
293
301
  cb(false);
294
302
  }
@@ -14,14 +14,43 @@ function MQSpeaker(opt, loggers, cb) {
14
14
 
15
15
 
16
16
  function init(opt, cb) {
17
+
18
+ // ---------- BO - hack for early calls
19
+ var isWin32 = (process.platform === 'win32') ? true : false;
20
+ var binPath = __dirname +'/../../../../../../../';
21
+ var ginaPath = (binPath.replace(/\\/g, '/')).replace('/bin', '');
22
+ ginaPath = (isWin32) ? ginaPath.replace(/\//g, '\\') : ginaPath;
23
+ // loading pack
24
+ var pack = ginaPath + '/package.json';
25
+ pack = (isWin32) ? pack.replace(/\//g, '\\') : pack;
26
+ var packObj = require(pack);
27
+ var version = packObj.version;// jshint ignore:line
28
+ // var frameworkPath = ginaPath + '/framework/v' + version;
29
+
30
+
31
+ var shortVersion = version.split('.');
32
+ shortVersion.splice(2);
33
+ shortVersion = shortVersion.join('.');
34
+
35
+ var settings = { mq_port: 8125, host_v4: '127.0.0.1' };
36
+ try {
37
+ settings = require( getUserHome() + '/.gina/' + shortVersion + '/settings.json');
38
+ } catch (err) {}
39
+
40
+ opt.mqPort = settings.mq_port;
41
+ opt.hostV4 = settings.host_v4;
42
+ // ---------- EO - hack for early calls
43
+
17
44
  return startMQSpeaker(opt, cb);
18
45
  }
19
46
 
20
47
 
21
48
  function startMQSpeaker(opt, cb) {
22
-
49
+ var port = opt.mqPort || 8125;// jshint ignore:line
50
+ var host = opt.hostV4 || '127.0.0.1';// jshint ignore:line
23
51
  var clientOptions = {
24
- port : opt.port,
52
+ host : host,
53
+ port : port,
25
54
  request : 'report'
26
55
  };
27
56
  var client = net.createConnection(clientOptions, () => {
@@ -29,7 +58,7 @@ function MQSpeaker(opt, loggers, cb) {
29
58
  // send request
30
59
  client.write( JSON.stringify(clientOptions) +'\r\n');
31
60
 
32
- console.info('[MQSpeaker] connected to server :) ');
61
+ console.info('[MQSpeaker] connected to server on host: '+ host +' & port: '+ port +' :) ');
33
62
 
34
63
  if (cb) {
35
64
  cb(false, client)
@@ -106,7 +135,7 @@ function MQSpeaker(opt, loggers, cb) {
106
135
 
107
136
  });
108
137
  client.on('end', () => {
109
- console.log('[MQSpeaker] disconnected from server');
138
+ console.debug('[MQSpeaker] disconnected from server');
110
139
  });
111
140
 
112
141
  return client;
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  * This file is part of the gina package.
3
- * Copyright (c) 2009-2022 Rhinostone <contact@gina.io>
3
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
4
4
  *
5
5
  * For the full copyright and license information, please view the LICENSE
6
6
  * file that was distributed with this source code.
@@ -35,20 +35,31 @@
35
35
  * @param {boolean} skipFormating
36
36
  * */
37
37
  self.format = function(group, s, content, skipFormating) {
38
+
38
39
  if (
39
40
  s == 'catch'
40
41
  || typeof(skipFormating) != 'undefined' && /true/i.test(skipFormating)
41
42
  ) {
42
43
  return content
43
44
  }
45
+
44
46
  if (content != '') {
45
47
  var colors = null;
46
48
  try {
49
+ // hack for loggers['bundle@project'] not found in this context
50
+ // so we just clone gina's
51
+ if ( typeof(loggers[ group ]) == 'undefined' ) {
52
+ loggers[ group ] = JSON.clone(loggers.gina);
53
+ }
47
54
  colors = loggers[ group ].colors
48
55
  } catch(colorsErr) {
56
+ // Leave it just in case we need to detect bugs right from the log output
57
+ content += '\nNot able to define colors. Please check logger‘s group: `'+ group +'`\n';
58
+ process.stdout.write('--['+ s +'/'+ skipFormating +']-> '+content +'\n');
49
59
  throw new Error('Not able to define colors. Please check logger‘s group: `'+ group +'`\n')
50
60
  }
51
61
 
62
+
52
63
  var now = new Date().format('logger');
53
64
  var sCount = s.length;
54
65
  if ( sCount < opt._maxLevelLen ) {
@@ -56,6 +67,7 @@
56
67
  s +=' ';
57
68
  }
58
69
  }
70
+ sCount = null;
59
71
 
60
72
  var repl = {
61
73
  '%a': group, // application or service name
@@ -73,6 +85,7 @@
73
85
  //process.stdout.write('colors '+ JSON.stringify(colors[colorCode], null, 2) +'\n');
74
86
 
75
87
 
88
+
76
89
  if ( typeof(_color) != 'undefined' && _color) {
77
90
  //process.stdout.write('colors code '+ JSON.stringify(colors, null, 2) +'\n');
78
91
  content = _color.open + opt.template + _color.close;
@@ -80,12 +93,20 @@
80
93
  content = opt.template;
81
94
  }
82
95
 
96
+
97
+
83
98
  // formating output
84
99
  for (let p=0; p<patt.length; ++p) {
85
100
  content = content.replace(new RegExp(patt[p], 'g'), repl[patt[p]])
86
101
  }
102
+
103
+
87
104
  }
88
105
 
106
+ // test only
107
+ // process.stdout.write('--['+ s +'/'+ skipFormating +']->'+content +'\n');
108
+
109
+
89
110
  // We should be using `\r` instead of `\n`
90
111
  // But it is not yet possible because of weird console.*() stdout when we are on the CLI or Framework side
91
112
  return content +'\n'
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  /**
3
3
  * This file is part of the gina package.
4
- * Copyright (c) 2009-2022 Rhinostone <contact@gina.io>
4
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
5
5
  *
6
6
  * For the full copyright and license information, please view the LICENSE
7
7
  * file that was distributed with this source code.
@@ -13,8 +13,9 @@ var promisify = util.promisify;
13
13
  const { EventEmitter } = require('events');
14
14
 
15
15
  // During initial pre-install & post-install, `colors` might not be installed !
16
- var colors = null;
17
- var frameworkPath = __dirname +'/../../../../..';
16
+ var colors = null;
17
+ var frameworkPath = __dirname +'/../../../../..';
18
+ // var frameworkVersion = require(frameworkPath + '/package.json').version;
18
19
  try {
19
20
  colors = require('colors') || require(frameworkPath +'/node_modules/colors');
20
21
  } catch (err) {
@@ -28,6 +29,10 @@ var inherits = require('../../inherits');
28
29
  var helpers = require('../../../helpers');
29
30
 
30
31
  // BO - publishing hack
32
+ if ( typeof(merge) != 'function' ) {
33
+ // if needed for unit tests
34
+ merge = eval(fs.readFileSync(__dirname +'/../../merge/src/main.js').toString())
35
+ }
31
36
  if ( typeof(JSON.clone) == 'undefined' ) {
32
37
  require(__dirname +'/../../../helpers/prototypes')()
33
38
  }
@@ -189,8 +194,8 @@ function Logger() {
189
194
  // This will apply for the framework, and will be inherited for all bundles unless you ovveride it in your application/bundle code
190
195
  // ----
191
196
  // [ Inside your code ]
192
- // var utils = require('gina').utils;
193
- // var console = utils.logger;
197
+ // var lib = require('gina').lib;
198
+ // var console = lib.logger;
194
199
  // console.setLevel('trace', bundleName) - Put that in the bundle bootstrap
195
200
  hierarchy: process.env.LOG_LEVEL || defaultLogLevel || 'info', // by default: info
196
201
  hierarchies: {
@@ -238,7 +243,8 @@ function Logger() {
238
243
  */
239
244
  //off: [5]
240
245
  },
241
- isReporting: true
246
+ isReporting: true,
247
+ isFlushing: false
242
248
  };
243
249
 
244
250
  var getInstance = function() {
@@ -260,13 +266,16 @@ function Logger() {
260
266
  getInstance();
261
267
  // process.env.NODE_ENV
262
268
  if (opt.hierarchies[opt.hierarchy].indexOf( opt.levels['debug'].code) > -1) {
263
- emit(opt, 'debug', 'Logger instance already exists: reusing it ;)');
269
+ emit(opt, 'debug', '`'+ opt.name +' `Logger instance already exists: reusing it ;)');
264
270
  }
265
271
 
266
272
  return self;
267
273
  }
268
274
  ctx.initialized = true;
269
-
275
+ if (!homeDir) {
276
+ homeDir = ( typeof(getUserHome) != 'undefined' ) ? getUserHome() : process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];// jshint ignore:line
277
+ homeDir += '/.gina';
278
+ }
270
279
  // user main options & flows options
271
280
  var extPath = _(homeDir +'/user/extensions/logger', true)
272
281
  var optionsPath = _(extPath +'/default/config.json', true);
@@ -293,6 +302,8 @@ function Logger() {
293
302
  // setting up `opt`
294
303
  // this is done to repespect arrays order
295
304
  var newDefaultOptions = merge(JSON.clone(defaultOptions), userOptions);
305
+ // var newDefaultOptions = merge(defaultOptions, userOptions);
306
+
296
307
  defaultOptions = JSON.clone(newDefaultOptions);
297
308
  newDefaultOptions = null;
298
309
  if (userOptions && userOptions.flows) {
@@ -658,8 +669,24 @@ function Logger() {
658
669
  self.pauseReporting = function() {
659
670
  loggers[ctx._options.name]._options.isReporting = false;
660
671
  }
661
- self.resumeReporting = function() {
672
+ self.resumeReporting = function(group) {
673
+
674
+ // [ duplicate output fix ]
675
+ // if (group && loggers[group]._options) {
676
+ // self.warn('[logger]['+ group +'] now resuming ('+ group +')\n');
677
+ // loggers[group]._options.isFlushing = false;
678
+ // }
679
+
662
680
  loggers[ctx._options.name]._options.isReporting = true;
681
+
682
+
683
+
684
+ }
685
+
686
+ // [ duplicate output fix ]
687
+ self.flush = function (group) {
688
+ self.warn('[logger]['+ group +'] now flushing ('+ group +')\n');
689
+ loggers[group]._options.isFlushing = true;
663
690
  }
664
691
 
665
692
 
@@ -1,7 +1,7 @@
1
1
  //'use strict';
2
2
  /*
3
3
  * This file is part of the gina package.
4
- * Copyright (c) 2009-2022 Rhinostone <contact@gina.io>
4
+ * Copyright (c) 2009-2023 Rhinostone <contact@gina.io>
5
5
  *
6
6
  * For the full copyright and license information, please view the LICENSE
7
7
  * file that was distributed with this source code.
@@ -14,7 +14,7 @@ var crypto = require('crypto');
14
14
  /**
15
15
  * MathHelper
16
16
  *
17
- * @package gina.utils.math
17
+ * @package gina.lib.math
18
18
  * @author Rhinostone <contact@gina.io>
19
19
  * @api public
20
20
  * */
@@ -40,7 +40,7 @@ function MathHelper() {
40
40
  *
41
41
  * e.g.:
42
42
  *
43
- * var operate = require("gina").utils.math.operate;
43
+ * var operate = require("gina").lib.math.operate;
44
44
  * var computation = "10*2";
45
45
  * var result = operate(computation);
46
46
  * => 20
@@ -88,7 +88,7 @@ function MathHelper() {
88
88
  self.checkSum = async function(filename, algorithm, encoding, isCheckingFromData, cb) {
89
89
  var err = false, sum = null;
90
90
  isCheckingFromData = ( typeof(isCheckingFromData) != 'undefined' ) ? isCheckingFromData : false;
91
-
91
+
92
92
  if ( !isCheckingFromData && /\./.test(filename) ) {
93
93
  fs.readFile(filename, async function (err, data) {
94
94
  sum = await checkSum(data, algorithm, encoding);
@@ -124,10 +124,10 @@ function MathHelper() {
124
124
  }
125
125
  str = arr.sort().join(',');
126
126
  }
127
-
127
+
128
128
  return str;
129
129
  };
130
-
130
+
131
131
  /**
132
132
  * Check sum from file or form data
133
133
  *
@@ -140,11 +140,11 @@ function MathHelper() {
140
140
  self.checkSumSync = function(filename, algorithm, encoding) {
141
141
  var sum = null;
142
142
  try {
143
-
143
+
144
144
  if ( typeof(filename) == 'object' ) {
145
- filename = objectToString(filename);
145
+ filename = objectToString(filename);
146
146
  }
147
-
147
+
148
148
  if ( /(\.[a-z]{3})$/.test(filename) ) { // must be a string
149
149
  // from filename
150
150
  sum = checkSum( fs.readFileSync(filename), algorithm, encoding )