Comments (4)
@jlmakes thanks for your swift response.
I've set up a reproduction here: https://github.com/LarsDenBakker/karma-rollup-preprocessor-issues
Run:
npm install
npm run test:dynamic-import
optionally, debug the code at: http://localhost:9876/debug.html
You will see the dynamic import fail.
Adding them to the test config file will not work, as these files are generated by rollup itself when code splitting dynamic imports. Maybe this is out of scope for a preprocessor, but dynamic imports it becoming a very common code pattern. I expect it will be used more and more often.
Happy to help out where possible.
from karma-rollup-preprocessor.
I'm not sure this is within the purview of the preprocessor.
One idea is that the files are not declared in the Karma config as included: true
.
Do you mind putting together a small repo demonstrating the problem?
from karma-rollup-preprocessor.
Thanks for the reproduction, can confirm npm run test:dynamic-import
errors:
TypeError: Failed to fetch dynamically imported module: test-dynamic-import/bar-aed5ea93.js
I assumed Karma copied test files to a temp directory before serving them, and the dynamically imported files would be missing — but upon investigating, there only seems to be encoded/binary files in there.
I'm not sure how to proceed, but I'm suspicious this is more on the Karma side of things.
from karma-rollup-preprocessor.
Hi, its pretty possible that happens because calling bundle.generate
creates several chunks but only the first one is returned as processed, which is the test file itself since they are ordered, so I see two options here:
- If there is a way in Karma to output several files from inside a preprocessor just output all chunks.
- If there isnt use the
inlineDynamicImports
rollup option. - Alternatively write all chunks to a temp folder or store them in memory and register a middleware in Karma to serve those files. This seems to be what the webpack preprocessor does (https://github.com/webpack-contrib/karma-webpack/blob/master/src/karma-webpack.js) but I think the second option is easier and should accomplish the same.
Cant confirm ATM though.
from karma-rollup-preprocessor.
Related Issues (20)
- Rollup has moved output options within the config
- sourcemaps not working HOT 4
- Add support of array configs HOT 4
- Source Maps not Working HOT 1
- Watching doesn't start when debugging HOT 4
- Not compatible with the latest version of Rollup (v1.0.0) HOT 2
- TypeError: Cannot read property 'forEach' of undefined HOT 4
- dependencies are duplicated for each test file HOT 19
- Issues using babel-typescript and @types packages HOT 3
- Watching fails to process files HOT 6
- Missing options in examples HOT 2
- Warnings when used with Rollup >= 1.27.0
- There are hints when using plug-ins that introduce files HOT 1
- @rollup/plugin-multi-entry broken by #54 HOT 6
- Watch not working on windows HOT 9
- #69 breaks configs with output.file HOT 1
- Watcher not working using TypeScript? HOT 13
- Watch mode overwrites the test file HOT 9
- New version containing fix for watch mode HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from karma-rollup-preprocessor.