For item 1, I mean why we need to includes all of the css files into resource.json while in the config.json we define entry point and inside index.css we import all other css files. So, you can simply read config and then access index.css and finally parse the file and find out all related css files from there.
Here is my theme. I include both fonts.css and variable.css inside index.css so it is extra to define those file again in reosurce.json:
{
"scope": "A",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"config.json",
"index.css",
"variables.css",
"fonts.css"
],
"attributes": {
}
}
For item 2 check out following screenshot. For 8.1, inside light.css each module append their own starting css file as entry points:
As you see here my-light, i4cortex and sepasoft both coexist with each other. I understand in 8.3, we can create our own theme name and it is independent, but in reality all the client use light/dark theme and our components need to work with them out-of-box.
Now, I’m just worries if someone install my module and then install Sepasoft, it will overwrite my css.
I propose any folder start with keyword overrides-light-xxxxx treat as overrides for light and the part is for name representing theme extension, which we put our company names.


