gina 0.0.9-p91c → 0.1.1-alpha.3

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 (466) hide show
  1. package/INSTALL.md +46 -0
  2. package/{core/asset/html/static.html → Icon/r} +0 -0
  3. package/LICENSE +1 -1
  4. package/README-4Contributors.md +96 -0
  5. package/README.md +296 -104
  6. package/bin/cli +287 -0
  7. package/bin/cli-debug +60 -0
  8. package/bin/cmd +184 -0
  9. package/bin/gina +180 -0
  10. package/config/logger.json +17 -0
  11. package/doc/framework/cli/doc.json +9 -0
  12. package/doc/framework/index.md +60 -0
  13. package/framework/v0.1.1-alpha.3/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.3}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.3/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.3/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.3/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.3/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.3/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.3/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.3/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.3/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.3/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.3/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.3/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.3/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.3/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.3/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.3/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.3/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.3/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.3/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.3/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.3/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.3/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.3/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.3/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.3/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.3/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.3/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.3/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.3/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.3/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.3/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.3/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.3/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.3/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.3/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.3/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.3/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.3/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.3/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.3/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.3/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.3/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.3/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.3/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.3/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.3/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.3/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.3/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.3/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.3/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.3/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.3/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.3/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.3/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.3/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.3/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.3/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.3/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.3/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.3/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.3/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.3/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.3/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.3/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.3/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.3/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.3/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.3/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.3/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.3/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.3/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.3/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.3/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.3/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.3/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.3/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.3/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.3/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.3/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.3/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.3/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.3/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.3/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.3/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.3/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.3/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.3/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.3/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.3/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.3/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.3/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.3/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.3/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.3/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.3/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.3/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.3/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.3/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.3/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.3/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.3/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.3/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.3/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.3/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.3/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.3/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.3/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.3/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.3/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.3/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.3/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.3}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.3/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.3}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.3/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.3/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.3/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.3}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.3/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.3/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.3/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.3/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.3/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.3/lib/logger/src/main.js +739 -0
  264. package/{core/utils → framework/v0.1.1-alpha.3}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.3/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.3}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.3/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.3/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.3/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.3}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.3/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.3/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.3}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.3/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.3/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.3/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.3/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.3}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.3/package.json +14 -0
  289. package/package.json +35 -33
  290. package/resources/etc/init.d/debian/gina +117 -0
  291. package/resources/home/framework/env.json +34 -0
  292. package/resources/home/framework/locals.json +14 -0
  293. package/resources/home/framework/project.json +48 -0
  294. package/resources/home/framework/projects.json +6 -0
  295. package/resources/home/main.json +47 -0
  296. package/resources/home/settings.json +22 -0
  297. package/resources/home/user/extensions/logger/default/config.json +77 -0
  298. package/resources/home/user/extensions/logger/file/config.json +11 -0
  299. package/resources/img/android-chrome-192x192.png +0 -0
  300. package/resources/img/android-chrome-512x512.png +0 -0
  301. package/resources/img/apple-touch-icon.png +0 -0
  302. package/resources/img/favicon-16x16.png +0 -0
  303. package/resources/img/favicon-32x32.png +0 -0
  304. package/resources/img/favicon.ico +0 -0
  305. package/resources/package.json.template +50 -0
  306. package/script/lib.js +24 -0
  307. package/script/post_install.js +449 -157
  308. package/script/pre_install.js +277 -36
  309. package/script/prepare_version.js +425 -0
  310. package/utils/helper.js +438 -0
  311. package/utils/prototypes.js +239 -0
  312. package/utils/prototypes.json_clone.js +175 -0
  313. package/.npmignore +0 -6
  314. package/MIDDLEWARE +0 -1
  315. package/SUCCESS +0 -1
  316. package/VERSION +0 -1
  317. package/core/asset/html/nolayout.html +0 -1
  318. package/core/asset/js/plugin/build.dev.json +0 -28
  319. package/core/asset/js/plugin/build.json +0 -31
  320. package/core/asset/js/plugin/dist/gina.min.css +0 -1
  321. package/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  322. package/core/asset/js/plugin/dist/gina.min.js +0 -13732
  323. package/core/asset/js/plugin/dist/gina.min.js.map +0 -42
  324. package/core/asset/js/plugin/dist/gina.onload.min.js +0 -3
  325. package/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  326. package/core/asset/js/plugin/readme.md +0 -152
  327. package/core/asset/js/plugin/src/gina/main.js +0 -132
  328. package/core/asset/js/plugin/src/gina/popin/css/design.css +0 -23
  329. package/core/asset/js/plugin/src/gina/popin/css/main.css +0 -1112
  330. package/core/asset/js/plugin/src/gina/popin/css/popin.css +0 -3
  331. package/core/asset/js/plugin/src/gina/popin/css/popin.css.map +0 -1
  332. package/core/asset/js/plugin/src/gina/popin/doc/TOC.md +0 -29
  333. package/core/asset/js/plugin/src/gina/popin/doc/css.md +0 -162
  334. package/core/asset/js/plugin/src/gina/popin/doc/extend.md +0 -663
  335. package/core/asset/js/plugin/src/gina/popin/doc/faq.md +0 -46
  336. package/core/asset/js/plugin/src/gina/popin/doc/html.md +0 -227
  337. package/core/asset/js/plugin/src/gina/popin/doc/js.md +0 -37
  338. package/core/asset/js/plugin/src/gina/popin/doc/misc.md +0 -178
  339. package/core/asset/js/plugin/src/gina/popin/doc/usage.md +0 -130
  340. package/core/asset/js/plugin/src/gina/popin/main.js +0 -783
  341. package/core/asset/js/plugin/src/gina/popin/sass/config.sass +0 -37
  342. package/core/asset/js/plugin/src/gina/popin/sass/gina-design.sass +0 -622
  343. package/core/asset/js/plugin/src/gina/popin/sass/gina-popin.sass +0 -54
  344. package/core/asset/js/plugin/src/gina/popin/sass/helper.scss +0 -73
  345. package/core/asset/js/plugin/src/gina/toolbar/.npmignore +0 -19
  346. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css +0 -433
  347. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css.map +0 -1
  348. package/core/asset/js/plugin/src/gina/toolbar/index.html +0 -285
  349. package/core/asset/js/plugin/src/gina/toolbar/index.kit +0 -120
  350. package/core/asset/js/plugin/src/gina/toolbar/jquery-3.1.0.min.js +0 -4
  351. package/core/asset/js/plugin/src/gina/toolbar/main.js +0 -693
  352. package/core/asset/js/plugin/src/gina/toolbar/mock.gina.json +0 -1
  353. package/core/asset/js/plugin/src/gina/toolbar/mock.user.json +0 -1
  354. package/core/asset/js/plugin/src/gina/toolbar/readme.md +0 -7
  355. package/core/asset/js/plugin/src/gina/toolbar/sass/toolbar.sass +0 -563
  356. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-color.svg +0 -1
  357. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-grey.svg +0 -1
  358. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-color.svg +0 -1
  359. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-grey.svg +0 -1
  360. package/core/asset/js/plugin/src/gina/toolbar/svg-src/info-optim.svg +0 -13
  361. package/core/asset/js/plugin/src/gina/toolbar/svg-src/logo-gina.svg +0 -1
  362. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings-big.svg +0 -1
  363. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.afdesign +0 -0
  364. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.svg +0 -1
  365. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar-optim.svg +0 -1
  366. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar.svg +0 -1
  367. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card-optim.svg +0 -1
  368. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card.svg +0 -1
  369. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock-optim.svg +0 -1
  370. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock.svg +0 -1
  371. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-color.svg +0 -1
  372. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-grey.svg +0 -1
  373. package/core/asset/js/plugin/src/gina/toolbar/test.jpg +0 -0
  374. package/core/asset/js/plugin/src/gina/toolbar/toolbar.html +0 -104
  375. package/core/asset/js/plugin/src/gina/utils/dom.js +0 -24
  376. package/core/asset/js/plugin/src/gina/utils/events.js +0 -201
  377. package/core/asset/js/plugin/src/gina/utils/loader.js +0 -57
  378. package/core/asset/js/plugin/src/main.js +0 -235
  379. package/core/asset/js/plugin/src/vendor/jquery/1.11.1-css-event_alias.min.js +0 -5
  380. package/core/asset/js/plugin/src/vendor/jquery/1.12.4.min.js +0 -5
  381. package/core/asset/js/plugin/src/vendor/jquery/2.1.1-css-event_alias-sizzle.min.js +0 -4
  382. package/core/asset/js/plugin/src/vendor/jquery/README.md +0 -14
  383. package/core/asset/js/plugin/src/vendor/jquery/slim-3.1.1.min.js +0 -4
  384. package/core/config.js +0 -1225
  385. package/core/controller/controller.js +0 -1860
  386. package/core/gna.js +0 -908
  387. package/core/plugins/lib/validator/src/form-validator.js +0 -789
  388. package/core/plugins/lib/validator/src/main.js +0 -2056
  389. package/core/router.js +0 -717
  390. package/core/server.js +0 -1363
  391. package/core/template/conf/env.json +0 -70
  392. package/core/template/conf/settings.json +0 -48
  393. package/core/template/conf/statics.json +0 -6
  394. package/core/template/conf/views.json +0 -16
  395. package/core/template/samples/bundle/config/app.json +0 -4
  396. package/core/template/samples/bundle/config/routing.json +0 -9
  397. package/core/template/samples/bundle/controllers/setup.js +0 -33
  398. package/core/template/views/js/vendor/readme.md +0 -1
  399. package/core/template/views/readme.md +0 -1
  400. package/core/utils/helpers/dateFormat.js +0 -264
  401. package/core/utils/helpers/index.js +0 -202
  402. package/core/utils/index.js +0 -75
  403. package/core/utils/lib/cmd/app.js +0 -686
  404. package/core/utils/lib/cmd/basic.help.txt +0 -40
  405. package/core/utils/lib/cmd/basic.js +0 -141
  406. package/core/utils/lib/cmd/gina-add-bundle.js +0 -328
  407. package/core/utils/lib/cmd/gina-add-views.js +0 -99
  408. package/core/utils/lib/cmd/gina-build.js +0 -218
  409. package/core/utils/lib/cmd/gina-clean.js +0 -26
  410. package/core/utils/lib/cmd/gina-connect.js +0 -176
  411. package/core/utils/lib/cmd/gina-delete-bundle.js +0 -176
  412. package/core/utils/lib/cmd/gina-deploy.js +0 -452
  413. package/core/utils/lib/cmd/gina-init-project.js +0 -83
  414. package/core/utils/lib/cmd/gina-start-bundle.js +0 -3
  415. package/core/utils/lib/cmd/gina-start.js +0 -3
  416. package/core/utils/lib/cmd/index.js +0 -157
  417. package/core/utils/lib/cmd/project.js +0 -14
  418. package/core/utils/lib/collection/src/main.js +0 -650
  419. package/core/utils/lib/logger/containers/file.js +0 -11
  420. package/core/utils/lib/logger/index.js +0 -260
  421. package/core/utils/lib/merge/src/main.js +0 -344
  422. package/core/utils/lib/proc.js +0 -416
  423. package/core/utils/lib/routing/src/main.js +0 -165
  424. package/documentation/css/default.css +0 -3
  425. package/documentation/html/home.html +0 -6
  426. package/documentation/html/inc/_footer.html +0 -5
  427. package/documentation/html/layout.html +0 -21
  428. package/documentation/img/debug-conf1.png +0 -0
  429. package/documentation/img/debug-conf2.png +0 -0
  430. package/documentation/img/debug-conf3.png +0 -0
  431. package/documentation/img/debug-conf4.png +0 -0
  432. package/documentation/img/debug-conf5.png +0 -0
  433. package/documentation/img/debug-conf6.png +0 -0
  434. package/documentation/img/debug-conf7.png +0 -0
  435. package/documentation/img/debug-new1.png +0 -0
  436. package/documentation/img/debug-new2.png +0 -0
  437. package/documentation/img/debug-start.png +0 -0
  438. package/documentation/md/api/controller/main.md +0 -74
  439. package/migration_note.md +0 -7
  440. package/package-lock.json +0 -611
  441. package/script/pre_publish.js +0 -207
  442. package/tutorial/Commands/README.md +0 -56
  443. package/tutorial/Commands/add-bundle-result.png +0 -0
  444. package/tutorial/Commands/add-bundle.png +0 -0
  445. package/tutorial/Commands/delete-bundle.png +0 -0
  446. package/tutorial/Commands/help.png +0 -0
  447. package/tutorial/Commands/init-project.png +0 -0
  448. package/tutorial/Commands/start-bundle-result.png +0 -0
  449. package/tutorial/Commands/start-bundle-stop.png +0 -0
  450. package/tutorial/Commands/start-bundle.png +0 -0
  451. package/tutorial/Commands/version.png +0 -0
  452. package/tutorial/ETC/README.md +0 -74
  453. package/tutorial/ETC/add-bundle-result.png +0 -0
  454. package/tutorial/ETC/add-bundle.png +0 -0
  455. package/tutorial/ETC/init-project.png +0 -0
  456. package/tutorial/Install/README.md +0 -54
  457. package/tutorial/Install/git-get.png +0 -0
  458. package/tutorial/Install/git-install-end.png +0 -0
  459. package/tutorial/Install/git-install-result.png +0 -0
  460. package/tutorial/Install/git-install-start.png +0 -0
  461. package/tutorial/Install/install-end.png +0 -0
  462. package/tutorial/Install/install-result.png +0 -0
  463. package/tutorial/Install/install-start.png +0 -0
  464. package/tutorial/WebStorm/README.md +0 -30
  465. package/tutorial/WebStorm/closure-compiler.png +0 -0
  466. package/tutorial/WebStorm/sass.png +0 -0
@@ -0,0 +1,739 @@
1
+ 'use strict';
2
+ /**
3
+ * This file is part of the gina package.
4
+ * Copyright (c) 2009-2022 Rhinostone <contact@gina.io>
5
+ *
6
+ * For the full copyright and license information, please view the LICENSE
7
+ * file that was distributed with this source code.
8
+ */
9
+ // Imports
10
+ var fs = require('fs');
11
+ var util = require('util');
12
+ var promisify = util.promisify;
13
+ const { EventEmitter } = require('events');
14
+
15
+ // During initial pre-install & post-install, `colors` might not be installed !
16
+ var colors = null;
17
+ var frameworkPath = __dirname +'/../../../../..';
18
+ try {
19
+ colors = require('colors') || require(frameworkPath +'/node_modules/colors');
20
+ } catch (err) {
21
+ // colors not found
22
+ // It is ok, since this case is handled by the `pre-install` script
23
+ throw err
24
+ }
25
+
26
+ var merge = require('../../merge');
27
+ var inherits = require('../../inherits');
28
+ var helpers = require('../../../helpers');
29
+
30
+ // BO - publishing hack
31
+ if ( typeof(JSON.clone) == 'undefined' ) {
32
+ require(__dirname +'/../../../helpers/prototypes')()
33
+ }
34
+ if ( typeof(_) == 'undefined' ) {
35
+ require(__dirname +'/../../../helpers/path')()
36
+ }
37
+ if ( typeof(requireJSON) == 'undefined' ) {
38
+ require(__dirname +'/../../../helpers/json')()
39
+ }
40
+ if ( typeof(getContext) == 'undefined' ) {
41
+ require(__dirname +'/../../../helpers/context')()
42
+ }
43
+ // EO - publishing hack
44
+
45
+
46
+ /**
47
+ * @class Logger
48
+ *
49
+ * @package gina.lib
50
+ * @namesame gina.lib.logger
51
+ * @author Rhinostone <contact@gina.io>
52
+ *
53
+ * @api Public
54
+ * */
55
+ function Logger() {
56
+
57
+
58
+ // retrieve context
59
+ var ctx = getContext('loggerInstance') || { initialized: false }; // jshint ignore:line
60
+
61
+ var self = {}
62
+ , loggers = {}
63
+ // `containers`, also meaning transports
64
+ , containers = {}
65
+ // for `getInstance()`
66
+ , opt = ctx._options || {}
67
+ ;
68
+
69
+ // only used for defaultOption init
70
+ var homeDir = null
71
+ // user options
72
+ , userOptions = ctx._userOptions || null
73
+ , flowsOptions = ctx._flowsOptions || {}
74
+ , shortVersion = null
75
+ , defaultLogLevel = null
76
+ ;
77
+ try {
78
+ homeDir = getUserHome() || process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];// jshint ignore:line
79
+ homeDir += '/.gina';
80
+ shortVersion = requireJSON( _(frameworkPath +'/package.json', true) ).version;// jshint ignore:line
81
+ shortVersion = shortVersion.split('.').splice(0,2).join('.').replace(/^v/, '');
82
+ if ( new _(homeDir +'/'+ shortVersion +'/settings.json', true).existsSync() ) {
83
+ defaultLogLevel = requireJSON( _(homeDir +'/'+ shortVersion +'/settings.json', true) ).log_level;// jshint ignore:line
84
+ } else {
85
+ defaultLogLevel = 'info'
86
+ }
87
+
88
+ } catch(logLevelError) {
89
+ // It is ok to fail ... do not worry
90
+ }
91
+
92
+
93
+ var defaultOptions = ctx._defaultOptions || {
94
+ // Group name by default: it is usually the application or the service PROC.title
95
+ name: 'gina',
96
+ template: '[%d] [%s][%a] %m',
97
+
98
+ // Where the events flow will be dispatched - e.g.: event.on('logger#<container_name>', function(appName, code, severityLevel, content){ ... })
99
+ // A `flow` is binded to related container
100
+ // `default` is `process.stdout`
101
+ // `mq` is for message dispatching: from speakers to the main listener
102
+ // A flow name is always the same as the container/transport name: checkout the `containers` folder for more
103
+ // Don't touch this part!
104
+ flows: ['default', 'mq'],
105
+ // Levels are based on Syslog: https://en.wikipedia.org/wiki/Syslog
106
+ levels : {
107
+ // will also kill the process
108
+ emerg: {
109
+ code: 0,
110
+ label: 'Emergency',
111
+ description: 'System is unusable.',
112
+ color: 'magenta'
113
+ },
114
+ // Only used to send email or trigger a push to an alert system
115
+ alert: {
116
+ code: 1,
117
+ label: 'Alert',
118
+ description: 'Action must be taken immediately.',
119
+ color:'red'
120
+ },
121
+
122
+ crit: {
123
+ code: 2,
124
+ label: 'Critical',
125
+ description: 'Critical conditions.',
126
+ color: 'magenta'
127
+ },
128
+ // deprecated
129
+ error : {
130
+ code: 3,
131
+ label: 'Error',
132
+ description: 'Error conditions.',
133
+ color : 'red',
134
+ deprecated: 'Use `console.err` instead'
135
+ },
136
+ err : {
137
+ code: 3,
138
+ label: 'Error',
139
+ description: 'Error conditions.',
140
+ color : 'red'
141
+ },
142
+ // deprecated
143
+ warn : {
144
+ code: 4,
145
+ label: 'Warning',
146
+ description: 'Warning conditions.',
147
+ color: 'yellow',
148
+ deprecated: 'Use `console.warning` instead'
149
+ },
150
+ warning : {
151
+ code: 4,
152
+ label: 'Warning',
153
+ description: 'Warning conditions.',
154
+ color: 'yellow'
155
+ },
156
+ // notice is use in the framework to raise flags that can be picked-up by child processes (CLI, Bundle, Workers)
157
+ notice: {
158
+ code: 5,
159
+ label: 'Notice',
160
+ description: 'Normal but significant condition.',
161
+ color: 'black'
162
+ },
163
+ info : {
164
+ code: 6,
165
+ label: 'Informational',
166
+ description: 'Informational messages.',
167
+ color: 'cyan'
168
+ },
169
+ debug : {
170
+ code: 7,
171
+ label: 'Debug',
172
+ description: 'Debug-level messages.',
173
+ color: 'gray'
174
+ },
175
+ // hidden level
176
+ catch : {
177
+ code: -1,
178
+ label: 'Catch',
179
+ description: 'Unhandled or already formated messages.',
180
+ color: 'gray'
181
+ }
182
+ },
183
+ // logging hierarchy
184
+ // Descriptions from https://sematext.com/blog/logging-levels/
185
+ // start with the app log_level, then gina log_level, and if nothing is found, set it by default to info
186
+ // eg.:
187
+ // [ From the CLI ]
188
+ // $ gina set --log-level=trace
189
+ // This will apply for the framework, and will be inherited for all bundles unless you ovveride it in your application/bundle code
190
+ // ----
191
+ // [ Inside your code ]
192
+ // var utils = require('gina').utils;
193
+ // var console = utils.logger;
194
+ // console.setLevel('trace', bundleName) - Put that in the bundle bootstrap
195
+ hierarchy: process.env.LOG_LEVEL || defaultLogLevel || 'info', // by default: info
196
+ hierarchies: {
197
+ /**
198
+ * TRACE
199
+ * The most fine-grained information only used in rare cases where you need the full visibility
200
+ * of what is happening in your application and inside the third-party libraries that you use.
201
+ * Expect the TRACE logging level to be very verbose
202
+ */
203
+ trace: [0,1,2,3,4,5,6,7], // we want it all
204
+ /**
205
+ * DEBUG
206
+ * Should be used for information that may be needed for diagnosing issues and troubleshooting
207
+ * or when running application in the test environment
208
+ */
209
+ debug: [0,1,2,3,4,5,6,7],
210
+ /**
211
+ * INFO
212
+ * The standard log level indicating that something happened.
213
+ * Should be purely informative and not looking into them on a regular basis shouldn’t result in
214
+ * missing any important information.
215
+ */
216
+ info: [0,1,2,3,4,5,6],
217
+ /**
218
+ * WARN
219
+ * Indicates that something unexpected happened in the application, a problem, or a situation that might
220
+ * disturb one of the processes. But that doesn’t mean that the application failed.
221
+ */
222
+ warn: [0,1,2,3,4,5],
223
+ /**
224
+ * ERROR
225
+ * Should be used when the application hits an issue preventing one or more functionalities from properly
226
+ * functioning.
227
+ */
228
+ error: [0,1,2,3,5],
229
+ /**
230
+ * FATAL
231
+ * Tells that the application encountered an event or entered a state in which one of the
232
+ * crucial business functionality is no longer working.
233
+ */
234
+ fatal: [0,1,2,5]
235
+ /**
236
+ * OFF
237
+ * Simple enough. NO LOGGING !!
238
+ */
239
+ //off: [5]
240
+ },
241
+ isReporting: true
242
+ };
243
+
244
+ var getInstance = function() {
245
+ self = ctx.instance;
246
+ loggers = ctx._loggers;
247
+ // opt = ctx._options;
248
+
249
+ return self;
250
+ }
251
+
252
+ /**
253
+ * init
254
+ * @constructor
255
+ * */
256
+ var init = function(opt) {
257
+
258
+
259
+ if ( typeof(ctx.initialized) != 'undefined' && ctx.initialized == true) {
260
+ getInstance();
261
+ // process.env.NODE_ENV
262
+ if (opt.hierarchies[opt.hierarchy].indexOf( opt.levels['debug'].code) > -1) {
263
+ emit(opt, 'debug', 'Logger instance already exists: reusing it ;)');
264
+ }
265
+
266
+ return self;
267
+ }
268
+ ctx.initialized = true;
269
+
270
+ // user main options & flows options
271
+ var extPath = _(homeDir +'/user/extensions/logger', true)
272
+ var optionsPath = _(extPath +'/default/config.json', true);
273
+ if ( new _(optionsPath).existsSync() ) {
274
+ userOptions = requireJSON(optionsPath);// jshint ignore:line
275
+ if (userOptions.flows && userOptions.flows.length > 0) {
276
+ if (userOptions.flows.indexOf('default') > -1) {
277
+ userOptions.flows.splice(userOptions.flows.indexOf('default'), 1)
278
+ }
279
+ if (userOptions.flows.indexOf('mq') > -1) {
280
+ userOptions.flows.splice(userOptions.flows.indexOf('mq'), 1)
281
+ }
282
+ if (userOptions.flows.length > 0) {
283
+ for (let i = 0, len = userOptions.flows.length; i < len; i++) {
284
+ let flowName = userOptions.flows[i];
285
+ if ( new _(extPath +'/'+ flowName +'/config.json', true).existsSync() ) {
286
+ let flowOpt = requireJSON(_(extPath +'/'+ flowName +'/config.json', true));// jshint ignore:line
287
+ flowsOptions[flowName] = flowOpt;
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ // setting up `opt`
294
+ // this is done to repespect arrays order
295
+ var newDefaultOptions = merge(JSON.clone(defaultOptions), userOptions);
296
+ defaultOptions = JSON.clone(newDefaultOptions);
297
+ newDefaultOptions = null;
298
+ if (userOptions && userOptions.flows) {
299
+ delete userOptions.flows;
300
+ }
301
+
302
+ opt = merge(userOptions, defaultOptions);
303
+ // if ( new _(optionsPath).existsSync() ) {
304
+ // if (userOptions.flows.indexOf('mq') < 0) {
305
+ // userOptions.flows.splice(0, 0, 'mq')
306
+ // }
307
+ // if (userOptions.flows.indexOf('default') < 0) {
308
+ // userOptions.flows.splice(0, 0, 'default')
309
+ // }
310
+ // }
311
+
312
+ // if (opt) {
313
+ // opt = merge(options, JSON.clone(defaultOptions), opt, true)
314
+ // } else {
315
+ // //opt = ( typeof(ctx.instance) != 'undefined' && typeof(ctx.instance._options) != 'undefined' ) ? ctx.instance._options : defaultOptions;
316
+ // opt = JSON.clone(defaultOptions)
317
+ // }
318
+
319
+ if ( typeof(opt.name) == 'undefined' || /^gina\-/.test(opt.name) ) {
320
+ opt.name = 'gina'
321
+ }
322
+
323
+ if ( typeof(loggers[opt.name]) == 'undefined' ) {
324
+ // defining default prototypes
325
+ loggers[opt.name] = {}
326
+ }
327
+ loggers[opt.name]._options = opt;
328
+
329
+
330
+
331
+ // setup default group, colors
332
+ setupNewGroup(opt.name, opt);
333
+
334
+ for (let l in opt.levels) {
335
+ // don't override here since it is generic
336
+ if ( typeof(self[l]) == 'undefined' ) {
337
+ self[l] = function(){// jshint ignore:line
338
+
339
+ let group = opt.name || defaultOptions.name; // by default
340
+ if ( process.title != 'node' && !/(\\|\/)*node$/.test(process.title) ) {
341
+ group = process.title.replace(/^gina\:\s*/, '');
342
+ if ( typeof(group) == 'undefined' || /^gina\-/.test(group) ) {
343
+ group = 'gina'
344
+ }
345
+ }
346
+
347
+ //self.log('--> '+ group + ' '+ process.env.LOG_GROUP +' '+ process.title);
348
+ if ( typeof(loggers[group]) == 'undefined' ) {
349
+ setupNewGroup(group)
350
+ }
351
+ loggers[group][l].apply(self[l], arguments)
352
+ }
353
+ }
354
+ }
355
+
356
+
357
+ // TODO - load container/flow if !== `default`
358
+ try {
359
+ // only afer this, we can send logs to containers/transports
360
+ loadContainers(opt, flowsOptions);
361
+ } catch (err) {
362
+ throw err;
363
+ }
364
+
365
+
366
+ // backing up context
367
+ ctx.instance = self;
368
+ ctx._options = opt;
369
+ ctx._defaultOptions = defaultOptions;
370
+ ctx._flowsOptions = flowsOptions;
371
+ ctx._loggers = loggers;
372
+ setContext('loggerInstance', ctx);// jshint ignore:line
373
+
374
+ if (opt.hierarchies[opt.hierarchy].indexOf( opt.levels['debug'].code) > -1) {
375
+ emit(opt, 'debug', 'New Logger instance created');
376
+ }
377
+
378
+ return self;
379
+ }
380
+
381
+
382
+
383
+ var loadContainers = function(opt, flowsOptions) {
384
+ var containersPath = _(__dirname +'/containers', true);// jshint ignore:line
385
+ for (let i=0, len=opt.flows.length; i<len; i++) {
386
+ let flow = opt.flows[i];
387
+ let loggerOptions = JSON.clone(opt);
388
+ if ( typeof(containers[flow]) == 'undefined' ) {
389
+ if ( typeof(flowsOptions[flow]) != 'undefined' ) {
390
+ loggerOptions = merge(loggerOptions, flowsOptions[flow], true);
391
+ }
392
+ containers[flow] = require( _(containersPath +'/'+ flow, true))(loggerOptions, loggers);// jshint ignore:line
393
+ }
394
+ }
395
+ }
396
+
397
+ /**
398
+ *
399
+ *
400
+ * @param {string} group
401
+ * @param {object} [opt]
402
+ */
403
+ var setupNewGroup = function(group, opt) {
404
+ if ( typeof(loggers[group]) == 'undefined' ) {
405
+ loggers[group] = {};
406
+ }
407
+
408
+ if (!opt) {
409
+ opt = ctx._options || JSON.clone(defaultOptions)
410
+ }
411
+ loggers[group]._options = opt;
412
+
413
+ // lock group name
414
+ loggers[group]._options.name = group;
415
+
416
+ // setup colors
417
+ setColors(group);
418
+
419
+ //setup default levels for the group
420
+ setDefaultLevels(group);
421
+ }
422
+
423
+ var setColors = function(group) {
424
+ // using colors module, but we can add support for other modules
425
+ if (colors) {
426
+ var _colors = {};
427
+ for (let k in colors.styles) {
428
+ _colors[k] = {};
429
+ for (let i in colors.styles[k]) {
430
+ _colors[k][i] = colors.styles[k][i]
431
+ }
432
+ }
433
+ loggers[group].colors = JSON.clone(_colors);
434
+ }
435
+ }
436
+
437
+
438
+
439
+ var setDefaultLevels = function(group) {
440
+
441
+ var loggerOptions = loggers[group]._options || ctx._options || JSON.clone(defaultOptions);
442
+ var logger = loggers[group];
443
+ try {
444
+
445
+ //console.log('colors ----> ', colors);
446
+ // setting default level string length
447
+ loggerOptions._maxLevelLen = loggerOptions._maxLevelLen || 0;
448
+ if (!loggerOptions._maxLevelLen) {
449
+ for (let l in loggerOptions.levels) {
450
+ if (l.length > loggerOptions._maxLevelLen) {
451
+ loggerOptions._maxLevelLen = l.length;
452
+ }
453
+ }
454
+ }
455
+
456
+ for (let l in loggerOptions.levels) {
457
+ // override if existing
458
+ logger[l] = new Function('return '+ write +'('+ JSON.stringify(loggerOptions) +', '+ parse +', "'+ l +'", arguments, '+ emit +');');// jshint ignore:line
459
+ }
460
+
461
+ } catch (err) {
462
+ //process.stdout.write(err.stack + '\n')
463
+ emit(opt, 'error', err.stack);
464
+ }
465
+ }
466
+
467
+
468
+
469
+
470
+ var write = function(opt, parse, s, args, cb) {
471
+ // caller is __stack[3]
472
+ //console.log("----->" + __stack.toString().replace(/\,/g, '\n') );
473
+ // console.log("----->" + __stack[3] );
474
+ // if ( /tail\.js/.test(__stack[3]) ) {
475
+ // return;
476
+ // }
477
+
478
+ var content = '';
479
+ // Ignore logs not in hierarchy
480
+ if (opt.hierarchies[opt.hierarchy].indexOf( opt.levels[s].code) < 0) {
481
+ return;
482
+ }
483
+
484
+ //To handle logs with coma separated arguments.
485
+ for (let i = 0, iLen = args.length; i < iLen; ++i) {
486
+
487
+ if (args[i] instanceof Function) {
488
+ content += args[i].toString() + ""
489
+ }
490
+ else if (args[i] instanceof Object) {
491
+ // careful, [ parse ] will be out of the main execution context: passing it for recursive use
492
+ content += parse(parse, args[i], "")
493
+ }
494
+ else {
495
+
496
+ if ( /(?:\\[rnt]|[\r\n\t])/.test(args[i]) ) { // special replacement for mixed string
497
+ args[i] = args[i]
498
+ .replace(/(?:\\[rn]|[\r\n])/gm, String.fromCharCode('10')) // \r 10, but should be 13, but will be 10 because of the terminal
499
+ .replace(/(?:\\[t]|[\t])/gm, String.fromCharCode('09'))
500
+ ;
501
+ /**
502
+ * Oct Dec Hex Char
503
+ * ─────────────────────────────────────────────
504
+ * 000 0 00 NUL '\0'
505
+ * 001 1 01 SOH (start of heading)
506
+ * 002 2 02 STX (start of text)
507
+ * 003 3 03 ETX (end of text)
508
+ * 004 4 04 EOT (end of transmission)
509
+ * 005 5 05 ENQ (enquiry)
510
+ * 006 6 06 ACK (acknowledge)
511
+ * 007 7 07 BEL '\a' (bell)
512
+ * 010 8 08 BS '\b' (backspace)
513
+ * 011 9 09 HT '\t' (horizontal tab)
514
+ * 012 10 0A LF '\n' (new line)
515
+ * 013 11 0B VT '\v' (vertical tab)
516
+ * 014 12 0C FF '\f' (form feed)
517
+ * 015 13 0D CR '\r' (carriage ret)
518
+ */
519
+
520
+ }
521
+
522
+ content += args[i] + ' '
523
+ }
524
+ }
525
+
526
+
527
+ if (content != '') {
528
+ //process.stdout.write('FLOW: '+ opt.flows + '\n');
529
+ // Forwarding flow to containers
530
+ if (s == 'catch') {
531
+ cb(opt, s, content, true);
532
+ return;
533
+ }
534
+ cb(opt, s, content);
535
+ }
536
+ }
537
+ // Forwarding flow to containers
538
+ var emit = function(opt, severity, content, skipFormating) {
539
+
540
+ skipFormating = (typeof(skipFormating) != 'undefined' && /true/i.test(skipFormating)) ? true : false;
541
+ // Sample of a payload
542
+ // process.emit('logger#default', JSON.stringify({
543
+ // group : group,
544
+ // level : severity,
545
+ // content : content
546
+ // }));
547
+ for (let i=0, len=opt.flows.length; i<len; i++) {
548
+ let container = opt.flows[i];
549
+ process.emit('logger#'+container, JSON.stringify({
550
+ group : opt.name,
551
+ level : severity,
552
+ // Raw content !
553
+ content : content,
554
+ skipFormating: skipFormating
555
+ }));
556
+ }
557
+ }
558
+
559
+ var parse = function(parse, obj, str) {
560
+
561
+ var l = 0
562
+ , len = obj.count()
563
+ , isArray = (obj instanceof Array) ? true : false
564
+ ;
565
+ str += (isArray) ? '[ ' : '{';
566
+
567
+
568
+ for (var attr in obj) {
569
+ ++l;
570
+ if (obj[attr] instanceof Function) {
571
+ str += attr +': [Function]';
572
+ // if you want ot have it all replace by the following line
573
+ //str += attr +':'+ obj[attr].toString();
574
+ str += (l<len) ? ', ' : ''
575
+ } else if (obj[attr] instanceof Object && !isArray) {
576
+ str += '"'+attr+'": ';
577
+ str = parse(parse, obj[attr], str);
578
+ str += (l<len) ? ', ' : '';
579
+ } else {
580
+ if (!isArray && typeof(obj[attr]) == 'string') {
581
+ str += '"'+attr+'": "' + obj[attr]
582
+ .replace(/\'/g, "\\'")
583
+ .replace(/\"/g, '\\"') +'"';
584
+ } else if (isArray) {
585
+ str += ( typeof(obj[attr]) != 'string' ) ? obj[attr] : '"'+ obj[attr] +'"'
586
+ } else {
587
+ str += '"'+attr+'": ' + obj[attr]
588
+ }
589
+ str += (l<len) ? ', ' : ''
590
+ }
591
+
592
+ }
593
+
594
+ str += (isArray) ? ' ]' : '}';
595
+ return str + ' ';
596
+ }
597
+
598
+ self.getOptions = function() {
599
+ var loggerOptions = null, opt = ctx._options;
600
+ for (let i=0, len=opt.flows.length; i<len; i++) {
601
+ let flow = opt.flows[i];
602
+ loggerOptions = JSON.clone(opt);
603
+ if ( typeof(ctx._flowsOptions[flow]) != 'undefined' ) {
604
+ loggerOptions = merge(loggerOptions, ctx._flowsOptions[flow], true);// jshint ignore:line
605
+ }
606
+ }
607
+ return loggerOptions
608
+ }
609
+
610
+ self.getLoggers = function() {
611
+ return ctx._loggers
612
+ }
613
+
614
+ // /**
615
+ // * Add or override existing level(s)
616
+ // * @param {object} levels
617
+ // * */
618
+ // self.addLevel = function(levels) {
619
+ // for (var l in levels) {
620
+ // self[l] = new Function('return '+write+'('+JSON.stringify(opt)+', "'+l+'", arguments);');
621
+ // }
622
+ // }
623
+
624
+ /**
625
+ * <console>.setLevel
626
+ * Define a level for a given application
627
+ *
628
+ * @param {string} level hierarchy
629
+ * @param {string} group - existing application or service
630
+ * @returns
631
+ */
632
+ self.setLevel = function(level, group) {
633
+ if ( typeof(group) == 'undefined' || /^gina\-/.test(group) ) {
634
+ group = 'gina'
635
+ }
636
+
637
+ var opt = loggers[group]._options;
638
+ level = level.toLowerCase();
639
+ if ( typeof(opt.hierarchies[level]) == 'undefined' ) {
640
+ console.warn('`'+ level +'` is not a valid level: swithcing to `info`');
641
+ level = 'info';
642
+ }
643
+
644
+ opt.name = group;
645
+ process.env.LOG_GROUP = group;
646
+ opt.hierarchy = level;
647
+ process.env.LOG_LEVEL = level;
648
+
649
+ setColors(group);
650
+ setDefaultLevels(group);
651
+
652
+
653
+ self.debug('Log level set for `'+ group +'`: '+ level);
654
+
655
+ return
656
+ }
657
+
658
+ self.pauseReporting = function() {
659
+ loggers[ctx._options.name]._options.isReporting = false;
660
+ }
661
+ self.resumeReporting = function() {
662
+ loggers[ctx._options.name]._options.isReporting = true;
663
+ }
664
+
665
+
666
+
667
+ // Might be overkill ...
668
+ // TODO - <console>.filterLoggerByGroup('myApp')
669
+ // => Should log `myApp` only
670
+ // TODO - <console>.filterLoggerByLevel('warn')
671
+ // Should only log
672
+ // self.filterLogger['ByGroup'] = function(group) {
673
+ // console.debug('Getting `'+ group +'` logger');
674
+ // }
675
+
676
+ self.log = function() {
677
+ var opt = self.getOptions();
678
+ var args = arguments, content = '';
679
+
680
+ //To handle logs with coma separated arguments.
681
+ for (let i=0; i<args.length; ++i) {
682
+
683
+ if (args[i] instanceof Object) {
684
+ //console.log("\n...", args[i], args[i].toString());
685
+ content += JSON.stringify(args[i], null, '\t');
686
+ } else {
687
+ content += args[i];
688
+
689
+ // In case of formated entries - eg.: spawned server that is already returning formated logs
690
+ // if ( /(\[|\[\s+)debug/.test(args[i]) ) {
691
+ // // args[i] = args[i].replace(/\n$/, '');
692
+ // // self.debug(args[i].replace(/^.*\[debug.*\]\s+/, '').replace(/\n$/, ''));
693
+
694
+ // emit(opt, 'log', content.replace(/\n$/, ''), true);
695
+ // return;
696
+
697
+ // emit(opt, 'debug', content.replace(/\n$/, ''), true);
698
+
699
+ // for (let p=0, pLen=opt.flows.length; p<pLen; p++) {
700
+ // let container = opt.flows[p];
701
+ // process.emit('logger#'+container, args[i].replace(/\n$/, ''));
702
+ // }
703
+ // // process.stdout.write(content);
704
+
705
+ // continue;
706
+ // }
707
+ }
708
+ }
709
+
710
+ if (content != '') {
711
+
712
+ // intercepte already formated messages
713
+ if ( /^\S\[\d+[m]/.test(content) && /\n$/.test(content) ) {
714
+ emit(opt, 'catch', content, true);
715
+ return;
716
+ }
717
+ // else {
718
+ // for (let i=0, len=opt.flows.length; i<len; i++) {
719
+ // let container = opt.flows[i];
720
+ // process.emit('logger#'+container, content);
721
+ // }
722
+ // }
723
+
724
+ process.stdout.write(content + '\n');
725
+ }
726
+
727
+ };
728
+
729
+ return init(opt);
730
+ }
731
+
732
+ module.exports = Logger();
733
+ // if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
734
+ // // Publish as node.js module
735
+ // module.exports = Logger();
736
+ // } else if ( typeof(define) === 'function' && define.amd) {
737
+ // // Publish as AMD module
738
+ // define( function() { return Logger() });
739
+ // }