gina 0.1.1-alpha.92 → 0.1.1-alpha.95

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 (281) hide show
  1. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/AUTHORS +0 -0
  2. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/LICENSE +0 -0
  3. package/framework/v0.1.1-alpha.95/VERSION +1 -0
  4. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/html/nolayout.html +0 -0
  5. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/html/static.html +0 -0
  6. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/android-chrome-192x192.png +0 -0
  7. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/android-chrome-512x512.png +0 -0
  8. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/apple-touch-icon.png +0 -0
  9. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/favicon-16x16.png +0 -0
  10. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/favicon-32x32.png +0 -0
  11. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/img/favicon.ico +0 -0
  12. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.js +0 -0
  13. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.js.map +0 -0
  14. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.css +0 -0
  15. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.css.map +0 -0
  16. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.js +0 -0
  17. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.min.js.map +0 -0
  18. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.onload.min.js +0 -0
  19. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -0
  20. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/readme.md +0 -0
  21. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/asset/js/plugin/uuid.json +0 -0
  22. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/config.js +0 -0
  23. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/index.js +0 -0
  24. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.js +0 -0
  25. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  26. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  27. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/n1ql.js +0 -0
  28. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.js +0 -0
  29. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  30. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  31. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/controller/controller.framework.js +0 -0
  32. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/controller/controller.js +0 -0
  33. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/controller/index.js +0 -0
  34. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/.travis.yml +0 -0
  35. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/LICENSE +0 -0
  36. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/README.md +0 -0
  37. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  38. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  39. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/lib/main.js +0 -0
  40. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/lib/types/multipart.js +0 -0
  41. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  42. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/lib/utils.js +0 -0
  43. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/busboy/package.json +0 -0
  44. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  45. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/dev/index.js +0 -0
  46. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/dev/lib/class.js +0 -0
  47. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/dev/lib/factory.js +0 -0
  48. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/dev/lib/tools.js +0 -0
  49. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/gna.js +0 -0
  50. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/README.md +0 -0
  51. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/currency.json +0 -0
  52. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/dist/language/en.json +0 -0
  53. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/dist/language/fr.json +0 -0
  54. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/dist/region/en.json +0 -0
  55. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/dist/region/fr.json +0 -0
  56. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/index.js +0 -0
  57. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/src/make.js +0 -0
  58. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/src/resources/currency.csv +0 -0
  59. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/src/resources/region.csv +0 -0
  60. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/locales/src/resources/region.mapping.json +0 -0
  61. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/mime.types +0 -0
  62. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/model/entity.js +0 -0
  63. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/model/index.js +0 -0
  64. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/model/template/entityFactory.js +0 -0
  65. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/model/template/index.js +0 -0
  66. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/README.md +0 -0
  67. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/index.js +0 -0
  68. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/file/README.md +0 -0
  69. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/file/build.json +0 -0
  70. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/file/package.json +0 -0
  71. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/intl/README.md +0 -0
  72. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/intl/build.json +0 -0
  73. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/intl/package.json +0 -0
  74. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/intl/src/main.js +0 -0
  75. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/storage/README.md +0 -0
  76. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/storage/build.json +0 -0
  77. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/storage/package.json +0 -0
  78. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/storage/src/main.js +0 -0
  79. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/validator/README.md +0 -0
  80. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/validator/build.json +0 -0
  81. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/validator/package.json +0 -0
  82. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/validator/src/form-validator.js +0 -0
  83. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/plugins/lib/validator/src/main.js +0 -0
  84. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/router.js +0 -0
  85. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/server.express.js +0 -0
  86. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/server.isaac.js +0 -0
  87. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/server.js +0 -0
  88. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/status.codes +0 -0
  89. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/app.json +0 -0
  90. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/routing.json +0 -0
  91. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/settings.json +0 -0
  92. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  93. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/config/templates.json +0 -0
  94. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  95. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  96. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  97. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle/index.js +0 -0
  98. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  99. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  100. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  101. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  102. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  103. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_public/readme.md +0 -0
  104. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  105. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/html/homepage.html +0 -0
  106. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/boilerplate/bundle_templates/html/layout/main.html +0 -0
  107. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/command/gina.bat.tpl +0 -0
  108. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/command/gina.tpl +0 -0
  109. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/env.json +0 -0
  110. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/manifest.json +0 -0
  111. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/package.json +0 -0
  112. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/settings.json +0 -0
  113. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/statics.json +0 -0
  114. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/conf/templates.json +0 -0
  115. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/client/json/401.json +0 -0
  116. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/client/json/403.json +0 -0
  117. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/client/json/404.json +0 -0
  118. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/server/html/50x.html +0 -0
  119. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/server/json/500.json +0 -0
  120. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/error/server/json/503.json +0 -0
  121. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/core/template/extensions/logger/config.json +0 -0
  122. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/console.js +0 -0
  123. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/context.js +0 -0
  124. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/dateFormat.js +0 -0
  125. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/index.js +0 -0
  126. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/json/README.md +0 -0
  127. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/json/package.json +0 -0
  128. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/json/src/main.js +0 -0
  129. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/path.js +81 -76
  130. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/plugins/README.md +0 -0
  131. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/plugins/package.json +0 -0
  132. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/plugins/src/api-error.js +0 -0
  133. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/plugins/src/main.js +0 -0
  134. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/prototypes.js +0 -0
  135. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/task.js +0 -0
  136. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/helpers/text.js +0 -0
  137. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/archiver/README.md +0 -0
  138. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/archiver/build.json +0 -0
  139. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/archiver/package.json +0 -0
  140. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/archiver/src/dep/jszip.min.js +0 -0
  141. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/archiver/src/main.js +0 -0
  142. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/aliases.json +0 -0
  143. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/add.js +0 -0
  144. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/arguments.json +0 -0
  145. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/copy.js +0 -0
  146. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/cp.js +0 -0
  147. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/help.js +0 -0
  148. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/help.txt +0 -0
  149. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/list.js +0 -0
  150. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/remove.js +0 -0
  151. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/rename.js +0 -0
  152. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/restart.js +0 -0
  153. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/rm.js +0 -0
  154. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/start.js +0 -0
  155. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/status.js +0 -0
  156. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/bundle/stop.js +0 -0
  157. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/add.js +0 -0
  158. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/get.js +0 -0
  159. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/help.js +0 -0
  160. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/help.txt +0 -0
  161. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/link-dev.js +0 -0
  162. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/list.js +0 -0
  163. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/remove.js +0 -0
  164. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/rm.js +0 -0
  165. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/set.js +0 -0
  166. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/unset.js +0 -0
  167. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/env/use.js +0 -0
  168. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/dot.js +0 -0
  169. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/get.js +0 -0
  170. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/help.js +0 -0
  171. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/help.txt +0 -0
  172. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/init.js +1 -1
  173. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/msg.json +0 -0
  174. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/open.js +0 -0
  175. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/restart.js +0 -0
  176. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/set.js +0 -0
  177. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/start.js +0 -0
  178. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/status.js +0 -0
  179. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/stop.js +0 -0
  180. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/tail.js +0 -0
  181. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/update.js +0 -0
  182. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/framework/version.js +0 -0
  183. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/gina-dev.1.md +0 -0
  184. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/gina-framework.1.md +0 -0
  185. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/gina.1.md +0 -0
  186. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/helper.js +0 -0
  187. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/index.js +0 -0
  188. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/msg.json +0 -0
  189. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/port/help.js +0 -0
  190. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/port/help.txt +0 -0
  191. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/port/inc/scan.js +0 -0
  192. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/port/list.js +0 -0
  193. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/port/set.js +0 -0
  194. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/add.js +0 -0
  195. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/arguments.json +0 -0
  196. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/build.js +0 -0
  197. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/help.js +0 -0
  198. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/help.txt +0 -0
  199. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/import.js +0 -0
  200. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/list.js +0 -0
  201. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/move.js +0 -0
  202. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/remove.js +0 -0
  203. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/rename.js +0 -0
  204. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/restart.js +0 -0
  205. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/rm.js +0 -0
  206. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/start.js +0 -0
  207. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/status.js +0 -0
  208. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/project/stop.js +0 -0
  209. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/protocol/help.js +0 -0
  210. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/protocol/help.txt +0 -0
  211. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/protocol/list.js +0 -0
  212. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/protocol/set.js +0 -0
  213. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/help.js +0 -0
  214. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/help.txt +0 -0
  215. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/link-local.js +0 -0
  216. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/list.js +0 -0
  217. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/remove.js +0 -0
  218. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/rm.js +0 -0
  219. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/set.js +0 -0
  220. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/unset.js +0 -0
  221. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/scope/use.js +0 -0
  222. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cmd/view/add.js +0 -0
  223. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/collection/README.md +0 -0
  224. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/collection/build.json +0 -0
  225. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/collection/package.json +0 -0
  226. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/collection/src/main.js +0 -0
  227. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/config.js +0 -0
  228. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cron/README.md +0 -0
  229. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cron/package.json +0 -0
  230. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/cron/src/main.js +0 -0
  231. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/generator/index.js +0 -0
  232. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/index.js +0 -0
  233. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/LICENSE +0 -0
  234. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/README.md +0 -0
  235. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  236. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/example/protected_inheritance.js +0 -0
  237. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/example/simple_inheritance.js +0 -0
  238. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  239. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/package.json +0 -0
  240. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/inherits/src/main.js +0 -0
  241. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/README.md +0 -0
  242. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/package.json +0 -0
  243. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/default/index.js +0 -0
  244. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/file/index.js +0 -0
  245. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  246. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  247. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/index.js +0 -0
  248. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/listener.js +0 -0
  249. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/containers/mq/speaker.js +0 -0
  250. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/helper.js +0 -0
  251. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/logger/src/main.js +0 -0
  252. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/math/index.js +0 -0
  253. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/README.md +0 -0
  254. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/example/merge.js +0 -0
  255. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/example/merge_2_literal objects.js +0 -0
  256. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/example/merge_and_preserve_first.js +0 -0
  257. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/package.json +0 -0
  258. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/merge/src/main.js +0 -0
  259. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/model.js +0 -0
  260. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/proc.js +0 -0
  261. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/routing/README.md +0 -0
  262. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/routing/build.json +0 -0
  263. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/routing/package.json +0 -0
  264. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/routing/src/main.js +0 -0
  265. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/session-store.js +0 -0
  266. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/shell.js +0 -0
  267. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/swig-filters/README.md +0 -0
  268. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/swig-filters/package.json +0 -0
  269. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/swig-filters/src/main.js +0 -0
  270. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/url/README.md +0 -0
  271. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/url/index.js +0 -0
  272. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/url/mocks.json +0 -0
  273. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/url/routing.json +0 -0
  274. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/url/test.js +0 -0
  275. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/lib/validator.js +0 -0
  276. package/framework/{v0.1.1-alpha.92 → v0.1.1-alpha.95}/package.json +0 -0
  277. package/package.json +18 -11
  278. package/script/post_install.js +260 -86
  279. package/script/pre_install.js +337 -273
  280. package/utils/helper.js +25 -9
  281. package/framework/v0.1.1-alpha.92/VERSION +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This file is part of the gina package.
2
+ * This file is part of the gina pkg.
3
3
  * Copyright (c) 2017 Rhinostone <contact@gina.io>
4
4
  *
5
5
  * For the full copyright and license information, please view the LICENSE
@@ -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,14 +31,33 @@ 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
+ }
252
40
 
253
- self.isGlobalInstall = false;
254
- self.isResetNeeded = process.env.npm_config_reset || false;
255
- self.isGinaInstall = false;
256
- self.prefix = process.env.npm_config_prefix || execSync('npm config get prefix').toString().replace(/\n/g, '');
257
- self.isCustomPrefix = false;
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
+ var pkg = null;
46
+ try {
47
+ pkg = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
48
+ } catch(err) {
49
+ throw err
50
+ }
51
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
52
+ // self.optionalPrefix = getUserHome()+'/.npm-global';
53
+
54
+ // `process.env.npm_config_prefix` is only retrieved on `npm install gina`
55
+ // and it should always be equal to `self.defaultPrefix`
56
+ self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
57
+ self.isCustomPrefix = false;
58
+ self.isGinaInstalled = false;
258
59
 
60
+ // Overriding thru passed arguments
259
61
  var args = process.argv, i = 0, len = args.length;
260
62
  for (; i < len; ++i) {
261
63
  if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
@@ -271,42 +73,86 @@ function PreInstall() {
271
73
  if ( /^\-\-prefix\=/.test(args[i] ) ) {
272
74
  self.isCustomPrefix = true;
273
75
  self.prefix = args[i].split(/\=/)[1];
76
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
274
77
  continue;
275
78
  }
276
79
  }
277
80
 
278
- // process.env.npm_config_prefix = self.prefix;
81
+ // For local install
82
+ console.debug('self.isGlobalInstall => '+ self.isGlobalInstall);
83
+ if ( !self.isGlobalInstall ) {
84
+ console.warn('Local installation is not fully supported at the moment.');
85
+ 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');
86
+ // Just in case someone is trying to run pre_install from the `gina` module
87
+ if (!/node\_modules(\\\\|\/)gina$/.test(process.cwd())) {
88
+ self.prefix = process.cwd();
89
+ }
90
+ }
91
+
92
+ // checking permission
93
+ var hasPermissionsForBin = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin');
94
+ var hasPermissionsForLib = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib');
95
+ var hasPermissionsForVar = isWritableSync(self.prefix + ( isWin32() ? '\\' : '/' ) + 'var');
96
+ if ( !hasPermissionsForBin || !hasPermissionsForLib || !hasPermissionsForVar) {
97
+ if (!hasPermissionsForBin) {
98
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'bin')
99
+ }
100
+ if (!hasPermissionsForLib) {
101
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'lib')
102
+ }
103
+ if (!hasPermissionsForVar) {
104
+ console.warn('Path not accessible or missing: '+ self.prefix + ( isWin32() ? '\\' : '/' ) + 'var')
105
+ }
279
106
 
280
- console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
281
- if (
282
- // process.env.npm_config_prefix
283
- // &&
284
- self.prefix != process.env.npm_config_prefix
285
- ) {
286
- // self.prefix = process.env.npm_config_prefix.toString();
287
- self.isCustomPrefix = true;
107
+ console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
108
+ process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
288
109
  }
289
110
 
290
- if ( !self.isGlobalInstall ) { // none global install
291
- self.prefix = process.cwd();
292
- // self.root = process.cwd(); // project path
293
- // self.tmpDir = os.tmpdir(); // default tmp path
294
- // console.error('local installation is not supported for this version at the moment.');
295
- // console.info('please use `npm install -g gina`\n or\nif you are trying to link gina to your project, use `npm link gina` if Gina has already been installed');
296
- // process.exit(1);
111
+ if ( self.prefix != self.defaultPrefix ) {
112
+ self.isCustomPrefix = true;
297
113
  }
114
+
115
+ self.gina = __dirname +'/..';
116
+ // tying to figure out if gina is already install the given prefix
117
+ // var hasFoundGina = execSync('npm list -g gina --long --json').toString().replace(/\n$/g, '');
118
+ var hasFoundGina = pkg;
119
+ try {
120
+ hasFoundGina = JSON.parse(hasFoundGina);
121
+ if ( hasFoundGina.dependencies && typeof(hasFoundGina.dependencies.gina) != 'undefined' ) {
122
+ self.isGinaInstalled = true;
123
+ self.versionPath = self.gina;
124
+ self.versionPath += (isWin32()) ? '\\framework\\' : '/framework/';
125
+ self.versionPath += 'v'+ hasFoundGina.dependencies.gina.version;
126
+
127
+ console.debug('Install path => '+ hasFoundGina.dependencies.gina.path);
128
+
129
+ // OK ... found installed gina but on a different prefix
130
+ // In this case, let's assume that it is not really installed
131
+ if ( !new RegExp('^'+ self.prefix).test(hasFoundGina.dependencies.gina.path) ) {
132
+ self.isGinaInstalled = false;
133
+ }
134
+ }
135
+ } catch (err) {}
136
+
137
+ console.debug('self.defaultPrefix => '+ self.defaultPrefix);
138
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
298
139
  console.debug('self.prefix => '+ self.prefix);
140
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
141
+ // only available when running the script with NPM
142
+ console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
143
+ }
144
+
145
+ var init = function() {
299
146
 
147
+ configure();
300
148
 
301
149
  begin(0);
302
- // TODO check old framework version to be archived
303
150
  }
304
151
 
305
152
  /**
306
153
  * Bebin - Will run checking tasks in order of declaration
307
154
  * */
308
155
  var begin = async function(i) {
309
- //console.debug('i is ', i);
310
156
  var n = 0, funct = null, functName = null;
311
157
  for (let t in self) {
312
158
  if ( typeof(self[t]) == 'function') {
@@ -333,10 +179,6 @@ function PreInstall() {
333
179
 
334
180
 
335
181
  self.checkRequirements = async function(done) {
336
- // TODO - handle windows case
337
- if ( /^true$/i.test(isWin32()) ) {
338
- return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
339
- }
340
182
 
341
183
  var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
342
184
  if ( self.isResetNeeded && existsSync(ginaHome) ) {
@@ -346,28 +188,23 @@ function PreInstall() {
346
188
 
347
189
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
348
190
  var initialDir = process.cwd();
349
- var frameworkPath = __dirname +'/..';
350
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
351
- process.chdir(frameworkPath);
191
+
192
+ if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
193
+ process.chdir(self.gina);
194
+
352
195
  var oldConfigGlobal = process.env.npm_config_global;
353
196
  process.env.npm_config_global=false;
354
197
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
355
198
  execSync(cmd);
356
- process.chdir(initialDir);
357
199
  process.env.npm_config_global=oldConfigGlobal;
358
- }
359
200
 
360
-
361
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
362
- return done();
201
+ process.chdir(initialDir);
363
202
  }
364
203
 
365
- self.isWin32 = isWin32();
366
204
 
367
205
 
368
206
  console.debug('framework path: ' + self.gina);
369
- console.debug('framework version path: ' + self.path);
370
- console.debug('cwd path: ' + self.root );
207
+ console.debug('framework version path: ' + self.versionPath);
371
208
  console.debug('Is this a global install: '+ self.isGlobalInstall);
372
209
 
373
210
  done();
@@ -430,7 +267,7 @@ function PreInstall() {
430
267
  // }
431
268
  // // from `/usr/local` -> `~/.npm-global`
432
269
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
433
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
270
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
434
271
  // .catch(function onError(err){
435
272
  // if (err) {
436
273
  // console.warn('try to run: sudo ' + cmd);
@@ -442,7 +279,7 @@ function PreInstall() {
442
279
  // var profilePathObj = new _(profilePath);
443
280
  // if ( !profilePathObj.existsSync() ) {
444
281
  // cmd = 'touch '+ profilePath;
445
- // await promisify(run)(cmd, { cwd: _(self.path), tmp: _(self.root +'/tmp'), outToProcessSTD: true })
282
+ // await promisify(run)(cmd, { cwd: _(self.path), tmp: getTmpDir(self.prefix);, outToProcessSTD: true })
446
283
  // .catch(function onError(err){
447
284
  // if (err) {
448
285
  // console.warn('try to run: sudo ' + cmd);
@@ -483,8 +320,8 @@ function PreInstall() {
483
320
 
484
321
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
485
322
 
486
- console.debug('Checking if Gina is already installed: '+ self.isGinaInstall);
487
- if (!self.isGinaInstall) {
323
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
324
+ if (!self.isGinaInstalled) {
488
325
  return done();
489
326
  }
490
327
 
@@ -498,24 +335,30 @@ function PreInstall() {
498
335
  return done();
499
336
  }
500
337
 
501
- var frameworkPath = __dirname +'/..';
502
- helpers = require(frameworkPath+ '/utils/helpers');
503
- lib = require('./lib');
338
+ var frameworkPath = self.versionPath;
339
+ try {
340
+ helpers = require(self.gina+ '/utils/helper');
341
+ lib = require('./lib');
342
+ console = lib.logger;
343
+ } catch (err) {
344
+ throw err
345
+ }
346
+
504
347
 
505
- console = lib.logger;
506
- self.path = getEnvVar('GINA_FRAMEWORK');
507
- self.gina = getEnvVar('GINA_DIR');
508
- self.root = self.gina; // by default
348
+
349
+ // root
350
+ // self.gina = getEnvVar('GINA_DIR');
351
+ // self.versionPath = getEnvVar('GINA_FRAMEWORK');
509
352
 
510
353
  // check if framework version folder is found
511
- var versionsFolders = null, frameworkPath = null;
354
+ var versionsFolders = null, frameworkFolder = null;
512
355
  try {
513
- frameworkPath = _(self.root +'/framework', true);
514
- console.info('frameworkPath: ', frameworkPath);
515
- if ( !new _(frameworkPath).existsSync() ) {
356
+ frameworkFolder = _(self.gina +'/framework', true);
357
+ console.debug('frameworkFolder: ', frameworkFolder);
358
+ if ( !existsSync(frameworkFolder) ) {
516
359
  return done();
517
360
  }
518
- versionsFolders = fs.readdirSync(frameworkPath);
361
+ versionsFolders = fs.readdirSync(frameworkFolder);
519
362
  } catch (err) {
520
363
  // do nothing
521
364
  }
@@ -574,6 +417,227 @@ function PreInstall() {
574
417
  done()
575
418
  }
576
419
 
420
+ var isWin32 = function() {
421
+ return (process.platform === 'win32') ? true : false;
422
+ };
423
+
424
+ var existsSync = function(path) {
425
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
426
+ try {
427
+ fs.accessSync(path, fs.constants.F_OK);
428
+ return true;
429
+ } catch (err) {
430
+ return false;
431
+ }
432
+ } else { // support for old version of nodejs
433
+ return fs.existsSync(path);
434
+ }
435
+ }
436
+
437
+ var isWritableSync = function(path) {
438
+ var canWrite = false;
439
+ if ( fs.accessSync && typeof(fs.accessSync) != 'undefined' ) {
440
+ try {
441
+ fs.accessSync(path, fs.constants.W_OK);
442
+ canWrite = true;
443
+ } catch (err) {
444
+ canWrite = false;
445
+ }
446
+ } else { // support for old version of nodejs
447
+
448
+ try {
449
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
450
+ } catch (err) {
451
+ canWrite = false
452
+ }
453
+ }
454
+
455
+ return canWrite
456
+ };
457
+
458
+ /**
459
+ * Get run\lock path
460
+ * @returns {string} rundir
461
+ * */
462
+ var getRunDir = function(prefix) {
463
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
464
+ prefix = self.defaultPrefix;
465
+ }
466
+
467
+ // Trying to retrieve original value if already defined
468
+ // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
469
+ var runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix+'/var/lock';
470
+
471
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !isWritableSync(prefix) ) {
472
+ runDir = getUserHome() +'/.gina/run';
473
+ if ( !existsSync(runDir) ) {
474
+ fs.mkdirSync(runDir)
475
+ }
476
+
477
+ return runDir
478
+ }
479
+
480
+ if ( existsSync(runDir) ) {
481
+ if ( !isWritableSync(runDir) ) {
482
+ throw new Error('location `'+ runDir +'` found but not writable !' )
483
+ }
484
+
485
+ runDir += ( isWin32() ) ? '' : '/gina'
486
+ if ( !existsSync(runDir) ) {
487
+ fs.mkdirSync(runDir)
488
+ }
489
+
490
+ return runDir;
491
+ }
492
+
493
+ try {
494
+ //by default.
495
+ runDir = prefix+'/var';
496
+ if ( !existsSync(runDir) ) {
497
+ fs.mkdirSync(runDir)
498
+ }
499
+ runDir += '/run';
500
+ if ( !existsSync(runDir) ) {
501
+ fs.mkdirSync(runDir)
502
+ }
503
+ } catch (err) {
504
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
505
+ }
506
+
507
+ if (self.optionalPrefix != prefix) {
508
+ runDir += ( isWin32() ) ? '\\gina' : '/gina'
509
+ if ( !existsSync(runDir) ) {
510
+ fs.mkdirSync(runDir)
511
+ }
512
+ }
513
+
514
+ return runDir;
515
+ };
516
+
517
+ var getTmpDir = function(prefix) {
518
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
519
+ prefix = '/usr/local'
520
+ }
521
+ // support for node 0.10.x & 0.11.x
522
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
523
+ var tmpDir = null;
524
+ if ( isWin32() ) {
525
+ tmpDir = process.env.TEMP ||
526
+ process.env.TMP ||
527
+ (process.env.SystemRoot || process.env.windir) + '\\Temp'
528
+ ;
529
+ } else {
530
+ tmpDir = process.env.TMPDIR ||
531
+ process.env.TMP ||
532
+ process.env.TEMP ||
533
+ prefix+'/var/tmp'
534
+ ;
535
+
536
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
537
+ tmpDir = getUserHome() +'/.gina/tmp';
538
+ if ( !existsSync(tmpDir) ) {
539
+ fs.mkdirSync(tmpDir)
540
+ }
541
+ }
542
+
543
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
544
+ fs.mkdirSync(prefix+'/var');
545
+ }
546
+ }
547
+
548
+ if ( !existsSync(tmpDir) ) {
549
+ fs.mkdirSync(tmpDir);
550
+ }
551
+
552
+ return tmpDir
553
+ };
554
+
555
+ return tmp()
556
+ };
557
+
558
+ /**
559
+ * Get log path - %SystemRoot%\system32\winevt\logs or /
560
+ *
561
+ * @returns {string} logPath
562
+ * */
563
+ var getLogDir = function(prefix) {
564
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
565
+ prefix = '/usr/local'
566
+ }
567
+ // Trying to retrieve original value if already defined
568
+ var logDir = null;
569
+
570
+ if ( isWin32() ) {
571
+ logDir = process.env.LOG ||
572
+ process.env.LOGS ||
573
+ (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
574
+ ;
575
+
576
+ if ( !logDir || logDir == '' ) {
577
+ throw new Error('Log directory not defined or not found !');
578
+ }
579
+
580
+ if ( !isWritableSync(logDir) ) {
581
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
582
+ }
583
+
584
+ if ( !/gina$/.test(logDir) ) {
585
+ logDir += '\\gina'
586
+ }
587
+ } else {
588
+ logDir = process.env.LOGDIR ||
589
+ process.env.LOG ||
590
+ process.env.LOGS ||
591
+ prefix+'/var/log'
592
+ ;
593
+
594
+ if ( new RegExp('^'+ prefix).test(logDir) && !isWritableSync(prefix) ) {
595
+ logDir = getUserHome() +'/.gina/log';
596
+ if ( !existsSync(logDir) ) {
597
+ fs.mkdirSync(logDir)
598
+ }
599
+
600
+ return logDir
601
+ }
602
+
603
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !existsSync(prefix+'/var') ) {
604
+ fs.mkdirSync(prefix+'/var');
605
+ }
606
+
607
+ if ( !existsSync(logDir) ) {
608
+ fs.mkdirSync(logDir);
609
+ }
610
+
611
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
612
+ logDir += '/gina'
613
+ }
614
+ }
615
+
616
+ if ( !existsSync(logDir) ) {
617
+ fs.mkdirSync(logDir)
618
+ }
619
+
620
+ return logDir;
621
+ };
622
+
623
+ var getUserHome = function() {
624
+ var home = os.homedir ? os.homedir : function() {
625
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
626
+
627
+ if ( !homeDir || homeDir == '' ) {
628
+ throw new Error('Home directory not defined or not found !');
629
+ }
630
+
631
+ if ( !isWritableSync(homeDir) ) {
632
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
633
+ }
634
+
635
+ return homeDir;
636
+ };
637
+
638
+ return home()
639
+ };
640
+
577
641
  init()
578
642
  }
579
643