vite-pug-static-builder 1.0.3 → 1.1.0

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 CHANGED
@@ -17,6 +17,7 @@ Vite 6 と Vite 7 の両方のバージョンをサポートしています。
17
17
  - 📝 **Pugサポート**: Pugテンプレートエンジンで効率的なHTML作成
18
18
  - 🔄 **開発時リアルタイム更新**: HMR (Hot Module Replacement) 対応
19
19
  - 📱 **静的サイト生成**: 本番環境向けに最適化された静的HTMLファイルを生成
20
+ - ✨ **整形済みHTML出力**: デフォルトで可読性の高い、整形済みHTMLを出力
20
21
  - 🎨 **高度なカスタマイズ**: 豊富な設定オプションでプロジェクトに合わせた細かな調整
21
22
  - 🛡️ **型安全**: TypeScript完全対応による開発時エラーの早期発見
22
23
  - 🧪 **テスト統合**: Vitest 3.2による包括的なテストサポート
@@ -53,16 +54,14 @@ export default defineConfig({
53
54
  plugins: [
54
55
  pugPlugin({
55
56
  buildOptions: {
56
- basedir: './src',
57
- pretty: true
57
+ basedir: './src'
58
58
  },
59
59
  buildLocals: {
60
60
  title: 'My Website',
61
61
  env: 'production'
62
62
  },
63
63
  serveOptions: {
64
- basedir: './src',
65
- pretty: true
64
+ basedir: './src'
66
65
  },
67
66
  serveLocals: {
68
67
  title: 'My Website (Dev)',
@@ -111,6 +110,24 @@ block content
111
110
 
112
111
  ## 詳細設定オプション
113
112
 
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
+
114
131
  ### プラグイン設定
115
132
 
116
133
  ```typescript
@@ -156,7 +173,6 @@ pugPlugin({
156
173
  },
157
174
  serveOptions: {
158
175
  basedir: './src',
159
- pretty: true, // 開発時は読みやすく
160
176
  compileDebug: true,
161
177
  cache: false // 開発時はキャッシュ無効
162
178
  },
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC9B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,aAAa,KAAG,MAkE7D,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC9B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;CACnC;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,aAAa,KAAG,MAmE7D,CAAA"}
package/dist/build.js CHANGED
@@ -9,6 +9,7 @@ import { outputLog } from './utils.js';
9
9
  */
10
10
  export const vitePluginPugBuild = (settings) => {
11
11
  const { options, locals } = settings ?? {};
12
+ const pugOptions = { pretty: true, ...options };
12
13
  const pathMap = new Map();
13
14
  let root = '';
14
15
  return {
@@ -39,7 +40,7 @@ export const vitePluginPugBuild = (settings) => {
39
40
  // PugファイルのHTMLへの変換
40
41
  if (pathMap.has(id)) {
41
42
  const pugPath = pathMap.get(id);
42
- const compiledTemplate = compileFile(pugPath, options);
43
+ const compiledTemplate = compileFile(pugPath, pugOptions);
43
44
  const html = compiledTemplate(locals);
44
45
  outputLog('info', 'compiled:', path.relative(root, pugPath));
45
46
  return html;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAiB,OAAO,EAAE,MAAM,MAAM,CAAA;AAE1D,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAKtC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC9B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;IAClC,4BAA4B;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,IAAI,CAAA;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,OAAO,CAAC,YAAY,KACvB,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;AA8FrE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,aAAa,KAAG,MAiC7D,CAAA"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAA;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAiB,OAAO,EAAE,MAAM,MAAM,CAAA;AAE1D,OAAO,KAAK,SAAS,MAAM,WAAW,CAAA;AAKtC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC9B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY,CAAA;IAClC,4BAA4B;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,IAAI,CAAA;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,GAAG,EAAE,OAAO,CAAC,eAAe,EAC5B,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,OAAO,CAAC,YAAY,KACvB,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAA;AA+FrE;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,aAAa,KAAG,MAiC7D,CAAA"}
package/dist/serve.js CHANGED
@@ -12,6 +12,7 @@ import { compilePug } from './pug.js';
12
12
  */
13
13
  const createMiddleware = (settings, server) => {
14
14
  const { options, locals, ignorePattern } = settings;
15
+ const pugOptions = { pretty: true, ...options };
15
16
  const ignoreMatcher = ignorePattern ? picomatch(ignorePattern) : null;
16
17
  return async (req, res, next) => {
17
18
  // 特殊なURLパスをスキップ
@@ -48,7 +49,7 @@ const createMiddleware = (settings, server) => {
48
49
  }
49
50
  try {
50
51
  // Pugファイルをコンパイル
51
- const compileResult = await compilePug(server.moduleGraph, url, pugAbsPath, options, locals);
52
+ const compileResult = await compilePug(server.moduleGraph, url, pugAbsPath, pugOptions, locals);
52
53
  // Pugコンパイルエラー
53
54
  if (compileResult instanceof Error) {
54
55
  return next(compileResult);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-pug-static-builder",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Vite + Pugを使用した静的サイトビルダー - 複数のPugファイルを静的HTMLとしてビルドするViteプラグイン",
5
5
  "author": "maigo999",
6
6
  "license": "MIT",