Skip to content
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

prone ships with generated cljs+other sources #21

Closed
thheller opened this issue Jan 29, 2015 · 9 comments
Closed

prone ships with generated cljs+other sources #21

thheller opened this issue Jan 29, 2015 · 9 comments

Comments

@thheller
Copy link

The [prone 0.8.0] .jar contains a whole lot of .cljs and .js files that are not required for its operation and confuse the cljs compiler when prone is used as a dependency.

Small excerpt:

    0 Fri Oct 17 20:49:20 CEST 2014 prone/generated/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/
  3502 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/buffers.cljs
  9775 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/buffers.js
  7151 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/channels.cljs
 17470 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/channels.js
  1214 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/dispatch.cljs
  2537 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/dispatch.js
  4958 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/ioc_helpers.cljs
 26286 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/ioc_helpers.js
  1434 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/protocols.cljs
  8879 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/protocols.js
  5471 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/timers.cljs
 11596 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async/impl/timers.js
 29134 Fri Oct 17 20:49:30 CEST 2014 prone/generated/out/cljs/core/async.cljs
246316 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/core/async.js
220793 Fri Oct 17 20:49:26 CEST 2014 prone/generated/out/cljs/core.cljs
699075 Fri Oct 17 20:49:30 CEST 2014 prone/generated/out/cljs/core.js
 18071 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/reader.cljs
 37022 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/cljs/reader.js
   179 Fri Oct 17 20:49:26 CEST 2014 prone/generated/out/cljs/user.js
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/
     0 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/
  2950 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/event.cljs
  5915 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/event.js
  5382 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/net.cljs
 19084 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/net.js
  4204 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/repl.cljs
  6817 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/browser/repl.js
  5140 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/string.cljs
  7850 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/string.js
  3311 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/walk.cljs
  3906 Fri Oct 17 20:49:32 CEST 2014 prone/generated/out/clojure/walk.js

The resources folder is included in the jar and all tools (lein cljsbuild, build-js-sources.sh) are configured to put their output there. Those file should not be in a release jar though.

Should be enough to have

2176452 Fri Oct 17 21:00:08 CEST 2014 prone/generated/prone.js
2046841 Thu Aug 28 16:21:34 CEST 2014 prone/generated/prone.js.map
@magnars
Copy link
Owner

magnars commented Jan 29, 2015

I guess you're right about that. This is not my forte, tho. @cjohansen - any ideas?

@andrewmcveigh
Copy link
Contributor

You should probably put the generated stuff in ./target/generated...

Take a look at Prismatic/schema's project.clj[1] for a decent example.

[1] https://github.com/Prismatic/schema/blob/master/project.clj

@andrewmcveigh
Copy link
Contributor

Or, if I see correctly why you're compiling to generated/out, you could generate to ./dev-resources/generated/out, and add :resource-paths ["dev-resources" "resources"] to the :dev profile.

@cjohansen
Copy link
Collaborator

I tried building to target/generated, but it still ends up in the jar. I'm no expert on jar packaging, pointers welcome.

@andrewmcveigh
Copy link
Contributor

Hi,

So I just checked out master and called $ lein jar. Below is what was included in the jar.

What do you actually need included in the jar? By default, everything in ./resources is included.`

So in this case, none of the generated stuff is included, but all the node/prism stuff is in there. Is it needed in the root of the jar?

META-INF/MANIFEST.MF
META-INF/maven/prone/prone/pom.xml
META-INF/leiningen/prone/prone/project.clj
project.clj
META-INF/leiningen/prone/prone/README.md
META-INF/leiningen/prone/prone/LICENSE
META-INF/
META-INF/maven/
META-INF/maven/prone/
META-INF/maven/prone/prone/
META-INF/maven/prone/prone/pom.properties
node_modules/
node_modules/react/
node_modules/react/addons.js
node_modules/react/dist/
node_modules/react/dist/JSXTransformer.js
node_modules/react/dist/react-with-addons.js
node_modules/react/dist/react-with-addons.min.js
node_modules/react/dist/react.js
node_modules/react/dist/react.min.js
node_modules/react/lib/
node_modules/react/lib/accumulateInto.js
node_modules/react/lib/adler32.js
node_modules/react/lib/AutoFocusMixin.js
node_modules/react/lib/BeforeInputEventPlugin.js
node_modules/react/lib/CallbackQueue.js
node_modules/react/lib/camelize.js
node_modules/react/lib/camelizeStyleName.js
node_modules/react/lib/ChangeEventPlugin.js
node_modules/react/lib/ClientReactRootIndex.js
node_modules/react/lib/cloneWithProps.js
node_modules/react/lib/CompositionEventPlugin.js
node_modules/react/lib/containsNode.js
node_modules/react/lib/copyProperties.js
node_modules/react/lib/createArrayFrom.js
node_modules/react/lib/createFullPageComponent.js
node_modules/react/lib/createNodesFromMarkup.js
node_modules/react/lib/CSSCore.js
node_modules/react/lib/CSSProperty.js
node_modules/react/lib/CSSPropertyOperations.js
node_modules/react/lib/cx.js
node_modules/react/lib/Danger.js
node_modules/react/lib/dangerousStyleValue.js
node_modules/react/lib/DefaultEventPluginOrder.js
node_modules/react/lib/deprecated.js
node_modules/react/lib/DOMChildrenOperations.js
node_modules/react/lib/DOMProperty.js
node_modules/react/lib/DOMPropertyOperations.js
node_modules/react/lib/emptyFunction.js
node_modules/react/lib/emptyObject.js
node_modules/react/lib/EnterLeaveEventPlugin.js
node_modules/react/lib/escapeTextForBrowser.js
node_modules/react/lib/EventConstants.js
node_modules/react/lib/EventListener.js
node_modules/react/lib/EventPluginHub.js
node_modules/react/lib/EventPluginRegistry.js
node_modules/react/lib/EventPluginUtils.js
node_modules/react/lib/EventPropagators.js
node_modules/react/lib/ExecutionEnvironment.js
node_modules/react/lib/flattenChildren.js
node_modules/react/lib/focusNode.js
node_modules/react/lib/forEachAccumulated.js
node_modules/react/lib/getActiveElement.js
node_modules/react/lib/getEventCharCode.js
node_modules/react/lib/getEventKey.js
node_modules/react/lib/getEventModifierState.js
node_modules/react/lib/getEventTarget.js
node_modules/react/lib/getMarkupWrap.js
node_modules/react/lib/getNodeForCharacterOffset.js
node_modules/react/lib/getReactRootElementInContainer.js
node_modules/react/lib/getTextContentAccessor.js
node_modules/react/lib/getUnboundedScrollPosition.js
node_modules/react/lib/HTMLDOMPropertyConfig.js
node_modules/react/lib/hyphenate.js
node_modules/react/lib/hyphenateStyleName.js
node_modules/react/lib/instantiateReactComponent.js
node_modules/react/lib/invariant.js
node_modules/react/lib/isEventSupported.js
node_modules/react/lib/isNode.js
node_modules/react/lib/isTextInputElement.js
node_modules/react/lib/isTextNode.js
node_modules/react/lib/joinClasses.js
node_modules/react/lib/keyMirror.js
node_modules/react/lib/keyOf.js
node_modules/react/lib/LinkedStateMixin.js
node_modules/react/lib/LinkedValueUtils.js
node_modules/react/lib/LocalEventTrapMixin.js
node_modules/react/lib/mapObject.js
node_modules/react/lib/memoizeStringOnly.js
node_modules/react/lib/merge.js
node_modules/react/lib/mergeInto.js
node_modules/react/lib/MobileSafariClickEventPlugin.js
node_modules/react/lib/monitorCodeUse.js
node_modules/react/lib/Object.assign.js
node_modules/react/lib/onlyChild.js
node_modules/react/lib/performance.js
node_modules/react/lib/performanceNow.js
node_modules/react/lib/PooledClass.js
node_modules/react/lib/React.js
node_modules/react/lib/ReactBrowserComponentMixin.js
node_modules/react/lib/ReactBrowserEventEmitter.js
node_modules/react/lib/ReactChildren.js
node_modules/react/lib/ReactComponent.js
node_modules/react/lib/ReactComponentBrowserEnvironment.js
node_modules/react/lib/ReactComponentWithPureRenderMixin.js
node_modules/react/lib/ReactCompositeComponent.js
node_modules/react/lib/ReactContext.js
node_modules/react/lib/ReactCSSTransitionGroup.js
node_modules/react/lib/ReactCSSTransitionGroupChild.js
node_modules/react/lib/ReactCurrentOwner.js
node_modules/react/lib/ReactDefaultBatchingStrategy.js
node_modules/react/lib/ReactDefaultInjection.js
node_modules/react/lib/ReactDefaultPerf.js
node_modules/react/lib/ReactDefaultPerfAnalysis.js
node_modules/react/lib/ReactDOM.js
node_modules/react/lib/ReactDOMButton.js
node_modules/react/lib/ReactDOMComponent.js
node_modules/react/lib/ReactDOMForm.js
node_modules/react/lib/ReactDOMIDOperations.js
node_modules/react/lib/ReactDOMImg.js
node_modules/react/lib/ReactDOMInput.js
node_modules/react/lib/ReactDOMOption.js
node_modules/react/lib/ReactDOMSelect.js
node_modules/react/lib/ReactDOMSelection.js
node_modules/react/lib/ReactDOMTextarea.js
node_modules/react/lib/ReactElement.js
node_modules/react/lib/ReactElementValidator.js
node_modules/react/lib/ReactEmptyComponent.js
node_modules/react/lib/ReactErrorUtils.js
node_modules/react/lib/ReactEventEmitterMixin.js
node_modules/react/lib/ReactEventListener.js
node_modules/react/lib/ReactInjection.js
node_modules/react/lib/ReactInputSelection.js
node_modules/react/lib/ReactInstanceHandles.js
node_modules/react/lib/ReactLegacyElement.js
node_modules/react/lib/ReactLink.js
node_modules/react/lib/ReactMarkupChecksum.js
node_modules/react/lib/ReactMount.js
node_modules/react/lib/ReactMultiChild.js
node_modules/react/lib/ReactMultiChildUpdateTypes.js
node_modules/react/lib/ReactNativeComponent.js
node_modules/react/lib/ReactOwner.js
node_modules/react/lib/ReactPerf.js
node_modules/react/lib/ReactPropTransferer.js
node_modules/react/lib/ReactPropTypeLocationNames.js
node_modules/react/lib/ReactPropTypeLocations.js
node_modules/react/lib/ReactPropTypes.js
node_modules/react/lib/ReactPutListenerQueue.js
node_modules/react/lib/ReactReconcileTransaction.js
node_modules/react/lib/ReactRootIndex.js
node_modules/react/lib/ReactServerRendering.js
node_modules/react/lib/ReactServerRenderingTransaction.js
node_modules/react/lib/ReactStateSetters.js
node_modules/react/lib/ReactTestUtils.js
node_modules/react/lib/ReactTextComponent.js
node_modules/react/lib/ReactTransitionChildMapping.js
node_modules/react/lib/ReactTransitionEvents.js
node_modules/react/lib/ReactTransitionGroup.js
node_modules/react/lib/ReactUpdates.js
node_modules/react/lib/ReactWithAddons.js
node_modules/react/lib/SelectEventPlugin.js
node_modules/react/lib/ServerReactRootIndex.js
node_modules/react/lib/setInnerHTML.js
node_modules/react/lib/shallowEqual.js
node_modules/react/lib/shouldUpdateReactComponent.js
node_modules/react/lib/SimpleEventPlugin.js
node_modules/react/lib/SVGDOMPropertyConfig.js
node_modules/react/lib/SyntheticClipboardEvent.js
node_modules/react/lib/SyntheticCompositionEvent.js
node_modules/react/lib/SyntheticDragEvent.js
node_modules/react/lib/SyntheticEvent.js
node_modules/react/lib/SyntheticFocusEvent.js
node_modules/react/lib/SyntheticInputEvent.js
node_modules/react/lib/SyntheticKeyboardEvent.js
node_modules/react/lib/SyntheticMouseEvent.js
node_modules/react/lib/SyntheticTouchEvent.js
node_modules/react/lib/SyntheticUIEvent.js
node_modules/react/lib/SyntheticWheelEvent.js
node_modules/react/lib/toArray.js
node_modules/react/lib/Transaction.js
node_modules/react/lib/traverseAllChildren.js
node_modules/react/lib/update.js
node_modules/react/lib/ViewportMetrics.js
node_modules/react/lib/warning.js
node_modules/react/node_modules/
node_modules/react/node_modules/.bin/
node_modules/react/node_modules/.bin/envify
node_modules/react/node_modules/envify/
node_modules/react/node_modules/envify/.npmignore
node_modules/react/node_modules/envify/bin/
node_modules/react/node_modules/envify/bin/envify
node_modules/react/node_modules/envify/custom.js
node_modules/react/node_modules/envify/index.js
node_modules/react/node_modules/envify/node_modules/
node_modules/react/node_modules/envify/node_modules/jstransform/
node_modules/react/node_modules/envify/node_modules/jstransform/.jshintrc
node_modules/react/node_modules/envify/node_modules/jstransform/.npmignore
node_modules/react/node_modules/envify/node_modules/jstransform/.travis.yml
node_modules/react/node_modules/envify/node_modules/jstransform/jestPreprocessor.js
node_modules/react/node_modules/envify/node_modules/jstransform/LICENSE
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/.bin/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/.bin/esparse
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/.bin/esvalidate
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/.travis.yml
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/base62.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/LICENSE
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/package.json
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/Readme.md
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/test/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/base62/test/test.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/bin/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/bin/esparse.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/bin/esvalidate.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/esprima.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/package.json
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/README.md
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/compat.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/reflect.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/run.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/runner.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/esprima-fb/test/test.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/.npmignore
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/.travis.yml
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/assert-shim.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/mini-require.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/prefix-source-map.jsm
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/prefix-utils.jsm
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-browser.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-source-map.jsm
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/suffix-utils.jsm
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/test-prefix.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/build/test-suffix.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/CHANGELOG.md
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/array-set.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/base64-vlq.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/base64.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/binary-search.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/source-map-consumer.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/source-map-generator.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/source-node.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map/util.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/lib/source-map.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/LICENSE
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/Makefile.dryice.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/amdefine.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/intercept.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/LICENSE
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/package.json
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/node_modules/amdefine/README.md
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/package.json
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/README.md
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/run-tests.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-api.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-array-set.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-base64-vlq.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-base64.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-binary-search.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-dog-fooding.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-source-map-consumer.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-source-map-generator.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/test-source-node.js
node_modules/react/node_modules/envify/node_modules/jstransform/node_modules/source-map/test/source-map/util.js
node_modules/react/node_modules/envify/node_modules/jstransform/package.json
node_modules/react/node_modules/envify/node_modules/jstransform/README.md
node_modules/react/node_modules/envify/node_modules/jstransform/src/
node_modules/react/node_modules/envify/node_modules/jstransform/src/__tests__/
node_modules/react/node_modules/envify/node_modules/jstransform/src/__tests__/jstransform-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/src/docblock.js
node_modules/react/node_modules/envify/node_modules/jstransform/src/jstransform.js
node_modules/react/node_modules/envify/node_modules/jstransform/src/utils.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-arrow-function-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-class-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-destructuring-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-object-concise-method-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-object-short-notation-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-rest-param-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es6-template-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es7-rest-property-helpers-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/es7-spread-property-visitors-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/__tests__/reserved-words-test.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-arrow-function-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-class-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-destructuring-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-object-concise-method-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-object-short-notation-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-rest-param-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es6-template-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es7-rest-property-helpers.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/es7-spread-property-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/reserved-words-helper.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/reserved-words-visitors.js
node_modules/react/node_modules/envify/node_modules/jstransform/visitors/type-syntax.js
node_modules/react/node_modules/envify/node_modules/through/
node_modules/react/node_modules/envify/node_modules/through/.travis.yml
node_modules/react/node_modules/envify/node_modules/through/index.js
node_modules/react/node_modules/envify/node_modules/through/LICENSE.APACHE2
node_modules/react/node_modules/envify/node_modules/through/LICENSE.MIT
node_modules/react/node_modules/envify/node_modules/through/package.json
node_modules/react/node_modules/envify/node_modules/through/readme.markdown
node_modules/react/node_modules/envify/node_modules/through/test/
node_modules/react/node_modules/envify/node_modules/through/test/async.js
node_modules/react/node_modules/envify/node_modules/through/test/auto-destroy.js
node_modules/react/node_modules/envify/node_modules/through/test/buffering.js
node_modules/react/node_modules/envify/node_modules/through/test/end.js
node_modules/react/node_modules/envify/node_modules/through/test/index.js
node_modules/react/node_modules/envify/package.json
node_modules/react/node_modules/envify/README.md
node_modules/react/node_modules/envify/visitors.js
node_modules/react/package.json
node_modules/react/react.js
node_modules/react/README.md
prism-clojure/
prism-clojure/.git
prism-clojure/LICENSE
prism-clojure/prism.clojure.js
prism-clojure/README.md
prismjs/
prismjs/.git
prismjs/.gitignore
prismjs/.npmignore
prismjs/bower.json
prismjs/CNAME
prismjs/code.js
prismjs/components/
prismjs/components/prism-apacheconf.js
prismjs/components/prism-apacheconf.min.js
prismjs/components/prism-aspnet.js
prismjs/components/prism-aspnet.min.js
prismjs/components/prism-autohotkey.js
prismjs/components/prism-autohotkey.min.js
prismjs/components/prism-bash.js
prismjs/components/prism-bash.min.js
prismjs/components/prism-c.js
prismjs/components/prism-c.min.js
prismjs/components/prism-clike.js
prismjs/components/prism-clike.min.js
prismjs/components/prism-coffeescript.js
prismjs/components/prism-coffeescript.min.js
prismjs/components/prism-core.js
prismjs/components/prism-core.min.js
prismjs/components/prism-cpp.js
prismjs/components/prism-cpp.min.js
prismjs/components/prism-csharp.js
prismjs/components/prism-csharp.min.js
prismjs/components/prism-css-extras.js
prismjs/components/prism-css-extras.min.js
prismjs/components/prism-css.js
prismjs/components/prism-css.min.js
prismjs/components/prism-gherkin.js
prismjs/components/prism-gherkin.min.js
prismjs/components/prism-git.js
prismjs/components/prism-git.min.js
prismjs/components/prism-go.js
prismjs/components/prism-go.min.js
prismjs/components/prism-groovy.js
prismjs/components/prism-groovy.min.js
prismjs/components/prism-haskell.js
prismjs/components/prism-haskell.min.js
prismjs/components/prism-http.js
prismjs/components/prism-http.min.js
prismjs/components/prism-ini.js
prismjs/components/prism-ini.min.js
prismjs/components/prism-java.js
prismjs/components/prism-java.min.js
prismjs/components/prism-javascript.js
prismjs/components/prism-javascript.min.js
prismjs/components/prism-latex.js
prismjs/components/prism-latex.min.js
prismjs/components/prism-markup.js
prismjs/components/prism-markup.min.js
prismjs/components/prism-nsis.js
prismjs/components/prism-nsis.min.js
prismjs/components/prism-objectivec.js
prismjs/components/prism-objectivec.min.js
prismjs/components/prism-php-extras.js
prismjs/components/prism-php-extras.min.js
prismjs/components/prism-php.js
prismjs/components/prism-php.min.js
prismjs/components/prism-python.js
prismjs/components/prism-python.min.js
prismjs/components/prism-rip.js
prismjs/components/prism-rip.min.js
prismjs/components/prism-ruby.js
prismjs/components/prism-ruby.min.js
prismjs/components/prism-scala.js
prismjs/components/prism-scala.min.js
prismjs/components/prism-scss.js
prismjs/components/prism-scss.min.js
prismjs/components/prism-sql.js
prismjs/components/prism-sql.min.js
prismjs/components/prism-swift.js
prismjs/components/prism-swift.min.js
prismjs/components/prism-twig.js
prismjs/components/prism-twig.min.js
prismjs/components.js
prismjs/download.html
prismjs/download.js
prismjs/examples.html
prismjs/extending.html
prismjs/faq.html
prismjs/favicon.png
prismjs/gulpfile.js
prismjs/img/
prismjs/img/logo-ala.png
prismjs/img/logo-css-tricks.png
prismjs/img/logo-mdn.png
prismjs/img/logo-smashing.png
prismjs/img/logo-typeplate.png
prismjs/img/logo-wpd.png
prismjs/img/spectrum.png
prismjs/index.html
prismjs/LICENSE
prismjs/logo.svg
prismjs/package.json
prismjs/plugins/
prismjs/plugins/autolinker/
prismjs/plugins/autolinker/index.html
prismjs/plugins/autolinker/prism-autolinker.css
prismjs/plugins/autolinker/prism-autolinker.js
prismjs/plugins/autolinker/prism-autolinker.min.js
prismjs/plugins/file-highlight/
prismjs/plugins/file-highlight/index.html
prismjs/plugins/file-highlight/prism-file-highlight.js
prismjs/plugins/file-highlight/prism-file-highlight.min.js
prismjs/plugins/ie8/
prismjs/plugins/ie8/index.html
prismjs/plugins/ie8/prism-ie8.css
prismjs/plugins/ie8/prism-ie8.js
prismjs/plugins/ie8/prism-ie8.min.js
prismjs/plugins/index.html
prismjs/plugins/line-highlight/
prismjs/plugins/line-highlight/index.html
prismjs/plugins/line-highlight/prism-line-highlight.css
prismjs/plugins/line-highlight/prism-line-highlight.js
prismjs/plugins/line-highlight/prism-line-highlight.min.js
prismjs/plugins/line-numbers/
prismjs/plugins/line-numbers/index.html
prismjs/plugins/line-numbers/prism-line-numbers.css
prismjs/plugins/line-numbers/prism-line-numbers.js
prismjs/plugins/line-numbers/prism-line-numbers.min.js
prismjs/plugins/show-invisibles/
prismjs/plugins/show-invisibles/index.html
prismjs/plugins/show-invisibles/prism-show-invisibles.css
prismjs/plugins/show-invisibles/prism-show-invisibles.js
prismjs/plugins/show-invisibles/prism-show-invisibles.min.js
prismjs/plugins/show-language/
prismjs/plugins/show-language/index.html
prismjs/plugins/show-language/prism-show-language.css
prismjs/plugins/show-language/prism-show-language.js
prismjs/plugins/show-language/prism-show-language.min.css
prismjs/plugins/show-language/prism-show-language.min.js
prismjs/plugins/wpd/
prismjs/plugins/wpd/index.html
prismjs/plugins/wpd/prism-wpd.css
prismjs/plugins/wpd/prism-wpd.js
prismjs/plugins/wpd/prism-wpd.min.js
prismjs/prefixfree.min.js
prismjs/prism.js
prismjs/README.md
prismjs/style.css
prismjs/templates/
prismjs/templates/footer.html
prismjs/templates/header-download.html
prismjs/templates/header-main.html
prismjs/templates/header-plugins.html
prismjs/test.html
prismjs/themes/
prismjs/themes/prism-coy.css
prismjs/themes/prism-dark.css
prismjs/themes/prism-funky.css
prismjs/themes/prism-okaidia.css
prismjs/themes/prism-tomorrow.css
prismjs/themes/prism-twilight.css
prismjs/themes/prism.css
prismjs/utopia.js
prismjs/vendor/
prismjs/vendor/promise.js
prone/
prone/better-errors.css
prone/prism-line-numbers.js
prone/styles.css
prone/code_trunc.clj
prone/debug.clj
prone/hiccough.clj
prone/middleware.clj
prone/prep.clj
prone/stacks.clj
prone/ui/
prone/ui/components/
prone/ui/components/app.cljs
prone/ui/components/code_excerpt.cljs
prone/ui/components/map_browser.cljs
prone/ui/components/source_location.cljs
prone/ui/main.cljs
prone/ui/run.cljs
prone/ui/utils.cljs

@magnars
Copy link
Owner

magnars commented Jan 30, 2015

You'd think all this could be stuffed into an uberjs instead of being split up like that. Which I thought we did already with our :compiler {:output-to "resources/prone/generated/prone.js"} setting. This calls for someone with knowledge about building ClojureScript - which looks like it might be neither of us?

@andrewmcveigh
Copy link
Contributor

Yes, your cljs would be compiled to an uberjs file with the :compiler {:output-to "resources/prone/generated/prone.js"} setting, however as you also have the :output-dir "resources/prone/generated/out" setting, all your development compilation will be put in the ./resources directory too.

Add to that the node/react stuff and you've got a really bulky ./resources dir, which will be dumped straight into the .jar.

There are a number of ways to go about this with leiningen:

  • Have separate profiles for dev/release, have only the required js files in the ./resources dir for the release profile
  • Include in project.clj a complex :jar-exclusions entry to exclude everything you don't want.
  • Move the node_modules stuff, and generated compilation out of resources, and specify files/dirs that you want to keep in the .jar using :filespecs in project.clj

I'd probably go for the 3rd one, it seems like less work. You'd need to remember to add any new files/modules to the list if you needed external deps though.

@cjohansen
Copy link
Collaborator

@andrewmcveigh can you point me to a relevant example of option 3?

@magnars
Copy link
Owner

magnars commented Jan 3, 2016

Fixed in 0.9.0. Sorry for the exceedingly long incubation time.

@magnars magnars closed this as completed Jan 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants