gina 0.0.9-p91b → 0.1.1-alpha.10

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.10/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.10}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.10/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.10/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.10/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.10/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.10/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.10/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.10/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.10/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.10/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.10/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.10/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.10/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.10/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.10/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.10/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.10/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.10/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.10/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.10/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.10/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.10/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.10/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.10/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.10/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.10/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.10/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.10/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.10/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.10/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.10/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.10/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.10/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.10/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.10/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.10/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.10/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.10/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.10/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.10/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.10/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.10/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.10/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.10/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.10/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.10/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.10/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.10/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.10/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.10/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.10/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.10/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.10/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.10/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.10/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.10/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.10/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.10/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.10/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.10/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.10/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.10/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.10/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.10/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.10/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.10/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.10/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.10/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.10/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.10/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.10/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.10/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.10/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.10/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.10/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.10/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.10/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.10/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.10/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.10/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.10/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.10/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.10/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.10}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.10}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.10/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.10/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.10/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.10/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.10/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.10}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.10/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.10/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.10/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.10/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.10/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.10}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.10}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.10/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.10/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.10/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.10/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.10/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.10/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.10/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.10/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.10/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.10/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.10/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.10/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.10/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.10/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.10/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.10/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.10/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.10/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.10/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.10/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.10/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.10/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.10/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.10/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.10/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.10/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.10/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.10/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.10/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.10/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.10/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.10/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.10/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.10/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.10/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.10/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.10/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.10/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.10/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.10/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.10/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.10/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.10/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.10/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.10/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.10/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.10/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.10/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.10/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.10/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.10/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.10/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.10/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.10/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.10/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.10/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.10/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.10/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.10/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.10/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.10/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.10/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.10/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.10/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.10/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.10/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.10/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.10/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.10/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.10/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.10/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.10/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.10/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.10/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.10/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.10}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.10/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.10}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.10/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.10/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.10/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.10}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.10/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.10/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.10}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.10/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.10/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.10/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.10/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.10/lib/logger/src/main.js +739 -0
  264. package/{core/utils → framework/v0.1.1-alpha.10}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.10}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.10}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.10}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.10}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.10}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.10/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.10}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.10/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.10/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.10/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.10}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.10/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.10/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.10}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.10/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.10/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.10/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.10/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.10}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.10}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.10}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.10}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.10}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.10/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 +456 -157
  308. package/script/pre_install.js +290 -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
@@ -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,191 @@ 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
+ self.isCustomPrefix = false;
42
+
43
+ var args = process.argv, i = 0, len = args.length;
44
+ for (; i < len; ++i) {
45
+ if (args[i] == '-g' ) {
46
+ self.isGlobalInstall = true;
47
+ continue;
48
+ }
49
+ if (args[i] == '--prefix' ) {
50
+ self.isCustomPrefix = true;
51
+ self.prefix = args[i].split(/\=/)[1];
52
+ continue;
53
+ }
54
+ }
55
+
56
+ console.debug('Is this for Windows ? ' + self.isWin32);
57
+
58
+ if ( !self.isGlobalInstall ) { //global install
59
+ self.root = process.cwd(); // project path
60
+ console.error('local installation is not supported for this version at the moment.');
61
+ console.info('please use `npm install -g gina`');
62
+ process.exit(1);
63
+ }
64
+
65
+ console.debug('prefix path: ' + self.prefix);
66
+ console.debug('framework path: ' + self.gina);
67
+ console.debug('framework version path: ' + self.path);
68
+ console.debug('cwd path: ' + self.root );
69
+ console.debug('this is a global install ...');
70
+
71
+ begin(0);
72
+ }
37
73
 
74
+ /**
75
+ * Bebin - Will run checking tasks in order of declaration
76
+ * */
77
+ var begin = async function(i) {
78
+ //console.debug('i is ', i);
79
+ var n = 0, funct = null, functName = null;
80
+ for (let t in self) {
81
+ if ( typeof(self[t]) == 'function') {
82
+ if (n == i) {
83
+ //let func = 'self.' + t + '()';
84
+ let func = 'self.' + t;
85
+ console.debug('Running [ ' + func + '() ]');
86
+ funct = func;
87
+ functName = t;
88
+ break;
89
+ }
90
+ n++;
91
+ }
92
+ }
38
93
 
39
- createVersionFile();
40
- //console.log('[ debug ] createVersionFile()');
41
- createGinaFileForPlatform();
42
- //console.log('[ debug ] createGinaFileForPlatform()');
94
+ // to handle sync vs async to allow execution in order of declaration
95
+ if (funct) {
96
+ 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
97
+ } else {
98
+ process.exit(0);
99
+ }
43
100
  }
44
101
 
45
- var createVersionFile = function(callback) {
46
- var version = require( _(self.path + '/package.json') ).version;
102
+ // self.checkIfIsContributorEnv = function(done) {
103
+ // var isContribEnv = false;
104
+ // if ( new _(self.gina + '/.git', true).existsSync() ) {
105
+ // isContribEnv = true;
106
+ // }
107
+ // var homeDir = getUserHome() || null;
108
+ // if (!homeDir) {
109
+ // return done(new Error('No $HOME path found !'))
110
+ // }
111
+ // var ginaHomeDir = homeDir.replace(/\n/g, '') + '/.gina';
112
+ // setEnvVar('GINA_HOMEDIR', ginaHomeDir);
113
+
114
+ // var npmGlobal = homeDir.replace(/\n/g, '') + '/.npm-global';
115
+ // var IsNpmGlobalFound = false;
116
+ // if ( new _(npmGlobal, true).existsSync() ) {
117
+ // IsNpmGlobalFound = true;
118
+
119
+ // if ( ! new _(npmGlobal +'/bin', true).existsSync() ) {
120
+ // new _(npmGlobal +'/bin', true).mkdirSync()
121
+ // }
122
+ // if ( ! new _(npmGlobal +'/lib/node_modules', true).existsSync() ) {
123
+ // new _(npmGlobal +'/lib/node_modules', true).mkdirSync()
124
+ // }
125
+ // }
126
+
127
+ // console.debug(self.gina, ' | ', ginaHomeDir);
128
+ // console.debug('Is contributor‘s env ? : '+ isContribEnv);
129
+
130
+ // // Fixing `npm link` VS `.npm-global` issue on contributors env
131
+ // /**
132
+ // * Patch designed to use `npm link gina` in your project
133
+ // * without taking the risk to get the wrong package version
134
+ // *
135
+ // * See.:
136
+ // * 4 reasons to avoid using `npm link` - https://hirok.io/posts/avoid-npm-link
137
+ // * */
138
+ // if (isContribEnv && IsNpmGlobalFound) {
139
+ // console.debug('Contributor case detected ...\n', JSON.stringify(process.env, null, 2));
140
+
141
+ // lib.generator.createFileFromDataSync(isContribEnv +'\n'+ '\n'+ IsNpmGlobalFound +'\n'+ JSON.stringify(process.env, null, 2), npmGlobal+'/npm_out.txt');
142
+
143
+ // // symlink the lib
144
+ // // ln -s /usr/local/lib/node_modules/gina ~/.npm-global/lib/node_modules/gina
145
+ // // symlink the bin
146
+ // // ln -s ~/.npm-global/lib/node_modules/gina/bin/gina ~/.npm-global/bin/gina
147
+ // }
148
+
149
+ // done();
150
+ // }
151
+
152
+
153
+ self.createVersionFile = function(done) {
154
+ var version = require( _(self.gina + '/package.json') ).version;
155
+ console.debug('writting version number: '+ version);
156
+
47
157
  var target = _(self.path + '/VERSION');
48
158
  try {
49
159
  if ( fs.existsSync(target) ) {
50
- fs.unlinkSync(target);
51
- setTimeout(function(){
52
- if (callback) {
160
+ fs.unlinkSync(target)
161
+ }
162
+ fs.writeFileSync(target, version);
163
+ } catch(err) {
164
+ return done(err)
165
+ }
53
166
 
167
+ done();
168
+ }
54
169
 
170
+ var configureGina = function() {
171
+ // link to ./bin/cli to binaries dir
172
+ if (!self.isWin32) {
173
+ var binPath = _(self.prefix+'/bin', true);
174
+ var cli = _(binPath +'/gina');
175
+ // TODO - remove this part for the next version
176
+ var cliDebug = _(binPath +'/gina-debug');
55
177
 
56
- fs.writeFileSync(target, version);
57
- callback()
178
+ if ( fs.existsSync(cli) ) {
179
+ fs.unlinkSync(cli)
180
+ }
181
+ // TODO - remove this part for the next version
182
+ if ( fs.existsSync(cliDebug) ) {
183
+ fs.unlinkSync(cliDebug)
184
+ }
58
185
 
59
- } else {
60
- fs.writeFileSync(target, version);
186
+ var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath +'/gina';
187
+ console.debug('running: '+ cmd);
188
+ run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
189
+ .onData(function(data){
190
+ console.info(data)
191
+ })
192
+ .onComplete( function onDone(err, data){
193
+ if (err) {
194
+ console.error(err);
195
+ console.warn('try to run : sudo ' + cmd);
61
196
  }
62
- }, 1000)
63
-
64
- } else {
65
- fs.writeFileSync(target, version);
66
- }
197
+ });
198
+ // To debug, you just need to run:
199
+ // gina <topic>:<task> --inspect-gina
200
+ //
201
+ // TODO - remove this part for the next version
202
+ // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
203
+ // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
204
+ // .onData(function(data){
205
+ // console.info(data)
206
+ // })
207
+ // .onComplete( function onDone(err, data){
208
+ // if (err) {
209
+ // console.error(err);
210
+ // console.warn('try to run : sudo ' + cmd);
211
+ // }
212
+ // });
67
213
 
68
- } catch(err) {
69
- throw err;
70
- process.exit(0)
214
+ } else {
215
+ console.warn('linking gina binary is not supported yet for Windows.');
71
216
  }
72
217
  }
73
218
 
@@ -80,55 +225,78 @@ function PostInstall() {
80
225
  if ( typeof(win32Name) != 'undefined') {
81
226
  target = _(appPath +'/'+ win32Name)
82
227
  }
83
-
84
228
  //Will override.
229
+ console.info('linking to binaries dir ... ');
85
230
  if ( typeof(callback) != 'undefined') {
231
+ if ( !self.isGlobalInstall ) { // local install only
232
+ lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
233
+ callback(err)
86
234
 
87
- try {
88
- utils.generator.createFileFromTemplateSync(source, target);
89
- setTimeout(function () {
90
- callback(false)
91
- }, 1000)
92
- } catch (err) {
93
- callback(err)
235
+ })
236
+ } else {
237
+
238
+ // configureGina();
239
+ callback(false)
94
240
  }
95
241
  } else {
96
- utils.generator.createFileFromTemplateSync(source, target)
242
+ if ( !self.isGlobalInstall ) {
243
+ lib.generator.createFileFromTemplate(source, target)
244
+ }
245
+ // else {
246
+ // configureGina();
247
+ // }
97
248
  }
98
249
  }
99
250
 
100
- var createGinaFileForPlatform = function() {
101
- console.log('creating platform file');
102
- //console.log('[ debug ] about to open ' + _(self.path + '/package.json'));
251
+ self.createGinaFileForPlatform = async function(done) {
252
+ console.info('Creating platform file');
103
253
  var name = require( _(self.path + '/package.json') ).name;
104
254
 
105
255
  var filename = ( (self.isWin32) ? '.' : '' ) + name;
106
256
 
107
257
  var keepGoing = function(filename) {
108
258
 
109
-
110
-
111
- createGinaFile(filename, function onGinaFileCreated(err){
112
-
259
+ createGinaFile(filename, function onFileCreated(err) {
113
260
  if (err) {
114
- throw err;
115
- return false
261
+ return done(err)
116
262
  }
263
+
117
264
  // this is done to allow multiple calls of post_install.js
118
265
  var filename = _(self.path + '/SUCCESS');
119
266
  var installed = fs.existsSync( filename );
120
- if (!installed /**&& /node_modules\/gina/.test( new _(process.cwd()).toUnixStyle() ) */ ) {
121
- fs.writeFileSync(filename, true )
267
+ if (installed) {
268
+ fs.unlinkSync( filename );
122
269
  }
123
270
 
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);
271
+ // if ( /node_modules\/gina/.test( new _(process.cwd()).toUnixStyle() ) ) {
272
+ // var msg = "Gina's command line tool has been installed.";
273
+ // console.info(msg);
274
+ // process.exit(0)
275
+ // }
276
+
277
+ console.debug('Writting '+ filename);
278
+ fs.writeFileSync(filename, 'true' );
279
+
280
+ // do something that can be called after the first time installation
281
+
282
+
283
+ // Check if npm install has been done
284
+ if ( !hasNodeModulesSync() ) {
285
+ return npmInstall(done)
286
+ } else {
287
+ var target = new _(self.path + '/node_modules');
288
+ console.debug('replacing: ', target.toString() );
289
+ return target
290
+ .rm( function onRemove(err) {
291
+ if (err) {
292
+ return done(err);
293
+ } else {
294
+ return npmInstall(done)
295
+ }
296
+ })
297
+ }
130
298
 
131
- });
299
+ })
132
300
  }
133
301
 
134
302
  if (self.isWin32) {
@@ -138,147 +306,278 @@ function PostInstall() {
138
306
  if ( fs.existsSync(target) ) {
139
307
  fs.unlinkSync(target);
140
308
  // have to wait for windows to complete this
141
- setTimeout( function(){
142
- utils.generator.createFileFromTemplateSync(source, target);
143
- keepGoing(filename)
309
+ setTimeout( async function(){
310
+ lib.generator.createFileFromTemplate(source, target);
311
+ await keepGoing(filename)
144
312
  }, 1000)
145
313
  } else {
146
- utils.generator.createFileFromTemplateSync(source, target);
147
- keepGoing(filename)
314
+ lib.generator.createFileFromTemplate(source, target);
315
+ await keepGoing(filename)
148
316
  }
317
+
149
318
  } else {
150
- filename += '.sh';// patch for latest npm release
151
- keepGoing(filename)
319
+ await keepGoing(filename)
152
320
  }
153
321
  }
154
322
 
155
323
 
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
- }
324
+ var hasNodeModulesSync = function() {
325
+ return fs.existsSync( _(self.path + '/node_modules') )
326
+ }
161
327
 
328
+
329
+ var npmInstall = function(done) {
330
+ console.info('now installing modules: please, wait ...');
331
+ console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
162
332
  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 ]');
333
+
334
+ run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
335
+ .onData(function onData(data){
336
+ console.info(data)
337
+ })
338
+ .onComplete( function onDone(err, data){
339
+ if (!err) {
340
+ return done()
341
+ }
342
+ done(err)
343
+ })
344
+ }
345
+
346
+ self.cleanupIfNeeded = function(done) {
347
+
348
+ var frameworkPath = self.gina;
349
+ console.debug('Framework path is: ' + frameworkPath);
350
+
351
+ // Let's cleanup `colors` from `GINA_DIR`
352
+ if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
353
+ var initialDir = process.cwd();
354
+ process.chdir(frameworkPath);
355
+ var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
356
+ try {
357
+ execSync(cmd);
358
+ console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
359
+ } catch (npmErr) {
360
+ return done(npmErr);
172
361
  }
173
362
 
174
- break
363
+ process.chdir(initialDir);
364
+ }
365
+
366
+ done()
367
+ }
368
+
369
+ self.checkUserExtensions = async function(done) {
370
+
371
+ var userDir = _(getUserHome() + '/.gina/user', true);
372
+ // var userDirObj = new _(userDir);
373
+ // if ( ! userDirObj.existsSync() ) {
374
+ // userDirObj.mkdirSync();
375
+ // }
376
+ // var extDir = _(userDir +'/extensions', true);
377
+ // var extDirObj = new _(extDir);
378
+ // if ( ! extDirObj.existsSync() ) {
379
+ // extDirObj.mkdirSync();
380
+ // }
381
+
382
+ // // logger
383
+ // var extLogger = _(extDir +'/logger', true);
384
+
385
+ // reading default extensions
386
+ var ext = _(self.gina +'/resources/home/user/extensions', true);
387
+ var folders = [];
388
+ try {
389
+ console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
390
+ folders = fs.readdirSync(ext);
391
+
392
+ } catch(readErr) {
393
+ throw readErr
175
394
  }
176
395
 
177
- delete modules[key];
396
+ for (let i = 0, len = folders.length; i < len; i++) {
397
+ let dir = folders[i];
398
+ // skip junk
399
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
400
+ continue;
401
+ }
402
+
403
+ // skip symlinks
404
+ try {
405
+ console.debug('Checking: '+ _(ext +'/'+ dir, true) + ' - isSymbolicLink ? '+ fs.lstatSync( _(ext +'/'+ dir, true) ).isSymbolicLink() );
406
+ if ( fs.lstatSync( _(ext +'/'+ dir, true) ).isSymbolicLink() ) {
407
+ continue;
408
+ }
409
+ } catch (e) {
410
+ continue;
411
+ }
412
+
413
+ let userExtPath = _(userDir +'/extensions/'+ dir, true);
414
+ let userExtPathObj = new _(userExtPath)
415
+ if ( !userExtPathObj.existsSync() ) {
416
+ userExtPathObj.mkdirSync()
417
+ }
418
+
419
+ let files = []
420
+ , extDir = _(ext +'/'+ dir, true)
421
+ , extDirObj = new _(extDir)
422
+ ;
423
+ try {
424
+
425
+ console.debug('Reading extDir: '+ extDir + ' - isDirectory ? '+ fs.lstatSync( extDir ).isDirectory() );
426
+ if ( !fs.lstatSync( extDir ).isDirectory() ) {
427
+ continue;
428
+ }
178
429
 
179
- if ( !fs.existsSync(self.path) ) {
180
- fs.mkdirSync(self.path)
430
+
431
+ files = fs.readdirSync( extDir );
432
+
433
+ } catch(fileReadErr) {}
434
+
435
+ console.debug("What about files ? " + files);
436
+
437
+ for (let n = 0, nLen = files.length; n < nLen; n++) {
438
+ let file = files[n];
439
+ console.debug('file --> ', file);
440
+ let extentionPath = _(extDir +'/'+ file, true);
441
+ let extensionPathObj = new _(extentionPath);
442
+ // redefined
443
+ let userExtPathObj = new _(userExtPath + '/'+ file, true);
444
+ if ( !userExtPathObj.existsSync() ) {
445
+ let f = function(destination, cb) {// jshint ignore:line
446
+ extensionPathObj.cp(destination, cb);
447
+ };
448
+ let err = false;
449
+ await promisify(f)( _(userExtPath + '/'+ file, true) )
450
+ .catch( function onCopyError(_err) {// jshint ignore:line
451
+ err = _err;
452
+ })
453
+ .then( function onCopy(_destination) {// jshint ignore:line
454
+ console.info('Copy '+ extentionPath +' to '+ _destination +' done !');
455
+ });
456
+
457
+ if (err) {
458
+ throw err;
459
+ }
460
+ }
461
+ }
181
462
  }
182
463
 
183
- if ( !fs.existsSync(self.path +'/node_modules') ) {
184
- fs.mkdirSync(self.path +'/node_modules')
464
+
465
+ done()
466
+ }
467
+
468
+ var restoreSymlinks = function() {
469
+ var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
470
+ var frameworkPath = _(self.gina +'/framework', true);
471
+
472
+ if ( !new _(archivesPath).existsSync() ) {
473
+ return;
185
474
  }
475
+ // get current framework version
476
+ var package = require(pack);
477
+ var currentVersion = 'v'+ package.version.replace(/^v/, '');
478
+
479
+ // cleanup first
480
+ var versionsFolders = fs.readdirSync(frameworkPath);
481
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
482
+ let dir = versionsFolders[i];
483
+ // skip junk
484
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
485
+ continue;
486
+ }
186
487
 
187
- if ( !fs.existsSync(self.path +'/tmp') ) {
188
- fs.mkdirSync(self.path +'/tmp')
488
+ // intercept & remove existing symlinks or old versions dir
489
+ try {
490
+ if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
491
+ new _(frameworkPath +'/'+ dir, true).rmSync();
492
+ console.debug('Removing Symlink: '+ dir);
493
+ continue;
494
+ }
495
+ else if (
496
+ dir != currentVersion
497
+ && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
498
+ ) {
499
+ console.debug('Removing old version: '+ dir);
500
+ new _(frameworkPath +'/'+ dir, true).rmSync()
501
+ }
502
+ } catch (e) {
503
+ continue;
504
+ }
189
505
  }
190
506
 
191
- //console.debug('cwd: ' + _(self.path));
192
- //console.debug('tmp: ' + _(self.root +'/tmp'));
507
+ // restoring symlinks from archives
508
+ versionsFolders = fs.readdirSync(archivesPath);
509
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
510
+ let dir = versionsFolders[i];
511
+ // skip junk
512
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
513
+ continue;
514
+ }
193
515
 
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
- })
516
+ // skip selected - for dev team only
517
+ if ( new _(frameworkPath +'/'+ dir, true).existsSync() ) {
518
+ continue;
519
+ }
520
+
521
+ // creating symlinks
522
+ try {
523
+ console.debug( 'Creating symlink: '+ _(archivesPath +'/'+ dir, true) +' -> '+ _(frameworkPath +'/'+ dir, true));
524
+ new _(archivesPath +'/'+ dir, true).symlinkSync(_(frameworkPath +'/'+ dir, true) );
525
+ } catch (e) {
526
+ throw e
527
+ }
528
+ }
209
529
  }
210
530
 
211
- var end = function() {
531
+ self.end = function(done) {
532
+
533
+ restoreSymlinks();
534
+
212
535
  // Update middleware file
213
536
  var filename = _(self.path) + '/MIDDLEWARE';
214
- var msg = "Gina's command line tool has been installed.\n\r";
537
+ var msg = "Gina's command line tool has been installed.";
215
538
 
216
539
  var deps = require(_(self.path) + '/package.json').dependecies;
217
540
 
541
+ var version = require( _(self.gina + '/package.json') ).version;
542
+ var middleware = 'isaac@'+version; // by default
218
543
 
219
- for (var d in deps) {
544
+ for (let d in deps) {
220
545
  if (d === 'express' && deps[d] != '') {
221
- var middleware = d +'@'+ deps[d]
546
+ middleware = d +'@'+ deps[d]
222
547
  }
223
548
  }
224
549
 
225
550
  var expressPackage = _(self.path + '/node_modules/express/package.json');
226
551
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
227
- var middleware = require(expressPackage).version;
552
+ middleware = require(expressPackage).version;
228
553
  middleware = 'express@' + middleware;
229
554
  } else if (typeof(middleware) == 'undefined') {
230
- throw new Error('No middleware found !!');
231
- process.exit(0)
555
+ return done( new Error('No middleware found !!') );
232
556
  }
233
557
 
234
558
  if ( fs.existsSync(filename) ) { // update
235
559
  var def = fs.readFileSync(filename).toString;
236
560
  // TODO - uninstall old if installed ??
237
561
  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
- // })
562
+ fs.writeFile(filename, middleware, function onWrote(err){
563
+ if (err) {
564
+ return done(err)
565
+ }
566
+ console.info(msg);
567
+ done()
568
+ })
256
569
  } // else, nothing to do
257
570
  } 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
- // })
571
+ fs.writeFile(filename, middleware, function onWrote(err){
572
+ if (err) {
573
+ return done(err)
574
+ }
575
+ console.info(msg);
576
+ done()
577
+ })
276
578
  }
277
579
  }
278
580
 
279
- //var createGinaHome = function() { };
280
-
281
-
282
581
  init()
283
- };
582
+ }
284
583
  new PostInstall()