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

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