-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non cached files are not preprocessed #2264
Comments
Is there any workaround for this? It seems to cause an issue whereby changes to the test do rerun the old tests so you have to restart karma if you want to use the new tests. |
Looks like I have related problem, when using |
Use the most recently computed file sha present on the served file when setting the file sha in the scripts tags added to the context.html. This fixes an issue where the sha query arg would always be the sha of the file when karma initially started and would not take into account changes to the file when the watcher is running. Closes karma-runner#2317, karma-runner#2264
Use the most recently computed file sha present on the served file when setting the file sha in the scripts tags added to the context.html. This fixes an issue where the sha query arg would always be the sha of the file when karma initially started and would not take into account changes to the file when the watcher is running. Closes karma-runner#2317, karma-runner#2264
As you can see here excluding this preprocess step was a feature of the nocache option. @nmalaguti can you please explain why you've decided to exclude preprocess step? Thanks! |
@maksimr the way that preprocessing worked at the time (and may still work - I haven't been working with karma in a while) is that each file was preprocessed once at start or on change and the result was cached in memory. If The problem I was solving for with nocache was that I didn't need potentially thousands of files being watched and cached in memory (e.g. including all of |
Use the most recently computed file sha present on the served file when setting the file sha in the scripts tags added to the context.html. This fixes an issue where the sha query arg would always be the sha of the file when karma initially started and would not take into account changes to the file when the watcher is running. This may also address the issues in karma-runner#2317 and karma-runner#2264
This logic implies that something external must be watching the file system. |
Are the any updates on this issue? Thanks. |
The root cause is clear enough: the option does two things:
The second part is redundant with the existing preprocessing configuration support. The fix would seem simple enough: remove the first branch here:
Maybe with a warning for now
I don't know what this would break. |
Thanks @johnjbarton. That fixes the issue for me, but I'm not sure either what that could affect. |
I would expect This also prevents css preprocessors that include other files from working properly. If an included file is changed, karma does not pick up on these changes and serves the old version. I think this issue should be addressed in one of two ways:
|
I noticed this because I'm using rollup (+ babel) to transpile ES2015 tests into ES5. With the 'default' configuration, tests are transpiled but then cached, so when I change the source, the cached version is served.
Expected behavior
Using
karma.conf.js
I expect test files to run through the preprocessor and not being cached.
Actual behavior
Files are not cached, but are not even processed
Enviroment Details
karma --version
): 1.1.1The logic is defined around these lines and introduced in this commit.
Clearly the intent of the committer (@nmalaguti) was to avoid preprocessing, but I feel like
nocache
is now serving two purposesIn my use case I'd like to have use (1.) without (2.), best of both worlds would be to have
The text was updated successfully, but these errors were encountered: