In theory, (and this was true back when Royale/FlexJS first got going), the APIs were sufficiently identical. Maybe not truly identical, but enough that you could have one application code base without COMPILE::SWF/JS conditionals that could run in Flash or in a browser. In theory, all COMPILE::SWF/JS was buried in the framework SWCs themselves to make the API surface effectively the same.
And then, because Flash Builder projects could only specify one set of SWCs, then FlexJS/Royale had "unified" or multi-platform SWCs. In any SWC, the SWF code in library.swf did the Flash implementation and js/out did the browser implementation. And if we ever had another target, it would also get packed in (cpp/out) I would like to think this is still almost completely true. The "write once, run in Flash or Browser" still works. I've seen JS-only APIs added that don't have Flash implementations, but for any API that was supposed to do what Flash could do, hopefully the JS equivalent has a similar enough API surface that the app using that SWC doesn't need conditional compilation. Could the Maven SWF SWCs be made smaller without the js/out folder? Yeah, probably. But you might need to keep js/out for the distribution that tries to mimic a Flash Builder compatible SDK. HTH, -Alex On 1/6/22, 2:06 PM, "Greg Dove" <greg.d...@gmail.com> wrote: We have swf-swcs and js-swcs. Maven puts them alongside eachother, ant puts them in the two separate folders (swf in the original project folder, js inside corresponding projectJS folder in the sibling file structure). Question: Why do the swf-swc builds have js out content inside them? I think that in quite a few cases the 'swf' representation (which contains the definitions loaded by the compiler) of the js in the js build is probably a little different to the 'swf' representation inside the swf build because there can be api differences between js and swf (via COMPILE::SWF and COMPILE::JS differences etc). So I assume that it is not the general case that we would have a unified swc. If so, why does the swf-only swc build contain js files?