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
@@ -39,11 +39,49 @@ var lib = null;
39
39
  * @constructor
40
40
  * */
41
41
  function PrepareVersion() {
42
- var self = {};
42
+ var self = {
43
+ isWin32: isWin32(),
44
+ git : {
45
+ tag: 'latest',
46
+ msg: null
47
+ },
48
+ isGitPushNeeded : false
49
+
50
+ };
51
+
52
+ var configure = function() {
53
+ // TODO - handle windows case
54
+ if ( /^true$/i.test(isWin32()) ) {
55
+ throw new Error('Windows in not yet fully supported. Thank you for your patience');
56
+ }
57
+
58
+ // Overriding thru passed arguments
59
+ var args = process.argv, i = 0, len = args.length;
60
+ for (; i < len; ++i) {
61
+ if ( /^\-\-tag/.test(args[i]) ) {
62
+ var tag = args[i].split(/\=/)[1];
63
+ if ( tag != self.git.tag) {
64
+ self.git.tag = tag;
65
+ self.isGitPushNeeded = ( typeof(process.env.npm_config_dry_run) != 'undefined' ) ? false : true
66
+ }
67
+ continue;
68
+ }
69
+
70
+ if ( /^(\-m|\-\-message)$/.test(args[i]) ) {
71
+ var m = args[i];
72
+ if (/^(.*)\=/.test(m)) {
73
+ m = m.split(/\=/)[1]
74
+ }
75
+ self.git.msg = m.replace(/^(\-m|\-\-message)/g, '').replace(/(\"|\')/g, '');
76
+ continue;
77
+ }
78
+ }
79
+
80
+ self.gina = __dirname +'/..';
81
+ }
43
82
 
44
83
  var init = function() {
45
- self.isWin32 = isWin32();
46
- self.prefix = execSync('npm config get prefix');
84
+ configure();
47
85
 
48
86
  begin(0);
49
87
  };
@@ -267,7 +305,7 @@ function PrepareVersion() {
267
305
  var versionsFolders = null, frameworkPath = null;
268
306
  try {
269
307
  frameworkPath = _(self.ginaPath +'/framework', true);
270
- console.info('frameworkPath: ', frameworkPath);
308
+ console.debug('frameworkPath: ', frameworkPath);
271
309
  if ( !new _(frameworkPath).existsSync() ) {
272
310
  return done();
273
311
  }
@@ -296,7 +334,8 @@ function PrepareVersion() {
296
334
  done();
297
335
  }
298
336
 
299
- self.pushChangesToGit = function(done) {
337
+
338
+ self.pushChangesToGitIfNeeded = function(done) {
300
339
 
301
340
  var cmd = null;
302
341
  var version = self.selectedVersion.replace(/^[a-z]+/ig, '');
@@ -335,13 +374,16 @@ function PrepareVersion() {
335
374
  // nothing to do
336
375
  }
337
376
 
377
+
338
378
  if (!branchExists) {
339
379
  console.debug('No existing branch found, creating a new one !');
340
380
  try {
341
381
  execSync("git checkout -b "+ targetedBranch);
342
- // pushing to new branch
343
- console.debug('setting up remote branch `'+ targetedBranch +'` to git ...');
344
- execSync("git push --set-upstream origin "+ targetedBranch);
382
+ if (self.isGitPushNeeded) {
383
+ // pushing to new branch
384
+ console.debug('setting up remote branch `'+ targetedBranch +'` to git ...');
385
+ execSync("git push --set-upstream origin "+ targetedBranch);
386
+ }
345
387
  } catch (err) {
346
388
  console.error(err.stack||err.message||err);
347
389
  return done(err);
@@ -364,8 +406,7 @@ function PrepareVersion() {
364
406
  }
365
407
  }
366
408
 
367
-
368
- // git add --all
409
+ // commit changes
369
410
  try {
370
411
  cmd = execSync("git add --all ");
371
412
  } catch (err) {
@@ -375,29 +416,37 @@ function PrepareVersion() {
375
416
  }
376
417
  // git commit -m'Packaging version v'+ version
377
418
  try {
378
- var msg = (!branchExists) ? 'New version' : 'Prerelease update - '+ new Date().format("isoDateTime");
419
+ var msg = (!branchExists) ? 'New version' : 'Prerelease update'; //+ new Date().format("isoDateTime");
420
+ if (self.git.msg) {
421
+ msg += ' - '+ self.git.msg
422
+ }
379
423
  cmd = execSync("git commit -am'"+ msg +"'");
380
424
  } catch (err) {
381
- if (!/Your branch is up to date/i.test( err.output.toString() )) {
425
+ if (!/Your branch is up to date|nothing to commit, working tree clean/i.test( err.output.toString() )) {
382
426
  console.error(err.stack||err.message||err);
383
427
  return done(err);
384
428
  }
385
429
  }
386
430
 
387
- console.debug('Pushing changes made on branch `'+ targetedBranch +'` to git `origin/'+ targetedBranch +'`');
388
- // git push origin 010
389
- try {
390
- cmd = execSync("git push origin "+ targetedBranch );
391
- } catch (err) {
392
- if (!/Everything up-to-date/i.test( err.output.toString() )) {
393
- console.error(err.stack||err.message||err);
394
- return done(err);
431
+ if (self.isGitPushNeeded) {
432
+ console.debug('Pushing changes made on branch `'+ targetedBranch +'` to git `origin/'+ targetedBranch +'`');
433
+ // git push origin 010
434
+ try {
435
+ cmd = execSync("git push origin "+ targetedBranch );
436
+ } catch (err) {
437
+ if (!/Everything up-to-date/i.test( err.output.toString() )) {
438
+ console.error(err.stack||err.message||err);
439
+ return done(err);
440
+ }
395
441
  }
396
442
  }
397
443
 
398
444
  done()
399
445
  }
400
446
 
447
+
448
+
449
+
401
450
  // self.tagVersionIfNeeded = function(done) {
402
451
  // // check if script is on Dry Run !!!
403
452
  // if ( typeof(process.env.npm_config_dry_run) != 'undefined' ) {
@@ -418,6 +467,84 @@ function PrepareVersion() {
418
467
  // }
419
468
 
420
469
 
470
+ var restoreSymlinks = function(done) {
471
+
472
+ if ( typeof(process.env.npm_config_dry_run) == 'undefined' || !process.env.npm_config_dry_run ) {
473
+ // ignoring for now, after publishing completion
474
+ return
475
+ }
476
+ var archivesPath = _(getUserHome() + '/.gina/archives/framework', true);
477
+ var frameworkPath = _(self.gina +'/framework', true);
478
+
479
+ if ( !new _(archivesPath).existsSync() ) {
480
+ return;
481
+ }
482
+ // get current framework version
483
+ var package = require(pack);
484
+ var currentVersion = 'v'+ package.version.replace(/^v/, '');
485
+
486
+ // cleanup first
487
+ var versionsFolders = fs.readdirSync(frameworkPath);
488
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
489
+ let dir = versionsFolders[i];
490
+ // skip junk
491
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
492
+ continue;
493
+ }
494
+
495
+ // intercept & remove existing symlinks or old versions dir
496
+ try {
497
+ if ( fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isSymbolicLink() ) {
498
+ console.debug('Removing Symlink: '+ _(frameworkPath +'/'+ dir, true) );
499
+ // new _(frameworkPath +'/'+ dir, true).rmSync();
500
+ fs.unlinkSync(_(frameworkPath +'/'+ dir, true));
501
+ continue;
502
+ }
503
+
504
+ if (
505
+ dir != currentVersion
506
+ && fs.lstatSync( _(frameworkPath +'/'+ dir, true) ).isDirectory()
507
+ ) {
508
+ console.debug('Removing old version: '+ _(frameworkPath +'/'+ dir, true));
509
+ new _(frameworkPath +'/'+ dir, true).rmSync()
510
+ }
511
+ } catch (e) {
512
+ continue;
513
+ }
514
+ }
515
+
516
+ // restoring symlinks from archives
517
+ versionsFolders = fs.readdirSync(archivesPath);
518
+ for (let i = 0, len = versionsFolders.length; i < len; i++) {
519
+ let dir = versionsFolders[i];
520
+ // skip junk
521
+ if ( /^\./i.test(dir) || /(\s+copy|\.old)$/i.test(dir) ) {
522
+ continue;
523
+ }
524
+
525
+ // skip selected - for dev team only
526
+ if ( new _(frameworkPath +'/'+ dir, true).existsSync() ) {
527
+ continue;
528
+ }
529
+
530
+ // creating symlinks
531
+ try {
532
+ console.debug( 'Creating symlink: '+ _(archivesPath +'/'+ dir, true) +' -> '+ _(frameworkPath +'/'+ dir, true));
533
+ new _(archivesPath +'/'+ dir, true).symlinkSync(_(frameworkPath +'/'+ dir, true) );
534
+ } catch (e) {
535
+ return done(e)
536
+ }
537
+ }
538
+ }
539
+
540
+ self.end = function(done) {
541
+
542
+ // restoreSymlinks(done);
543
+
544
+ done()
545
+ }
546
+
547
+
421
548
 
422
549
  init()
423
550
  }
package/utils/helper.js CHANGED
@@ -1,5 +1,6 @@
1
1
  var fs = require('fs');
2
2
  var os = require('os');
3
+ const { execSync } = require('child_process');
3
4
 
4
5
  var lib = null;
5
6
  var console = null;
@@ -25,18 +26,41 @@ function MainHelper(opt) {
25
26
  var packObj = require(pack);
26
27
  var version = getEnvVar('GINA_VERSION') || packObj.version;
27
28
  var frameworkPath = ginaPath + '/framework/v' + version;
28
-
29
+ var pkg = null, cmd = null, prefix = null;
30
+ self.isGlobalInstall = getEnvVar('GINA_GLOBAL_MODE') || ( typeof(packObj.config) != 'undefined' && typeof(packObj.config.globalMode) != 'undefined' ) ? packObj.config.globalMode : true;
29
31
  try {
30
32
  lib = require(frameworkPath + '/lib');
31
33
  console = lib.logger;
32
34
  merge = lib.merge;
35
+
36
+ try {
37
+ pkg = packObj;
38
+ self.defaultPrefix = ( typeof(packObj.config) != 'undefined' && typeof(packObj.config.prefix) != 'undefined' ) ? packObj.config.prefix : execSync('npm config get prefix').toString().replace(/\n$/g, '');
39
+ self.defaultPrefix = self.defaultPrefix.replace(/^\~/, getUserHome());
40
+ prefix = getEnvVar('GINA_PREFIX') || self.defaultPrefix;
41
+ self.optionalPrefix = pkg.config.optionalPrefix.replace(/^\~/, getUserHome());
42
+ } catch(err) {
43
+ console.warn('MainHelper::Init() Execption: '+ err.stack);
44
+ console.debug('Trying alternative config');
45
+ try {
46
+ self.defaultPrefix = execSync('npm config get prefix').toString().replace(/\n$/g, '');
47
+ prefix = getEnvVar('GINA_PREFIX') || self.defaultPrefix;
48
+ cmd = 'npm list gina --long --json --prefix='+ prefix;
49
+ if (self.isGlobalInstall) {
50
+ cmd += ' -g';
51
+ }
52
+ pkg = execSync(cmd).toString().replace(/\n$/g, '');
53
+ self.optionalPrefix = JSON.parse(pkg).dependencies.gina.config.optionalPrefix.replace(/^\~/, getUserHome());
54
+ } catch (_err) {
55
+ throw new Error(_err.stack +'\n'+ err.stack)
56
+ }
57
+ }
58
+
33
59
  } catch (err) {
34
60
  // this can happen in certain conditions
35
61
  // like scripts running out of the framework context
36
62
  // we'll just ignore it
37
63
  }
38
-
39
-
40
64
  }
41
65
 
42
66
  /**
@@ -199,7 +223,7 @@ function MainHelper(opt) {
199
223
  }
200
224
 
201
225
  var newArgv = {};
202
- for (var a in process.argv) {
226
+ for (var a in process.argv) {
203
227
  if ( /\-\-/.test(process.argv[a]) && process.argv[a].indexOf('=') > -1 ) {
204
228
  evar = ( (process.argv[a].replace(/--/, ''))
205
229
  .replace(/-/, '_') )
@@ -254,6 +278,12 @@ function MainHelper(opt) {
254
278
  setContext('envVars', process['gina']);
255
279
  }
256
280
 
281
+ /**
282
+ * getEnvVar
283
+ * Will read from `process.gina` which is set mostly in `cli.js`
284
+ *
285
+ * @param {string} key
286
+ */
257
287
  getEnvVar = function(key) {
258
288
  if (
259
289
  typeof(process['gina']) != 'undefined' &&
@@ -269,6 +299,10 @@ function MainHelper(opt) {
269
299
  return process.gina
270
300
  }
271
301
 
302
+ getProtected = function() {
303
+ return self.protectedVars
304
+ }
305
+
272
306
  /**
273
307
  * Get log path - %SystemRoot%\system32\winevt\logs or /
274
308
  *
@@ -277,37 +311,74 @@ function MainHelper(opt) {
277
311
  getLogDir = function() {
278
312
  // Trying to retrieve original value if already defined
279
313
  var logDir = getEnvVar('GINA_LOGDIR') || null;
314
+ var logDirObj = null;
280
315
  if ( logDir ) {
281
- if ( !/gina$/.test(logDir) ) {
282
- logDir += ( isWin32() ) ? '\\gina' : '/gina'
316
+ logDirObj = new _(logDir, true);
317
+ if ( !logDirObj.existsSync() ) {
318
+ logDirObj.mkdirSync()
283
319
  }
284
320
  return logDir
285
321
  }
322
+
323
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
324
+
286
325
  if ( isWin32() ) {
287
326
  logDir = process.env.LOG ||
288
327
  process.env.LOGS ||
289
328
  (process.env.SystemRoot || process.env.windir) + '\\System32\\Winevt\\Logs'
290
329
  ;
330
+
331
+ if ( !logDir || logDir == '' ) {
332
+ throw new Error('Log directory not defined or not found !');
333
+ }
334
+
335
+ logDirObj = new _(logDir);
336
+ if ( !logDirObj.isWritableSync() ) {
337
+ throw new Error('Log directory found but not writable: need permissions for `'+ logDir +'`');
338
+ }
339
+
291
340
  if ( !/gina$/.test(logDir) ) {
292
- logDir += '\\gina'
341
+ logDir += '\\gina';
342
+ logDirObj = new _(logDir);
293
343
  }
294
344
  } else {
295
345
  logDir = process.env.LOGDIR ||
296
346
  process.env.LOG ||
297
347
  process.env.LOGS ||
298
- '/usr/local/var/log'
348
+ prefix+'/var/log'
299
349
  ;
300
- if ( !/gina$/.test(logDir) ) {
301
- logDir += '/gina'
350
+ logDirObj = new _(logDir);
351
+ if ( new RegExp('^'+ prefix).test(logDir) && !new _(prefix).isWritableSync() ) {
352
+ logDir = getUserHome() +'/.gina/log';
353
+ logDirObj = new _(logDir);
354
+ if ( !logDirObj.existsSync() ) {
355
+ logDirObj.mkdirSync()
356
+ }
357
+
358
+ return logDir
359
+ }
360
+
361
+ if ( new RegExp('^'+ prefix +'/var').test(logDir) && !new _(prefix +'/var').existsSync() ) {
362
+ fs.mkdirSync(prefix +'/var');
363
+ }
364
+
365
+ if ( !logDirObj.existsSync() ) {
366
+ logDirObj.mkdirSync();
367
+ }
368
+
369
+ if ( !/gina$/.test(logDir) && self.optionalPrefix != prefix ) {
370
+ logDir += '/gina';
371
+ logDirObj = new _(logDir);
302
372
  }
303
373
  }
304
-
374
+
375
+ if ( !logDirObj.existsSync() ) {
376
+ logDirObj.mkdirSync()
377
+ }
378
+
305
379
  return logDir;
306
380
  }
307
381
 
308
- getProtected = function() {
309
- return self.protectedVars
310
- }
311
382
 
312
383
  /**
313
384
  * Get run\lock path
@@ -316,46 +387,157 @@ function MainHelper(opt) {
316
387
  getRunDir = function() {
317
388
  // Trying to retrieve original value if already defined
318
389
  var runDir = getEnvVar('GINA_RUNDIR') || null;
390
+ var runDirObj = null;
319
391
  if ( runDir ) {
320
- if ( !/gina$/.test(runDir) ) {
321
- runDir += ( isWin32() ) ? '\\gina' : '/gina'
392
+ runDirObj = new _(runDir, true);
393
+ if ( !runDirObj.existsSync() ) {
394
+ runDirObj.mkdirSync()
322
395
  }
323
396
  return runDir
324
397
  }
325
-
326
- if ( isWin32() ) {
327
- console.debug('check /gina/utils/helper.js around on getRunDir()')
328
- } else {
329
- // Means `/usr/local/var/lock` or `/usr/local/var/run` by default.
330
- runDirObj = new _('/usr/local/var/lock', true);
331
- if ( runDirObj.existsSync() ) {
332
- return _( runDirObj.toUnixStyle() +'/gina', true );
398
+
399
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
400
+
401
+ runDir = (isWin32()) ? getUserHome() + '\\.gina\\run' : prefix + '/var/lock';
402
+
403
+ if ( !isWin32() && new RegExp('^'+ prefix).test(runDir) && !new _(prefix).isWritableSync() ) {
404
+ runDir = getUserHome() +'/.gina/run';
405
+ runDirObj = new _( runDir, true );
406
+ if ( !runDirObj.existsSync() ) {
407
+ runDirObj.mkdirSync()
408
+ }
409
+
410
+ return runDir
411
+ }
412
+
413
+
414
+ runDirObj = new _( runDir, true );
415
+ if ( runDirObj.existsSync() ) {
416
+ if ( !runDirObj.isWritableSync() ) {
417
+ throw new Error('location `'+ runDir +'` found but not writable !' )
418
+ }
419
+
420
+ runDir += ( isWin32() ) ? '' : '/gina';
421
+ runDirObj = new _( runDir, true );
422
+ if ( !runDirObj.existsSync() ) {
423
+ runDirObj.mkdirSync()
424
+ }
425
+
426
+ return runDir;
427
+ }
428
+
429
+ try {
430
+ if ( new RegExp('^'+ prefix +'/var').test(runDir) && !new _(prefix + '/var').existsSync() ) {
431
+ fs.mkdirSync(prefix +'/var');
432
+ }
433
+
434
+ runDir = prefix +'/var/run';//by default.
435
+ if ( !existsSync(runDir) ) {
436
+ fs.mkdirSync(runDir)
437
+ }
438
+ } catch (err) {
439
+ throw new Error('location error: `'+ runDir+'`\n'+ err.stack);
440
+ }
441
+
442
+ if (self.optionalPrefix != prefix) {
443
+ runDir += ( isWin32() ) ? '\\gina' : '/gina';
444
+ runDirObj = new _( runDir, true );
445
+ if ( !runDirObj.existsSync() ) {
446
+ fs.mkdirSync(runDir)
333
447
  }
334
- // by default
335
- return _('/usr/local/var/run/gina', true)//by default.
336
448
  }
449
+
450
+ return runDir;
337
451
  }
338
452
 
339
453
  getTmpDir = function() {
454
+
455
+ var dir = getEnvVar('GINA_TMPDIR') || null;
456
+ if (dir) {
457
+ dirObj = new _(dir, true);
458
+ if ( !dirObj.existsSync() ) {
459
+ dirObj.mkdirSync()
460
+ }
461
+ return dir
462
+ }
463
+
464
+ var prefix = getEnvVar('GINA_PREFIX') || self.prefix || self.defaultPrefix || execSync('npm config get prefix').toString().replace(/\n$/g, '');
465
+
340
466
  // support for node 0.10.x & 0.11.x
341
- var tmp = os.tmpdir || function() {
467
+ var tmp = (os.tmpdir) ? os.tmpdir : function() {
468
+ var tmpDir = null;
342
469
  if ( isWin32() ) {
343
- return process.env.TEMP ||
470
+ tmpDir = process.env.TEMP ||
344
471
  process.env.TMP ||
345
472
  (process.env.SystemRoot || process.env.windir) + '\\Temp'
346
473
  } else {
347
- return process.env.TMPDIR ||
474
+ tmpDir = process.env.TMPDIR ||
348
475
  process.env.TMP ||
349
476
  process.env.TEMP ||
350
- '/usr/local/var/tmp'
477
+ prefix+'/var/tmp'
478
+ ;
479
+
480
+ if ( new RegExp('^'+ prefix).test(tmpDir) && !isWritableSync(prefix) ) {
481
+ tmpDir = getUserHome() +'/.gina/tmp';
482
+ if ( !existsSync(tmpDir) ) {
483
+ fs.mkdirSync(tmpDir)
484
+ }
485
+ }
486
+
487
+ if ( new RegExp('^'+ prefix +'/var').test(tmpDir) && !existsSync(prefix +'/var') ) {
488
+ fs.mkdirSync(prefix +'/var');
489
+ }
490
+ }
491
+
492
+ var tmpDirObj = new _(tmpDir);
493
+ if ( !tmpDirObj.existsSync() ) {
494
+ tmpDirObj.mkdirSync();
351
495
  }
352
496
  };
353
497
 
354
- return ( typeof(tmp) == 'function') ? tmp() : tmp
498
+ return tmp()
355
499
  }
356
500
 
501
+ /**
502
+ * isWritableSync
503
+ * Only used for `getUserHome()`
504
+ *
505
+ * @param {string} path
506
+ */
507
+ var isWritableSync = function(path) {
508
+ var canWrite = false;
509
+ if ( typeof(fs.accessSync) != 'undefined' ) {
510
+ try {
511
+ fs.accessSync(path, fs.constants.W_OK);
512
+ canWrite = true;
513
+ } catch (err) {
514
+ canWrite = false;
515
+ }
516
+ } else { // support for old version of nodejs
517
+
518
+ try {
519
+ canWrite = (fs.statSync(path).mode & (fs.constants.S_IRUSR | fs.constants.S_IRGRP | fs.constants.S_IROTH));
520
+ } catch (err) {
521
+ canWrite = false
522
+ }
523
+ }
524
+
525
+ return canWrite
526
+ };
527
+
357
528
  getUserHome = function() {
358
- return process.env[(isWin32()) ? 'USERPROFILE' : 'HOME']
529
+ var homeDir = process.env[(isWin32()) ? 'USERPROFILE' : 'HOME'];
530
+
531
+ if ( !homeDir || homeDir == '' ) {
532
+ throw new Error('Home directory not defined or not found !');
533
+ }
534
+
535
+
536
+ if ( !isWritableSync(homeDir) ) {
537
+ throw new Error('Home directory found but not writable: need permissions for `'+ homeDir +'`');
538
+ }
539
+
540
+ return homeDir
359
541
  }
360
542
 
361
543
  getVendorsConfig = function(vendor) {
@@ -387,14 +569,14 @@ function MainHelper(opt) {
387
569
  }
388
570
  }
389
571
 
390
- setEnvVar = function(key, val, isProtected) {
572
+ setEnvVar = function(key, val, isProtected) {
391
573
  key = key.toUpperCase();
392
574
  var err = null
393
- // related task `framework:set` & framework/v.xxx/lib/cmd/framework/init.js
575
+ // related task `framework:set` & framework/v.xxx/lib/cmd/framework/init.js
394
576
  , specialCases = ['GINA_PORT', 'GINA_DEBUG_PORT', 'GINA_CULTURE', 'GINA_TIMEZONE']
395
577
  , isOverrrideAllowed = (specialCases.indexOf(key) > -1) ? true : false
396
578
  ;
397
-
579
+
398
580
  if (
399
581
  key.substr(0, 5) !== 'GINA_' &&
400
582
  key.substr(0, 7) !== 'VENDOR_' &&
@@ -418,10 +600,10 @@ function MainHelper(opt) {
418
600
  process['gina'] = {}
419
601
  }
420
602
  process['gina'][key] = val;
421
- if ( typeof(isProtected) != 'undefined' && isProtected == true) {
603
+ if ( typeof(isProtected) != 'undefined' && isProtected == true) {
422
604
  self.protectedVars.push(key)
423
- }
424
- }
605
+ }
606
+ }
425
607
  }
426
608
 
427
609
  defineDefault = function(obj) {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * clone array
3
- *
3
+ *
4
4
  * @returns {array} Return cloned array
5
5
  * @supress {misplacedTypeAnnotation}
6
6
  **/
@@ -21,14 +21,14 @@ if ( typeof(JSON.escape) == 'undefined' ) {
21
21
  /**
22
22
  * JSON.escape
23
23
  * Escape special characters
24
- *
25
- * Changes made here must be reflected in:
24
+ *
25
+ * Changes made here must be reflected in:
26
26
  * - gina/utils/prototypes.js
27
27
  * - gina/framework/version/helpers/prototypes.js
28
- * - gina/framework/version/core/asset/js/plugin/src/gina/utils/polyfill.js
29
- *
28
+ * - gina/framework/version/core/asset/plugin/src/gina/utils/polyfill.js
29
+ *
30
30
  * @param {object} jsonStr
31
- *
31
+ *
32
32
  * @returns {object} escaped JSON string
33
33
  **/
34
34
  var escape = function(jsonStr){
@@ -38,11 +38,11 @@ if ( typeof(JSON.escape) == 'undefined' ) {
38
38
  .replace(/\r/g, "\\r")
39
39
  .replace(/\t/g, "\\t")
40
40
  ;
41
- } catch (err) {
41
+ } catch (err) {
42
42
  throw err;
43
43
  }
44
44
  };
45
-
45
+
46
46
  JSON.escape = escape;
47
47
  }
48
48
 
@@ -98,7 +98,7 @@ Object.defineProperty( Object.prototype, 'functionCount', {
98
98
  /**
99
99
  * __stack Get current stack
100
100
  * @returns {Object} stack Current stack
101
- *
101
+ *
102
102
  * @suppress {es5Strict}
103
103
  **/
104
104
  Object.defineProperty(global, '__stack', {