jets 5.0.16 → 5.0.18

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: 3122354f1e6a078fe2b8b0672065955366f36273906a643abcc6cf6181f10736
4
- data.tar.gz: a47309f9b492bae2803ed0d3eba234f89c008358e35498b05643026fef57ceac
3
+ metadata.gz: 0c63de44481a232b59ca231850d315ff0c86356ed1955bf97347904072cbef12
4
+ data.tar.gz: 9dbd885370643a372fe91b8c6b9a0c85951db5c12921cd95799c4892d2ef4548
5
5
  SHA512:
6
- metadata.gz: 96a944ebcb5fd408579238ecc63687631172383894944da56d9d0764dc9ca16bf54a01b2cfdf12e8c1d773631c4940ec3473ee1382e46074fc6c83892c7b8861
7
- data.tar.gz: 2c667a738eb867cee4652a0e8d5f62c5f64507c16b6d4511db4030ebeadd00dc2d94fcb9fe6593b27cffea0f90b2156d40598d60e62a1cff4d822d8349bf4f49
6
+ metadata.gz: 39de82ee08d26aa91d8ec38ea642a57a6144f2dc4613e5921349da7ceb2dbd6d81e616686772529a2337cbead8fdff06a5b3ee6af4276ce8ac03a8d182627da8
7
+ data.tar.gz: e974f3a132f4d48c329f12dfdc5866c23da7264ec494898ae66559ee39ce7a28b6390f17a7936644879ef65a0f8d24e2fe12310a604f7f411bec2559d8c8f437
data/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
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.18] - 2026-10-29
7
+
8
+ - require jets-api 0.2.4 or newer to check only resolved application gems
9
+ - allow gem releases on Ruby 4 without loading the Jets runtime
10
+
11
+ ## [5.0.17] - 2025-10-11
12
+
13
+ - fix crash on deploy if parent stack exists but ApiGateway does not exist yet
14
+ - extract method for request_context so it can be mocked more easily in tests
15
+ - reset Dotenv vars when building/deploying so that remote variables are included
16
+ - use Dotenv.parse to ensure all variables are returned
17
+ - payload may be nil when invoking a Lambda function
18
+
6
19
  ## [5.0.16] - 2025-10-11
7
20
  - update dependency jets-api 0.2.2
8
21
 
data/Rakefile CHANGED
@@ -7,10 +7,9 @@ task :default => :spec
7
7
 
8
8
  RSpec::Core::RakeTask.new
9
9
 
10
- require_relative "lib/jets"
11
-
12
10
  desc "Generates cli reference docs as markdown"
13
11
  task :docs do
12
+ require_relative "lib/jets"
14
13
  require "cli_markdown_jets"
15
14
  CliMarkdown::Creator.new.create_all
16
15
  end
data/jets.gemspec CHANGED
@@ -54,7 +54,7 @@ Gem::Specification.new do |spec|
54
54
  spec.add_dependency "gems"
55
55
  spec.add_dependency "hashie"
56
56
  spec.add_dependency "logger"
57
- spec.add_dependency "jets-api", ">= 0.2.2"
57
+ spec.add_dependency "jets-api", ">= 0.2.4"
58
58
  spec.add_dependency "jets-git"
59
59
  spec.add_dependency "jets-html-sanitizer"
60
60
  spec.add_dependency "kramdown"
@@ -71,6 +71,7 @@ Gem::Specification.new do |spec|
71
71
  spec.add_development_dependency "bundler"
72
72
  spec.add_development_dependency "byebug"
73
73
  spec.add_development_dependency "rake"
74
+ spec.add_development_dependency "rdoc"
74
75
  spec.add_development_dependency "render_me_pretty"
75
76
  spec.add_development_dependency "rspec"
76
77
  end
@@ -30,6 +30,7 @@ module Jets::Builders
30
30
  cache_check_message
31
31
 
32
32
  clean_start
33
+ reset_dotenv_vars
33
34
  assets_precompile
34
35
  run_webpack # easier to do before we copy the project because node and yarn has been likely setup in the that dir
35
36
  copy_project
@@ -246,6 +247,12 @@ module Jets::Builders
246
247
  FileUtils.mkdir_p(Jets.build_root) # /tmp/jets/demo
247
248
  end
248
249
 
250
+ # Resets Dotenv cached variables so that it will force the Dotenv files to reload including
251
+ # the .remote files for deployment
252
+ def reset_dotenv_vars
253
+ Jets::Dotenv.class_variable_set(:@@vars, nil)
254
+ end
255
+
249
256
  # Copy project into temporary directory. Do this so we can keep the project
250
257
  # directory untouched and we can also remove a bunch of unnecessary files like
251
258
  # logs before zipping it up.
@@ -68,6 +68,7 @@ module Jets::Cfn::Builder::Api
68
68
  memoize :existing_domain_name?
69
69
 
70
70
  def existing_domain_name_on_stack?
71
+ return false unless api_gateway_physical_resource_id
71
72
  cfn.describe_stack_resource(
72
73
  stack_name: api_gateway_physical_resource_id,
73
74
  logical_resource_id: "DomainName"
@@ -79,6 +80,7 @@ module Jets::Cfn::Builder::Api
79
80
  end
80
81
 
81
82
  def existing_dns_record_on_stack?
83
+ return false unless api_gateway_physical_resource_id
82
84
  cfn.describe_stack_resource(
83
85
  stack_name: api_gateway_physical_resource_id,
84
86
  logical_resource_id: "DnsRecord"
@@ -75,8 +75,8 @@ module Jets::Commands::Call
75
75
  end
76
76
 
77
77
  add_console_link_to_clipboard
78
- result = resp.payload.read # already been normalized/JSON.dump by AWS
79
- unless @options[:mute_output]
78
+ result = resp.payload&.read # already been normalized/JSON.dump by AWS
79
+ unless result.nil? || @options[:mute_output]
80
80
  STDOUT.puts result # only thing that goes to stdout
81
81
  end
82
82
  end
@@ -40,7 +40,7 @@ class Jets::Controller::Middleware::Mimic
40
40
  "multiValueQueryStringParameters" => multi_value_query_string_parameters,
41
41
  "pathParameters" => @route.extract_parameters(path),
42
42
  "stageVariables" => nil,
43
- "requestContext" => {},
43
+ "requestContext" => request_context,
44
44
  "body" => get_body,
45
45
  "isBase64Encoded" => false,
46
46
  }
@@ -63,6 +63,16 @@ class Jets::Controller::Middleware::Mimic
63
63
  "Upgrade-Insecure-Requests" => "upgrade-insecure-requests",
64
64
  }
65
65
 
66
+ # For mocking in RSepc:
67
+ #
68
+ # allow_any_instance_of(Jets::Controller::Middleware::Mimic::Apigw).to receive(:request_context) {
69
+ # {'authorizer' => { 'claims' => { 'sub' => sub, 'email_verified' => 'true', 'email' => 'me@example.com' }}}
70
+ # }
71
+ #
72
+ def request_context
73
+ {}
74
+ end
75
+
66
76
  # Map rack env headers to Api Gateway event headers. Most rack env headers are
67
77
  # prepended by HTTP_.
68
78
  #
data/lib/jets/dotenv.rb CHANGED
@@ -17,7 +17,7 @@ class Jets::Dotenv
17
17
  def load!
18
18
  return @@vars if @@vars
19
19
  return if on_aws? # this prevents ssm calls if used in dotenv files
20
- vars = ::Dotenv.load(*dotenv_files)
20
+ vars = ::Dotenv.parse(*dotenv_files)
21
21
  @@vars = Ssm.new(vars).interpolate!
22
22
  end
23
23
 
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "5.0.16"
2
+ VERSION = "5.0.18"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jets
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.16
4
+ version: 5.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-10-11 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: actionmailer
@@ -408,14 +407,14 @@ dependencies:
408
407
  requirements:
409
408
  - - ">="
410
409
  - !ruby/object:Gem::Version
411
- version: 0.2.2
410
+ version: 0.2.4
412
411
  type: :runtime
413
412
  prerelease: false
414
413
  version_requirements: !ruby/object:Gem::Requirement
415
414
  requirements:
416
415
  - - ">="
417
416
  - !ruby/object:Gem::Version
418
- version: 0.2.2
417
+ version: 0.2.4
419
418
  - !ruby/object:Gem::Dependency
420
419
  name: jets-git
421
420
  requirement: !ruby/object:Gem::Requirement
@@ -626,6 +625,20 @@ dependencies:
626
625
  - - ">="
627
626
  - !ruby/object:Gem::Version
628
627
  version: '0'
628
+ - !ruby/object:Gem::Dependency
629
+ name: rdoc
630
+ requirement: !ruby/object:Gem::Requirement
631
+ requirements:
632
+ - - ">="
633
+ - !ruby/object:Gem::Version
634
+ version: '0'
635
+ type: :development
636
+ prerelease: false
637
+ version_requirements: !ruby/object:Gem::Requirement
638
+ requirements:
639
+ - - ">="
640
+ - !ruby/object:Gem::Version
641
+ version: '0'
629
642
  - !ruby/object:Gem::Dependency
630
643
  name: render_me_pretty
631
644
  requirement: !ruby/object:Gem::Requirement
@@ -1195,7 +1208,6 @@ homepage: https://rubyonjets.com
1195
1208
  licenses:
1196
1209
  - MIT
1197
1210
  metadata: {}
1198
- post_install_message:
1199
1211
  rdoc_options:
1200
1212
  - "-m"
1201
1213
  - README.md
@@ -1250,8 +1262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1250
1262
  - !ruby/object:Gem::Version
1251
1263
  version: '0'
1252
1264
  requirements: []
1253
- rubygems_version: 3.4.19
1254
- signing_key:
1265
+ rubygems_version: 4.0.18
1255
1266
  specification_version: 4
1256
1267
  summary: Ruby Serverless Framework
1257
1268
  test_files: []