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
- * This file is part of the gina package.
3
- * Copyright (c) 2017 Rhinostone <contact@gina.io>
2
+ * This file is part of the gina pkg.
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.
@@ -15,223 +15,6 @@ var { execSync } = require('child_process');
15
15
  //var lib = require('./lib');
16
16
  // var console = lib.logger;
17
17
  var lib = null;
18
- var isWin32 = function() {
19
- return (process.platform === 'win32') ? true : false;
20
- };
21
- var existsSync = function(path) {
22
- if ( typeof(fs.accessSync) != 'undefined' ) {
23
- try {
24
- fs.accessSync(path, fs.constants.F_OK);
25
- return true;
26
- } catch (err) {
27
- return false;
28
- }
29
- } else { // support for old version of nodejs
30
- return fs.existsSync(path);
31
- }
32
- }
33
-
34
- var isWritableSync = function(path) {
35
- var canWrite = false;
36
- if ( typeof(fs.accessSync) != 'undefined' ) {
37
- try {
38
- fs.accessSync(path, fs.constants.W_OK);
39
- canWrite = true;
40
- } catch (err) {
41
- canWrite = false;
42
- }
43
- } else { // support for old version of nodejs
44
-
45
- try {
46
- canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
47
- } catch (err) {
48
- canWrite = false
49
- }
50
- }
51
-
52
- return canWrite
53
- };
54
-
55
- /**
56
- * Get run\lock path
57
- * @returns {string} rundir
58
- * */
59
- var getRunDir = function(prefix) {
60
- if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
61
- prefix = '/usr/local'
62
- }
63
- // Trying to retrieve original value if already defined
64
- // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
65
- var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
66
-
67
- if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
68
- runDir = getUserHome() +'/.gina/run';
69
- if ( !existsSync(runDir) ) {
70
- fs.mkdirSync(runDir)
71
- }
72
-
73
- return runDir
74
- }
75
-
76
- if ( existsSync(runDir) ) {
77
- if ( !isWritableSync(runDir) ) {
78
- throw new Error('location `'+ runDir +'` found but not writable !' )
79
- }
80
-
81
- runDir += ( isWin32() ) ? '' : '/gina'
82
- if ( !existsSync(runDir) ) {
83
- fs.mkdirSync(runDir)
84
- }
85
-
86
- return runDir;
87
- }
88
-
89
- try {
90
- //by default.
91
- runDir = prefix+'/var';
92
- if ( !existsSync(runDir) ) {
93
- fs.mkdirSync(runDir)
94
- }
95
- runDir += '/run';
96
- if ( !existsSync(runDir) ) {
97
- fs.mkdirSync(runDir)
98
- }
99
- } catch (err) {
100
- throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
101
- }
102
-
103
- runDir += ( isWin32() ) ? '\\gina' : '/gina'
104
- if ( !existsSync(runDir) ) {
105
- fs.mkdirSync(runDir)
106
- }
107
-
108
- return runDir;
109
- };
110
-
111
- var getTmpDir = function(prefix) {
112
- if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
113
- prefix = '/usr/local'
114
- }
115
- // support for node 0.10.x & 0.11.x
116
- var tmp = (os.tmpdir) ? os.tmpdir : function() {
117
- var tmpDir = null;
118
- if ( isWin32() ) {
119
- tmpDir = process.env.TEMP ||
120
- process.env.TMP ||
121
- (process.env.SystemRoot || process.env.windir) + '\\Temp'
122
- ;
123
- } else {
124
- tmpDir = process.env.TMPDIR ||
125
- process.env.TMP ||
126
- process.env.TEMP ||
127
- prefix+'/var/tmp'
128
- ;
129
-
130
- if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
131
- tmpDir = getUserHome() +'/.gina/tmp';
132
- if ( !existsSync(tmpDir) ) {
133
- fs.mkdirSync(tmpDir)
134
- }
135
- }
136
-
137
- if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
138
- fs.mkdirSync(prefix+'/var');
139
- }
140
- }
141
-
142
- if ( !existsSync(tmpDir) ) {
143
- fs.mkdirSync(tmpDir);
144
- }
145
-
146
- return tmpDir
147
- };
148
-
149
- return tmp()
150
- };
151
-
152
- /**
153
- * Get log path - %SystemRoot%\system32\winevt\logs or /
154
- *
155
- * @returns {string} logPath
156
- * */
157
- var getLogDir = function(prefix) {
158
- if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
159
- prefix = '/usr/local'
160
- }
161
- // Trying to retrieve original value if already defined
162
- var logDir = null;
163
-
164
- if ( isWin32() ) {
165
- logDir = process.env.LOG ||
166
- process.env.LOGS ||
167
- (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
168
- ;
169
-
170
- if ( !logDir || logDir == '' ) {
171
- throw new Error('Log directory not defined or not found !');
172
- }
173
-
174
- if ( !isWritableSync(logDir) ) {
175
- throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
176
- }
177
-
178
- if ( !/gina$/.test(logDir) ) {
179
- logDir += '\\gina'
180
- }
181
- } else {
182
- logDir = process.env.LOGDIR ||
183
- process.env.LOG ||
184
- process.env.LOGS ||
185
- prefix+'/var/log'
186
- ;
187
-
188
- if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
189
- logDir = getUserHome() +'/.gina/log';
190
- if ( !existsSync(logDir) ) {
191
- fs.mkdirSync(logDir)
192
- }
193
-
194
- return logDir
195
- }
196
-
197
- if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
198
- fs.mkdirSync(prefix+'/var');
199
- }
200
-
201
- if ( !existsSync(logDir) ) {
202
- fs.mkdirSync(logDir);
203
- }
204
-
205
- if ( !/gina$/.test(logDir) ) {
206
- logDir += '/gina'
207
- }
208
- }
209
-
210
- if ( !existsSync(logDir) ) {
211
- fs.mkdirSync(logDir)
212
- }
213
-
214
- return logDir;
215
- };
216
-
217
- var getUserHome = function() {
218
- var home = os.homedir ? os.homedir : function() {
219
- var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
220
-
221
- if ( !homeDir || homeDir == '' ) {
222
- throw new Error('Home directory not defined or not found !');
223
- }
224
-
225
- if ( !isWritableSync(homeDir) ) {
226
- throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
227
- }
228
-
229
- return homeDir;
230
- };
231
-
232
- return home()
233
- };
234
-
235
18
  var helpers = null;
236
19
 
237
20
  /**
@@ -248,17 +31,24 @@ var helpers = null;
248
31
  function PreInstall() {
249
32
  var self = {};
250
33
 
251
- var init = function() {
34
+ var configure = function() {
35
+
36
+ // TODO - handle windows case
37
+ if ( /^true$/i.test(isWin32()) ) {
38
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
39
+ }
40
+
41
+ self.isWin32 = isWin32();
42
+ self.isGlobalInstall = process.env.npm_config_global || false;
43
+ self.isResetNeeded = process.env.npm_config_reset || false;
44
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
45
+
252
46
 
253
- self.isGlobalInstall = process.env.npm_config_global || false;
254
- self.isResetNeeded = process.env.npm_config_reset || false;
255
- self.isGinaInstall = false;
256
- self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n/g, '');
257
- self.optionalPrefix = '~/.npm-global';
258
47
  // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
259
- self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
260
- // self.prefix =
261
- self.isCustomPrefix = false;
48
+ // and it should always be equal to `self.defaultPrefix`
49
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
50
+ self.isCustomPrefix = false;
51
+ self.isGinaInstalled = false;
262
52
 
263
53
  // Overriding thru passed arguments
264
54
  var args = process.argv, i = 0, len = args.length;
@@ -276,44 +66,101 @@ function PreInstall() {
276
66
  if ( /^\-\-prefix\=/.test(args[i] ) ) {
277
67
  self.isCustomPrefix = true;
278
68
  self.prefix = args[i].split(/\=/)[1];
69
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
279
70
  continue;
280
71
  }
281
72
  }
282
73
 
283
74
  // For local install
75
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
284
76
  if ( !self.isGlobalInstall ) {
285
- console.warn('local installation is not fully supported for this at the moment.');
286
- console.warn('please use `npm install -g gina`\nor\nif you are trying to link gina to your project, use `npm link gina` if Gina has already been installed\n');
77
+ console.warn('Local installation is not fully supported at the moment.');
78
+ 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');
287
79
  // Just in case someone is trying to run pre_install from the `gina` module
288
80
  if (!/node\_modules(\\\\|\/)gina$/.test(process.cwd())) {
289
81
  self.prefix = process.cwd();
290
82
  }
291
83
  }
292
- // process.env.npm_config_prefix = self.prefix;
293
84
 
294
- if ( !isWritableSync(self.prefix) ) {
295
- console.warn('Prefix `'+ self.prefix +'` does not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
296
- process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
85
+ // checking permission
86
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
87
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
88
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
89
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
90
+ if (!hasPermissionsForBin) {
91
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
92
+ }
93
+ if (!hasPermissionsForLib) {
94
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
95
+ }
96
+ if (!hasPermissionsForVar) {
97
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
98
+ }
99
+
100
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
101
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
102
+ }
103
+
104
+ var pkg = null, pkgObj = null, cmd = null;
105
+ try {
106
+ cmd = 'npm list gina --long --json --prefix='+ self.prefix;
107
+ if (self.isGlobalInstall) {
108
+ cmd += ' -g';
109
+ }
110
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
111
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
112
+
113
+ } catch(err) {
114
+ throw err
297
115
  }
116
+ pkgObj = JSON.parse(pkg);
117
+ self.optionalPrefix = pkgObj.dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
298
118
 
299
119
  if ( self.prefix != self.defaultPrefix ) {
300
120
  self.isCustomPrefix = true;
301
121
  }
302
122
 
123
+ self.gina = __dirname +'/..';
124
+ // tying to figure out if gina is already install the given prefix
125
+ // var hasFoundGina = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
126
+ var hasFoundGina = pkg;
127
+ try {
128
+ hasFoundGina = JSON.parse(hasFoundGina);
129
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
130
+ self.isGinaInstalled = true;
131
+ self.versionPath = self.gina;
132
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
133
+ self.versionPath += 'v'+ hasFoundGina.dependencies.gina.version;
134
+
135
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
136
+
137
+ // OK ... found installed gina but on a different prefix
138
+ // In this case, let's assume that it is not really installed
139
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
140
+ self.isGinaInstalled = false;
141
+ }
142
+ }
143
+ } catch (err) {}
144
+
303
145
  console.debug('self.defaultPrefix => '+ self.defaultPrefix);
304
146
  console.debug('self.optionalPrefix => '+ self.optionalPrefix );
305
147
  console.debug('self.prefix => '+ self.prefix);
148
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
149
+ // only available when running the script with NPM
306
150
  console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
151
+ }
152
+
153
+ var init = function() {
154
+
155
+ configure();
307
156
 
308
157
  begin(0);
309
- // TODO check old framework version to be archived
310
158
  }
311
159
 
312
160
  /**
313
161
  * Bebin - Will run checking tasks in order of declaration
314
162
  * */
315
163
  var begin = async function(i) {
316
- //console.debug('i is ', i);
317
164
  var n = 0, funct = null, functName = null;
318
165
  for (let t in self) {
319
166
  if ( typeof(self[t]) == 'function') {
@@ -340,10 +187,6 @@ function PreInstall() {
340
187
 
341
188
 
342
189
  self.checkRequirements = async function(done) {
343
- // TODO - handle windows case
344
- if ( /^true$/i.test(isWin32()) ) {
345
- return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
346
- }
347
190
 
348
191
  var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
349
192
  if ( self.isResetNeeded && existsSync(ginaHome) ) {
@@ -353,28 +196,23 @@ function PreInstall() {
353
196
 
354
197
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
355
198
  var initialDir = process.cwd();
356
- var frameworkPath = __dirname +'/..';
357
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
358
- process.chdir(frameworkPath);
199
+
200
+ if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
201
+ process.chdir(self.gina);
202
+
359
203
  var oldConfigGlobal = process.env.npm_config_global;
360
204
  process.env.npm_config_global=false;
361
205
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
362
206
  execSync(cmd);
363
- process.chdir(initialDir);
364
207
  process.env.npm_config_global=oldConfigGlobal;
365
- }
366
208
 
367
-
368
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
369
- return done();
209
+ process.chdir(initialDir);
370
210
  }
371
211
 
372
- self.isWin32 = isWin32();
373
212
 
374
213
 
375
214
  console.debug('framework path: ' + self.gina);
376
- console.debug('framework version path: ' + self.path);
377
- console.debug('cwd path: ' + self.root );
215
+ console.debug('framework version path: ' + self.versionPath);
378
216
  console.debug('Is this a global install: '+ self.isGlobalInstall);
379
217
 
380
218
  done();
@@ -437,7 +275,7 @@ function PreInstall() {
437
275
  // }
438
276
  // // from `/usr/local` -> `~/.npm-global`
439
277
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
440
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
278
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
441
279
  // .catch(function onError(err){
442
280
  // if (err) {
443
281
  // console.warn('try to run: sudo ' + cmd);
@@ -449,7 +287,7 @@ function PreInstall() {
449
287
  // var profilePathObj = new _(profilePath);
450
288
  // if ( !profilePathObj.existsSync() ) {
451
289
  // cmd = 'touch '+ profilePath;
452
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
290
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
453
291
  // .catch(function onError(err){
454
292
  // if (err) {
455
293
  // console.warn('try to run: sudo ' + cmd);
@@ -490,8 +328,8 @@ function PreInstall() {
490
328
 
491
329
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
492
330
 
493
- console.debug('Checking if Gina is already installed: '+ self.isGinaInstall);
494
- if (!self.isGinaInstall) {
331
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
332
+ if (!self.isGinaInstalled) {
495
333
  return done();
496
334
  }
497
335
 
@@ -505,24 +343,30 @@ function PreInstall() {
505
343
  return done();
506
344
  }
507
345
 
508
- var frameworkPath = __dirname +'/..';
509
- helpers = require(frameworkPath+ '/utils/helpers');
510
- lib = require('./lib');
346
+ var frameworkPath = self.versionPath;
347
+ try {
348
+ helpers = require(self.gina+ '/utils/helper');
349
+ lib = require('./lib');
350
+ console = lib.logger;
351
+ } catch (err) {
352
+ return done(err)
353
+ }
354
+
511
355
 
512
- console = lib.logger;
513
- self.path = getEnvVar('GINA_FRAMEWORK');
514
- self.gina = getEnvVar('GINA_DIR');
515
- self.root = self.gina; // by default
356
+
357
+ // root
358
+ // self.gina = getEnvVar('GINA_DIR');
359
+ // self.versionPath = getEnvVar('GINA_FRAMEWORK');
516
360
 
517
361
  // check if framework version folder is found
518
- var versionsFolders = null, frameworkPath = null;
362
+ var versionsFolders = null, frameworkFolder = null;
519
363
  try {
520
- frameworkPath = _(self.root +'/framework', true);
521
- console.info('frameworkPath: ', frameworkPath);
522
- if ( !new _(frameworkPath).existsSync() ) {
364
+ frameworkFolder = _(self.gina +'/framework', true);
365
+ console.debug('frameworkFolder: ', frameworkFolder);
366
+ if ( !existsSync(frameworkFolder) ) {
523
367
  return done();
524
368
  }
525
- versionsFolders = fs.readdirSync(frameworkPath);
369
+ versionsFolders = fs.readdirSync(frameworkFolder);
526
370
  } catch (err) {
527
371
  // do nothing
528
372
  }
@@ -574,13 +418,234 @@ function PreInstall() {
574
418
  });
575
419
 
576
420
  if (err) {
577
- throw err;
421
+ return done(err);
578
422
  }
579
423
  }
580
424
  // It is not required to update `~/.gina/main.json` && `~/.gina/{shortVersion}/settings.json`
581
425
  done()
582
426
  }
583
427
 
428
+ var isWin32 = function() {
429
+ return (process.platform === 'win32') ? true : false;
430
+ };
431
+
432
+ var existsSync = function(path) {
433
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
434
+ try {
435
+ fs.accessSync(path, fs.constants.F_OK);
436
+ return true;
437
+ } catch (err) {
438
+ return false;
439
+ }
440
+ } else { // support for old version of nodejs
441
+ return fs.existsSync(path);
442
+ }
443
+ }
444
+
445
+ var isWritableSync = function(path) {
446
+ var canWrite = false;
447
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
448
+ try {
449
+ fs.accessSync(path, fs.constants.W_OK);
450
+ canWrite = true;
451
+ } catch (err) {
452
+ canWrite = false;
453
+ }
454
+ } else { // support for old version of nodejs
455
+
456
+ try {
457
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
458
+ } catch (err) {
459
+ canWrite = false
460
+ }
461
+ }
462
+
463
+ return canWrite
464
+ };
465
+
466
+ /**
467
+ * Get run\lock path
468
+ * @returns {string} rundir
469
+ * */
470
+ var getRunDir = function(prefix) {
471
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
472
+ prefix = self.defaultPrefix;
473
+ }
474
+
475
+ // Trying to retrieve original value if already defined
476
+ // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
477
+ var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
478
+
479
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
480
+ runDir = getUserHome() +'/.gina/run';
481
+ if ( !existsSync(runDir) ) {
482
+ fs.mkdirSync(runDir)
483
+ }
484
+
485
+ return runDir
486
+ }
487
+
488
+ if ( existsSync(runDir) ) {
489
+ if ( !isWritableSync(runDir) ) {
490
+ throw new Error('location `'+ runDir +'` found but not writable !' )
491
+ }
492
+
493
+ runDir += ( isWin32() ) ? '' : '/gina'
494
+ if ( !existsSync(runDir) ) {
495
+ fs.mkdirSync(runDir)
496
+ }
497
+
498
+ return runDir;
499
+ }
500
+
501
+ try {
502
+ //by default.
503
+ runDir = prefix+'/var';
504
+ if ( !existsSync(runDir) ) {
505
+ fs.mkdirSync(runDir)
506
+ }
507
+ runDir += '/run';
508
+ if ( !existsSync(runDir) ) {
509
+ fs.mkdirSync(runDir)
510
+ }
511
+ } catch (err) {
512
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
513
+ }
514
+
515
+ if (self.optionalPrefix != prefix) {
516
+ runDir += ( isWin32() ) ? '\\gina' : '/gina'
517
+ if ( !existsSync(runDir) ) {
518
+ fs.mkdirSync(runDir)
519
+ }
520
+ }
521
+
522
+ return runDir;
523
+ };
524
+
525
+ var getTmpDir = function(prefix) {
526
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
527
+ prefix = self.defaultPrefix;
528
+ }
529
+ // support for node 0.10.x & 0.11.x
530
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
531
+ var tmpDir = null;
532
+ if ( isWin32() ) {
533
+ tmpDir = process.env.TEMP ||
534
+ process.env.TMP ||
535
+ (process.env.SystemRoot || process.env.windir) + '\\Temp'
536
+ ;
537
+ } else {
538
+ tmpDir = process.env.TMPDIR ||
539
+ process.env.TMP ||
540
+ process.env.TEMP ||
541
+ prefix+'/var/tmp'
542
+ ;
543
+
544
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
545
+ tmpDir = getUserHome() +'/.gina/tmp';
546
+ if ( !existsSync(tmpDir) ) {
547
+ fs.mkdirSync(tmpDir)
548
+ }
549
+ }
550
+
551
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
552
+ fs.mkdirSync(prefix+'/var');
553
+ }
554
+ }
555
+
556
+ if ( !existsSync(tmpDir) ) {
557
+ fs.mkdirSync(tmpDir);
558
+ }
559
+
560
+ return tmpDir
561
+ };
562
+
563
+ return tmp()
564
+ };
565
+
566
+ /**
567
+ * Get log path - %SystemRoot%\system32\winevt\logs or /
568
+ *
569
+ * @returns {string} logPath
570
+ * */
571
+ var getLogDir = function(prefix) {
572
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
573
+ prefix = self.defaultPrefix;
574
+ }
575
+ // Trying to retrieve original value if already defined
576
+ var logDir = null;
577
+
578
+ if ( isWin32() ) {
579
+ logDir = process.env.LOG ||
580
+ process.env.LOGS ||
581
+ (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
582
+ ;
583
+
584
+ if ( !logDir || logDir == '' ) {
585
+ throw new Error('Log directory not defined or not found !');
586
+ }
587
+
588
+ if ( !isWritableSync(logDir) ) {
589
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
590
+ }
591
+
592
+ if ( !/gina$/.test(logDir) ) {
593
+ logDir += '\\gina'
594
+ }
595
+ } else {
596
+ logDir = process.env.LOGDIR ||
597
+ process.env.LOG ||
598
+ process.env.LOGS ||
599
+ prefix+'/var/log'
600
+ ;
601
+
602
+ if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
603
+ logDir = getUserHome() +'/.gina/log';
604
+ if ( !existsSync(logDir) ) {
605
+ fs.mkdirSync(logDir)
606
+ }
607
+
608
+ return logDir
609
+ }
610
+
611
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
612
+ fs.mkdirSync(prefix+'/var');
613
+ }
614
+
615
+ if ( !existsSync(logDir) ) {
616
+ fs.mkdirSync(logDir);
617
+ }
618
+
619
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
620
+ logDir += '/gina'
621
+ }
622
+ }
623
+
624
+ if ( !existsSync(logDir) ) {
625
+ fs.mkdirSync(logDir)
626
+ }
627
+
628
+ return logDir;
629
+ };
630
+
631
+ var getUserHome = function() {
632
+ var home = os.homedir ? os.homedir : function() {
633
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
634
+
635
+ if ( !homeDir || homeDir == '' ) {
636
+ throw new Error('Home directory not defined or not found !');
637
+ }
638
+
639
+ if ( !isWritableSync(homeDir) ) {
640
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
641
+ }
642
+
643
+ return homeDir;
644
+ };
645
+
646
+ return home()
647
+ };
648
+
584
649
  init()
585
650
  }
586
651