gina 0.1.1-alpha.11 → 0.1.1-alpha.110

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 (309) hide show
  1. package/AUTHORS +2 -1
  2. package/README.md +140 -18
  3. package/bin/cli +56 -38
  4. package/bin/cli-debug +4 -4
  5. package/{framework/v0.1.1-alpha.11/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  6. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/AUTHORS +0 -0
  7. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/LICENSE +0 -0
  8. package/framework/v0.1.1-alpha.110/VERSION +1 -0
  9. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/html/nolayout.html +0 -0
  10. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/html/static.html +0 -0
  11. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/android-chrome-192x192.png +0 -0
  12. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/android-chrome-512x512.png +0 -0
  13. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/apple-touch-icon.png +0 -0
  14. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/favicon-16x16.png +0 -0
  15. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/favicon-32x32.png +0 -0
  16. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/asset/img/favicon.ico +0 -0
  17. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.js +0 -0
  18. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.js.map +0 -0
  19. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.min.css +0 -0
  20. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.min.css.map +0 -0
  21. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.min.js +0 -0
  22. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.min.js.map +0 -0
  23. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  24. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  25. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  26. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  27. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  28. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  29. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/main.js +1542 -0
  30. package/framework/v0.1.1-alpha.110/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  31. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/readme.md +5 -5
  32. package/framework/{v0.1.1-alpha.11/core/asset/js → v0.1.1-alpha.110/core/asset}/plugin/uuid.json +0 -0
  33. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/config.js +0 -0
  34. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/index.js +0 -0
  35. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/connector.js +0 -0
  36. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  37. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  38. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/n1ql.js +0 -0
  39. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/session-store.js +0 -0
  40. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  41. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  42. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/controller/controller.framework.js +0 -0
  43. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/controller/controller.js +664 -664
  44. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/controller/index.js +0 -0
  45. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/.travis.yml +0 -0
  46. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/LICENSE +0 -0
  47. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/README.md +0 -0
  48. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  49. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  50. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/lib/main.js +0 -0
  51. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/lib/types/multipart.js +0 -0
  52. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  53. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/lib/utils.js +0 -0
  54. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/busboy/package.json +0 -0
  55. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  56. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/dev/index.js +0 -0
  57. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/dev/lib/class.js +0 -0
  58. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/dev/lib/factory.js +0 -0
  59. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/dev/lib/tools.js +0 -0
  60. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/gna.js +0 -0
  61. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/README.md +0 -0
  62. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/currency.json +0 -0
  63. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/dist/language/en.json +0 -0
  64. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/dist/language/fr.json +0 -0
  65. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/dist/region/en.json +0 -0
  66. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/dist/region/fr.json +0 -0
  67. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/index.js +0 -0
  68. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/src/make.js +0 -0
  69. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/src/resources/currency.csv +0 -0
  70. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/src/resources/region.csv +0 -0
  71. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/locales/src/resources/region.mapping.json +0 -0
  72. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/mime.types +0 -0
  73. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/model/entity.js +0 -0
  74. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/model/index.js +0 -0
  75. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/model/template/entityFactory.js +0 -0
  76. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/model/template/index.js +0 -0
  77. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/README.md +0 -0
  78. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/index.js +0 -0
  79. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/file/README.md +0 -0
  80. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/file/build.json +0 -0
  81. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/file/package.json +0 -0
  82. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/intl/README.md +0 -0
  83. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/intl/build.json +0 -0
  84. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/intl/package.json +0 -0
  85. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/intl/src/main.js +0 -0
  86. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/storage/README.md +0 -0
  87. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/storage/build.json +0 -0
  88. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/storage/package.json +0 -0
  89. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/storage/src/main.js +0 -0
  90. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/validator/README.md +0 -0
  91. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/validator/build.json +0 -0
  92. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/validator/package.json +0 -0
  93. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/validator/src/form-validator.js +0 -0
  94. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/plugins/lib/validator/src/main.js +0 -0
  95. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/router.js +0 -0
  96. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/server.express.js +0 -0
  97. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/server.isaac.js +0 -0
  98. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/server.js +0 -0
  99. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/status.codes +0 -0
  100. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/config/app.json +0 -0
  101. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/config/routing.json +0 -0
  102. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/config/settings.json +0 -0
  103. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  104. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/config/templates.json +4 -4
  105. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  106. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  107. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  108. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle/index.js +0 -0
  109. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  110. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  111. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  112. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  113. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  114. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_public/readme.md +0 -0
  115. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  116. package/framework/v0.1.1-alpha.110/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  117. package/framework/v0.1.1-alpha.110/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  118. package/framework/v0.1.1-alpha.110/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  119. package/framework/{v0.1.1-alpha.11/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.110/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  120. package/framework/v0.1.1-alpha.110/core/template/command/gina.bat.tpl +8 -0
  121. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/command/gina.tpl +0 -0
  122. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/env.json +0 -0
  123. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/manifest.json +0 -0
  124. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/package.json +0 -0
  125. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/settings.json +0 -0
  126. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/statics.json +3 -3
  127. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/conf/templates.json +2 -2
  128. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/client/json/401.json +0 -0
  129. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/client/json/403.json +0 -0
  130. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/client/json/404.json +0 -0
  131. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/server/html/50x.html +0 -0
  132. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/server/json/500.json +0 -0
  133. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/error/server/json/503.json +0 -0
  134. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/core/template/extensions/logger/config.json +0 -0
  135. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/console.js +0 -0
  136. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/context.js +0 -0
  137. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/dateFormat.js +0 -0
  138. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/index.js +0 -0
  139. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/json/README.md +0 -0
  140. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/json/package.json +0 -0
  141. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/json/src/main.js +0 -0
  142. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/path.js +86 -80
  143. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/plugins/README.md +0 -0
  144. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/plugins/package.json +0 -0
  145. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/plugins/src/api-error.js +0 -0
  146. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/plugins/src/main.js +0 -0
  147. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/prototypes.js +35 -36
  148. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/task.js +21 -14
  149. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/helpers/text.js +0 -0
  150. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/archiver/README.md +0 -0
  151. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/archiver/build.json +0 -0
  152. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/archiver/package.json +0 -0
  153. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/archiver/src/dep/jszip.min.js +0 -0
  154. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/archiver/src/main.js +0 -0
  155. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/aliases.json +0 -0
  156. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/add.js +0 -0
  157. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/arguments.json +0 -0
  158. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/copy.js +0 -0
  159. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/cp.js +0 -0
  160. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/help.js +0 -0
  161. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/help.txt +0 -0
  162. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/list.js +0 -0
  163. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/remove.js +22 -22
  164. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/rename.js +0 -0
  165. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/restart.js +0 -0
  166. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/rm.js +0 -0
  167. package/framework/v0.1.1-alpha.110/lib/cmd/bundle/start.js +408 -0
  168. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/status.js +0 -0
  169. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/bundle/stop.js +89 -74
  170. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/add.js +0 -0
  171. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/get.js +0 -0
  172. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/help.js +0 -0
  173. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/help.txt +0 -0
  174. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/link-dev.js +0 -0
  175. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/list.js +0 -0
  176. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/remove.js +0 -0
  177. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/rm.js +0 -0
  178. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/set.js +0 -0
  179. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/env/unset.js +0 -0
  180. package/framework/{v0.1.1-alpha.11/lib/cmd/scope → v0.1.1-alpha.110/lib/cmd/env}/use.js +21 -1
  181. package/framework/v0.1.1-alpha.110/lib/cmd/framework/build.js +85 -0
  182. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/dot.js +0 -0
  183. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/get.js +0 -0
  184. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/help.js +0 -0
  185. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/help.txt +0 -0
  186. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/init.js +42 -15
  187. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/msg.json +0 -0
  188. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/open.js +15 -0
  189. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/restart.js +52 -24
  190. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/set.js +96 -26
  191. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/start.js +35 -12
  192. package/framework/v0.1.1-alpha.110/lib/cmd/framework/status.js +121 -0
  193. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/stop.js +43 -27
  194. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/tail.js +45 -44
  195. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/update.js +0 -0
  196. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/framework/version.js +12 -3
  197. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/gina-dev.1.md +0 -0
  198. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/gina-framework.1.md +0 -0
  199. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/gina.1.md +0 -0
  200. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/helper.js +0 -0
  201. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/index.js +0 -0
  202. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/msg.json +0 -0
  203. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/port/help.js +0 -0
  204. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/port/help.txt +0 -0
  205. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/port/inc/scan.js +0 -0
  206. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/port/list.js +0 -0
  207. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/port/set.js +0 -0
  208. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/add.js +120 -107
  209. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/arguments.json +0 -0
  210. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/build.js +0 -0
  211. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/help.js +0 -0
  212. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/help.txt +0 -0
  213. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/import.js +0 -0
  214. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/list.js +0 -0
  215. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/move.js +0 -0
  216. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/remove.js +17 -17
  217. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/rename.js +0 -0
  218. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/restart.js +0 -0
  219. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/rm.js +0 -0
  220. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/start.js +0 -0
  221. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/status.js +0 -0
  222. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/project/stop.js +0 -0
  223. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/protocol/help.js +0 -0
  224. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/protocol/help.txt +0 -0
  225. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/protocol/list.js +0 -0
  226. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/protocol/set.js +0 -0
  227. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/help.js +0 -0
  228. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/help.txt +0 -0
  229. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/link-local.js +0 -0
  230. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/list.js +0 -0
  231. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/remove.js +0 -0
  232. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/rm.js +0 -0
  233. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/set.js +0 -0
  234. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/scope/unset.js +0 -0
  235. package/framework/{v0.1.1-alpha.11/lib/cmd/env → v0.1.1-alpha.110/lib/cmd/scope}/use.js +0 -0
  236. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cmd/view/add.js +34 -9
  237. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/collection/README.md +0 -0
  238. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/collection/build.json +0 -0
  239. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/collection/package.json +0 -0
  240. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/collection/src/main.js +0 -0
  241. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/config.js +0 -0
  242. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cron/README.md +0 -0
  243. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cron/package.json +0 -0
  244. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/cron/src/main.js +0 -0
  245. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/generator/index.js +0 -0
  246. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/index.js +0 -0
  247. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/LICENSE +0 -0
  248. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/README.md +0 -0
  249. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  250. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/example/protected_inheritance.js +0 -0
  251. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/example/simple_inheritance.js +0 -0
  252. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  253. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/package.json +0 -0
  254. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/inherits/src/main.js +0 -0
  255. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/README.md +0 -0
  256. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/package.json +0 -0
  257. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/default/index.js +0 -0
  258. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/file/index.js +0 -0
  259. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  260. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  261. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/mq/index.js +0 -0
  262. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/mq/listener.js +0 -0
  263. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/containers/mq/speaker.js +0 -0
  264. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/helper.js +0 -0
  265. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/logger/src/main.js +0 -0
  266. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/math/index.js +0 -0
  267. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/README.md +0 -0
  268. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/example/merge.js +0 -0
  269. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/example/merge_2_literal objects.js +0 -0
  270. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/example/merge_and_preserve_first.js +0 -0
  271. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/package.json +0 -0
  272. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/merge/src/main.js +0 -0
  273. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/model.js +0 -0
  274. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/proc.js +52 -40
  275. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/routing/README.md +0 -0
  276. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/routing/build.json +0 -0
  277. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/routing/package.json +0 -0
  278. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/routing/src/main.js +0 -0
  279. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/session-store.js +0 -0
  280. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/shell.js +0 -0
  281. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/swig-filters/README.md +0 -0
  282. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/swig-filters/package.json +0 -0
  283. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/swig-filters/src/main.js +0 -0
  284. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/url/README.md +0 -0
  285. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/url/index.js +0 -0
  286. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/url/mocks.json +0 -0
  287. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/url/routing.json +0 -0
  288. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/url/test.js +0 -0
  289. package/framework/{v0.1.1-alpha.11 → v0.1.1-alpha.110}/lib/validator.js +0 -0
  290. package/framework/v0.1.1-alpha.110/package.json +14 -0
  291. package/package.json +30 -21
  292. package/resources/home/main.json +19 -1
  293. package/resources/home/settings.json +2 -0
  294. package/resources/home/user/extensions/logger/default/config.json +1 -1
  295. package/resources/package.json.template +28 -17
  296. package/script/post_install.js +381 -116
  297. package/script/post_publish.js +185 -0
  298. package/script/pre_install.js +420 -76
  299. package/script/prepare_version.js +147 -20
  300. package/utils/helper.js +220 -38
  301. package/utils/prototypes.js +9 -9
  302. package/utils/prototypes.json_clone.js +31 -31
  303. package/doc/framework/cli/doc.json +0 -9
  304. package/doc/framework/index.md +0 -60
  305. package/framework/v0.1.1-alpha.11/VERSION +0 -1
  306. package/framework/v0.1.1-alpha.11/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  307. package/framework/v0.1.1-alpha.11/lib/cmd/bundle/start.js +0 -394
  308. package/framework/v0.1.1-alpha.11/lib/cmd/framework/status.js +0 -72
  309. package/framework/v0.1.1-alpha.11/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,10 +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
-
22
18
  var helpers = null;
23
19
 
24
20
  /**
@@ -27,43 +23,145 @@ var helpers = null;
27
23
  * if you need to test, go to gina main folder
28
24
  * $ node --inspect-brk=5858 ./script/pre_install.js -g
29
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
+ *
30
29
  * @constructor
31
30
  * */
32
31
  function PreInstall() {
33
- var self = {}, _this = this;
32
+ var self = {};
34
33
 
35
- var init = function() {
34
+ var configure = function() {
36
35
 
37
- self.isGlobalInstall = false;
38
- self.prefix = execSync('npm config get prefix');
39
- self.isGinaInstall = false;
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
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
+
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
41
54
  var args = process.argv, i = 0, len = args.length;
42
55
  for (; i < len; ++i) {
43
- if (args[i] == '-g' ) {
56
+ if ( /^(\-g|\-\-global)$/.test(args[i]) ) {
44
57
  self.isGlobalInstall = true;
45
- 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;
71
+ }
72
+ }
73
+
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();
46
83
  }
47
84
  }
48
85
 
49
- if ( !self.isGlobalInstall ) { //global install
50
- self.root = process.cwd(); // project path
51
- self.tmpDir = os.tmpdir(); // default tmp path
52
- console.error('local installation is not supported for this version at the moment.');
53
- console.info('please use `npm install -g gina`');
54
- process.exit(1);
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
55
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() {
56
155
 
156
+ configure();
57
157
 
58
158
  begin(0);
59
- // TODO check old framework version to be archived
60
159
  }
61
160
 
62
161
  /**
63
162
  * Bebin - Will run checking tasks in order of declaration
64
163
  * */
65
164
  var begin = async function(i) {
66
- //console.debug('i is ', i);
67
165
  var n = 0, funct = null, functName = null;
68
166
  for (let t in self) {
69
167
  if ( typeof(self[t]) == 'function') {
@@ -87,43 +185,75 @@ function PreInstall() {
87
185
  }
88
186
  }
89
187
 
188
+
189
+
90
190
  self.checkRequirements = async function(done) {
91
- // TODO - handle windows case
92
- if ( /true/i.test(self.isWin32) ) {
93
- 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 });
94
196
  }
95
197
 
96
198
  // Let's temporarily install `colors` into `GINA_DIR` it will be removed by the `post_install.js` script
97
199
  var initialDir = process.cwd();
98
- var frameworkPath = __dirname +'/..';
99
- if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
100
- 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;
101
206
  var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
102
207
  execSync(cmd);
208
+ process.env.npm_config_global=oldConfigGlobal;
209
+
103
210
  process.chdir(initialDir);
104
211
  }
105
212
 
106
- if ( !fs.existsSync(frameworkPath +'/node_modules/gina') ) {
107
- return done();
213
+
214
+
215
+ console.debug('framework path: ' + self.gina);
216
+ console.debug('framework version path: ' + self.versionPath);
217
+ console.debug('Is this a global install: '+ self.isGlobalInstall);
218
+
219
+ done();
220
+ }
221
+
222
+ self.checkRequiredFolders = function(done) {
223
+
224
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
225
+ if (!existsSync(ginaHomeDir) ) {
226
+ fs.mkdirSync(ginaHomeDir)
108
227
  }
109
- self.isGinaInstall = true;
110
228
 
111
- helpers = require(frameworkPath+ '/utils/helpers');
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
+ }
112
235
 
113
- lib = require('./lib');
114
- console = lib.logger;
115
236
 
116
- self.isWin32 = isWin32();//getEnvVar('GINA_IS_WIN32');
117
- self.path = getEnvVar('GINA_FRAMEWORK');
118
- self.gina = getEnvVar('GINA_DIR');
119
- self.root = self.gina; // by default
237
+ // check for `/usr/local/run`
238
+ var runDir = getRunDir(self.prefix);
239
+ console.info('`run` dir -> '+ runDir);
120
240
 
121
- console.debug('framework path: ' + self.gina);
122
- console.debug('framework version path: ' + self.path);
123
- console.debug('cwd path: ' + self.root );
124
- console.debug('this is a global install ...');
241
+ // check for `/usr/local/log`
242
+ var logDir = getLogDir(self.prefix);
243
+ console.info('`log` dir -> '+ logDir);
125
244
 
126
- done();
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()
127
257
  }
128
258
 
129
259
 
@@ -146,7 +276,7 @@ function PreInstall() {
146
276
  // }
147
277
  // // from `/usr/local` -> `~/.npm-global`
148
278
  // var cmd = 'npm config set prefix '+ getUserHome() +'/.npm-global';
149
- // 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 })
150
280
  // .catch(function onError(err){
151
281
  // if (err) {
152
282
  // console.warn('try to run: sudo ' + cmd);
@@ -158,7 +288,7 @@ function PreInstall() {
158
288
  // var profilePathObj = new _(profilePath);
159
289
  // if ( !profilePathObj.existsSync() ) {
160
290
  // cmd = 'touch '+ profilePath;
161
- // 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 })
162
292
  // .catch(function onError(err){
163
293
  // if (err) {
164
294
  // console.warn('try to run: sudo ' + cmd);
@@ -199,29 +329,45 @@ function PreInstall() {
199
329
 
200
330
  self.checkIfGinaIsAlreadyInstalled = async function(done) {
201
331
 
202
- console.debug('Checking if Gina is already installed');
203
- if (!self.isGinaInstall) {
332
+ console.debug('Checking if Gina is already installed for prefix `'+ self.prefix+'`: '+ self.isGinaInstalled);
333
+ if (!self.isGinaInstalled) {
204
334
  return done();
205
335
  }
206
336
 
337
+
207
338
  // Backup current version
208
339
 
209
340
  // check for ~/.gina
210
- var ginaHomeDir = _(getUserHome() + '/.gina', true);
341
+ var ginaHomeDir = getUserHome() + ((isWin32()) ? '\\.gina': '/.gina');
211
342
  // if not found -> skip because it means that gina might not be installed or configured yet
212
- if ( !new _(ginaHomeDir).existsSync() ) {
343
+ if (!existsSync(ginaHomeDir) ) {
213
344
  return done();
214
345
  }
215
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
+
216
362
  // check if framework version folder is found
217
- var versionsFolders = null, frameworkPath = null;
363
+ var versionsFolders = null, frameworkFolder = null;
218
364
  try {
219
- frameworkPath = _(self.root +'/framework', true);
220
- console.info('frameworkPath: ', frameworkPath);
221
- if ( !new _(frameworkPath).existsSync() ) {
365
+ frameworkFolder = _(self.gina +'/framework', true);
366
+ console.debug('frameworkFolder: ', frameworkFolder);
367
+ if ( !existsSync(frameworkFolder) ) {
222
368
  return done();
223
369
  }
224
- versionsFolders = fs.readdirSync(frameworkPath);
370
+ versionsFolders = fs.readdirSync(frameworkFolder);
225
371
  } catch (err) {
226
372
  // do nothing
227
373
  }
@@ -273,43 +419,241 @@ function PreInstall() {
273
419
  });
274
420
 
275
421
  if (err) {
276
- throw err;
422
+ return done(err);
277
423
  }
278
424
  }
279
425
  // It is not required to update `~/.gina/main.json` && `~/.gina/{shortVersion}/settings.json`
426
+ done()
427
+ }
428
+
429
+ var isWin32 = function() {
430
+ return (process.platform === 'win32') ? true : false;
431
+ };
432
+
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;
440
+ }
441
+ } else { // support for old version of nodejs
442
+ return fs.existsSync(path);
443
+ }
444
+ }
445
+
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;
454
+ }
455
+ } else { // support for old version of nodejs
456
+
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
461
+ }
462
+ }
463
+
464
+ return canWrite
465
+ };
466
+
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;
474
+ }
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';
479
+
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
+ }
280
488
 
281
- self.checkRequiredFolders = function(done) {
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
+ }
282
497
 
283
- // check for `/usr/local/tmp`
284
- var tmpDir = getTmpDir()
285
- console.info('`tmp` dir -> '+ tmpDir);
286
- var tmpDirObj = new _(tmpDir, true);
287
- if ( !tmpDirObj.existsSync() ) {
288
- tmpDirObj.mkdirSync()
498
+ runDir += ( isWin32() || !self.isGlobalInstall ) ? '' : '/gina'
499
+ if ( !existsSync(runDir) ) {
500
+ fs.mkdirSync(runDir)
289
501
  }
290
502
 
291
- // check for `/usr/local/run`
292
- var runDir = getRunDir();
293
- console.info('`run` dir -> '+ runDir);
294
- var runDirObj = new _(runDir, true);
295
- if ( !runDirObj.existsSync() ) {
296
- runDirObj.mkdirSync()
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)
297
519
  }
520
+ } catch (err) {
521
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
522
+ }
298
523
 
299
- // check for `/usr/local/log`
300
- var logDir = getLogDir();
301
- console.info('`log` dir -> '+ logDir);
302
- var logDirObj = new _(logDir, true);
303
- if ( !logDirObj.existsSync() ) {
304
- logDirObj.mkdirSync()
524
+ if (self.optionalPrefix != prefix && self.isGlobalInstall) {
525
+ runDir += ( isWin32() ) ? '\\gina' : '/gina'
526
+ if ( !existsSync(runDir) ) {
527
+ fs.mkdirSync(runDir)
305
528
  }
529
+ }
306
530
 
307
- done()
531
+ return runDir;
532
+ };
533
+
534
+ var getTmpDir = function(prefix) {
535
+ if ( !prefix || typeof(prefix) == 'undefined' || prefix == '' ) {
536
+ prefix = self.defaultPrefix;
308
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
+ }
309
559
 
560
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix+'/var') ) {
561
+ fs.mkdirSync(prefix+'/var');
562
+ }
563
+ }
310
564
 
311
- done()
312
- }
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
+ };
313
657
 
314
658
  init()
315
659
  }