mirror of
https://github.com/andatoshiki/toshiki-notebook.git
synced 2026-06-06 05:55:56 +00:00
2 lines
20 KiB
JavaScript
2 lines
20 KiB
JavaScript
import{_ as n}from"./chunks/PageInfo.vue_vue_type_script_setup_true_lang.250b3e56.js";import{_ as l,o,c as e,H as p,k as s,a as t,Q as c}from"./chunks/framework.b7580407.js";import"./chunks/commonjsHelpers.725317a4.js";const g=JSON.parse('{"title":"Emit","description":"You can replace the contents of your code examples with the results of running TypeScript over the project.","frontmatter":{"description":"You can replace the contents of your code examples with the results of running TypeScript over the project.","title":"Emit"},"headers":[],"relativePath":"application/vitepress-plugin-shiki-twoslash/api/emit.md","filePath":"application/vitepress-plugin-shiki-twoslash/api/emit.md","lastUpdated":1711521027000}'),r={name:"application/vitepress-plugin-shiki-twoslash/api/emit.md"},i=s("h1",{id:"emit",tabindex:"-1"},[t("Emit "),s("a",{class:"header-anchor",href:"#emit","aria-label":'Permalink to "Emit"'},"")],-1),d=c('<p>Running a Twoslash code example is a full TypeScript compiler run that will create files inside the virtual file system. You can replace the contents of your code examples with the results of running TypeScript over the project.</p><h2 id="showemit" tabindex="-1"><code>@showEmit</code> <a class="header-anchor" href="#showemit" aria-label="Permalink to "`@showEmit`""></a></h2><p><code>// @showEmit</code> is the main command to tell Shiki Twoslash that you want to replace the output of your code example with the equivalent <code>.js</code> file.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-WO5VZ" id="tab-7Lz-X5Y" checked="checked"><label for="tab-7Lz-X5Y">output</label><input type="radio" name="group-WO5VZ" id="tab-_sX_oG4"><label for="tab-_sX_oG4">markdown</label></div><div class="blocks"><div class="language-ts vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki github-dark-dimmed twoslash lsp" style="background-color:#22272e;color:#adbac7;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#96D0FF;">"use strict"</span><span style="color:#ADBAC7;">;</span></div><div class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">level</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">'Danger'</span><span style="color:#ADBAC7;">;</span></div><div class="line"> </div></code></div></pre><pre class="shiki github-light twoslash lsp" style="background-color:#fff;color:#24292e;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#032F62;">"use strict"</span><span style="color:#24292E;">;</span></div><div class="line"><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">level</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">'Danger'</span><span style="color:#24292E;">;</span></div><div class="line"> </div></code></div></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><div class="language-md vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#ADBAC7;">```ts twoslash</span></span>\n<span class="line"><span style="color:#768390;">// @showEmit</span></span>\n<span class="line"><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">level</span><span style="color:#F47067;">:</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">string</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">'Danger'</span></span>\n<span class="line"><span style="color:#ADBAC7;">```</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">```ts twoslash</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmit</span></span>\n<span class="line"><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">level</span><span style="color:#D73A49;">:</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">string</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">'Danger'</span></span>\n<span class="line"><span style="color:#24292E;">```</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div></div></div><h2 id="showemittedfile-file" tabindex="-1"><code>@showEmittedFile: [file]</code> <a class="header-anchor" href="#showemittedfile-file" aria-label="Permalink to "`@showEmittedFile: [file]`""></a></h2><p>While the <code>.js</code> file is probably the most useful file out of the box, TypeScript does emit other files if you have the right flags enabled (<code>.d.ts</code> and <code>.map</code>) but also when you have a multi-file code sample — you might need to tell Twoslash which file to show. For all these cases you can also add <code>@showEmittedFile: [file]</code> to tell Twoslash which file you want to show.</p><p>Shows emitted <code>.d.ts</code> for a TypeScript code example:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-sWOTn" id="tab-n0Z9W0k" checked="checked"><label for="tab-n0Z9W0k">markdown</label><input type="radio" name="group-sWOTn" id="tab-NV_8xTJ"><label for="tab-NV_8xTJ">output</label></div><div class="blocks"><div class="language-md vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#ADBAC7;">```ts twoslash</span></span>\n<span class="line"><span style="color:#768390;">// @declaration</span></span>\n<span class="line"><span style="color:#768390;">// @showEmit</span></span>\n<span class="line"><span style="color:#768390;">// @showEmittedFile: index.d.ts</span></span>\n<span class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">hello</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">'world'</span></span>\n<span class="line"><span style="color:#ADBAC7;">```</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">```ts twoslash</span></span>\n<span class="line"><span style="color:#6A737D;">// @declaration</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmit</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmittedFile: index.d.ts</span></span>\n<span class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">hello</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">'world'</span></span>\n<span class="line"><span style="color:#24292E;">```</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><div class="language-ts vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki github-dark-dimmed twoslash lsp" style="background-color:#22272e;color:#adbac7;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">declare</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">hello</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">"world"</span><span style="color:#ADBAC7;">;</span></div><div class="line"> </div></code></div></pre><pre class="shiki github-light twoslash lsp" style="background-color:#fff;color:#24292e;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">declare</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">hello</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">"world"</span><span style="color:#24292E;">;</span></div><div class="line"> </div></code></div></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div></div></div><p>Shows emitted <code>.map</code> files:</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-IwXkW" id="tab-IY6yc-X" checked="checked"><label for="tab-IY6yc-X">markdown</label><input type="radio" name="group-IwXkW" id="tab-BgCp-RP"><label for="tab-BgCp-RP">output</label></div><div class="blocks"><div class="language-md vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#ADBAC7;">```ts twoslash</span></span>\n<span class="line"><span style="color:#768390;">// @sourceMap</span></span>\n<span class="line"><span style="color:#768390;">// @showEmit</span></span>\n<span class="line"><span style="color:#768390;">// @showEmittedFile: index.js.map</span></span>\n<span class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">hello</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">'world'</span></span>\n<span class="line"><span style="color:#ADBAC7;">```</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">```ts twoslash</span></span>\n<span class="line"><span style="color:#6A737D;">// @sourceMap</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmit</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmittedFile: index.js.map</span></span>\n<span class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">hello</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">'world'</span></span>\n<span class="line"><span style="color:#24292E;">```</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><div class="language-ts vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki github-dark-dimmed twoslash lsp" style="background-color:#22272e;color:#adbac7;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#ADBAC7;">{</span><span style="color:#96D0FF;">"version"</span><span style="color:#ADBAC7;">:</span><span style="color:#6CB6FF;">3</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"file"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">"index.js"</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"sourceRoot"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">""</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"sources"</span><span style="color:#ADBAC7;">:[</span><span style="color:#96D0FF;">"index.ts"</span><span style="color:#ADBAC7;">],</span><span style="color:#96D0FF;">"names"</span><span style="color:#ADBAC7;">:[],</span><span style="color:#96D0FF;">"mappings"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA"</span><span style="color:#ADBAC7;">}</span></div></code></div></pre><pre class="shiki github-light twoslash lsp" style="background-color:#fff;color:#24292e;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#24292E;">{</span><span style="color:#032F62;">"version"</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">3</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"file"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">"index.js"</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"sourceRoot"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">""</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"sources"</span><span style="color:#24292E;">:[</span><span style="color:#032F62;">"index.ts"</span><span style="color:#24292E;">],</span><span style="color:#032F62;">"names"</span><span style="color:#24292E;">:[],</span><span style="color:#032F62;">"mappings"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA"</span><span style="color:#24292E;">}</span></div></code></div></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div></div></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-AL7jE" id="tab-yzW_UJ6" checked="checked"><label for="tab-yzW_UJ6">markdown</label><input type="radio" name="group-AL7jE" id="tab-ip4a962"><label for="tab-ip4a962">output</label></div><div class="blocks"><div class="language-md vp-adaptive-theme active line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki github-dark-dimmed vp-code-dark"><code><span class="line"><span style="color:#ADBAC7;">```ts twoslash</span></span>\n<span class="line"><span style="color:#768390;">// @declaration</span></span>\n<span class="line"><span style="color:#768390;">// @declarationMap</span></span>\n<span class="line"><span style="color:#768390;">// @showEmit</span></span>\n<span class="line"><span style="color:#768390;">// @showEmittedFile: index.d.ts.map</span></span>\n<span class="line"><span style="color:#F47067;">export</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">const</span><span style="color:#ADBAC7;"> </span><span style="color:#6CB6FF;">hello</span><span style="color:#ADBAC7;"> </span><span style="color:#F47067;">=</span><span style="color:#ADBAC7;"> </span><span style="color:#96D0FF;">'world'</span></span>\n<span class="line"><span style="color:#ADBAC7;">```</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">```ts twoslash</span></span>\n<span class="line"><span style="color:#6A737D;">// @declaration</span></span>\n<span class="line"><span style="color:#6A737D;">// @declarationMap</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmit</span></span>\n<span class="line"><span style="color:#6A737D;">// @showEmittedFile: index.d.ts.map</span></span>\n<span class="line"><span style="color:#D73A49;">export</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">const</span><span style="color:#24292E;"> </span><span style="color:#005CC5;">hello</span><span style="color:#24292E;"> </span><span style="color:#D73A49;">=</span><span style="color:#24292E;"> </span><span style="color:#032F62;">'world'</span></span>\n<span class="line"><span style="color:#24292E;">```</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><div class="language-ts vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki github-dark-dimmed twoslash lsp" style="background-color:#22272e;color:#adbac7;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#ADBAC7;">{</span><span style="color:#96D0FF;">"version"</span><span style="color:#ADBAC7;">:</span><span style="color:#6CB6FF;">3</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"file"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">"index.d.ts"</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"sourceRoot"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">""</span><span style="color:#ADBAC7;">,</span><span style="color:#96D0FF;">"sources"</span><span style="color:#ADBAC7;">:[</span><span style="color:#96D0FF;">"index.ts"</span><span style="color:#ADBAC7;">],</span><span style="color:#96D0FF;">"names"</span><span style="color:#ADBAC7;">:[],</span><span style="color:#96D0FF;">"mappings"</span><span style="color:#ADBAC7;">:</span><span style="color:#96D0FF;">"AAAA,eAAO,MAAM,KAAK,UAAU,CAAA"</span><span style="color:#ADBAC7;">}</span></div></code></div></pre><pre class="shiki github-light twoslash lsp" style="background-color:#fff;color:#24292e;"><div class="language-id">ts</div><div class="code-container"><code><div class="line"><span style="color:#24292E;">{</span><span style="color:#032F62;">"version"</span><span style="color:#24292E;">:</span><span style="color:#005CC5;">3</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"file"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">"index.d.ts"</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"sourceRoot"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">""</span><span style="color:#24292E;">,</span><span style="color:#032F62;">"sources"</span><span style="color:#24292E;">:[</span><span style="color:#032F62;">"index.ts"</span><span style="color:#24292E;">],</span><span style="color:#032F62;">"names"</span><span style="color:#24292E;">:[],</span><span style="color:#032F62;">"mappings"</span><span style="color:#24292E;">:</span><span style="color:#032F62;">"AAAA,eAAO,MAAM,KAAK,UAAU,CAAA"</span><span style="color:#24292E;">}</span></div></code></div></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div></div></div>',11);function y(u,A,h,m,v,b){const a=n;return o(),e("div",null,[i,p(a,{readTime:"1",words:"264"}),d])}const q=l(r,[["render",y]]);export{g as __pageData,q as default};
|