gina 0.1.1-alpha.99 → 0.1.2-alpha.1

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 (370) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +30 -0
  3. package/README.md +125 -39
  4. package/bin/cli +130 -41
  5. package/bin/cli-debug +46 -15
  6. package/bin/cmd +63 -41
  7. package/bin/gina +57 -49
  8. package/framework/{v0.1.1-alpha.99/lib/inherits → v0.1.2-alpha.1}/LICENSE +1 -1
  9. package/framework/v0.1.2-alpha.1/VERSION +1 -0
  10. package/framework/{v0.1.1-alpha.99/core/asset/js/plugin/readme.md → v0.1.2-alpha.1/core/asset/plugin/README.md} +34 -12
  11. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  12. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  13. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  14. package/framework/{v0.1.1-alpha.99/core/asset/js/plugin/dist → v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js}/gina.js +4588 -3416
  15. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js +765 -0
  16. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  17. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
  18. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  19. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/config.js +315 -131
  20. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/index.js +460 -274
  21. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.js +22 -0
  22. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  23. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  24. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.v4.js +384 -0
  25. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/n1ql.js +3 -2
  26. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.js +22 -0
  27. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  28. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  29. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/controller/controller.js +1351 -902
  30. package/framework/v0.1.2-alpha.1/core/controller/index.js +23 -0
  31. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/gna.js +48 -24
  35. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/README.md +5 -0
  36. package/framework/v0.1.2-alpha.1/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.2-alpha.1/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.2-alpha.1/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/form-validator.js +404 -300
  53. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/main.js +1384 -1314
  54. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/router.js +221 -122
  55. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.express.js +69 -65
  56. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.isaac.js +274 -180
  57. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/server.js +710 -615
  58. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/config/settings.json +12 -0
  59. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  60. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/templates.json +4 -4
  61. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  62. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  63. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/index.js +13 -1
  64. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  65. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  66. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  67. package/framework/{v0.1.1-alpha.99/core/template/boilerplate/bundle_templates/html/layout → v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  68. package/framework/v0.1.2-alpha.1/core/template/command/gina.bat.tpl +8 -0
  69. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/command/gina.tpl +4 -4
  70. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/env.json +12 -0
  71. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/manifest.json +2 -0
  72. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/package.json +2 -2
  73. package/framework/v0.1.2-alpha.1/core/template/conf/statics.json +12 -0
  74. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/templates.json +9 -9
  75. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/console.js +3 -3
  76. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/context.js +233 -75
  77. package/framework/v0.1.2-alpha.1/helpers/data/LICENSE +9 -0
  78. package/framework/v0.1.2-alpha.1/helpers/data/README.md +12 -0
  79. package/framework/v0.1.2-alpha.1/helpers/data/package.json +20 -0
  80. package/framework/v0.1.2-alpha.1/helpers/data/src/main.js +295 -0
  81. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/dateFormat.js +9 -7
  82. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/index.js +13 -8
  83. package/framework/v0.1.2-alpha.1/helpers/json/LICENSE +9 -0
  84. package/framework/v0.1.2-alpha.1/helpers/json/README.md +12 -0
  85. package/framework/{v0.1.1-alpha.99/helpers/plugins → v0.1.2-alpha.1/helpers/json}/package.json +2 -2
  86. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/json/src/main.js +33 -28
  87. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/path.js +97 -22
  88. package/framework/{v0.1.1-alpha.99/helpers/json → v0.1.2-alpha.1/helpers/plugins}/package.json +2 -2
  89. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/src/api-error.js +23 -23
  90. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/src/main.js +3 -3
  91. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/prototypes.js +46 -38
  92. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/text.js +2 -2
  93. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/package.json +1 -1
  94. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/src/dep/jszip.min.js +3 -3
  95. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/src/main.js +183 -168
  96. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/aliases.json +4 -1
  97. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/add.js +84 -28
  98. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/arguments.json +8 -0
  99. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/help.txt +4 -2
  100. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/list.js +175 -0
  101. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/remove.js +39 -27
  102. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/restart.js +14 -8
  103. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/start.js +283 -49
  104. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/stop.js +93 -74
  105. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/add.js +87 -49
  106. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/list.js +26 -4
  107. package/framework/{v0.1.1-alpha.99/lib/cmd/scope → v0.1.2-alpha.1/lib/cmd/env}/remove.js +29 -24
  108. package/framework/v0.1.2-alpha.1/lib/cmd/env/use.js +106 -0
  109. package/framework/v0.1.2-alpha.1/lib/cmd/framework/build.js +93 -0
  110. package/framework/v0.1.2-alpha.1/lib/cmd/framework/init.js +932 -0
  111. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link-node-modules.js +123 -0
  112. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link.js +132 -0
  113. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/open.js +25 -1
  114. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/restart.js +78 -26
  115. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/set.js +120 -40
  116. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/start.js +49 -20
  117. package/framework/v0.1.2-alpha.1/lib/cmd/framework/status.js +144 -0
  118. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/stop.js +64 -31
  119. package/framework/v0.1.2-alpha.1/lib/cmd/framework/tail.js +303 -0
  120. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/version.js +19 -4
  121. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/helper.js +357 -53
  122. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/index.js +23 -23
  123. package/framework/v0.1.2-alpha.1/lib/cmd/port/inc/scan.js +142 -0
  124. package/framework/v0.1.2-alpha.1/lib/cmd/port/list.js +464 -0
  125. package/framework/v0.1.2-alpha.1/lib/cmd/port/reset.js +417 -0
  126. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/add.js +344 -157
  127. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/arguments.json +2 -1
  128. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/build.js +28 -28
  129. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/help.txt +7 -1
  130. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/list.js +22 -2
  131. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/remove.js +19 -17
  132. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/rename.js +11 -11
  133. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/set.js +260 -211
  134. package/framework/v0.1.2-alpha.1/lib/cmd/scope/add.js +129 -0
  135. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/help.txt +4 -4
  136. package/framework/{v0.1.1-alpha.99/lib/cmd/env/use.js → v0.1.2-alpha.1/lib/cmd/scope/link-production.js} +22 -21
  137. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/list.js +34 -11
  138. package/framework/v0.1.2-alpha.1/lib/cmd/scope/remove.js +122 -0
  139. package/framework/v0.1.2-alpha.1/lib/cmd/scope/use.js +68 -0
  140. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/view/add.js +35 -10
  141. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/package.json +1 -1
  142. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/src/main.js +247 -244
  143. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/config.js +33 -31
  144. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/package.json +1 -1
  145. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/src/main.js +16 -11
  146. package/framework/v0.1.2-alpha.1/lib/domain/LICENSE +9 -0
  147. package/framework/v0.1.2-alpha.1/lib/domain/README.md +46 -0
  148. package/framework/v0.1.2-alpha.1/lib/domain/dist/public_suffix_list.dat +14186 -0
  149. package/framework/v0.1.2-alpha.1/lib/domain/package.json +20 -0
  150. package/framework/v0.1.2-alpha.1/lib/domain/src/main.js +442 -0
  151. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/generator/index.js +5 -5
  152. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/index.js +3 -2
  153. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1/lib/inherits}/LICENSE +1 -1
  154. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/README.md +2 -2
  155. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/package.json +3 -4
  156. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/src/main.js +3 -3
  157. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/package.json +2 -2
  158. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/default/index.js +15 -2
  159. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/index.js +109 -14
  160. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/index.js +12 -3
  161. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/listener.js +29 -21
  162. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/speaker.js +33 -4
  163. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/helper.js +22 -1
  164. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/main.js +36 -9
  165. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/math/index.js +9 -9
  166. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/README.md +2 -2
  167. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/package.json +1 -1
  168. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/src/main.js +118 -91
  169. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/model.js +10 -10
  170. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/proc.js +92 -49
  171. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/package.json +1 -1
  172. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/src/main.js +377 -420
  173. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/session-store.js +13 -7
  174. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/shell.js +3 -3
  175. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/swig-filters/package.json +1 -1
  176. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/swig-filters/src/main.js +140 -119
  177. package/framework/v0.1.2-alpha.1/lib/url/README.md +0 -0
  178. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/validator.js +2 -2
  179. package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/package.json +1 -1
  180. package/package.json +10 -10
  181. package/resources/home/main.json +39 -5
  182. package/resources/home/settings.json +8 -0
  183. package/resources/package.json.template +1 -1
  184. package/script/lib.js +0 -0
  185. package/script/post_install.js +179 -89
  186. package/script/pre_install.js +95 -12
  187. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  188. package/services/.gna/arch +1 -0
  189. package/services/.gna/locals.json +14 -0
  190. package/services/.gna/platform +1 -0
  191. package/services/configure +6 -0
  192. package/services/env.json +18 -0
  193. package/services/manifest.json +30 -0
  194. package/services/package.json +11 -0
  195. package/services/src/proxy/config/app.json +6 -0
  196. package/services/src/proxy/config/routing.json +11 -0
  197. package/services/src/proxy/config/settings.json +9 -0
  198. package/services/src/proxy/config/settings.server.json +31 -0
  199. package/services/src/proxy/config/statics.json +3 -0
  200. package/services/src/proxy/controllers/controller.content.js +58 -0
  201. package/services/src/proxy/controllers/controller.js +30 -0
  202. package/{framework/v0.1.1-alpha.99/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  203. package/services/src/proxy/index.js +31 -0
  204. package/services/src/proxy/lib/domain/README.md +48 -0
  205. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  206. package/services/src/toolbar/config/app.json +6 -0
  207. package/services/src/toolbar/config/routing.json +11 -0
  208. package/{framework/v0.1.1-alpha.99/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  209. package/services/src/toolbar/config/settings.server.json +30 -0
  210. package/services/src/toolbar/controllers/controller.content.js +39 -0
  211. package/services/src/toolbar/controllers/controller.js +30 -0
  212. package/services/src/toolbar/controllers/setup.js +111 -0
  213. package/services/src/toolbar/index.js +43 -0
  214. package/utils/helper.js +25 -156
  215. package/utils/prototypes.js +9 -9
  216. package/utils/prototypes.json_clone.js +70 -37
  217. package/framework/v0.1.1-alpha.99/VERSION +0 -1
  218. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.js.map +0 -56
  219. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.css +0 -1
  220. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  221. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.js +0 -736
  222. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  223. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  224. package/framework/v0.1.1-alpha.99/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  225. package/framework/v0.1.1-alpha.99/core/connectors/couchbase/lib/connector.js +0 -20
  226. package/framework/v0.1.1-alpha.99/core/connectors/couchbase/lib/session-store.js +0 -21
  227. package/framework/v0.1.1-alpha.99/core/controller/index.js +0 -27
  228. package/framework/v0.1.1-alpha.99/core/locales/dist/region/en.json +0 -9492
  229. package/framework/v0.1.1-alpha.99/core/locales/dist/region/fr.json +0 -9492
  230. package/framework/v0.1.1-alpha.99/core/locales/src/resources/region.mapping.json +0 -28
  231. package/framework/v0.1.1-alpha.99/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  232. package/framework/v0.1.1-alpha.99/core/template/conf/statics.json +0 -10
  233. package/framework/v0.1.1-alpha.99/lib/cmd/bundle/arguments.json +0 -4
  234. package/framework/v0.1.1-alpha.99/lib/cmd/bundle/list.js +0 -129
  235. package/framework/v0.1.1-alpha.99/lib/cmd/env/remove.js +0 -150
  236. package/framework/v0.1.1-alpha.99/lib/cmd/framework/init.js +0 -541
  237. package/framework/v0.1.1-alpha.99/lib/cmd/framework/status.js +0 -72
  238. package/framework/v0.1.1-alpha.99/lib/cmd/framework/tail.js +0 -184
  239. package/framework/v0.1.1-alpha.99/lib/cmd/port/inc/scan.js +0 -108
  240. package/framework/v0.1.1-alpha.99/lib/cmd/port/list.js +0 -176
  241. package/framework/v0.1.1-alpha.99/lib/cmd/scope/set.js +0 -57
  242. package/framework/v0.1.1-alpha.99/lib/cmd/scope/unset.js +0 -44
  243. package/framework/v0.1.1-alpha.99/lib/cmd/scope/use.js +0 -79
  244. package/script/post_publish.js +0 -185
  245. package/script/prepare_version.js +0 -552
  246. /package/{framework/v0.1.1-alpha.99/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  247. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/AUTHORS +0 -0
  248. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/html/nolayout.html +0 -0
  249. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/html/static.html +0 -0
  250. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/android-chrome-192x192.png +0 -0
  251. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/android-chrome-512x512.png +0 -0
  252. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/apple-touch-icon.png +0 -0
  253. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon-16x16.png +0 -0
  254. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon-32x32.png +0 -0
  255. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/asset/img/favicon.ico +0 -0
  256. /package/framework/{v0.1.1-alpha.99/core/asset/js → v0.1.2-alpha.1/core/asset}/plugin/uuid.json +0 -0
  257. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  258. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/controller/controller.framework.js +0 -0
  259. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/.travis.yml +0 -0
  260. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/LICENSE +0 -0
  261. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/README.md +0 -0
  262. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  263. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  264. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/main.js +0 -0
  265. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/multipart.js +0 -0
  266. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  267. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/lib/utils.js +0 -0
  268. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/busboy/package.json +0 -0
  269. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  270. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/dev/lib/tools.js +0 -0
  271. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/currency.json +0 -0
  272. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/dist/language/en.json +0 -0
  273. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/dist/language/fr.json +0 -0
  274. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/resources/currency.csv +0 -0
  275. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/locales/src/resources/region.csv +0 -0
  276. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/mime.types +0 -0
  277. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/README.md +0 -0
  279. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/file/build.json +0 -0
  280. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/README.md +0 -0
  281. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/intl/build.json +0 -0
  282. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/README.md +0 -0
  283. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/storage/build.json +0 -0
  284. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/README.md +0 -0
  285. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/plugins/lib/validator/build.json +0 -0
  286. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/status.codes +0 -0
  287. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  288. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  289. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  290. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  291. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  292. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  293. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  294. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  295. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  296. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  297. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/conf/settings.json +0 -0
  298. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/401.json +0 -0
  299. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/403.json +0 -0
  300. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/client/json/404.json +0 -0
  301. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/html/50x.html +0 -0
  302. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/json/500.json +0 -0
  303. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/error/server/json/503.json +0 -0
  304. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/core/template/extensions/logger/config.json +0 -0
  305. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/plugins/README.md +0 -0
  306. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/helpers/task.js +0 -0
  307. /package/framework/{v0.1.1-alpha.99/helpers/json → v0.1.2-alpha.1/lib/archiver}/README.md +0 -0
  308. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/archiver/build.json +0 -0
  309. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/copy.js +0 -0
  310. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/cp.js +0 -0
  311. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/rename.js +0 -0
  313. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/rm.js +0 -0
  314. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/bundle/status.js +0 -0
  315. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/get.js +0 -0
  316. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/help.js +0 -0
  317. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/help.txt +0 -0
  318. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/link-dev.js +0 -0
  319. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/rm.js +0 -0
  320. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/set.js +0 -0
  321. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/env/unset.js +0 -0
  322. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/dot.js +0 -0
  323. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/get.js +0 -0
  324. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/help.js +0 -0
  325. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/help.txt +0 -0
  326. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/framework/update.js +0 -0
  328. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina-dev.1.md +0 -0
  329. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina-framework.1.md +0 -0
  330. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/gina.1.md +0 -0
  331. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/msg.json +0 -0
  332. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/help.js +0 -0
  333. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/help.txt +0 -0
  334. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/port/set.js +0 -0
  335. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/help.js +0 -0
  336. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/restart.js +0 -0
  339. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/rm.js +0 -0
  340. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/start.js +0 -0
  341. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/status.js +0 -0
  342. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/project/stop.js +0 -0
  343. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/help.js +0 -0
  344. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/help.txt +0 -0
  345. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/protocol/list.js +0 -0
  346. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/help.js +0 -0
  347. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/link-local.js +0 -0
  348. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cmd/scope/rm.js +0 -0
  349. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.99/lib/archiver/README.md → v0.1.2-alpha.1/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.99/lib/routing/README.md → v0.1.2-alpha.1/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  358. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.99/lib/swig-filters → v0.1.2-alpha.1/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.99/lib/url → v0.1.2-alpha.1/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.99 → v0.1.2-alpha.1}/lib/url/test.js +0 -0
@@ -26,20 +26,20 @@ function Set(opt, cmd) {
26
26
 
27
27
  // check CMD configuration
28
28
  if (!isCmdConfigured()) return false;
29
-
29
+
30
30
  // backup in case of rolllover
31
31
  local.ports = requireJSON(_(self.portsPath));
32
- local.portsReverse = requireJSON(_(self.portsReversePath));
32
+ local.portsReverse = requireJSON(_(self.portsReversePath));
33
33
  local.mainConfig = JSON.clone(self.mainConfig);
34
34
 
35
-
35
+
36
36
  // find available port
37
37
  options = {
38
38
  ignore : merge(self.portsGlobalList, local.ports),
39
39
  // get for each bundle ports for available protocol, scheme & env
40
- len : ( self.protocolsAvailable.length * self.schemesAvailable.length * self.envs.length * self.bundles.length )
40
+ limit : ( self.protocolsAvailable.length * self.schemesAvailable.length * self.envs.length * self.bundles.length )
41
41
  };
42
-
42
+
43
43
  scan(options, function(err, ports){
44
44
 
45
45
  if (err) {
@@ -53,7 +53,7 @@ function Set(opt, cmd) {
53
53
  }
54
54
 
55
55
  local.portsAvailable.sort();
56
-
56
+
57
57
 
58
58
  if (!self.name && !self.projectName) {
59
59
  // this case is allways catched excepted for `LIST` command
@@ -67,7 +67,7 @@ function Set(opt, cmd) {
67
67
  console.error('[ ' + self.name + ' ] is not a valid project name.');
68
68
  process.exit(1);
69
69
  }
70
- });
70
+ });
71
71
  };
72
72
 
73
73
  // check if bundle is defined
@@ -87,134 +87,172 @@ function Set(opt, cmd) {
87
87
  };
88
88
 
89
89
  var check = function(actionType) {
90
-
90
+
91
91
  self.actionType = actionType;
92
-
92
+
93
93
  var phrase = null
94
94
  , list = ''
95
95
  , choices = {} // protocol choice
96
96
  , choices2 = {} // scheme choice
97
- , opt = JSON.clone(self.protocolsAvailable)
97
+ , choicesOpt = JSON.clone(self.protocolsAvailable)
98
98
  ;
99
-
100
- opt.push('cancel');
101
-
102
- for (var p = 0, len = opt.length; p < len; ++p) {
103
-
99
+
100
+ var name = (actionType == 'project') ? self.projectName : self.name;
101
+
102
+ if ( /\-\-(protocol|scheme)/.test(opt.argv.join(',')) ) {
103
+ if ( ! /\-\-(protocol)/.test(opt.argv.join(',')) ) {
104
+ console.error('`--protocol=<http/1.1|http/2.0>` is missing in your command line !');
105
+ process.exit(1);
106
+ }
107
+ if ( ! /\-\-(scheme)/.test(opt.argv.join(',')) ) {
108
+ console.error('`--scheme=<http|https>` is missing in your command line !');
109
+ process.exit(1);
110
+ }
111
+ var pArr = null
112
+ , protocolModeEnabled = false
113
+ , schemeModeEnabled = false
114
+ ;
115
+ for (let i = 0, len = opt.argv.length; i<len; i++) {
116
+ if ( !/\-\-(protocol|scheme)/.test(opt.argv[i]) )
117
+ continue;
118
+
119
+ pArr = opt.argv[i].replace(/\s+/g, '').split(/=/);
120
+ if ( /\-protocol/.test(pArr[0]) ) {
121
+ protocolModeEnabled = true;
122
+ choices.protocol = pArr[1]
123
+ }
124
+
125
+ if ( /\-scheme/.test(pArr[0]) ) {
126
+ schemeModeEnabled = true;
127
+ choices.scheme = pArr[1]
128
+ }
129
+ }
130
+ if (/project/.test(actionType))
131
+ setProjectOnly(choices.protocol, choices.scheme);
132
+ else
133
+ setBundleOnly(choices.protocol, choices.scheme);
134
+
135
+ return;
136
+ }
137
+
138
+ choicesOpt.push('cancel');
139
+
140
+ for (var p = 0, len = choicesOpt.length; p < len; ++p) {
141
+
104
142
  if (p < len-1) {
105
- choices[p+1] = opt[p];
106
- choices[opt[p]] = opt[p];
143
+ choices[p+1] = choicesOpt[p];
144
+ choices[choicesOpt[p]] = choicesOpt[p];
107
145
  }
108
-
146
+
109
147
  if (p == len-1) {
110
148
  list += '\n';
111
149
  }
112
-
113
- if ( self.defaultProtocol == opt[p]) {
114
- list += '\n ('+ (p+1) +') '+ opt[p] + ' - default';
150
+
151
+ if ( self.defaultProtocol == choicesOpt[p]) {
152
+ list += '\n ('+ (p+1) +') '+ choicesOpt[p] + ' - default';
115
153
  } else {
116
- list += '\n ('+ ( (p == len-1) ? 'c' : (p+1) ) +') '+ opt[p];
117
- }
154
+ list += '\n ('+ ( (p == len-1) ? 'c' : (p+1) ) +') '+ choicesOpt[p];
155
+ }
118
156
  }
119
- var name = (actionType == 'project') ? self.projectName : self.name;
120
-
121
- phrase = 'Choose among the following protocols the new default setting for your ' + actionType +' ('+ name +').\n'+ list +'\r\n> ';
157
+
158
+
159
+ phrase = 'Choose among the following protocols the new default setting for your ' + actionType +' ('+ name +').\n'+ list +'\r\n> ';
122
160
  rl.setPrompt(phrase);
123
-
124
-
125
-
161
+
162
+
163
+
126
164
  var choice = null, choice2 = null;
127
165
  rl
128
- .on('line', function(line) {
129
-
130
- if (!choice || typeof(choices[choice]) == 'undefined') { // protocol definition
166
+ .on('line', function(line) {
167
+
168
+ if (!choice || typeof(choices[choice]) == 'undefined') { // protocol definition
131
169
  choice = line.trim().toLowerCase();
132
-
170
+
133
171
  if ( typeof(choices[choice]) != 'undefined') {
134
172
  rl.clearLine();
135
-
173
+
136
174
  // to the next question
137
175
  list = '';
138
- opt = JSON.clone(self.schemesAvailable);
139
- opt.push('cancel');
140
-
141
- for (var p = 0, len = opt.length; p < len; ++p) {
142
-
176
+ choicesOpt = JSON.clone(self.schemesAvailable);
177
+ choicesOpt.push('cancel');
178
+
179
+ for (var p = 0, len = choicesOpt.length; p < len; ++p) {
180
+
143
181
  if (p < len-1) {
144
- choices2[p+1] = opt[p];
145
- choices2[opt[p]] = opt[p];
182
+ choices2[p+1] = choicesOpt[p];
183
+ choices2[choicesOpt[p]] = choicesOpt[p];
146
184
  }
147
-
185
+
148
186
  if (p == len-1) {
149
187
  list += '\n';
150
188
  }
151
-
152
- if ( self.defaultScheme == opt[p]) {
153
- list += '\n ('+ (p+1) +') '+ opt[p] + ' - default';
189
+
190
+ if ( self.defaultScheme == choicesOpt[p]) {
191
+ list += '\n ('+ (p+1) +') '+ choicesOpt[p] + ' - default';
154
192
  } else {
155
- list += '\n ('+ ( (p == len-1) ? 'c' : (p+1) ) +') '+ opt[p];
156
- }
193
+ list += '\n ('+ ( (p == len-1) ? 'c' : (p+1) ) +') '+ choicesOpt[p];
194
+ }
157
195
  }
158
-
159
- phrase = 'Choose among the following schemes the new default setting for your ' + actionType +' ('+ name +').\n'+ list +'\r\n> ';
160
- rl.setPrompt(phrase);
161
- rl.prompt();
162
-
196
+
197
+ phrase = 'Choose among the following schemes the new default setting for your ' + actionType +' ('+ name +').\n'+ list +'\r\n> ';
198
+ rl.setPrompt(phrase);
199
+ rl.prompt();
200
+
163
201
  } else {
164
-
202
+
165
203
  if ( /^(c|cancel)$/.test(choice) ) {
166
204
  rl.clearLine();
167
205
  rl.close();
168
206
  } else {
169
207
  console.log('Please, write '+ self.protocolsAvailable.join(', ') +' or "c" (cancel) to proceed.');
170
- rl.prompt();
208
+ rl.prompt();
171
209
  }
172
- }
173
-
210
+ }
211
+
174
212
  } else { // scheme definition
175
- choice2 = line.trim().toLowerCase();
213
+ choice2 = line.trim().toLowerCase();
176
214
  if ( typeof(choices2[choice2]) != 'undefined') {
177
215
  rl.clearLine();
178
-
216
+
179
217
  console.debug('[ '+ actionType +' ] Picked: '+ choices[choice] +' - '+ choices2[choice2]);
180
-
218
+
181
219
  if (/project/.test(actionType))
182
220
  setProjectOnly(choices[choice], choices2[choice2]);
183
221
  else
184
222
  setBundleOnly(choices[choice], choices2[choice2]);
185
-
223
+
186
224
  } else {
187
225
  if ( /^(c|cancel)$/.test(choice2) ) {
188
226
  rl.clearLine();
189
227
  rl.close();
190
228
  } else {
191
229
  console.log('Please, write '+ self.schemesAvailable.join(', ') +' or "c" (cancel) to proceed.');
192
- rl.prompt();
230
+ rl.prompt();
193
231
  }
194
- }
195
- }
196
-
197
-
198
- })
232
+ }
233
+ }
234
+
235
+
236
+ })
199
237
  .on('close', function() {
200
238
  rl.clearLine();
201
239
  console.log('Exiting protocol setup');
202
240
  //rl.close();
203
241
  });
204
-
242
+
205
243
  rl.prompt();
206
244
  // to debug, comment the line above & uncomment one of the 2 lines below
207
245
  //setProjectOnly('http/2')
208
246
  //setBundleOnly('http/2')
209
-
210
-
247
+
248
+
211
249
  };
212
250
 
213
251
 
214
252
  var setProjectOnly = function(protocol, scheme) {
215
- loadAssets();
216
-
217
- // are selected protocol & scheme allowed ?
253
+ loadAssets();
254
+
255
+ // are selected protocol & scheme allowed ?
218
256
  if ( self.protocolsAvailable.indexOf(protocol) < 0 ) {
219
257
  console.error('Scheme [ '+scheme+' ] is not an allowed scheme: check your framework configuration (~/main.json)');
220
258
  process.exit(1);
@@ -223,61 +261,61 @@ function Set(opt, cmd) {
223
261
  console.error('Scheme [ '+scheme+' ] is not an allowed scheme: check your framework configuration (~/main.json)');
224
262
  process.exit(1);
225
263
  }
226
-
227
-
264
+
265
+
228
266
  // get user protocols list
229
267
  var protocols = JSON.clone(self.protocols);
230
268
  // get user schemes list
231
269
  var schemes = JSON.clone(self.schemes);
232
-
233
-
270
+
271
+
234
272
  var projectConfig = JSON.clone(local.projectConfig);
235
-
273
+
236
274
  if ( protocols.indexOf(protocol) < 0 ) {
237
275
  protocols.push(protocol);
238
- self.protocols = protocols;
239
- projectConfig[self.projectName].protocols = protocols;
276
+ self.protocols = protocols;
277
+ projectConfig[self.projectName].protocols = protocols;
240
278
  }
241
279
  if ( schemes.indexOf(scheme) < 0 ) {
242
280
  schemes.push(scheme);
243
- self.schemes = schemes;
244
- projectConfig[self.projectName].schemes = schemes;
281
+ self.schemes = schemes;
282
+ projectConfig[self.projectName].schemes = schemes;
245
283
  }
246
-
284
+
247
285
  //console.debug('Setting project protocol & scheme: '+ protocol +' - '+scheme + '\n\r protocols: '+ self.protocols + '\n\r schemes: '+ self.schemes);
248
286
  //process.exit(0);
249
-
287
+
250
288
  // update default protocol & scheme
251
289
  self.defaultProtocol = protocol;
252
290
  self.defaultScheme = scheme;
253
291
  projectConfig[self.projectName].def_protocol = self.defaultProtocol;
254
- projectConfig[self.projectName].def_scheme = self.defaultScheme;
292
+ projectConfig[self.projectName].def_scheme = self.defaultScheme;
255
293
  projectConfig[self.projectName].protocols = self.protocols;
256
294
  projectConfig[self.projectName].schemes = self.schemes;
257
-
295
+
258
296
  var re = new RegExp('\@'+ self.projectName +'$', '');
259
297
  var bundles = self.bundles;
260
298
  var envs = self.envs;
261
-
299
+
262
300
  var ports = JSON.clone(local.ports);
263
301
  var portsReverse = JSON.clone(local.portsReverse);
264
-
302
+
265
303
  // to fixe bundle settings inconsistency
266
- var bundleConfig = null;
304
+ var bundleConfig = null;
267
305
  var settingsPath = null;
268
306
  var bundleSettingsUpdate = false;
269
-
307
+
270
308
  if ( typeof(ports[protocol]) == 'undefined' ) {
271
309
  ports[protocol] = {};
272
310
  }
273
311
  if ( typeof(ports[protocol][scheme]) == 'undefined' ) {
274
312
  ports[protocol][scheme] = {};
275
- }
276
-
277
- // setup new for the whole project
313
+ }
314
+
315
+ // setup new for the whole project
278
316
  var port = null
279
317
  , portsAvailable = local.portsAvailable
280
- , b = null
318
+ , b = null
281
319
  , len = null
282
320
  , e = null
283
321
  , eLen = null
@@ -286,90 +324,90 @@ function Set(opt, cmd) {
286
324
  , p = null
287
325
  , found = null
288
326
  ;
289
-
290
-
327
+
328
+
291
329
  // ports
292
330
  b = 0; len = bundles.length;
293
- for (; b < len; ++b ) { // for each bundle
331
+ for (; b < len; ++b ) { // for each bundle
294
332
  e = 0; eLen = envs.length
295
- for (; e < eLen; ++e) { // for each env
333
+ for (; e < eLen; ++e) { // for each env
296
334
  // check if already set
297
335
  found = false;
298
336
  for (i in ports) {
299
337
  if (i != protocol) continue;
300
-
338
+
301
339
  for (s in ports[protocol]) {
302
340
  if (s != scheme) continue;
303
-
341
+
304
342
  for (p in ports[protocol][s]) {
305
343
  if ( ports[protocol][s][p] == bundles[b] +'@'+ self.projectName +'/'+ envs[e] ) {
306
344
  found = true;
307
345
  break
308
346
  }
309
347
  }
310
- if (found) break;
348
+ if (found) break;
311
349
  }
312
- if (found) break;
350
+ if (found) break;
313
351
  }
314
352
  if (!found) {
315
- port = portsAvailable.splice(0, 1)[0];
353
+ port = portsAvailable.splice(0, 1)[0];
316
354
  ports[protocol][scheme][port] = bundles[b] +'@'+ self.projectName +'/'+ envs[e];
317
- }
318
- }
355
+ }
356
+ }
319
357
  }
320
-
321
- // updating reverse ports
358
+
359
+ // updating reverse ports
322
360
  var arr = []
323
361
  , key = null
324
362
  , env = null
325
363
  ;
326
- b = 0;
327
- for (i in ports) { // each protocol
364
+ b = 0;
365
+ for (i in ports) { // each protocol
328
366
  if (i != protocol) continue;
329
-
330
- for (s in ports[protocol]) { // each scheme
367
+
368
+ for (s in ports[protocol]) { // each scheme
331
369
  if (s != scheme) continue;
332
-
333
- for (var port in ports[protocol][scheme]) { // for each port
334
-
370
+
371
+ for (let port in ports[protocol][scheme]) { // for each port
372
+
335
373
  key = ports[protocol][scheme][port];
336
-
374
+
337
375
  arr = key.split(/\//g);
338
376
  env = arr.pop();
339
377
  b = arr.join(); //bundle
340
-
378
+
341
379
  if ( typeof(portsReverse[b]) == 'undefined' )
342
380
  portsReverse[b] = {};
343
-
381
+
344
382
  if ( typeof(portsReverse[b][env]) == 'undefined' )
345
383
  portsReverse[b][ env ] = {};
346
-
384
+
347
385
  if ( typeof(portsReverse[b][env][protocol]) == 'undefined' )
348
386
  portsReverse[b][ env ][ protocol ] = {};
349
-
387
+
350
388
  if ( typeof(portsReverse[b][env][protocol][scheme]) == 'undefined' )
351
389
  portsReverse[b][ env ][ protocol ][ scheme ] = {};
352
-
390
+
353
391
  if ( re.test(b)) {
354
392
  //console.log(b, ' [ ' + protocol + ' ] -> ', ~~port);
355
- portsReverse[b][ env ][ protocol ][ scheme ] = ~~port;
356
-
393
+ portsReverse[b][ env ][ protocol ][ scheme ] = ~~port;
394
+
357
395
  // bundle settings inconsistency check & fix
358
- bundleName = b.split(/\@/)[0];
359
- bundleConfig = self.bundlesByProject[self.projectName][bundleName];
360
- settingsPath = _(bundleConfig.configPaths.settings, true);
396
+ bundleName = b.split(/\@/)[0];
397
+ bundleConfig = self.bundlesByProject[self.projectName][bundleName];
398
+ settingsPath = _(bundleConfig.configPaths.settings, true);
361
399
  bundleSettingsUpdate = false;
362
-
400
+
363
401
  if ( fs.existsSync(settingsPath) ) {
364
-
365
- bundleSettings = requireJSON(settingsPath);
366
-
367
- if ( typeof(bundleSettings.server) != 'undefined' ) {
368
- // update only if given bundle protocol setting not in project protocols list
369
- // use project def_protocol by default in that case
370
- if (
402
+
403
+ bundleSettings = requireJSON(settingsPath);
404
+
405
+ if ( typeof(bundleSettings.server) != 'undefined' ) {
406
+ // update only if given bundle protocol setting not in project protocols list
407
+ // use project def_protocol by default in that case
408
+ if (
371
409
  typeof(bundleSettings.server.protocol) == 'undefined'
372
- || typeof(bundleSettings.server.protocol) != 'undefined'
410
+ || typeof(bundleSettings.server.protocol) != 'undefined'
373
411
  && protocols.indexOf(bundleSettings.server.protocol) < 0
374
412
  || typeof(bundleSettings.server.protocol) != 'undefined'
375
413
  && bundleSettings.server.protocol != protocol
@@ -377,12 +415,12 @@ function Set(opt, cmd) {
377
415
  bundleSettings.server.protocol = protocol;
378
416
  bundleSettingsUpdate = true
379
417
  }
380
-
381
- // update only if given bundle scheme setting not in project schemes list
382
- // use project def_scheme by default in that case
383
- if (
418
+
419
+ // update only if given bundle scheme setting not in project schemes list
420
+ // use project def_scheme by default in that case
421
+ if (
384
422
  typeof(bundleSettings.server.scheme) == 'undefined'
385
- || typeof(bundleSettings.server.scheme) != 'undefined'
423
+ || typeof(bundleSettings.server.scheme) != 'undefined'
386
424
  && schemes.indexOf(bundleSettings.server.scheme) < 0
387
425
  || typeof(bundleSettings.server.scheme) != 'undefined'
388
426
  && bundleSettings.server.scheme != scheme
@@ -390,9 +428,9 @@ function Set(opt, cmd) {
390
428
  bundleSettings.server.scheme = scheme;
391
429
  bundleSettingsUpdate = true
392
430
  }
393
-
431
+
394
432
  if (bundleSettingsUpdate) {
395
- // updating bundle internal config/settings
433
+ // updating bundle internal config/settings
396
434
  bundleSettings.server.protocol = protocol;
397
435
  bundleSettings.server.scheme = scheme;
398
436
  if ( /http\/2/.test(protocol) && typeof(bundleSettings.server.allowHTTP1) == 'undefined' ) {
@@ -402,66 +440,68 @@ function Set(opt, cmd) {
402
440
  }
403
441
  lib.generator.createFileFromDataSync(bundleSettings, settingsPath);
404
442
  }
405
- }
443
+ }
406
444
  }
407
- }
408
- }
409
- }
445
+ }
446
+ }
447
+ }
410
448
  }
411
-
412
-
413
-
449
+
450
+
451
+
414
452
  // save to ~/.gina/projects.json
415
453
  lib.generator.createFileFromDataSync(projectConfig, self.projectConfigPath);
416
454
  // save to ~/.gina/ports.json
417
455
  lib.generator.createFileFromDataSync(ports, self.portsPath);
418
456
  // save to ~/.gina/ports.reverse.json
419
457
  lib.generator.createFileFromDataSync(portsReverse, self.portsReversePath);
420
-
458
+
421
459
  self.mainConfigUpdated = true;
422
- end()
423
-
460
+
461
+ console.log('Protocol updated with success ;)');
462
+ end('You need to restart your ' + self.actionType);
424
463
  };
425
464
 
426
465
  var setBundleOnly = function(protocol, scheme) {
427
466
  loadAssets();
428
-
429
- // are selected protocol & scheme allowed ?
467
+
468
+ // are selected protocol & scheme allowed ?
430
469
  if ( self.protocolsAvailable.indexOf(protocol) < 0 ) {
431
- console.error('Protocol [ '+scheme+' ] is not an allowed protocol: check your framework configuration (~/main.json)');
470
+ console.error('Protocol [ '+protocol+' ] is not an allowed protocol: check your framework configuration (~/main.json)');
432
471
  process.exit(1);
433
472
  }
434
473
  if ( self.schemesAvailable.indexOf(scheme) < 0 ) {
435
474
  console.error('Scheme [ '+scheme+' ] is not an allowed scheme: check your framework configuration (~/main.json)');
436
475
  process.exit(1);
437
- }
438
-
476
+ }
477
+
439
478
  // get user protocols list
440
479
  var protocols = JSON.clone(self.protocols);
441
480
  // get user schemes list
442
481
  var schemes = JSON.clone(self.schemes);
443
-
482
+
444
483
  var projectConfig = JSON.clone(local.projectConfig);
445
-
484
+
446
485
  if ( protocols.indexOf(protocol) < 0 ) {
447
486
  protocols.push(protocol);
448
- self.protocols = protocols;
449
- projectConfig[self.projectName].protocols = protocols;
487
+ self.protocols = protocols;
488
+ projectConfig[self.projectName].protocols = protocols;
450
489
  }
451
490
  if ( schemes.indexOf(scheme) < 0 ) {
452
491
  schemes.push(scheme);
453
- self.schemes = schemes;
454
- projectConfig[self.projectName].schemes = schemes;
492
+ self.schemes = schemes;
493
+ projectConfig[self.projectName].schemes = schemes;
455
494
  }
456
-
495
+
457
496
  //console.debug('Setting project protocol & scheme: '+ protocol +' - '+scheme + '\n\r protocols: '+ self.protocols + '\n\r schemes: '+ self.schemes);
458
497
  //process.exit(0);
459
498
  // is existing ?
460
499
  //var found = protocols.indexOf(protocol);
461
- //if ( found < 0 || schemes.indexOf(scheme) < 0 ) exit(); // not possible in theory
462
-
500
+ //if ( found < 0 || schemes.indexOf(scheme) < 0 ) exit(); // not possible in theory
501
+
463
502
  //var bundles = self.bundles;
464
503
  var envs = self.envs;
504
+ var scopes = self.scopes;
465
505
  var re = new RegExp('\@'+ self.projectName +'$', '');
466
506
  var ports = JSON.clone(local.ports);
467
507
  var portsReverse = JSON.clone(local.portsReverse);
@@ -472,21 +512,19 @@ function Set(opt, cmd) {
472
512
  ports[protocol][scheme] = {};
473
513
  }
474
514
 
475
- var bundleConfig = self.bundlesByProject[self.projectName][self.name];
515
+ var bundleConfig = self.bundlesByProject[self.projectName][self.name];
476
516
  var settingsPath = _(bundleConfig.configPaths.settings, true);
477
- //var envSettingsPath = _(settingsPath.replace(/\.json/, '.'+ env +'.json'), true);
478
- //var env = bundleConfig.defaultEnv;
479
-
517
+
480
518
  var settings = {};
481
-
519
+
482
520
  if ( fs.existsSync(settingsPath) ) {
483
521
  settings = requireJSON(settingsPath);
484
522
  }
485
-
523
+
486
524
  if ( typeof(settings.server) == 'undefined' ) {
487
525
  settings.server = {}
488
526
  }
489
-
527
+
490
528
  var port = null
491
529
  , portsAvailable = local.portsAvailable
492
530
  , portValue = null
@@ -498,65 +536,65 @@ function Set(opt, cmd) {
498
536
  , s = null //scheme
499
537
  , p = null // protocol
500
538
  ;
501
-
502
-
503
- // bundle ports
539
+
540
+
541
+ // bundle ports
504
542
  e = 0;
505
- for (; e < eLen; ++e) { // for each env
506
-
543
+ for (; e < eLen; ++e) { // for each env
544
+
507
545
  // check if already set
508
546
  found = false;
509
547
  for (i in ports) {
510
548
  if (i != protocol) continue;
511
-
549
+
512
550
  for (s in ports[protocol]) {
513
551
  if (s != scheme) continue;
514
-
552
+
515
553
  for (p in ports[protocol][s]) {
516
554
  if ( ports[protocol][s][p] == self.name +'@'+ self.projectName +'/'+ envs[e] ) {
517
555
  found = true;
518
556
  break
519
557
  }
520
558
  }
521
- if (found) break;
559
+ if (found) break;
522
560
  }
523
- if (found) break;
561
+ if (found) break;
524
562
  }
525
-
563
+
526
564
  if (!found) {
527
- portValue = self.name +'@'+ self.projectName +'/'+ envs[e];
565
+ portValue = self.name +'@'+ self.projectName +'/'+ envs[e];
528
566
  // ports
529
- port = portsAvailable.splice(0, 1)[0];
567
+ port = portsAvailable.splice(0, 1)[0];
530
568
  ports[protocol][scheme][port] = portValue;
531
-
569
+
532
570
  b = portValue.split(/\//)[0];
533
571
  // portReverse
534
572
  if ( typeof(portsReverse[b]) == 'undefined' )
535
573
  portsReverse[b] = {};
536
-
574
+
537
575
  if ( typeof(portsReverse[b][ envs[e] ]) == 'undefined' )
538
576
  portsReverse[b][ envs[e] ] = {};
539
-
577
+
540
578
  if ( typeof(portsReverse[b][ envs[e] ][protocol]) == 'undefined' )
541
579
  portsReverse[b][ envs[e] ][ protocol ] = {};
542
-
580
+
543
581
  if ( typeof(portsReverse[b][ envs[e] ][protocol][scheme]) == 'undefined' )
544
582
  portsReverse[b][ envs[e] ][ protocol ][ scheme ] = {};
545
-
583
+
546
584
  if ( re.test(b)) {
547
- portsReverse[b][ envs[e] ][ protocol ][ scheme ] = ~~port;
548
- }
549
- }
550
- }
551
-
552
-
585
+ portsReverse[b][ envs[e] ][ protocol ][ scheme ] = ~~port;
586
+ }
587
+ }
588
+ }
589
+
590
+
553
591
  // save to ~/.gina/ports.json
554
592
  lib.generator.createFileFromDataSync(ports, self.portsPath);
555
593
  // save to ~/.gina/ports.reverse.json
556
594
  lib.generator.createFileFromDataSync(portsReverse, self.portsReversePath);
557
-
558
-
559
- // updating bundle internal config/settings
595
+
596
+
597
+ // updating bundle internal config/settings
560
598
  settings.server.protocol = protocol;
561
599
  settings.server.scheme = scheme;
562
600
  if ( /http\/2/.test(protocol) && typeof(settings.server.allowHTTP1) == 'undefined' ) {
@@ -566,27 +604,19 @@ function Set(opt, cmd) {
566
604
  }
567
605
  // save to bundle's /config/settings.json
568
606
  lib.generator.createFileFromDataSync(settings, settingsPath);
569
-
607
+
570
608
  self.bundleConfigUpdated = true;
571
-
572
- end()
573
- };
574
-
575
- var end = function () {
576
-
609
+
577
610
  console.log('Protocol updated with success ;)');
578
- if ( self.mainConfigUpdated || self.portsUpdated || self.portsReverseUpdated || self.bundleConfigUpdated )
579
- console.log('You need to restart your ' + self.actionType);
580
-
581
- exit()
582
- }
583
-
611
+ end('You need to restart your ' + self.actionType);
612
+ };
613
+
584
614
  var rollback = function(err) {
585
615
  console.error('[ CLI ] could not complete protocol creation: ', (err.stack||err.message));
586
616
  console.info('[ CLI ] rolling back...');
587
617
 
588
618
  var writeFiles = function() {
589
-
619
+
590
620
  //restore env.json
591
621
  if ( typeof(local.envDataWrote) == 'undefined' ) {
592
622
  lib.generator.createFileFromDataSync(self.envData, self.envPath);
@@ -626,6 +656,25 @@ function Set(opt, cmd) {
626
656
  // }
627
657
  };
628
658
 
659
+ var end = function (output, type, messageOnly) {
660
+ var err = false;
661
+ if ( typeof(output) != 'undefined') {
662
+ if ( output instanceof Error ) {
663
+ err = output = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? output.message : (output.stack||output.message);
664
+ }
665
+ if ( typeof(type) != 'undefined' ) {
666
+ console[type](output);
667
+ if ( messageOnly && type != 'log') {
668
+ console.log(output);
669
+ }
670
+ } else {
671
+ console.log(output);
672
+ }
673
+ }
674
+
675
+ process.exit( err ? 1:0 )
676
+ }
677
+
629
678
  init();
630
679
  }
631
680
  module.exports = Set;