mayu-live 0.0.5 → 0.0.6

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: 5814cbef30ce17db08763d4a5573090a92766e1c376e60e889ea923ec6edbd4e
4
- data.tar.gz: f0ab5e3c58fdaee8dda0287dd39839b816974828e154f5d5c9423b0b1909227e
3
+ metadata.gz: d60c146397cbe38cfc7e659f0681d90e6bbac5e278ba95a60527ff8f66ba1280
4
+ data.tar.gz: d4f35ae4cdfa457b9ac1bca877626b8e045a870cfb723699bae500a54293938a
5
5
  SHA512:
6
- metadata.gz: 377ade35d2d0d21a816fd942dc02dd22b488e760b888711dd892b4c8df62915254978f20671d66845faca1862d1e757ff2d9b6708e208b030bc14971695b6b93
7
- data.tar.gz: 411834ef98447e08c511ba70cbdc36c87852063e74a19177e275cdab6723a3b874e495b9505d552928346fe0bb5ee97e646684acd5f7128d79bef8b6eb5c9e6c
6
+ metadata.gz: dbf52fb2fe61b49ffef476d8ce75edc96904d7f0a9372f3ee2949137068f1932db51b502e254de932cb06dbdd6f2057152057b780d2774a2ce4c53743be5624c
7
+ data.tar.gz: a33c40fb0f20f7643979e5486ad2c83c1798d2ce042511bb3d143cf127f8a822b3ab7da3f8ac94df968a2c0de559e20cd28680299c9410d3d113d4aea032c179
data/exe/mayu CHANGED
@@ -23,10 +23,6 @@ else
23
23
  puts "\e[2mYJIT is not supported!\e[0m"
24
24
  end
25
25
 
26
- if RubyVM::MJIT.enabled?
27
- puts "\e[1mMJIT is enabled!\e[0m"
28
- end
29
-
30
26
  require "mayu/banner"
31
27
  require "mayu/commands"
32
28
 
data/lib/mayu/commands.rb CHANGED
@@ -16,6 +16,10 @@ module Mayu
16
16
 
17
17
  case argv
18
18
  in ["dev", *rest]
19
+ # Initialize RMagick on start to avoid the following error:
20
+ # objc[88493]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called.
21
+ # We cannot safely call it or ignore it in the fork() child process. Crashing instead.
22
+ require "rmagick"
19
23
  require_relative "server"
20
24
  Server.start(load_config(:dev))
21
25
  in ["devbundle", *rest]
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  Self =
3
3
  setup_component(
4
- assets: ["rKxGn-R511h2m1nlvs18PwsPwrzW-iGCNVojf-x0LRg=.css"],
4
+ assets: ["Cd9Qx4lhkbeZyruovAokW1FL3tHSmMOxOc-2y1h7Zvc=.css"],
5
5
  styles: {
6
6
  button: "app/components/MyComponent.button?dhhHwAZl"
7
7
  }
@@ -41,10 +41,11 @@ module Mayu
41
41
  params(
42
42
  source: String,
43
43
  source_path: String,
44
- source_line: Integer
44
+ source_line: Integer,
45
+ minify: T::Boolean
45
46
  ).returns(TransformResult)
46
47
  end
47
- def self.transform(source:, source_path:, source_line: 1)
48
+ def self.transform(source:, source_path:, source_line: 1, minify: true)
48
49
  # Required here because it's not necessary in production..
49
50
  # kinda messy. need to rewrite the entire "resources" thing...
50
51
  require "mayu/css"
@@ -55,7 +56,8 @@ module Mayu
55
56
  File.basename(source_path, ".*")
56
57
  ).delete_prefix("./")
57
58
 
58
- result = Mayu::CSS.transform(source_path_without_extension, source)
59
+ result =
60
+ Mayu::CSS.transform(source_path_without_extension, source, minify:)
59
61
 
60
62
  output = result.code.encode("utf-8")
61
63
 
@@ -94,9 +96,9 @@ module Mayu
94
96
 
95
97
  sig do
96
98
  params(
97
- classes: T::Hash[String, String],
98
- elements: T::Hash[String, String],
99
- exports: T::Hash[Symbol, T.untyped]
99
+ classes: T::Hash[Symbol, String],
100
+ elements: T::Hash[Symbol, String],
101
+ exports: T::Hash[String, T.untyped]
100
102
  ).returns(T::Hash[Symbol, String])
101
103
  end
102
104
  def self.join_classes(classes, elements, exports)
@@ -113,19 +115,18 @@ module Mayu
113
115
  sig do
114
116
  params(
115
117
  klass: String,
116
- exports: T::Hash[Symbol, T.untyped],
117
- classes: T::Hash[String, String]
118
+ exports: T::Hash[String, T.untyped],
119
+ classes: T::Hash[Symbol, String]
118
120
  ).returns(String)
119
121
  end
120
122
  def self.join_class(klass, exports, classes)
121
- case exports[klass.to_sym]
122
- in composes:
123
+ if composes = exports[klass]&.composes
123
124
  [
124
125
  klass,
125
- *composes.map do
126
- case _1
127
- in { type: "local", name: }
128
- classes[name]
126
+ *composes.map do |compose|
127
+ case compose
128
+ in Mayu::CSS::ComposeLocal
129
+ classes[compose.name.to_sym]
129
130
  end
130
131
  end
131
132
  ].join(" ")
@@ -3,6 +3,7 @@
3
3
 
4
4
  require "ripper"
5
5
  require "syntax_suggest"
6
+ require "syntax_suggest/api"
6
7
  require "syntax_suggest/code_line"
7
8
  require "syntax_suggest/explain_syntax"
8
9
  require "syntax_suggest/lex_all"
data/lib/mayu/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Mayu
5
- VERSION = "0.0.5"
5
+ VERSION = "0.0.6"
6
6
  end
data/mayu-live.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
 
18
18
  spec.homepage = "https://mayu.live/"
19
19
  spec.license = "AGPL-3.0"
20
- spec.required_ruby_version = ">= 3.2.0"
20
+ spec.required_ruby_version = ">= 3.3.0"
21
21
 
22
22
  spec.metadata["homepage_uri"] = spec.homepage
23
23
  spec.metadata["source_code_uri"] = "https://github.com/mayu-live/framework"
@@ -43,15 +43,15 @@ Gem::Specification.new do |spec|
43
43
  spec.require_paths = ["lib"]
44
44
 
45
45
  # Core dependencies
46
- spec.add_dependency "async", "~> 2.3.0"
46
+ spec.add_dependency "async", "~> 2.8.0"
47
47
  spec.add_dependency "async-container", "~> 0.16.12"
48
- spec.add_dependency "async-http", "~> 0.59.4"
48
+ spec.add_dependency "async-http", "~> 0.61.0"
49
49
  spec.add_dependency "brotli", "~> 0.4.0"
50
50
  spec.add_dependency "mime-types", "~> 3.4.1"
51
51
  spec.add_dependency "msgpack", "~> 1.6.0"
52
52
  spec.add_dependency "nanoid", "~> 2.0.0"
53
53
  spec.add_dependency "prometheus-client", "~> 4.0.0"
54
- spec.add_dependency "protocol-http", "~> 0.23.12"
54
+ spec.add_dependency "protocol-http", "~> 0.25.0"
55
55
  spec.add_dependency "pry", "~> 0.14.2"
56
56
  spec.add_dependency "rack", ">= 3.0.4.1", "< 3.0.9.0"
57
57
  spec.add_dependency "rake", "~> 13.0.6"
@@ -68,10 +68,11 @@ Gem::Specification.new do |spec|
68
68
  spec.add_dependency "image_size", "~> 3.2.0"
69
69
  spec.add_dependency "kramdown", "~> 2.4.0"
70
70
  spec.add_dependency "rouge", "~> 4.0.0"
71
- spec.add_dependency "mayu-css", "~> 0.0.3"
71
+ spec.add_dependency "mayu-css", "~> 0.1.2"
72
72
  spec.add_dependency "rmagick", "~> 5.3.0"
73
73
  spec.add_dependency "source_map", "~> 3.0.1"
74
74
  spec.add_dependency "syntax_tree", "~> 5.3.0"
75
75
  spec.add_dependency "syntax_tree-haml", "~> 3.0.0"
76
76
  spec.add_dependency "syntax_tree-xml", "~> 0.1.0"
77
+ spec.add_dependency "base64", "~> 0.2.0"
77
78
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mayu-live
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Alin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-11 00:00:00.000000000 Z
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.0
19
+ version: 2.8.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.0
26
+ version: 2.8.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-container
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.59.4
47
+ version: 0.61.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.59.4
54
+ version: 0.61.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: brotli
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.23.12
131
+ version: 0.25.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.23.12
138
+ version: 0.25.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: pry
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -316,14 +316,14 @@ dependencies:
316
316
  requirements:
317
317
  - - "~>"
318
318
  - !ruby/object:Gem::Version
319
- version: 0.0.3
319
+ version: 0.1.2
320
320
  type: :runtime
321
321
  prerelease: false
322
322
  version_requirements: !ruby/object:Gem::Requirement
323
323
  requirements:
324
324
  - - "~>"
325
325
  - !ruby/object:Gem::Version
326
- version: 0.0.3
326
+ version: 0.1.2
327
327
  - !ruby/object:Gem::Dependency
328
328
  name: rmagick
329
329
  requirement: !ruby/object:Gem::Requirement
@@ -394,6 +394,20 @@ dependencies:
394
394
  - - "~>"
395
395
  - !ruby/object:Gem::Version
396
396
  version: 0.1.0
397
+ - !ruby/object:Gem::Dependency
398
+ name: base64
399
+ requirement: !ruby/object:Gem::Requirement
400
+ requirements:
401
+ - - "~>"
402
+ - !ruby/object:Gem::Version
403
+ version: 0.2.0
404
+ type: :runtime
405
+ prerelease: false
406
+ version_requirements: !ruby/object:Gem::Requirement
407
+ requirements:
408
+ - - "~>"
409
+ - !ruby/object:Gem::Version
410
+ version: 0.2.0
397
411
  description: |
398
412
  Mayu Live is a live updating server side VirtualDOM framework for Ruby,
399
413
  inspired by modern frontend tools that exist in the JavaScript ecosystem.
@@ -611,14 +625,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
611
625
  requirements:
612
626
  - - ">="
613
627
  - !ruby/object:Gem::Version
614
- version: 3.2.0
628
+ version: 3.3.0
615
629
  required_rubygems_version: !ruby/object:Gem::Requirement
616
630
  requirements:
617
631
  - - ">="
618
632
  - !ruby/object:Gem::Version
619
633
  version: '0'
620
634
  requirements: []
621
- rubygems_version: 3.4.1
635
+ rubygems_version: 3.5.3
622
636
  signing_key:
623
637
  specification_version: 4
624
638
  summary: Server side VDOM framework