The `xmodule_assets` command copies SCSS files from
xmodule/css to common/static/xmodule/{modules|descriptors}/scss.
It renames the files to the format:
_{INDEX}-{HASH}.scss
where an XModule's first SCSS resource will have INDEX==0,
the next will have INDEX==1, ...and that's it because no
XModule has more than two SCSS resources.
The output looks like this:
common/static/xmodule/descriptors/scss:
_000-808fcbb4c5109c5156ae3c0c9729c8be.scss
...
_001-a10fc3e0fd6aca63426a89e75fe69c31.scss
common/static/xmodule/modules/scss:
_000-1ad2f05db822d3176affd203d70319c0.scss
...
_001-482ebc752ab6e41946651ceb0f3e7f55.scss
These indexes serve no purpose. Reading the comments
and git-blame in xmodule/static_content.py, one can glean
that the indexes might have been intended to enforce
dependency relationships between the assets, but
this is unnecessary, because the ordering of the copied
SCSS is *already preserved* by the order which they're
included into the `{BLOCK_NAME}{Studio|Preivew}.{HASH}.scss`
SCSS entrypoint files. I have to assume that this is an
unnecessary relic from the time when the XModule system
was more heavily utilized, rather than just a legacy corner
of the XBlock framework as it is today.
So, we remove the indexes, which lets us simplify the logic
of xmodule/static_content.py. This is a minor refactoring, but it'll
make it easier for the next steps on our way to deleting
xmodule/static_content.py entirely. The new output looks like this:
common/static/xmodule/descriptors/scss:
_808fcbb4c5109c5156ae3c0c9729c8be.scss
...
_d41921b4c5d45188759ef3d04fd9a78a.scss
common/static/xmodule/modules/scss:
_1ad2f05db822d3176affd203d70319c0.scss
...
_b80300e1a5f290f6a850e35874068427.scss
Part of: https://github.com/openedx/edx-platform/issues/32292
11 KiB
Executable File
11 KiB
Executable File