gina 0.0.9-p91c → 0.1.1-alpha.11

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