For js and image/svg files this is probably a complete solution. For CSS, there 
also needs to be code to load the CSS.

I guess a combination of include_file and inject_html might work, but then we 
still have the problem of duplicate <link> injection and combined CSS would not 
be properly referenced.

> For Problem #1, instead of inject_html we could add something like 
> "include_file" that would reference a file in a SWC.  Then folks could have 
> images, css, js, whatever, added to the output file.  I think that wouldn't 
> be too hard to do.  There is already code in the compiler copying stuff out 
> of a SWC

> On Jan 7, 2020, at 12:11 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> 
> 
> On 1/6/20, 12:45 PM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>    Yes. JS specific.
> 
>    It would be very hard to do a SWF compatible build of Spectrum.
> 
> So to me, this isn't so much about CSS as it is about externs.  CSS that is 
> processed by the compiler is intended for multi-platform CSS.  Multi-platform 
> CSS is encoded for use by ValuesManager and implementations on other 
> platforms.  As Carlos noted in a recent thread, CSS is sort of downloaded 
> twice by Royale JS output, once in its .css file form for consumption by the 
> browser, and a second time as encoded CSS for use by the framework and 
> application code.  That avoids having the framework code call 
> getComputedStyles() and allows non-comforming CSS like 
> ClassReference("SomeBead").  Although there certainly could be a better way 
> to handle this.
> 
> On the other hand, the inject_html and externs are about 3rd-party or 
> external JS implementations.  There have been other threads about how to 
> handle inject_html and have it inject local references to .js files.  Right 
> now I think all inject_html use cases reference code on a CDN or some 
> canonical URL on the internet.  It feels like this is the same problem and 
> why you started by asking about inject_html.  You don't really need the 
> compiler to look at this CSS, you really want some amount of css and/or js 
> (and maybe even html) to be linked into the output instead of referenced by 
> URL.  Although it sounds like you are also looking to aggregate these bits 
> and pieces of external css or js into fewer files.
> 
> So I recommend approaching the problem in two pieces: 1) what is the best way 
> to add js and css to the output files and 2) once you have some set, can you 
> aggregate it into fewer files?
> 
> Problem #2 sounds straightforward: search the output folder and combine 
> files.  I guess it might be important what order you combine CSS files.
> 
> For Problem #1, instead of inject_html we could add something like 
> "include_file" that would reference a file in a SWC.  Then folks could have 
> images, css, js, whatever, added to the output file.  I think that wouldn't 
> be too hard to do.  There is already code in the compiler copying stuff out 
> of a SWC
> 
> My 2 cents,
> -Alex
> 
>> On Jan 6, 2020, at 8:56 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
>> 
>> But is that CSS platform-specific, or will that same CSS be needed if you 
>> were to try to implement Spectrum in SWF?  IMO, that's a key question for 
>> how we solve this problem.
> 
> 
> 

Reply via email to