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
@@ -1,24 +1,25 @@
1
1
  /**
2
2
  * This file is part of the gina package.
3
- * Copyright (c) 2016 Rhinostone <gina@rhinostone.com>
3
+ * Copyright (c) 2017 Rhinostone <contact@gina.io>
4
4
  *
5
5
  * For the full copyright and license information, please view the LICENSE
6
6
  * file that was distributed with this source code.
7
7
  */
8
- process.env.IS_SCRIPT_MODE = true;
9
- //Imports
10
- var fs = require('fs');
11
- var os = require('os');
12
8
 
13
- // var helpers = require('./../core/utils/helpers');
14
- // var utils = {
15
- // logger : require('./../core/utils/lib/logger'),
16
- // generator : require('./../core/utils/lib/generator')
17
- // };
9
+ //Imports
10
+ var fs = require('fs');
11
+ var util = require('util');
12
+ var promisify = util.promisify;
13
+ const { execSync } = require('child_process');
18
14
 
19
- var utils = require('./../core/utils');
20
- var console = utils.logger;
15
+ var lib = require('./lib');
16
+ var console = lib.logger;
21
17
 
18
+ var scriptPath = __dirname;
19
+ var ginaPath = (scriptPath.replace(/\\/g, '/')).replace('/script', '');
20
+ var help = require(ginaPath + '/utils/helper.js');
21
+ var pack = ginaPath + '/package.json';
22
+ pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
22
23
 
23
24
 
24
25
  /**
@@ -27,47 +28,185 @@ var console = utils.logger;
27
28
  * */
28
29
  function PostInstall() {
29
30
 
30
- var self = this;
31
+ var self = {}, _this = this;
31
32
 
32
33
  //Initialize post installation scripts.
33
34
  var init = function() {
34
- self.isWin32 = ( os.platform() == 'win32' ) ? true : false;
35
- self.path = _( __dirname.substring(0, (__dirname.length - "script".length)-1 ) );
36
- self.root = process.cwd().toString();
35
+ self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
36
+ self.path = getEnvVar('GINA_FRAMEWORK');
37
+ self.gina = getEnvVar('GINA_DIR');
38
+ self.root = self.gina; // by default
39
+ self.isGlobalInstall = false;
40
+ self.prefix = execSync('npm config get prefix');
41
+
42
+ var args = process.argv, i = 0, len = args.length;
43
+ for (; i < len; ++i) {
44
+ if (args[i] == '-g' ) {
45
+ self.isGlobalInstall = true;
46
+ break;
47
+ }
48
+ }
37
49
 
50
+ console.debug('Is this for Windows ? ' + self.isWin32);
38
51
 
39
- createVersionFile();
40
- //console.log('[ debug ] createVersionFile()');
41
- createGinaFileForPlatform();
42
- //console.log('[ debug ] createGinaFileForPlatform()');
52
+ if ( !self.isGlobalInstall ) { //global install
53
+ self.root = process.cwd(); // project path
54
+ console.error('local installation is not supported for this version at the moment.');
55
+ console.info('please use `npm install -g gina`');
56
+ process.exit(1);
57
+ }
58
+
59
+ console.debug('prefix path: ' + self.prefix);
60
+ console.debug('framework path: ' + self.gina);
61
+ console.debug('framework version path: ' + self.path);
62
+ console.debug('cwd path: ' + self.root );
63
+ console.debug('this is a global install ...');
64
+
65
+ begin(0);
66
+ }
67
+
68
+ /**
69
+ * Bebin - Will run checking tasks in order of declaration
70
+ * */
71
+ var begin = async function(i) {
72
+ //console.debug('i is ', i);
73
+ var n = 0, funct = null, functName = null;
74
+ for (let t in self) {
75
+ if ( typeof(self[t]) == 'function') {
76
+ if (n == i) {
77
+ //let func = 'self.' + t + '()';
78
+ let func = 'self.' + t;
79
+ console.debug('Running [ ' + func + '() ]');
80
+ funct = func;
81
+ functName = t;
82
+ break;
83
+ }
84
+ n++;
85
+ }
86
+ }
87
+
88
+ // to handle sync vs async to allow execution in order of declaration
89
+ if (funct) {
90
+ eval('async function on'+functName+'(){ await promisify('+ funct + ')().catch(function(e){ console.error(e.toString()); process.exit(-1);}).then(function(){ begin('+(i+1)+')});}; on'+functName+'();'); // jshint ignore:line
91
+ } else {
92
+ process.exit(0);
93
+ }
43
94
  }
44
95
 
45
- var createVersionFile = function(callback) {
46
- var version = require( _(self.path + '/package.json') ).version;
96
+ // self.checkIfIsContributorEnv = function(done) {
97
+ // var isContribEnv = false;
98
+ // if ( new _(self.gina + '/.git', true).existsSync() ) {
99
+ // isContribEnv = true;
100
+ // }
101
+ // var homeDir = getUserHome() || null;
102
+ // if (!homeDir) {
103
+ // return done(new Error('No $HOME path found !'))
104
+ // }
105
+ // var ginaHomeDir = homeDir.replace(/\n/g, '') + '/.gina';
106
+ // setEnvVar('GINA_HOMEDIR', ginaHomeDir);
107
+
108
+ // var npmGlobal = homeDir.replace(/\n/g, '') + '/.npm-global';
109
+ // var IsNpmGlobalFound = false;
110
+ // if ( new _(npmGlobal, true).existsSync() ) {
111
+ // IsNpmGlobalFound = true;
112
+
113
+ // if ( ! new _(npmGlobal +'/bin', true).existsSync() ) {
114
+ // new _(npmGlobal +'/bin', true).mkdirSync()
115
+ // }
116
+ // if ( ! new _(npmGlobal +'/lib/node_modules', true).existsSync() ) {
117
+ // new _(npmGlobal +'/lib/node_modules', true).mkdirSync()
118
+ // }
119
+ // }
120
+
121
+ // console.debug(self.gina, ' | ', ginaHomeDir);
122
+ // console.debug('Is contributor‘s env ? : '+ isContribEnv);
123
+
124
+ // // Fixing `npm link` VS `.npm-global` issue on contributors env
125
+ // /**
126
+ // * Patch designed to use `npm link gina` in your project
127
+ // * without taking the risk to get the wrong package version
128
+ // *
129
+ // * See.:
130
+ // * 4 reasons to avoid using `npm link` - https://hirok.io/posts/avoid-npm-link
131
+ // * */
132
+ // if (isContribEnv && IsNpmGlobalFound) {
133
+ // console.debug('Contributor case detected ...\n', JSON.stringify(process.env, null, 2));
134
+
135
+ // lib.generator.createFileFromDataSync(isContribEnv +'\n'+ '\n'+ IsNpmGlobalFound +'\n'+ JSON.stringify(process.env, null, 2), npmGlobal+'/npm_out.txt');
136
+
137
+ // // symlink the lib
138
+ // // ln -s /usr/local/lib/node_modules/gina ~/.npm-global/lib/node_modules/gina
139
+ // // symlink the bin
140
+ // // ln -s ~/.npm-global/lib/node_modules/gina/bin/gina ~/.npm-global/bin/gina
141
+ // }
142
+
143
+ // done();
144
+ // }
145
+
146
+
147
+ self.createVersionFile = function(done) {
148
+ var version = require( _(self.gina + '/package.json') ).version;
149
+ console.debug('writting version number: '+ version);
150
+
47
151
  var target = _(self.path + '/VERSION');
48
152
  try {
49
153
  if ( fs.existsSync(target) ) {
50
- fs.unlinkSync(target);
51
- setTimeout(function(){
52
- if (callback) {
154
+ fs.unlinkSync(target)
155
+ }
156
+ fs.writeFileSync(target, version);
157
+ } catch(err) {
158
+ return done(err)
159
+ }
53
160
 
161
+ done();
162
+ }
54
163
 
164
+ var configureGina = function(callback) {
165
+ // link to ./bin/cli to binaries dir
166
+ if (!self.isWin32) {
167
+ var binPath = _(self.prefix+'/bin', true);
168
+ var cli = _(binPath +'/gina');
169
+ // TODO - remove this part for the next version
170
+ var cliDebug = _(binPath +'/gina-debug');
55
171
 
56
- fs.writeFileSync(target, version);
57
- callback()
172
+ if ( fs.existsSync(cli) ) {
173
+ fs.unlinkSync(cli)
174
+ }
175
+ // TODO - remove this part for the next version
176
+ if ( fs.existsSync(cliDebug) ) {
177
+ fs.unlinkSync(cliDebug)
178
+ }
58
179
 
59
- } else {
60
- fs.writeFileSync(target, version);
180
+ var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath +'/gina';
181
+ console.debug('running: '+ cmd);
182
+ run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
183
+ .onData(function(data){
184
+ console.info(data)
185
+ })
186
+ .onComplete( function onDone(err, data){
187
+ if (err) {
188
+ console.error(err);
189
+ console.warn('try to run : sudo ' + cmd);
61
190
  }
62
- }, 1000)
191
+ });
192
+ // To debug, you just need to run:
193
+ // gina <topic>:<task> --inspect-gina
194
+ //
195
+ // TODO - remove this part for the next version
196
+ // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
197
+ // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
198
+ // .onData(function(data){
199
+ // console.info(data)
200
+ // })
201
+ // .onComplete( function onDone(err, data){
202
+ // if (err) {
203
+ // console.error(err);
204
+ // console.warn('try to run : sudo ' + cmd);
205
+ // }
206
+ // });
63
207
 
64
- } else {
65
- fs.writeFileSync(target, version);
66
- }
67
-
68
- } catch(err) {
69
- throw err;
70
- process.exit(0)
208
+ } else {
209
+ console.warn('linking gina binary is not supported yet for Windows.');
71
210
  }
72
211
  }
73
212
 
@@ -80,55 +219,78 @@ function PostInstall() {
80
219
  if ( typeof(win32Name) != 'undefined') {
81
220
  target = _(appPath +'/'+ win32Name)
82
221
  }
83
-
84
222
  //Will override.
223
+ console.info('linking to binaries dir ... ');
85
224
  if ( typeof(callback) != 'undefined') {
225
+ if ( !self.isGlobalInstall ) { // local install only
226
+ lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
227
+ callback(err)
86
228
 
87
- try {
88
- utils.generator.createFileFromTemplateSync(source, target);
89
- setTimeout(function () {
90
- callback(false)
91
- }, 1000)
92
- } catch (err) {
93
- callback(err)
229
+ })
230
+ } else {
231
+
232
+ configureGina();
233
+ callback(false)
94
234
  }
95
235
  } else {
96
- utils.generator.createFileFromTemplateSync(source, target)
236
+ if ( !self.isGlobalInstall ) {
237
+ lib.generator.createFileFromTemplate(source, target)
238
+ } else {
239
+
240
+ configureGina();
241
+ }
97
242
  }
98
243
  }
99
244
 
100
- var createGinaFileForPlatform = function() {
101
- console.log('creating platform file');
102
- //console.log('[ debug ] about to open ' + _(self.path + '/package.json'));
245
+ self.createGinaFileForPlatform = async function(done) {
246
+ console.info('Creating platform file');
103
247
  var name = require( _(self.path + '/package.json') ).name;
104
248
 
105
249
  var filename = ( (self.isWin32) ? '.' : '' ) + name;
106
250
 
107
251
  var keepGoing = function(filename) {
108
252
 
109
-
110
-
111
- createGinaFile(filename, function onGinaFileCreated(err){
112
-
253
+ createGinaFile(filename, function onFileCreated(err) {
113
254
  if (err) {
114
- throw err;
115
- return false
255
+ return done(err)
116
256
  }
257
+
117
258
  // this is done to allow multiple calls of post_install.js
118
259
  var filename = _(self.path + '/SUCCESS');
119
260
  var installed = fs.existsSync( filename );
120
- if (!installed /**&& /node_modules\/gina/.test( new _(process.cwd()).toUnixStyle() ) */ ) {
121
- fs.writeFileSync(filename, true )
261
+ if (installed) {
262
+ fs.unlinkSync( filename );
122
263
  }
123
264
 
124
- // old NPM : < 3 & compatible 3+
125
- console.log('> now installing dependencies, please wait ...\n\r');
126
- var dependencies = require( _(self.path + '/package.json') ).ginaDependencies;
127
-
128
- // starting from NodeJS v5.x, it is done automatically
129
- npmInstall(dependencies);
265
+ // if ( /node_modules\/gina/.test( new _(process.cwd()).toUnixStyle() ) ) {
266
+ // var msg = "Gina's command line tool has been installed.";
267
+ // console.info(msg);
268
+ // process.exit(0)
269
+ // }
270
+
271
+ console.debug('Writting '+ filename);
272
+ fs.writeFileSync(filename, 'true' );
273
+
274
+ // do something that can be called after the first time installation
275
+
276
+
277
+ // Check if npm install has been done
278
+ if ( !hasNodeModulesSync() ) {
279
+ return npmInstall(done)
280
+ } else {
281
+ var target = new _(self.path + '/node_modules');
282
+ console.debug('replacing: ', target.toString() );
283
+ return target
284
+ .rm( function onRemove(err) {
285
+ if (err) {
286
+ return done(err);
287
+ } else {
288
+ return npmInstall(done)
289
+ }
290
+ })
291
+ }
130
292
 
131
- });
293
+ })
132
294
  }
133
295
 
134
296
  if (self.isWin32) {
@@ -138,147 +300,277 @@ function PostInstall() {
138
300
  if ( fs.existsSync(target) ) {
139
301
  fs.unlinkSync(target);
140
302
  // have to wait for windows to complete this
141
- setTimeout( function(){
142
- utils.generator.createFileFromTemplateSync(source, target);
143
- keepGoing(filename)
303
+ setTimeout( async function(){
304
+ lib.generator.createFileFromTemplate(source, target);
305
+ await keepGoing(filename)
144
306
  }, 1000)
145
307
  } else {
146
- utils.generator.createFileFromTemplateSync(source, target);
147
- keepGoing(filename)
308
+ lib.generator.createFileFromTemplate(source, target);
309
+ await keepGoing(filename)
148
310
  }
311
+
149
312
  } else {
150
- filename += '.sh';// patch for latest npm release
151
- keepGoing(filename)
313
+ await keepGoing(filename)
152
314
  }
153
315
  }
154
316
 
155
317
 
156
- var npmInstall = function(modules) {
157
- if ( modules.count() == 0 ) {
158
- console.log("\nGina's command line tool has been installed !\n");
159
- process.exit(0)
160
- }
318
+ var hasNodeModulesSync = function() {
319
+ return fs.existsSync( _(self.path + '/node_modules') )
320
+ }
161
321
 
322
+
323
+ var npmInstall = function(done) {
324
+ console.info('now installing modules: please, wait ...');
162
325
  var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
163
- var key = null;
164
- for (var m in modules) {
165
- key = m;
166
- if ( modules[m] != '') {
167
- cmd += ' '+ m +'@'+ modules[m];
168
- console.log('installing [ '+ m +'@'+ modules[m] +' ]');
169
- } else {
170
- cmd += ' '+ m + '@latest';
171
- console.log('installing [ '+ m + '@latest ]');
326
+
327
+ run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
328
+ .onData(function onData(data){
329
+ console.info(data)
330
+ })
331
+ .onComplete( function onDone(err, data){
332
+ if (!err) {
333
+ return done()
334
+ }
335
+ done(err)
336
+ })
337
+ }
338
+
339
+ self.cleanupIfNeeded = function(done) {
340
+
341
+ var frameworkPath = self.gina;
342
+ console.debug('Framework path is: ' + frameworkPath);
343
+
344
+ // Let's cleanup `colors` from `GINA_DIR`
345
+ if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
346
+ var initialDir = process.cwd();
347
+ process.chdir(frameworkPath);
348
+ var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
349
+ try {
350
+ execSync(cmd);
351
+ console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
352
+ } catch (npmErr) {
353
+ return done(npmErr);
172
354
  }
173
355
 
174
- break
356
+ process.chdir(initialDir);
357
+ }
358
+
359
+ done()
360
+ }
361
+
362
+ self.checkUserExtensions = async function(done) {
363
+
364
+ var userDir = _(getUserHome() + '/.gina/user', true);
365
+ // var userDirObj = new _(userDir);
366
+ // if ( ! userDirObj.existsSync() ) {
367
+ // userDirObj.mkdirSync();
368
+ // }
369
+ // var extDir = _(userDir +'/extensions', true);
370
+ // var extDirObj = new _(extDir);
371
+ // if ( ! extDirObj.existsSync() ) {
372
+ // extDirObj.mkdirSync();
373
+ // }
374
+
375
+ // // logger
376
+ // var extLogger = _(extDir +'/logger', true);
377
+
378
+ // reading default extensions
379
+ var ext = _(self.gina +'/resources/home/user/extensions', true);
380
+ var folders = [];
381
+ try {
382
+ console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
383
+ folders = fs.readdirSync(ext);
384
+
385
+ } catch(readErr) {
386
+ throw readErr
175
387
  }
176
388
 
177
- delete modules[key];
389
+ for (let i = 0, len = folders.length; i < len; i++) {
390
+ let dir = folders[i];
391
+ // skip junk
392
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
393
+ continue;
394
+ }
395
+
396
+ // skip symlinks
397
+ try {
398
+ console.debug('Checking: '+ _(ext +'/'+ dir, true) + ' - isSymbolicLink ? '+ fs.lstatSync( _(ext +'/'+ dir, true) ).isSymbolicLink() );
399
+ if ( fs.lstatSync( _(ext +'/'+ dir, true) ).isSymbolicLink() ) {
400
+ continue;
401
+ }
402
+ } catch (e) {
403
+ continue;
404
+ }
405
+
406
+ let userExtPath = _(userDir +'/extensions/'+ dir, true);
407
+ let userExtPathObj = new _(userExtPath)
408
+ if ( !userExtPathObj.existsSync() ) {
409
+ userExtPathObj.mkdirSync()
410
+ }
411
+
412
+ let files = []
413
+ , extDir = _(ext +'/'+ dir, true)
414
+ , extDirObj = new _(extDir)
415
+ ;
416
+ try {
417
+
418
+ console.debug('Reading extDir: '+ extDir + ' - isDirectory ? '+ fs.lstatSync( extDir ).isDirectory() );
419
+ if ( !fs.lstatSync( extDir ).isDirectory() ) {
420
+ continue;
421
+ }
178
422
 
179
- if ( !fs.existsSync(self.path) ) {
180
- fs.mkdirSync(self.path)
423
+
424
+ files = fs.readdirSync( extDir );
425
+
426
+ } catch(fileReadErr) {}
427
+
428
+ console.debug("What about files ? " + files);
429
+
430
+ for (let n = 0, nLen = files.length; n < nLen; n++) {
431
+ let file = files[n];
432
+ console.debug('file --> ', file);
433
+ let extentionPath = _(extDir +'/'+ file, true);
434
+ let extensionPathObj = new _(extentionPath);
435
+ // redefined
436
+ let userExtPathObj = new _(userExtPath + '/'+ file, true);
437
+ if ( !userExtPathObj.existsSync() ) {
438
+ let f = function(destination, cb) {// jshint ignore:line
439
+ extensionPathObj.cp(destination, cb);
440
+ };
441
+ let err = false;
442
+ await promisify(f)( _(userExtPath + '/'+ file, true) )
443
+ .catch( function onCopyError(_err) {// jshint ignore:line
444
+ err = _err;
445
+ })
446
+ .then( function onCopy(_destination) {// jshint ignore:line
447
+ console.info('Copy '+ extentionPath +' to '+ _destination +' done !');
448
+ });
449
+
450
+ if (err) {
451
+ throw err;
452
+ }
453
+ }
454
+ }
181
455
  }
182
456
 
183
- if ( !fs.existsSync(self.path +'/node_modules') ) {
184
- fs.mkdirSync(self.path +'/node_modules')
457
+
458
+ done()
459
+ }
460
+
461
+ var restoreSymlinks = function() {
462
+ var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
463
+ var frameworkPath = _(self.gina +'/framework', true);
464
+
465
+ if ( !new _(archivesPath).existsSync() ) {
466
+ return;
185
467
  }
468
+ // get current framework version
469
+ var package = require(pack);
470
+ var currentVersion = 'v'+ package.version.replace(/^v/, '');
471
+
472
+ // cleanup first
473
+ var versionsFolders = fs.readdirSync(frameworkPath);
474
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
475
+ let dir = versionsFolders[i];
476
+ // skip junk
477
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
478
+ continue;
479
+ }
186
480
 
187
- if ( !fs.existsSync(self.path +'/tmp') ) {
188
- fs.mkdirSync(self.path +'/tmp')
481
+ // intercept & remove existing symlinks or old versions dir
482
+ try {
483
+ if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
484
+ new _(frameworkPath +'/'+ dir, true).rmSync();
485
+ console.debug('Removing Symlink: '+ dir);
486
+ continue;
487
+ }
488
+ else if (
489
+ dir != currentVersion
490
+ && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
491
+ ) {
492
+ console.debug('Removing old version: '+ dir);
493
+ new _(frameworkPath +'/'+ dir, true).rmSync()
494
+ }
495
+ } catch (e) {
496
+ continue;
497
+ }
189
498
  }
190
499
 
191
- //console.debug('cwd: ' + _(self.path));
192
- //console.debug('tmp: ' + _(self.root +'/tmp'));
500
+ // restoring symlinks from archives
501
+ versionsFolders = fs.readdirSync(archivesPath);
502
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
503
+ let dir = versionsFolders[i];
504
+ // skip junk
505
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
506
+ continue;
507
+ }
193
508
 
194
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp') })
195
- .onData(function(data){
196
- //console.info(data)
197
- })
198
- .onComplete( function done(err, data){
199
- if (err && err != 'false') {
200
- console.error(err);
201
- //console.debug('\nCommand was: \n'+ cmd)
202
- } //else {
203
- //console.info(data);
204
- //end()
205
- //}
206
-
207
- npmInstall(modules)
208
- })
509
+ // skip selected - for dev team only
510
+ if ( new _(frameworkPath +'/'+ dir, true).existsSync() ) {
511
+ continue;
512
+ }
513
+
514
+ // creating symlinks
515
+ try {
516
+ console.debug( 'Creating symlink: '+ _(archivesPath +'/'+ dir, true) +' -> '+ _(frameworkPath +'/'+ dir, true));
517
+ new _(archivesPath +'/'+ dir, true).symlinkSync(_(frameworkPath +'/'+ dir, true) );
518
+ } catch (e) {
519
+ throw e
520
+ }
521
+ }
209
522
  }
210
523
 
211
- var end = function() {
524
+ self.end = function(done) {
525
+
526
+ restoreSymlinks();
527
+
212
528
  // Update middleware file
213
529
  var filename = _(self.path) + '/MIDDLEWARE';
214
- var msg = "Gina's command line tool has been installed.\n\r";
530
+ var msg = "Gina's command line tool has been installed.";
215
531
 
216
532
  var deps = require(_(self.path) + '/package.json').dependecies;
217
533
 
534
+ var version = require( _(self.gina + '/package.json') ).version;
535
+ var middleware = 'isaac@'+version; // by default
218
536
 
219
- for (var d in deps) {
537
+ for (let d in deps) {
220
538
  if (d === 'express' && deps[d] != '') {
221
- var middleware = d +'@'+ deps[d]
539
+ middleware = d +'@'+ deps[d]
222
540
  }
223
541
  }
224
542
 
225
543
  var expressPackage = _(self.path + '/node_modules/express/package.json');
226
544
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
227
- var middleware = require(expressPackage).version;
545
+ middleware = require(expressPackage).version;
228
546
  middleware = 'express@' + middleware;
229
547
  } else if (typeof(middleware) == 'undefined') {
230
- throw new Error('No middleware found !!');
231
- process.exit(0)
548
+ return done( new Error('No middleware found !!') );
232
549
  }
233
550
 
234
551
  if ( fs.existsSync(filename) ) { // update
235
552
  var def = fs.readFileSync(filename).toString;
236
553
  // TODO - uninstall old if installed ??
237
554
  if (def !== middleware) {
238
-
239
- try {
240
-
241
- fs.writeFileSync(filename, middleware);
242
- console.log(msg)
243
- } catch (err) {
244
- throw new Error(err.stack||err.message||err);
245
- process.exit(0)
246
- }
247
-
248
- // fs.writeFile(filename, middleware, function onWrote(err){
249
- // if (err) {
250
- // throw new Error(err.stack||err.message||err);
251
- // process.exit(1)
252
- // } else {
253
- // console.log(msg)
254
- // }
255
- // })
555
+ fs.writeFile(filename, middleware, function onWrote(err){
556
+ if (err) {
557
+ return done(err)
558
+ }
559
+ console.info(msg);
560
+ done()
561
+ })
256
562
  } // else, nothing to do
257
563
  } else { // create
258
-
259
- try {
260
-
261
- fs.writeFileSync(filename, middleware);
262
- console.log(msg)
263
- } catch (err) {
264
- throw new Error(err.stack||err.message||err);
265
- process.exit(0)
266
- }
267
-
268
- // fs.writeFile(filename, middleware, function onWrote(err){
269
- // if (err) {
270
- // throw new Error(err.stack||err.message||err);
271
- // process.exit(1)
272
- // } else {
273
- // console.log(msg)
274
- // }
275
- // })
564
+ fs.writeFile(filename, middleware, function onWrote(err){
565
+ if (err) {
566
+ return done(err)
567
+ }
568
+ console.info(msg);
569
+ done()
570
+ })
276
571
  }
277
572
  }
278
573
 
279
- //var createGinaHome = function() { };
280
-
281
-
282
574
  init()
283
- };
575
+ }
284
576
  new PostInstall()