hanamismith 0.49.1 → 1.0.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: f7ca049a274e49896527f571dd75fb145928c5e28f655127e37eca3503c91c30
4
- data.tar.gz: 781e27aaaed6edbc65bc166c21f0ee1c0d13b3252a658550e435cbfce67cbe42
3
+ metadata.gz: 02a11d2710dd43c3b204ac615074bda307f5bac363134265cd16c758358dc94e
4
+ data.tar.gz: 2a1569befa4c6ee79d575c20c546d29541bb2a1bb20b9d4ffdb385218b4c5ad5
5
5
  SHA512:
6
- metadata.gz: 84d651bc213b4496c67d270458f5a937020e9e6a751c6a9b8f138632cea85ea335a38ed5f24d5646e3114ad4cc0fdef6cf9118ec28c802c6e540096c99f718b9
7
- data.tar.gz: 26b68ddb5ceb1a88f9f804e84f56be9dbe6515f677a7e69b3ad02b06654a4b01a27c1acae8a134ad4893a3d085981756c08a86e066cdbeb525f3be2501a9a716
6
+ metadata.gz: 2fc540746ecd3f844195ee3cf76ef32db3d9d9f048c74a2302a86e577a99d7eed19749da67ee746019b008f6bdb34154f6490972d67a1e6c12aa6f252b336e73
7
+ data.tar.gz: 13d630d5cc896cdc2f620881544b4898cb90dfc34707a02c112e33cbe06414e0ef79b54ada18376a19585ef9eca97c1ed82d3d328504225729ac72e6f0e383f5
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -32,14 +32,14 @@ toc::[]
32
32
  * Uses {dotenv_link} for managing your environment configurations.
33
33
  * Provides support for Continuous Integration systems like link:https://circleci.com[Circle CI] (default) and link:https://docs.github.com/en/actions[GitHub Actions].
34
34
  * Provides the `/up` health check endpoint via the `Health` slice.
35
- * Uses link:https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md[YJIT] as a provider so you can deploy with YJIT disabled (i.e. `RUBYOPT=--yjit-disable --yjit-exec-mem-size=192`) and let the application enable upon boot.
35
+ * Configures link:https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md[YJIT] so you can deploy with YJIT disabled (i.e. `RUBYOPT=--yjit-disable --yjit-exec-mem-size=192`) and let the application enable upon boot.
36
36
  * Disables link:https://github.com/ruby/irb[IRB] console autocomplete when used in production-like environments. You can re-enable IRB autocomplete by setting `IRB_USE_AUTOCOMPLETE=true` before launching your console in non development or test environments.
37
37
 
38
38
  == Screenshots/Screencasts
39
39
 
40
40
  image:https://alchemists.io/images/projects/hanamismith/screenshots/home.png[Home,width=702,height=694,role=focal_point]
41
41
 
42
- The above is a screenshot of a _Demo_ project that was generated and run locally. For a fully working demonstration application -- as built by this gem -- check out the link:https://github.com/bkuhlmann/hemo[Hemo] project. Here's a quick screencast overview of this demonstration application in action:
42
+ The above is a screenshot of a _Demo_ project that was generated locally. For a fully working demonstration application -- as built by this gem -- check out the link:https://github.com/bkuhlmann/hemo[Hemo] project as shown in this screencast:
43
43
 
44
44
  video::https://alchemists.io/videos/projects/hemo/demo.mp4[poster=https://alchemists.io/images/projects/hemo/demo.png,width=1280,height=720,role=focal_point]
45
45
 
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.49.1"
5
+ spec.version = "1.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/hanamismith"
@@ -22,19 +22,19 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = ">= 3.3", "<= 3.4"
26
- spec.add_dependency "cogger", "~> 0.31"
27
- spec.add_dependency "containable", "~> 0.2"
25
+ spec.required_ruby_version = "~> 3.4"
26
+ spec.add_dependency "cogger", "~> 1.0"
27
+ spec.add_dependency "containable", "~> 1.0"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 2.7"
31
- spec.add_dependency "htmx", "~> 1.0"
32
- spec.add_dependency "infusible", "~> 3.12"
33
- spec.add_dependency "refinements", "~> 12.10"
34
- spec.add_dependency "rubysmith", "~> 7.9"
35
- spec.add_dependency "runcom", "~> 11.10"
36
- spec.add_dependency "sod", "~> 0.20"
37
- spec.add_dependency "spek", "~> 3.0"
30
+ spec.add_dependency "etcher", "~> 3.0"
31
+ spec.add_dependency "htmx", "~> 2.0"
32
+ spec.add_dependency "infusible", "~> 4.0"
33
+ spec.add_dependency "refinements", "~> 13.0"
34
+ spec.add_dependency "rubysmith", "~> 8.0"
35
+ spec.add_dependency "runcom", "~> 12.0"
36
+ spec.add_dependency "sod", "~> 1.0"
37
+ spec.add_dependency "spek", "~> 4.0"
38
38
  spec.add_dependency "zeitwerk", "~> 2.7"
39
39
 
40
40
  spec.bindir = "exe"
@@ -52,7 +52,7 @@ module Hanamismith
52
52
  gem "dry-types", "~> 1.7"
53
53
  gem "dry-validation", "~> 1.10"
54
54
  gem "htmx", "~> 1.0"
55
- gem "puma", "~> 6.4"
55
+ gem "puma", "~> 6.5"
56
56
  gem "rack-attack", "~> 6.7"
57
57
  CONTENT
58
58
  end
@@ -5,7 +5,7 @@ module Hanamismith
5
5
  module Git
6
6
  # Builds project skeleton initial Git commit message.
7
7
  class Commit < Rubysmith::Builders::Git::Commit
8
- include Import[:specification]
8
+ include Dependencies[:specification]
9
9
  end
10
10
  end
11
11
  end
@@ -7,13 +7,12 @@ module Hanamismith
7
7
  module Commands
8
8
  # Handles the build command.
9
9
  class Build < Sod::Command
10
- include Hanamismith::Import[:settings, :logger]
10
+ include Dependencies[:settings, :logger]
11
11
 
12
12
  # Order matters.
13
13
  BUILDERS = [
14
14
  Rubysmith::Builders::Init,
15
15
  Builders::Core,
16
- Builders::Providers::YJIT,
17
16
  Builders::Refinement,
18
17
  Builders::Icon,
19
18
  Builders::Stylesheet,
@@ -41,7 +40,6 @@ module Hanamismith
41
40
  Rubysmith::Builders::GitHub::Funding,
42
41
  Builders::GitHub::CI,
43
42
  Builders::Setup,
44
- Builders::Guard,
45
43
  Rubysmith::Builders::Reek,
46
44
  Rubysmith::Builders::RSpec::Binstub,
47
45
  Rubysmith::Builders::RSpec::Context,
@@ -96,7 +94,6 @@ module Hanamismith
96
94
  on Rubysmith::CLI::Actions::GitHub, settings: Container[:settings]
97
95
  on Rubysmith::CLI::Actions::GitHubCI, settings: Container[:settings]
98
96
  on Rubysmith::CLI::Actions::GitLint, settings: Container[:settings]
99
- on Rubysmith::CLI::Actions::Guard, settings: Container[:settings]
100
97
  on Rubysmith::CLI::Actions::IRBKit, settings: Container[:settings]
101
98
  on Rubysmith::CLI::Actions::License, settings: Container[:settings]
102
99
  on Rubysmith::CLI::Actions::Maximum, settings: Container[:settings]
@@ -6,7 +6,7 @@ module Hanamismith
6
6
  module CLI
7
7
  # The main Command Line Interface (CLI) object.
8
8
  class Shell
9
- include Import[:defaults_path, :xdg_config, :specification]
9
+ include Dependencies[:defaults_path, :xdg_config, :specification]
10
10
 
11
11
  def initialize(context: Sod::Context, dsl: Sod, **)
12
12
  super(**)
@@ -3,5 +3,5 @@
3
3
  require "infusible"
4
4
 
5
5
  module Hanamismith
6
- Import = Infusible[Container]
6
+ Dependencies = Infusible[Container]
7
7
  end
@@ -6,7 +6,7 @@ module Hanamismith
6
6
  module Extensions
7
7
  # Ensures assets are compiled.
8
8
  class Asset
9
- include Import[:settings, :kernel, :logger]
9
+ include Dependencies[:settings, :kernel, :logger]
10
10
 
11
11
  using Refinements::Pathname
12
12
 
@@ -7,7 +7,7 @@ module Hanamismith
7
7
  module Extensions
8
8
  # Ensures NPM packages are installed if NPM is available.
9
9
  class NPM
10
- include Import[:settings, :kernel, :logger]
10
+ include Dependencies[:settings, :kernel, :logger]
11
11
 
12
12
  using Refinements::IO
13
13
  using Refinements::Pathname
@@ -3,6 +3,7 @@ require "hanami"
3
3
  <% namespace do %>
4
4
  # The application base configuration.
5
5
  class App < Hanami::App
6
+ RubyVM::YJIT.enable
6
7
  Dry::Schema.load_extensions :monads
7
8
  Dry::Validation.load_extensions :monads
8
9
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanamismith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.49.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain:
11
10
  - |
@@ -35,7 +34,7 @@ cert_chain:
35
34
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
35
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
36
  -----END CERTIFICATE-----
38
- date: 2024-11-15 00:00:00.000000000 Z
37
+ date: 2024-12-28 00:00:00.000000000 Z
39
38
  dependencies:
40
39
  - !ruby/object:Gem::Dependency
41
40
  name: cogger
@@ -43,28 +42,28 @@ dependencies:
43
42
  requirements:
44
43
  - - "~>"
45
44
  - !ruby/object:Gem::Version
46
- version: '0.31'
45
+ version: '1.0'
47
46
  type: :runtime
48
47
  prerelease: false
49
48
  version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - "~>"
52
51
  - !ruby/object:Gem::Version
53
- version: '0.31'
52
+ version: '1.0'
54
53
  - !ruby/object:Gem::Dependency
55
54
  name: containable
56
55
  requirement: !ruby/object:Gem::Requirement
57
56
  requirements:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
- version: '0.2'
59
+ version: '1.0'
61
60
  type: :runtime
62
61
  prerelease: false
63
62
  version_requirements: !ruby/object:Gem::Requirement
64
63
  requirements:
65
64
  - - "~>"
66
65
  - !ruby/object:Gem::Version
67
- version: '0.2'
66
+ version: '1.0'
68
67
  - !ruby/object:Gem::Dependency
69
68
  name: dry-monads
70
69
  requirement: !ruby/object:Gem::Requirement
@@ -99,112 +98,112 @@ dependencies:
99
98
  requirements:
100
99
  - - "~>"
101
100
  - !ruby/object:Gem::Version
102
- version: '2.7'
101
+ version: '3.0'
103
102
  type: :runtime
104
103
  prerelease: false
105
104
  version_requirements: !ruby/object:Gem::Requirement
106
105
  requirements:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '2.7'
108
+ version: '3.0'
110
109
  - !ruby/object:Gem::Dependency
111
110
  name: htmx
112
111
  requirement: !ruby/object:Gem::Requirement
113
112
  requirements:
114
113
  - - "~>"
115
114
  - !ruby/object:Gem::Version
116
- version: '1.0'
115
+ version: '2.0'
117
116
  type: :runtime
118
117
  prerelease: false
119
118
  version_requirements: !ruby/object:Gem::Requirement
120
119
  requirements:
121
120
  - - "~>"
122
121
  - !ruby/object:Gem::Version
123
- version: '1.0'
122
+ version: '2.0'
124
123
  - !ruby/object:Gem::Dependency
125
124
  name: infusible
126
125
  requirement: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - "~>"
129
128
  - !ruby/object:Gem::Version
130
- version: '3.12'
129
+ version: '4.0'
131
130
  type: :runtime
132
131
  prerelease: false
133
132
  version_requirements: !ruby/object:Gem::Requirement
134
133
  requirements:
135
134
  - - "~>"
136
135
  - !ruby/object:Gem::Version
137
- version: '3.12'
136
+ version: '4.0'
138
137
  - !ruby/object:Gem::Dependency
139
138
  name: refinements
140
139
  requirement: !ruby/object:Gem::Requirement
141
140
  requirements:
142
141
  - - "~>"
143
142
  - !ruby/object:Gem::Version
144
- version: '12.10'
143
+ version: '13.0'
145
144
  type: :runtime
146
145
  prerelease: false
147
146
  version_requirements: !ruby/object:Gem::Requirement
148
147
  requirements:
149
148
  - - "~>"
150
149
  - !ruby/object:Gem::Version
151
- version: '12.10'
150
+ version: '13.0'
152
151
  - !ruby/object:Gem::Dependency
153
152
  name: rubysmith
154
153
  requirement: !ruby/object:Gem::Requirement
155
154
  requirements:
156
155
  - - "~>"
157
156
  - !ruby/object:Gem::Version
158
- version: '7.9'
157
+ version: '8.0'
159
158
  type: :runtime
160
159
  prerelease: false
161
160
  version_requirements: !ruby/object:Gem::Requirement
162
161
  requirements:
163
162
  - - "~>"
164
163
  - !ruby/object:Gem::Version
165
- version: '7.9'
164
+ version: '8.0'
166
165
  - !ruby/object:Gem::Dependency
167
166
  name: runcom
168
167
  requirement: !ruby/object:Gem::Requirement
169
168
  requirements:
170
169
  - - "~>"
171
170
  - !ruby/object:Gem::Version
172
- version: '11.10'
171
+ version: '12.0'
173
172
  type: :runtime
174
173
  prerelease: false
175
174
  version_requirements: !ruby/object:Gem::Requirement
176
175
  requirements:
177
176
  - - "~>"
178
177
  - !ruby/object:Gem::Version
179
- version: '11.10'
178
+ version: '12.0'
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: sod
182
181
  requirement: !ruby/object:Gem::Requirement
183
182
  requirements:
184
183
  - - "~>"
185
184
  - !ruby/object:Gem::Version
186
- version: '0.20'
185
+ version: '1.0'
187
186
  type: :runtime
188
187
  prerelease: false
189
188
  version_requirements: !ruby/object:Gem::Requirement
190
189
  requirements:
191
190
  - - "~>"
192
191
  - !ruby/object:Gem::Version
193
- version: '0.20'
192
+ version: '1.0'
194
193
  - !ruby/object:Gem::Dependency
195
194
  name: spek
196
195
  requirement: !ruby/object:Gem::Requirement
197
196
  requirements:
198
197
  - - "~>"
199
198
  - !ruby/object:Gem::Version
200
- version: '3.0'
199
+ version: '4.0'
201
200
  type: :runtime
202
201
  prerelease: false
203
202
  version_requirements: !ruby/object:Gem::Requirement
204
203
  requirements:
205
204
  - - "~>"
206
205
  - !ruby/object:Gem::Version
207
- version: '3.0'
206
+ version: '4.0'
208
207
  - !ruby/object:Gem::Dependency
209
208
  name: zeitwerk
210
209
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +218,6 @@ dependencies:
219
218
  - - "~>"
220
219
  - !ruby/object:Gem::Version
221
220
  version: '2.7'
222
- description:
223
221
  email:
224
222
  - brooke@alchemists.io
225
223
  executables:
@@ -248,11 +246,9 @@ files:
248
246
  - lib/hanamismith/builders/git/commit.rb
249
247
  - lib/hanamismith/builders/git/ignore.rb
250
248
  - lib/hanamismith/builders/git_hub/ci.rb
251
- - lib/hanamismith/builders/guard.rb
252
249
  - lib/hanamismith/builders/icon.rb
253
250
  - lib/hanamismith/builders/javascript.rb
254
251
  - lib/hanamismith/builders/node.rb
255
- - lib/hanamismith/builders/providers/yjit.rb
256
252
  - lib/hanamismith/builders/puma/configuration.rb
257
253
  - lib/hanamismith/builders/puma/procfile.rb
258
254
  - lib/hanamismith/builders/pwa.rb
@@ -271,9 +267,9 @@ files:
271
267
  - lib/hanamismith/cli/commands/build.rb
272
268
  - lib/hanamismith/cli/shell.rb
273
269
  - lib/hanamismith/container.rb
270
+ - lib/hanamismith/dependencies.rb
274
271
  - lib/hanamismith/extensions/asset.rb
275
272
  - lib/hanamismith/extensions/npm.rb
276
- - lib/hanamismith/import.rb
277
273
  - lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb
278
274
  - lib/hanamismith/templates/%project_name%/.github/workflows/ci.yml.erb
279
275
  - lib/hanamismith/templates/%project_name%/Guardfile.erb
@@ -339,16 +335,12 @@ metadata:
339
335
  label: Hanamismith
340
336
  rubygems_mfa_required: 'true'
341
337
  source_code_uri: https://github.com/bkuhlmann/hanamismith
342
- post_install_message:
343
338
  rdoc_options: []
344
339
  require_paths:
345
340
  - lib
346
341
  required_ruby_version: !ruby/object:Gem::Requirement
347
342
  requirements:
348
- - - ">="
349
- - !ruby/object:Gem::Version
350
- version: '3.3'
351
- - - "<="
343
+ - - "~>"
352
344
  - !ruby/object:Gem::Version
353
345
  version: '3.4'
354
346
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -357,8 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
357
349
  - !ruby/object:Gem::Version
358
350
  version: '0'
359
351
  requirements: []
360
- rubygems_version: 3.5.23
361
- signing_key:
352
+ rubygems_version: 3.6.2
362
353
  specification_version: 4
363
354
  summary: A command line interface for smithing Hanami projects.
364
355
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "refinements/struct"
4
-
5
- module Hanamismith
6
- module Builders
7
- # Builds project skeleton Guard support for a red, green, refactor loop.
8
- class Guard < Rubysmith::Builders::Guard
9
- using Refinements::Struct
10
-
11
- def call
12
- return false unless settings.build_guard
13
-
14
- super
15
- builder.call(settings.merge(template_path: "%project_name%/Guardfile.erb")).render
16
- true
17
- end
18
- end
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "refinements/struct"
4
-
5
- module Hanamismith
6
- module Builders
7
- module Providers
8
- # Builds project skeleton for YJIT provider.
9
- class YJIT < Rubysmith::Builders::Abstract
10
- using Refinements::Struct
11
-
12
- def call
13
- path = "%project_name%/config/providers/yjit.rb.erb"
14
- builder.call(settings.merge(template_path: path)).render
15
- true
16
- end
17
- end
18
- end
19
- end
20
- end