gina 0.0.9-p91b → 0.1.1-alpha.2

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.2/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.2}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.2/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.2/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.2/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.2/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.2/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.2/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.2/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.2/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.2/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.2/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.2/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.2/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.2/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.2/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.2/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.2/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.2/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.2/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.2/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.2/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.2/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.2/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.2/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.2/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.2/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.2/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.2/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.2/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.2/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.2/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.2/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.2/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.2/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.2/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.2/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.2/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.2/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.2/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.2/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.2/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.2/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.2/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.2/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.2/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.2/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.2/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.2/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.2/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.2/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.2/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.2/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.2/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.2/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.2/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.2/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.2/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.2/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.2/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.2/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.2/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.2/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.2/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.2/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.2/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.2/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.2/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.2/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.2/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.2/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.2/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.2/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.2/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.2/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.2/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.2/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.2/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.2/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.2/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.2/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.2/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.2/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.2/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.2}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.2}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.2/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.2/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.2/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.2/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.2/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.2}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.2/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.2/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.2/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.2/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.2/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.2}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.2}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.2/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.2/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.2/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.2/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.2/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.2/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.2/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.2/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.2/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.2/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.2/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.2/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.2/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.2/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.2/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.2/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.2/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.2/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.2/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.2/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.2/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.2/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.2/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.2/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.2/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.2/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.2/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.2/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.2/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.2/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.2/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.2/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.2/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.2/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.2/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.2/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.2/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.2/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.2/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.2/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.2/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.2/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.2/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.2/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.2/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.2/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.2/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.2/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.2/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.2/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.2/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.2/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.2/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.2/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.2/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.2/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.2/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.2/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.2/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.2/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.2/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.2/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.2/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.2/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.2/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.2/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.2/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.2/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.2/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.2/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.2/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.2/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.2/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.2/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.2/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.2}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.2/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.2}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.2/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.2/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.2/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.2}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.2/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.2/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.2}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.2/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.2/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.2/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.2/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.2/lib/logger/src/main.js +734 -0
  264. package/{core/utils → framework/v0.1.1-alpha.2}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.2}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.2}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.2}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.2}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.2}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.2/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.2}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.2/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.2/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.2/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.2}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.2/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.2/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.2}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.2/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.2/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.2/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.2/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.2}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.2}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.2}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.2}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.2}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.2/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 -13731
  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 -788
  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,518 @@
1
+ /* Gina.utils.Proc
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
+
10
+ /**
11
+ *
12
+ * { name: 'SIGABRT', action: 'A', desc: 'Process abort signal.' },
13
+ * { name: 'SIGALRM', action: 'T', desc: 'Alarm clock.' },
14
+ * { name: 'SIGBUS', action: 'A', desc: 'Access to an undefined portion of a memory object.' },
15
+ * { name: 'SIGCHLD', action: 'I', desc: 'Child process terminated, stopped, or continued. ' },
16
+ * { name: 'SIGCONT', action: 'C', desc: 'Continue executing, if stopped.' },
17
+ * { name: 'SIGFPE', action: 'A', desc: 'Erroneous arithmetic operation.' },
18
+ * { name: 'SIGHUP', action: 'T', desc: 'Hangup.' },
19
+ * { name: 'SIGILL', action: 'A', desc: 'Illegal instruction.' },
20
+ * { name: 'SIGINT', action: 'T', desc: 'Terminal interrupt signal.' },
21
+ * { name: 'SIGKILL', action: 'T', desc: 'Kill (cannot be caught or ignored).' },
22
+ * { name: 'SIGPIPE', action: 'T', desc: 'Write on a pipe with no one to read it.' },
23
+ * { name: 'SIGQUIT', action: 'A', desc: 'Terminal quit signal.' },
24
+ * { name: 'SIGSEGV', action: 'A', desc: 'Invalid memory reference.' },
25
+ * { name: 'SIGSTOP', action: 'S', desc: 'Stop executing (cannot be caught or ignored).' },
26
+ * { name: 'SIGTERM', action: 'T', desc: 'Termination signal.' },
27
+ * { name: 'SIGTSTP', action: 'S', desc: 'Terminal stop signal.' },
28
+ * { name: 'SIGTTIN', action: 'S', desc: 'Background process attempting read.' },
29
+ * { name: 'SIGTTOU', action: 'S', desc: 'Background process attempting write.' },
30
+ * { name: 'SIGUSR1', action: 'T', desc: 'User-defined signal 1.' },
31
+ * { name: 'SIGUSR2', action: 'T', desc: 'User-defined signal 2.' },
32
+ * { name: 'SIGPOLL', action: 'T', desc: 'Pollable event. ' },
33
+ * { name: 'SIGPROF', action: 'T', desc: 'Profiling timer expired. ' },
34
+ * { name: 'SIGSYS', action: 'A', desc: 'Bad system call.' },
35
+ * { name: 'SIGTRAP', action: 'A', desc: 'Trace/breakpoint trap. ' },
36
+ * { name: 'SIGURG', action: 'I', desc: 'High bandwidth data is available at a socket.' },
37
+ * { name: 'SIGVTALRM', action: 'T', desc: 'Virtual timer expired.' },
38
+ * { name: 'SIGXCPU', action: 'A', desc: 'CPU time limit exceeded.' },
39
+ * { name: 'SIGXFSZ', action: 'A', desc: 'File size limit exceeded. ' }
40
+ * */
41
+
42
+
43
+ //Imports
44
+ var fs = require('fs');
45
+ var Emitter = require('events').EventEmitter;
46
+ var spawn = require('child_process').spawn;
47
+ var UtilsConfig = require( _(__dirname + '/config') );
48
+ var inherits = require( _(__dirname + '/inherits') );
49
+ var console = require( _(__dirname + '/logger') );
50
+ var Collection = require( _(__dirname + '/collection') );
51
+ var generator = require( _(__dirname + '/generator') );
52
+ //var helpers = require( _(__dirname + '/helpers') );
53
+
54
+ /**
55
+ * @constructor
56
+ *
57
+ * @param {string} bundle
58
+ *
59
+ * */
60
+ function Proc(bundle, proc, usePidFile){
61
+
62
+ var e = new Emitter();
63
+
64
+ if ( typeof(usePidFile) == 'undefined') {
65
+ usePidFile = true
66
+ }
67
+
68
+ //default path to store pid files.
69
+ var pathObj = new _( GINA_RUNDIR );
70
+
71
+ var self = {
72
+ PID : proc.pid,
73
+ path : null,
74
+ master : false, //used only by master.
75
+ bundle : bundle,
76
+ bundles : [],
77
+ proc : proc,
78
+ usePidFile : usePidFile
79
+ };
80
+
81
+ /**
82
+ * Init process handler
83
+ * */
84
+ var init = function() {
85
+
86
+ process.list = (process.list == undefined) ? [] : process.list;
87
+ process.pids = (process.pids == undefined) ? {} : process.pids;
88
+
89
+ self.register(self.bundle, self.proc.pid);
90
+ };
91
+
92
+ var isMaster = function() {
93
+ return (self.master) ? true : false;
94
+ };
95
+
96
+
97
+ /**
98
+ * Going to force restart by third party (kill 9).
99
+ *
100
+ * @param {string} bundle
101
+ * @param {string} env
102
+ * @param {number} pid
103
+ *
104
+ * @callback callback
105
+ * @param {boolean|string} err
106
+ * */
107
+ var respawn = function(bundle, env, pid, callback) {
108
+ //var loggerInstance = getContext('logger');
109
+ //loggerInstance["trace"]('Fatal error !');
110
+ //console.debug('[ PROC ] Exiting and re spawning : ', bundle, env);
111
+ // TODO - Count the restarts and prevent unilimited loop
112
+ // TODO - Send notification to admin or/and root to the Fatal Error Page.
113
+
114
+ try {
115
+ var version = process.getVersion(bundle);
116
+ } catch (err) {
117
+ bundle = process.argv[3];
118
+ //var port = self.getBundlePortByBundleName(bundle);
119
+ //console.debug('[ PROC ] Bundle ', bundle,' already running or port[ '+port+' ] is taken by another process...');
120
+ //loggerInstance["trace"]("Bundle [ "+ bundle +" ] already running or [ "+env+" ] port is use by another process...");
121
+ console.debug('[ PROC ] Bundle [ '+ bundle +' ] already running or [ '+env+' ] port is use by another process');
122
+ dismiss(process.pid);
123
+ }
124
+
125
+ callback(false);
126
+ };
127
+
128
+ var setPID = function(bundle, PID, proc) {
129
+
130
+ if ( !/^gina\-/.test(bundle) ) {
131
+ proc.title = 'gina: '+ bundle;
132
+ } else {
133
+ proc.title = bundle;
134
+ }
135
+
136
+ //Set event.
137
+ setDefaultEvents(bundle, PID, proc);
138
+ };
139
+
140
+ var setDefaultEvents = function(bundle, PID, proc) {
141
+
142
+
143
+ if ( typeof(PID) != 'undefined' && typeof(PID) == 'number' ) {
144
+
145
+ console.debug('[ PROC ] Setting listeners for ', PID, ':', bundle);
146
+
147
+ proc.dismiss = dismiss;
148
+ proc.isMaster = isMaster;
149
+
150
+
151
+ proc.on('SIGTERM', function(code){
152
+ if ( typeof(code) == 'undefined')
153
+ code = 0;
154
+ // will handle `dismiss()`
155
+ proc.exit(code);
156
+ });
157
+
158
+ proc.on('SIGINT', function(code){
159
+
160
+ if (code == undefined)
161
+ code = 0;
162
+
163
+ console.info('[ PROC ] Got exit code. Now killing: ', code);
164
+ // will handle `dismiss()`
165
+ proc.exit(code);
166
+ });
167
+
168
+ //Will prevent the server from stopping.
169
+ proc.on('uncaughtException', function(err) {
170
+
171
+ if ( /ERR\_HTTP\_HEADERS\_SENT/.test(err.stack) ) {
172
+ console.error('[ SERVER ][ HTTP UNCAUGHT EXCEPTION ]', err.stack);
173
+ return false;
174
+ }
175
+
176
+ if ( /ERR\_HTTP2/.test(err.stack) ) {
177
+ console.warn('[ SERVER ][ HTTP2 UNCAUGHT EXCEPTION ]', err.stack);
178
+ return false;
179
+ }
180
+
181
+ console.emerg('[ FRAMEWORK ][ uncaughtException ] ', err.stack);
182
+
183
+ //console.debug("[ PROC ] @=>", self.args);
184
+ var bundle = self.bundle;
185
+ var pid = self.getPidByBundleName(bundle);
186
+
187
+ dismiss(pid, 'SIGKILL');
188
+
189
+
190
+ // TODO - Wake up buddy !.
191
+ //respawn(bundle, env, pid, function(err) {
192
+ //TODO - Send an email to the administrator/dev
193
+ //TODO - Have a delegate handler to allow the dev to do its stuff. Maybe it's already there if any dev can override.
194
+ //proc.exit(1) // don't kill !!! It will stop the server
195
+ //})
196
+ });
197
+
198
+ proc.on('exit', function(code){
199
+
200
+ if ( typeof(code) == 'undefined') {
201
+ code = 0;
202
+ }
203
+
204
+ // var bundle = self.bundle;
205
+ // var env = process.env.NODE_ENV || 'prod';
206
+ // var pid = self.getPidByBundleName(bundle);
207
+
208
+ var currentProcess = process.list[process.list.count()-1];
209
+ if ( typeof(currentProcess) != 'undefined' ) {
210
+ console.debug('Removing `currentProcess.pid`: ', currentProcess.pid);
211
+ dismiss(currentProcess.pid, "SIGKILL")
212
+ }
213
+ });
214
+
215
+ proc.on('SIGHUP', function(code){
216
+ console.debug('[ FRAMEWORK ] Hanging up ! Code: '+ code +'\n'+ process.argv);
217
+
218
+ var bundle = self.bundle;
219
+ // var env = process.env.NODE_ENV || 'prod';
220
+ var pid = self.getPidByBundleName(bundle);
221
+
222
+ dismiss(process.pid, "SIGINT");
223
+ dismiss(pid, "SIGINT");
224
+ })
225
+ }
226
+ };
227
+
228
+
229
+ var dismiss = function(pid, signal){
230
+ if (pid == undefined) {
231
+ pid = self.PID;
232
+ }
233
+ var index = null
234
+ , mountPath = null
235
+ ;
236
+ try {
237
+ //console.debug('[ PROC ] => '+ JSON.stringify(process.list, null, 4));
238
+
239
+ for (let p in process.list) {
240
+ if ( typeof(process.list[p]) == 'undefined' || process.list[p] == null )
241
+ continue;
242
+
243
+ if ( process.list[p].pid == pid && !/^gina\-/.test(process.list[p].name) ) {
244
+ index = p;
245
+
246
+ try {
247
+ removePidFileSync(process.list[p].pid);
248
+ if ( typeof(process.isMinion) == 'undefined' ) {
249
+ mountPath = _(getPath('mountPath') + '/' + process.list[p].name);
250
+ if ( fs.existsSync(mountPath) )
251
+ fs.unlinkSync( mountPath );
252
+ }
253
+ // soft kill..
254
+ process.kill(pid, signal);
255
+ } catch (err) {
256
+ console.warn('[ PROC ] Could not unmount process file `'+process.list[p].name+'`\n'+ err.stack);
257
+ }
258
+
259
+
260
+ } else if ( process.list[p].pid == pid && /^gina\-/.test(process.list[p].name) ) {
261
+ index = p;
262
+ removePidFileSync(process.list[p].pid);
263
+ removeRunningProc(process.list[p].pid);
264
+ }
265
+ }
266
+ } catch (err) {
267
+ //Means that it does not exists anymore.
268
+ console.debug('[ PROC ] ', err.stack)
269
+ }
270
+
271
+ if (index != null)
272
+ delete process.list[index];
273
+
274
+ // handles only signals that cannot be cannot be caught or ignored
275
+ if ( /(SIGKILL|SIGSTOP)/i.test(signal) ) {
276
+ removePidFileSync(pid);
277
+ }
278
+
279
+ console.debug('[ PROC ] Received '+ signal +' signal to end process [ '+ pid +' ]');
280
+ };
281
+
282
+ var removePidFileSync = function(pid) {
283
+ var files = fs.readdirSync( GINA_RUNDIR );
284
+ var pidPath = null;
285
+ for ( let i=0, len=files.length; i<len; i++) {
286
+ let id = fs.readFileSync( _(GINA_RUNDIR +'/'+ files[i], true) ).toString().trim();
287
+ if (id == pid) {
288
+ pidPath = _(GINA_RUNDIR +'/'+ files[i], true);
289
+ break;
290
+ }
291
+ }
292
+ if (pidPath) {
293
+ fs.unlinkSync( pidPath );
294
+ }
295
+ }
296
+
297
+ /**
298
+ * Save PID file
299
+ * @param {string} bundle
300
+ * @param {integer} PID Id of the PID to save
301
+ *
302
+ * @private
303
+ * */
304
+ var save = function(){
305
+ var bundle = self.bundle
306
+ , PID = self.PID
307
+ , proc = self.proc
308
+ , path = self.path
309
+ , file = null
310
+ ;
311
+
312
+ //Get PID path.
313
+ if (
314
+ typeof(bundle) != "undefined" && bundle != ''
315
+ && typeof(PID) != "undefined" && PID != '' && PID != null
316
+ && typeof(proc) != "undefined" && proc != '' && proc != null
317
+ ) {
318
+ try {
319
+ file = proc.title.replace(/^gina\:\s+/, '');
320
+ // if ( !/^gina-/.test(file) ) {
321
+ // e.emit('proc#registered', file);
322
+ // }
323
+ file += '.pid';
324
+
325
+ console.debug('[ PROC ] Now saving `'+file+'`');
326
+ var fileStream = fs.createWriteStream(path + file);
327
+ fileStream.once('open', function(fd) {
328
+ //fileStream.write(bundle);
329
+ fileStream.write(''+PID);
330
+ fileStream.end();
331
+ e.emit('proc#complete-'+self.PID, false, PID)
332
+ });
333
+ } catch (err) {
334
+ e.emit('proc#complete-'+self.PID, err)
335
+ }
336
+
337
+ } else {
338
+ e.emit('proc#complete-'+self.PID, new Error('encountered troubles while trying to save Process [ '+ proc.title +' ] pid file'))
339
+ }
340
+ };
341
+
342
+ var saveRunningProc = function(bundle) {
343
+
344
+ var runningProcsPath = _(GINA_HOMEDIR + '/procs.json', true)
345
+ , runningProcsPathObj = new _(runningProcsPath)
346
+ , runningProcs = {}
347
+ , proc = self.proc
348
+ , PID = self.PID
349
+ ;
350
+
351
+ if ( runningProcsPathObj.existsSync() ) {
352
+ runningProcs = requireJSON(runningProcsPath);
353
+ }
354
+
355
+ if ( typeof(runningProcs[bundle]) == 'undefined' ) {
356
+ runningProcs[bundle] = {}
357
+ }
358
+ runningProcs[bundle].pid = PID;
359
+ runningProcs[bundle].title = proc.title;
360
+ runningProcs[bundle].version = GINA_VERSION;
361
+ runningProcs[bundle].port = ~~GINA_PORT;
362
+
363
+ var argvStr = process.argv.join(',');
364
+ if ( /\-\-fake\-daemon\-pid/.test(argvStr) ) {
365
+ runningProcs[bundle].fakeDaemonPid = ~~(argvStr.match(/\-\-fake\-daemon\-pid\=\d+/)[0].split(/\=/)[1])
366
+ }
367
+
368
+ generator.createFileFromDataSync( JSON.stringify(runningProcs, null, 2), runningProcsPath);
369
+ }
370
+
371
+ var removeRunningProc = function(pid) {
372
+ var runningProcsPath = _(GINA_HOMEDIR + '/procs.json', true)
373
+ , runningProcsPathObj = new _(runningProcsPath)
374
+ , runningProcs = {}
375
+ ;
376
+ if ( runningProcsPathObj.existsSync() ) {
377
+ runningProcs = requireJSON(runningProcsPath);
378
+ for (let name in runningProcs) {
379
+ if (runningProcs[name].pid == pid) {
380
+ delete runningProcs[bundle];
381
+ generator.createFileFromDataSync( JSON.stringify(runningProcs, null, 2), runningProcsPath);
382
+ break;
383
+ }
384
+ }
385
+ }
386
+ }
387
+
388
+
389
+ /**
390
+ * Get PID
391
+ * @param {string} bundle
392
+ * @returns {number} PID
393
+ * */
394
+ self.getPID = function(){
395
+
396
+ try{
397
+ return self.PID;
398
+ } catch (err) {
399
+ console.error('[ PROC ] Could not get PID for bundle: '+ self.bundle + (err.stack||err.message));
400
+ return null;
401
+ }
402
+ };
403
+
404
+ self.getBundleNameByPid = function(pid){
405
+
406
+ var list = process.list;
407
+
408
+ for (var i=0; i<list.length; ++i) {
409
+ if ( typeof(list[i][pid]) != 'undefined' )
410
+ return list[i][pid]
411
+ }
412
+ return undefined
413
+ };
414
+
415
+
416
+ self.getPidByBundleName = function(bundle){
417
+
418
+ var list = process.pids;
419
+
420
+ if ( typeof(list[bundle]) != 'undefined')
421
+ return list[bundle]
422
+ else
423
+ return undefined
424
+ };
425
+
426
+ self.setMaster = function(bool){
427
+
428
+ if ( typeof(bool) == 'undefined' || bool == true) {
429
+ self.master = true;
430
+ } else {
431
+ self.master = false;
432
+ }
433
+ };
434
+
435
+ self.register = function(bundle, pid) {
436
+
437
+ var processCollection = new Collection(process.list);
438
+ var existingProcess = processCollection.findOne({ name: bundle, pid: pid });
439
+ // cleanup if found;
440
+ if (existingProcess) {
441
+ process.list = processCollection.delete({ name: bundle, pid: pid }, 'pid').toRaw();
442
+ dismiss(existingProcess.pid);
443
+ console.debug('[ PROC ] Don\'t pannic ...');
444
+ existingProcess = null;
445
+ }
446
+
447
+
448
+ if ( /^gina\-/.test(bundle) || !/^gina\-/.test(bundle) && self.bundles.indexOf(bundle) < 0 ) {
449
+ console.debug('[ PROC ] Now registering `'+bundle+'` with PID `'+ pid +'`');
450
+ var list = {};
451
+
452
+ var processRegistration = function () {
453
+
454
+ if (!/^gina\-/.test(bundle) && !existingProcess) {
455
+ self.bundles.push(bundle);
456
+ }
457
+ // save to ~/.gina/procs.json
458
+ else if (/^gina\-/.test(bundle)) {
459
+ saveRunningProc(bundle)
460
+ }
461
+
462
+ list['pid'] = pid;
463
+ list['name'] = bundle;
464
+ process.list.push(list);//Running bundles.
465
+ setContext('process.list', process.list);
466
+ process.pids[bundle] = pid;
467
+
468
+ list = null;
469
+
470
+ //isBundleMounted(projects, bundlesPath, getContext('bundle'));
471
+ };
472
+
473
+ var isReplacementNeeded = false, path = _(pathObj.toUnixStyle(), true);
474
+ if ( self.usePidFile && !pathObj.existsSync() ) {
475
+ try {
476
+ pathObj.mkdirSync();
477
+ console.debug('[ PROC ] Path created ('+ path +')');
478
+ isReplacementNeeded = true;
479
+ } catch (pathErr) {
480
+ throw pathErr
481
+ }
482
+ }
483
+
484
+ if (self.usePidFile) {
485
+ // save file
486
+ if (!isReplacementNeeded) {
487
+ self.PID = self.proc.pid;
488
+ self.path = path + pathObj.sep;
489
+
490
+ //Add PID file.
491
+ setPID(bundle, self.PID, self.proc);
492
+ save(bundle, self.PID, self.proc);
493
+ }
494
+ }
495
+
496
+ processRegistration()
497
+ }
498
+ };
499
+
500
+ self.dismiss = dismiss;
501
+
502
+ self.onReady = function(cb) {
503
+ e.once('proc#complete-'+self.PID, function(err, pid){
504
+ cb(err, pid)
505
+ })
506
+ }
507
+
508
+ //init
509
+ if ( typeof(self.bundle) == "undefined" ) {
510
+ console.error('[ PROC ] Invalid or undefined proc name . Proc naming Aborted');
511
+ process.exit(1)
512
+ } else {
513
+ init()
514
+ }
515
+
516
+ return self
517
+ }
518
+ module.exports = Proc;
File without changes
@@ -5,9 +5,9 @@
5
5
 
6
6
  "author": {
7
7
  "name": "Maritn-Luther ETOUMAN",
8
- "email": "gina@rhinosotne.com"
8
+ "email": "contact@gina.io"
9
9
  },
10
- "copyright": "Copyright (c) 2009-2016 Rhinostone <gina@rhinostone.com>",
10
+ "copyright": "Copyright (c) 2009-2022 Rhinostone <contact@gina.io>",
11
11
  "engines": {
12
12
  "node": ">=0.10.22"
13
13
  },