trusty-cms 4.3.4 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -1
- data/Gemfile.lock +22 -12
- data/app/assets/stylesheets/admin/partials/_content.scss +1 -0
- data/app/controllers/admin/assets_controller.rb +5 -1
- data/app/models/asset.rb +39 -48
- data/app/models/asset_type.rb +6 -2
- data/app/views/admin/assets/edit.html.haml +5 -3
- data/config/database.yml +2 -2
- data/config/locales/en.yml +1 -0
- data/coverage/index.html +1 -1
- data/lib/trusty_cms/deprecation.rb +13 -0
- data/lib/trusty_cms.rb +1 -1
- data/node_modules/path-parse/index.js +17 -35
- data/node_modules/path-parse/package.json +1 -1
- data/node_modules/postcss/CHANGELOG.md +27 -0
- data/node_modules/postcss/README.md +21 -0
- data/node_modules/postcss/lib/at-rule.js +2 -4
- data/node_modules/postcss/lib/comment.js +2 -4
- data/node_modules/postcss/lib/container.js +27 -122
- data/node_modules/postcss/lib/css-syntax-error.js +5 -7
- data/node_modules/postcss/lib/declaration.js +2 -4
- data/node_modules/postcss/lib/input.js +3 -5
- data/node_modules/postcss/lib/lazy-result.js +10 -17
- data/node_modules/postcss/lib/map-generator.js +10 -17
- data/node_modules/postcss/lib/node.js +2 -4
- data/node_modules/postcss/lib/parser.js +2 -4
- data/node_modules/postcss/lib/postcss.d.ts +25 -19
- data/node_modules/postcss/lib/previous-map.js +17 -6
- data/node_modules/postcss/lib/processor.js +16 -15
- data/node_modules/postcss/lib/result.js +2 -4
- data/node_modules/postcss/lib/root.js +10 -17
- data/node_modules/postcss/lib/rule.js +2 -4
- data/node_modules/postcss/lib/stringifier.js +2 -4
- data/node_modules/postcss/lib/warning.js +2 -4
- data/node_modules/postcss/package.json +16 -12
- data/spec/dummy/log/test.log +542 -443
- data/spec/dummy/tmp/cache/747/A70/TrustyCms%3A%3AConfig +0 -0
- data/spec/dummy/tmp/cache/85C/FA0/TrustyCms.cache_mtime +1 -1
- data/trusty_cms.gemspec +2 -1
- data/vendor/extensions/clipped-extension/lib/clipped/engine.rb +1 -1
- metadata +31 -307
- data/config/initializers/interpolation.rb +0 -6
- data/node_modules/path-parse/test.js +0 -77
- data/node_modules/postcss/docs/api/assets/scripts.min.js +0 -8
- data/node_modules/postcss/docs/api/assets/styles.min.css +0 -1
- data/node_modules/postcss/docs/api/index.html +0 -22716
- data/spec/dummy/log/development.log +0 -158
- data/spec/dummy/node_modules/jquery/AUTHORS.txt +0 -327
- data/spec/dummy/node_modules/jquery/LICENSE.txt +0 -20
- data/spec/dummy/node_modules/jquery/README.md +0 -62
- data/spec/dummy/node_modules/jquery/bower.json +0 -14
- data/spec/dummy/node_modules/jquery/dist/jquery.js +0 -10872
- data/spec/dummy/node_modules/jquery/dist/jquery.min.js +0 -2
- data/spec/dummy/node_modules/jquery/dist/jquery.min.map +0 -1
- data/spec/dummy/node_modules/jquery/dist/jquery.slim.js +0 -8777
- data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.js +0 -2
- data/spec/dummy/node_modules/jquery/dist/jquery.slim.min.map +0 -1
- data/spec/dummy/node_modules/jquery/external/sizzle/LICENSE.txt +0 -36
- data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.js +0 -2478
- data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.js +0 -3
- data/spec/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.map +0 -1
- data/spec/dummy/node_modules/jquery/package.json +0 -117
- data/spec/dummy/node_modules/jquery/src/ajax/jsonp.js +0 -103
- data/spec/dummy/node_modules/jquery/src/ajax/load.js +0 -77
- data/spec/dummy/node_modules/jquery/src/ajax/script.js +0 -74
- data/spec/dummy/node_modules/jquery/src/ajax/var/location.js +0 -5
- data/spec/dummy/node_modules/jquery/src/ajax/var/nonce.js +0 -5
- data/spec/dummy/node_modules/jquery/src/ajax/var/rquery.js +0 -5
- data/spec/dummy/node_modules/jquery/src/ajax/xhr.js +0 -170
- data/spec/dummy/node_modules/jquery/src/ajax.js +0 -873
- data/spec/dummy/node_modules/jquery/src/attributes/attr.js +0 -141
- data/spec/dummy/node_modules/jquery/src/attributes/classes.js +0 -186
- data/spec/dummy/node_modules/jquery/src/attributes/prop.js +0 -143
- data/spec/dummy/node_modules/jquery/src/attributes/support.js +0 -33
- data/spec/dummy/node_modules/jquery/src/attributes/val.js +0 -191
- data/spec/dummy/node_modules/jquery/src/attributes.js +0 -13
- data/spec/dummy/node_modules/jquery/src/callbacks.js +0 -236
- data/spec/dummy/node_modules/jquery/src/core/DOMEval.js +0 -43
- data/spec/dummy/node_modules/jquery/src/core/access.js +0 -72
- data/spec/dummy/node_modules/jquery/src/core/camelCase.js +0 -23
- data/spec/dummy/node_modules/jquery/src/core/init.js +0 -129
- data/spec/dummy/node_modules/jquery/src/core/isAttached.js +0 -26
- data/spec/dummy/node_modules/jquery/src/core/nodeName.js +0 -13
- data/spec/dummy/node_modules/jquery/src/core/parseHTML.js +0 -65
- data/spec/dummy/node_modules/jquery/src/core/parseXML.js +0 -30
- data/spec/dummy/node_modules/jquery/src/core/ready-no-deferred.js +0 -97
- data/spec/dummy/node_modules/jquery/src/core/ready.js +0 -86
- data/spec/dummy/node_modules/jquery/src/core/readyException.js +0 -13
- data/spec/dummy/node_modules/jquery/src/core/stripAndCollapse.js +0 -14
- data/spec/dummy/node_modules/jquery/src/core/support.js +0 -20
- data/spec/dummy/node_modules/jquery/src/core/toType.js +0 -20
- data/spec/dummy/node_modules/jquery/src/core/var/rsingleTag.js +0 -7
- data/spec/dummy/node_modules/jquery/src/core.js +0 -400
- data/spec/dummy/node_modules/jquery/src/css/addGetHookIf.js +0 -26
- data/spec/dummy/node_modules/jquery/src/css/adjustCSS.js +0 -74
- data/spec/dummy/node_modules/jquery/src/css/curCSS.js +0 -65
- data/spec/dummy/node_modules/jquery/src/css/finalPropName.js +0 -42
- data/spec/dummy/node_modules/jquery/src/css/hiddenVisibleSelectors.js +0 -15
- data/spec/dummy/node_modules/jquery/src/css/showHide.js +0 -105
- data/spec/dummy/node_modules/jquery/src/css/support.js +0 -133
- data/spec/dummy/node_modules/jquery/src/css/var/cssExpand.js +0 -5
- data/spec/dummy/node_modules/jquery/src/css/var/getStyles.js +0 -17
- data/spec/dummy/node_modules/jquery/src/css/var/isHiddenWithinTree.js +0 -34
- data/spec/dummy/node_modules/jquery/src/css/var/rboxStyle.js +0 -7
- data/spec/dummy/node_modules/jquery/src/css/var/rnumnonpx.js +0 -7
- data/spec/dummy/node_modules/jquery/src/css/var/swap.js +0 -26
- data/spec/dummy/node_modules/jquery/src/css.js +0 -494
- data/spec/dummy/node_modules/jquery/src/data/Data.js +0 -162
- data/spec/dummy/node_modules/jquery/src/data/var/acceptData.js +0 -19
- data/spec/dummy/node_modules/jquery/src/data/var/dataPriv.js +0 -7
- data/spec/dummy/node_modules/jquery/src/data/var/dataUser.js +0 -7
- data/spec/dummy/node_modules/jquery/src/data.js +0 -180
- data/spec/dummy/node_modules/jquery/src/deferred/exceptionHook.js +0 -21
- data/spec/dummy/node_modules/jquery/src/deferred.js +0 -399
- data/spec/dummy/node_modules/jquery/src/deprecated/ajax-event-alias.js +0 -22
- data/spec/dummy/node_modules/jquery/src/deprecated/event.js +0 -48
- data/spec/dummy/node_modules/jquery/src/deprecated.js +0 -87
- data/spec/dummy/node_modules/jquery/src/dimensions.js +0 -57
- data/spec/dummy/node_modules/jquery/src/effects/Tween.js +0 -125
- data/spec/dummy/node_modules/jquery/src/effects/animatedSelector.js +0 -15
- data/spec/dummy/node_modules/jquery/src/effects.js +0 -701
- data/spec/dummy/node_modules/jquery/src/event/focusin.js +0 -58
- data/spec/dummy/node_modules/jquery/src/event/support.js +0 -11
- data/spec/dummy/node_modules/jquery/src/event/trigger.js +0 -201
- data/spec/dummy/node_modules/jquery/src/event.js +0 -892
- data/spec/dummy/node_modules/jquery/src/exports/amd.js +0 -26
- data/spec/dummy/node_modules/jquery/src/exports/global.js +0 -34
- data/spec/dummy/node_modules/jquery/src/jquery.js +0 -41
- data/spec/dummy/node_modules/jquery/src/manipulation/_evalUrl.js +0 -32
- data/spec/dummy/node_modules/jquery/src/manipulation/buildFragment.js +0 -106
- data/spec/dummy/node_modules/jquery/src/manipulation/getAll.js +0 -32
- data/spec/dummy/node_modules/jquery/src/manipulation/setGlobalEval.js +0 -22
- data/spec/dummy/node_modules/jquery/src/manipulation/support.js +0 -41
- data/spec/dummy/node_modules/jquery/src/manipulation/var/rscriptType.js +0 -5
- data/spec/dummy/node_modules/jquery/src/manipulation/var/rtagName.js +0 -8
- data/spec/dummy/node_modules/jquery/src/manipulation/wrapMap.js +0 -30
- data/spec/dummy/node_modules/jquery/src/manipulation.js +0 -480
- data/spec/dummy/node_modules/jquery/src/offset.js +0 -238
- data/spec/dummy/node_modules/jquery/src/queue/delay.js +0 -24
- data/spec/dummy/node_modules/jquery/src/queue.js +0 -145
- data/spec/dummy/node_modules/jquery/src/selector-native.js +0 -241
- data/spec/dummy/node_modules/jquery/src/selector-sizzle.js +0 -19
- data/spec/dummy/node_modules/jquery/src/selector.js +0 -3
- data/spec/dummy/node_modules/jquery/src/serialize.js +0 -136
- data/spec/dummy/node_modules/jquery/src/traversing/findFilter.js +0 -97
- data/spec/dummy/node_modules/jquery/src/traversing/var/dir.js +0 -22
- data/spec/dummy/node_modules/jquery/src/traversing/var/rneedsContext.js +0 -8
- data/spec/dummy/node_modules/jquery/src/traversing/var/siblings.js +0 -17
- data/spec/dummy/node_modules/jquery/src/traversing.js +0 -198
- data/spec/dummy/node_modules/jquery/src/var/ObjectFunctionString.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/arr.js +0 -5
- data/spec/dummy/node_modules/jquery/src/var/class2type.js +0 -6
- data/spec/dummy/node_modules/jquery/src/var/document.js +0 -5
- data/spec/dummy/node_modules/jquery/src/var/documentElement.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/flat.js +0 -16
- data/spec/dummy/node_modules/jquery/src/var/fnToString.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/getProto.js +0 -5
- data/spec/dummy/node_modules/jquery/src/var/hasOwn.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/indexOf.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/isFunction.js +0 -13
- data/spec/dummy/node_modules/jquery/src/var/isWindow.js +0 -8
- data/spec/dummy/node_modules/jquery/src/var/pnum.js +0 -5
- data/spec/dummy/node_modules/jquery/src/var/push.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/rcheckableType.js +0 -5
- data/spec/dummy/node_modules/jquery/src/var/rcssNum.js +0 -9
- data/spec/dummy/node_modules/jquery/src/var/rnothtmlwhite.js +0 -8
- data/spec/dummy/node_modules/jquery/src/var/slice.js +0 -7
- data/spec/dummy/node_modules/jquery/src/var/support.js +0 -6
- data/spec/dummy/node_modules/jquery/src/var/toString.js +0 -7
- data/spec/dummy/node_modules/jquery/src/wrap.js +0 -78
- data/spec/dummy/node_modules/jquery-ui-bundle/AUTHORS.txt +0 -333
- data/spec/dummy/node_modules/jquery-ui-bundle/LICENSE.txt +0 -43
- data/spec/dummy/node_modules/jquery-ui-bundle/external/jquery/jquery.js +0 -11008
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_444444_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_555555_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777620_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_777777_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_cc0000_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/images/ui-icons_ffffff_256x240.png +0 -0
- data/spec/dummy/node_modules/jquery-ui-bundle/index.html +0 -559
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.css +0 -1312
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.js +0 -18706
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.css +0 -7
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.min.js +0 -13
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.css +0 -886
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.structure.min.css +0 -5
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.css +0 -443
- data/spec/dummy/node_modules/jquery-ui-bundle/jquery-ui.theme.min.css +0 -5
- data/spec/dummy/node_modules/jquery-ui-bundle/package.json +0 -33
- data/spec/dummy/node_modules/jquery-ujs/CONTRIBUTING.md +0 -109
- data/spec/dummy/node_modules/jquery-ujs/MIT-LICENSE +0 -20
- data/spec/dummy/node_modules/jquery-ujs/README.md +0 -86
- data/spec/dummy/node_modules/jquery-ujs/RELEASE.md +0 -23
- data/spec/dummy/node_modules/jquery-ujs/bower.json +0 -19
- data/spec/dummy/node_modules/jquery-ujs/package.json +0 -26
- data/spec/dummy/node_modules/jquery-ujs/src/rails.js +0 -555
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0fc7adbc55517598d8eb365fe2518df17faab505fece52ec5dcb3374459b45c
|
4
|
+
data.tar.gz: 9de9c0c248cbe41a2c4b55592c9a3412f5cc50279e680de125c7ced575c0a0ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 737f21b157db73ad8763d0bcb2576e8f6ff9ddff69d3be98713aae5903c71432e48db36df8f16b4def7e226f18d2f8fe4d4905ef80623f5638a4b245f2ebbe26
|
7
|
+
data.tar.gz: f472cff774a907272ac9a4a60a9a73ac9ef081fe4cd29411abf55238e1ef62640384f00a5be9c7f7fe68e968b05c9fa680438614378501e0cc7e7eebb50e4581
|
data/Gemfile
CHANGED
@@ -12,10 +12,11 @@ gem 'trustygems', '~> 0.2.0'
|
|
12
12
|
gemspec
|
13
13
|
|
14
14
|
group :development, :test do
|
15
|
+
gem 'activestorage-validator'
|
15
16
|
gem 'acts_as_list'
|
16
17
|
gem 'database_cleaner'
|
17
18
|
gem 'factory_bot_rails', '6.2.0'
|
18
|
-
gem '
|
19
|
+
gem 'file_validators'
|
19
20
|
gem 'launchy', '~> 2.5.0'
|
20
21
|
gem 'mysql2'
|
21
22
|
gem 'poltergeist', '~> 1.18.1'
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
trusty-cms (
|
4
|
+
trusty-cms (5.0.0)
|
5
5
|
RedCloth (= 4.3.2)
|
6
|
+
activestorage-validator
|
6
7
|
acts_as_list (>= 0.9.5, < 1.1.0)
|
7
8
|
acts_as_tree (~> 2.9.1)
|
8
9
|
ckeditor (>= 4.2.2, < 4.4.0)
|
@@ -12,6 +13,7 @@ PATH
|
|
12
13
|
haml
|
13
14
|
haml-rails (~> 2.0)
|
14
15
|
highline (>= 1.7.8, < 2.1.0)
|
16
|
+
image_processing
|
15
17
|
kraken-io
|
16
18
|
mini_racer
|
17
19
|
mysql2
|
@@ -86,6 +88,8 @@ GEM
|
|
86
88
|
activesupport (= 6.1.4.1)
|
87
89
|
marcel (~> 1.0.0)
|
88
90
|
mini_mime (>= 1.1.0)
|
91
|
+
activestorage-validator (0.1.4)
|
92
|
+
rails (>= 5.2.0)
|
89
93
|
activesupport (6.1.4.1)
|
90
94
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
91
95
|
i18n (>= 1.6, < 2)
|
@@ -144,6 +148,9 @@ GEM
|
|
144
148
|
factory_bot (~> 6.2.0)
|
145
149
|
railties (>= 5.0.0)
|
146
150
|
ffi (1.15.4)
|
151
|
+
file_validators (3.0.0)
|
152
|
+
activemodel (>= 3.2)
|
153
|
+
mime-types (>= 1.0)
|
147
154
|
globalid (0.5.2)
|
148
155
|
activesupport (>= 5.0)
|
149
156
|
haml (5.2.2)
|
@@ -161,37 +168,36 @@ GEM
|
|
161
168
|
haml (>= 4.0, < 6)
|
162
169
|
nokogiri (>= 1.6.0)
|
163
170
|
ruby_parser (~> 3.5)
|
164
|
-
httparty (0.
|
171
|
+
httparty (0.20.0)
|
165
172
|
mime-types (~> 3.0)
|
166
173
|
multi_xml (>= 0.5.2)
|
167
174
|
i18n (1.8.10)
|
168
175
|
concurrent-ruby (~> 1.0)
|
176
|
+
image_processing (1.12.1)
|
177
|
+
mini_magick (>= 4.9.5, < 5)
|
178
|
+
ruby-vips (>= 2.0.17, < 3)
|
169
179
|
json (2.5.1)
|
170
180
|
kraken-io (0.1.3)
|
171
181
|
activesupport
|
172
182
|
httparty
|
173
183
|
json
|
174
184
|
multipart-post
|
175
|
-
kt-paperclip (7.0.0)
|
176
|
-
activemodel (>= 4.2.0)
|
177
|
-
activesupport (>= 4.2.0)
|
178
|
-
marcel (~> 1.0.1)
|
179
|
-
mime-types
|
180
|
-
terrapin (~> 0.6.0)
|
181
185
|
launchy (2.5.0)
|
182
186
|
addressable (~> 2.7)
|
183
187
|
libv8-node (15.14.0.1-x86_64-darwin-18)
|
188
|
+
libv8-node (15.14.0.1-x86_64-darwin-20)
|
184
189
|
libv8-node (15.14.0.1-x86_64-linux)
|
185
190
|
loofah (2.12.0)
|
186
191
|
crass (~> 1.0.2)
|
187
192
|
nokogiri (>= 1.5.9)
|
188
193
|
mail (2.7.1)
|
189
194
|
mini_mime (>= 0.1.1)
|
190
|
-
marcel (1.0.
|
195
|
+
marcel (1.0.2)
|
191
196
|
method_source (1.0.0)
|
192
197
|
mime-types (3.3.1)
|
193
198
|
mime-types-data (~> 3.2015)
|
194
199
|
mime-types-data (3.2021.0225)
|
200
|
+
mini_magick (4.11.0)
|
195
201
|
mini_mime (1.1.1)
|
196
202
|
mini_racer (0.4.0)
|
197
203
|
libv8-node (~> 15.14.0.0)
|
@@ -218,7 +224,7 @@ GEM
|
|
218
224
|
public_suffix (4.0.6)
|
219
225
|
racc (1.5.2)
|
220
226
|
rack (2.2.3)
|
221
|
-
rack-cache (1.
|
227
|
+
rack-cache (1.13.0)
|
222
228
|
rack (>= 0.4)
|
223
229
|
rack-test (1.1.0)
|
224
230
|
rack (>= 1.0, < 3)
|
@@ -280,6 +286,8 @@ GEM
|
|
280
286
|
rspec-mocks (~> 3.10)
|
281
287
|
rspec-support (~> 3.10)
|
282
288
|
rspec-support (3.10.2)
|
289
|
+
ruby-vips (2.1.3)
|
290
|
+
ffi (~> 1.12)
|
283
291
|
ruby_parser (3.17.0)
|
284
292
|
sexp_processor (~> 4.15, >= 4.15.1)
|
285
293
|
sass-rails (6.0.0)
|
@@ -331,13 +339,15 @@ GEM
|
|
331
339
|
|
332
340
|
PLATFORMS
|
333
341
|
x86_64-darwin-18
|
342
|
+
x86_64-darwin-20
|
334
343
|
x86_64-linux
|
335
344
|
|
336
345
|
DEPENDENCIES
|
346
|
+
activestorage-validator
|
337
347
|
acts_as_list
|
338
348
|
database_cleaner
|
339
349
|
factory_bot_rails (= 6.2.0)
|
340
|
-
|
350
|
+
file_validators
|
341
351
|
launchy (~> 2.5.0)
|
342
352
|
mysql2
|
343
353
|
poltergeist (~> 1.18.1)
|
@@ -349,4 +359,4 @@ DEPENDENCIES
|
|
349
359
|
trustygems (~> 0.2.0)
|
350
360
|
|
351
361
|
BUNDLED WITH
|
352
|
-
2.2.
|
362
|
+
2.2.27
|
@@ -1,6 +1,9 @@
|
|
1
1
|
class Admin::AssetsController < Admin::ResourceController
|
2
2
|
paginate_models(per_page: 50)
|
3
3
|
COMPRESS_FILE_TYPE = ['image/jpeg', 'image/png', 'image/gif', 'image/svg+xml'].freeze
|
4
|
+
before_action do
|
5
|
+
ActiveStorage::Current.host = request.base_url
|
6
|
+
end
|
4
7
|
|
5
8
|
def index
|
6
9
|
assets = Asset.order('created_at DESC')
|
@@ -67,6 +70,7 @@ class Admin::AssetsController < Admin::ResourceController
|
|
67
70
|
private
|
68
71
|
|
69
72
|
def compress(uploaded_asset)
|
73
|
+
require 'open-uri'
|
70
74
|
data = $kraken.upload(uploaded_asset.tempfile.path, 'lossy' => true)
|
71
75
|
File.write(uploaded_asset.tempfile, URI.open(data.kraked_url).read, mode: 'wb')
|
72
76
|
uploaded_asset
|
@@ -81,4 +85,4 @@ class Admin::AssetsController < Admin::ResourceController
|
|
81
85
|
def asset_params
|
82
86
|
params.permit(:id, :for_attachment, asset: [:caption, :for_attachment, asset: []])
|
83
87
|
end
|
84
|
-
end
|
88
|
+
end
|
data/app/models/asset.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
class Asset < ActiveRecord::Base
|
2
|
-
include Paperclip::Glue
|
3
|
-
|
4
2
|
has_many :page_attachments, dependent: :destroy
|
5
3
|
has_many :pages, through: :page_attachments
|
6
4
|
has_site if respond_to? :has_site
|
@@ -33,52 +31,43 @@ class Asset < ActiveRecord::Base
|
|
33
31
|
end
|
34
32
|
}
|
35
33
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
storage: TrustyCms.config['paperclip.storage'],
|
45
|
-
path: TrustyCms.config['paperclip.path'],
|
46
|
-
url: TrustyCms.config['paperclip.url'],
|
47
|
-
fog_credentials: TrustyCmsClippedExtension::Cloud.credentials,
|
48
|
-
fog_directory: TrustyCms.config['paperclip.fog.directory'],
|
49
|
-
fog_public: TrustyCms.config['paperclip.fog.public?'] || true,
|
50
|
-
fog_host: TrustyCmsClippedExtension::Cloud.host,
|
51
|
-
fog_file: {
|
52
|
-
'Cache-Control' => 'max-age=31536000',
|
53
|
-
}
|
54
|
-
|
55
|
-
validates_attachment_content_type :asset, content_type: ['application/zip', 'image/jpg', 'image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/javascript', 'text/javascript', 'text/css']
|
56
|
-
|
34
|
+
has_one_attached :asset
|
35
|
+
validates :asset,
|
36
|
+
presence: true,
|
37
|
+
blob:
|
38
|
+
{
|
39
|
+
content_type: %w[application/zip image/jpg image/jpeg image/png image/gif application/pdf text/css],
|
40
|
+
size_range: 1..5.megabytes,
|
41
|
+
}
|
57
42
|
before_save :assign_title
|
58
43
|
before_save :assign_uuid
|
59
44
|
|
60
|
-
after_post_process :read_dimensions
|
61
|
-
|
62
|
-
validates_attachment_presence :asset, message: 'You must choose a file to upload!'
|
63
|
-
if TrustyCms.config['paperclip.skip_filetype_validation'] != 'true' && TrustyCms.config['paperclip.content_types']
|
64
|
-
validates_attachment_content_type :asset, content_type: TrustyCms.config['paperclip.content_types'].gsub(' ', '').split(',')
|
65
|
-
else
|
66
|
-
validates_attachment_presence :asset, message: 'Your uploaded file must have an extension in its name!'
|
67
|
-
end
|
68
|
-
validates_attachment_size :asset, less_than: (TrustyCms.config['assets.max_asset_size'] || 5).to_i.megabytes
|
69
|
-
|
70
45
|
def asset_type
|
71
46
|
AssetType.for(asset)
|
72
47
|
end
|
73
|
-
delegate :paperclip_processors, :paperclip_styles, :style_dimensions, :style_format,
|
48
|
+
delegate :paperclip_processors, :paperclip_styles, :active_storage_styles, :style_dimensions, :style_format,
|
49
|
+
to: :asset_type
|
74
50
|
|
75
51
|
def thumbnail(style_name = 'original')
|
76
|
-
return asset.url if style_name
|
77
|
-
return
|
52
|
+
return asset.url if style_name == 'original'
|
53
|
+
return asset_variant(style_name).processed.url if asset.variable?
|
78
54
|
|
79
55
|
asset_type.icon(style_name)
|
80
56
|
end
|
81
57
|
|
58
|
+
def asset_variant(style_name)
|
59
|
+
case style_name
|
60
|
+
when 'thumbnail'
|
61
|
+
asset.variant(gravity: 'Center', resize: '100x100^', crop: '100x100+0+0')
|
62
|
+
when 'normal'
|
63
|
+
asset.variant(gravity: 'Center', resize: '640x640^')
|
64
|
+
when 'small'
|
65
|
+
asset.variant(gravity: 'Center', resize: '320x320^')
|
66
|
+
when 'icon'
|
67
|
+
asset.variant(gravity: 'Center', resize: '50x50^')
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
82
71
|
def style?(style_name = 'original')
|
83
72
|
style_name == 'original' || paperclip_styles.keys.include?(style_name.to_sym)
|
84
73
|
end
|
@@ -110,7 +99,10 @@ class Asset < ActiveRecord::Base
|
|
110
99
|
end
|
111
100
|
|
112
101
|
def geometry(style_name = 'original')
|
113
|
-
|
102
|
+
unless style?(style_name)
|
103
|
+
raise Paperclip::StyleError,
|
104
|
+
"Requested style #{style_name} is not defined for this asset."
|
105
|
+
end
|
114
106
|
|
115
107
|
@geometry ||= {}
|
116
108
|
begin
|
@@ -118,8 +110,9 @@ class Asset < ActiveRecord::Base
|
|
118
110
|
original_geometry
|
119
111
|
else
|
120
112
|
style = asset.styles[style_name.to_sym]
|
121
|
-
original_geometry.transformed_by(style.geometry)
|
122
|
-
|
113
|
+
original_geometry.transformed_by(style.geometry)
|
114
|
+
# this can return dimensions for fully specified style sizes but not for relative sizes when there are no original dimensions
|
115
|
+
end
|
123
116
|
rescue Paperclip::TransformationError => e
|
124
117
|
Rails.logger.warn "geometry transformation error: #{e}"
|
125
118
|
original_geometry # returns a blank geometry if the real geometry cannot be calculated
|
@@ -174,19 +167,17 @@ class Asset < ActiveRecord::Base
|
|
174
167
|
# original file and calculate thumbnail dimensions later, on demand.
|
175
168
|
|
176
169
|
def read_dimensions
|
177
|
-
if image?
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
self.original_extension = File.extname(file.path)
|
183
|
-
end
|
170
|
+
if image? && file = asset.queued_for_write[:original]
|
171
|
+
geometry = Paperclip::Geometry.from_file(file)
|
172
|
+
self.original_width = geometry.width
|
173
|
+
self.original_height = geometry.height
|
174
|
+
self.original_extension = File.extname(file.path)
|
184
175
|
end
|
185
176
|
true
|
186
177
|
end
|
187
178
|
|
188
179
|
def assign_title
|
189
|
-
self.title =
|
180
|
+
self.title = asset.filename.base
|
190
181
|
end
|
191
182
|
|
192
183
|
def assign_uuid
|
@@ -235,7 +226,7 @@ class Asset < ActiveRecord::Base
|
|
235
226
|
|
236
227
|
# this is a convenience for image-pickers
|
237
228
|
def self.thumbnail_options
|
238
|
-
asset_sizes = thumbnail_sizes.
|
229
|
+
asset_sizes = thumbnail_sizes.map do |k, v|
|
239
230
|
size_id = k
|
240
231
|
size_description = "#{k}: "
|
241
232
|
size_description << (v.is_a?(Array) ? v.join(' as ') : v)
|
data/app/models/asset_type.rb
CHANGED
@@ -104,6 +104,10 @@ class AssetType
|
|
104
104
|
@paperclip_styles
|
105
105
|
end
|
106
106
|
|
107
|
+
def active_storage_styles
|
108
|
+
@active_storage_styles ||= normalize_style_rules(configured_styles.merge(styles))
|
109
|
+
end
|
110
|
+
|
107
111
|
# Takes a motley collection of differently-defined styles and renders them into the standard hash-of-hashes format.
|
108
112
|
# Solitary strings are assumed to be #
|
109
113
|
def normalize_style_rules(styles = {})
|
@@ -173,8 +177,8 @@ class AssetType
|
|
173
177
|
# class methods
|
174
178
|
|
175
179
|
def self.for(attachment)
|
176
|
-
extension =
|
177
|
-
from_extension(extension) || from_mimetype(attachment.
|
180
|
+
extension = attachment.record.original_extension
|
181
|
+
from_extension(extension) || from_mimetype(attachment.content_type) || catchall
|
178
182
|
end
|
179
183
|
|
180
184
|
def self.from_extension(extension)
|
@@ -16,10 +16,12 @@
|
|
16
16
|
= "#{t("clipped_extension.filename")}: #{@asset.asset_file_name unless @asset.new_record?}"
|
17
17
|
%br
|
18
18
|
%label.url
|
19
|
-
= "#{t("clipped_extension.asset_url")}: #{image_path @asset.
|
19
|
+
= "#{t("clipped_extension.asset_url")}: #{image_path @asset.asset.url unless @asset.new_record?}"
|
20
|
+
%br
|
21
|
+
%label.id
|
22
|
+
= "#{t("clipped_extension.asset_id")}: #{@asset.asset.id unless @asset.new_record?}"
|
20
23
|
%p.asset
|
21
|
-
|
22
|
-
= image_tag @asset.thumbnail(display_size.to_sym), :class => 'preview'
|
24
|
+
= image_tag @asset.thumbnail("normal"), :class => 'preview'
|
23
25
|
|
24
26
|
= updated_stamp @asset
|
25
27
|
|
data/config/database.yml
CHANGED
data/config/locales/en.yml
CHANGED
@@ -66,6 +66,7 @@ en:
|
|
66
66
|
asset_page_attachment_note: 'Attached assets. These can be inserted with drag and drop or shown with the <code><r:assets:each /></code> tag.'
|
67
67
|
asset_note: 'Attached assets. '
|
68
68
|
asset_url: 'Asset URL'
|
69
|
+
asset_id: 'Asset ID'
|
69
70
|
assets: 'Assets'
|
70
71
|
assets_explanation: 'Assets and images can be uploaded and then attached or inserted into pages, snippets and layouts. Click on an asset name above to edit it or click <code>Remove</code> to delete it.'
|
71
72
|
assets_title: 'Assets'
|
data/coverage/index.html
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
<img src="./assets/0.12.3/loading.gif" alt="loading"/>
|
15
15
|
</div>
|
16
16
|
<div id="wrapper" class="hide">
|
17
|
-
<div class="timestamp">Generated <abbr class="timeago" title="2021-
|
17
|
+
<div class="timestamp">Generated <abbr class="timeago" title="2021-10-05T10:51:28-04:00">2021-10-05T10:51:28-04:00</abbr></div>
|
18
18
|
<ul class="group_tabs"></ul>
|
19
19
|
|
20
20
|
<div id="content">
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
|
3
|
+
class AssetType
|
4
|
+
def paperclip_processors
|
5
|
+
ActiveSupport::Deprecation.warn('Paperclip processors will be deprecated soon in favor of ActiveStorage.')
|
6
|
+
|
7
|
+
active_storage_styles
|
8
|
+
end
|
9
|
+
|
10
|
+
def paperclip_styles
|
11
|
+
ActiveSupport::Deprecation.warn('Paperclip styles will be deprecated soon in favor of ActiveStorage.')
|
12
|
+
end
|
13
|
+
end
|
data/lib/trusty_cms.rb
CHANGED
@@ -2,29 +2,14 @@
|
|
2
2
|
|
3
3
|
var isWindows = process.platform === 'win32';
|
4
4
|
|
5
|
-
// Regex to split a windows path into
|
6
|
-
|
7
|
-
|
8
|
-
/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
|
9
|
-
|
10
|
-
// Regex to split the tail part of the above into [*, dir, basename, ext]
|
11
|
-
var splitTailRe =
|
12
|
-
/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/;
|
5
|
+
// Regex to split a windows path into into [dir, root, basename, name, ext]
|
6
|
+
var splitWindowsRe =
|
7
|
+
/^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/;
|
13
8
|
|
14
9
|
var win32 = {};
|
15
10
|
|
16
|
-
// Function to split a filename into [root, dir, basename, ext]
|
17
11
|
function win32SplitPath(filename) {
|
18
|
-
|
19
|
-
var result = splitDeviceRe.exec(filename),
|
20
|
-
device = (result[1] || '') + (result[2] || ''),
|
21
|
-
tail = result[3] || '';
|
22
|
-
// Split the tail into dir, basename and extension
|
23
|
-
var result2 = splitTailRe.exec(tail),
|
24
|
-
dir = result2[1],
|
25
|
-
basename = result2[2],
|
26
|
-
ext = result2[3];
|
27
|
-
return [device, dir, basename, ext];
|
12
|
+
return splitWindowsRe.exec(filename).slice(1);
|
28
13
|
}
|
29
14
|
|
30
15
|
win32.parse = function(pathString) {
|
@@ -34,24 +19,24 @@ win32.parse = function(pathString) {
|
|
34
19
|
);
|
35
20
|
}
|
36
21
|
var allParts = win32SplitPath(pathString);
|
37
|
-
if (!allParts || allParts.length !==
|
22
|
+
if (!allParts || allParts.length !== 5) {
|
38
23
|
throw new TypeError("Invalid path '" + pathString + "'");
|
39
24
|
}
|
40
25
|
return {
|
41
|
-
root: allParts[
|
42
|
-
dir: allParts[0]
|
26
|
+
root: allParts[1],
|
27
|
+
dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1),
|
43
28
|
base: allParts[2],
|
44
|
-
ext: allParts[
|
45
|
-
name: allParts[
|
29
|
+
ext: allParts[4],
|
30
|
+
name: allParts[3]
|
46
31
|
};
|
47
32
|
};
|
48
33
|
|
49
34
|
|
50
35
|
|
51
|
-
// Split a filename into [
|
36
|
+
// Split a filename into [dir, root, basename, name, ext], unix version
|
52
37
|
// 'root' is just a slash, or nothing.
|
53
38
|
var splitPathRe =
|
54
|
-
/^(
|
39
|
+
/^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/;
|
55
40
|
var posix = {};
|
56
41
|
|
57
42
|
|
@@ -67,19 +52,16 @@ posix.parse = function(pathString) {
|
|
67
52
|
);
|
68
53
|
}
|
69
54
|
var allParts = posixSplitPath(pathString);
|
70
|
-
if (!allParts || allParts.length !==
|
55
|
+
if (!allParts || allParts.length !== 5) {
|
71
56
|
throw new TypeError("Invalid path '" + pathString + "'");
|
72
57
|
}
|
73
|
-
|
74
|
-
allParts[2] = allParts[2] || '';
|
75
|
-
allParts[3] = allParts[3] || '';
|
76
|
-
|
58
|
+
|
77
59
|
return {
|
78
|
-
root: allParts[
|
79
|
-
dir: allParts[0]
|
60
|
+
root: allParts[1],
|
61
|
+
dir: allParts[0].slice(0, -1),
|
80
62
|
base: allParts[2],
|
81
|
-
ext: allParts[
|
82
|
-
name: allParts[
|
63
|
+
ext: allParts[4],
|
64
|
+
name: allParts[3],
|
83
65
|
};
|
84
66
|
};
|
85
67
|
|
@@ -1,6 +1,33 @@
|
|
1
1
|
# Change Log
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
3
3
|
|
4
|
+
## 7.0.36
|
5
|
+
* Backport ReDoS vulnerabilities from PostCSS 8.
|
6
|
+
|
7
|
+
## 7.0.35
|
8
|
+
* Add migration guide link to PostCSS 8 error text.
|
9
|
+
|
10
|
+
## 7.0.34
|
11
|
+
* Fix compatibility with `postcss-scss` 2.
|
12
|
+
|
13
|
+
## 7.0.33
|
14
|
+
* Add error message for PostCSS 8 plugins.
|
15
|
+
|
16
|
+
## 7.0.32
|
17
|
+
* Fix error message (by @admosity).
|
18
|
+
|
19
|
+
## 7.0.31
|
20
|
+
* Use only the latest source map annotation (by Emmanouil Zoumpoulakis).
|
21
|
+
|
22
|
+
## 7.0.30
|
23
|
+
* Fix TypeScript definition (by Natalie Weizenbaum).
|
24
|
+
|
25
|
+
## 7.0.29
|
26
|
+
* Update `Processor#version`.
|
27
|
+
|
28
|
+
## 7.0.28
|
29
|
+
* Fix TypeScript definition (by Natalie Weizenbaum).
|
30
|
+
|
4
31
|
## 7.0.27
|
5
32
|
* Fix TypeScript definition (by Natalie Weizenbaum).
|
6
33
|
|
@@ -39,6 +39,16 @@ at <surrender@evilmartians.com>.
|
|
39
39
|
alt="Sponsored by Evil Martians" width="236" height="54">
|
40
40
|
</a>
|
41
41
|
|
42
|
+
## Sponsorship
|
43
|
+
|
44
|
+
PostCSS needs your support. We are accepting donations
|
45
|
+
[at Open Collective](https://opencollective.com/postcss/).
|
46
|
+
|
47
|
+
<a href="https://tailwindcss.com/">
|
48
|
+
<img src="https://refactoringui.nyc3.cdn.digitaloceanspaces.com/tailwind-logo.svg"
|
49
|
+
alt="Sponsored by Tailwind CSS" width="273" height="64">
|
50
|
+
</a>
|
51
|
+
|
42
52
|
## Plugins
|
43
53
|
|
44
54
|
Currently, PostCSS has more than 200 plugins. You can find all of the plugins
|
@@ -468,3 +478,14 @@ To report a security vulnerability, please use the [Tidelift security contact].
|
|
468
478
|
Tidelift will coordinate the fix and disclosure.
|
469
479
|
|
470
480
|
[Tidelift security contact]: https://tidelift.com/security
|
481
|
+
|
482
|
+
|
483
|
+
## For Enterprise
|
484
|
+
|
485
|
+
Available as part of the Tidelift Subscription.
|
486
|
+
|
487
|
+
The maintainers of `postcss` and thousands of other packages are working
|
488
|
+
with Tidelift to deliver commercial support and maintenance for the open source
|
489
|
+
dependencies you use to build your applications. Save time, reduce risk,
|
490
|
+
and improve code health, while paying the maintainers of the exact dependencies
|
491
|
+
you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-postcss?utm_source=npm-postcss&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
@@ -27,9 +27,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.crea
|
|
27
27
|
* const media = root.last
|
28
28
|
* media.nodes //=> []
|
29
29
|
*/
|
30
|
-
var AtRule =
|
31
|
-
/*#__PURE__*/
|
32
|
-
function (_Container) {
|
30
|
+
var AtRule = /*#__PURE__*/function (_Container) {
|
33
31
|
_inheritsLoose(AtRule, _Container);
|
34
32
|
|
35
33
|
function AtRule(defaults) {
|
@@ -126,4 +124,4 @@ function (_Container) {
|
|
126
124
|
var _default = AtRule;
|
127
125
|
exports.default = _default;
|
128
126
|
module.exports = exports.default;
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
127
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF0LXJ1bGUuZXM2Il0sIm5hbWVzIjpbIkF0UnVsZSIsImRlZmF1bHRzIiwidHlwZSIsImFwcGVuZCIsIm5vZGVzIiwiY2hpbGRyZW4iLCJwcmVwZW5kIiwiQ29udGFpbmVyIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0JNQSxNOzs7QUFDSixrQkFBYUMsUUFBYixFQUF1QjtBQUFBOztBQUNyQixrQ0FBTUEsUUFBTjtBQUNBLFVBQUtDLElBQUwsR0FBWSxRQUFaO0FBRnFCO0FBR3RCOzs7O1NBRURDLE0sR0FBQSxrQkFBcUI7QUFBQTs7QUFDbkIsUUFBSSxDQUFDLEtBQUtDLEtBQVYsRUFBaUIsS0FBS0EsS0FBTCxHQUFhLEVBQWI7O0FBREUsc0NBQVZDLFFBQVU7QUFBVkEsTUFBQUEsUUFBVTtBQUFBOztBQUVuQix5REFBYUYsTUFBYixrREFBdUJFLFFBQXZCO0FBQ0QsRzs7U0FFREMsTyxHQUFBLG1CQUFzQjtBQUFBOztBQUNwQixRQUFJLENBQUMsS0FBS0YsS0FBVixFQUFpQixLQUFLQSxLQUFMLEdBQWEsRUFBYjs7QUFERyx1Q0FBVkMsUUFBVTtBQUFWQSxNQUFBQSxRQUFVO0FBQUE7O0FBRXBCLDBEQUFhQyxPQUFiLG1EQUF3QkQsUUFBeEI7QUFDRDtBQUVEOzs7Ozs7Ozs7O0FBVUE7Ozs7Ozs7Ozs7OztBQVlBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBdENtQkUsa0I7O2VBdUVOUCxNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbnRhaW5lciBmcm9tICcuL2NvbnRhaW5lcidcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGF0LXJ1bGUuXG4gKlxuICogSWYgaXTigJlzIGZvbGxvd2VkIGluIHRoZSBDU1MgYnkgYSB7fSBibG9jaywgdGhpcyBub2RlIHdpbGwgaGF2ZVxuICogYSBub2RlcyBwcm9wZXJ0eSByZXByZXNlbnRpbmcgaXRzIGNoaWxkcmVuLlxuICpcbiAqIEBleHRlbmRzIENvbnRhaW5lclxuICpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCByb290ID0gcG9zdGNzcy5wYXJzZSgnQGNoYXJzZXQgXCJVVEYtOFwiOyBAbWVkaWEgcHJpbnQge30nKVxuICpcbiAqIGNvbnN0IGNoYXJzZXQgPSByb290LmZpcnN0XG4gKiBjaGFyc2V0LnR5cGUgIC8vPT4gJ2F0cnVsZSdcbiAqIGNoYXJzZXQubm9kZXMgLy89PiB1bmRlZmluZWRcbiAqXG4gKiBjb25zdCBtZWRpYSA9IHJvb3QubGFzdFxuICogbWVkaWEubm9kZXMgICAvLz0+IFtdXG4gKi9cbmNsYXNzIEF0UnVsZSBleHRlbmRzIENvbnRhaW5lciB7XG4gIGNvbnN0cnVjdG9yIChkZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKVxuICAgIHRoaXMudHlwZSA9ICdhdHJ1bGUnXG4gIH1cblxuICBhcHBlbmQgKC4uLmNoaWxkcmVuKSB7XG4gICAgaWYgKCF0aGlzLm5vZGVzKSB0aGlzLm5vZGVzID0gW11cbiAgICByZXR1cm4gc3VwZXIuYXBwZW5kKC4uLmNoaWxkcmVuKVxuICB9XG5cbiAgcHJlcGVuZCAoLi4uY2hpbGRyZW4pIHtcbiAgICBpZiAoIXRoaXMubm9kZXMpIHRoaXMubm9kZXMgPSBbXVxuICAgIHJldHVybiBzdXBlci5wcmVwZW5kKC4uLmNoaWxkcmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIEBtZW1iZXJvZiBBdFJ1bGUjXG4gICAqIEBtZW1iZXIge3N0cmluZ30gbmFtZSBUaGUgYXQtcnVsZeKAmXMgbmFtZSBpbW1lZGlhdGVseSBmb2xsb3dzIHRoZSBgQGAuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IHJvb3QgID0gcG9zdGNzcy5wYXJzZSgnQG1lZGlhIHByaW50IHt9JylcbiAgICogbWVkaWEubmFtZSAvLz0+ICdtZWRpYSdcbiAgICogY29uc3QgbWVkaWEgPSByb290LmZpcnN0XG4gICAqL1xuXG4gIC8qKlxuICAgKiBAbWVtYmVyb2YgQXRSdWxlI1xuICAgKiBAbWVtYmVyIHtzdHJpbmd9IHBhcmFtcyBUaGUgYXQtcnVsZeKAmXMgcGFyYW1ldGVycywgdGhlIHZhbHVlc1xuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IGZvbGxvdyB0aGUgYXQtcnVsZeKAmXMgbmFtZSBidXQgcHJlY2VkZVxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICBhbnkge30gYmxvY2suXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IHJvb3QgID0gcG9zdGNzcy5wYXJzZSgnQG1lZGlhIHByaW50LCBzY3JlZW4ge30nKVxuICAgKiBjb25zdCBtZWRpYSA9IHJvb3QuZmlyc3RcbiAgICogbWVkaWEucGFyYW1zIC8vPT4gJ3ByaW50LCBzY3JlZW4nXG4gICAqL1xuXG4gIC8qKlxuICAgKiBAbWVtYmVyb2YgQXRSdWxlI1xuICAgKiBAbWVtYmVyIHtvYmplY3R9IHJhd3MgSW5mb3JtYXRpb24gdG8gZ2VuZXJhdGUgYnl0ZS10by1ieXRlIGVxdWFsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSBzdHJpbmcgYXMgaXQgd2FzIGluIHRoZSBvcmlnaW4gaW5wdXQuXG4gICAqXG4gICAqIEV2ZXJ5IHBhcnNlciBzYXZlcyBpdHMgb3duIHByb3BlcnRpZXMsXG4gICAqIGJ1dCB0aGUgZGVmYXVsdCBDU1MgcGFyc2VyIHVzZXM6XG4gICAqXG4gICAqICogYGJlZm9yZWA6IHRoZSBzcGFjZSBzeW1ib2xzIGJlZm9yZSB0aGUgbm9kZS4gSXQgYWxzbyBzdG9yZXMgYCpgXG4gICAqICAgYW5kIGBfYCBzeW1ib2xzIGJlZm9yZSB0aGUgZGVjbGFyYXRpb24gKElFIGhhY2spLlxuICAgKiAqIGBhZnRlcmA6IHRoZSBzcGFjZSBzeW1ib2xzIGFmdGVyIHRoZSBsYXN0IGNoaWxkIG9mIHRoZSBub2RlXG4gICAqICAgdG8gdGhlIGVuZCBvZiB0aGUgbm9kZS5cbiAgICogKiBgYmV0d2VlbmA6IHRoZSBzeW1ib2xzIGJldHdlZW4gdGhlIHByb3BlcnR5IGFuZCB2YWx1ZVxuICAgKiAgIGZvciBkZWNsYXJhdGlvbnMsIHNlbGVjdG9yIGFuZCBge2AgZm9yIHJ1bGVzLCBvciBsYXN0IHBhcmFtZXRlclxuICAgKiAgIGFuZCBge2AgZm9yIGF0LXJ1bGVzLlxuICAgKiAqIGBzZW1pY29sb25gOiBjb250YWlucyB0cnVlIGlmIHRoZSBsYXN0IGNoaWxkIGhhc1xuICAgKiAgIGFuIChvcHRpb25hbCkgc2VtaWNvbG9uLlxuICAgKiAqIGBhZnRlck5hbWVgOiB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgYXQtcnVsZSBuYW1lIGFuZCBpdHMgcGFyYW1ldGVycy5cbiAgICpcbiAgICogUG9zdENTUyBjbGVhbnMgYXQtcnVsZSBwYXJhbWV0ZXJzIGZyb20gY29tbWVudHMgYW5kIGV4dHJhIHNwYWNlcyxcbiAgICogYnV0IGl0IHN0b3JlcyBvcmlnaW4gY29udGVudCBpbiByYXdzIHByb3BlcnRpZXMuXG4gICAqIEFzIHN1Y2gsIGlmIHlvdSBkb27igJl0IGNoYW5nZSBhIGRlY2xhcmF0aW9u4oCZcyB2YWx1ZSxcbiAgICogUG9zdENTUyB3aWxsIHVzZSB0aGUgcmF3IHZhbHVlIHdpdGggY29tbWVudHMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IHJvb3QgPSBwb3N0Y3NzLnBhcnNlKCcgIEBtZWRpYVxcbnByaW50IHtcXG59JylcbiAgICogcm9vdC5maXJzdC5maXJzdC5yYXdzIC8vPT4geyBiZWZvcmU6ICcgICcsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgYmV0d2VlbjogJyAnLFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGFmdGVyTmFtZTogJ1xcbicsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgYWZ0ZXI6ICdcXG4nIH1cbiAgICovXG59XG5cbmV4cG9ydCBkZWZhdWx0IEF0UnVsZVxuIl0sImZpbGUiOiJhdC1ydWxlLmpzIn0=
|
@@ -17,9 +17,7 @@ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.crea
|
|
17
17
|
*
|
18
18
|
* @extends Node
|
19
19
|
*/
|
20
|
-
var Comment =
|
21
|
-
/*#__PURE__*/
|
22
|
-
function (_Node) {
|
20
|
+
var Comment = /*#__PURE__*/function (_Node) {
|
23
21
|
_inheritsLoose(Comment, _Node);
|
24
22
|
|
25
23
|
function Comment(defaults) {
|
@@ -54,4 +52,4 @@ function (_Node) {
|
|
54
52
|
var _default = Comment;
|
55
53
|
exports.default = _default;
|
56
54
|
module.exports = exports.default;
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1lbnQuZXM2Il0sIm5hbWVzIjpbIkNvbW1lbnQiLCJkZWZhdWx0cyIsInR5cGUiLCJOb2RlIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7QUFFQTs7Ozs7Ozs7SUFRTUEsTzs7O0FBQ0osbUJBQWFDLFFBQWIsRUFBdUI7QUFBQTs7QUFDckIsNkJBQU1BLFFBQU47QUFDQSxVQUFLQyxJQUFMLEdBQVksU0FBWjtBQUZxQjtBQUd0QjtBQUVEOzs7OztBQUtBOzs7Ozs7Ozs7Ozs7Ozs7RUFYb0JDLGE7O2VBeUJQSCxPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE5vZGUgZnJvbSAnLi9ub2RlJ1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21tZW50IGJldHdlZW4gZGVjbGFyYXRpb25zIG9yIHN0YXRlbWVudHMgKHJ1bGUgYW5kIGF0LXJ1bGVzKS5cbiAqXG4gKiBDb21tZW50cyBpbnNpZGUgc2VsZWN0b3JzLCBhdC1ydWxlIHBhcmFtZXRlcnMsIG9yIGRlY2xhcmF0aW9uIHZhbHVlc1xuICogd2lsbCBiZSBzdG9yZWQgaW4gdGhlIGByYXdzYCBwcm9wZXJ0aWVzIGV4cGxhaW5lZCBhYm92ZS5cbiAqXG4gKiBAZXh0ZW5kcyBOb2RlXG4gKi9cbmNsYXNzIENvbW1lbnQgZXh0ZW5kcyBOb2RlIHtcbiAgY29uc3RydWN0b3IgKGRlZmF1bHRzKSB7XG4gICAgc3VwZXIoZGVmYXVsdHMpXG4gICAgdGhpcy50eXBlID0gJ2NvbW1lbnQnXG4gIH1cblxuICAvKipcbiAgICogQG1lbWJlcm9mIENvbW1lbnQjXG4gICAqIEBtZW1iZXIge3N0cmluZ30gdGV4dCBUaGUgY29tbWVudOKAmXMgdGV4dC5cbiAgICovXG5cbiAgLyoqXG4gICAqIEBtZW1iZXJvZiBDb21tZW50I1xuICAgKiBAbWVtYmVyIHtvYmplY3R9IHJhd3MgSW5mb3JtYXRpb24gdG8gZ2VuZXJhdGUgYnl0ZS10by1ieXRlIGVxdWFsXG4gICAqICAgICAgICAgICAgICAgICAgICAgICBub2RlIHN0cmluZyBhcyBpdCB3YXMgaW4gdGhlIG9yaWdpbiBpbnB1dC5cbiAgICpcbiAgICogRXZlcnkgcGFyc2VyIHNhdmVzIGl0cyBvd24gcHJvcGVydGllcyxcbiAgICogYnV0IHRoZSBkZWZhdWx0IENTUyBwYXJzZXIgdXNlczpcbiAgICpcbiAgICogKiBgYmVmb3JlYDogdGhlIHNwYWNlIHN5bWJvbHMgYmVmb3JlIHRoZSBub2RlLlxuICAgKiAqIGBsZWZ0YDogdGhlIHNwYWNlIHN5bWJvbHMgYmV0d2VlbiBgLypgIGFuZCB0aGUgY29tbWVudOKAmXMgdGV4dC5cbiAgICogKiBgcmlnaHRgOiB0aGUgc3BhY2Ugc3ltYm9scyBiZXR3ZWVuIHRoZSBjb21tZW504oCZcyB0ZXh0LlxuICAgKi9cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29tbWVudFxuIl0sImZpbGUiOiJjb21tZW50LmpzIn0=
|