jatai 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7061adcfd38cb77a83a6807ac0295ac0699b515f496bb62e508e1eb024ba8779
4
- data.tar.gz: f445036041493a7e51e316eba1258fab565abd8d3df444e9ec5ad88f28a8c22e
3
+ metadata.gz: 85dd80d5c12ea959ac8d685f7b8bc2a596faed4ba0c9f5a07f01293f99d90137
4
+ data.tar.gz: 818d739c662c5f9b7688ec043811b28c46f603d8946f77835ca3c031485aed76
5
5
  SHA512:
6
- metadata.gz: a0a35dfe41431ef623bc0e2ff937304682e0237417105054df3d82deabd5df3d8808d007f03753dae54f11f9a6e7255555fca44b26119b95fae780679e5f88e0
7
- data.tar.gz: 58b87cf0501262214add03bae6dd12f1b778cba3f43d8666db18049ffc0fee728298759207e3bf2a41b47cb8939f4afa37448d15dfa8f4bc2a1e51703b83e639
6
+ metadata.gz: 537ffd3a1bdf4b72aca0b220b02018dbac604fb2ebc3ad875bd4b2bdc27e7d616e1a5410e2b1ae7e01fe2a793d6c283b1fa78bd11561ae3531cc60cb38fe47e4
7
+ data.tar.gz: a879c7f5503a474b9bf7f3ac654e83c0b9ed195558445a112aa4e86665e56e81eea9a0e46e307f36a0eaabc80204bd30b9638ead5f3548b9e204f32f212af4e4
@@ -12,7 +12,12 @@ module Jatai
12
12
  }.freeze
13
13
 
14
14
  REGIONS = { "br-se1" => "São Paulo", "br-ne1" => "Nordeste" }.freeze
15
- STACKS = { "rails" => "Rails", "node" => "Node.js", "docker" => "Docker (custom Dockerfile)" }.freeze
15
+ STACKS = {
16
+ "rails" => "Rails",
17
+ "node" => "Node.js",
18
+ "static" => "Estático (HTML/CSS/JS, sem build)",
19
+ "docker" => "Docker (custom Dockerfile)"
20
+ }.freeze
16
21
  DATABASE_TIERS = {
17
22
  "mini" => "Mini — 512MB, 20 conexões (Grátis)",
18
23
  "essencial" => "Essencial — 1GB, 50 conexões (R$ 19/mês)",
@@ -41,7 +46,8 @@ module Jatai
41
46
  name = prompt.ask("Nome do app:") { |q| q.required true }
42
47
  preset = prompt.select("Preset:", PRESETS.map { |k, v| { name: v, value: k } })
43
48
  region = prompt.select("Região:", REGIONS.map { |k, v| { name: "#{v} (#{k})", value: k } })
44
- db_tier = prompt.select("Banco de dados:", DATABASE_TIERS.map { |k, v| { name: v, value: k } })
49
+ # Sites estáticos não têm banco não pergunta o tier.
50
+ db_tier = stack == "static" ? nil : prompt.select("Banco de dados:", DATABASE_TIERS.map { |k, v| { name: v, value: k } })
45
51
  branch = detect_git_branch || "main"
46
52
 
47
53
  config = {
@@ -49,9 +55,9 @@ module Jatai
49
55
  "stack" => stack,
50
56
  "preset" => preset,
51
57
  "region" => region,
52
- "branch" => branch,
53
- "database_tier" => db_tier
58
+ "branch" => branch
54
59
  }
60
+ config["database_tier"] = db_tier if db_tier
55
61
 
56
62
  File.write(config_path, YAML.dump(config))
57
63
  success("Arquivo .jatai.yml criado com sucesso!")
@@ -71,6 +77,9 @@ module Jatai
71
77
 
72
78
  return "docker" if File.exist?(File.join(Dir.pwd, "Dockerfile"))
73
79
 
80
+ # Site estático: index.html na raiz, sem Gemfile/package.json/Dockerfile.
81
+ return "static" if File.exist?(File.join(Dir.pwd, "index.html"))
82
+
74
83
  nil
75
84
  end
76
85
 
@@ -94,7 +94,23 @@ module Jatai
94
94
 
95
95
  def detect_git_remote
96
96
  remote = `git remote get-url origin 2>/dev/null`.strip
97
- remote.empty? ? nil : remote
97
+ return nil if remote.empty?
98
+
99
+ normalize_git_remote(remote)
100
+ end
101
+
102
+ # O servidor aceita repo_url só como https(s) (é metadado p/ integração GitHub;
103
+ # o deploy em si é por upload de source). Converte SSH → https e descarta o que
104
+ # não der pra normalizar (retorna nil → repo_url em branco, deploy segue normal).
105
+ def normalize_git_remote(url)
106
+ case url
107
+ when %r{\Agit@([^:]+):(.+?)(?:\.git)?\z} # git@github.com:user/repo.git
108
+ "https://#{Regexp.last_match(1)}/#{Regexp.last_match(2)}"
109
+ when %r{\Assh://git@([^/]+)/(.+?)(?:\.git)?\z} # ssh://git@github.com/user/repo.git
110
+ "https://#{Regexp.last_match(1)}/#{Regexp.last_match(2)}"
111
+ when %r{\Ahttps?://}
112
+ url.sub(/\.git\z/, "")
113
+ end
98
114
  end
99
115
 
100
116
  # ── WebSocket methods ──
data/lib/jatai/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jatai
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jatai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jataí Cloud