vite-pug-static-builder 1.1.2 → 1.1.4

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.
Files changed (2) hide show
  1. package/README.md +119 -118
  2. package/package.json +7 -5
package/README.md CHANGED
@@ -6,10 +6,10 @@
6
6
  [![Pug](https://img.shields.io/badge/Pug-a86454?style=flat-square&logo=pug&logoColor=white)](https://pugjs.org/)
7
7
  [![Vitest](https://img.shields.io/badge/Vitest-6E9F18?style=flat-square&logo=vitest&logoColor=white)](https://vitest.dev/)
8
8
 
9
- **Vite 6 & 7 および Vitest 3.2対応版** - Vite + Pugを使用した高性能静的サイトビルダー
9
+ **Vite 6 / 7 / 8 対応** - Vite + Pugを使用した高性能静的サイトビルダー
10
10
 
11
11
  複数のPugファイルを効率的に静的HTMLファイルとしてビルドできる、最新のViteプラグインです。
12
- Vite 6 Vite 7 の両方のバージョンをサポートしています。
12
+ Vite 6 / 7 / 8 をサポートしています。
13
13
 
14
14
  ## ✨ 主な特徴
15
15
 
@@ -17,10 +17,8 @@ Vite 6 と Vite 7 の両方のバージョンをサポートしています。
17
17
  - 📝 **Pugサポート**: Pugテンプレートエンジンで効率的なHTML作成
18
18
  - 🔄 **開発時リアルタイム更新**: HMR (Hot Module Replacement) 対応
19
19
  - 📱 **静的サイト生成**: 本番環境向けに最適化された静的HTMLファイルを生成
20
- - ✨ **整形済みHTML出力**: デフォルトで可読性の高い、整形済みHTMLを出力
21
20
  - 🎨 **高度なカスタマイズ**: 豊富な設定オプションでプロジェクトに合わせた細かな調整
22
21
  - 🛡️ **型安全**: TypeScript完全対応による開発時エラーの早期発見
23
- - 🧪 **テスト統合**: Vitest 3.2による包括的なテストサポート
24
22
 
25
23
  ## インストール
26
24
 
@@ -38,7 +36,7 @@ pnpm add vite-pug-static-builder
38
36
  ## 必要環境
39
37
 
40
38
  - **Node.js**: 18.0.0以上
41
- - **Vite**: ^6.0.0 || ^7.0.0-beta.0
39
+ - **Vite**: ^6.0.0 || ^7.0.0 || ^8.0.0
42
40
  - **Pug**: ^3.0.0
43
41
 
44
42
  ## 基本的な使用方法
@@ -53,19 +51,23 @@ import pugPlugin from 'vite-pug-static-builder'
53
51
  export default defineConfig({
54
52
  plugins: [
55
53
  pugPlugin({
56
- buildOptions: {
57
- basedir: './src'
54
+ build: {
55
+ options: {
56
+ basedir: './src'
57
+ },
58
+ locals: {
59
+ title: 'My Website',
60
+ env: 'production'
61
+ }
58
62
  },
59
- buildLocals: {
60
- title: 'My Website',
61
- env: 'production'
62
- },
63
- serveOptions: {
64
- basedir: './src'
65
- },
66
- serveLocals: {
67
- title: 'My Website (Dev)',
68
- env: 'development'
63
+ serve: {
64
+ options: {
65
+ basedir: './src'
66
+ },
67
+ locals: {
68
+ title: 'My Website (Dev)',
69
+ env: 'development'
70
+ }
69
71
  }
70
72
  })
71
73
  ]
@@ -110,83 +112,77 @@ block content
110
112
 
111
113
  ## 詳細設定オプション
112
114
 
113
- ### Pugオプションの挙動
114
-
115
- `buildOptions` と `serveOptions` で指定するPugのオプションには、以下のデフォルト設定が適用されます。
116
-
117
- - **`pretty`**:
118
- - **デフォルト**: `true`
119
- - **説明**: 出力されるHTMLは、読みやすいように整形(インデントと改行)されます。
120
- - **上書き**: `pretty: false` を設定すると、HTMLは圧縮され、ファイルサイズが削減されます。これは本番環境でのパフォーマンス向上に役立ちます。
121
-
122
- ```typescript
123
- // 本番ビルドでHTMLを圧縮する例
124
- pugPlugin({
125
- buildOptions: {
126
- pretty: false // HTMLを圧縮
127
- }
128
- })
129
- ```
130
-
131
115
  ### プラグイン設定
132
116
 
133
117
  ```typescript
134
118
  interface Settings {
135
- // ビルド時のPugコンパイルオプション
136
- buildOptions?: Pug.Options
137
-
138
- // ビルド時のPugローカル変数
139
- buildLocals?: Pug.LocalsObject
140
-
141
- // 開発サーバー時のPugコンパイルオプション
142
- serveOptions?: Pug.Options
143
-
144
- // 開発サーバー時のPugローカル変数
145
- serveLocals?: Pug.LocalsObject
146
-
147
- // 無視パターン(glob形式)
148
- ignorePattern?: string | string[]
149
-
150
- // ホットリロード設定
151
- reload?: boolean
119
+ // ビルド時の設定
120
+ build?: {
121
+ // Pugコンパイルオプション
122
+ options?: Pug.Options
123
+ // Pugローカル変数
124
+ locals?: Pug.LocalsObject
125
+ }
126
+
127
+ // 開発サーバー時の設定
128
+ serve?: {
129
+ // Pugコンパイルオプション
130
+ options?: Pug.Options
131
+ // Pugローカル変数
132
+ locals?: Pug.LocalsObject
133
+ // 無視パターン(glob形式)
134
+ ignorePattern?: string | string[]
135
+ // ホットリロード設定(デフォルト: true)
136
+ reload?: boolean
137
+ }
152
138
  }
153
139
  ```
154
140
 
141
+ ### Pugオプションのデフォルト値
142
+
143
+ `build.options` と `serve.options` には、以下のデフォルト設定が適用されます。
144
+
145
+ - **`pretty`**: デフォルト `true`(Pug 3.xでは非推奨オプション)
146
+
147
+ ユーザーが `options` で指定した値はデフォルト値を上書きします。
148
+
155
149
  ### 高度な設定例
156
150
 
157
151
  ```typescript
158
- // プラグインの詳細設定
159
152
  pugPlugin({
160
- buildOptions: {
161
- basedir: './src',
162
- pretty: false, // 本番環境では圧縮
163
- compileDebug: false,
164
- cache: true,
165
- inlineRuntimeFunctions: false
166
- },
167
- buildLocals: {
168
- title: 'Production Site',
169
- version: process.env.npm_package_version,
170
- buildTime: new Date().toISOString(),
171
- author: 'Your Name',
172
- description: 'A modern static site built with Vite and Pug'
153
+ build: {
154
+ options: {
155
+ basedir: './src',
156
+ compileDebug: false,
157
+ cache: true,
158
+ inlineRuntimeFunctions: false
159
+ },
160
+ locals: {
161
+ title: 'Production Site',
162
+ version: process.env.npm_package_version,
163
+ buildTime: new Date().toISOString(),
164
+ author: 'Your Name',
165
+ description: 'A modern static site built with Vite and Pug'
166
+ }
173
167
  },
174
- serveOptions: {
175
- basedir: './src',
176
- compileDebug: true,
177
- cache: false // 開発時はキャッシュ無効
178
- },
179
- serveLocals: {
180
- title: 'Development Site',
181
- version: 'dev',
182
- buildTime: 'dev-mode'
183
- },
184
- ignorePattern: [
185
- '/_*/**', // アンダースコアで始まるディレクトリを無視
186
- '/admin/**', // adminディレクトリを無視
187
- '/**/*.draft.pug' // .draft.pugファイルを無視
188
- ],
189
- reload: true
168
+ serve: {
169
+ options: {
170
+ basedir: './src',
171
+ compileDebug: true,
172
+ cache: false
173
+ },
174
+ locals: {
175
+ title: 'Development Site',
176
+ version: 'dev',
177
+ buildTime: 'dev-mode'
178
+ },
179
+ ignorePattern: [
180
+ '/_*/**', // アンダースコアで始まるディレクトリを無視
181
+ '/admin/**', // adminディレクトリを無視
182
+ '/**/*.draft.pug' // .draft.pugファイルを無視
183
+ ],
184
+ reload: true
185
+ }
190
186
  })
191
187
  ```
192
188
 
@@ -205,25 +201,20 @@ npm run preview
205
201
  # 型チェック
206
202
  npm run type-check
207
203
 
208
- # テスト実行(Vitest 3.2)
209
- # Vite 7 環境で実行されます
204
+ # テスト実行(Vite 8 環境)
210
205
  npm test
211
206
 
212
- # Vite 6 環境でテストを実行
207
+ # Vite 6 / 7 環境でテストを実行
213
208
  npm run test:vite6
209
+ npm run test:vite7
214
210
 
215
- # カバレッジ付きテスト (Vite 7環境)
211
+ # カバレッジ付きテスト
216
212
  npm run coverage
217
213
 
218
214
  # ウォッチモードでテスト
219
215
  npm run test:watch
220
216
  ```
221
217
 
222
- **開発時の注意点:**
223
-
224
- テストを実行する際には、対象としたい Vite のメジャーバージョンに応じて、適切なスクリプト (`npm test` または `npm run test:vite6`) を選択するか、`VITE_MAJOR_VERSION` 環境変数を設定してください。
225
- これにより、テストスイート内のバージョン固有のロジックが正しく機能します。
226
-
227
218
  ## TypeScript統合
228
219
 
229
220
  完全なTypeScript対応により、設定ファイルやPugテンプレート内でも型安全性を確保できます:
@@ -250,19 +241,20 @@ interface ImportMeta {
250
241
 
251
242
  ## パフォーマンス最適化
252
243
 
253
- Vite 7の新機能と組み合わせて、プラグインの設定を最適化できます:
254
-
255
244
  ```typescript
256
- // より高速なビルドのための設定
257
245
  pugPlugin({
258
- buildOptions: {
259
- cache: true, // キャッシュ有効化
260
- inlineRuntimeFunctions: false, // ランタイム関数の外部化
261
- compileDebug: false // デバッグ情報削除
246
+ build: {
247
+ options: {
248
+ cache: true, // キャッシュ有効化
249
+ inlineRuntimeFunctions: false, // ランタイム関数の外部化
250
+ compileDebug: false // デバッグ情報削除
251
+ }
262
252
  },
263
- serveOptions: {
264
- cache: false, // 開発時はキャッシュ無効
265
- compileDebug: true // 開発時はデバッグ有効
253
+ serve: {
254
+ options: {
255
+ cache: false, // 開発時はキャッシュ無効
256
+ compileDebug: true // 開発時はデバッグ有効
257
+ }
266
258
  }
267
259
  })
268
260
  ```
@@ -273,18 +265,20 @@ pugPlugin({
273
265
 
274
266
  **Q: Pugファイルが更新されてもブラウザが更新されない**
275
267
  ```typescript
276
- // reload: true を設定してください
277
268
  pugPlugin({
278
- reload: true
269
+ serve: {
270
+ reload: true
271
+ }
279
272
  })
280
273
  ```
281
274
 
282
275
  **Q: ビルド時にPugの依存関係が正しく解決されない**
283
276
  ```typescript
284
- // basedirを正しく設定してください
285
277
  pugPlugin({
286
- buildOptions: {
287
- basedir: path.resolve(__dirname, 'src')
278
+ build: {
279
+ options: {
280
+ basedir: path.resolve(__dirname, 'src')
281
+ }
288
282
  }
289
283
  })
290
284
  ```
@@ -310,8 +304,12 @@ else
310
304
  - pugOptions: { basedir: './src' }
311
305
  - })
312
306
  + pugPlugin({
313
- + buildOptions: { basedir: './src' },
314
- + serveOptions: { basedir: './src' }
307
+ + build: {
308
+ + options: { basedir: './src' }
309
+ + },
310
+ + serve: {
311
+ + options: { basedir: './src' }
312
+ + }
315
313
  + })
316
314
  ```
317
315
 
@@ -331,18 +329,21 @@ else
331
329
 
332
330
  ## 変更履歴
333
331
 
334
- ### v1.0.0 (2025-01-XX)
335
- - 🚀 Vite 7 (ベータ版) 対応
336
- - 🧪 Vitest 3.2 対応
337
- - 🛡️ TypeScript 5.6 完全対応
338
- - Environment API 対応
339
- - 🎯 型安全性の大幅向上
340
- - 📦 依存関係の最新化
341
- - 🧹 コードベースの全面リファクタリング
332
+ ### v1.1.4 (2026-03-13)
333
+ - 📝 READMEを実装のAPIに合わせて修正
334
+
335
+ ### v1.1.3 (2026-03-13)
336
+ - 🚀 Vite 8 対応
337
+ - 📦 `@types/node` を devDependencies に追加
342
338
 
343
- ---
339
+ ### v1.1.2
340
+ - 🚀 Vite 7 安定版対応
341
+ - 🧪 Vitest 3.2 対応
344
342
 
345
- **注意**: 現在Vite 7はベータ版のため、本番環境での使用は安定版リリース後を推奨します。
343
+ ### v1.0.0
344
+ - 🚀 初回リリース
345
+ - ✨ Environment API 対応
346
+ - 🛡️ TypeScript 完全対応
346
347
 
347
348
  ## 関連リンク
348
349
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-pug-static-builder",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Vite + Pugを使用した静的サイトビルダー - 複数のPugファイルを静的HTMLとしてビルドするViteプラグイン",
5
5
  "author": "maigo999",
6
6
  "license": "MIT",
@@ -38,10 +38,11 @@
38
38
  "type-check": "tsc --noEmit -p .",
39
39
  "test:vite6": "cross-env VITE_MAJOR_VERSION=6 vitest run",
40
40
  "test:vite7": "cross-env VITE_MAJOR_VERSION=7 vitest run",
41
- "test": "pnpm test:vite7",
41
+ "test:vite8": "cross-env VITE_MAJOR_VERSION=8 vitest run",
42
+ "test": "pnpm test:vite8",
42
43
  "test:update": "vitest run -u",
43
44
  "test:watch": "vitest",
44
- "coverage": "cross-env VITE_MAJOR_VERSION=7 vitest run --coverage",
45
+ "coverage": "cross-env VITE_MAJOR_VERSION=8 vitest run --coverage",
45
46
  "tsc": "tsc -p .",
46
47
  "build": "pnpm clean && pnpm tsc",
47
48
  "prepublishOnly": "pnpm build"
@@ -53,9 +54,10 @@
53
54
  },
54
55
  "peerDependencies": {
55
56
  "pug": "^3.0.0",
56
- "vite": "^6.0.0 || ^7.0.0"
57
+ "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
57
58
  },
58
59
  "devDependencies": {
60
+ "@types/node": "^25.5.0",
59
61
  "@types/picomatch": "^2.3.3",
60
62
  "@types/pug": "^2.0.10",
61
63
  "@vitest/coverage-v8": "^3.2.1",
@@ -64,7 +66,7 @@
64
66
  "fs-extra": "^11.3.0",
65
67
  "rimraf": "^6.0.1",
66
68
  "typescript": "^5.6.3",
67
- "vite": "^7.0.5",
69
+ "vite": "^8.0.0",
68
70
  "vitest": "^3.2.1"
69
71
  }
70
72
  }