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.
- package/README.md +119 -118
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
[](https://pugjs.org/)
|
|
7
7
|
[](https://vitest.dev/)
|
|
8
8
|
|
|
9
|
-
**Vite 6
|
|
9
|
+
**Vite 6 / 7 / 8 対応** - Vite + Pugを使用した高性能静的サイトビルダー
|
|
10
10
|
|
|
11
11
|
複数のPugファイルを効率的に静的HTMLファイルとしてビルドできる、最新のViteプラグインです。
|
|
12
|
-
Vite 6
|
|
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
|
|
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
|
-
|
|
57
|
-
|
|
54
|
+
build: {
|
|
55
|
+
options: {
|
|
56
|
+
basedir: './src'
|
|
57
|
+
},
|
|
58
|
+
locals: {
|
|
59
|
+
title: 'My Website',
|
|
60
|
+
env: 'production'
|
|
61
|
+
}
|
|
58
62
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
//
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
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
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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
|
-
# テスト実行(
|
|
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
|
-
# カバレッジ付きテスト
|
|
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
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
246
|
+
build: {
|
|
247
|
+
options: {
|
|
248
|
+
cache: true, // キャッシュ有効化
|
|
249
|
+
inlineRuntimeFunctions: false, // ランタイム関数の外部化
|
|
250
|
+
compileDebug: false // デバッグ情報削除
|
|
251
|
+
}
|
|
262
252
|
},
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
|
|
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
|
-
|
|
287
|
-
|
|
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
|
-
+
|
|
314
|
-
+
|
|
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.
|
|
335
|
-
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
-
|
|
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
|
-
|
|
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.
|
|
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": "
|
|
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=
|
|
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": "^
|
|
69
|
+
"vite": "^8.0.0",
|
|
68
70
|
"vitest": "^3.2.1"
|
|
69
71
|
}
|
|
70
72
|
}
|