Also combine the two coffee registerCompiler calls into one
it's a bad on-disk cache that should be improved to not write out all
the unchanged files every time too. but the tests do show that it skips
the unnecessary recompile
less doesn't use an on-disk cache yet
Specifically, ensure that we don't even include client-specific files in
the server WatchSet by making sure we pass a precise set of extensions
to initFromAppDir. We still also rule out wrong-arch files at a later
stage too (because sourceExtensions only affects initFromAppDir).
Without the change to compiler.js, the final test (adding
yet-another-root.main.less) restarts the server rather than printing
"Client modified -- refreshing".
Combine BuildPluginDefinition/CompilerPlugin into SourceProcessor. We
don't actually need to ever regenerate the userPlugin objects unless
we're re-loading the Isopack that contains the plugin.
This should allow for in-memory caching in your compiler plugin.
still need to test that this works (eg, by publishing and letting an
older version try it)
This was tested just by making isopack-cache pass
includePreCompilerPluginIsopackVersions: true and manual examination,
weeeee.
@benjamn convinced me that line numbers are still nice, and especially
so with the changes that let them come from original source files. And
due to
b556e62262 (commitcomment-11437623)
noLineNumbers currently totally disables source maps, which is silly.
test-packages passes except for server _getCallerDetails which may
indicate that source maps are broken.
next to deal with:
- see if source maps work (client and server)
- backwards-compatibility prelink
This has "declaredExports" instead of "packageVariables" and doesn't
contain prelink resources.
The backwards-compatibility mode knows how to read prelink resources and
packageVariables but doesn't write the prelink resource yet.