hanamismith 0.28.1 → 0.29.0

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: c2cf76c21bc88730cfcba43ea6fe8404ece3b1c52cf71b57694c5f37462a984b
4
- data.tar.gz: f3fba4dbfc82c1a1df81cf1858e6010313d4a1ceb6276bd9243b7c96bfef080e
3
+ metadata.gz: ed30a628cfaadde7746eb2049aafcd814ad466537e90db833c92f8c6a0c599ca
4
+ data.tar.gz: 5cf99cc1a91e5f56321c2a7e0052f5c4a84b65e38ad248b0c1d0206eb522dd7a
5
5
  SHA512:
6
- metadata.gz: 5c4d9da6a263777ab9679ea2b9037da6b2a79f0bbde17fd6a6c3db9a1451ef88221fd80d155c1e734dc83704546000ab02d8dbdfe4492497570ab0a332c3793c
7
- data.tar.gz: 3bff75cac0a10a98d13dfe20b935f138783c29330831338b4a3156235cdb157ca72057a40ace93ad72569be71b391168e51052988011ec3b6c2c9a023d2875b4
6
+ metadata.gz: 621fe4bc67d920cb9a2cf62822e21ceb1c6737c14ca94b477dfed0e1b644c31167131793fc799845de6c0065930c01f0b593fced811b96e991b67e94e66de56a
7
+ data.tar.gz: a25a7f8648b42c210e5b4cf5aafcf97da48cf5a33e0a4253a104d96675f356b283943e04c0a02e0b2737f7d96ca800fed0094bc4a13244aac3a6d11e42df77c8
checksums.yaml.gz.sig CHANGED
Binary file
data/hanamismith.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "hanamismith"
5
- spec.version = "0.28.1"
5
+ spec.version = "0.29.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -5,7 +5,6 @@ require "refinements/struct"
5
5
  module Hanamismith
6
6
  module Builders
7
7
  # Builds project skeleton with Gemfile configuration.
8
- # rubocop:todo Metrics/ClassLength
9
8
  class Bundler < Rubysmith::Builders::Bundler
10
9
  using Refinements::Struct
11
10
 
@@ -29,38 +28,14 @@ module Hanamismith
29
28
  # rubocop:todo Metrics/MethodLength
30
29
  def insert_main_dependencies
31
30
  with_template.insert_after("source", %(gem "dry-types", "~> 1.7"))
32
- .insert_after(
33
- "source",
34
- %(gem "hanami", github: "hanami/hanami", branch: "main"\n)
35
- )
36
- .insert_after(
37
- "source",
38
- %(gem "hanami-assets", github: "hanami/assets", branch: "main"\n)
39
- )
40
- .insert_after(
41
- "source",
42
- %(gem "hanami-cli", github: "hanami/cli", branch: "main"\n)
43
- )
44
- .insert_after(
45
- "source",
46
- %(gem "hanami-controller", github: "hanami/controller", branch: "main"\n)
47
- )
48
- .insert_after(
49
- "source",
50
- %(gem "hanami-router", github: "hanami/router", branch: "main"\n)
51
- )
52
- .insert_after(
53
- "source",
54
- %(gem "hanami-utils", github: "hanami/utils", branch: "main"\n)
55
- )
56
- .insert_after(
57
- "source",
58
- %(gem "hanami-validations", github: "hanami/validations", branch: "main"\n)
59
- )
60
- .insert_after(
61
- "source",
62
- %(gem "hanami-view", github: "hanami/view", branch: "main"\n)
63
- )
31
+ .insert_after("source", %(gem "hanami", "~> 2.1"\n))
32
+ .insert_after("source", %(gem "hanami-assets", "~> 2.1"\n))
33
+ .insert_after("source", %(gem "hanami-cli", "~> 2.1"\n))
34
+ .insert_after("source", %(gem "hanami-controller", "~> 2.1"\n))
35
+ .insert_after("source", %(gem "hanami-router", "~> 2.1"\n))
36
+ .insert_after("source", %(gem "hanami-utils", "~> 2.1"\n))
37
+ .insert_after("source", %(gem "hanami-validations", "~> 2.1"\n))
38
+ .insert_after("source", %(gem "hanami-view", "~> 2.1"\n))
64
39
  .insert_after("source", %(gem "htmx", "~> 1.0"\n))
65
40
  .insert_after("source", %(gem "puma", "~> 6.4"\n))
66
41
  .insert_after("source", %(gem "rack-attack", "~> 6.7"\n))
@@ -71,7 +46,7 @@ module Hanamismith
71
46
  with_template.insert_after("source", %(gem "pg", "~> 1.5"\n))
72
47
  .insert_after("source", %(gem "rom", "~> 5.3"\n))
73
48
  .insert_after("source", %(gem "rom-sql", "~> 3.6"\n))
74
- .insert_after("source", %(\ngem "sequel", "~> 5.76"\n))
49
+ .insert_after("source", %(\ngem "sequel", "~> 5.77"\n))
75
50
  end
76
51
 
77
52
  # rubocop:todo Metrics/MethodLength
@@ -79,16 +54,16 @@ module Hanamismith
79
54
  with_template.insert_after(/group :quality/, %( gem "rubocop-sequel", "~> 0.3"\n))
80
55
  .insert_after(
81
56
  /group :development do/,
82
- %( gem "hanami-webconsole", github: "hanami/webconsole", branch: "main"\n)
57
+ %( gem "hanami-webconsole", "~> 2.1"\n)
83
58
  )
84
- .insert_after(/group :development do/, %( gem "localhost", "~> 1.1"\n))
59
+ .insert_after(/group :development do/, %( gem "localhost", "~> 1.2"\n))
85
60
  .insert_after(/group :development do/, %( gem "rerun", "~> 0.14"\n))
86
- .insert_after(/group :test/, %( gem "capybara", "~> 3.39"\n))
87
- .insert_after(/group :test/, %( gem "cuprite", "~> 0.14"\n))
61
+ .insert_after(/group :test/, %( gem "capybara", "~> 3.40"\n))
62
+ .insert_after(/group :test/, %( gem "cuprite", "~> 0.15"\n))
88
63
  .insert_after(/group :test/, %( gem "database_cleaner-sequel", "~> 2.0"\n))
89
64
  .insert_after(/group :test/, %( gem "launchy", "~> 2.5"\n))
90
65
  .insert_after(/group :test/, %( gem "rack-test", "~> 2.1"\n))
91
- .insert_after(/group :test/, %( gem "rom-factory", "~> 0.11"\n))
66
+ .insert_after(/group :test/, %( gem "rom-factory", "~> 0.12"\n))
92
67
  end
93
68
  # rubocop:enable Metrics/MethodLength
94
69
 
@@ -97,8 +72,8 @@ module Hanamismith
97
72
 
98
73
  with_template.insert_before(/group :tools do/, <<~CONTENT)
99
74
  group :development do
100
- gem "hanami-webconsole", github: "hanami/webconsole", branch: "main"
101
- gem "localhost", "~> 1.1"
75
+ gem "hanami-webconsole", "~> 2.1"
76
+ gem "localhost", "~> 1.2"
102
77
  gem "rerun", "~> 0.14"
103
78
  end
104
79
 
@@ -111,13 +86,13 @@ module Hanamismith
111
86
 
112
87
  with_template.insert_before(/group :tools do/, <<~CONTENT)
113
88
  group :test do
114
- gem "capybara", "~> 3.39"
115
- gem "cuprite", "~> 0.14"
89
+ gem "capybara", "~> 3.40"
90
+ gem "cuprite", "~> 0.15"
116
91
  gem "database_cleaner-sequel", "~> 2.0"
117
- gem "hanami-rspec", "~> 2.0"
92
+ gem "hanami-rspec", "~> 2.1"
118
93
  gem "launchy", "~> 2.5"
119
94
  gem "rack-test", "~> 2.1"
120
- gem "rom-factory", "~> 0.11"
95
+ gem "rom-factory", "~> 0.12"
121
96
  end
122
97
 
123
98
  CONTENT
@@ -128,7 +103,7 @@ module Hanamismith
128
103
  with_template.insert_before(/group :development/, <<~CONTENT)
129
104
 
130
105
  group :development, :test do
131
- gem "dotenv", "~> 2.8"
106
+ gem "dotenv", "~> 3.0"
132
107
  end
133
108
 
134
109
  CONTENT
@@ -141,5 +116,4 @@ module Hanamismith
141
116
  end
142
117
  end
143
118
  end
144
- # rubocop:enable Metrics/ClassLength
145
119
  end
@@ -23,12 +23,11 @@ module Hanamismith
23
23
  .append(<<~CONTENT)
24
24
  npm install
25
25
 
26
- hanami db create
27
- hanami db migrate
28
- hanami db seed
26
+ bin/hanami db create
27
+ bin/hanami db migrate
29
28
 
30
- HANAMI_ENV=test hanami db create
31
- HANAMI_ENV=test hanami db migrate
29
+ HANAMI_ENV=test bin/hanami db create
30
+ HANAMI_ENV=test bin/hanami db migrate
32
31
  CONTENT
33
32
  end
34
33
  end
@@ -100,6 +100,11 @@ module Hanamismith
100
100
  path = "%project_name%/slices/home/actions/show.rb.erb"
101
101
  builder.call(configuration.merge(template_path: path)).render
102
102
  end
103
+
104
+ def add_request_spec
105
+ path = "%project_name%/spec/features/home_spec.rb.erb"
106
+ builder.call(configuration.merge(template_path: path)).render
107
+ end
103
108
  end
104
109
  end
105
110
  end
@@ -60,6 +60,7 @@ module Hanamismith
60
60
  Rubysmith::Extensions::Tocer,
61
61
  Rubysmith::Extensions::Rubocop,
62
62
  Extensions::NPM,
63
+ Extensions::Asset,
63
64
  Builders::Environments::Development,
64
65
  Builders::Environments::Test,
65
66
  Builders::Git::Commit
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/pathname"
4
+
5
+ module Hanamismith
6
+ module Extensions
7
+ # Ensures assets are compiled.
8
+ class Asset
9
+ include Import[:kernel, :logger]
10
+
11
+ using Refinements::Pathname
12
+
13
+ def self.call(...) = new(...).call
14
+
15
+ def initialize(configuration, **)
16
+ super(**)
17
+ @configuration = configuration
18
+ end
19
+
20
+ def call
21
+ logger.error { "Unable to compile assets. Try: `hanami assets compile`." } unless run
22
+ configuration
23
+ end
24
+
25
+ private
26
+
27
+ attr_reader :configuration
28
+
29
+ def run
30
+ success = false
31
+ configuration.project_root.change_dir { success = compile_app && compile_home }
32
+ success
33
+ end
34
+
35
+ def compile_app
36
+ kernel.system "node config/assets.js -- --path=app --dest=public/assets > /dev/null 2>&1"
37
+ end
38
+
39
+ def compile_home
40
+ kernel.system(
41
+ "node config/assets.js -- --path=slices/home --dest=public/assets/_home > /dev/null 2>&1"
42
+ )
43
+ end
44
+ end
45
+ end
46
+ end
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "refinements/io"
4
4
  require "refinements/pathname"
5
- require "rubocop"
6
5
 
7
6
  module Hanamismith
8
7
  module Extensions
@@ -7,10 +7,7 @@
7
7
  "private": true,
8
8
  "type": "module",
9
9
  "keywords": ["ruby", "hanami"],
10
- "scripts": {
11
- "assets": "node config/assets.js"
12
- },
13
10
  "dependencies": {
14
- "hanami-assets": "github:hanami/assets-js#main"
11
+ "hanami-assets": "^2.1.0"
15
12
  }
16
13
  }
@@ -0,0 +1,6 @@
1
+ RSpec.describe "Home", :web do
2
+ it "renders home page" do
3
+ visit "/"
4
+ expect(page).to have_content("<%= configuration.project_label %>")
5
+ end
6
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanamismith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.1
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-02-17 00:00:00.000000000 Z
38
+ date: 2024-02-28 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -273,6 +273,7 @@ files:
273
273
  - lib/hanamismith/cli/commands/build.rb
274
274
  - lib/hanamismith/cli/shell.rb
275
275
  - lib/hanamismith/container.rb
276
+ - lib/hanamismith/extensions/asset.rb
276
277
  - lib/hanamismith/extensions/npm.rb
277
278
  - lib/hanamismith/import.rb
278
279
  - lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb
@@ -319,6 +320,7 @@ files:
319
320
  - lib/hanamismith/templates/%project_name%/slices/home/view.rb.erb
320
321
  - lib/hanamismith/templates/%project_name%/slices/home/views/context.rb.erb
321
322
  - lib/hanamismith/templates/%project_name%/slices/home/views/show.rb.erb
323
+ - lib/hanamismith/templates/%project_name%/spec/features/home_spec.rb.erb
322
324
  - lib/hanamismith/templates/%project_name%/spec/hanami_helper.rb.erb
323
325
  - lib/hanamismith/templates/%project_name%/spec/lib/%project_path%/refines/actions/response_spec.rb.erb
324
326
  - lib/hanamismith/templates/%project_name%/spec/slices/health/actions/show_spec.rb.erb
metadata.gz.sig CHANGED
Binary file