jets 5.0.1 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4a384d3b0e4d6523695e38deddbb180904b542b7e03cc095ead1844f02a3571
4
- data.tar.gz: b01933003b19b5ae79c4e6e82427e930a1c82197ebf7efb125d150ea405ef3f5
3
+ metadata.gz: '09353481e33c3e69347755182cf55dab3b16e50d351bf263d21e20fb6516aa5f'
4
+ data.tar.gz: 185f9c67d33250cfd3d406612d3bd34d03179d5abb6c86a540218f2666fc448f
5
5
  SHA512:
6
- metadata.gz: 0b40b236e756e6a93649082776f7ea948250619703a51cd98425cc7876085933975011120547bedc098c3a5fe0000aecfe545adb01b8d9c1de76cb4f4e3a36ae
7
- data.tar.gz: 4cc1b4cdc76eb7fd9d4397b2194300a4974c3d3afe94e954c2073a300ccfcc612f16fee657e86214c0c5c96fb983d1003c88db7e2e04d176516fbc9518f5c37a
6
+ metadata.gz: 45bd552d7be3599219c725499a406907c24c9344cae56cee664a0a86f292efd6b9dbe81f27f6caabc94f19efb59080c3ff26f53214289d1f0ee11f76083ddaad
7
+ data.tar.gz: 536a79ad1957f08184600d86c126d2877ab8e254b7568d1e1b265dc288cae36017b50b254ca0acb06cbbce32111ae6ab37e0303152e9927653d837196f16f3d5
data/CHANGELOG.md CHANGED
@@ -3,6 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [5.0.3] - 2023-12-15
7
+ - [#691](https://github.com/rubyonjets/jets/pull/691) jets deploy fix for empty project
8
+ - [#692](https://github.com/rubyonjets/jets/pull/692) fix jets deploy for empty project
9
+ - [#693](https://github.com/rubyonjets/jets/pull/693) do not include sprockets-jets in new app generator for api mode
10
+ - [#694](https://github.com/rubyonjets/jets/pull/694) fix jets deploy for empty project
11
+
12
+ ## [5.0.2] - 2023-12-11
13
+ - [#688](https://github.com/rubyonjets/jets/pull/688) improve releases:info output
14
+
6
15
  ## [5.0.1] - 2023-12-11
7
16
  - [#680](https://github.com/rubyonjets/jets/pull/680) fix apigw gateway replacement warning prompt
8
17
  - [#682](https://github.com/rubyonjets/jets/pull/682) Replace puts with Jets.logger.info in jobs
@@ -232,7 +232,7 @@ module Jets::Builders
232
232
  # Checking this way because when using jets standalone for Afterburner mode we don't want to run into
233
233
  # bundler gem collisions. TODO: figure out the a better way to handle the collisions.
234
234
  lines = IO.readlines("#{Jets.root}/Gemfile")
235
- lines.detect { |l| l =~ /#{name}/ && l !~ /\s.*#/ }
235
+ lines.detect { |l| l =~ /gem ['"]#{name}/ && l !~ /^\s*?#/ }
236
236
  end
237
237
 
238
238
  # Cleans out non-cached files like code-*.zip in Jets.build_root
@@ -305,7 +305,7 @@ module Jets::Builders
305
305
  puts "Skip packaging ruby".color(:yellow) # useful for developing handlers
306
306
  return
307
307
  end
308
- return if Jets.poly_only?
308
+ return unless Jets.gem_layer?
309
309
 
310
310
  check_agree
311
311
  ruby_packager.install
@@ -322,7 +322,7 @@ module Jets::Builders
322
322
  end
323
323
 
324
324
  def build_lambda_layer
325
- return if Jets.poly_only?
325
+ return unless Jets.gem_layer?
326
326
  lambda_layer = LambdaLayer.new
327
327
  lambda_layer.build
328
328
  end
@@ -45,6 +45,14 @@ module Jets::Builders
45
45
  generate_handler(vars)
46
46
  end
47
47
  end
48
+
49
+ if app_files.empty? && Jets.gem_layer?
50
+ # When there are no app files, still need to generate a shim for JetsController
51
+ lib = File.expand_path('../../..', __dir__)
52
+ path = "#{lib}/engines/internal/app/controllers/jets/public_controller.rb"
53
+ vars = Jets::Builders::ShimVars::App.new(path)
54
+ generate_handler(vars)
55
+ end
48
56
  end
49
57
 
50
58
  def generate_handler(vars)
@@ -44,7 +44,7 @@ class Jets::Cfn::Builder
44
44
  add_resource(resource)
45
45
  add_outputs(resource.outputs)
46
46
 
47
- return if Jets.poly_only?
47
+ return unless Jets.gem_layer?
48
48
  resource = Jets::Cfn::Resource::Lambda::GemLayer.new
49
49
  add_resource(resource)
50
50
  add_outputs(resource.outputs)
@@ -86,8 +86,8 @@ module Jets::Cfn
86
86
  builder_class = "Jets::Cfn::Builder::#{app_class}".constantize
87
87
 
88
88
  app_class = Jets::Klass.from_path(path)
89
- if Jets.poly_only? && app_class == Jets::PreheatJob
90
- return # No prewarm when there's only poly functions
89
+ if !Jets.gem_layer? && app_class == Jets::PreheatJob
90
+ return # No prewarm when there's only poly functions and no gem layer
91
91
  end
92
92
 
93
93
  # Builder class fully qualified name:
@@ -5,7 +5,7 @@ module Jets::Cfn::Params
5
5
  IamRole: "!GetAtt IamRole.Arn",
6
6
  S3Bucket: "!Ref S3Bucket",
7
7
  }
8
- parameters[:GemLayer] = "!Ref GemLayer" unless Jets.poly_only?
8
+ parameters[:GemLayer] = "!Ref GemLayer" if Jets.gem_layer?
9
9
  parameters
10
10
  end
11
11
 
data/lib/jets/cfn/ship.rb CHANGED
@@ -116,7 +116,7 @@ module Jets::Cfn
116
116
  end
117
117
  return unless @options[:stack_type] == :full # s3 bucket is available
118
118
  return unless Jets.config.prewarm.enable
119
- return if Jets.poly_only?
119
+ return unless Jets.gem_layer?
120
120
 
121
121
  puts "Prewarming application."
122
122
  Jets::PreheatJob.prewarm!
@@ -138,6 +138,9 @@ module Jets::Cfn
138
138
  # If only max_age is provided, then we'll generate a cache_control header.
139
139
  # Using max_age is the shorter and simply way of setting the cache_control header.
140
140
  def cache_control
141
+ # default when sprockets-jets not installed
142
+ return "public, max-age=3600" unless Jets.config.respond_to?(:assets)
143
+
141
144
  cache_control = Jets.config.assets.cache_control
142
145
  unless cache_control
143
146
  max_age = Jets.config.assets.max_age # defaults to 3600 in jets/application.rb
@@ -102,21 +102,20 @@ module Jets::Command
102
102
  ["Released At", format_time(release_at)],
103
103
  ["Message", release['message']],
104
104
  ["User", release['deploy_user']],
105
- ["Git Branch", release['git_branch']],
106
- ["Git Sha", release['git_sha']],
107
- ["Git Message", release['git_message']],
108
- ["Git Url", release['git_url']],
109
- ["Git Dirty", release['git_dirty']],
110
105
  ["Jets Env", release['jets_env']],
111
106
  ["Jets Extra", release['jets_extra']],
112
107
  ["Jets Version", release['jets_version']],
113
108
  ["Ruby Version", release['ruby_version']],
114
109
  ["Region", release['region']],
110
+ ["Git Branch", release['git_branch']],
111
+ ["Git Sha", release['git_sha']],
112
+ ["Git Url", release['git_url']],
113
+ ["Git Message", release['git_message']],
115
114
  ]
116
115
  column1_width = data.map { |row| row[1].nil? ? 0 : row[0].to_s.length }.max
117
116
  column2_width = data.map { |row| row[1].nil? ? 0 : row[1].to_s.length }.max
118
117
 
119
- puts Jets.project_namespace
118
+ puts Jets.project_namespace.color(:green)
120
119
  data.each do |row|
121
120
  puts "#{row[0].ljust(column1_width)} #{row[1]}" unless row[1].nil?
122
121
  end
data/lib/jets/core.rb CHANGED
@@ -207,6 +207,10 @@ module Jets::Core
207
207
  Jets.config.cfn.build.controllers == "one_lambda_for_all_controllers"
208
208
  end
209
209
 
210
+ def gem_layer?
211
+ !Jets.poly_only? || Jets.one_lambda_for_all_controllers?
212
+ end
213
+
210
214
  # Do not memoize here. The JetsBucket.name does it's own special memoization.
211
215
  def s3_bucket
212
216
  Jets::Cfn::Resource::S3::JetsBucket.name
@@ -2,9 +2,12 @@ source "https://rubygems.org"
2
2
 
3
3
  gem "jets", "~> <%= Jets::VERSION %>"
4
4
 
5
+ <%- if options[:mode] == 'html'-%>
6
+ gem "sprockets-jets"
7
+ <% end -%>
8
+
5
9
  <%- if options[:mode] != 'job' && !options[:database].nil? -%>
6
10
  <%= database_gemfile_entry %>
7
- gem "sprockets-jets"
8
11
  <%- end -%>
9
12
  <%- if options[:mode] == 'html' -%>
10
13
  gem "importmap-jets"
@@ -21,7 +21,7 @@ class Jets::Stack
21
21
  return unless elements
22
22
 
23
23
  if section == :parameters
24
- elements[:GemLayer] = {Type: "String"} unless Jets.poly_only?
24
+ elements[:GemLayer] = {Type: "String"} if Jets.gem_layer?
25
25
  end
26
26
  @template[section] = elements
27
27
  end
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "5.0.1"
2
+ VERSION = "5.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jets
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.1
4
+ version: 5.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-11 00:00:00.000000000 Z
11
+ date: 2023-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionmailer