jets 3.0.8 → 3.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/jets.gemspec +1 -1
- data/lib/jets/builders/md5_zip.rb +2 -2
- data/lib/jets/builders/tidy.rb +2 -2
- data/lib/jets/cfn/upload.rb +12 -10
- data/lib/jets/commands/dbconsole.rb +10 -7
- data/lib/jets/commands/gems.rb +1 -1
- data/lib/jets/commands/help/delete.md +2 -2
- data/lib/jets/commands/new.rb +1 -1
- data/lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt +3 -2
- data/lib/jets/core.rb +1 -1
- data/lib/jets/overrides/rails/url_helper.rb +4 -1
- data/lib/jets/resource/api_gateway/base_path/function.rb +3 -1
- data/lib/jets/version.rb +1 -1
- metadata +4 -5
- data/lib/jets/commands/templates/webpacker/app/javascript/src/jets/crud.js +0 -90
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df619199e09ad52bd8f622f765867bb6560d3818a3b6297d9f82dd9ed7b4a9a4
|
4
|
+
data.tar.gz: d66d07f780595a0075caeadd6869a7e26aa85edb3b5af1c4a9680d2958201dd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a77badece003642190f7f7054d690d1c716d3d74a835275ac639dda48fa4f42fd80158e2559ff7ddfea175cb7e53a5bc353071d11448162c9b919a8a61620a76
|
7
|
+
data.tar.gz: b2cc100b93f46fc0625146ef6ac6d5579fb814aa764d30440abda2b5f31e9e236e9eff7a3fc5d159fdf1cb4a992a00429fbe42625e14b7b32da4a28b8b2ad6a7
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,23 @@
|
|
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
|
+
## [3.0.12] - 2021-08-08
|
7
|
+
- [#578](https://github.com/boltops-tools/jets/pull/578) Update "jets delete" documentation to be --yes instead of --skip
|
8
|
+
- [#580](https://github.com/boltops-tools/jets/pull/580) Use active support instead of actionview
|
9
|
+
- [#581](https://github.com/boltops-tools/jets/pull/581) Csrf csrf-param authenticity_token and use @rails/ujs for crud
|
10
|
+
|
11
|
+
## [3.0.11] - 2021-07-15
|
12
|
+
- update serverlessgems gem
|
13
|
+
|
14
|
+
## [3.0.10] - 2021-07-14
|
15
|
+
- [#575](https://github.com/boltops-tools/jets/pull/575) fix missing webpacker helpers
|
16
|
+
- [#576](https://github.com/boltops-tools/jets/pull/576) Fixes API Gateway base path Lambda not respecting various config opts
|
17
|
+
- [#577](https://github.com/boltops-tools/jets/pull/577) Adjust .jetskeep handling and add .jetsignore docs
|
18
|
+
- fix dbconsole (#568)
|
19
|
+
|
20
|
+
## [3.0.9] - 2021-06-14
|
21
|
+
- fix content type s3 metadata (#564)
|
22
|
+
|
6
23
|
## [3.0.8] - 2021-06-03
|
7
24
|
- Update cli.md (#560)
|
8
25
|
- respect .jetsignore also (#562)
|
data/jets.gemspec
CHANGED
@@ -57,7 +57,7 @@ Gem::Specification.new do |spec|
|
|
57
57
|
spec.add_dependency "railties", "~> 6.1.0" # for ActiveRecord database_tasks.rb
|
58
58
|
spec.add_dependency "rainbow"
|
59
59
|
spec.add_dependency "recursive-open-struct"
|
60
|
-
spec.add_dependency "serverlessgems", "~> 0.1.
|
60
|
+
spec.add_dependency "serverlessgems", "~> 0.1.4"
|
61
61
|
spec.add_dependency "shotgun"
|
62
62
|
spec.add_dependency "text-table"
|
63
63
|
spec.add_dependency "thor"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "active_support/number_helper"
|
2
2
|
|
3
3
|
# Examples:
|
4
4
|
#
|
@@ -10,7 +10,7 @@ require 'action_view'
|
|
10
10
|
#
|
11
11
|
module Jets::Builders
|
12
12
|
class Md5Zip
|
13
|
-
include
|
13
|
+
include ActiveSupport::NumberHelper # number_to_human_size
|
14
14
|
include Util
|
15
15
|
|
16
16
|
def initialize(folder)
|
data/lib/jets/builders/tidy.rb
CHANGED
@@ -38,7 +38,7 @@ module Jets::Builders
|
|
38
38
|
removals += get_removals("#{@project_root}/.jetsignore")
|
39
39
|
removals = removals.reject do |p|
|
40
40
|
jetskeep.find do |keep|
|
41
|
-
p
|
41
|
+
p == keep
|
42
42
|
end
|
43
43
|
end
|
44
44
|
removals.uniq
|
@@ -56,7 +56,7 @@ module Jets::Builders
|
|
56
56
|
# We clean out ignored files pretty aggressively. So provide
|
57
57
|
# a way for users to keep files from being cleaned out.
|
58
58
|
def jetskeep
|
59
|
-
always = %w[.bundle packs vendor]
|
59
|
+
always = %w[.bundle /public/packs /public/packs-test vendor]
|
60
60
|
path = "#{@project_root}/.jetskeep"
|
61
61
|
return always unless File.exist?(path)
|
62
62
|
|
data/lib/jets/cfn/upload.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'action_view'
|
2
2
|
require 'digest'
|
3
|
+
require 'rack/mime'
|
3
4
|
|
4
5
|
module Jets::Cfn
|
5
6
|
class Upload
|
@@ -8,12 +9,6 @@ module Jets::Cfn
|
|
8
9
|
|
9
10
|
attr_reader :bucket_name
|
10
11
|
|
11
|
-
CONTENT_TYPES_BY_EXTENSION = {
|
12
|
-
'.css' => 'text/css',
|
13
|
-
'.js' => 'application/javascript',
|
14
|
-
'.html' => 'text/html'
|
15
|
-
}
|
16
|
-
|
17
12
|
def initialize(bucket_name)
|
18
13
|
@bucket_name = bucket_name
|
19
14
|
end
|
@@ -93,16 +88,23 @@ module Jets::Cfn
|
|
93
88
|
end
|
94
89
|
|
95
90
|
def upload_to_s3(full_path)
|
96
|
-
return if identical_on_s3?(full_path)
|
91
|
+
return if identical_on_s3?(full_path) && !ENV['JETS_ASSET_UPLOAD_FORCE']
|
97
92
|
|
98
93
|
key = s3_key(full_path)
|
99
94
|
obj = s3_resource.bucket(bucket_name).object(key)
|
100
|
-
|
101
|
-
|
95
|
+
content_type = content_type_headers(full_path)
|
96
|
+
puts "Uploading and setting content type for s3://#{bucket_name}/#{key} content_type #{content_type[:content_type].inspect}"
|
97
|
+
obj.upload_file(full_path, { acl: "public-read", cache_control: cache_control }.merge(content_type))
|
102
98
|
end
|
103
99
|
|
100
|
+
CONTENT_TYPES_BY_EXTENSION = {
|
101
|
+
'.css' => 'text/css',
|
102
|
+
'.html' => 'text/html',
|
103
|
+
'.js' => 'application/javascript',
|
104
|
+
}
|
104
105
|
def content_type_headers(full_path)
|
105
|
-
|
106
|
+
ext = File.extname(full_path)
|
107
|
+
content_type = CONTENT_TYPES_BY_EXTENSION[ext] || Rack::Mime.mime_type(ext)
|
106
108
|
if content_type
|
107
109
|
{ content_type: content_type }
|
108
110
|
else
|
@@ -1,12 +1,15 @@
|
|
1
1
|
# Thanks: Rails dbconsole_command.rb
|
2
2
|
module Jets::Commands
|
3
3
|
class Dbconsole
|
4
|
+
extend Memoist
|
5
|
+
|
4
6
|
def self.start(*args)
|
5
7
|
new(*args).start
|
6
8
|
end
|
7
9
|
|
8
10
|
def initialize(options = {})
|
9
|
-
|
11
|
+
defaults = {"include_password" => true}
|
12
|
+
@options = defaults.merge(options)
|
10
13
|
end
|
11
14
|
|
12
15
|
def start
|
@@ -85,14 +88,14 @@ module Jets::Commands
|
|
85
88
|
end
|
86
89
|
|
87
90
|
def config
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
end
|
91
|
+
configs = configurations.configs_for(env_name: environment)
|
92
|
+
if configs.blank?
|
93
|
+
raise ActiveRecord::AdapterNotSpecified, "'#{environment}' database is not configured. Available configuration: #{configurations.inspect}"
|
94
|
+
else
|
95
|
+
configs.first.configuration_hash.dup.stringify_keys!
|
94
96
|
end
|
95
97
|
end
|
98
|
+
memoize :config
|
96
99
|
|
97
100
|
def environment
|
98
101
|
Jets.env.to_s
|
data/lib/jets/commands/gems.rb
CHANGED
@@ -2,7 +2,7 @@ module Jets::Commands
|
|
2
2
|
class Gems < Jets::Commands::Base
|
3
3
|
desc "check", "Check if pre-built Lambda gems are available from the sources"
|
4
4
|
long_desc Help.text("gems:check")
|
5
|
-
option :
|
5
|
+
option :verbose, type: :boolean, desc: "Verbose mode"
|
6
6
|
def check
|
7
7
|
check = Jets::Gems::Check.new(@options)
|
8
8
|
check.run! # exits early if missing gems found
|
@@ -17,6 +17,6 @@ This deletes the all the contents in the internal s3 bucket that jets uses and t
|
|
17
17
|
Project demo-dev deleted!
|
18
18
|
$
|
19
19
|
|
20
|
-
You can bypass the are you sure prompt with the `--
|
20
|
+
You can bypass the are you sure prompt with the `--yes` flag.
|
21
21
|
|
22
|
-
$ jets delete --
|
22
|
+
$ jets delete --yes
|
data/lib/jets/commands/new.rb
CHANGED
@@ -114,7 +114,7 @@ JS
|
|
114
114
|
after = "const { environment } = require('@rails/webpacker')\n"
|
115
115
|
insert_into_file("config/webpack/environment.js", jquery, after: after)
|
116
116
|
|
117
|
-
run("yarn add bootstrap jquery popper.js postcss-cssnext")
|
117
|
+
run("yarn add bootstrap jquery popper.js postcss-cssnext @rails/ujs")
|
118
118
|
end
|
119
119
|
|
120
120
|
def git_init
|
data/lib/jets/core.rb
CHANGED
@@ -77,7 +77,10 @@ module Jets::UrlHelper
|
|
77
77
|
|
78
78
|
def csrf_meta_tags
|
79
79
|
if protect_against_forgery?
|
80
|
-
tag("meta", name: "csrf-token", content: masked_authenticity_token).html_safe
|
80
|
+
html = tag("meta", name: "csrf-token", content: masked_authenticity_token).html_safe
|
81
|
+
html << "\n"
|
82
|
+
html << tag("meta", name: "csrf-param", content: "authenticity_token").html_safe
|
83
|
+
html
|
81
84
|
end
|
82
85
|
end
|
83
86
|
end # UrlHelper
|
data/lib/jets/version.rb
CHANGED
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: 3.0.
|
4
|
+
version: 3.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionmailer
|
@@ -436,14 +436,14 @@ dependencies:
|
|
436
436
|
requirements:
|
437
437
|
- - "~>"
|
438
438
|
- !ruby/object:Gem::Version
|
439
|
-
version: 0.1.
|
439
|
+
version: 0.1.4
|
440
440
|
type: :runtime
|
441
441
|
prerelease: false
|
442
442
|
version_requirements: !ruby/object:Gem::Requirement
|
443
443
|
requirements:
|
444
444
|
- - "~>"
|
445
445
|
- !ruby/object:Gem::Version
|
446
|
-
version: 0.1.
|
446
|
+
version: 0.1.4
|
447
447
|
- !ruby/object:Gem::Dependency
|
448
448
|
name: shotgun
|
449
449
|
requirement: !ruby/object:Gem::Requirement
|
@@ -776,7 +776,6 @@ files:
|
|
776
776
|
- lib/jets/commands/templates/skeleton/spec/spec_helper.rb.tt
|
777
777
|
- lib/jets/commands/templates/webpacker/app/javascript/packs/application.js.tt
|
778
778
|
- lib/jets/commands/templates/webpacker/app/javascript/packs/theme.scss.tt
|
779
|
-
- lib/jets/commands/templates/webpacker/app/javascript/src/jets/crud.js
|
780
779
|
- lib/jets/commands/upgrade.rb
|
781
780
|
- lib/jets/commands/upgrade/templates/bin/webpack
|
782
781
|
- lib/jets/commands/upgrade/templates/bin/webpack-dev-server
|
@@ -1,90 +0,0 @@
|
|
1
|
-
// This file is automatically generated by Jets. It is used by
|
2
|
-
// app/javascript/packs/application.js.
|
3
|
-
//
|
4
|
-
// It handles the delete and update action in an unobstrusive way.
|
5
|
-
// Code could be improved and is meant to provide only a starting point.
|
6
|
-
|
7
|
-
$(function() {
|
8
|
-
function handleAll(e) {
|
9
|
-
var target = $(e.target);
|
10
|
-
if (target.is('a') && target.data("method") == "delete") {
|
11
|
-
return handleDelete(e);
|
12
|
-
} else if (target.attr('type') == "submit") {
|
13
|
-
return handleUpdate(e);
|
14
|
-
} else {
|
15
|
-
return true;
|
16
|
-
}
|
17
|
-
|
18
|
-
e.preventDefault();
|
19
|
-
}
|
20
|
-
|
21
|
-
function handleDelete(e) {
|
22
|
-
event.preventDefault();
|
23
|
-
var link = $(e.target);
|
24
|
-
var message = link.data("confirm");
|
25
|
-
if (message) {
|
26
|
-
var sure = confirm(message);
|
27
|
-
if (sure) {
|
28
|
-
deleteItem(link);
|
29
|
-
} else {
|
30
|
-
console.log("Deletion cancelled");
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|
34
|
-
|
35
|
-
function handleUpdate(e) {
|
36
|
-
var submit = $(e.target);
|
37
|
-
var form = submit.closest('form');
|
38
|
-
var url = form.attr("action");
|
39
|
-
var method = $("input[name=_method]");
|
40
|
-
|
41
|
-
if (method.attr("value") != "put") {
|
42
|
-
return true;
|
43
|
-
}
|
44
|
-
|
45
|
-
e.preventDefault();
|
46
|
-
var data = $(form).serialize();
|
47
|
-
$.ajax({
|
48
|
-
url: url,
|
49
|
-
type: 'PUT',
|
50
|
-
data: data,
|
51
|
-
dataType: "json",
|
52
|
-
success: function(response) {
|
53
|
-
window.location.href = response.location;
|
54
|
-
},
|
55
|
-
error: function(xhr, textStatus, errorThrown) {
|
56
|
-
console.log('Error! Status = ' + xhr.status);
|
57
|
-
},
|
58
|
-
complete: function(data) {
|
59
|
-
console.log("data %o", data);
|
60
|
-
}
|
61
|
-
});
|
62
|
-
}
|
63
|
-
|
64
|
-
function deleteItem(link) {
|
65
|
-
var node = link.closest('.jets-element-to-delete');
|
66
|
-
node.hide(); // immediately hide element
|
67
|
-
|
68
|
-
var resource = link.attr("href");
|
69
|
-
var token = $('meta[name=csrf-token]').attr('content');
|
70
|
-
var data = { authenticity_token: token };
|
71
|
-
var request = $.ajax({
|
72
|
-
url: resource,
|
73
|
-
method: "DELETE",
|
74
|
-
data: data,
|
75
|
-
dataType: "json"
|
76
|
-
});
|
77
|
-
|
78
|
-
request.done(function(msg) {
|
79
|
-
console.log("msg %o", msg)
|
80
|
-
node.remove();
|
81
|
-
});
|
82
|
-
|
83
|
-
request.fail(function(jqXHR, textStatus) {
|
84
|
-
console.log("textStatus %o", textStatus)
|
85
|
-
node.show(); // in the event of a failure re-display the node
|
86
|
-
});
|
87
|
-
}
|
88
|
-
|
89
|
-
$('body').click(handleAll)
|
90
|
-
});
|