Skip to content

Commit 62739e9

Browse files
authored
docs: clarify manifest.json imports field is JS chunks only (#1293) (#1543)
Co-authored-by: Rush Ali <s0aPii.ra@googlemail.com> closes #1293 #1543
1 parent 6cd0d08 commit 62739e9

2 files changed

Lines changed: 61 additions & 5 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,7 +514,27 @@ export default defineConfig({
514514
markdown: {
515515
// languages used for twoslash and jsdocs in twoslash
516516
languages: ['ts', 'js', 'json'],
517-
codeTransformers: [transformerTwoslash()],
517+
codeTransformers: [
518+
transformerTwoslash(),
519+
// add `style:*` support
520+
{
521+
root(hast) {
522+
const meta = this.options.meta?.__raw
523+
?.split(' ')
524+
.find((m) => m.startsWith('style:'))
525+
if (meta) {
526+
const style = meta.slice('style:'.length)
527+
const rootPre = hast.children.find(
528+
(n): n is typeof n & { type: 'element'; tagName: 'pre' } =>
529+
n.type === 'element' && n.tagName === 'pre',
530+
)
531+
if (rootPre) {
532+
rootPre.properties.style += '; ' + style
533+
}
534+
}
535+
},
536+
},
537+
],
518538
config(md) {
519539
md.use(groupIconMdPlugin, {
520540
titleBar: {

docs/guide/backend-integration.md

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Wenn Sie eine benutzerdefinierte Integration benötigen, können Sie den Schritt
6464

6565
3. Für die produktive Umgebung wird nach dem Ausführen von `vite build` neben anderen Asset-Dateien eine Datei `.vite/manifest.json` erstellt. Eine Beispiel-Manifestdatei sieht wie folgt aus:
6666

67-
```json [.vite/manifest.json]
67+
```json [.vite/manifest.json] style:max-height:400px
6868
{
6969
"_shared-B7PI925R.js": {
7070
"file": "assets/shared-B7PI925R.js",
@@ -110,17 +110,53 @@ Wenn Sie eine benutzerdefinierte Integration benötigen, können Sie den Schritt
110110

111111
Das Manifest hat eine Struktur `Record<name, chunk>`, bei dem jeder Chunk dem `ManifestChunk`-Interface folgt.
112112

113-
```ts
113+
```ts style:max-height:400px
114114
interface ManifestChunk {
115+
/**
116+
* Der Name der Input-Datei des Chunks / Assets, sofern bekannt.
117+
*/
115118
src?: string
119+
/**
120+
* Der Name der Output-Datei des Chunks / Assets, sofern bekannt.
121+
*/
116122
file: string
123+
/**
124+
* Die Liste von CSS-Dateien, welche von diesem Chunk importiert werden.
125+
*
126+
* Dieses Feld ist nur in JS-Chunks präsent.
127+
*/
117128
css?: string[]
129+
/**
130+
* Die Liste von allen Asset-Dateien, welche von diesem Chunk importiert werden, ausgenommen CSS-Dateien.
131+
*
132+
* Dieses Feld ist nur in JS-Chunks präsent.
133+
*/
118134
assets?: string[]
135+
/**
136+
* Ob dieser Chunk oder dieses Asset ein Eingangspunkt ist oder nicht.
137+
*/
119138
isEntry?: boolean
139+
/**
140+
* Der Name des Chunks / Assets, sofern bekannt.
141+
*/
120142
name?: string
121-
names?: string[]
143+
/**
144+
* Ob dieser Chunk ein dynamischer Eingangspunkt ist.
145+
*
146+
* Dieses Feld ist nur in JS-Chunks präsent.
147+
*/
122148
isDynamicEntry?: boolean
149+
/**
150+
* Die Liste von statisch importierten Chunks durch diesen Chunk.
151+
*
152+
* Die Werte sind die Schlüssel des Manifests. Dieses Feld ist nur in JS-Chunks präsent.
153+
*/
123154
imports?: string[]
155+
/**
156+
* Die Liste von dynamisch importierten Chunks durch diesen Chunk.
157+
*
158+
* Die Werte sind die Schlüssel des Manifests. Dieses Feld ist nur in JS-Chunks präsent.
159+
*/
124160
dynamicImports?: string[]
125161
}
126162
```
@@ -132,7 +168,7 @@ Wenn Sie eine benutzerdefinierte Integration benötigen, können Sie den Schritt
132168
- **Asset Chunks**: Generiert aus importierten Assets wie Images oder Schriftarten. Ihr Schlüssel ist der relative src-Pfad vom Wurzelverzeichnis.
133169
- **CSS Dateien**: Wenn [`build.cssCodeSplit`](/config/build-options.md#build-csscodesplit) `false` ist, wird eine einzige CSS Datei generiert mit dem Schlüssel `style.css`. Wenn `build.cssCodeSplit` nicht `false` ist, wird der Schlüssel ähnlich zum JavaScript Chunk generiert (z. B. Entry Chunks werden nicht mit `_` beginnen und Non-Entry Chunks werden mit `_` beginnen).
134170

135-
Chunks werden Informationen über ihre statischen und dynamischen Importe enthalten (beides sind Schlüssel die den entsprechenden Chunk im Manifest abbilden) und auch ihre entsprechenden CSS und Assets (falls vorhanden).
171+
JS-Chunks (Chunks die keine Assets oder CSS sind) werden Informationen über ihre statischen und dynamischen Importe enthalten (beides sind Schlüssel die den entsprechenden Chunk im Manifest abbilden) und auch ihre entsprechenden CSS und Assets (falls vorhanden).
136172

137173
4. Sie können diese Datei zum Rendern von Links oder zum Vorladen von Direktiven mit gehashten Dateinamen verwenden.
138174

0 commit comments

Comments
 (0)