@intlayer/docs 9.3.2 → 9.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/de/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/en/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/en-GB/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/es/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/fr/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/hi/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/id/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/it/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/ja/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/ko/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/pl/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/pt/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/ru/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/tr/nextjs-multilingual-seo-comparison.md +9 -9
- package/blog/uk/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/vi/nextjs-multilingual-seo-comparison.md +10 -10
- package/blog/zh/nextjs-multilingual-seo-comparison.md +10 -10
- package/docs/ar/bundle_optimization.md +1 -1
- package/docs/ar/configuration.md +32 -9
- package/docs/ar/dictionary/content_file.md +0 -22
- package/docs/ar/dictionary/function_fetching.md +23 -0
- package/docs/ar/eslint.md +9 -9
- package/docs/bn/configuration.md +34 -9
- package/docs/bn/eslint.md +9 -9
- package/docs/cs/bundle_optimization.md +1 -1
- package/docs/cs/configuration.md +33 -9
- package/docs/cs/eslint.md +9 -9
- package/docs/de/bundle_optimization.md +1 -1
- package/docs/de/configuration.md +34 -9
- package/docs/de/dictionary/content_file.md +0 -22
- package/docs/de/dictionary/function_fetching.md +23 -0
- package/docs/de/eslint.md +9 -9
- package/docs/en/bundle_optimization.md +1 -1
- package/docs/en/configuration.md +34 -9
- package/docs/en/dictionary/content_file.md +0 -22
- package/docs/en/dictionary/function_fetching.md +23 -0
- package/docs/en/eslint.md +9 -9
- package/docs/en/packages/intlayer/getLocalizedPath.md +70 -19
- package/docs/en-GB/configuration.md +33 -9
- package/docs/en-GB/dictionary/content_file.md +0 -22
- package/docs/en-GB/dictionary/function_fetching.md +23 -0
- package/docs/en-GB/eslint.md +9 -9
- package/docs/es/bundle_optimization.md +1 -1
- package/docs/es/configuration.md +35 -9
- package/docs/es/dictionary/content_file.md +0 -22
- package/docs/es/dictionary/function_fetching.md +23 -0
- package/docs/es/eslint.md +9 -9
- package/docs/fr/bundle_optimization.md +1 -1
- package/docs/fr/configuration.md +35 -9
- package/docs/fr/dictionary/content_file.md +0 -22
- package/docs/fr/dictionary/function_fetching.md +23 -0
- package/docs/fr/eslint.md +9 -9
- package/docs/hi/configuration.md +35 -9
- package/docs/hi/dictionary/content_file.md +0 -22
- package/docs/hi/dictionary/function_fetching.md +23 -0
- package/docs/hi/eslint.md +9 -9
- package/docs/id/configuration.md +35 -9
- package/docs/id/dictionary/content_file.md +0 -22
- package/docs/id/dictionary/function_fetching.md +23 -0
- package/docs/id/eslint.md +9 -9
- package/docs/it/bundle_optimization.md +1 -1
- package/docs/it/configuration.md +35 -9
- package/docs/it/dictionary/content_file.md +0 -22
- package/docs/it/dictionary/function_fetching.md +23 -0
- package/docs/it/eslint.md +9 -9
- package/docs/ja/configuration.md +30 -9
- package/docs/ja/dictionary/content_file.md +0 -22
- package/docs/ja/dictionary/function_fetching.md +23 -0
- package/docs/ja/eslint.md +9 -9
- package/docs/ko/configuration.md +31 -9
- package/docs/ko/dictionary/content_file.md +0 -22
- package/docs/ko/dictionary/function_fetching.md +23 -0
- package/docs/ko/eslint.md +9 -9
- package/docs/nl/configuration.md +33 -9
- package/docs/nl/eslint.md +9 -9
- package/docs/pl/bundle_optimization.md +1 -1
- package/docs/pl/configuration.md +34 -9
- package/docs/pl/dictionary/content_file.md +0 -22
- package/docs/pl/dictionary/function_fetching.md +23 -0
- package/docs/pl/eslint.md +9 -9
- package/docs/pt/bundle_optimization.md +1 -1
- package/docs/pt/configuration.md +34 -9
- package/docs/pt/dictionary/content_file.md +0 -22
- package/docs/pt/dictionary/function_fetching.md +23 -0
- package/docs/pt/eslint.md +9 -9
- package/docs/ru/bundle_optimization.md +1 -1
- package/docs/ru/configuration.md +34 -9
- package/docs/ru/dictionary/content_file.md +0 -22
- package/docs/ru/dictionary/function_fetching.md +23 -0
- package/docs/ru/eslint.md +9 -9
- package/docs/tr/bundle_optimization.md +1 -1
- package/docs/tr/configuration.md +33 -9
- package/docs/tr/dictionary/content_file.md +0 -22
- package/docs/tr/dictionary/function_fetching.md +23 -0
- package/docs/tr/eslint.md +9 -9
- package/docs/uk/configuration.md +35 -9
- package/docs/uk/dictionary/content_file.md +0 -22
- package/docs/uk/dictionary/function_fetching.md +23 -0
- package/docs/uk/eslint.md +9 -9
- package/docs/ur/configuration.md +35 -9
- package/docs/ur/eslint.md +9 -9
- package/docs/vi/bundle_optimization.md +1 -1
- package/docs/vi/configuration.md +33 -9
- package/docs/vi/dictionary/content_file.md +0 -22
- package/docs/vi/dictionary/function_fetching.md +23 -0
- package/docs/vi/eslint.md +9 -9
- package/docs/zh/bundle_optimization.md +1 -1
- package/docs/zh/configuration.md +29 -9
- package/docs/zh/dictionary/content_file.md +0 -22
- package/docs/zh/dictionary/function_fetching.md +23 -0
- package/docs/zh/eslint.md +9 -9
- package/docs/zh-TW/bundle_optimization.md +1 -1
- package/docs/zh-TW/eslint.md +9 -9
- package/package.json +5 -5
package/docs/id/eslint.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-08-12
|
|
3
|
-
updatedAt: 2026-08-
|
|
3
|
+
updatedAt: 2026-08-13
|
|
4
4
|
title: Plugin ESLint | Aturan Lint untuk Intlayer
|
|
5
5
|
description: Deteksi string hardcoded, panggilan dinamis yang tidak dapat dioptimalkan oleh compiler Intlayer, dan konten kamus yang tidak terpakai dengan eslint-plugin-intlayer. Bekerja dengan ESLint dan oxlint di seluruh React, Vue, Svelte, Angular, dan Astro.
|
|
6
6
|
keywords:
|
|
@@ -52,7 +52,7 @@ pnpm add --save-dev eslint-plugin-intlayer
|
|
|
52
52
|
yarn add --dev eslint-plugin-intlayer
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Memerlukan ESLint 9 atau lebih baru (flat config).
|
|
55
|
+
Memerlukan ESLint 9 atau lebih baru (flat config). ESLint 10 didukung.
|
|
56
56
|
|
|
57
57
|
## Penggunaan
|
|
58
58
|
|
|
@@ -61,20 +61,20 @@ Plugin ini berjalan di ESLint dan [oxlint](https://oxc.rs) — aturan yang sama,
|
|
|
61
61
|
<Tabs defaultTab="eslint">
|
|
62
62
|
<Tab label="ESLint" value="eslint">
|
|
63
63
|
|
|
64
|
-
```javascript fileName="eslint.config.mjs"
|
|
64
|
+
```javascript fileName="eslint.config.mjs"
|
|
65
65
|
import intlayer from "eslint-plugin-intlayer";
|
|
66
66
|
|
|
67
67
|
export default [...intlayer.configs.recommended];
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Atau
|
|
70
|
+
Atau sebarkan sebuah konfigurasi dan tetapkan sendiri tingkat keparahannya:
|
|
71
71
|
|
|
72
|
-
```javascript fileName="eslint.config.mjs"
|
|
72
|
+
```javascript fileName="eslint.config.mjs"
|
|
73
73
|
import intlayer from "eslint-plugin-intlayer";
|
|
74
74
|
|
|
75
75
|
export default [
|
|
76
|
+
...intlayer.configs.recommended,
|
|
76
77
|
{
|
|
77
|
-
plugins: { intlayer },
|
|
78
78
|
rules: {
|
|
79
79
|
"intlayer/no-raw-text": "warn",
|
|
80
80
|
"intlayer/static-dictionary-key": "error",
|
|
@@ -144,7 +144,7 @@ Untuk memperbaiki seluruh file sekaligus, jalankan `npx intlayer extract` dan bi
|
|
|
144
144
|
|
|
145
145
|
**Opsi**
|
|
146
146
|
|
|
147
|
-
```javascript fileName="eslint.config.mjs"
|
|
147
|
+
```javascript fileName="eslint.config.mjs"
|
|
148
148
|
{
|
|
149
149
|
"intlayer/no-raw-text": [
|
|
150
150
|
"warn",
|
|
@@ -247,7 +247,7 @@ Berbeda dengan aturan lainnya, aturan ini tidak dapat mengambil keputusan hanya
|
|
|
247
247
|
|
|
248
248
|
**Opsi**
|
|
249
249
|
|
|
250
|
-
```javascript fileName="eslint.config.mjs"
|
|
250
|
+
```javascript fileName="eslint.config.mjs"
|
|
251
251
|
{
|
|
252
252
|
"intlayer/no-unused-content": [
|
|
253
253
|
"warn",
|
|
@@ -296,7 +296,7 @@ Setiap aturan berfungsi di semua integrasi Intlayer, termasuk di dalam template
|
|
|
296
296
|
| Template Angular | `.component.html` | `@angular-eslint/template-parser` |
|
|
297
297
|
| Astro | `.astro` | `astro-eslint-parser` |
|
|
298
298
|
|
|
299
|
-
```javascript fileName="eslint.config.mjs"
|
|
299
|
+
```javascript fileName="eslint.config.mjs"
|
|
300
300
|
import intlayer from "eslint-plugin-intlayer";
|
|
301
301
|
import tseslint from "typescript-eslint";
|
|
302
302
|
import vueParser from "vue-eslint-parser";
|
|
@@ -159,7 +159,7 @@ pnpm add -D webpack-bundle-analyzer
|
|
|
159
159
|
bun add -d webpack-bundle-analyzer
|
|
160
160
|
```
|
|
161
161
|
|
|
162
|
-
```typescript fileName="webpack.config.ts
|
|
162
|
+
```typescript fileName="webpack.config.ts"
|
|
163
163
|
import { BundleAnalyzerPlugin } from "webpack-bundle-analyzer";
|
|
164
164
|
|
|
165
165
|
export default {
|
package/docs/it/configuration.md
CHANGED
|
@@ -478,6 +478,30 @@ const config: IntlayerConfig = {
|
|
|
478
478
|
*/
|
|
479
479
|
purge: true,
|
|
480
480
|
|
|
481
|
+
/**
|
|
482
|
+
* Raggruppare i chunk di dizionario per lingua in base al confine di
|
|
483
|
+
* code-splitting che li utilizza, così una pagina caricata in modo lazy
|
|
484
|
+
* recupera il suo contenuto con una sola richiesta.
|
|
485
|
+
* Predefinito: true
|
|
486
|
+
*
|
|
487
|
+
* Nota:
|
|
488
|
+
* - Si applica solo ai dizionari che usano `importMode: 'dynamic'`.
|
|
489
|
+
*/
|
|
490
|
+
chunkGrouping: true,
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Caricare un dizionario insieme al chunk che lo utilizza, invece di
|
|
494
|
+
* recuperarlo una volta che quel chunk viene renderizzato. I lettori vengono
|
|
495
|
+
* renderizzati in modo sincrono invece di sospendersi, quindi la navigazione
|
|
496
|
+
* non mostra più un lampeggio di caricamento.
|
|
497
|
+
* Predefinito: true
|
|
498
|
+
*
|
|
499
|
+
* Nota:
|
|
500
|
+
* - Viene attesa solo la lingua risolta, quindi la pagina scarica solo la
|
|
501
|
+
* lingua che mostra.
|
|
502
|
+
*/
|
|
503
|
+
dictionariesPreload: true,
|
|
504
|
+
|
|
481
505
|
/**
|
|
482
506
|
* Formato di output per i file del dizionario generati.
|
|
483
507
|
* Predefinito: ['cjs', 'esm']
|
|
@@ -1057,15 +1081,17 @@ Le opzioni di build sono applicate ai plugin `@intlayer/babel` e `@intlayer/swc`
|
|
|
1057
1081
|
|
|
1058
1082
|
> Durante l'ottimizzazione, Intlayer sostituirà le chiamate ai dizionari per ottimizzare il suddivisione del codice (chunking) in modo che il bundle risultante importi solo i dizionari effettivamente utilizzati.
|
|
1059
1083
|
|
|
1060
|
-
| Campo
|
|
1061
|
-
|
|
|
1062
|
-
| `mode`
|
|
1063
|
-
| `optimize`
|
|
1064
|
-
| `minify`
|
|
1065
|
-
| `purge`
|
|
1066
|
-
| `checkTypes`
|
|
1067
|
-
| `
|
|
1068
|
-
| `
|
|
1084
|
+
| Campo | Descrizione | Tipo | Predefinito | Esempio | Commenti |
|
|
1085
|
+
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1086
|
+
| `mode` | Controlla la modalità di build. | `'auto'` | <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: Il build viene lanciato automaticamente durante il build dell'applicazione.<br/>• `'manual'`: Viene eseguito solo tramite un comando di build esplicito.<br/>• Può essere utilizzato per impedire il build dei dizionari (es. per evitare l'esecuzione in ambiente Node.js). |
|
|
1087
|
+
| `optimize` | Controlla se le ottimizzazioni del build debbano essere eseguite. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • Se non definito, l'ottimizzazione viene lanciata durante il build del framework (Vite/Next.js).<br/>• `true` forza l'ottimizzazione anche in modalità dev.<br/>• `false` la disabilita.<br/>• Se abilitato, sostituisce le chiamate ai dizionari per l'ottimizzazione del chunking.<br/>• Richiede i plugin `@intlayer/babel` e `@intlayer/swc`. |
|
|
1088
|
+
| `minify` | Minifica i dizionari per ridurre le dimensioni del bundle. | `boolean` | `false` | | • Indica se il bundle deve essere minificato.<br/>• Predefinito: `true` in produzione.<br/>• Questa opzione verrà ignorata se `optimize` è disabilitato.<br/>• Questa opzione verrà ignorata se `editor.enabled` è vero. |
|
|
1089
|
+
| `purge` | Rimuovi le chiavi non utilizzate nei dizionari. | `boolean` | `false` | | • Indica se il bundle deve essere rimosso.<br/>• Predefinito: `true` in produzione.<br/>• Questa opzione verrà ignorata se `optimize` è disabilitato. |
|
|
1090
|
+
| `checkTypes` | Indica se il build debba controllare i tipi di TypeScript e loggare gli errori. | `boolean` | `false` | | Può rallentare il processo di build. |
|
|
1091
|
+
| `chunkGrouping` | Indica se raggruppare i chunk di dizionario per lingua in base al confine di code-splitting che li utilizza. | `boolean` | `true` | | • Senza raggruppamento, una pagina composta da molti componenti emette una richiesta per dizionario.<br/>• I dizionari raggiunti da più confini vengono spostati in un chunk condiviso, così nessuna pagina include il contenuto di un'altra.<br/>• Si applica solo ai dizionari che usano `importMode: 'dynamic'`.<br/>• Si applica solo alla build client, e solo durante il bundling (non in dev). |
|
|
1092
|
+
| `dictionariesPreload` | Indica se un dizionario debba essere caricato insieme al chunk che lo utilizza, invece di essere recuperato una volta che quel chunk viene renderizzato. | `boolean` | `true` | | • Il punto di ingresso generato attende la lingua di navigazione al livello superiore, quindi una route caricata in modo lazy non è considerata caricata finché il suo contenuto non è disponibile.<br/>• I lettori vengono renderizzati in modo sincrono invece di sospendersi, quindi la navigazione non mostra più un lampeggio di caricamento.<br/>• Viene attesa solo la lingua risolta, quindi la pagina scarica solo la lingua che mostra.<br/>• Si applica solo ai dizionari che usano `importMode: 'dynamic'`, nella build client.<br/>• Richiede un bundler che supporti il top-level await (Vite, esbuild). |
|
|
1093
|
+
| `outputFormat` | Controlla il formato di output per i dizionari. | `('esm' | 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
|
|
1094
|
+
| `traversePattern` | Pattern che specifica i file da scansionare durante l'ottimizzazione. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • Limita l'ottimizzazione ai file rilevanti per migliorare le prestazioni del build.<br/>• Ignorato se `optimize` è disattivato.<br/>• Utilizza pattern glob. |
|
|
1069
1095
|
|
|
1070
1096
|
---
|
|
1071
1097
|
|
|
@@ -533,28 +533,6 @@ Utilizzato in combinazione con le Varianti, questo campo definisce alternative d
|
|
|
533
533
|
|
|
534
534
|
> Vedi [Varianti](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dynamic_dictionaries/variants.md) per ulteriori informazioni.
|
|
535
535
|
|
|
536
|
-
#### `meta` (`Record<string, string | number | boolean>`)
|
|
537
|
-
|
|
538
|
-
Utilizzato in combinazione con i Record Dinamici, questo campo consente di dichiarare record gestiti dal CMS o dati arbitrari recuperati a runtime tramite un ID opaco. L'identità del dizionario è definita dall'insieme arbitrario di coppie chiave-valore dichiarate in questo campo `meta`.
|
|
539
|
-
|
|
540
|
-
**Esempio:**
|
|
541
|
-
|
|
542
|
-
```typescript
|
|
543
|
-
{
|
|
544
|
-
key: "product-copy",
|
|
545
|
-
meta: {
|
|
546
|
-
id: "prod_abc",
|
|
547
|
-
userId: "user_123"
|
|
548
|
-
},
|
|
549
|
-
content: {
|
|
550
|
-
name: "Widget Pro",
|
|
551
|
-
description: "The best widget."
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
> Vedi [Record Dinamici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/dynamic_dictionaries/dynamic_content.md) per ulteriori informazioni.
|
|
557
|
-
|
|
558
536
|
### Proprietà CMS
|
|
559
537
|
|
|
560
538
|
##### `version` (stringa)
|
|
@@ -89,6 +89,29 @@ Impossibile recuperare contenuti da un file JSON, usa invece un file .ts o .js
|
|
|
89
89
|
|
|
90
90
|
In questo caso, la funzione `fakeFetch` simula un ritardo per imitare il tempo di risposta del server. Intlayer esegue la funzione asincrona e utilizza il risultato come contenuto per la chiave `text`.
|
|
91
91
|
|
|
92
|
+
## Recupero di Contenuti Remoti
|
|
93
|
+
|
|
94
|
+
Puoi anche assegnare direttamente una promise a un campo di contenuto. Intlayer la attende durante la costruzione dei dizionari e ne inserisce il valore risolto:
|
|
95
|
+
|
|
96
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
97
|
+
import type { Dictionary } from "intlayer";
|
|
98
|
+
|
|
99
|
+
const remoteContent = {
|
|
100
|
+
key: "remote_content",
|
|
101
|
+
content: {
|
|
102
|
+
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
103
|
+
},
|
|
104
|
+
} satisfies Dictionary;
|
|
105
|
+
|
|
106
|
+
export default remoteContent;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```plaintext fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
110
|
+
Impossibile recuperare contenuti da un file JSON, usa invece un file .ts o .js
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> La richiesta viene eseguita in fase di build, quindi i dati recuperati sono uno snapshot incorporato nel dizionario. Ricostruisci i dizionari per aggiornarlo.
|
|
114
|
+
|
|
92
115
|
## Utilizzo di Contenuti Basati su Funzioni nei Componenti React
|
|
93
116
|
|
|
94
117
|
Per utilizzare contenuti basati su funzioni in un componente React, è necessario importare `useIntlayer` da `react-intlayer` e chiamarlo con l'ID del contenuto per recuperare il contenuto. Ecco un esempio:
|
package/docs/it/eslint.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-08-12
|
|
3
|
-
updatedAt: 2026-08-
|
|
3
|
+
updatedAt: 2026-08-13
|
|
4
4
|
title: Plugin ESLint | Regole di lint per Intlayer
|
|
5
5
|
description: Rileva stringhe hardcoded, chiamate dinamiche che il compilatore Intlayer non può ottimizzare e contenuti di dizionario inutilizzati, con eslint-plugin-intlayer. Funziona con ESLint e oxlint, su React, Vue, Svelte, Angular e Astro.
|
|
6
6
|
keywords:
|
|
@@ -52,7 +52,7 @@ pnpm add --save-dev eslint-plugin-intlayer
|
|
|
52
52
|
yarn add --dev eslint-plugin-intlayer
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Richiede ESLint 9 o versione successiva (flat config).
|
|
55
|
+
Richiede ESLint 9 o versione successiva (flat config). ESLint 10 è supportato.
|
|
56
56
|
|
|
57
57
|
## Utilizzo
|
|
58
58
|
|
|
@@ -61,20 +61,20 @@ Il plugin funziona sia in ESLint che in [oxlint](https://oxc.rs) — stesse rego
|
|
|
61
61
|
<Tabs defaultTab="eslint">
|
|
62
62
|
<Tab label="ESLint" value="eslint">
|
|
63
63
|
|
|
64
|
-
```javascript fileName="eslint.config.mjs"
|
|
64
|
+
```javascript fileName="eslint.config.mjs"
|
|
65
65
|
import intlayer from "eslint-plugin-intlayer";
|
|
66
66
|
|
|
67
67
|
export default [...intlayer.configs.recommended];
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
Oppure
|
|
70
|
+
Oppure espandi una configurazione e imposta tu stesso le severità:
|
|
71
71
|
|
|
72
|
-
```javascript fileName="eslint.config.mjs"
|
|
72
|
+
```javascript fileName="eslint.config.mjs"
|
|
73
73
|
import intlayer from "eslint-plugin-intlayer";
|
|
74
74
|
|
|
75
75
|
export default [
|
|
76
|
+
...intlayer.configs.recommended,
|
|
76
77
|
{
|
|
77
|
-
plugins: { intlayer },
|
|
78
78
|
rules: {
|
|
79
79
|
"intlayer/no-raw-text": "warn",
|
|
80
80
|
"intlayer/static-dictionary-key": "error",
|
|
@@ -144,7 +144,7 @@ Per correggere un intero file in una volta, esegui `npx intlayer extract` e lasc
|
|
|
144
144
|
|
|
145
145
|
**Opzioni**
|
|
146
146
|
|
|
147
|
-
```javascript fileName="eslint.config.mjs"
|
|
147
|
+
```javascript fileName="eslint.config.mjs"
|
|
148
148
|
{
|
|
149
149
|
"intlayer/no-raw-text": [
|
|
150
150
|
"warn",
|
|
@@ -247,7 +247,7 @@ A differenza delle altre regole, questa non può rispondere solo dal file analiz
|
|
|
247
247
|
|
|
248
248
|
**Opzioni**
|
|
249
249
|
|
|
250
|
-
```javascript fileName="eslint.config.mjs"
|
|
250
|
+
```javascript fileName="eslint.config.mjs"
|
|
251
251
|
{
|
|
252
252
|
"intlayer/no-unused-content": [
|
|
253
253
|
"warn",
|
|
@@ -296,7 +296,7 @@ Tutte le regole funzionano su tutte le integrazioni Intlayer, compresi i templat
|
|
|
296
296
|
| Template Angular | `.component.html` | `@angular-eslint/template-parser` |
|
|
297
297
|
| Astro | `.astro` | `astro-eslint-parser` |
|
|
298
298
|
|
|
299
|
-
```javascript fileName="eslint.config.mjs"
|
|
299
|
+
```javascript fileName="eslint.config.mjs"
|
|
300
300
|
import intlayer from "eslint-plugin-intlayer";
|
|
301
301
|
import tseslint from "typescript-eslint";
|
|
302
302
|
import vueParser from "vue-eslint-parser";
|
package/docs/ja/configuration.md
CHANGED
|
@@ -478,6 +478,25 @@ const config: IntlayerConfig = {
|
|
|
478
478
|
*/
|
|
479
479
|
purge: true,
|
|
480
480
|
|
|
481
|
+
/**
|
|
482
|
+
* ロケールごとの辞書チャンクを、それを使用するコード分割境界ごとにグループ化し、遅延読み込みされるページが 1
|
|
483
|
+
* 回のリクエストでコンテンツを取得できるようにします。
|
|
484
|
+
* デフォルト: true
|
|
485
|
+
*
|
|
486
|
+
* 注意点:
|
|
487
|
+
* - `importMode: 'dynamic'` を使用する辞書にのみ適用されます。
|
|
488
|
+
*/
|
|
489
|
+
chunkGrouping: true,
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* チャンクがレンダリングされてから取得するのではなく、そのチャンクを使用する辞書を一緒に読み込みます。読み取りはサスペンドせず同期的にレンダリングされるため、ナビゲーション時にローディング状態がちらつかなくなります。
|
|
493
|
+
* デフォルト: true
|
|
494
|
+
*
|
|
495
|
+
* 注意点:
|
|
496
|
+
* - 解決されたロケールのみを待つため、ページは表示する言語だけをダウンロードします。
|
|
497
|
+
*/
|
|
498
|
+
dictionariesPreload: true,
|
|
499
|
+
|
|
481
500
|
/**
|
|
482
501
|
* 生成された辞書ファイルの出力形式。
|
|
483
502
|
* デフォルト: ['cjs', 'esm']
|
|
@@ -1054,15 +1073,17 @@ Intlayer がアプリケーションの国際化をどのように最適化お
|
|
|
1054
1073
|
|
|
1055
1074
|
> 最適化中、Intlayer はチャンキングを最適化するために辞書の呼び出しを置き換え、最終的なバンドルが実際に使用される辞書のみをインポートするようにします。
|
|
1056
1075
|
|
|
1057
|
-
| フィールド
|
|
1058
|
-
|
|
|
1059
|
-
| `mode`
|
|
1060
|
-
| `optimize`
|
|
1061
|
-
| `minify`
|
|
1062
|
-
| `purge`
|
|
1063
|
-
| `checkTypes`
|
|
1064
|
-
| `
|
|
1065
|
-
| `
|
|
1076
|
+
| フィールド | 説明 | 型 | デフォルト | 例 | 備考 |
|
|
1077
|
+
| --------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1078
|
+
| `mode` | ビルドモードを制御します。 | `'auto'` | <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: アプリのビルド中にビルドが自動的にトリガーされます。<br/>• `'manual'`: ビルドコマンドが明示的に呼び出されたときにのみ実行されます。<br/>• 辞書のビルドを無効にするためにも使用できます (例: Node.js 環境での実行を停止する場合)。 |
|
|
1079
|
+
| `optimize` | ビルドの最適化を行うかどうかを制御します。 | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • 未定義の場合、フレームワークのビルド (Vite/Next.js) 時に最適化がトリガーされます。<br/>• `true` の場合、開発モードでも強制的に最適化を行います。<br/>• `false` の場合、無効化されます。<br/>• 有効な場合、チャンキングを最適化するために辞書の呼び出しを置き換えます。<br/>• `@intlayer/babel` および `@intlayer/swc` プラグインが必要。 |
|
|
1080
|
+
| `minify` | バンドルサイズを削減するために辞書を圧縮(Minify)する。 | `boolean` | `false` | | • 最終的なバンドルを最小化するかどうかを指定します。<br/>• デフォルト:本番環境では `true`。<br/>• `optimize` が無効な場合、このオプションは無視されます。<br/>• `editor.enabled` が真の場合、このオプションは無視されます。 |
|
|
1081
|
+
| `purge` | 辞書内の未使用のキーを削除(Purge)する。 | `boolean` | `false` | | • 最終的なバンドルをクリーンアップするかどうかを指定します。<br/>• デフォルト:本番環境では `true`。<br/>• `optimize` が無効な場合、このオプションは無視されます。 |
|
|
1082
|
+
| `checkTypes` | ビルド時に TypeScript の型チェックを行い、エラーを記録するかどうかを指定します。 | `boolean` | `false` | | ビルドプロセスが遅くなる可能性があります。 |
|
|
1083
|
+
| `chunkGrouping` | ロケールごとの辞書チャンクを、それを使用するコード分割境界ごとにグループ化するかどうかを指定します。 | `boolean` | `true` | | • グループ化しない場合、多数のコンポーネントで構成されるページは辞書ごとに 1 リクエストを発行します。<br/>• 複数の境界から到達する辞書は共有チャンクに移動するため、どのページも他ページのコンテンツを含みません。<br/>• `importMode: 'dynamic'` を使用する辞書にのみ適用されます。<br/>• クライアントビルドのみ、かつバンドル時のみ適用されます(開発時は対象外)。 |
|
|
1084
|
+
| `dictionariesPreload` | 辞書を、そのチャンクがレンダリングされてから取得するのではなく、使用するチャンクと一緒に読み込むかどうかを指定します。 | `boolean` | `true` | | • 生成されたエントリポイントはトップレベルで閲覧ロケールを待つため、遅延読み込みされるルートはコンテンツが揃うまで読み込み完了とみなされません。<br/>• 読み取りはサスペンドせず同期的にレンダリングされるため、ナビゲーション時にローディング状態がちらつかなくなります。<br/>• 解決されたロケールのみを待つため、ページは表示する言語だけをダウンロードします。<br/>• クライアントビルドで `importMode: 'dynamic'` を使用する辞書にのみ適用されます。<br/>• トップレベル await をサポートするバンドラー(Vite、esbuild)が必要です。 |
|
|
1085
|
+
| `outputFormat` | 辞書の出力形式を制御します。 | `('esm' | 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
|
|
1086
|
+
| `traversePattern` | 最適化中にスキャンするファイルを定義するパターン。 | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • ビルドパフォーマンスを向上させるために、最適化対象を関連するファイルに限定します。<br/>• `optimize` がオフの場合は無視されます。<br/>• glob パターンを使用します。 |
|
|
1066
1087
|
|
|
1067
1088
|
---
|
|
1068
1089
|
|
|
@@ -533,28 +533,6 @@ export default aboutPageMetaContent;
|
|
|
533
533
|
|
|
534
534
|
> 詳細については、[バリアント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dynamic_dictionaries/variants.md)を参照してください。
|
|
535
535
|
|
|
536
|
-
#### `meta` (`Record<string, string | number | boolean>`)
|
|
537
|
-
|
|
538
|
-
動的レコード(Dynamic Records)と組み合わせて使用されるこのフィールドは、CMSで管理されるレコードや、不透明なIDを使用して実行時に取得される任意のデータを宣言することを可能にします。辞書の同一性は、この`meta`フィールドで宣言されたキーと値の任意の組み合わせによって定義されます。
|
|
539
|
-
|
|
540
|
-
**例:**
|
|
541
|
-
|
|
542
|
-
```typescript
|
|
543
|
-
{
|
|
544
|
-
key: "product-copy",
|
|
545
|
-
meta: {
|
|
546
|
-
id: "prod_abc",
|
|
547
|
-
userId: "user_123"
|
|
548
|
-
},
|
|
549
|
-
content: {
|
|
550
|
-
name: "Widget Pro",
|
|
551
|
-
description: "The best widget."
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
> 詳細については、[動的レコード](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dynamic_dictionaries/dynamic_content.md)を参照してください。
|
|
557
|
-
|
|
558
536
|
### CMSプロパティ
|
|
559
537
|
|
|
560
538
|
##### `version` (string)
|
|
@@ -89,6 +89,29 @@ JSONファイルからコンテンツを取得する方法はありません。
|
|
|
89
89
|
|
|
90
90
|
この場合、`fakeFetch` 関数はサーバーの応答時間をシミュレートするために遅延を模倣しています。Intlayer は非同期関数を実行し、その結果を `text` キーのコンテンツとして使用します。
|
|
91
91
|
|
|
92
|
+
## リモートコンテンツの取得
|
|
93
|
+
|
|
94
|
+
コンテンツのフィールドに Promise を直接指定することもできます。Intlayer は辞書のビルド時にその Promise を待機し、解決された値を埋め込みます:
|
|
95
|
+
|
|
96
|
+
```typescript fileName="**/*.content.ts" contentDeclarationFormat={["typescript", "esm", "commonjs"]}
|
|
97
|
+
import type { Dictionary } from "intlayer";
|
|
98
|
+
|
|
99
|
+
const remoteContent = {
|
|
100
|
+
key: "remote_content",
|
|
101
|
+
content: {
|
|
102
|
+
externalContent: fetch("https://example.com").then((res) => res.json()),
|
|
103
|
+
},
|
|
104
|
+
} satisfies Dictionary;
|
|
105
|
+
|
|
106
|
+
export default remoteContent;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```plaintext fileName="**/*.content.json" contentDeclarationFormat="json"
|
|
110
|
+
JSONファイルからコンテンツを取得する方法はありません。代わりに.tsまたは.jsファイルを使用してください
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> リクエストはビルド時に実行されるため、取得したデータは辞書に埋め込まれたスナップショットです。更新するには辞書を再ビルドしてください。
|
|
114
|
+
|
|
92
115
|
## Reactコンポーネントで関数ベースのコンテンツを使用する
|
|
93
116
|
|
|
94
117
|
Reactコンポーネントで関数ベースのコンテンツを使用するには、`react-intlayer`から`useIntlayer`をインポートし、コンテンツIDを渡してコンテンツを取得します。以下は例です:
|
package/docs/ja/eslint.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2026-08-12
|
|
3
|
-
updatedAt: 2026-08-
|
|
3
|
+
updatedAt: 2026-08-13
|
|
4
4
|
title: ESLint プラグイン | Intlayer 用 Lint ルール
|
|
5
5
|
description: eslint-plugin-intlayer を使用して、ハードコードされた文字列、Intlayer コンパイラが最適化できない動的呼び出し、未使用の辞書コンテンツを検出します。React、Vue、Svelte、Angular、Astro に対応し、ESLint および oxlint で動作します。
|
|
6
6
|
keywords:
|
|
@@ -52,7 +52,7 @@ pnpm add --save-dev eslint-plugin-intlayer
|
|
|
52
52
|
yarn add --dev eslint-plugin-intlayer
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
ESLint 9 以降(Flat Config)が必要です。
|
|
55
|
+
ESLint 9 以降(Flat Config)が必要です。ESLint 10 に対応しています。
|
|
56
56
|
|
|
57
57
|
## 使い方
|
|
58
58
|
|
|
@@ -61,20 +61,20 @@ ESLint 9 以降(Flat Config)が必要です。
|
|
|
61
61
|
<Tabs defaultTab="eslint">
|
|
62
62
|
<Tab label="ESLint" value="eslint">
|
|
63
63
|
|
|
64
|
-
```javascript fileName="eslint.config.mjs"
|
|
64
|
+
```javascript fileName="eslint.config.mjs"
|
|
65
65
|
import intlayer from "eslint-plugin-intlayer";
|
|
66
66
|
|
|
67
67
|
export default [...intlayer.configs.recommended];
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
または設定を展開し、重大度を自分で指定します:
|
|
71
71
|
|
|
72
|
-
```javascript fileName="eslint.config.mjs"
|
|
72
|
+
```javascript fileName="eslint.config.mjs"
|
|
73
73
|
import intlayer from "eslint-plugin-intlayer";
|
|
74
74
|
|
|
75
75
|
export default [
|
|
76
|
+
...intlayer.configs.recommended,
|
|
76
77
|
{
|
|
77
|
-
plugins: { intlayer },
|
|
78
78
|
rules: {
|
|
79
79
|
"intlayer/no-raw-text": "warn",
|
|
80
80
|
"intlayer/static-dictionary-key": "error",
|
|
@@ -144,7 +144,7 @@ const { title } = useIntlayer("home");
|
|
|
144
144
|
|
|
145
145
|
**オプション**
|
|
146
146
|
|
|
147
|
-
```javascript fileName="eslint.config.mjs"
|
|
147
|
+
```javascript fileName="eslint.config.mjs"
|
|
148
148
|
{
|
|
149
149
|
"intlayer/no-raw-text": [
|
|
150
150
|
"warn",
|
|
@@ -247,7 +247,7 @@ export default {
|
|
|
247
247
|
|
|
248
248
|
**オプション**
|
|
249
249
|
|
|
250
|
-
```javascript fileName="eslint.config.mjs"
|
|
250
|
+
```javascript fileName="eslint.config.mjs"
|
|
251
251
|
{
|
|
252
252
|
"intlayer/no-unused-content": [
|
|
253
253
|
"warn",
|
|
@@ -296,7 +296,7 @@ export default {
|
|
|
296
296
|
| Angular テンプレート | `.component.html` | `@angular-eslint/template-parser` |
|
|
297
297
|
| Astro | `.astro` | `astro-eslint-parser` |
|
|
298
298
|
|
|
299
|
-
```javascript fileName="eslint.config.mjs"
|
|
299
|
+
```javascript fileName="eslint.config.mjs"
|
|
300
300
|
import intlayer from "eslint-plugin-intlayer";
|
|
301
301
|
import tseslint from "typescript-eslint";
|
|
302
302
|
import vueParser from "vue-eslint-parser";
|
package/docs/ko/configuration.md
CHANGED
|
@@ -478,6 +478,26 @@ const config: IntlayerConfig = {
|
|
|
478
478
|
*/
|
|
479
479
|
purge: true,
|
|
480
480
|
|
|
481
|
+
/**
|
|
482
|
+
* 로케일별 사전 청크를 해당 청크를 사용하는 코드 분할 경계 단위로 그룹화하여, 지연 로딩된 페이지가 한 번의 요청으로 콘텐츠를 가져오도록
|
|
483
|
+
* 합니다.
|
|
484
|
+
* 기본값: true
|
|
485
|
+
*
|
|
486
|
+
* 주의:
|
|
487
|
+
* - `importMode: 'dynamic'`을 사용하는 사전에만 적용됩니다.
|
|
488
|
+
*/
|
|
489
|
+
chunkGrouping: true,
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* 청크가 렌더링된 후 가져오는 대신, 해당 청크를 사용하는 사전을 함께 로드합니다. 읽기는 지연되지 않고 동기적으로 렌더링되므로 탐색 시
|
|
493
|
+
* 로딩 상태가 더 이상 깜박이지 않습니다.
|
|
494
|
+
* 기본값: true
|
|
495
|
+
*
|
|
496
|
+
* 주의:
|
|
497
|
+
* - 해결된 로케일만 대기하므로 페이지는 표시하는 언어만 다운로드합니다.
|
|
498
|
+
*/
|
|
499
|
+
dictionariesPreload: true,
|
|
500
|
+
|
|
481
501
|
/**
|
|
482
502
|
* 생성된 딕셔너리 파일의 출력 형식.
|
|
483
503
|
* 기본값: ['cjs', 'esm']
|
|
@@ -1054,15 +1074,17 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 컴파일하는
|
|
|
1054
1074
|
|
|
1055
1075
|
> 최적화 시 Intlayer는 딕셔너리 호출을 코드 분할(chunking) 최적화로 대체하여 실제 사용되는 딕셔너리만 임포트되도록 합니다.
|
|
1056
1076
|
|
|
1057
|
-
| 필드
|
|
1058
|
-
|
|
|
1059
|
-
| `mode`
|
|
1060
|
-
| `optimize`
|
|
1061
|
-
| `minify`
|
|
1062
|
-
| `purge`
|
|
1063
|
-
| `checkTypes`
|
|
1064
|
-
| `
|
|
1065
|
-
| `
|
|
1077
|
+
| 필드 | 설명 | 타입 | 기본값 | 예시 | 참고 |
|
|
1078
|
+
| --------------------- | --------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1079
|
+
| `mode` | 빌드 실행 모드를 제어합니다. | `'auto'` | <br/> `'manual'` | `'auto'` | `'manual'` | • `'auto'`: 애플리케이션 빌드 중 자동으로 빌드가 트리거됩니다.<br/>• `'manual'`: 명시적인 빌드 명령을 통해서만 실행됩니다.<br/>• 딕셔너리 빌드를 원치 않을 때 유용할 수 있습니다(예: Node.js 환경에서 실행하지 않으려는 경우). |
|
|
1080
|
+
| `optimize` | 빌드 최적화 수행 여부를 제어합니다. | `boolean` | `undefined` | `process.env.NODE_ENV === 'production'` | • 정의되지 않은 경우 프레임워크 빌드(Vite/Next.js) 중에 트리거됩니다.<br/>• `true`인 경우 개발 모드에서도 최적화를 강제합니다.<br/>• `false`인 경우 비활성화합니다.<br/>• 활성화된 경우 딕셔너리 호출을 chunking 최적화로 대체합니다.<br/>• `@intlayer/babel` 및 `@intlayer/swc` 플래그인이 필요합니다. |
|
|
1081
|
+
| `minify` | 번들 크기를 줄이기 위해 딕셔너리를 압축(Minify)합니다. | `boolean` | `false` | | • 최종 번들을 압축할지 여부를 지정합니다.<br/>• 기본값: 프로덕션에서 `true`.<br/>• `optimize`가 비활성화된 경우 이 옵션은 무시됩니다.<br/>• `editor.enabled`가 true인 경우 이 옵션은 무시됩니다. |
|
|
1082
|
+
| `purge` | 딕셔너리에서 사용하지 않는 키를 제거합니다. | `boolean` | `false` | | • 최종 번들을 제거할지 여부를 지정합니다.<br/>• 기본값: 프로덕션에서 `true`.<br/>• `optimize`가 비활성화된 경우 이 옵션은 무시됩니다. |
|
|
1083
|
+
| `checkTypes` | 빌드 시 TypeScript 타입 체크를 수행하고 오류를 기록할지 여부를 지정합니다. | `boolean` | `false` | | 빌드 속도가 느려질 수 있습니다. |
|
|
1084
|
+
| `chunkGrouping` | 로케일별 사전 청크를 해당 청크를 사용하는 코드 분할 경계 단위로 그룹화할지 여부를 지정합니다. | `boolean` | `true` | | • 그룹화하지 않으면 여러 컴포넌트로 구성된 페이지가 사전마다 하나씩 요청을 보냅니다.<br/>• 여러 경계에서 도달하는 사전은 공유 청크로 이동하므로 어떤 페이지도 다른 페이지의 콘텐츠를 포함하지 않습니다.<br/>• `importMode: 'dynamic'`을 사용하는 사전에만 적용됩니다.<br/>• 클라이언트 빌드에만, 그리고 번들링 시에만 적용됩니다(개발 모드 제외). |
|
|
1085
|
+
| `dictionariesPreload` | 사전을 해당 청크가 렌더링된 후 가져오는 대신, 그 청크와 함께 로드할지 여부를 지정합니다. | `boolean` | `true` | | • 생성된 진입점이 최상위에서 브라우징 로케일을 대기하므로, 지연 로딩된 라우트는 콘텐츠가 준비될 때까지 로드된 것으로 간주되지 않습니다.<br/>• 읽기는 지연되지 않고 동기적으로 렌더링되므로 탐색 시 로딩 상태가 더 이상 깜박이지 않습니다.<br/>• 해결된 로케일만 대기하므로 페이지는 표시하는 언어만 다운로드합니다.<br/>• 클라이언트 빌드에서 `importMode: 'dynamic'`을 사용하는 사전에만 적용됩니다.<br/>• 최상위 await를 지원하는 번들러(Vite, esbuild)가 필요합니다. |
|
|
1086
|
+
| `outputFormat` | 딕셔너리 출력 형식을 제어합니다. | `('esm' | 'cjs')[]` | `['esm', 'cjs']` | `['cjs']` | |
|
|
1087
|
+
| `traversePattern` | 최적화 중에 스캔할 파일 패턴. | `string[]` | `['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*']` | `['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']` | • 최적화를 관련 파일로 제한하여 빌드 성능을 향상시킵니다.<br/>• `optimize`가 비활성화된 경우 무시됩니다.<br/>• glob 패턴을 사용합니다. |
|
|
1066
1088
|
|
|
1067
1089
|
---
|
|
1068
1090
|
|