#36236: collectstatic doesn't ignore comments or --ignore for hashing
-------------------------------------+-------------------------------------
Reporter: ElJeffe | Owner: (none)
Type: Bug | Status: new
Component: File | Version: 5.1
uploads/storage |
Severity: Normal | Resolution:
Keywords: collectstatic, | Triage Stage:
ManifestStaticFilesStorage | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by ElJeffe:
Old description:
> I have some static vendor files that include commented out map files,
> which causes a value error on hashing. Since it's commented, shouldn't
> it be ignored. If not, shouldn't it be ignored if I include `--ignore
> 'js.map'`. Neither of those happen, which causes an error when trying to
> use `ManifestStaticFilesStorage`.
>
> `//# sourceMappingURL=moment-with-locales.min.js.map`
> `/*# sourceMappingURL=bootstrap.min.css.map */`
>
> I've run into other fonts or images that are missing in vendor files. If
> a file is missing during the hashing, can it just be skipped? This is
> not a linter.. do what is there, don't fail it.
>
> ----
>
> {{{
> Post-processing 'theme/vendor/daterangepicker/node_modules/moment/min
> /moment-with-locales.min.js' failed!
>
> Traceback (most recent call last):
> File "/opt/pioneer/manage.py", line 24, in <module>
> main()
> ~~~~^^
> File "/opt/pioneer/manage.py", line 20, in main
> execute_from_command_line(sys.argv)
> ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
> File "/usr/local/lib/python3.13/site-
> packages/django/core/management/__init__.py", line 442, in
> execute_from_command_line
> utility.execute()
> ~~~~~~~~~~~~~~~^^
> File "/usr/local/lib/python3.13/site-
> packages/django/core/management/__init__.py", line 436, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
> File "/usr/local/lib/python3.13/site-
> packages/django/core/management/base.py", line 413, in run_from_argv
> self.execute(*args, **cmd_options)
> ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/local/lib/python3.13/site-
> packages/django/core/management/base.py", line 459, in execute
> output = self.handle(*args, **options)
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 209, in handle
> collected = self.collect()
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/management/commands/collectstatic.py",
> line 154, in collect
> raise processed
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/storage.py", line 375, in
> _post_process
> content = pattern.sub(converter, content)
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/storage.py", line 249, in converter
> hashed_url = self._url(
> self._stored_name,
> ...<2 lines>...
> hashed_files=hashed_files,
> )
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/storage.py", line 182, in _url
> hashed_name = hashed_name_func(*args)
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/storage.py", line 425, in
> _stored_name
> cache_name = self.clean_name(self.hashed_name(name))
> ~~~~~~~~~~~~~~~~^^^^^^
> File "/usr/local/lib/python3.13/site-
> packages/django/contrib/staticfiles/storage.py", line 143, in hashed_name
> raise ValueError(
> "The file '%s' could not be found with %r." % (filename, self)
> )
> ValueError: The file
> 'theme/vendor/daterangepicker/node_modules/moment/min/moment-with-
> locales.min.js.map' could not be found with
> <django.contrib.staticfiles.storage.ManifestStaticFilesStorage object at
> 0xffffa4016900>.
>
> }}}
New description:
I have some static vendor files that include commented out map files,
which causes a value error on hashing. Since it's commented, shouldn't it
be ignored. If not, shouldn't it be ignored if I include `--ignore
'js.map'`. Neither of those happen, which causes an error when trying to
use `ManifestStaticFilesStorage`.
`//# sourceMappingURL=moment-with-locales.min.js.map`
`/*# sourceMappingURL=bootstrap.min.css.map */`
**Update:** I've run into other fonts or images that are missing in vendor
files. If a file is missing during the hashing, can it just be skipped
instead of raising an error? This is not a linter.. do what is there,
don't fail it.
----
{{{
Post-processing 'theme/vendor/daterangepicker/node_modules/moment/min
/moment-with-locales.min.js' failed!
Traceback (most recent call last):
File "/opt/pioneer/manage.py", line 24, in <module>
main()
~~~~^^
File "/opt/pioneer/manage.py", line 20, in main
execute_from_command_line(sys.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-
packages/django/core/management/__init__.py", line 442, in
execute_from_command_line
utility.execute()
~~~~~~~~~~~~~~~^^
File "/usr/local/lib/python3.13/site-
packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-
packages/django/core/management/base.py", line 413, in run_from_argv
self.execute(*args, **cmd_options)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-
packages/django/core/management/base.py", line 459, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/management/commands/collectstatic.py",
line 209, in handle
collected = self.collect()
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/management/commands/collectstatic.py",
line 154, in collect
raise processed
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/storage.py", line 375, in
_post_process
content = pattern.sub(converter, content)
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/storage.py", line 249, in converter
hashed_url = self._url(
self._stored_name,
...<2 lines>...
hashed_files=hashed_files,
)
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/storage.py", line 182, in _url
hashed_name = hashed_name_func(*args)
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/storage.py", line 425, in _stored_name
cache_name = self.clean_name(self.hashed_name(name))
~~~~~~~~~~~~~~~~^^^^^^
File "/usr/local/lib/python3.13/site-
packages/django/contrib/staticfiles/storage.py", line 143, in hashed_name
raise ValueError(
"The file '%s' could not be found with %r." % (filename, self)
)
ValueError: The file 'theme/vendor/daterangepicker/node_modules/moment/min
/moment-with-locales.min.js.map' could not be found with
<django.contrib.staticfiles.storage.ManifestStaticFilesStorage object at
0xffffa4016900>.
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/36236#comment:7>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/django-updates/010701957b107190-7d9dceb4-2a96-4319-be03-2dfad82deb41-000000%40eu-central-1.amazonses.com.