gina 0.1.1-alpha.98 → 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.98/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.98/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.98/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.98 → v0.1.2-alpha.1}/core/config.js +315 -131
  20. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  23. package/framework/{v0.1.1-alpha.98 → 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.98 → 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.98 → 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.98 → 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.98 → v0.1.2-alpha.1}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/gna.js +48 -24
  35. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/form-validator.js +404 -300
  53. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/main.js +1384 -1314
  54. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/router.js +221 -122
  55. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.express.js +69 -65
  56. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.isaac.js +274 -180
  57. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  60. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/templates.json +4 -4
  61. package/framework/{v0.1.1-alpha.98 → 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.98 → 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.98/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.98 → v0.1.2-alpha.1}/core/template/command/gina.tpl +4 -4
  70. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/env.json +12 -0
  71. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/manifest.json +2 -0
  72. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/core/template/conf/templates.json +9 -9
  75. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/console.js +3 -3
  76. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/helpers/dateFormat.js +9 -7
  82. package/framework/{v0.1.1-alpha.98 → 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.98/helpers/plugins → v0.1.2-alpha.1/helpers/json}/package.json +2 -2
  86. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/json/src/main.js +33 -28
  87. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/path.js +97 -22
  88. package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/helpers/plugins}/package.json +2 -2
  89. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/api-error.js +23 -23
  90. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/main.js +3 -3
  91. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/prototypes.js +46 -38
  92. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/text.js +2 -2
  93. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/package.json +1 -1
  94. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/dep/jszip.min.js +3 -3
  95. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/main.js +183 -168
  96. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/aliases.json +4 -1
  97. package/framework/{v0.1.1-alpha.98 → 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.98 → 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.98 → v0.1.2-alpha.1}/lib/cmd/bundle/remove.js +39 -27
  102. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/restart.js +14 -8
  103. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/start.js +283 -49
  104. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/stop.js +93 -74
  105. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/add.js +87 -49
  106. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/list.js +26 -4
  107. package/framework/{v0.1.1-alpha.98/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.98 → v0.1.2-alpha.1}/lib/cmd/framework/open.js +25 -1
  114. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/restart.js +78 -26
  115. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/set.js +120 -40
  116. package/framework/{v0.1.1-alpha.98 → 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.98 → 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.98 → v0.1.2-alpha.1}/lib/cmd/framework/version.js +19 -4
  121. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/helper.js +357 -53
  122. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/lib/cmd/project/add.js +344 -157
  127. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/arguments.json +2 -1
  128. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/build.js +28 -28
  129. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.txt +7 -1
  130. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/list.js +22 -2
  131. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/remove.js +19 -17
  132. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rename.js +11 -11
  133. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.txt +4 -4
  136. package/framework/{v0.1.1-alpha.98/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.98 → 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.98 → v0.1.2-alpha.1}/lib/cmd/view/add.js +35 -10
  141. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/package.json +1 -1
  142. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/src/main.js +247 -244
  143. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/config.js +33 -31
  144. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/package.json +1 -1
  145. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/lib/generator/index.js +5 -5
  152. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/index.js +3 -2
  153. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1/lib/inherits}/LICENSE +1 -1
  154. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/README.md +2 -2
  155. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/package.json +3 -4
  156. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/src/main.js +3 -3
  157. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/package.json +2 -2
  158. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/default/index.js +15 -2
  159. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/index.js +109 -14
  160. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/index.js +12 -3
  161. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/listener.js +29 -21
  162. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/speaker.js +33 -4
  163. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/helper.js +22 -1
  164. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/main.js +36 -9
  165. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/math/index.js +9 -9
  166. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/README.md +2 -2
  167. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/package.json +1 -1
  168. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/src/main.js +118 -91
  169. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/model.js +10 -10
  170. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/proc.js +92 -49
  171. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/package.json +1 -1
  172. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/src/main.js +377 -420
  173. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/session-store.js +13 -7
  174. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/shell.js +3 -3
  175. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/swig-filters/package.json +1 -1
  176. package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/lib/validator.js +2 -2
  179. package/framework/{v0.1.1-alpha.98 → 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 +180 -90
  186. package/script/pre_install.js +97 -13
  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.98/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.98/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.98/VERSION +0 -1
  218. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.js.map +0 -56
  219. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css +0 -1
  220. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  221. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js +0 -736
  222. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  223. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  224. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  225. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/connector.js +0 -20
  226. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/session-store.js +0 -21
  227. package/framework/v0.1.1-alpha.98/core/controller/index.js +0 -27
  228. package/framework/v0.1.1-alpha.98/core/locales/dist/region/en.json +0 -9492
  229. package/framework/v0.1.1-alpha.98/core/locales/dist/region/fr.json +0 -9492
  230. package/framework/v0.1.1-alpha.98/core/locales/src/resources/region.mapping.json +0 -28
  231. package/framework/v0.1.1-alpha.98/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  232. package/framework/v0.1.1-alpha.98/core/template/conf/statics.json +0 -10
  233. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/arguments.json +0 -4
  234. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/list.js +0 -129
  235. package/framework/v0.1.1-alpha.98/lib/cmd/env/remove.js +0 -150
  236. package/framework/v0.1.1-alpha.98/lib/cmd/framework/init.js +0 -541
  237. package/framework/v0.1.1-alpha.98/lib/cmd/framework/status.js +0 -72
  238. package/framework/v0.1.1-alpha.98/lib/cmd/framework/tail.js +0 -184
  239. package/framework/v0.1.1-alpha.98/lib/cmd/port/inc/scan.js +0 -108
  240. package/framework/v0.1.1-alpha.98/lib/cmd/port/list.js +0 -176
  241. package/framework/v0.1.1-alpha.98/lib/cmd/scope/set.js +0 -57
  242. package/framework/v0.1.1-alpha.98/lib/cmd/scope/unset.js +0 -44
  243. package/framework/v0.1.1-alpha.98/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.98/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  247. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/AUTHORS +0 -0
  248. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/nolayout.html +0 -0
  249. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/static.html +0 -0
  250. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-192x192.png +0 -0
  251. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-512x512.png +0 -0
  252. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/apple-touch-icon.png +0 -0
  253. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-16x16.png +0 -0
  254. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-32x32.png +0 -0
  255. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon.ico +0 -0
  256. /package/framework/{v0.1.1-alpha.98/core/asset/js → v0.1.2-alpha.1/core/asset}/plugin/uuid.json +0 -0
  257. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  258. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/controller/controller.framework.js +0 -0
  259. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/.travis.yml +0 -0
  260. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/LICENSE +0 -0
  261. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/README.md +0 -0
  262. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  263. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  264. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/main.js +0 -0
  265. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/multipart.js +0 -0
  266. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  267. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/utils.js +0 -0
  268. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/package.json +0 -0
  269. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  270. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/tools.js +0 -0
  271. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/currency.json +0 -0
  272. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/en.json +0 -0
  273. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/fr.json +0 -0
  274. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/currency.csv +0 -0
  275. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/region.csv +0 -0
  276. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/mime.types +0 -0
  277. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/README.md +0 -0
  279. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/build.json +0 -0
  280. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/README.md +0 -0
  281. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/build.json +0 -0
  282. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/README.md +0 -0
  283. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/build.json +0 -0
  284. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/README.md +0 -0
  285. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/build.json +0 -0
  286. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/status.codes +0 -0
  287. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  288. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  289. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  290. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  291. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  292. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  293. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  294. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  295. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  296. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  297. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/settings.json +0 -0
  298. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/401.json +0 -0
  299. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/403.json +0 -0
  300. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/404.json +0 -0
  301. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/html/50x.html +0 -0
  302. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/500.json +0 -0
  303. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/503.json +0 -0
  304. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/extensions/logger/config.json +0 -0
  305. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/README.md +0 -0
  306. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/task.js +0 -0
  307. /package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/lib/archiver}/README.md +0 -0
  308. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/build.json +0 -0
  309. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/copy.js +0 -0
  310. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/cp.js +0 -0
  311. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rename.js +0 -0
  313. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rm.js +0 -0
  314. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/status.js +0 -0
  315. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/get.js +0 -0
  316. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.js +0 -0
  317. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.txt +0 -0
  318. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/link-dev.js +0 -0
  319. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/rm.js +0 -0
  320. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/set.js +0 -0
  321. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/unset.js +0 -0
  322. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/dot.js +0 -0
  323. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/get.js +0 -0
  324. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.js +0 -0
  325. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.txt +0 -0
  326. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/update.js +0 -0
  328. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-dev.1.md +0 -0
  329. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-framework.1.md +0 -0
  330. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina.1.md +0 -0
  331. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/msg.json +0 -0
  332. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.js +0 -0
  333. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.txt +0 -0
  334. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/set.js +0 -0
  335. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.js +0 -0
  336. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/restart.js +0 -0
  339. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rm.js +0 -0
  340. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/start.js +0 -0
  341. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/status.js +0 -0
  342. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/stop.js +0 -0
  343. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.js +0 -0
  344. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.txt +0 -0
  345. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/list.js +0 -0
  346. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.js +0 -0
  347. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/link-local.js +0 -0
  348. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/rm.js +0 -0
  349. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.98/lib/archiver/README.md → v0.1.2-alpha.1/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.98/lib/routing/README.md → v0.1.2-alpha.1/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.98 → 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.98 → v0.1.2-alpha.1}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.98/lib/swig-filters → v0.1.2-alpha.1/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.98/lib/url → v0.1.2-alpha.1/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/test.js +0 -0
@@ -1,4 +1,7 @@
1
1
  var fs = require('fs');
2
+ var os = require('os');
3
+ var util = require('util');
4
+ var promisify = util.promisify;
2
5
 
3
6
  var CmdHelper = require('./../helper');
4
7
  var Shell = lib.Shell;
@@ -28,14 +31,20 @@ function Add(opt, cmd) {
28
31
 
29
32
  // check CMD configuration
30
33
  if ( !isCmdConfigured() ) return false;
31
-
32
- local.imported = false;
34
+ for (let i=3, len=process.argv.length; i<len; i++) {
35
+ if ( /^\-\-start\-port\-from\=/.test(process.argv[i]) ) {
36
+ self.startFrom = process.argv[i].split(/\=/)[1]
37
+ }
38
+ }
39
+
40
+ local.imported = ( /\:import/i.test(self.task) ) ? true : false;
33
41
  if ( checkImportMode() ) {
34
42
  return;
35
43
  }
36
44
 
37
45
  var err = false
38
46
  , folder = null
47
+ , file = null
39
48
  ;
40
49
 
41
50
  folder = new _(self.projectLocation);
@@ -50,45 +59,44 @@ function Add(opt, cmd) {
50
59
  }
51
60
  }
52
61
 
53
-
54
- // creating project file
55
- var file = new _(self.projectLocation + '/manifest.json', true);
62
+ // creating package file
63
+ file = new _(self.projectLocation + '/package.json', true);
56
64
  if ( !file.existsSync() ) {
57
- createProjectFile( file.toString() )
65
+ createPackageFile( file.toString() )
58
66
  } else {
59
- console.warn('[ manifest.json ] already exists in this location: '+ file);
67
+ console.warn('[ package.json ] already exists in this location: '+ file + '\nUpdating package.json...');
68
+ createPackageFile( file.toString(), true )
60
69
  }
61
70
 
71
+ // creating project manifest
72
+ file = new _(self.projectManifestPath, true);
73
+ // override for `add` & `import`
74
+ // if ( !file.existsSync() ) {
75
+ createManifestFile( file.toString() )
76
+ // } else {
77
+ // console.warn('[ manifest.json ] already exists in this location: '+ file);
78
+ // }
79
+
62
80
  // creating env file
63
- var file = new _(self.projectLocation + '/env.json', true);
81
+ file = new _(self.projectLocation + '/env.json', true);
64
82
  if ( !file.existsSync() ) {
65
83
  createEnvFile( file.toString() )
66
84
  } else {
67
85
  console.warn('[ env.json ] already exists in this location: '+ file);
68
86
  }
69
-
70
- // creating package file
71
- file = new _(self.projectLocation + '/package.json', true);
72
- if ( !file.existsSync() ) {
73
- createPackageFile( file.toString() )
74
- } else {
75
- console.warn('[ package.json ] already exists in this location: '+ file);
76
-
77
- end()
78
- }
79
87
  }
80
88
 
81
89
  var checkImportMode = function() {
82
-
90
+
83
91
  if ( self.task != 'project:import')
84
92
  return;
85
-
93
+
86
94
  console.debug('Starting import mode @'+ self.projectName );
87
95
  if (!self.projects[self.projectName ]) {
88
96
  console.error('[ '+ self.projectName +' ] is not an existing project. Instead, use gina projet:add @'+ self.projectName +' --path=/your/project_location');
89
97
  process.exit(1)
90
98
  }
91
-
99
+
92
100
  if ( typeof(self.projects[self.projectName ]) != 'undefined' ) {
93
101
  // import if exists but path just changed
94
102
  if ( typeof(self.projects[self.projectName ].path) != 'undefined') {
@@ -99,13 +107,13 @@ function Add(opt, cmd) {
99
107
  self.projects[self.projectName ].path = self.projectLocation;
100
108
 
101
109
  var target = _(GINA_HOMEDIR + '/projects.json')
102
- , projects = self.projects;
110
+ , projects = JSON.clone(self.projects);
103
111
 
104
112
  lib.generator.createFileFromDataSync(
105
113
  projects,
106
114
  target
107
115
  );
108
-
116
+
109
117
 
110
118
  var ginaModule = _( self.projectLocation +'/node_modules/gina',true );
111
119
 
@@ -116,7 +124,7 @@ function Add(opt, cmd) {
116
124
  process.exit(1)
117
125
  },
118
126
  function onSuccess() {
119
- local.imported = true;
127
+ local.imported = true;
120
128
  end();
121
129
  return true;
122
130
  })
@@ -134,15 +142,49 @@ function Add(opt, cmd) {
134
142
  }
135
143
  }
136
144
 
137
- var createProjectFile = function(target) {
145
+ var createManifestFile = function(target) {
138
146
 
139
147
  loadAssets();
140
148
 
141
149
  var conf = _(getPath('gina').core +'/template/conf/manifest.json', true);
142
- var contentFile = require(conf);
150
+ var contentFile = requireJSON(conf);
151
+ var packageContent = requireJSON(_(self.projectLocation + '/package.json', true));
152
+ var version = packageContent.version || "1.0.0";
153
+ // hostname by default
154
+ var rootDomain = os.hostname();
155
+ // fqdn by default
156
+ var shortVersion = GINA_SHORT_VERSION;// jshint ignore:line
157
+ home = GINA_HOMEDIR;// jshint ignore:line
158
+ var homeVersionDirObj = new _( home +'/'+ shortVersion, true );
159
+ var settingsPath = _( homeVersionDirObj.toString() +'/settings.json', true );// jshint ignore:line
160
+ if ( new _(settingsPath).existsSync() ) {
161
+ var settings = requireJSON(settingsPath);// jshint ignore:line
162
+ if ( settings.hostname != 'localhost' ) {
163
+ rootDomain = settings.hostname;
164
+ }
165
+ }
166
+ var bundles = {};
167
+ if ( new _(target).existsSync() ) {
168
+ var existingManifest = requireJSON(target);
169
+ if ( typeof(existingManifest.rootDomain) != 'undefined' && existingManifest.rootDomain != os.hostname() ) {
170
+ rootDomain = existingManifest.rootDomain;
171
+ }
172
+ existingManifest.version = version;
173
+ existingManifest.rootDomain = rootDomain;
174
+ if ( typeof(existingManifest.bundles) != 'undefined' ) {
175
+ bundles = JSON.clone(existingManifest.bundles);
176
+ delete existingManifest.bundles;
177
+ }
178
+
179
+ contentFile = merge(existingManifest, contentFile);
180
+ contentFile.bundles = bundles;
181
+ }
182
+
143
183
  var dic = {
144
184
  "project" : self.projectName,
145
- "version" : "1.0.0"
185
+ "version" : version,
186
+ "scope" : self.defaultScope,
187
+ "rootDomain": rootDomain
146
188
  };
147
189
 
148
190
  contentFile = whisper(dic, contentFile); //data
@@ -153,7 +195,7 @@ function Add(opt, cmd) {
153
195
  }
154
196
 
155
197
  var createEnvFile = function(target) {
156
-
198
+
157
199
  lib.generator.createFileFromDataSync(
158
200
  {},
159
201
  target
@@ -161,12 +203,14 @@ function Add(opt, cmd) {
161
203
  }
162
204
 
163
205
 
164
- var createPackageFile = function(target) {
206
+ var createPackageFile = function(target, isCreatedFromExistingPackage) {
165
207
 
166
208
  loadAssets();
167
209
 
168
210
  var conf = _(getPath('gina').core +'/template/conf/package.json', true);
169
- var contentFile = require(conf);
211
+ var contentFile = requireJSON(conf);
212
+
213
+
170
214
  var dic = {
171
215
  'project' : self.projectName,
172
216
  'node_version' : GINA_NODE_VERSION.match(/\d+/g).join('.'),
@@ -174,6 +218,18 @@ function Add(opt, cmd) {
174
218
  };
175
219
 
176
220
  contentFile = whisper(dic, contentFile);//data
221
+
222
+ // Updating package.json if needed
223
+ if (
224
+ typeof(isCreatedFromExistingPackage) != 'undefined'
225
+ && /^true$/i.test(isCreatedFromExistingPackage)
226
+ ) {
227
+ var existingPack = require(target);
228
+ contentFile = merge(contentFile, existingPack);
229
+ contentFile.version = existingPack.version || "1.0.0";
230
+ new _(target, true).rmSync()
231
+ }
232
+
177
233
  lib.generator.createFileFromDataSync(
178
234
  contentFile,
179
235
  target
@@ -182,31 +238,56 @@ function Add(opt, cmd) {
182
238
  end(true)
183
239
  }
184
240
 
185
- var end = function(created) {
186
-
241
+ var end = async function(created) {
187
242
 
188
243
  var target = _(GINA_HOMEDIR + '/projects.json')
189
- , projects = self.projects
190
- , error = false;
244
+ , projects = JSON.clone(self.projects)
245
+ , error = false
246
+ ;
191
247
 
192
-
193
248
  projects[self.projectName] = {
194
- "path": self.projectLocation,
195
- "framework": "v" + GINA_VERSION,
196
- "envs": self.envs,
197
- "def_env": self.defaultEnv,
198
- "dev_env": self.devEnv,
199
- "protocols": (created) ? self.protocolsAvailable : self.protocols,
200
- "def_protocol": self.defaultProtocol,
201
- "schemes": (created) ? self.schemesAvailable : self.schemes,
202
- "def_scheme": self.defaultScheme
249
+ "path" : self.projectLocation,
250
+ "homedir" : self.projectHomedir,
251
+ "def_prefix" : GINA_PREFIX,
252
+ "framework" : "v" + GINA_VERSION,
253
+ "envs" : self.envs,
254
+ "def_env" : self.defaultEnv,
255
+ "dev_env" : self.devEnv,
256
+ "scopes" : self.scopes,
257
+ "def_scope" : self.defaultScope,
258
+ "local_scope" : self.localScope,
259
+ "production_scope" : self.productionScope,
260
+ "protocols" : (created) ? self.protocolsAvailable : self.protocols,
261
+ "def_protocol" : self.defaultProtocol,
262
+ "schemes" : (created) ? self.schemesAvailable : self.schemes,
263
+ "def_scheme" : self.defaultScheme
203
264
  };
204
-
205
- // create/update ports, protocols & schemes
206
- if ( /^true$/.test(local.imported) ) {
207
- addBundlePorts(0);
265
+
266
+ // On import only
267
+ if ( /^true$/i.test(local.imported) ) {
268
+ self.bundles.sort();
269
+ var bundleErr = null;
270
+ // Create/update ports, protocols & schemes
271
+ await promisify(addBundlePorts)(0)
272
+ .catch( function onBundlePortsError(err) {
273
+ bundleErr = err;
274
+ });
275
+ if (bundleErr) {
276
+ console.error('Could not finalize [ addBundlePorts ] \n'+ bundleErr.stack);
277
+ process.exit(1)
278
+ }
279
+
280
+ // Create/update manifest
281
+ await promisify(addBundleToManifest)(null, 0)
282
+ .catch( function onBundleError(err) {
283
+ bundleErr = err;
284
+ });
285
+ if (bundleErr) {
286
+ console.error('Could not finalize [ addBundleToManifest ] \n'+ bundleErr.stack);
287
+ process.exit(1)
288
+ }
208
289
  }
209
-
290
+
210
291
 
211
292
  // writing file
212
293
  lib.generator.createFileFromDataSync(
@@ -214,13 +295,15 @@ function Add(opt, cmd) {
214
295
  target
215
296
  );
216
297
 
298
+
299
+
217
300
  var onSuccess = function () {
218
- if ( self.task == 'project:add' ) {
301
+ if ( /project\:add/i.test(self.task) ) {
219
302
  console.log('Project [ '+ self.projectName +' ] has been added');
220
303
  } else {
221
304
  console.log('Project [ '+ self.projectName +' ] has been imported');
222
305
  }
223
-
306
+
224
307
  process.exit(0)
225
308
  }
226
309
 
@@ -228,15 +311,15 @@ function Add(opt, cmd) {
228
311
  console.error('Could not finalize [ '+ self.projectName +' ] install\n'+ err.stack);
229
312
  process.exit(1)
230
313
  }
231
-
232
-
314
+
315
+
233
316
 
234
317
 
235
318
  var ginaModule = new _( self.projectLocation +'/node_modules/gina',true );
236
319
 
237
320
  if ( !ginaModule.existsSync() ) {
238
321
  linkGina(onError, onSuccess)
239
- } else {
322
+ } else if ( /^true$/i.test(GINA_GLOBAL_MODE) ) {
240
323
 
241
324
  error = ginaModule.rmSync();
242
325
 
@@ -247,13 +330,15 @@ function Add(opt, cmd) {
247
330
  linkGina(onError, onSuccess)
248
331
  }
249
332
 
333
+ } else {
334
+ onSuccess()
250
335
  }
251
336
  }
252
-
337
+
253
338
  var hasPastProtocolAndSchemeCheck = function (protocol, scheme, exitOnError) {
254
339
  loadAssets();
255
-
256
- // are selected protocol & scheme allowed ?
340
+
341
+ // are selected protocol & scheme allowed ?
257
342
  if ( self.protocolsAvailable.indexOf(protocol) < 0 ) {
258
343
  console.error('Protocol [ '+scheme+' ] is not an allowed protocol: check your framework configuration (~/main.json)');
259
344
  if ( typeof(exitOnError) != 'undefined' && exitOnError)
@@ -265,31 +350,32 @@ function Add(opt, cmd) {
265
350
  process.exit(1)
266
351
  }
267
352
  }
268
-
353
+
269
354
  /**
355
+ * addBundlePorts
270
356
  * Add / update project default protocol, scheme & ports
271
- *
357
+ *
358
+ * NB.: also used in `port:reset` task
359
+ *
272
360
  * @param {number} b - Bundle index
361
+ * @callback done
362
+ * @param {object|bool} err
363
+ * @param {array} ports
273
364
  */
274
-
275
- // var addBundlePorts = function(b) {
276
-
277
- // }
278
-
279
- var addBundlePorts = function(b) {
365
+ var addBundlePorts = async function(b, done) {
280
366
  loadAssets();
281
-
367
+
282
368
  if (b > self.bundles.length-1) { // writing to files on complete
283
-
284
- hasPastProtocolAndSchemeCheck(self.defaultProtocol, self.defaultScheme, true);
285
-
369
+
370
+ hasPastProtocolAndSchemeCheck(self.defaultProtocol, self.defaultScheme, true);
371
+
286
372
  //console.debug('self.protocols ...', self.protocols);
287
373
  // get user protocols list
288
374
  var protocols = JSON.clone(self.protocols);
289
375
  // get user schemes list
290
376
  var schemes = JSON.clone(self.schemes);
291
377
  var projectConfig = JSON.clone(self.projects);
292
-
378
+
293
379
  //console.debug('about to update project ports conf\n\rBundles: '+ JSON.stringify(self.projectData, null, 4));
294
380
  var ports = JSON.clone(self.portsData) // cloning
295
381
  , portsReverse = JSON.clone(self.portsReverseData) // cloning
@@ -300,165 +386,170 @@ function Add(opt, cmd) {
300
386
  , defaultProtocol = self.defaultProtocol
301
387
  , defaultScheme = self.defaultScheme
302
388
  ;
303
-
389
+
304
390
  if ( typeof(ports[defaultProtocol]) == 'undefined' ) {
305
391
  ports[defaultProtocol] = {};
306
392
  }
307
-
393
+
308
394
  if ( typeof(ports[defaultProtocol][defaultScheme]) == 'undefined' ) {
309
395
  ports[defaultProtocol][defaultScheme] = {};
310
396
  }
311
-
397
+
312
398
  // to fixe bundle settings inconsistency
313
- var bundleConfig = null;
399
+ var bundleConfig = null;
314
400
  var settingsPath = null;
315
401
  var bundleSettingsUpdate = false;
316
-
402
+
317
403
  var portValue = null, portReverseValue = null;
318
404
  var re = null, portsListStr = JSON.stringify(self.portsData);
319
-
405
+
320
406
  for (;i < portsList.length; ++i) {
321
-
407
+
322
408
  if ( !ports.count() ) {
323
409
  ports[defaultProtocol] = {};
324
410
  ports[defaultProtocol][defaultScheme] = {};
325
411
  ports[defaultProtocol][defaultScheme][ portsList[i] ] = null;
326
412
  }
327
-
328
-
329
- for ( var protocol in ports ) {
413
+
414
+
415
+ for ( let protocol in ports ) {
330
416
  // ignore unmatched protocol : in case of the framework update
331
417
  if ( self.protocolsAvailable.indexOf(protocol) < 0) {
332
418
  delete ports[protocol];
333
419
  if ( protocols.indexOf(protocol) < 0) {
334
- delete self.protocols[self.protocols.indexOf(protocol)];
335
- }
336
- continue;
420
+ delete self.protocols[self.protocols.indexOf(protocol)];
421
+ }
422
+ continue;
337
423
  }
338
-
339
- for (var scheme in ports[protocol]) {
340
-
424
+
425
+ for (let scheme in ports[protocol]) {
426
+
427
+ // skipping none `https` schemes for `http/2`
428
+ if ( /^http\/2/.test(protocol) && scheme != 'https' ) {
429
+ console.debug('skipping none `https` schemes for `http/2`');
430
+ continue;
431
+ }
432
+
341
433
  if ( !ports[protocol][scheme].count() ) {
342
434
  ports[protocol][scheme][ portsList[i] ] = null;
343
435
  }
344
-
345
- for (var b = 0, bLen = self.bundles.length; b < bLen; ++b) {
346
-
347
- local.bundle = self.bundles[b];
348
-
436
+
437
+ for (let b = 0, bLen = self.bundles.length; b < bLen; ++b) {
438
+
439
+ local.bundle = self.bundles[b];
440
+
349
441
  // bundle settings inconsistency check @ fix
350
- bundleName = local.bundle;
351
- bundleConfig = self.bundlesByProject[self.projectName][bundleName];
352
- settingsPath = _(bundleConfig.configPaths.settings, true);
442
+ bundleName = local.bundle;
443
+ bundleConfig = self.bundlesByProject[self.projectName][bundleName];
444
+ settingsPath = _(bundleConfig.configPaths.settings, true);
353
445
  bundleSettingsUpdate = false;
354
-
446
+
355
447
  if ( fs.existsSync(settingsPath) ) {
356
-
357
- bundleSettings = requireJSON(settingsPath);
358
- //console.debug('found [ '+ bundleName +' ] settings ');
359
- if ( typeof(bundleSettings.server) != 'undefined' ) {
360
- // update only if given bundle protocol setting not in project protocols list
361
- // use project def_protocol by default in that case
362
- if (
363
- typeof(bundleSettings.server.protocol) != 'undefined'
448
+
449
+ bundleSettings = requireJSON(settingsPath);
450
+ //console.debug('found [ '+ bundleName +' ] settings ');
451
+ if ( typeof(bundleSettings.server) != 'undefined' ) {
452
+ // update only if given bundle protocol setting not in project protocols list
453
+ // use project def_protocol by default in that case
454
+ if (
455
+ typeof(bundleSettings.server.protocol) != 'undefined'
364
456
  && protocols.indexOf(bundleSettings.server.protocol) < 0
365
457
  ) {
366
458
  bundleSettings.server.protocol = self.defaultProtocol;
367
459
  bundleSettingsUpdate = true
368
460
  }
369
-
370
- // update only if given bundle scheme setting not in project schemes list
371
- // use project def_scheme by default in that case
372
- if (
373
- typeof(bundleSettings.server.scheme) != 'undefined'
461
+
462
+ // update only if given bundle scheme setting not in project schemes list
463
+ // use project def_scheme by default in that case
464
+ if (
465
+ typeof(bundleSettings.server.scheme) != 'undefined'
374
466
  && schemes.indexOf(bundleSettings.server.scheme) < 0
375
467
  ) {
376
468
  bundleSettings.server.scheme = self.defaultScheme;
377
469
  bundleSettingsUpdate = true
378
470
  }
379
-
380
- if (bundleSettingsUpdate) {
471
+
472
+ if (bundleSettingsUpdate) {
381
473
  lib.generator.createFileFromDataSync(bundleSettings, settingsPath);
382
474
  console.debug('updated [ '+ bundleName +' ] settings');
383
475
  }
384
- }
385
- }
386
-
476
+ }
477
+ }
478
+
387
479
  // updating ports
388
- for (var port in ports[protocol][scheme]) {
389
-
390
-
391
- for (var e = 0, envsLen = envs.length; e < envsLen; ++e ) {
392
-
480
+ for (let port in ports[protocol][scheme]) {
481
+
482
+
483
+ for (let e = 0, envsLen = envs.length; e < envsLen; ++e ) {
484
+
393
485
  if (!portsList[i]) break;
394
-
486
+
395
487
  // ports
396
488
  portValue = local.bundle +'@'+ self.projectName +'/'+ envs[e];
397
489
  re = new RegExp(portValue);
398
-
399
-
400
- if ( !re.test(portsListStr) ) {
401
-
490
+
491
+
492
+ if ( !re.test(portsListStr) ) {
493
+
402
494
  // ports - add only if not existing
403
495
  isPortUsed = false;
404
-
405
- for (var portNum in ports[protocol][scheme]) {
496
+
497
+ for (let portNum in ports[protocol][scheme]) {
406
498
  if ( ports[protocol][scheme][portNum] == portValue ) {
407
499
  isPortUsed = true;
408
500
  break;
409
- }
501
+ }
410
502
  }
411
503
  //console.debug('portValue -> ', portValue+ ': '+ portsList[i] +' ? ' +isPortUsed);
412
504
  if (!isPortUsed) {
413
505
  //console.debug(local.bundle, ': ',portsList[i], ' => ', portValue);
414
506
  ports[protocol][scheme][ portsList[i] ] = portValue;
415
-
507
+
416
508
  // reverse ports
417
509
  portReverseValue = portsList[i];
418
510
  if ( typeof(portsReverse[ local.bundle +'@'+ self.projectName ]) == 'undefined' )
419
511
  portsReverse[ local.bundle +'@'+ self.projectName ] = {};
420
-
512
+
421
513
  if ( typeof(portsReverse[ local.bundle +'@'+ self.projectName ][ envs[e] ]) == 'undefined' )
422
514
  portsReverse[ local.bundle +'@'+ self.projectName ][ envs[e] ] = {};
423
-
515
+
424
516
  if ( typeof(portsReverse[ local.bundle +'@'+ self.projectName ][ envs[e] ][ protocol ]) == 'undefined' )
425
517
  portsReverse[ local.bundle +'@'+ self.projectName ][ envs[e] ][ protocol ] = {};
426
-
518
+
427
519
  // erasing in order to keep consistency
428
520
  portsReverse[ local.bundle +'@'+ self.projectName ][ envs[e] ][ protocol ][ scheme ] = ~~portsList[i];
429
-
430
-
521
+
522
+
523
+ ++i;
431
524
  }
432
-
433
- ++i;
434
525
  }
435
526
  }
436
-
527
+
437
528
  }
438
529
  }
439
- }
530
+ }
440
531
  }
441
532
  }
442
-
533
+
443
534
  // save to ~/.gina/projects.json
444
535
  lib.generator.createFileFromDataSync(projectConfig, self.projectConfigPath);
445
-
536
+
446
537
  // save to ~/.gina/ports.json
447
538
  //console.debug('data \n'+ JSON.stringify(self.portsData, null, 4) +'\n\rcurrent \n'+ JSON.stringify(ports, null, 4));
448
539
  lib.generator.createFileFromDataSync( merge(self.portsData, ports), self.portsPath);
449
-
540
+
450
541
  // save to ~/.gina/ports.reverse.json
451
542
  lib.generator.createFileFromDataSync( merge(self.portsReverseData, portsReverse), self.portsReversePath);
452
543
 
453
-
454
- return;
544
+
545
+ return done(false);
455
546
  }
456
547
 
457
- //console.debug('Bundles list on project import [ '+ b +' ]', self.bundles.length, self.bundles);
548
+ //console.debug('Bundles list on project import [ '+ b +' ]', self.bundles.length, self.bundles);
458
549
  var options = {}
459
550
  , bundle = self.bundles[b]
460
551
  ;
461
-
552
+
462
553
  if ( /^[a-z0-9_.]/.test(bundle) ) {
463
554
 
464
555
  local.b = b;
@@ -466,38 +557,133 @@ function Add(opt, cmd) {
466
557
 
467
558
  // find available port
468
559
  options = {
469
- ignore : merge(self.portsGlobalList, local.ports),
560
+ // ignore : merge(self.portsGlobalList, local.ports),
561
+ ignore : local.ports,
470
562
  // get for each bundle ports for available protocol, scheme & env
471
- len : ( self.protocolsAvailable.length * self.schemesAvailable.length * self.envs.length * self.bundles.length )
563
+ limit : ( self.protocolsAvailable.length * self.schemesAvailable.length * self.envs.length * self.bundles.length )
472
564
  };
473
-
474
-
475
- // scanning for available ports ...
476
- scan(options, function(err, ports){
477
565
 
566
+ // defining range startFrom depending of the project index (self.projectsList - OK only)...
567
+ if (self.startFrom) {
568
+ options.startFrom = self.startFrom;
569
+ } else { // Find startFrom out of projects
570
+ options.startFrom = ~~(''+ (self.projectsList.indexOf(self.projectName)+3) + 100);
571
+ }
572
+ // scanning for available ports ...
573
+ // var scanErr = null;
574
+ // await promisify(scan)(options)
575
+ // .catch(function onScanErr(err) {
576
+ // scanErr = err;
577
+ // })
578
+ // .then( function onPortsFound(ports) {
579
+ // for (let p = 0; p < ports.length; ++p) {
580
+ // local.ports.push(ports[p])
581
+ // }
582
+
583
+ // local.ports.sort();
584
+
585
+ // ++local.b;
586
+ // addBundlePorts(local.b, done);
587
+ // });
588
+
589
+ // if (scanErr) {
590
+ // console.error(err.stack|err.message);
591
+ // process.exit(1)
592
+ // }
593
+
594
+ await scan(options, function(err, ports){
478
595
  if (err) {
479
596
  console.error(err.stack|err.message);
480
597
  process.exit(1)
481
598
  }
482
599
 
483
600
 
484
- for (var p = 0; p < ports.length; ++p) {
601
+ for (let p = 0; p < ports.length; ++p) {
485
602
  local.ports.push(ports[p])
486
603
  }
487
604
 
488
605
  local.ports.sort();
489
606
 
490
607
  ++local.b;
491
- addBundlePorts(local.b);
492
-
608
+ addBundlePorts(local.b, done);
609
+
493
610
  });
494
-
495
-
611
+
612
+
496
613
 
497
614
 
498
615
  } else {
499
- console.error('[ '+ bundle+' ] is not a valid bundle name')
500
- process.exit(1)
616
+ // console.error('[ '+ bundle+' ] is not a valid bundle name')
617
+ // process.exit(1)
618
+ return done( new Error('[ '+ bundle+' ] is not a valid bundle name'))
619
+ }
620
+ }
621
+
622
+ /**
623
+ * addBundleToManifest
624
+ * Add / update project manifest
625
+ *
626
+ *
627
+ * @param {number} b - Bundle index
628
+ * @callback done
629
+ * @param {object|bool} err
630
+ * @param {array} ports
631
+ */
632
+ var addBundleToManifest = function(data, b, done) {
633
+
634
+ loadAssets();
635
+
636
+ if ( typeof(data) == 'undefined' || !data ) {
637
+ data = JSON.clone(self.projectData);
638
+ }
639
+
640
+ if (b > self.bundles.length-1) { // writing to files on complete
641
+
642
+ lib.generator.createFileFromDataSync(data, self.projectManifestPath);
643
+
644
+ return done(false);
645
+ }
646
+
647
+
648
+
649
+ var bundle = self.bundles[b];
650
+
651
+ if ( /^[a-z0-9_.]/.test(bundle) ) {
652
+
653
+ local.b = b;
654
+ local.bundle = bundle;
655
+
656
+
657
+ var version = '0.0.1';
658
+ var envs = self.projects[self.projectName].envs;
659
+ data.bundles[local.bundle] = {
660
+ "_comment" : "Your comment goes here.",
661
+ "version" : version,
662
+ "tag" : ( version.split('.') ).join(''),
663
+ "src" : "src/" + local.bundle,
664
+ "link" : "bundles/"+ local.bundle,
665
+ "releases" : {}
666
+ };
667
+ //"release/"+ local.bundle +"/prod/" + version
668
+ for (let i = 0, len = envs.length; i < len; ++i) {
669
+ let env = envs[i];
670
+ // ignore target for dev env
671
+ if ( self.projects[self.projectName]['dev_env'] == env ) {
672
+ continue;
673
+ }
674
+ if ( typeof(data.bundles[local.bundle].releases[env]) == 'undefined' ) {
675
+ data.bundles[local.bundle].releases[env] = {}
676
+ }
677
+ data.bundles[local.bundle].releases[env].target = "releases/"+ local.bundle +"/"+ env +"/" + version;
678
+ }
679
+
680
+ ++local.b;
681
+ addBundleToManifest(data, local.b, done);
682
+
683
+ } else {
684
+ // console.error('[ '+ bundle+' ] is not a valid bundle name')
685
+ // process.exit(1)
686
+ return done( new Error('[ '+ bundle+' ] is not a valid bundle name'))
501
687
  }
502
688
  }
503
689
 
@@ -507,7 +693,8 @@ function Add(opt, cmd) {
507
693
 
508
694
  npm.setOptions({ chdir: self.projectLocation });
509
695
  npm
510
- .run('npm link gina', true)
696
+ // .run('npm link gina', true)
697
+ .run('gina link @'+ self.projectName, true)
511
698
  .onComplete(function (err, data) {
512
699
  if (err) {
513
700
  if ( typeof(onSuccess) != 'undefined' ) {