Skip to content

Commit 88d798e

Browse files
committed
build
1 parent 2495f53 commit 88d798e

File tree

1 file changed

+2
-51
lines changed

1 file changed

+2
-51
lines changed

docs/UsersGuide.html

Lines changed: 2 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -775,8 +775,7 @@ <h1>Shadow CLJS User&#8217;s Guide</h1>
775775
<li><a href="#_simplified_externs">14.2.3. Simplified Externs</a></li>
776776
</ul>
777777
</li>
778-
<li><a href="#_code_stripping">14.3. Code Stripping</a></li>
779-
<li><a href="#build-report">14.4. Build Report</a></li>
778+
<li><a href="#build-report">14.3. Build Report</a></li>
780779
</ul>
781780
</li>
782781
<li><a href="#_editor_integration">15. Editor Integration</a>
@@ -6694,55 +6693,7 @@ <h4 id="_simplified_externs"><a class="anchor" href="#_simplified_externs"></a><
66946693
</div>
66956694
</div>
66966695
<div class="sect2">
6697-
<h3 id="_code_stripping"><a class="anchor" href="#_code_stripping"></a><a class="link" href="#_code_stripping">14.3. Code Stripping</a></h3>
6698-
<div class="paragraph">
6699-
<p>The Closure Compiler supports removing unwanted code by name. This allows removing code that normal dead-code removal can&#8217;t or won&#8217;t remove. This is quite dangerous as it can remove code you actually care about but it can remove a lot of dev only code easily. It is grouped into 4 separate options of which pretty much only <code>:strip-type-prefixes</code> is relevant to ClojureScript but other may be useful as well.</p>
6700-
</div>
6701-
<div class="listingblock">
6702-
<div class="title">Example removing all uses of <code>cljs.pprint</code></div>
6703-
<div class="content">
6704-
<pre class="CodeRay highlight"><code data-lang="clojure">{<span class="keyword">..</span><span class="keyword">.</span>
6705-
<span class="symbol">:builds</span>
6706-
{<span class="symbol">:app</span>
6707-
{<span class="symbol">:target</span> <span class="symbol">:browser</span>
6708-
<span class="keyword">..</span><span class="keyword">.</span>
6709-
<span class="symbol">:compiler-options</span> {<span class="symbol">:strip-type-prefixes</span> #{<span class="string"><span class="delimiter">&quot;</span><span class="content">cljs.pprint</span><span class="delimiter">&quot;</span></span>}
6710-
}}}</code></pre>
6711-
</div>
6712-
</div>
6713-
<div class="paragraph">
6714-
<p>Each of these options is specified as a Set of Strings. Please note that all the names specified here are JS names so certain CLJS names must be munged. <code>my-lib.core</code> becomes <code>my_lib.core</code>.</p>
6715-
</div>
6716-
<div class="dlist Horizontal">
6717-
<dl>
6718-
<dt><code>:strip-types</code></dt>
6719-
<dd>
6720-
<p>Allows removing deftype/defrecord declarations or uses. <code>#{"my.ns.FooBar}</code> removes <code>(defrecord FooBar [])</code>.</p>
6721-
</dd>
6722-
<dt><code>:strip-type-prefixes</code></dt>
6723-
<dd>
6724-
<p>Removes everything starting with any of the given Prefixes. Allows removing entire CLJS namespaces.</p>
6725-
</dd>
6726-
<dt><code>:strip-name-prefixes</code></dt>
6727-
<dd>
6728-
<p>Allows removing properties by prefix. <code>#{"log"}</code> removes <code>this.logX</code> or <code>(defn log-me [&#8230;&#8203;])</code></p>
6729-
</dd>
6730-
<dt><code>:strip-name-suffixes</code></dt>
6731-
<dd>
6732-
<p>Allows removing properties by suffix. <code>#{"log"}</code> removes <code>this.myLog</code> or <code>(defn my-log [&#8230;&#8203;])</code></p>
6733-
</dd>
6734-
</dl>
6735-
</div>
6736-
<div class="sidebarblock">
6737-
<div class="content">
6738-
<div class="paragraph">
6739-
<p><strong>DANGER: Be careful with these options. They apply to your entire build and may remove code you actually need. You may accidentally remove code in libraries not written by you. Always consider other options before using this.</strong></p>
6740-
</div>
6741-
</div>
6742-
</div>
6743-
</div>
6744-
<div class="sect2">
6745-
<h3 id="build-report"><a class="anchor" href="#build-report"></a><a class="link" href="#build-report">14.4. Build Report</a></h3>
6696+
<h3 id="build-report"><a class="anchor" href="#build-report"></a><a class="link" href="#build-report">14.3. Build Report</a></h3>
67466697
<div class="paragraph">
67476698
<p><code>shadow-cljs</code> can generate a detailed report for your <code>release</code> builds which includes a detailed breakdown of the included sources and how much they each contributed to the overall size.</p>
67486699
</div>

0 commit comments

Comments
 (0)