Comments (8)
@crisptrutski we're doing ok running :optimizations :none on our projects. What problems are you having specifically?
from doo.
When using Boot compiled files are created in a temp directory, not at the assumed relative path to the project. That means that require statements for Closure generated by the CLJS shim for :none
use incorrect paths, and the bootstrapping fails:
Running cljs tests...ClojureScript could not load :main, did you forget to specify
:asset-path?
ERROR: doo was not loaded from the compiled script.
This is precisely the scenario mentioned in the linked CLJS ticket.
You could run the tests here against doo with and without this branch to see the difference.
This is a blocker for upgrading Boot tooling to use the latest doo (0.1.4 did not have this problem), but open to any solution - admit this one is not pretty.
from doo.
Gotcha, that makes more sense. I'll have a look at how boot does it and see what I can think of too.
from doo.
@crisptrutski CLJS-1444 deals with a node-only problem. Is the problem you are reporting also isolated to node?
from doo.
@bensu no, it's actually been affecting phantom in my testing - looks like I didn't read the ticket closely enough.
Here's the actual shim that's been generated:
var CLOSURE_UNCOMPILED_DEFINES = null;
if(typeof goog == "undefined") document.write('<script src="output.out/goog/base.js"></script>');
document.write('<script src="output.out/cljs_deps.js"></script>');
document.write('<script>if (typeof goog != "undefined") { goog.require("boot.cljs.main750"); } else { console.warn("ClojureScript could not load :main, did you forget to specify :asset-path?"); };</script>');
from doo.
Thanks @crisptrutski
To solve this I'll need a better understanding of boot-cljs. Luckily I've already been using it in one project but it will take a while until we figure out the best way to re conciliate these two execution models.
from doo.
Totally understand you wanting to avoid a knee-jerk solution!
Would you be open to a scaled back PR in the meantime, which just provides a "command-dir" option, and skipping any such magic around the compiler options? This would be enough for me to cut a boot-cljs-test release, without any implicit magic.
If not, I can wait - and maybe find the time to help 😄
from doo.
Since @danielcompton made the same suggestion, I've gone ahead and created the PR ✌️ 🌴
from doo.
Related Issues (20)
- doo crashes with Clojure 1.9 HOT 3
- Subprocess fail with phantom on centos 7 HOT 2
- add support for :foreign-libs HOT 1
- WARNING: :preloads should only be specified with :none optimizations
- Test Reporting with Doo HOT 1
- Karma: custom file patterns for static resource loading HOT 7
- Plan for release 0.1.9 HOT 3
- How to prettify test reports in Karma? HOT 2
- Error encountered performing task 'doo' with profile(s): 'dev,test,test' HOT 3
- Tests Fail to Run with Reagent 0.8.0 HOT 4
- Printing test failures with records currently broken HOT 3
- Use spell-spec and expound for better cli errors
- Make sure exit code is zero on unhandled promise rejection in node HOT 1
- junit plugin usage (possibly user error)
- Ability to log the test currently executed
- There is no planck support, despite the README stating it HOT 2
- Issues with testing with Chrome-headless HOT 2
- Error when running Nashorn with `:optimizations :whitespace`
- Consider different method of enabling printing for Node.js
- How do I filter tests?
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 doo.