hanamismith 0.49.0 → 0.50.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +2 -2
- data/hanamismith.gemspec +1 -1
- data/lib/hanamismith/builders/node.rb +37 -1
- data/lib/hanamismith/builders/setup.rb +5 -2
- data/lib/hanamismith/cli/commands/build.rb +0 -1
- data/lib/hanamismith/templates/%project_name%/config/app.rb.erb +1 -0
- data.tar.gz.sig +0 -0
- metadata +2 -4
- metadata.gz.sig +0 -0
- data/lib/hanamismith/builders/providers/yjit.rb +0 -20
- data/lib/hanamismith/templates/%project_name%/.node-version.erb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9154addcf31c7ef6d982ad21c46934aa373d19f2e383108bcd1a33913a2b0af8
|
4
|
+
data.tar.gz: 502aa10ebf6b9b3d8b625a96468e2130dcdcda35536439d76099b55f3904b75b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1763140c326bb92b67dcebafa0dea8fd97c4b508119e16b6ada84acbc56e9f420298850b091bdd5ba10e7d62bc4ceff8e896fea3610d111bf34e85c9c740e477
|
7
|
+
data.tar.gz: 9ea7d4d26f5782460edfd73e114f94c1994c1d3e6bc745f9a51a8910b93a491c1f5eed901de542abc67b94fb15bf188cbf6034b97db659131de0b5130a56d537
|
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
|
-
*
|
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
|
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
@@ -1,18 +1,54 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "dry/monads"
|
4
|
+
require "refinements/pathname"
|
3
5
|
require "refinements/struct"
|
4
6
|
|
5
7
|
module Hanamismith
|
6
8
|
module Builders
|
7
9
|
# Builds project skeleton for Node.
|
8
10
|
class Node < Rubysmith::Builders::Abstract
|
11
|
+
include Dry::Monads[:result]
|
12
|
+
|
9
13
|
using Refinements::Struct
|
14
|
+
using Refinements::Pathname
|
15
|
+
|
16
|
+
def initialize(executor: Open3, **)
|
17
|
+
@executor = executor
|
18
|
+
super(**)
|
19
|
+
end
|
10
20
|
|
11
21
|
def call
|
22
|
+
build_version
|
12
23
|
builder.call(settings.merge(template_path: "%project_name%/package.json.erb")).render
|
13
|
-
builder.call(settings.merge(template_path: "%project_name%/.node-version.erb")).render
|
14
24
|
true
|
15
25
|
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
attr_reader :executor
|
30
|
+
|
31
|
+
def build_version
|
32
|
+
case load_version
|
33
|
+
in Success(text) then version_path.make_ancestors.write text.delete_prefix("v")
|
34
|
+
in Failure(message) then log_error message
|
35
|
+
else log_error "Shell failure. Is your environment configured properly?"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def load_version
|
40
|
+
executor.capture3("node", "--version").then do |stdout, _stderr, status|
|
41
|
+
return Success stdout if status.success?
|
42
|
+
|
43
|
+
Failure "Unable to obtain version for #{version_path.inspect}."
|
44
|
+
end
|
45
|
+
rescue Errno::ENOENT
|
46
|
+
Failure "Unable to find Node. Is Node installed?"
|
47
|
+
end
|
48
|
+
|
49
|
+
def version_path = settings.project_root.join ".node-version"
|
50
|
+
|
51
|
+
def log_error(message) = logger.error { message }
|
16
52
|
end
|
17
53
|
end
|
18
54
|
end
|
@@ -25,8 +25,11 @@ module Hanamismith
|
|
25
25
|
puts "Installing packages..."
|
26
26
|
Runner.call "npm install"
|
27
27
|
|
28
|
-
puts "
|
29
|
-
Runner.call "
|
28
|
+
puts "Configuring databases..."
|
29
|
+
Runner.call "hanami db prepare"
|
30
|
+
|
31
|
+
puts "Compiling assets..."
|
32
|
+
Runner.call "hanami assets compile"
|
30
33
|
CONTENT
|
31
34
|
end
|
32
35
|
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.
|
4
|
+
version: 0.50.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-11-
|
38
|
+
date: 2024-11-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: cogger
|
@@ -252,7 +252,6 @@ files:
|
|
252
252
|
- lib/hanamismith/builders/icon.rb
|
253
253
|
- lib/hanamismith/builders/javascript.rb
|
254
254
|
- lib/hanamismith/builders/node.rb
|
255
|
-
- lib/hanamismith/builders/providers/yjit.rb
|
256
255
|
- lib/hanamismith/builders/puma/configuration.rb
|
257
256
|
- lib/hanamismith/builders/puma/procfile.rb
|
258
257
|
- lib/hanamismith/builders/pwa.rb
|
@@ -276,7 +275,6 @@ files:
|
|
276
275
|
- lib/hanamismith/import.rb
|
277
276
|
- lib/hanamismith/templates/%project_name%/.circleci/config.yml.erb
|
278
277
|
- lib/hanamismith/templates/%project_name%/.github/workflows/ci.yml.erb
|
279
|
-
- lib/hanamismith/templates/%project_name%/.node-version.erb
|
280
278
|
- lib/hanamismith/templates/%project_name%/Guardfile.erb
|
281
279
|
- lib/hanamismith/templates/%project_name%/Procfile.dev.erb
|
282
280
|
- lib/hanamismith/templates/%project_name%/Procfile.erb
|
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
|
-
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
|
@@ -1 +0,0 @@
|
|
1
|
-
23.1.0
|