gina 0.1.1-alpha.1 → 0.1.1-alpha.101

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