gina 0.1.1-alpha.93 → 0.1.1-alpha.96

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 (283) hide show
  1. package/README.md +87 -26
  2. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/AUTHORS +0 -0
  3. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/LICENSE +0 -0
  4. package/framework/v0.1.1-alpha.96/VERSION +1 -0
  5. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/html/nolayout.html +0 -0
  6. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/html/static.html +0 -0
  7. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/android-chrome-192x192.png +0 -0
  8. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/android-chrome-512x512.png +0 -0
  9. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/apple-touch-icon.png +0 -0
  10. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/favicon-16x16.png +0 -0
  11. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/favicon-32x32.png +0 -0
  12. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/img/favicon.ico +0 -0
  13. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.js +0 -0
  14. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.js.map +0 -0
  15. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.min.css +0 -0
  16. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.min.css.map +0 -0
  17. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.min.js +0 -0
  18. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.min.js.map +0 -0
  19. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.onload.min.js +0 -0
  20. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -0
  21. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/readme.md +0 -0
  22. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/asset/js/plugin/uuid.json +0 -0
  23. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/config.js +0 -0
  24. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/index.js +0 -0
  25. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/connector.js +0 -0
  26. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  27. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  28. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/n1ql.js +0 -0
  29. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/session-store.js +0 -0
  30. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  31. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  32. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/controller/controller.framework.js +0 -0
  33. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/controller/controller.js +0 -0
  34. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/controller/index.js +0 -0
  35. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/.travis.yml +0 -0
  36. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/LICENSE +0 -0
  37. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/README.md +0 -0
  38. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  39. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  40. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/lib/main.js +0 -0
  41. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/lib/types/multipart.js +0 -0
  42. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  43. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/lib/utils.js +0 -0
  44. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/busboy/package.json +0 -0
  45. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  46. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/dev/index.js +0 -0
  47. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/dev/lib/class.js +0 -0
  48. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/dev/lib/factory.js +0 -0
  49. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/dev/lib/tools.js +0 -0
  50. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/gna.js +0 -0
  51. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/README.md +0 -0
  52. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/currency.json +0 -0
  53. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/dist/language/en.json +0 -0
  54. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/dist/language/fr.json +0 -0
  55. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/dist/region/en.json +0 -0
  56. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/dist/region/fr.json +0 -0
  57. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/index.js +0 -0
  58. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/src/make.js +0 -0
  59. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/src/resources/currency.csv +0 -0
  60. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/src/resources/region.csv +0 -0
  61. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/locales/src/resources/region.mapping.json +0 -0
  62. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/mime.types +0 -0
  63. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/model/entity.js +0 -0
  64. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/model/index.js +0 -0
  65. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/model/template/entityFactory.js +0 -0
  66. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/model/template/index.js +0 -0
  67. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/README.md +0 -0
  68. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/index.js +0 -0
  69. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/file/README.md +0 -0
  70. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/file/build.json +0 -0
  71. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/file/package.json +0 -0
  72. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/intl/README.md +0 -0
  73. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/intl/build.json +0 -0
  74. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/intl/package.json +0 -0
  75. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/intl/src/main.js +0 -0
  76. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/storage/README.md +0 -0
  77. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/storage/build.json +0 -0
  78. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/storage/package.json +0 -0
  79. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/storage/src/main.js +0 -0
  80. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/validator/README.md +0 -0
  81. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/validator/build.json +0 -0
  82. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/validator/package.json +0 -0
  83. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/validator/src/form-validator.js +0 -0
  84. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/plugins/lib/validator/src/main.js +0 -0
  85. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/router.js +0 -0
  86. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/server.express.js +0 -0
  87. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/server.isaac.js +0 -0
  88. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/server.js +0 -0
  89. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/status.codes +0 -0
  90. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/config/app.json +0 -0
  91. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/config/routing.json +0 -0
  92. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/config/settings.json +0 -0
  93. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  94. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/config/templates.json +0 -0
  95. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  96. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  97. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  98. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle/index.js +0 -0
  99. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  100. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  101. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  102. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  103. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  104. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_public/readme.md +0 -0
  105. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  106. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_templates/html/homepage.html +0 -0
  107. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/boilerplate/bundle_templates/html/layout/main.html +0 -0
  108. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/command/gina.bat.tpl +0 -0
  109. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/command/gina.tpl +0 -0
  110. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/env.json +0 -0
  111. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/manifest.json +0 -0
  112. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/package.json +0 -0
  113. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/settings.json +0 -0
  114. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/statics.json +0 -0
  115. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/conf/templates.json +0 -0
  116. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/client/json/401.json +0 -0
  117. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/client/json/403.json +0 -0
  118. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/client/json/404.json +0 -0
  119. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/server/html/50x.html +0 -0
  120. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/server/json/500.json +0 -0
  121. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/error/server/json/503.json +0 -0
  122. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/core/template/extensions/logger/config.json +0 -0
  123. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/console.js +0 -0
  124. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/context.js +0 -0
  125. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/dateFormat.js +0 -0
  126. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/index.js +0 -0
  127. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/json/README.md +0 -0
  128. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/json/package.json +0 -0
  129. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/json/src/main.js +0 -0
  130. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/path.js +81 -76
  131. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/plugins/README.md +0 -0
  132. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/plugins/package.json +0 -0
  133. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/plugins/src/api-error.js +0 -0
  134. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/plugins/src/main.js +0 -0
  135. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/prototypes.js +0 -0
  136. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/task.js +0 -0
  137. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/helpers/text.js +0 -0
  138. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/archiver/README.md +0 -0
  139. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/archiver/build.json +0 -0
  140. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/archiver/package.json +0 -0
  141. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/archiver/src/dep/jszip.min.js +0 -0
  142. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/archiver/src/main.js +0 -0
  143. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/aliases.json +0 -0
  144. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/add.js +0 -0
  145. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/arguments.json +0 -0
  146. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/copy.js +0 -0
  147. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/cp.js +0 -0
  148. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/help.js +0 -0
  149. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/help.txt +0 -0
  150. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/list.js +0 -0
  151. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/remove.js +0 -0
  152. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/rename.js +0 -0
  153. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/restart.js +0 -0
  154. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/rm.js +0 -0
  155. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/start.js +0 -0
  156. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/status.js +0 -0
  157. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/bundle/stop.js +0 -0
  158. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/add.js +0 -0
  159. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/get.js +0 -0
  160. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/help.js +0 -0
  161. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/help.txt +0 -0
  162. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/link-dev.js +0 -0
  163. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/list.js +0 -0
  164. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/remove.js +0 -0
  165. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/rm.js +0 -0
  166. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/set.js +0 -0
  167. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/unset.js +0 -0
  168. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/env/use.js +0 -0
  169. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/dot.js +0 -0
  170. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/get.js +0 -0
  171. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/help.js +0 -0
  172. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/help.txt +0 -0
  173. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/init.js +1 -1
  174. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/msg.json +0 -0
  175. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/open.js +0 -0
  176. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/restart.js +0 -0
  177. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/set.js +0 -0
  178. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/start.js +0 -0
  179. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/status.js +0 -0
  180. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/stop.js +0 -0
  181. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/tail.js +0 -0
  182. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/update.js +0 -0
  183. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/framework/version.js +0 -0
  184. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/gina-dev.1.md +0 -0
  185. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/gina-framework.1.md +0 -0
  186. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/gina.1.md +0 -0
  187. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/helper.js +0 -0
  188. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/index.js +0 -0
  189. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/msg.json +0 -0
  190. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/port/help.js +0 -0
  191. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/port/help.txt +0 -0
  192. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/port/inc/scan.js +0 -0
  193. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/port/list.js +0 -0
  194. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/port/set.js +0 -0
  195. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/add.js +0 -0
  196. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/arguments.json +0 -0
  197. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/build.js +0 -0
  198. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/help.js +0 -0
  199. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/help.txt +0 -0
  200. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/import.js +0 -0
  201. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/list.js +0 -0
  202. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/move.js +0 -0
  203. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/remove.js +0 -0
  204. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/rename.js +0 -0
  205. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/restart.js +0 -0
  206. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/rm.js +0 -0
  207. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/start.js +0 -0
  208. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/status.js +0 -0
  209. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/project/stop.js +0 -0
  210. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/protocol/help.js +0 -0
  211. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/protocol/help.txt +0 -0
  212. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/protocol/list.js +0 -0
  213. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/protocol/set.js +0 -0
  214. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/help.js +0 -0
  215. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/help.txt +0 -0
  216. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/link-local.js +0 -0
  217. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/list.js +0 -0
  218. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/remove.js +0 -0
  219. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/rm.js +0 -0
  220. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/set.js +0 -0
  221. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/unset.js +0 -0
  222. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/scope/use.js +0 -0
  223. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cmd/view/add.js +0 -0
  224. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/collection/README.md +0 -0
  225. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/collection/build.json +0 -0
  226. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/collection/package.json +0 -0
  227. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/collection/src/main.js +0 -0
  228. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/config.js +0 -0
  229. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cron/README.md +0 -0
  230. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cron/package.json +0 -0
  231. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/cron/src/main.js +0 -0
  232. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/generator/index.js +0 -0
  233. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/index.js +0 -0
  234. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/LICENSE +0 -0
  235. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/README.md +0 -0
  236. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  237. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/example/protected_inheritance.js +0 -0
  238. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/example/simple_inheritance.js +0 -0
  239. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  240. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/package.json +0 -0
  241. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/inherits/src/main.js +0 -0
  242. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/README.md +0 -0
  243. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/package.json +0 -0
  244. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/default/index.js +0 -0
  245. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/file/index.js +0 -0
  246. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  247. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  248. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/mq/index.js +0 -0
  249. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/mq/listener.js +0 -0
  250. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/containers/mq/speaker.js +0 -0
  251. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/helper.js +0 -0
  252. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/logger/src/main.js +0 -0
  253. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/math/index.js +0 -0
  254. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/README.md +0 -0
  255. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/example/merge.js +0 -0
  256. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/example/merge_2_literal objects.js +0 -0
  257. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/example/merge_and_preserve_first.js +0 -0
  258. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/package.json +0 -0
  259. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/merge/src/main.js +0 -0
  260. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/model.js +0 -0
  261. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/proc.js +0 -0
  262. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/routing/README.md +0 -0
  263. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/routing/build.json +0 -0
  264. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/routing/package.json +0 -0
  265. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/routing/src/main.js +0 -0
  266. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/session-store.js +0 -0
  267. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/shell.js +0 -0
  268. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/swig-filters/README.md +0 -0
  269. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/swig-filters/package.json +0 -0
  270. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/swig-filters/src/main.js +0 -0
  271. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/url/README.md +0 -0
  272. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/url/index.js +0 -0
  273. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/url/mocks.json +0 -0
  274. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/url/routing.json +0 -0
  275. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/url/test.js +0 -0
  276. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/lib/validator.js +0 -0
  277. package/framework/{v0.1.1-alpha.93 → v0.1.1-alpha.96}/package.json +0 -0
  278. package/package.json +7 -9
  279. package/script/post_install.js +240 -185
  280. package/script/pre_install.js +333 -273
  281. package/script/prepare_version.js +212 -93
  282. package/utils/helper.js +26 -9
  283. package/framework/v0.1.1-alpha.93/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,18 +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
+ }
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
+ 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';
252
53
 
253
- self.isGlobalInstall = 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
- // `process.env.npm_config_prefix` to retrieve arguments passed to `npm install gina --prefix=/path/to/prefix`
258
- self.prefix = process.env.npm_config_prefix || self.defaultPrefix;
259
- // self.prefix =
260
- self.isCustomPrefix = false;
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;
261
59
 
262
- // This part is mostly when running `node ./script/pre_install.js`
60
+ // Overriding thru passed arguments
263
61
  var args = process.argv, i = 0, len = args.length;
264
62
  for (; i < len; ++i) {
265
63
  if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
@@ -275,42 +73,86 @@ function PreInstall() {
275
73
  if ( /^\-\-prefix\=/.test(args[i] ) ) {
276
74
  self.isCustomPrefix = true;
277
75
  self.prefix = args[i].split(/\=/)[1];
76
+ self.prefix = self.prefix.replace(/^\~/, getUserHome());
278
77
  continue;
279
78
  }
280
79
  }
281
80
 
282
81
  // For local install
283
- if ( !self.isGlobalInstall && !/node\_modules(\\\\|\/)gina$/.test(process.cwd()) ) {
284
- self.prefix = process.cwd();
285
- // self.root = process.cwd(); // project path
286
- // self.tmpDir = os.tmpdir(); // default tmp path
287
- // console.error('local installation is not supported for this version at the moment.');
288
- // 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');
289
- // process.exit(1);
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
+ }
290
90
  }
291
- // process.env.npm_config_prefix = self.prefix;
292
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
+ }
106
+
107
+ // console.warn('You do not have sufficient permissions. Switching to `--prefix='+ self.optionalPrefix +'`');
108
+ // process.env.npm_config_prefix = self.prefix = self.optionalPrefix;
109
+ }
293
110
 
294
111
  if ( self.prefix != self.defaultPrefix ) {
295
- // self.prefix = process.env.npm_config_prefix.toString();
296
112
  self.isCustomPrefix = true;
297
113
  }
298
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
+
299
137
  console.debug('self.defaultPrefix => '+ self.defaultPrefix);
138
+ console.debug('self.optionalPrefix => '+ self.optionalPrefix );
300
139
  console.debug('self.prefix => '+ self.prefix);
140
+ console.debug('self.isCustomPrefix => ', self.isCustomPrefix);
141
+ // only available when running the script with NPM
301
142
  console.debug('process.env.npm_config_prefix => '+ process.env.npm_config_prefix);
302
- console.debug('process.env.npm_package_config_prefix => '+ process.env.npm_package_config_prefix);
303
- process.exit(1);
143
+ }
144
+
145
+ var init = function() {
146
+
147
+ configure();
304
148
 
305
149
  begin(0);
306
- // TODO check old framework version to be archived
307
150
  }
308
151
 
309
152
  /**
310
153
  * Bebin - Will run checking tasks in order of declaration
311
154
  * */
312
155
  var begin = async function(i) {
313
- //console.debug('i is ', i);
314
156
  var n = 0, funct = null, functName = null;
315
157
  for (let t in self) {
316
158
  if ( typeof(self[t]) == 'function') {
@@ -337,10 +179,6 @@ function PreInstall() {
337
179
 
338
180
 
339
181
  self.checkRequirements = async function(done) {
340
- // TODO - handle windows case
341
- if ( /^true$/i.test(isWin32()) ) {
342
- return done( new Error('Windows in not yet fully supported. Thank you for your patience'));
343
- }
344
182
 
345
183
  var ginaHome = getUserHome() + ( isWin32() ? '\\.gina' : '/.gina' );
346
184
  if ( self.isResetNeeded && existsSync(ginaHome) ) {
@@ -350,28 +188,23 @@ function PreInstall() {
350
188
 
351
189
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
352
190
  var initialDir = process.cwd();
353
- var frameworkPath = __dirname +'/..';
354
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
355
- process.chdir(frameworkPath);
191
+
192
+ if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
193
+ process.chdir(self.gina);
194
+
356
195
  var oldConfigGlobal = process.env.npm_config_global;
357
196
  process.env.npm_config_global=false;
358
197
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
359
198
  execSync(cmd);
360
- process.chdir(initialDir);
361
199
  process.env.npm_config_global=oldConfigGlobal;
362
- }
363
-
364
200
 
365
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
366
- return done();
201
+ process.chdir(initialDir);
367
202
  }
368
203
 
369
- self.isWin32 = isWin32();
370
204
 
371
205
 
372
206
  console.debug('framework path: ' + self.gina);
373
- console.debug('framework version path: ' + self.path);
374
- console.debug('cwd path: ' + self.root );
207
+ console.debug('framework version path: ' + self.versionPath);
375
208
  console.debug('Is this a global install: '+ self.isGlobalInstall);
376
209
 
377
210
  done();
@@ -434,7 +267,7 @@ function PreInstall() {
434
267
  // }
435
268
  // // from `/usr/local` -> `~/.npm-global`
436
269
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
437
- // 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 })
438
271
  // .catch(function onError(err){
439
272
  // if (err) {
440
273
  // console.warn('try to run: sudo ' + cmd);
@@ -446,7 +279,7 @@ function PreInstall() {
446
279
  // var profilePathObj = new _(profilePath);
447
280
  // if ( !profilePathObj.existsSync() ) {
448
281
  // cmd = 'touch '+ profilePath;
449
- // 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 })
450
283
  // .catch(function onError(err){
451
284
  // if (err) {
452
285
  // console.warn('try to run: sudo ' + cmd);
@@ -487,8 +320,8 @@ function PreInstall() {
487
320
 
488
321
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
489
322
 
490
- console.debug('Checking if Gina is already installed: '+ self.isGinaInstall);
491
- if (!self.isGinaInstall) {
323
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
324
+ if (!self.isGinaInstalled) {
492
325
  return done();
493
326
  }
494
327
 
@@ -502,24 +335,30 @@ function PreInstall() {
502
335
  return done();
503
336
  }
504
337
 
505
- var frameworkPath = __dirname +'/..';
506
- helpers = require(frameworkPath+ '/utils/helpers');
507
- 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
+ return done(err)
345
+ }
346
+
347
+
508
348
 
509
- console = lib.logger;
510
- self.path = getEnvVar('GINA_FRAMEWORK');
511
- self.gina = getEnvVar('GINA_DIR');
512
- self.root = self.gina; // by default
349
+ // root
350
+ // self.gina = getEnvVar('GINA_DIR');
351
+ // self.versionPath = getEnvVar('GINA_FRAMEWORK');
513
352
 
514
353
  // check if framework version folder is found
515
- var versionsFolders = null, frameworkPath = null;
354
+ var versionsFolders = null, frameworkFolder = null;
516
355
  try {
517
- frameworkPath = _(self.root +'/framework', true);
518
- console.info('frameworkPath: ', frameworkPath);
519
- if ( !new _(frameworkPath).existsSync() ) {
356
+ frameworkFolder = _(self.gina +'/framework', true);
357
+ console.debug('frameworkFolder: ', frameworkFolder);
358
+ if ( !existsSync(frameworkFolder) ) {
520
359
  return done();
521
360
  }
522
- versionsFolders = fs.readdirSync(frameworkPath);
361
+ versionsFolders = fs.readdirSync(frameworkFolder);
523
362
  } catch (err) {
524
363
  // do nothing
525
364
  }
@@ -571,13 +410,234 @@ function PreInstall() {
571
410
  });
572
411
 
573
412
  if (err) {
574
- throw err;
413
+ return done(err);
575
414
  }
576
415
  }
577
416
  // It is not required to update `~/.gina/main.json` && `~/.gina/{shortVersion}/settings.json`
578
417
  done()
579
418
  }
580
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 = self.defaultPrefix;
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 = self.defaultPrefix;
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
+
581
641
  init()
582
642
  }
583
643