sprockets 2.6.0 → 4.2.2

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.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +118 -0
  3. data/{LICENSE → MIT-LICENSE} +2 -2
  4. data/README.md +541 -289
  5. data/bin/sprockets +20 -7
  6. data/lib/rake/sprocketstask.rb +34 -17
  7. data/lib/sprockets/add_source_map_comment_to_asset_processor.rb +60 -0
  8. data/lib/sprockets/asset.rb +158 -210
  9. data/lib/sprockets/autoload/babel.rb +8 -0
  10. data/lib/sprockets/autoload/closure.rb +8 -0
  11. data/lib/sprockets/autoload/coffee_script.rb +8 -0
  12. data/lib/sprockets/autoload/eco.rb +8 -0
  13. data/lib/sprockets/autoload/ejs.rb +8 -0
  14. data/lib/sprockets/autoload/jsminc.rb +8 -0
  15. data/lib/sprockets/autoload/sass.rb +8 -0
  16. data/lib/sprockets/autoload/sassc.rb +8 -0
  17. data/lib/sprockets/autoload/uglifier.rb +8 -0
  18. data/lib/sprockets/autoload/yui.rb +8 -0
  19. data/lib/sprockets/autoload/zopfli.rb +7 -0
  20. data/lib/sprockets/autoload.rb +16 -0
  21. data/lib/sprockets/babel_processor.rb +66 -0
  22. data/lib/sprockets/base.rb +89 -378
  23. data/lib/sprockets/bower.rb +61 -0
  24. data/lib/sprockets/bundle.rb +105 -0
  25. data/lib/sprockets/cache/file_store.rb +190 -14
  26. data/lib/sprockets/cache/memory_store.rb +84 -0
  27. data/lib/sprockets/cache/null_store.rb +54 -0
  28. data/lib/sprockets/cache.rb +271 -0
  29. data/lib/sprockets/cached_environment.rb +64 -0
  30. data/lib/sprockets/closure_compressor.rb +48 -0
  31. data/lib/sprockets/coffee_script_processor.rb +39 -0
  32. data/lib/sprockets/compressing.rb +134 -0
  33. data/lib/sprockets/configuration.rb +79 -0
  34. data/lib/sprockets/context.rb +166 -150
  35. data/lib/sprockets/dependencies.rb +74 -0
  36. data/lib/sprockets/digest_utils.rb +197 -0
  37. data/lib/sprockets/directive_processor.rb +241 -215
  38. data/lib/sprockets/eco_processor.rb +33 -0
  39. data/lib/sprockets/ejs_processor.rb +32 -0
  40. data/lib/sprockets/encoding_utils.rb +261 -0
  41. data/lib/sprockets/environment.rb +23 -64
  42. data/lib/sprockets/erb_processor.rb +43 -0
  43. data/lib/sprockets/errors.rb +5 -13
  44. data/lib/sprockets/exporters/base.rb +71 -0
  45. data/lib/sprockets/exporters/file_exporter.rb +24 -0
  46. data/lib/sprockets/exporters/zlib_exporter.rb +33 -0
  47. data/lib/sprockets/exporters/zopfli_exporter.rb +14 -0
  48. data/lib/sprockets/exporting.rb +73 -0
  49. data/lib/sprockets/file_reader.rb +16 -0
  50. data/lib/sprockets/http_utils.rb +135 -0
  51. data/lib/sprockets/jsminc_compressor.rb +32 -0
  52. data/lib/sprockets/jst_processor.rb +36 -19
  53. data/lib/sprockets/loader.rb +347 -0
  54. data/lib/sprockets/manifest.rb +228 -112
  55. data/lib/sprockets/manifest_utils.rb +48 -0
  56. data/lib/sprockets/mime.rb +78 -31
  57. data/lib/sprockets/npm.rb +52 -0
  58. data/lib/sprockets/path_dependency_utils.rb +77 -0
  59. data/lib/sprockets/path_digest_utils.rb +48 -0
  60. data/lib/sprockets/path_utils.rb +367 -0
  61. data/lib/sprockets/paths.rb +43 -19
  62. data/lib/sprockets/preprocessors/default_source_map.rb +49 -0
  63. data/lib/sprockets/processing.rb +146 -164
  64. data/lib/sprockets/processor_utils.rb +170 -0
  65. data/lib/sprockets/resolve.rb +295 -0
  66. data/lib/sprockets/sass_cache_store.rb +20 -15
  67. data/lib/sprockets/sass_compressor.rb +55 -10
  68. data/lib/sprockets/sass_functions.rb +3 -70
  69. data/lib/sprockets/sass_importer.rb +3 -29
  70. data/lib/sprockets/sass_processor.rb +313 -0
  71. data/lib/sprockets/sassc_compressor.rb +56 -0
  72. data/lib/sprockets/sassc_processor.rb +297 -0
  73. data/lib/sprockets/server.rb +159 -91
  74. data/lib/sprockets/source_map_processor.rb +66 -0
  75. data/lib/sprockets/source_map_utils.rb +483 -0
  76. data/lib/sprockets/transformers.rb +173 -0
  77. data/lib/sprockets/uglifier_compressor.rb +66 -0
  78. data/lib/sprockets/unloaded_asset.rb +139 -0
  79. data/lib/sprockets/uri_tar.rb +99 -0
  80. data/lib/sprockets/uri_utils.rb +194 -0
  81. data/lib/sprockets/utils/gzip.rb +99 -0
  82. data/lib/sprockets/utils.rb +193 -52
  83. data/lib/sprockets/version.rb +2 -1
  84. data/lib/sprockets/yui_compressor.rb +56 -0
  85. data/lib/sprockets.rb +217 -75
  86. metadata +272 -117
  87. data/lib/sprockets/asset_attributes.rb +0 -131
  88. data/lib/sprockets/bundled_asset.rb +0 -80
  89. data/lib/sprockets/caching.rb +0 -96
  90. data/lib/sprockets/charset_normalizer.rb +0 -41
  91. data/lib/sprockets/eco_template.rb +0 -38
  92. data/lib/sprockets/ejs_template.rb +0 -37
  93. data/lib/sprockets/engines.rb +0 -74
  94. data/lib/sprockets/index.rb +0 -99
  95. data/lib/sprockets/processed_asset.rb +0 -152
  96. data/lib/sprockets/processor.rb +0 -32
  97. data/lib/sprockets/safety_colons.rb +0 -28
  98. data/lib/sprockets/sass_template.rb +0 -60
  99. data/lib/sprockets/scss_template.rb +0 -13
  100. data/lib/sprockets/static_asset.rb +0 -58
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6be8e97ff1bd7395fc078716cac0b775bacd30e1aad43153113df1b05b292164
4
+ data.tar.gz: e63069b6630898f92fe1853e51e7259714e126a44bd7b52442b9308533bee1d6
5
+ SHA512:
6
+ metadata.gz: 37b62ffb61ca730485fcdf0526085a3eaabf21ebcc61f27f98510d4c013e7f64a0d5910879677a4d364bec5506b3d58a044ec4708e076a8791b3bf462699fdcd
7
+ data.tar.gz: 8d1178cbe5d033538d85a8ee9fb106bacc3ee7194d40332d42212f86298b458c3c45945a3be52320795f4fc1c3295d8ba27a4a05b2acefae24a191ee04a38c0f
data/CHANGELOG.md ADDED
@@ -0,0 +1,118 @@
1
+ **Master**
2
+
3
+ Get upgrade notes from Sprockets 3.x to 4.x at https://github.com/rails/sprockets/blob/master/UPGRADING.md
4
+
5
+ ## 4.2.2
6
+
7
+ - Added missing dependency on `logger`. [#813](https://github.com/rails/sprockets/pull/813)
8
+ - Fix `URI::RFC3986_PARSER` warnings. [#812](https://github.com/rails/sprockets/pull/812)
9
+ - Removed dependency on `base64`. [#810](https://github.com/rails/sprockets/pull/810)
10
+
11
+ ## 4.2.1
12
+
13
+ - Fix for precompile issues when multiple extensions map to the same MIME type (eg. `.jpeg` / `.jpg`). [#781](https://github.com/rails/sprockets/pull/781)
14
+ - Fix `application/css-sourcemap+json` charset [#764](https://github.com/rails/sprockets/pull/764)
15
+ - Fix compatibility with Rack 2 applications. [#790](https://github.com/rails/sprockets/pull/790)
16
+
17
+ ## 4.2.0
18
+
19
+ - Rack 3 compatibility. [#758](https://github.com/rails/sprockets/pull/758)
20
+ - Fix thread safety of `Sprockets::CachedEnvironment` and `Sprockets::Cache::MemoryStore`. [#771](https://github.com/rails/sprockets/pull/771)
21
+ - Add support for Rack 3.0. Headers set by sprockets will now be lower case. [#758](https://github.com/rails/sprockets/pull/758)
22
+ - Make `Sprockets::Utils.module_include` thread safe on JRuby. [#759](https://github.com/rails/sprockets/pull/759)
23
+ - Fix typo in `asset.rb` file. [#768](https://github.com/rails/sprockets/pull/768)
24
+
25
+ ## 4.1.1
26
+
27
+ - Fix `Sprockets::Server` to return response headers to be compatible with Rack::Lint 2.0.
28
+
29
+ ## 4.1.0
30
+
31
+ - Allow age to be altered in asset:clean rake task.
32
+ - Fix `Sprockets::Server` to return lower-cased response headers to comply with Rack::Lint 3.0. [#744](https://github.com/rails/sprockets/pull/744)
33
+ - Adding new directive `depend_on_directory` [#668](https://github.com/rails/sprockets/pull/668)
34
+ - Fix `application/js-sourcemap+json` charset [#669](https://github.com/rails/sprockets/pull/669)
35
+ - Fix `CachedEnvironment` caching nil values [#723](https://github.com/rails/sprockets/pull/723)
36
+ - Process `*.jst.ejs.erb` files with ERBProcessor [#674](https://github.com/rails/sprockets/pull/674)
37
+ - Fix cache key for coffee script processor to be dependent on the filename [#670](https://github.com/rails/sprockets/pull/670)
38
+
39
+ ## 4.0.3
40
+
41
+ - Fix `Manifest#find` yielding from a Promise causing issue on Ruby 3.1.0-dev. [#720](https://github.com/rails/sprockets/pull/720)
42
+ - Better detect the ERB version to avoid deprecation warnings. [#719](https://github.com/rails/sprockets/pull/719)
43
+ - Allow assets already fingerprinted to be served through `Sprockets::Server`
44
+ - Do not fingerprint files that already contain a valid digest in their name
45
+ - Remove remaining support for Ruby < 2.4.[#672](https://github.com/rails/sprockets/pull/672)
46
+
47
+ ## 4.0.2
48
+
49
+ - Fix `etag` and digest path compilation that were generating string with invalid digest since 4.0.1.
50
+
51
+ ## 4.0.1
52
+
53
+ - Fix for Ruby 2.7 keyword arguments warning in `base.rb`. [#660](https://github.com/rails/sprockets/pull/660)
54
+ - Fix for when `x_sprockets_linecount` is missing from a source map.
55
+ - Fix subresource integrity to match the digest of the asset.
56
+
57
+ ## 4.0.0
58
+
59
+ - Fixes for Ruby 2.7 keyword arguments warnings [#625](https://github.com/rails/sprockets/pull/625)
60
+ - Manifest files are sorted alphabetically [#626](https://github.com/rails/sprockets/pull/626)
61
+
62
+ ## 4.0.0.beta10
63
+
64
+ - Fix YACB (Yet Another Caching Bug) [Fix broken expansion of asset link paths](https://github.com/rails/sprockets/pull/614)
65
+
66
+ ## 4.0.0.beta9
67
+
68
+ - Minimum Ruby version for Sprockets 4 is now 2.5+ which matches minimum ruby version of Rails [#604]
69
+ - Fix threading bug introduced in Sprockets 4 [#603]
70
+ - Warn when two potential manifest files exist. [#560]
71
+
72
+ ## 4.0.0.beta8
73
+
74
+ - Security release for [CVE-2018-3760](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3760)
75
+
76
+ ## 4.0.0.beta7
77
+
78
+ - Fix a year long bug that caused `Sprockets::FileNotFound` errors when the asset was present [#547]
79
+ - Raise an error when two assets such as foo.js and foo.js.erb would produce the same output artifact (foo.js) [#549 #530]
80
+ - Process `*.jst.eco.erb` files with ERBProcessor
81
+
82
+ ## 4.0.0.beta6
83
+
84
+ - Fix source map line offsets [#515]
85
+ - Return a `400 Bad Request` when the path encoding is invalid. [#514]
86
+
87
+ ## 4.0.0.beta5
88
+
89
+ - Reduce string allocations
90
+ - Source map metadata uses compressed form specified by the [source map v3 spec](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k). [#402] **[BREAKING]**
91
+ - Generate [index maps](https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt) when decoding source maps isn't necessary. [#402]
92
+ - Remove fingerprints from source map files. [#402]
93
+
94
+ ## 4.0.0.beta4
95
+
96
+ - Changing the version now busts the digest of all assets [#404]
97
+ - Exporter interface added [#386]
98
+ - Using ENV vars in templates will recompile templates when the env vars change. [#365]
99
+ - Source maps for imported sass files with sassc is now fixed [#391]
100
+ - Load paths now in error messages [#322]
101
+ - Cache key added to babel processor [#387]
102
+ - `Environment#find_asset!` can now be used to raise an exception when asset could not be found [#379]
103
+
104
+ ## 4.0.0.beta3
105
+
106
+ - Source Map fixes [#255] [#367]
107
+ - Performance improvements
108
+
109
+ ## 4.0.0.beta2
110
+
111
+ - Fix load_paths on Sass processors [#223]
112
+
113
+
114
+ ## 4.0.0.beta1
115
+
116
+ - Initial release of Sprockets 4
117
+
118
+ Please upgrade to the latest Sprockets 3 version before upgrading to Sprockets 4. Check the 3.x branch for previous changes https://github.com/rails/sprockets/blob/3.x/CHANGELOG.md.
@@ -1,5 +1,5 @@
1
- Copyright (c) 2011 Sam Stephenson
2
- Copyright (c) 2011 Joshua Peek
1
+ Copyright (c) 2014-2019 Sam Stephenson
2
+ Copyright (c) 2014-2019 Joshua Peek
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
5
5
  a copy of this software and associated documentation files (the