gina 0.1.1-alpha.14 → 0.1.1-alpha.142

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 (317) hide show
  1. package/AUTHORS +2 -1
  2. package/README.md +157 -19
  3. package/bin/cli +125 -54
  4. package/bin/cli-debug +4 -4
  5. package/bin/cmd +40 -18
  6. package/bin/gina +39 -33
  7. package/{framework/v0.1.1-alpha.14/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  8. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/AUTHORS +0 -0
  9. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/LICENSE +0 -0
  10. package/framework/v0.1.1-alpha.142/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/html/nolayout.html +0 -0
  12. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/html/static.html +0 -0
  13. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/android-chrome-192x192.png +0 -0
  14. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/android-chrome-512x512.png +0 -0
  15. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/apple-touch-icon.png +0 -0
  16. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon-16x16.png +0 -0
  17. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon-32x32.png +0 -0
  18. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon.ico +0 -0
  19. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.js +0 -0
  20. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.js.map +0 -0
  21. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.css +0 -0
  22. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.css.map +0 -0
  23. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.js +0 -0
  24. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.js.map +0 -0
  25. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  26. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  27. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  28. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  29. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  30. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  31. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/main.js +1542 -0
  32. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  33. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/readme.md +5 -5
  34. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/uuid.json +0 -0
  35. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/config.js +28 -13
  36. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/index.js +0 -0
  37. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.js +0 -0
  38. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  39. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  40. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/n1ql.js +0 -0
  41. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.js +0 -0
  42. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  43. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  44. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/controller.framework.js +0 -0
  45. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/controller.js +664 -664
  46. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/index.js +0 -0
  47. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/.travis.yml +0 -0
  48. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/LICENSE +0 -0
  49. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/README.md +0 -0
  50. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  51. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  52. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/main.js +0 -0
  53. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/types/multipart.js +0 -0
  54. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  55. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/utils.js +0 -0
  56. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/package.json +0 -0
  57. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  58. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/index.js +0 -0
  59. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/class.js +0 -0
  60. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/factory.js +0 -0
  61. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/tools.js +0 -0
  62. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/gna.js +0 -0
  63. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/README.md +0 -0
  64. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/currency.json +0 -0
  65. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/language/en.json +0 -0
  66. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/language/fr.json +0 -0
  67. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/region/en.json +0 -0
  68. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/region/fr.json +0 -0
  69. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/index.js +0 -0
  70. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/make.js +0 -0
  71. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/currency.csv +0 -0
  72. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/region.csv +0 -0
  73. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/region.mapping.json +0 -0
  74. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/mime.types +0 -0
  75. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/entity.js +0 -0
  76. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/index.js +0 -0
  77. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/template/entityFactory.js +0 -0
  78. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/template/index.js +0 -0
  79. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/README.md +0 -0
  80. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/index.js +0 -0
  81. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/README.md +0 -0
  82. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/build.json +0 -0
  83. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/package.json +0 -0
  84. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/README.md +0 -0
  85. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/build.json +0 -0
  86. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/package.json +0 -0
  87. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/src/main.js +0 -0
  88. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/README.md +0 -0
  89. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/build.json +0 -0
  90. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/package.json +0 -0
  91. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/src/main.js +0 -0
  92. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/README.md +0 -0
  93. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/build.json +0 -0
  94. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/package.json +0 -0
  95. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/src/form-validator.js +0 -0
  96. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/src/main.js +0 -0
  97. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/router.js +0 -0
  98. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.express.js +0 -0
  99. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.isaac.js +117 -108
  100. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.js +1 -0
  101. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/status.codes +0 -0
  102. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/app.json +0 -0
  103. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/routing.json +0 -0
  104. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/settings.json +0 -0
  105. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  106. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/templates.json +4 -4
  107. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  108. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  109. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  110. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/index.js +0 -0
  111. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  112. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  113. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  114. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  115. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  116. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/readme.md +0 -0
  117. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  118. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  119. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  120. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  121. package/framework/{v0.1.1-alpha.14/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  122. package/framework/v0.1.1-alpha.142/core/template/command/gina.bat.tpl +8 -0
  123. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/command/gina.tpl +0 -0
  124. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/env.json +0 -0
  125. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/manifest.json +0 -0
  126. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/package.json +0 -0
  127. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/settings.json +0 -0
  128. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/statics.json +3 -3
  129. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/templates.json +2 -2
  130. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/401.json +0 -0
  131. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/403.json +0 -0
  132. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/404.json +0 -0
  133. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/html/50x.html +0 -0
  134. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/json/500.json +0 -0
  135. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/json/503.json +0 -0
  136. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/extensions/logger/config.json +0 -0
  137. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/console.js +0 -0
  138. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/context.js +144 -4
  139. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/dateFormat.js +0 -0
  140. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/index.js +9 -4
  141. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/README.md +0 -0
  142. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/package.json +0 -0
  143. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/src/main.js +0 -0
  144. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/path.js +142 -88
  145. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/README.md +0 -0
  146. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/package.json +0 -0
  147. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/src/api-error.js +0 -0
  148. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/src/main.js +0 -0
  149. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/prototypes.js +35 -36
  150. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/task.js +21 -14
  151. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/text.js +0 -0
  152. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/README.md +0 -0
  153. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/build.json +0 -0
  154. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/package.json +0 -0
  155. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/src/dep/jszip.min.js +0 -0
  156. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/src/main.js +0 -0
  157. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/aliases.json +4 -1
  158. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/add.js +43 -17
  159. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/arguments.json +6 -0
  160. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/copy.js +0 -0
  161. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/cp.js +0 -0
  162. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/help.js +0 -0
  163. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/help.txt +0 -0
  164. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/list.js +176 -0
  165. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/remove.js +22 -22
  166. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/rename.js +0 -0
  167. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/restart.js +0 -0
  168. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/rm.js +0 -0
  169. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/start.js +416 -0
  170. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/status.js +0 -0
  171. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/stop.js +93 -74
  172. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/add.js +0 -0
  173. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/get.js +0 -0
  174. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/help.js +0 -0
  175. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/help.txt +0 -0
  176. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/link-dev.js +0 -0
  177. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/list.js +0 -0
  178. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/remove.js +0 -0
  179. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/rm.js +0 -0
  180. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/set.js +0 -0
  181. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/unset.js +0 -0
  182. package/framework/{v0.1.1-alpha.14/lib/cmd/scope → v0.1.1-alpha.142/lib/cmd/env}/use.js +21 -1
  183. package/framework/v0.1.1-alpha.142/lib/cmd/framework/build.js +85 -0
  184. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/dot.js +0 -0
  185. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/get.js +0 -0
  186. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/help.js +0 -0
  187. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/help.txt +0 -0
  188. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/init.js +64 -16
  189. package/framework/v0.1.1-alpha.142/lib/cmd/framework/link-node-modules.js +86 -0
  190. package/framework/v0.1.1-alpha.142/lib/cmd/framework/link.js +89 -0
  191. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/msg.json +0 -0
  192. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/open.js +15 -0
  193. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/restart.js +53 -25
  194. package/framework/v0.1.1-alpha.142/lib/cmd/framework/set.js +264 -0
  195. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/start.js +35 -12
  196. package/framework/v0.1.1-alpha.142/lib/cmd/framework/status.js +123 -0
  197. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/stop.js +44 -28
  198. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/tail.js +106 -61
  199. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/update.js +0 -0
  200. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/version.js +12 -3
  201. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina-dev.1.md +0 -0
  202. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina-framework.1.md +0 -0
  203. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina.1.md +0 -0
  204. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/helper.js +73 -4
  205. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/index.js +21 -21
  206. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/msg.json +0 -0
  207. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/help.js +0 -0
  208. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/help.txt +0 -0
  209. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/inc/scan.js +32 -17
  210. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/list.js +0 -0
  211. package/framework/v0.1.1-alpha.142/lib/cmd/port/reset.js +422 -0
  212. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/set.js +0 -0
  213. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/add.js +144 -120
  214. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/arguments.json +0 -0
  215. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/build.js +0 -0
  216. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/help.js +0 -0
  217. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/help.txt +0 -0
  218. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/import.js +0 -0
  219. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/list.js +0 -0
  220. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/move.js +0 -0
  221. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/remove.js +17 -17
  222. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/rename.js +0 -0
  223. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/restart.js +0 -0
  224. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/rm.js +0 -0
  225. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/start.js +0 -0
  226. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/status.js +0 -0
  227. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/stop.js +0 -0
  228. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/help.js +0 -0
  229. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/help.txt +0 -0
  230. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/list.js +0 -0
  231. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/set.js +239 -201
  232. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/help.js +0 -0
  233. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/help.txt +0 -0
  234. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/link-local.js +0 -0
  235. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/list.js +0 -0
  236. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/remove.js +0 -0
  237. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/rm.js +0 -0
  238. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/set.js +0 -0
  239. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/unset.js +0 -0
  240. package/framework/{v0.1.1-alpha.14/lib/cmd/env → v0.1.1-alpha.142/lib/cmd/scope}/use.js +0 -0
  241. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/view/add.js +34 -9
  242. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/README.md +0 -0
  243. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/build.json +0 -0
  244. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/package.json +0 -0
  245. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/src/main.js +0 -0
  246. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/config.js +0 -0
  247. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/README.md +0 -0
  248. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/package.json +0 -0
  249. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/src/main.js +0 -0
  250. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/generator/index.js +0 -0
  251. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/index.js +0 -0
  252. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/LICENSE +0 -0
  253. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/README.md +0 -0
  254. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  255. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/protected_inheritance.js +0 -0
  256. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/simple_inheritance.js +0 -0
  257. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  258. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/package.json +0 -0
  259. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/src/main.js +0 -0
  260. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/README.md +0 -0
  261. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/package.json +0 -0
  262. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/default/index.js +13 -2
  263. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/index.js +105 -14
  264. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  265. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  266. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/index.js +2 -1
  267. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/listener.js +16 -14
  268. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/speaker.js +32 -3
  269. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/helper.js +19 -0
  270. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/main.js +4 -1
  271. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/math/index.js +0 -0
  272. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/README.md +0 -0
  273. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge.js +0 -0
  274. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge_2_literal objects.js +0 -0
  275. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge_and_preserve_first.js +0 -0
  276. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/package.json +0 -0
  277. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/src/main.js +0 -0
  278. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/model.js +0 -0
  279. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/proc.js +69 -45
  280. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/README.md +0 -0
  281. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/build.json +0 -0
  282. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/package.json +0 -0
  283. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/src/main.js +0 -0
  284. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/session-store.js +0 -0
  285. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/shell.js +3 -3
  286. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/README.md +0 -0
  287. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/package.json +0 -0
  288. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/src/main.js +54 -51
  289. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/README.md +0 -0
  290. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/index.js +0 -0
  291. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/mocks.json +0 -0
  292. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/routing.json +0 -0
  293. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/test.js +0 -0
  294. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/validator.js +0 -0
  295. package/framework/v0.1.1-alpha.142/package.json +14 -0
  296. package/package.json +30 -21
  297. package/resources/home/main.json +19 -1
  298. package/resources/home/settings.json +5 -0
  299. package/resources/home/user/extensions/logger/default/config.json +1 -1
  300. package/resources/package.json.template +28 -17
  301. package/script/post_install.js +394 -120
  302. package/script/post_publish.js +185 -0
  303. package/script/pre_install.js +424 -76
  304. package/script/prepare_version.js +151 -21
  305. package/utils/helper.js +230 -44
  306. package/utils/prototypes.js +9 -9
  307. package/utils/prototypes.json_clone.js +31 -31
  308. package/doc/framework/cli/doc.json +0 -9
  309. package/doc/framework/index.md +0 -60
  310. package/framework/v0.1.1-alpha.14/VERSION +0 -1
  311. package/framework/v0.1.1-alpha.14/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  312. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/arguments.json +0 -4
  313. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/list.js +0 -129
  314. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/start.js +0 -394
  315. package/framework/v0.1.1-alpha.14/lib/cmd/framework/set.js +0 -161
  316. package/framework/v0.1.1-alpha.14/lib/cmd/framework/status.js +0 -72
  317. package/framework/v0.1.1-alpha.14/package.json +0 -14
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * This file is part of the gina package.
3
- * Copyright (c) 2017 Rhinostone <contact@gina.io>
3
+ * Copyright (c) 2009-2022 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.
@@ -8,10 +8,68 @@
8
8
 
9
9
  //Imports
10
10
  var fs = require('fs');
11
+ var os = require("os");
11
12
  var util = require('util');
12
13
  var promisify = util.promisify;
13
14
  const { execSync } = require('child_process');
14
15
 
16
+ var isWin32 = function() {
17
+ return (process.platform === 'win32') ? true : false;
18
+ };
19
+ var isWritableSync = function(path) {
20
+ var canWrite = false;
21
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
22
+ try {
23
+ fs.accessSync(path, fs.constants.W_OK);
24
+ canWrite = true;
25
+ } catch (err) {
26
+ canWrite = false;
27
+ }
28
+ } else { // support for old version of nodejs
29
+
30
+ try {
31
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
32
+ } catch (err) {
33
+ canWrite = false
34
+ }
35
+ }
36
+
37
+ return canWrite
38
+ };
39
+
40
+ var getUserHome = function() {
41
+ var home = os.homedir ? os.homedir : function() {
42
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
43
+
44
+ if ( !homeDir || homeDir == '' ) {
45
+ throw new Error('Home directory not defined or not found !');
46
+ }
47
+
48
+ if ( !isWritableSync(homeDir) ) {
49
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
50
+ }
51
+
52
+ return homeDir;
53
+ };
54
+
55
+ return home()
56
+ };
57
+
58
+ // just in case `post_install` is called by hand
59
+ var initialDir = process.cwd();
60
+ var frameworkPath = __dirname +'/..';
61
+ if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
62
+ process.chdir(frameworkPath);
63
+
64
+ var oldConfigGlobal = process.env.npm_config_global;
65
+ process.env.npm_config_global=false;
66
+ var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
67
+ execSync(cmd);
68
+ process.env.npm_config_global=oldConfigGlobal;
69
+
70
+ process.chdir(initialDir);
71
+ }
72
+
15
73
  var lib = require('./lib');
16
74
  var console = lib.logger;
17
75
 
@@ -20,6 +78,7 @@ var ginaPath = (scriptPath.replace(/\\/g, '/')).replace('/script', '');
20
78
  var help = require(ginaPath + '/utils/helper.js');
21
79
  var pack = ginaPath + '/package.json';
22
80
  pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
81
+ var helpers = null;
23
82
 
24
83
 
25
84
  /**
@@ -28,47 +87,150 @@ pack = (isWin32()) ? pack.replace(/\//g, '\\') : pack;
28
87
  * */
29
88
  function PostInstall() {
30
89
 
31
- var self = {}, _this = this;
90
+ var self = {};
32
91
 
33
- //Initialize post installation scripts.
34
- var init = function() {
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;
92
+ var configure = function() {
93
+
94
+ // TODO - handle windows case
95
+ if ( /^true$/i.test(isWin32()) ) {
96
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
97
+ }
42
98
 
99
+ self.isWin32 = isWin32();
100
+ self.isGlobalInstall = process.env.npm_config_global || false;
101
+ self.isResetNeeded = process.env.npm_config_reset || false;
102
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
103
+ // var pkg = null;
104
+ // try {
105
+ // if (self.isGlobalInstall) {
106
+ // pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
107
+ // } else {
108
+ // pkg = execSync('npm list gina --long --json').toString().replace(/\n$/g, '');
109
+ // }
110
+ // } catch(err) {
111
+ // throw err
112
+ // }
113
+ // self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
114
+
115
+ // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
116
+ // and it should always be equal to `self.defaultPrefix`
117
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
118
+ self.isCustomPrefix = false;
119
+ self.isGinaInstalled = false;
120
+
121
+ // Overriding thru passed arguments
43
122
  var args = process.argv, i = 0, len = args.length;
44
123
  for (; i < len; ++i) {
45
- if (args[i] == '-g' ) {
124
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
46
125
  self.isGlobalInstall = true;
47
126
  continue;
48
127
  }
49
- if (args[i] == '--prefix' ) {
128
+
129
+ if ( /^\-\-reset$/.test(args[i]) ) {
130
+ self.isResetNeeded = true;
131
+ continue;
132
+ }
133
+
134
+ if ( /^\-\-prefix\=/.test(args[i] ) ) {
50
135
  self.isCustomPrefix = true;
51
136
  self.prefix = args[i].split(/\=/)[1];
137
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
52
138
  continue;
53
139
  }
54
140
  }
55
141
 
56
- self.prefix = self.prefix.replace(/\n/g, '');
142
+ if (self.prefix != self.defaultPrefix) {
143
+ self.isCustomPrefix = true;
144
+ }
57
145
 
58
- console.debug('Is this for Windows ? ' + self.isWin32);
146
+ // For local install
147
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
148
+ if ( !self.isGlobalInstall ) {
149
+ console.warn('Local installation is not fully supported at the moment.');
150
+ console.warn('You are encouraged to use `npm install -g gina`\nor, if you are trying to link gina to your project, use `npm link gina` if Gina has already been installed globally\n');
151
+ // Just in case someone is trying to run pre_install from the `gina` module
152
+ if (!/node\_modules(\\\\|\/)gina$/.test(process.env.INIT_CWD)) {
153
+ self.prefix = process.env.INIT_CWD;//process.cwd();
154
+ }
155
+ }
59
156
 
60
- if ( !self.isGlobalInstall ) { //global install
61
- self.root = process.cwd(); // project path
62
- console.error('local installation is not supported for this version at the moment.');
63
- console.info('please use `npm install -g gina`');
64
- process.exit(1);
157
+ // checking permission
158
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
159
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
160
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
161
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
162
+ if (!hasPermissionsForBin) {
163
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
164
+ }
165
+ if (!hasPermissionsForLib) {
166
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
167
+ }
168
+ if (!hasPermissionsForVar) {
169
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
170
+ }
171
+
172
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
173
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
65
174
  }
66
175
 
67
- console.debug('prefix path: ' + self.prefix);
68
- console.debug('framework path: ' + self.gina);
69
- console.debug('framework version path: ' + self.path);
70
- console.debug('cwd path: ' + self.root );
71
- console.debug('this is a global install ...');
176
+ var pkg = null, pkgObj = null, cmd = null;
177
+ try {
178
+ cmd = 'npm list gina --long --json --prefix='+ self.prefix;
179
+ if (self.isGlobalInstall) {
180
+ cmd += ' -g';
181
+ }
182
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
183
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
184
+
185
+ } catch(err) {
186
+ throw err
187
+ }
188
+ pkgObj = JSON.parse(pkg);
189
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
190
+
191
+
192
+ if ( self.prefix != self.defaultPrefix ) {
193
+ self.isCustomPrefix = true;
194
+ }
195
+
196
+ self.gina = __dirname +'/..';
197
+ // tying to figure out if gina is already install the given prefix
198
+ var hasFoundGina = pkg;
199
+ try {
200
+ hasFoundGina = JSON.parse(hasFoundGina);
201
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
202
+ self.isGinaInstalled = true;
203
+ self.versionPath = self.gina;
204
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
205
+ self.version = hasFoundGina.dependencies.gina.version;
206
+ self.versionPath += 'v'+ self.version;
207
+
208
+ self.shortVersion = self.version.split('.');
209
+ self.shortVersion.splice(2);
210
+ self.shortVersion = self.shortVersion.join('.');
211
+
212
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
213
+
214
+ // OK ... found installed gina but on a different prefix
215
+ // In this case, let's assume that it is not really installed
216
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
217
+ self.isGinaInstalled = false;
218
+ }
219
+ }
220
+ } catch (err) {}
221
+
222
+ console.debug('self.defaultPrefix => '+ self.defaultPrefix);
223
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
224
+ console.debug('self.prefix => '+ self.prefix);
225
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
226
+ // only available when running the script with NPM
227
+ console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
228
+ }
229
+
230
+ //Initialize post installation scripts.
231
+ var init = function() {
232
+ configure();
233
+ helpers = require(self.versionPath+ '/helpers');
72
234
 
73
235
  begin(0);
74
236
  }
@@ -153,10 +315,10 @@ function PostInstall() {
153
315
 
154
316
 
155
317
  self.createVersionFile = function(done) {
156
- var version = require( _(self.gina + '/package.json') ).version;
318
+ var version = self.version;
157
319
  console.debug('writting version number: '+ version);
158
320
 
159
- var target = _(self.path + '/VERSION');
321
+ var target = _(self.versionPath + '/VERSION');
160
322
  try {
161
323
  if ( fs.existsSync(target) ) {
162
324
  fs.unlinkSync(target)
@@ -169,13 +331,20 @@ function PostInstall() {
169
331
  done();
170
332
  }
171
333
 
334
+ // TODO - Remove this part
172
335
  var configureGina = function() {
173
336
  // link to ./bin/cli to binaries dir
174
337
  if (!self.isWin32) {
175
- var binPath = _(self.prefix+'/bin', true);
176
- var cli = _(binPath +'/gina');
338
+ var binPath = null;
339
+ if ( !self.isGlobalInstall() ) {
340
+ binPath = new _(self.prefix+'/node_modules/.bin', true).existsSync() ? _(self.prefix+'/node_modules/.bin', true) : '';
341
+ } else {
342
+ binPath = new _(self.prefix+'/lib/node_modules/gina/bin', true)
343
+ }
344
+
345
+ var cli = _(binPath +'/gina', true);
177
346
  // TODO - remove this part for the next version
178
- var cliDebug = _(binPath +'/gina-debug');
347
+ var cliDebug = _(binPath +'/gina-debug', true);
179
348
 
180
349
  if ( fs.existsSync(cli) ) {
181
350
  fs.unlinkSync(cli)
@@ -185,24 +354,33 @@ function PostInstall() {
185
354
  fs.unlinkSync(cliDebug)
186
355
  }
187
356
 
188
- var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath +'/gina';
189
- console.debug('running: '+ cmd);
190
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
191
- .onData(function(data){
192
- console.info(data)
193
- })
194
- .onComplete( function onDone(err, data){
195
- if (err) {
196
- console.error(err);
197
- console.warn('try to run : sudo ' + cmd);
198
- }
199
- });
357
+
358
+ if ( !self.isGlobalInstall() ) {
359
+ new _(cli, true).symlinkSync( _(self.prefix +'/gina', true) )
360
+ }
361
+ // else {
362
+ // new _(cli, true).symlinkSync( _(self.prefix +'/bin/', true) )
363
+ // }
364
+
365
+
366
+ // var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath;
367
+ // console.debug('running: '+ cmd);
368
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
369
+ // .onData(function(data){
370
+ // console.info(data)
371
+ // })
372
+ // .onComplete( function onDone(err, data){
373
+ // if (err) {
374
+ // console.error(err);
375
+ // console.warn('try to run : sudo ' + cmd);
376
+ // }
377
+ // });
200
378
  // To debug, you just need to run:
201
379
  // gina <topic>:<task> --inspect-gina
202
380
  //
203
381
  // TODO - remove this part for the next version
204
382
  // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
205
- // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
383
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
206
384
  // .onData(function(data){
207
385
  // console.info(data)
208
386
  // })
@@ -219,52 +397,57 @@ function PostInstall() {
219
397
  }
220
398
 
221
399
  //Creating framework command line file for nix.
222
- var createGinaFile = function(win32Name, callback) {
223
- var name = require( _(self.path + '/package.json') ).name;
224
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
225
- var source = _(self.path + '/core/template/command/gina.tpl');
226
- var target = _(appPath +'/'+ name);
227
- if ( typeof(win32Name) != 'undefined') {
228
- target = _(appPath +'/'+ win32Name)
229
- }
230
- //Will override.
231
- console.info('linking to binaries dir ... ');
232
- if ( typeof(callback) != 'undefined') {
233
- if ( !self.isGlobalInstall ) { // local install only
234
- lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
235
- callback(err)
400
+ var createGinaFile = function(callback) {
401
+ // local install only
402
+ if (self.isGlobalInstall) {
403
+ return callback(false);
404
+ }
236
405
 
237
- })
238
- } else {
406
+ console.info('Current prefix: '+ self.prefix );
407
+ console.info('Current package.json: '+ _(self.gina + '/package.json', true) );
408
+
409
+ console.info('Creating framework command line:');
410
+ var appPath = process.env.INIT_CWD;
411
+ console.debug('App path: '+ appPath);
412
+ var source = _(appPath + '/node_modules/.bin/gina', true);
413
+ var target = _(appPath +'/gina', true);
414
+ if ( isWin32() ) {
415
+ source = _(appPath + '/node_modules/.bin/gina.bat', true)
416
+ target = _(appPath +'/gina.bat', true)
417
+ }
418
+ console.debug('Source: '+ source);
419
+ console.debug('Target: '+ target);
239
420
 
240
- // configureGina();
241
- callback(false)
242
- }
243
- } else {
244
- if ( !self.isGlobalInstall ) {
245
- lib.generator.createFileFromTemplate(source, target)
421
+ if ( callback && typeof(callback) != 'undefined') {
422
+ console.info('linking to binaries dir: '+ source +' -> '+ target);
423
+ try {
424
+ if ( fs.existsSync(target) ) {
425
+ fs.unlinkSync(target)
426
+ }
427
+ new _(source).symlinkSync(target)
428
+ } catch (err) {
429
+ return callback(err)
246
430
  }
247
- // else {
248
- // configureGina();
249
- // }
431
+
432
+ return callback(false);
250
433
  }
251
434
  }
252
435
 
253
436
  self.createGinaFileForPlatform = async function(done) {
254
437
  console.info('Creating platform file');
255
- var name = require( _(self.path + '/package.json') ).name;
438
+ // var name = require( _(self.versionPath + '/package.json') ).name;
256
439
 
257
- var filename = ( (self.isWin32) ? '.' : '' ) + name;
440
+ // var filename = ( (self.isWin32) ? '.' : '' ) + name;
258
441
 
259
- var keepGoing = function(filename) {
442
+ var keepGoing = function() {
260
443
 
261
- createGinaFile(filename, function onFileCreated(err) {
444
+ createGinaFile(function onFileCreated(err) {
262
445
  if (err) {
263
446
  return done(err)
264
447
  }
265
448
 
266
449
  // this is done to allow multiple calls of post_install.js
267
- var filename = _(self.path + '/SUCCESS');
450
+ var filename = _(self.versionPath + '/SUCCESS');
268
451
  var installed = fs.existsSync( filename );
269
452
  if (installed) {
270
453
  fs.unlinkSync( filename );
@@ -286,7 +469,7 @@ function PostInstall() {
286
469
  if ( !hasNodeModulesSync() ) {
287
470
  return npmInstall(done)
288
471
  } else {
289
- var target = new _(self.path + '/node_modules');
472
+ var target = new _(self.versionPath + '/node_modules');
290
473
  console.debug('replacing: ', target.toString() );
291
474
  return target
292
475
  .rm( function onRemove(err) {
@@ -301,49 +484,55 @@ function PostInstall() {
301
484
  })
302
485
  }
303
486
 
304
- if (self.isWin32) {
305
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
306
- var source = _(self.path + '/core/template/command/gina.bat.tpl');
307
- var target = _(appPath +'/'+ name + '.bat');
308
- if ( fs.existsSync(target) ) {
309
- fs.unlinkSync(target);
310
- // have to wait for windows to complete this
311
- setTimeout( async function(){
312
- lib.generator.createFileFromTemplate(source, target);
313
- await keepGoing(filename)
314
- }, 1000)
315
- } else {
316
- lib.generator.createFileFromTemplate(source, target);
317
- await keepGoing(filename)
318
- }
319
-
320
- } else {
321
- await keepGoing(filename)
322
- }
487
+ // if (self.isWin32) {
488
+ // // var appPath = _( self.versionPath.substring(0, (self.versionPath.length - ("node_modules/" + name + '/').length)) );
489
+ // var appPath = process.cwd()
490
+ // var source = _(self.versionPath + '/core/template/command/gina.bat.tpl');
491
+ // var target = _(appPath +'/'+ name + '.bat');
492
+ // if ( fs.existsSync(target) ) {
493
+ // fs.unlinkSync(target);
494
+ // // have to wait for windows to complete this
495
+ // setTimeout( async function(){
496
+ // lib.generator.createFileFromTemplate(source, target);
497
+ // await keepGoing(filename)
498
+ // }, 1000)
499
+ // } else {
500
+ // lib.generator.createFileFromTemplate(source, target);
501
+ // await keepGoing(filename)
502
+ // }
503
+
504
+ // } else {
505
+ await keepGoing()
506
+ // }
323
507
  }
324
508
 
325
509
 
326
510
  var hasNodeModulesSync = function() {
327
- return fs.existsSync( _(self.path + '/node_modules') )
511
+ return fs.existsSync( _(self.versionPath + '/node_modules') )
328
512
  }
329
513
 
330
514
 
331
515
  var npmInstall = function(done) {
332
- console.info('now installing modules: please, wait ...');
516
+
517
+ console.info('Now installing modules: please, wait ...');
333
518
  console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
334
- var cmd = self.prefix.replace(/\n/g, '') +'/bin/';
335
- cmd += ( isWin32() ) ? 'npm.cmd install' : 'npm install';
336
- console.info('running: '+ cmd +' from '+ _(self.path) );
337
- run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
338
- .onData(function onData(data){
339
- console.info(data)
340
- })
341
- .onComplete( function onDone(err, data){
342
- if (!err) {
343
- return done()
344
- }
345
- done(err)
346
- })
519
+ console.info('Default prefix: '+ self.defaultPrefix);
520
+ var initialDir = process.cwd();
521
+
522
+
523
+ var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
524
+
525
+ process.chdir( self.versionPath );
526
+
527
+ console.info('running: `'+ cmd +'` from '+ process.cwd() );
528
+ console.info('running using TMPDIR: '+ _(getTmpDir(), true) );
529
+ var oldConfigGlobal = process.env.npm_config_global;
530
+ process.env.npm_config_global = false;
531
+ execSync(cmd);
532
+ process.chdir(initialDir);
533
+ process.env.npm_config_global = oldConfigGlobal;
534
+
535
+ done()
347
536
  }
348
537
 
349
538
  self.cleanupIfNeeded = function(done) {
@@ -355,16 +544,24 @@ function PostInstall() {
355
544
  if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
356
545
  var initialDir = process.cwd();
357
546
  process.chdir(frameworkPath);
358
- var cmd = self.prefix +'/bin/';
359
- cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
547
+ var oldConfigGlobal = process.env.npm_config_global;
548
+ process.env.npm_config_global=false;
549
+
550
+ // var cmd = self.prefix +'/bin/';
551
+ // cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
552
+
553
+ var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
554
+
360
555
  try {
361
556
  execSync(cmd);
362
557
  console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
363
558
  } catch (npmErr) {
559
+ process.chdir(initialDir);
364
560
  return done(npmErr);
365
561
  }
366
562
 
367
563
  process.chdir(initialDir);
564
+ process.env.npm_config_global=oldConfigGlobal;
368
565
  }
369
566
 
370
567
  done()
@@ -388,6 +585,9 @@ function PostInstall() {
388
585
 
389
586
  // reading default extensions
390
587
  var ext = _(self.gina +'/resources/home/user/extensions', true);
588
+ // if (!self.isCustomPrefix) {
589
+ // ext = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
590
+ // }
391
591
  var folders = [];
392
592
  try {
393
593
  console.debug('Reading : '+ ext + ' - isDirectory ? '+ fs.lstatSync( ext ).isDirectory() );
@@ -422,7 +622,6 @@ function PostInstall() {
422
622
 
423
623
  let files = []
424
624
  , extDir = _(ext +'/'+ dir, true)
425
- , extDirObj = new _(extDir)
426
625
  ;
427
626
  try {
428
627
 
@@ -459,7 +658,7 @@ function PostInstall() {
459
658
  });
460
659
 
461
660
  if (err) {
462
- throw err;
661
+ return done(err);
463
662
  }
464
663
  }
465
664
  }
@@ -469,6 +668,64 @@ function PostInstall() {
469
668
  done()
470
669
  }
471
670
 
671
+ /**
672
+ * Updated user's profile
673
+ * Will edit ~/.profile, check and add if needed path to Gina binary
674
+ *
675
+ */
676
+ self.updateUserProfile = async function(done) {
677
+
678
+ if ( !self.isGlobalInstall || isWin32() ) {
679
+ return done()
680
+ }
681
+ if (!self.isCustomPrefix || self.prefix == self.defaultPrefix) {
682
+ return done()
683
+ }
684
+
685
+ var profilePath = getUserHome() + '/.profile';
686
+ var profilePathObj = new _(profilePath);
687
+ if ( !profilePathObj.existsSync() ) {
688
+ cmd = 'touch '+ profilePath;
689
+ await promisify(run)(cmd, { cwd: _(self.versionPath), tmp: _(getTmpDir(), true), outToProcessSTD: true, shell: "/bin/bash"})
690
+ .catch(function onError(err){
691
+ if (err) {
692
+ console.warn('try to run: sudo ' + cmd);
693
+ return done(err);
694
+ }
695
+ });
696
+ }
697
+
698
+ var inFile = null;
699
+ var patt = _(self.prefix.replace( new RegExp( '^' +getUserHome() ), '(.*)[$]HOME') + '/bin', true);
700
+ try {
701
+ inFile = execSync("cat ~/.profile | grep -Eo '" + patt +"'", {shell: "/bin/bash"}).toString();
702
+ } catch (err) {
703
+ // nothing to do
704
+ }
705
+
706
+ if (!inFile) {
707
+ patt = patt.replace('(.*)[$]', '$');
708
+ inFile = '\nif [ -d "'+ patt +'" ]; then';
709
+ inFile += '\n PATH="'+ patt +':$PATH"';
710
+ inFile += '\nfi\n';
711
+ try {
712
+ fs.appendFileSync( getUserHome()+'/.profile', inFile );
713
+ } catch (err) {
714
+ return done(err);
715
+ }
716
+ inFile = null;
717
+
718
+ // we need to source/update ~/.profile
719
+ try {
720
+ execSync("source "+ profilePath, {shell: "/bin/bash"});
721
+ } catch (err) {
722
+ return done(err)
723
+ }
724
+ }
725
+
726
+ done()
727
+ }
728
+
472
729
  var restoreSymlinks = function() {
473
730
  var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
474
731
  var frameworkPath = _(self.gina +'/framework', true);
@@ -492,15 +749,17 @@ function PostInstall() {
492
749
  // intercept & remove existing symlinks or old versions dir
493
750
  try {
494
751
  if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
495
- new _(frameworkPath +'/'+ dir, true).rmSync();
496
- console.debug('Removing Symlink: '+ dir);
752
+ console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
753
+ // new _(frameworkPath +'/'+ dir, true).rmSync();
754
+ fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
497
755
  continue;
498
756
  }
499
- else if (
757
+
758
+ if (
500
759
  dir != currentVersion
501
760
  && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
502
761
  ) {
503
- console.debug('Removing old version: '+ dir);
762
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
504
763
  new _(frameworkPath +'/'+ dir, true).rmSync()
505
764
  }
506
765
  } catch (e) {
@@ -532,15 +791,24 @@ function PostInstall() {
532
791
  }
533
792
  }
534
793
 
794
+
535
795
  self.end = function(done) {
536
796
 
537
797
  restoreSymlinks();
538
798
 
799
+ // configuring Gina
800
+ var ginaBinanry = _(self.gina + '/bin/gina', true);
801
+ if (!self.isCustomPrefix && self.isGlobalInstall) {
802
+ ginaBinanry = _( self.defaultPrefix + '/lib/node_modules/gina/bin/gina')
803
+ }
804
+ execSync(ginaBinanry + ' framework:set --global-mode='+ self.isGlobalInstall);
805
+ execSync(ginaBinanry + ' framework:set --prefix='+ self.prefix);
806
+
539
807
  // Update middleware file
540
- var filename = _(self.path) + '/MIDDLEWARE';
808
+ var filename = _(self.versionPath) + '/MIDDLEWARE';
541
809
  var msg = "Gina's command line tool has been installed.";
542
810
 
543
- var deps = require(_(self.path) + '/package.json').dependecies;
811
+ var deps = require(_(self.versionPath) + '/package.json').dependecies;
544
812
 
545
813
  var version = require( _(self.gina + '/package.json') ).version;
546
814
  var middleware = 'isaac@'+version; // by default
@@ -551,11 +819,12 @@ function PostInstall() {
551
819
  }
552
820
  }
553
821
 
554
- var expressPackage = _(self.path + '/node_modules/express/package.json');
822
+ var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
555
823
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
556
824
  middleware = require(expressPackage).version;
557
825
  middleware = 'express@' + middleware;
558
- } else if (typeof(middleware) == 'undefined') {
826
+ }
827
+ else if (typeof(middleware) == 'undefined') {
559
828
  return done( new Error('No middleware found !!') );
560
829
  }
561
830
 
@@ -567,6 +836,8 @@ function PostInstall() {
567
836
  if (err) {
568
837
  return done(err)
569
838
  }
839
+ console.debug('Updated: def !== middleware case');
840
+ // execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
570
841
  console.info(msg);
571
842
  done()
572
843
  })
@@ -576,12 +847,15 @@ function PostInstall() {
576
847
  if (err) {
577
848
  return done(err)
578
849
  }
850
+ console.info('File created case');
851
+
579
852
  console.info(msg);
580
853
  done()
581
854
  })
582
855
  }
583
856
  }
584
857
 
858
+
585
859
  init()
586
860
  }
587
861
  new PostInstall()