jets 1.6.2 → 1.6.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +1 -1
- data/lib/jets/application.rb +2 -1
- data/lib/jets/builders/ruby_packager.rb +13 -3
- data/lib/jets/commands/help/new.md +13 -0
- data/lib/jets/commands/sequence.rb +12 -5
- data/lib/jets/resource/api_gateway/cors.rb +5 -1
- data/lib/jets/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c87194c6d0b415b564a28726756577210d6464cc0622300daf24126ff9d226d0
|
4
|
+
data.tar.gz: 7c0cc6ec4aff9f5e453a357953949b726613e57b240b8bf3b5e72b3eff98f48b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0998620a1d9e0fd826361c781d0e68a524c94347480b2e28524a501cda53c823a4482acdf7d274044709b2999467188c9dc4eb2349666bbfb573efca5d2c33d0'
|
7
|
+
data.tar.gz: 51367be08a6964660d5c5211e37ae21d04a8f1cabe3d9de519db5229bac8c356010c6826ebaf6380bacc033da9534efb55a2210227b48088e257bb44110cca75
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,9 @@
|
|
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/), even before v1.0.
|
5
5
|
|
6
|
+
## [1.6.3]
|
7
|
+
- #168 cors specific authorization_type, default none
|
8
|
+
|
6
9
|
## [1.6.2]
|
7
10
|
- #165 remove always trailing slash from Jets.root
|
8
11
|
- #166 fix cors headers
|
data/Gemfile.lock
CHANGED
data/lib/jets/application.rb
CHANGED
@@ -32,7 +32,7 @@ class Jets::Application
|
|
32
32
|
def default_config
|
33
33
|
config = ActiveSupport::OrderedOptions.new
|
34
34
|
config.project_name = parse_project_name # must set early because other configs requires this
|
35
|
-
config.cors =
|
35
|
+
config.cors = false
|
36
36
|
config.autoload_paths = default_autoload_paths
|
37
37
|
config.extra_autoload_paths = []
|
38
38
|
config.logger = Jets::Logger.new($stderr)
|
@@ -75,6 +75,7 @@ class Jets::Application
|
|
75
75
|
|
76
76
|
config.api = ActiveSupport::OrderedOptions.new
|
77
77
|
config.api.authorization_type = "NONE"
|
78
|
+
config.api.cors_authorization_type = nil # nil so ApiGateway::Cors#cors_authorization_type handles
|
78
79
|
config.api.binary_media_types = ['multipart/form-data']
|
79
80
|
config.api.endpoint_type = 'EDGE' # PRIVATE, EDGE, REGIONAL
|
80
81
|
|
@@ -144,10 +144,20 @@ class Jets::Builders
|
|
144
144
|
# And this can cause issues with require 'bundler/setup'
|
145
145
|
def remove_bundled_with(gemfile_lock)
|
146
146
|
lines = IO.readlines(gemfile_lock)
|
147
|
-
n = lines.index { |l| l.include?("BUNDLED WITH") }
|
148
|
-
return unless n
|
149
147
|
|
150
|
-
|
148
|
+
# amount is the number of lines to remove
|
149
|
+
new_lines, capture, count, amount = [], true, 0, 2
|
150
|
+
lines.each do |l|
|
151
|
+
capture = false if l.include?('BUNDLED WITH')
|
152
|
+
if capture
|
153
|
+
new_lines << l
|
154
|
+
end
|
155
|
+
if capture == false
|
156
|
+
count += 1
|
157
|
+
capture = count > amount # renable capture
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
151
161
|
content = new_lines.join('')
|
152
162
|
IO.write(gemfile_lock, content)
|
153
163
|
end
|
@@ -22,6 +22,19 @@
|
|
22
22
|
jets deploy
|
23
23
|
$
|
24
24
|
|
25
|
+
## Mode Option
|
26
|
+
|
27
|
+
The `--mode` is a notable option. With it, you can generate different starter Jets projects. Examples:
|
28
|
+
|
29
|
+
jets new demo --mode html # default
|
30
|
+
jets new api --mode api
|
31
|
+
jets new cron --mode job
|
32
|
+
|
33
|
+
* The html mode generates a starter app useful for html web application.
|
34
|
+
* The api mode is useful for building an API.
|
35
|
+
* The job mode creates a very lightweight project. It is useful when you just need to run a Lambda function.
|
36
|
+
|
37
|
+
## Repo Option
|
25
38
|
Use the `--repo` flag to clone an example project from GitHub instead. With this flag, jets new command clones a jets project repo from GitHub:
|
26
39
|
|
27
40
|
$ jets new blog --repo tongueroo/tutorial
|
@@ -37,7 +37,8 @@ private
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def copy_options
|
40
|
-
excludes =
|
40
|
+
excludes = case @options[:mode]
|
41
|
+
when 'job'
|
41
42
|
# For job mode: list of words to include in the exclude pattern and will not be generated.
|
42
43
|
%w[
|
43
44
|
Procfile
|
@@ -55,16 +56,22 @@ private
|
|
55
56
|
yarn
|
56
57
|
public
|
57
58
|
]
|
58
|
-
|
59
|
+
when 'api'
|
60
|
+
%w[
|
61
|
+
views
|
62
|
+
]
|
63
|
+
else # html
|
64
|
+
[]
|
65
|
+
end
|
66
|
+
|
67
|
+
unless @database
|
59
68
|
# Do not even generated the config/database.yml because
|
60
69
|
# jets webpacker:install bombs and tries to load the db since it sees a
|
61
70
|
# config/database.yml but has there's no database pg gem configured.
|
62
|
-
%w[
|
71
|
+
excludes += %w[
|
63
72
|
database.yml
|
64
73
|
models/application_record
|
65
74
|
]
|
66
|
-
else
|
67
|
-
[]
|
68
75
|
end
|
69
76
|
|
70
77
|
if excludes.empty?
|
@@ -10,7 +10,7 @@ module Jets::Resource::ApiGateway
|
|
10
10
|
properties: {
|
11
11
|
resource_id: "!Ref #{resource_id}",
|
12
12
|
rest_api_id: "!Ref #{RestApi.logical_id}",
|
13
|
-
authorization_type:
|
13
|
+
authorization_type: cors_authorization_type,
|
14
14
|
http_method: "OPTIONS",
|
15
15
|
method_responses: [{
|
16
16
|
status_code: '200',
|
@@ -46,6 +46,10 @@ module Jets::Resource::ApiGateway
|
|
46
46
|
} # closes definition
|
47
47
|
end
|
48
48
|
|
49
|
+
def cors_authorization_type
|
50
|
+
Jets.config.api.cors_authorization_type || @route.authorization_type || "NONE"
|
51
|
+
end
|
52
|
+
|
49
53
|
def cors_logical_id
|
50
54
|
"#{resource_logical_id}_cors_api_method"
|
51
55
|
end
|
data/lib/jets/version.rb
CHANGED