gina 0.1.1-alpha.94 → 0.1.1-alpha.97

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 (288) hide show
  1. package/README.md +90 -26
  2. package/bin/cli +9 -0
  3. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/AUTHORS +0 -0
  4. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/LICENSE +0 -0
  5. package/framework/v0.1.1-alpha.97/VERSION +1 -0
  6. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/html/nolayout.html +0 -0
  7. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/html/static.html +0 -0
  8. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/android-chrome-192x192.png +0 -0
  9. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/android-chrome-512x512.png +0 -0
  10. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/apple-touch-icon.png +0 -0
  11. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/favicon-16x16.png +0 -0
  12. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/favicon-32x32.png +0 -0
  13. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/img/favicon.ico +0 -0
  14. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.js +0 -0
  15. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.js.map +0 -0
  16. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.min.css +0 -0
  17. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.min.css.map +0 -0
  18. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.min.js +0 -0
  19. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.min.js.map +0 -0
  20. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.onload.min.js +0 -0
  21. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -0
  22. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/readme.md +0 -0
  23. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/asset/js/plugin/uuid.json +0 -0
  24. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/config.js +0 -0
  25. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/index.js +0 -0
  26. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/connector.js +0 -0
  27. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  28. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  29. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/n1ql.js +0 -0
  30. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/session-store.js +0 -0
  31. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  32. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  33. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/controller/controller.framework.js +0 -0
  34. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/controller/controller.js +0 -0
  35. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/controller/index.js +0 -0
  36. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/.travis.yml +0 -0
  37. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/LICENSE +0 -0
  38. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/README.md +0 -0
  39. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  40. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  41. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/lib/main.js +0 -0
  42. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/lib/types/multipart.js +0 -0
  43. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  44. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/lib/utils.js +0 -0
  45. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/busboy/package.json +0 -0
  46. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  47. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/dev/index.js +0 -0
  48. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/dev/lib/class.js +0 -0
  49. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/dev/lib/factory.js +0 -0
  50. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/dev/lib/tools.js +0 -0
  51. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/gna.js +0 -0
  52. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/README.md +0 -0
  53. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/currency.json +0 -0
  54. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/dist/language/en.json +0 -0
  55. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/dist/language/fr.json +0 -0
  56. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/dist/region/en.json +0 -0
  57. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/dist/region/fr.json +0 -0
  58. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/index.js +0 -0
  59. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/src/make.js +0 -0
  60. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/src/resources/currency.csv +0 -0
  61. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/src/resources/region.csv +0 -0
  62. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/locales/src/resources/region.mapping.json +0 -0
  63. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/mime.types +0 -0
  64. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/model/entity.js +0 -0
  65. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/model/index.js +0 -0
  66. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/model/template/entityFactory.js +0 -0
  67. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/model/template/index.js +0 -0
  68. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/README.md +0 -0
  69. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/index.js +0 -0
  70. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/file/README.md +0 -0
  71. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/file/build.json +0 -0
  72. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/file/package.json +0 -0
  73. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/intl/README.md +0 -0
  74. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/intl/build.json +0 -0
  75. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/intl/package.json +0 -0
  76. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/intl/src/main.js +0 -0
  77. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/storage/README.md +0 -0
  78. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/storage/build.json +0 -0
  79. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/storage/package.json +0 -0
  80. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/storage/src/main.js +0 -0
  81. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/validator/README.md +0 -0
  82. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/validator/build.json +0 -0
  83. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/validator/package.json +0 -0
  84. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/validator/src/form-validator.js +0 -0
  85. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/plugins/lib/validator/src/main.js +0 -0
  86. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/router.js +0 -0
  87. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/server.express.js +0 -0
  88. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/server.isaac.js +0 -0
  89. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/server.js +0 -0
  90. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/status.codes +0 -0
  91. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/config/app.json +0 -0
  92. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/config/routing.json +0 -0
  93. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/config/settings.json +0 -0
  94. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  95. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/config/templates.json +0 -0
  96. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  97. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  98. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  99. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle/index.js +0 -0
  100. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  101. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  102. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  103. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  104. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  105. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_public/readme.md +0 -0
  106. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  107. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_templates/html/homepage.html +0 -0
  108. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/boilerplate/bundle_templates/html/layout/main.html +0 -0
  109. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/command/gina.bat.tpl +0 -0
  110. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/command/gina.tpl +0 -0
  111. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/env.json +0 -0
  112. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/manifest.json +0 -0
  113. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/package.json +0 -0
  114. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/settings.json +0 -0
  115. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/statics.json +0 -0
  116. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/conf/templates.json +0 -0
  117. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/client/json/401.json +0 -0
  118. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/client/json/403.json +0 -0
  119. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/client/json/404.json +0 -0
  120. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/server/html/50x.html +0 -0
  121. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/server/json/500.json +0 -0
  122. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/error/server/json/503.json +0 -0
  123. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/core/template/extensions/logger/config.json +0 -0
  124. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/console.js +0 -0
  125. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/context.js +0 -0
  126. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/dateFormat.js +0 -0
  127. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/index.js +0 -0
  128. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/json/README.md +0 -0
  129. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/json/package.json +0 -0
  130. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/json/src/main.js +0 -0
  131. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/path.js +81 -76
  132. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/plugins/README.md +0 -0
  133. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/plugins/package.json +0 -0
  134. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/plugins/src/api-error.js +0 -0
  135. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/plugins/src/main.js +0 -0
  136. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/prototypes.js +0 -0
  137. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/task.js +0 -0
  138. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/helpers/text.js +0 -0
  139. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/archiver/README.md +0 -0
  140. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/archiver/build.json +0 -0
  141. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/archiver/package.json +0 -0
  142. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/archiver/src/dep/jszip.min.js +0 -0
  143. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/archiver/src/main.js +0 -0
  144. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/aliases.json +0 -0
  145. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/add.js +0 -0
  146. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/arguments.json +0 -0
  147. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/copy.js +0 -0
  148. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/cp.js +0 -0
  149. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/help.js +0 -0
  150. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/help.txt +0 -0
  151. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/list.js +0 -0
  152. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/remove.js +0 -0
  153. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/rename.js +0 -0
  154. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/restart.js +0 -0
  155. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/rm.js +0 -0
  156. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/start.js +0 -0
  157. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/status.js +0 -0
  158. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/bundle/stop.js +0 -0
  159. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/add.js +0 -0
  160. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/get.js +0 -0
  161. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/help.js +0 -0
  162. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/help.txt +0 -0
  163. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/link-dev.js +0 -0
  164. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/list.js +0 -0
  165. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/remove.js +0 -0
  166. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/rm.js +0 -0
  167. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/set.js +0 -0
  168. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/unset.js +0 -0
  169. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/env/use.js +0 -0
  170. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/dot.js +0 -0
  171. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/get.js +0 -0
  172. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/help.js +0 -0
  173. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/help.txt +0 -0
  174. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/init.js +25 -13
  175. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/msg.json +0 -0
  176. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/open.js +0 -0
  177. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/restart.js +0 -0
  178. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/set.js +34 -2
  179. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/start.js +0 -0
  180. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/status.js +0 -0
  181. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/stop.js +0 -0
  182. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/tail.js +0 -0
  183. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/update.js +0 -0
  184. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/framework/version.js +0 -0
  185. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/gina-dev.1.md +0 -0
  186. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/gina-framework.1.md +0 -0
  187. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/gina.1.md +0 -0
  188. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/helper.js +0 -0
  189. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/index.js +0 -0
  190. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/msg.json +0 -0
  191. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/port/help.js +0 -0
  192. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/port/help.txt +0 -0
  193. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/port/inc/scan.js +0 -0
  194. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/port/list.js +0 -0
  195. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/port/set.js +0 -0
  196. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/add.js +0 -0
  197. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/arguments.json +0 -0
  198. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/build.js +0 -0
  199. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/help.js +0 -0
  200. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/help.txt +0 -0
  201. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/import.js +0 -0
  202. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/list.js +0 -0
  203. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/move.js +0 -0
  204. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/remove.js +0 -0
  205. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/rename.js +0 -0
  206. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/restart.js +0 -0
  207. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/rm.js +0 -0
  208. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/start.js +0 -0
  209. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/status.js +0 -0
  210. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/project/stop.js +0 -0
  211. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/protocol/help.js +0 -0
  212. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/protocol/help.txt +0 -0
  213. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/protocol/list.js +0 -0
  214. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/protocol/set.js +0 -0
  215. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/help.js +0 -0
  216. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/help.txt +0 -0
  217. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/link-local.js +0 -0
  218. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/list.js +0 -0
  219. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/remove.js +0 -0
  220. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/rm.js +0 -0
  221. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/set.js +0 -0
  222. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/unset.js +0 -0
  223. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/scope/use.js +0 -0
  224. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cmd/view/add.js +0 -0
  225. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/collection/README.md +0 -0
  226. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/collection/build.json +0 -0
  227. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/collection/package.json +0 -0
  228. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/collection/src/main.js +0 -0
  229. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/config.js +0 -0
  230. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cron/README.md +0 -0
  231. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cron/package.json +0 -0
  232. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/cron/src/main.js +0 -0
  233. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/generator/index.js +0 -0
  234. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/index.js +0 -0
  235. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/LICENSE +0 -0
  236. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/README.md +0 -0
  237. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  238. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/example/protected_inheritance.js +0 -0
  239. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/example/simple_inheritance.js +0 -0
  240. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  241. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/package.json +0 -0
  242. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/inherits/src/main.js +0 -0
  243. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/README.md +0 -0
  244. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/package.json +0 -0
  245. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/default/index.js +0 -0
  246. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/file/index.js +0 -0
  247. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  248. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  249. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/mq/index.js +0 -0
  250. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/mq/listener.js +0 -0
  251. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/containers/mq/speaker.js +0 -0
  252. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/helper.js +0 -0
  253. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/logger/src/main.js +0 -0
  254. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/math/index.js +0 -0
  255. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/README.md +0 -0
  256. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/example/merge.js +0 -0
  257. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/example/merge_2_literal objects.js +0 -0
  258. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/example/merge_and_preserve_first.js +0 -0
  259. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/package.json +0 -0
  260. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/merge/src/main.js +0 -0
  261. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/model.js +0 -0
  262. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/proc.js +0 -0
  263. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/routing/README.md +0 -0
  264. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/routing/build.json +0 -0
  265. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/routing/package.json +0 -0
  266. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/routing/src/main.js +0 -0
  267. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/session-store.js +0 -0
  268. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/shell.js +0 -0
  269. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/swig-filters/README.md +0 -0
  270. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/swig-filters/package.json +0 -0
  271. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/swig-filters/src/main.js +0 -0
  272. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/url/README.md +0 -0
  273. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/url/index.js +0 -0
  274. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/url/mocks.json +0 -0
  275. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/url/routing.json +0 -0
  276. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/url/test.js +0 -0
  277. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/lib/validator.js +0 -0
  278. package/framework/{v0.1.1-alpha.94 → v0.1.1-alpha.97}/package.json +0 -0
  279. package/package.json +9 -6
  280. package/resources/home/main.json +3 -0
  281. package/resources/home/settings.json +1 -0
  282. package/resources/package.json.template +24 -20
  283. package/script/post_install.js +267 -183
  284. package/script/post_publish.js +185 -0
  285. package/script/pre_install.js +333 -268
  286. package/script/prepare_version.js +216 -93
  287. package/utils/helper.js +36 -9
  288. package/framework/v0.1.1-alpha.94/VERSION +0 -1
@@ -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.
@@ -16,17 +16,57 @@ const { execSync } = require('child_process');
16
16
  var isWin32 = function() {
17
17
  return (process.platform === 'win32') ? true : false;
18
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
+
19
57
  // just in case `post_install` is called by hand
20
58
  var initialDir = process.cwd();
21
59
  var frameworkPath = __dirname +'/..';
22
60
  if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
23
61
  process.chdir(frameworkPath);
62
+
24
63
  var oldConfigGlobal = process.env.npm_config_global;
25
64
  process.env.npm_config_global=false;
26
65
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
27
66
  execSync(cmd);
28
- process.chdir(initialDir);
29
67
  process.env.npm_config_global=oldConfigGlobal;
68
+
69
+ process.chdir(initialDir);
30
70
  }
31
71
 
32
72
  var lib = require('./lib');
@@ -46,79 +86,146 @@ var helpers = null;
46
86
  * */
47
87
  function PostInstall() {
48
88
 
49
- var self = {}, _this = this;
89
+ var self = {};
50
90
 
51
- //Initialize post installation scripts.
52
- var init = function() {
53
- self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
54
- self.path = getEnvVar('GINA_FRAMEWORK');
55
- self.gina = getEnvVar('GINA_DIR');
56
- self.root = self.gina; // by default
57
- self.isGlobalInstall = false;
58
- self.prefix = process.env.npm_config_prefix || execSync('npm config get prefix').toString().replace(/\n/g, '');
59
- self.isCustomPrefix = false;
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
+ }
60
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());
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
61
121
  var args = process.argv, i = 0, len = args.length;
62
122
  for (; i < len; ++i) {
63
123
  if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
64
124
  self.isGlobalInstall = true;
65
125
  continue;
66
126
  }
127
+
128
+ if ( /^\-\-reset$/.test(args[i]) ) {
129
+ self.isResetNeeded = true;
130
+ continue;
131
+ }
132
+
67
133
  if ( /^\-\-prefix\=/.test(args[i] ) ) {
68
134
  self.isCustomPrefix = true;
69
135
  self.prefix = args[i].split(/\=/)[1];
136
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
70
137
  continue;
71
138
  }
72
139
  }
73
140
 
74
- if (
75
- // process.env.npm_config_prefix
76
- // &&
77
- self.prefix != process.env.npm_config_prefix
78
- ) {
79
- // self.prefix = process.env.npm_config_prefix;
80
- self.isCustomPrefix = true;
81
- }
82
-
83
- if ( !self.isGlobalInstall ) { // none global install
84
- // process.env.npm_config_prefix = process.cwd();
85
- self.prefix = process.cwd();
86
- // self.root = process.cwd(); // project path
87
- // console.error('local installation is not supported for this version at the moment.');
88
- // console.info('please use `npm install -g gina`');
89
- // process.exit(1);
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.cwd())) {
148
+ self.prefix = process.cwd();
149
+ }
90
150
  }
91
- // setEnvVar('GINA_PREFIX', self.prefix); // for the `helper.js`
92
-
93
- // check for ~/.gina (first installation ?)
94
- var ginaHomeDir = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
95
- self.version = require( self.gina + ( isWin32() ? '\\' : '/' ) +'package.json' ).version;
96
- self.shortVersion = self.version.split('.');
97
- self.shortVersion.splice(2);
98
- self.shortVersion = self.shortVersion.join('.');
99
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')
162
+ }
163
+ if (!hasPermissionsForVar) {
164
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
165
+ }
100
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;
169
+ }
101
170
 
102
- var frameworkVersionPath = __dirname +'/../framework/v'+ self.version;
103
- helpers = require(frameworkVersionPath+ '/helpers');
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());
104
179
 
105
- // if not found -> skip because it means that gina might not be installed or configured yet
106
- if ( !new _(ginaHomeDir).existsSync() ) {
107
- new _(ginaHomeDir).mkdirSync()
108
- }
109
- if ( !new _(ginaHomeDir +'/'+ self.shortVersion ).existsSync() ) {
110
- new _(ginaHomeDir +'/'+ self.shortVersion).mkdirSync()
180
+ } catch(err) {
181
+ throw err
111
182
  }
183
+ pkgObj = JSON.parse(pkg);
184
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
112
185
 
113
- console.debug('Is this for Windows ? ' + self.isWin32);
114
186
 
187
+ if ( self.prefix != self.defaultPrefix ) {
188
+ self.isCustomPrefix = true;
189
+ }
115
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
+ }
116
224
 
117
- console.debug('prefix path: ' + self.prefix);
118
- console.debug('framework path: ' + self.gina);
119
- console.debug('framework version path: ' + self.path);
120
- console.debug('cwd path: ' + self.root );
121
- console.debug('this is a global install ...');
225
+ //Initialize post installation scripts.
226
+ var init = function() {
227
+ configure();
228
+ helpers = require(self.versionPath+ '/helpers');
122
229
 
123
230
  begin(0);
124
231
  }
@@ -206,7 +313,7 @@ function PostInstall() {
206
313
  var version = self.version;
207
314
  console.debug('writting version number: '+ version);
208
315
 
209
- var target = _(self.path + '/VERSION');
316
+ var target = _(self.versionPath + '/VERSION');
210
317
  try {
211
318
  if ( fs.existsSync(target) ) {
212
319
  fs.unlinkSync(target)
@@ -219,6 +326,7 @@ function PostInstall() {
219
326
  done();
220
327
  }
221
328
 
329
+ // TODO - Remove this part
222
330
  var configureGina = function() {
223
331
  // link to ./bin/cli to binaries dir
224
332
  if (!self.isWin32) {
@@ -252,7 +360,7 @@ function PostInstall() {
252
360
 
253
361
  // var cmd = 'ln -s '+ self.gina +'/bin/gina '+ binPath;
254
362
  // console.debug('running: '+ cmd);
255
- // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
363
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
256
364
  // .onData(function(data){
257
365
  // console.info(data)
258
366
  // })
@@ -267,7 +375,7 @@ function PostInstall() {
267
375
  //
268
376
  // TODO - remove this part for the next version
269
377
  // cmd = 'ln -s '+ self.gina +'/bin/cli-debug '+ binPath +'/gina-debug';
270
- // run(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
378
+ // run(cmd, { cwd: _(self.versionPath), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
271
379
  // .onData(function(data){
272
380
  // console.info(data)
273
381
  // })
@@ -285,44 +393,51 @@ function PostInstall() {
285
393
 
286
394
  //Creating framework command line file for nix.
287
395
  var createGinaFile = function(win32Name, callback) {
396
+ // Created by NPM for global installations
397
+ if (self.isGlobalInstall) {
398
+ return callback(false);
399
+ }
400
+
288
401
  console.info('Current prefix: '+ self.prefix );
289
- console.info('Creating framework command line: '+ _(self.gina + '/package.json', true) );
290
- var name = require( _(self.gina + '/package.json') ).name;
402
+ console.info('Current package.json: '+ _(self.gina + '/package.json', true) );
403
+
404
+ var name = require( _(self.gina + '/package.json', true) ).name;
291
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
+
292
410
 
293
- var appPath = _( self.gina.substring(0, (self.gina.length - ("node_modules/" + name + '/').length)) );
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);
294
416
 
295
- var source = _(self.path + '/core/template/command/gina.tpl');
296
- var target = _(appPath +'/'+ name);
297
- if ( typeof(win32Name) != 'undefined') {
417
+ if ( win32Name && typeof(win32Name) != 'undefined') {
298
418
  target = _(appPath +'/'+ win32Name)
299
419
  }
300
420
  //Will override.
301
421
  console.info('linking to binaries dir: '+ source +' -> '+ target);
302
- if ( typeof(callback) != 'undefined') {
422
+ if ( callback && typeof(callback) != 'undefined') {
303
423
  if ( !self.isGlobalInstall ) { // local install only
304
424
  lib.generator.createFileFromTemplate(source, target, function onGinaFileCreated(err) {
305
- callback(err)
306
-
425
+ return callback(err)
307
426
  })
308
427
  } else {
309
-
310
428
  // configureGina();
311
- callback(false)
429
+ return callback(false)
312
430
  }
313
431
  } else {
314
432
  if ( !self.isGlobalInstall ) {
315
433
  lib.generator.createFileFromTemplate(source, target)
316
434
  }
317
- // else {
318
- // configureGina();
319
- // }
320
435
  }
321
436
  }
322
437
 
323
438
  self.createGinaFileForPlatform = async function(done) {
324
439
  console.info('Creating platform file');
325
- var name = require( _(self.path + '/package.json') ).name;
440
+ var name = require( _(self.versionPath + '/package.json') ).name;
326
441
 
327
442
  var filename = ( (self.isWin32) ? '.' : '' ) + name;
328
443
 
@@ -334,7 +449,7 @@ function PostInstall() {
334
449
  }
335
450
 
336
451
  // this is done to allow multiple calls of post_install.js
337
- var filename = _(self.path + '/SUCCESS');
452
+ var filename = _(self.versionPath + '/SUCCESS');
338
453
  var installed = fs.existsSync( filename );
339
454
  if (installed) {
340
455
  fs.unlinkSync( filename );
@@ -356,7 +471,7 @@ function PostInstall() {
356
471
  if ( !hasNodeModulesSync() ) {
357
472
  return npmInstall(done)
358
473
  } else {
359
- var target = new _(self.path + '/node_modules');
474
+ var target = new _(self.versionPath + '/node_modules');
360
475
  console.debug('replacing: ', target.toString() );
361
476
  return target
362
477
  .rm( function onRemove(err) {
@@ -372,8 +487,9 @@ function PostInstall() {
372
487
  }
373
488
 
374
489
  if (self.isWin32) {
375
- var appPath = _( self.path.substring(0, (self.path.length - ("node_modules/" + name + '/').length)) );
376
- 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');
377
493
  var target = _(appPath +'/'+ name + '.bat');
378
494
  if ( fs.existsSync(target) ) {
379
495
  fs.unlinkSync(target);
@@ -394,53 +510,30 @@ function PostInstall() {
394
510
 
395
511
 
396
512
  var hasNodeModulesSync = function() {
397
- return fs.existsSync( _(self.path + '/node_modules') )
513
+ return fs.existsSync( _(self.versionPath + '/node_modules') )
398
514
  }
399
515
 
400
516
 
401
517
  var npmInstall = function(done) {
402
518
 
403
- console.info('now installing modules: please, wait ...');
519
+ console.info('Now installing modules: please, wait ...');
404
520
  console.info('Prefix ('+ self.isCustomPrefix +'): '+ self.prefix);
405
521
  var initialDir = process.cwd();
406
522
 
407
523
 
408
524
  var cmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
409
525
 
410
- process.chdir( self.path );
526
+ process.chdir( self.versionPath );
527
+
411
528
  console.info('running: `'+ cmd +'` from '+ process.cwd() );
412
529
  console.info('running using TMPDIR: '+ _(getTmpDir(), true) );
413
-
414
- process.env.npm_config_global=false;
530
+ var oldConfigGlobal = process.env.npm_config_global;
531
+ process.env.npm_config_global = false;
415
532
  execSync(cmd);
416
-
417
- // var deps = require(_(self.path + '/package.json', true)).dependencies;
418
- // for (let d in deps) {
419
- // try {
420
- // console.info('running: `'+ cmd +' '+ d +'@"'+ deps[d] +'"` from '+ self.path );
421
- // execSync(cmd +' '+ d +'@"'+ deps[d] +'"');
422
- // } catch (err) {
423
- // return done(err)
424
- // }
425
- // }
426
533
  process.chdir(initialDir);
427
- process.env.npm_config_global=true;
534
+ process.env.npm_config_global = oldConfigGlobal;
428
535
 
429
536
  done()
430
-
431
-
432
- // run(cmd, { cwd: _(self.path), tmp: _(getTmpDir(), true), outToProcessSTD: true })
433
- // .onData(function onData(data){
434
- // console.info(data)
435
- // })
436
- // .onComplete( function onDone(err, data){
437
- // if (!err || /^false$/i.test(err) ) {
438
- // console.info('completed: '+ cmd);
439
- // return done()
440
- // }
441
- // console.debug('error found: '+ err + '\n=> '+ data);
442
- // done(err)
443
- // })
444
537
  }
445
538
 
446
539
  self.cleanupIfNeeded = function(done) {
@@ -527,7 +620,6 @@ function PostInstall() {
527
620
 
528
621
  let files = []
529
622
  , extDir = _(ext +'/'+ dir, true)
530
- , extDirObj = new _(extDir)
531
623
  ;
532
624
  try {
533
625
 
@@ -564,7 +656,7 @@ function PostInstall() {
564
656
  });
565
657
 
566
658
  if (err) {
567
- throw err;
659
+ return done(err);
568
660
  }
569
661
  }
570
662
  }
@@ -575,76 +667,62 @@ function PostInstall() {
575
667
  }
576
668
 
577
669
  /**
578
- * Link binary to profile
579
- * Will edit ~/.profile, check and add if needed path to ~/.npm-global
670
+ * Updated user's profile
671
+ * Will edit ~/.profile, check and add if needed path to Gina binary
580
672
  *
581
673
  */
582
- // self.linkBinaryToProfile = async function(done) {
583
-
584
- // // create a directory for global installations
585
- // var npmGlobalPath = _(getUserHome() + '/.npm-global', true);
674
+ self.updateUserProfile = async function(done) {
586
675
 
587
- // if (self.prefix != npmGlobalPath ) {
588
- // done()
589
- // }
676
+ if ( !self.isGlobalInstall || isWin32() ) {
677
+ return done()
678
+ }
679
+ if (!self.isCustomPrefix || self.prefix == self.defaultPrefix) {
680
+ return done()
681
+ }
590
682
 
591
- // console.info('Setting npm global path: '+ npmGlobalPath +' '+ new _(npmGlobalPath).existsSync() );
592
- // var npmGlobalPathObj = new _(npmGlobalPath);
593
- // if ( !npmGlobalPathObj.existsSync() ) {
594
- // npmGlobalPathObj.mkdirSync()
595
- // }
596
- // // from `/usr/local` -> `~/.npm-global`
597
- // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
598
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
599
- // .catch(function onError(err){
600
- // if (err) {
601
- // console.warn('try to run: sudo ' + cmd);
602
- // return done(err);
603
- // }
604
- // });
605
-
606
- // var profilePath = getUserHome() + '/.profile';
607
- // var profilePathObj = new _(profilePath);
608
- // if ( !profilePathObj.existsSync() ) {
609
- // cmd = 'touch '+ profilePath;
610
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
611
- // .catch(function onError(err){
612
- // if (err) {
613
- // console.warn('try to run: sudo ' + cmd);
614
- // return done(err);
615
- // }
616
- // });
617
- // }
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
+ }
618
695
 
619
- // var inFile = null;
620
- // try {
621
- // inFile = execSync("cat ~/.profile | grep .npm-global/bin").toString();
622
- // } catch (err) {
623
- // // nothing to do
624
- // }
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
+ }
625
703
 
626
- // if (!inFile) {
627
- // inFile = "\n# set PATH so it includes user‘s private npm bin if exists"
628
- // inFile += '\nif [ -d "$HOME/.npm-global/bin" ]; then';
629
- // inFile += '\n PATH="$HOME/.npm-global/bin:$PATH"';
630
- // inFile += '\nfi\n';
631
- // try {
632
- // fs.appendFileSync( getUserHome()+'/.profile', inFile );
633
- // } catch (err) {
634
- // return done(err);
635
- // }
636
- // inFile = null;
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;
637
715
 
638
- // // we need to source/update ~/.profile
639
- // try {
640
- // execSync("source "+ profilePath);
641
- // } catch (err) {
642
- // return done(err)
643
- // }
644
- // }
716
+ // we need to source/update ~/.profile
717
+ try {
718
+ execSync("source "+ profilePath);
719
+ } catch (err) {
720
+ return done(err)
721
+ }
722
+ }
645
723
 
646
- // done()
647
- // }
724
+ done()
725
+ }
648
726
 
649
727
  var restoreSymlinks = function() {
650
728
  var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
@@ -669,15 +747,17 @@ function PostInstall() {
669
747
  // intercept & remove existing symlinks or old versions dir
670
748
  try {
671
749
  if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
672
- new _(frameworkPath +'/'+ dir, true).rmSync();
673
- 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));
674
753
  continue;
675
754
  }
676
- else if (
755
+
756
+ if (
677
757
  dir != currentVersion
678
758
  && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
679
759
  ) {
680
- console.debug('Removing old version: '+ dir);
760
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
681
761
  new _(frameworkPath +'/'+ dir, true).rmSync()
682
762
  }
683
763
  } catch (e) {
@@ -709,16 +789,27 @@ function PostInstall() {
709
789
  }
710
790
  }
711
791
 
792
+
712
793
  self.end = function(done) {
713
794
 
714
795
  restoreSymlinks();
715
-
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);
716
807
 
717
808
  // Update middleware file
718
- var filename = _(self.path) + '/MIDDLEWARE';
809
+ var filename = _(self.versionPath) + '/MIDDLEWARE';
719
810
  var msg = "Gina's command line tool has been installed.";
720
811
 
721
- var deps = require(_(self.path) + '/package.json').dependecies;
812
+ var deps = require(_(self.versionPath) + '/package.json').dependecies;
722
813
 
723
814
  var version = require( _(self.gina + '/package.json') ).version;
724
815
  var middleware = 'isaac@'+version; // by default
@@ -729,7 +820,7 @@ function PostInstall() {
729
820
  }
730
821
  }
731
822
 
732
- var expressPackage = _(self.path + '/node_modules/express/package.json');
823
+ var expressPackage = _(self.versionPath + '/node_modules/express/package.json');
733
824
  if ( typeof(middleware) == 'undefined' && fs.existsSync(expressPackage) ) {
734
825
  middleware = require(expressPackage).version;
735
826
  middleware = 'express@' + middleware;
@@ -746,7 +837,7 @@ function PostInstall() {
746
837
  if (err) {
747
838
  return done(err)
748
839
  }
749
- console.info('def !== middleware case');
840
+ console.debug('Updated: def !== middleware case');
750
841
  // execSync(self.prefix +'/bin/gina framework:set --prefix='+ self.prefix);
751
842
  console.info(msg);
752
843
  done()
@@ -759,11 +850,6 @@ function PostInstall() {
759
850
  }
760
851
  console.info('File created case');
761
852
 
762
- // var cmd = self.prefix;
763
- // cmd += '/gina framework:set --prefix=';
764
- // cmd += self.prefix;
765
- // execSync(cmd);
766
-
767
853
  console.info(msg);
768
854
  done()
769
855
  })
@@ -771,8 +857,6 @@ function PostInstall() {
771
857
  }
772
858
 
773
859
 
774
- // setTimeout(() => {
775
- init()
776
- // }, 1000);
860
+ init()
777
861
  }
778
862
  new PostInstall()