@bestcss/vite-plugin 0.1.0 → 0.1.1
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -133
- package/dist/index.js.map +1 -1
- package/docs/01-ssr.md +17 -0
- package/package.json +4 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AA0CnC,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;CACnC;AAED,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CAghB5D"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { applyRename, collectImportSources, createRenameMap, dedupeCss, generateClassName, transform, } from "@bestcss/core";
|
|
3
|
+
import { applyRename, collectImportSources, createRenameMap, dedupeCss, generateClassName, minifyCss, transform, } from "@bestcss/core";
|
|
4
4
|
const TRANSFORM_TARGET_RE = /\.[jt]sx?$/;
|
|
5
5
|
/**
|
|
6
6
|
* 抽出した CSS を「元ファイル名 + この接尾辞」の仮想モジュールとして登録する。
|
|
@@ -8,12 +8,6 @@ const TRANSFORM_TARGET_RE = /\.[jt]sx?$/;
|
|
|
8
8
|
* (postcss / minify / コード分割)にそのまま処理を委ねられる
|
|
9
9
|
*/
|
|
10
10
|
const VIRTUAL_CSS_SUFFIX = ".bestcss.css";
|
|
11
|
-
/**
|
|
12
|
-
* ルート単位のスタイル収集エントリ(仮想モジュール)の接頭辞。
|
|
13
|
-
* ルートファイルの import グラフ上の css`` を side-effect import として
|
|
14
|
-
* 集めた「スタイルだけのエントリ」を表す
|
|
15
|
-
*/
|
|
16
|
-
const VIRTUAL_ROUTE_PREFIX = "\0bestcss-route:";
|
|
17
11
|
/** ルート → CSS ファイル一覧の対応表(ビルド時にインラインされる) */
|
|
18
12
|
const VIRTUAL_ROUTE_MANIFEST = "virtual:bestcss/route-css";
|
|
19
13
|
const RESOLVED_ROUTE_MANIFEST = "\0virtual:bestcss/route-css";
|
|
@@ -52,6 +46,8 @@ export function bestCss(options = {}) {
|
|
|
52
46
|
/** 遅延ロードした仮想 CSS の鮮度管理(ソースの mtime) */
|
|
53
47
|
const sourceMtimes = new Map();
|
|
54
48
|
const generatedClassNames = new Set();
|
|
49
|
+
/** ルートキー → そのルートの import グラフ上の styled ファイル一覧 */
|
|
50
|
+
const routeStyledFiles = new Map();
|
|
55
51
|
let root = process.cwd();
|
|
56
52
|
let isProduction = false;
|
|
57
53
|
let sharedRenameMap = null;
|
|
@@ -110,54 +106,102 @@ export function bestCss(options = {}) {
|
|
|
110
106
|
await walk(entryFile);
|
|
111
107
|
return styledFiles;
|
|
112
108
|
};
|
|
113
|
-
/**
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
/**
|
|
110
|
+
* 仮想 CSS の内容を(未変換ならオンデマンドに変換して)取得する。
|
|
111
|
+
* mtime で鮮度を確認するため、dev の編集にも追従する
|
|
112
|
+
*/
|
|
113
|
+
const ensureCssEntry = (base) => {
|
|
114
|
+
const sourceFile = base.slice(0, -VIRTUAL_CSS_SUFFIX.length);
|
|
115
|
+
const entry = extractedCss.get(base);
|
|
116
|
+
if (!fs.existsSync(sourceFile)) {
|
|
117
|
+
return entry ?? null;
|
|
118
|
+
}
|
|
119
|
+
const mtime = fs.statSync(sourceFile).mtimeMs;
|
|
120
|
+
if (entry !== undefined && sourceMtimes.get(base) === mtime) {
|
|
121
|
+
return entry;
|
|
117
122
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
const result = transform(fs.readFileSync(sourceFile, "utf8"), {
|
|
124
|
+
filename: sourceFile,
|
|
125
|
+
});
|
|
126
|
+
sourceMtimes.set(base, mtime);
|
|
127
|
+
if (result === null) {
|
|
128
|
+
// @bestcss/core を import していても css`` がないファイル
|
|
129
|
+
return null;
|
|
122
130
|
}
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
131
|
+
const fresh = { css: result.css, map: result.cssMap };
|
|
132
|
+
extractedCss.set(base, fresh);
|
|
133
|
+
for (const className of result.classNames) {
|
|
134
|
+
generatedClassNames.add(className);
|
|
126
135
|
}
|
|
127
|
-
return
|
|
136
|
+
return fresh;
|
|
128
137
|
};
|
|
129
138
|
/**
|
|
130
|
-
*
|
|
131
|
-
*
|
|
139
|
+
* ルート単位の CSS アセットを「共有シグネチャ」でグループ化して自前 emit し、
|
|
140
|
+
* ルート → CSS ファイル一覧の対応表を書き出す。
|
|
141
|
+
*
|
|
142
|
+
* チャンクグラフ(viteMetadata / imports の走査)から導出しない理由:
|
|
143
|
+
* 空 JS のスタイルエントリは Vite の pure-CSS チャンク処理で統合・除去され、
|
|
144
|
+
* 「どのルートがこの CSS を必要とするか」の情報がバージョン依存の挙動で
|
|
145
|
+
* 消えるため(issue #2: Vite 6 で共有 CSS が 1 ルートに誤帰属)。
|
|
146
|
+
* ルート → styled モジュールの対応はプラグイン自身が知っているので、
|
|
147
|
+
* それだけを情報源にする
|
|
132
148
|
*/
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
if (routesDir === null) {
|
|
149
|
+
const emitRouteCssAssets = (ctx, bundle, renameMap) => {
|
|
150
|
+
if (routesDirPath() === null || routeStyledFiles.size === 0) {
|
|
136
151
|
return;
|
|
137
152
|
}
|
|
153
|
+
// 同じルート集合から参照されるモジュールを 1 アセットにまとめる。
|
|
154
|
+
// 全ルート共有なら 1 ファイル(キャッシュ効率)、ルート専用なら
|
|
155
|
+
// そのルートだけのファイルになり、fan-out と共有バケットを兼ねる
|
|
156
|
+
const routesByFile = new Map();
|
|
157
|
+
for (const [routeKey, files] of routeStyledFiles) {
|
|
158
|
+
for (const file of files) {
|
|
159
|
+
const routes = routesByFile.get(file) ?? new Set();
|
|
160
|
+
routes.add(routeKey);
|
|
161
|
+
routesByFile.set(file, routes);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const groups = new Map();
|
|
165
|
+
for (const [file, routes] of routesByFile) {
|
|
166
|
+
const sortedRoutes = [...routes].sort();
|
|
167
|
+
const signature = sortedRoutes.join("\n");
|
|
168
|
+
const group = groups.get(signature) ?? {
|
|
169
|
+
routes: sortedRoutes,
|
|
170
|
+
files: [],
|
|
171
|
+
};
|
|
172
|
+
group.files.push(file);
|
|
173
|
+
groups.set(signature, group);
|
|
174
|
+
}
|
|
138
175
|
const manifest = {};
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
176
|
+
for (const routeKey of routeStyledFiles.keys()) {
|
|
177
|
+
manifest[routeKey] = [];
|
|
178
|
+
}
|
|
179
|
+
for (const group of groups.values()) {
|
|
180
|
+
const cssText = dedupeCss(group.files
|
|
181
|
+
.sort()
|
|
182
|
+
.map((file) => ensureCssEntry(file + VIRTUAL_CSS_SUFFIX)?.css ?? "")
|
|
183
|
+
.filter((css) => css !== "")
|
|
184
|
+
.join("\n"));
|
|
185
|
+
if (cssText.trim() === "") {
|
|
144
186
|
continue;
|
|
145
187
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
|
188
|
+
// emitFile したアセットは同一 handler 内の bundle 走査に現れないため、
|
|
189
|
+
// クラス名短縮は emit 前にここで適用する(表は呼び出し側で確定済み)
|
|
190
|
+
let minified = minifyCss(cssText);
|
|
191
|
+
if (renameMap !== null) {
|
|
192
|
+
minified = applyRename(minified, renameMap);
|
|
193
|
+
}
|
|
194
|
+
const fileName = `assets/bestcss.${generateClassName(minified)}.css`;
|
|
195
|
+
if (!(fileName in bundle)) {
|
|
196
|
+
ctx.emitFile({ type: "asset", fileName, source: minified });
|
|
197
|
+
}
|
|
198
|
+
for (const routeKey of group.routes) {
|
|
199
|
+
manifest[routeKey]?.push(fileName);
|
|
200
|
+
}
|
|
160
201
|
}
|
|
202
|
+
const manifestPath = routeManifestPath();
|
|
203
|
+
fs.mkdirSync(path.dirname(manifestPath), { recursive: true });
|
|
204
|
+
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2));
|
|
161
205
|
};
|
|
162
206
|
return {
|
|
163
207
|
name: "bestcss",
|
|
@@ -180,15 +224,15 @@ export function bestCss(options = {}) {
|
|
|
180
224
|
// 上書きされ得る。isProduction はその場合も true を保つ
|
|
181
225
|
isProduction = config.isProduction;
|
|
182
226
|
},
|
|
183
|
-
buildStart() {
|
|
227
|
+
async buildStart() {
|
|
184
228
|
const routesDir = routesDirPath();
|
|
185
229
|
if (routesDir === null) {
|
|
186
230
|
return;
|
|
187
231
|
}
|
|
188
232
|
const environment = this.environment;
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
//
|
|
233
|
+
// ルート → styled ファイルの収集は「CSS を出力するクライアントの
|
|
234
|
+
// 本番ビルド」でだけ行う。input 未定義の環境を除外するのは、SSG 等が
|
|
235
|
+
// ビルド中に走らせる空のクライアント環境(manifest を汚す)を避けるため
|
|
192
236
|
const input = environment?.config?.build?.rollupOptions?.input;
|
|
193
237
|
const hasInput = Array.isArray(input)
|
|
194
238
|
? input.length > 0
|
|
@@ -202,15 +246,12 @@ export function bestCss(options = {}) {
|
|
|
202
246
|
!hasInput) {
|
|
203
247
|
return;
|
|
204
248
|
}
|
|
249
|
+
routeStyledFiles.clear();
|
|
205
250
|
for (const routeFile of walkDir(routesDir)) {
|
|
206
251
|
const routeKey = path
|
|
207
252
|
.relative(routesDir, routeFile)
|
|
208
253
|
.replace(/\.[jt]sx?$/, "");
|
|
209
|
-
|
|
210
|
-
type: "chunk",
|
|
211
|
-
id: VIRTUAL_ROUTE_PREFIX + routeFile,
|
|
212
|
-
name: `bestcss-route/${routeKey}`,
|
|
213
|
-
});
|
|
254
|
+
routeStyledFiles.set(routeKey, await collectStyledFiles(this, routeFile));
|
|
214
255
|
}
|
|
215
256
|
},
|
|
216
257
|
resolveId(source, importer) {
|
|
@@ -228,9 +269,6 @@ export function bestCss(options = {}) {
|
|
|
228
269
|
if (source === VIRTUAL_DEV_STYLES) {
|
|
229
270
|
return asSideEffect(RESOLVED_DEV_STYLES);
|
|
230
271
|
}
|
|
231
|
-
if (source.startsWith(VIRTUAL_ROUTE_PREFIX)) {
|
|
232
|
-
return source;
|
|
233
|
-
}
|
|
234
272
|
// 仮想 CSS モジュールはファイルシステムに存在しないため、
|
|
235
273
|
// 他のリゾルバに渡さずここで解決を確定させる
|
|
236
274
|
const base = stripQuery(source);
|
|
@@ -279,45 +317,19 @@ export function bestCss(options = {}) {
|
|
|
279
317
|
.map((f) => `import ${JSON.stringify(f + VIRTUAL_CSS_SUFFIX)};`)
|
|
280
318
|
.join("\n") + "\nexport {};\n");
|
|
281
319
|
}
|
|
282
|
-
if (id.startsWith(VIRTUAL_ROUTE_PREFIX)) {
|
|
283
|
-
// ルートの import グラフを辿り、css`` を含むファイルの仮想 CSS を
|
|
284
|
-
// side-effect import するだけのモジュールを生成する。
|
|
285
|
-
// ルート専用/共有の分割判断は Vite のチャンク分割に委ねる
|
|
286
|
-
const routeFile = id.slice(VIRTUAL_ROUTE_PREFIX.length);
|
|
287
|
-
const styledFiles = await collectStyledFiles(this, routeFile);
|
|
288
|
-
return (styledFiles
|
|
289
|
-
.map((f) => `import ${JSON.stringify(f + VIRTUAL_CSS_SUFFIX)};`)
|
|
290
|
-
.join("\n") + "\nexport {};\n");
|
|
291
|
-
}
|
|
292
320
|
const base = stripQuery(id);
|
|
293
321
|
if (!base.endsWith(VIRTUAL_CSS_SUFFIX)) {
|
|
294
322
|
return null;
|
|
295
323
|
}
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
});
|
|
306
|
-
sourceMtimes.set(base, mtime);
|
|
307
|
-
if (result === null) {
|
|
308
|
-
// @bestcss/core を import していても css`` がないファイルは
|
|
309
|
-
// 空の CSS として扱う(ENOENT でビルドを壊さない)
|
|
310
|
-
return "";
|
|
311
|
-
}
|
|
312
|
-
entry = { css: result.css, map: result.cssMap };
|
|
313
|
-
extractedCss.set(base, entry);
|
|
314
|
-
for (const className of result.classNames) {
|
|
315
|
-
generatedClassNames.add(className);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
if (entry === undefined) {
|
|
320
|
-
return null;
|
|
324
|
+
// ソースを JS として import しない利用(dev-styles 等)でも内容が
|
|
325
|
+
// 新しくなるよう、mtime で鮮度を確認してオンデマンドに変換する
|
|
326
|
+
const entry = ensureCssEntry(base);
|
|
327
|
+
if (entry === null) {
|
|
328
|
+
// @bestcss/core を import していても css`` がないファイルは
|
|
329
|
+
// 空の CSS として扱う(ENOENT でビルドを壊さない)
|
|
330
|
+
return fs.existsSync(base.slice(0, -VIRTUAL_CSS_SUFFIX.length))
|
|
331
|
+
? ""
|
|
332
|
+
: null;
|
|
321
333
|
}
|
|
322
334
|
// map を添えることで、css.devSourcemap 有効時に DevTools の Styles
|
|
323
335
|
// ペインから元の tsx(css`` の位置)へ辿れるようになる。
|
|
@@ -393,63 +405,68 @@ export function bestCss(options = {}) {
|
|
|
393
405
|
output.source = dedupeCss(String(output.source));
|
|
394
406
|
}
|
|
395
407
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
408
|
+
// ルート単位 CSS の全クラス名を、リネーム表の計算より前に登録する。
|
|
409
|
+
// ルート専用モジュールはクライアントの JS グラフに入らないため、
|
|
410
|
+
// ここで変換しておかないと表から漏れて短縮の対象外になってしまう
|
|
411
|
+
for (const files of routeStyledFiles.values()) {
|
|
412
|
+
for (const file of files) {
|
|
413
|
+
ensureCssEntry(file + VIRTUAL_CSS_SUFFIX);
|
|
414
|
+
}
|
|
399
415
|
}
|
|
400
416
|
const consumer = this.environment?.config?.consumer;
|
|
401
|
-
|
|
417
|
+
let renameMap = null;
|
|
418
|
+
if (minifyClassNames && consumer === "server") {
|
|
402
419
|
// サーバービルドは自分の頻度で短縮しない。CSS を持つのは
|
|
403
420
|
// クライアントビルドであり、独立に計算した短縮名は一致しないため。
|
|
404
421
|
// ssr 設定時のみ、共有された表に従って書き換える(transform 時に
|
|
405
422
|
// 適用済みだが、バンドル型 SSR での取りこぼしをここで拾う)
|
|
406
|
-
if (ssr
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
output.code = applyRename(output.code, sharedMap);
|
|
423
|
+
if (ssr !== null) {
|
|
424
|
+
const sharedMap = loadSharedRenameMap();
|
|
425
|
+
for (const output of Object.values(bundle)) {
|
|
426
|
+
if (output.type === "chunk") {
|
|
427
|
+
output.code = applyRename(output.code, sharedMap);
|
|
428
|
+
}
|
|
413
429
|
}
|
|
414
430
|
}
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
|
-
if (generatedClassNames.size === 0) {
|
|
418
|
-
return;
|
|
419
431
|
}
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
const
|
|
430
|
-
|
|
431
|
-
|
|
432
|
+
else if (minifyClassNames && generatedClassNames.size > 0) {
|
|
433
|
+
// 使用頻度は JS チャンク内の静的な出現回数を代理指標にする。
|
|
434
|
+
// 実行時の描画回数は分からないが、全クラスが 1〜3 文字になるため
|
|
435
|
+
// 順位の精度がサイズに与える影響は小さい
|
|
436
|
+
const frequencies = new Map([...generatedClassNames].map((name) => [name, 0]));
|
|
437
|
+
for (const output of Object.values(bundle)) {
|
|
438
|
+
if (output.type !== "chunk") {
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
for (const matched of output.code.matchAll(/\bbc[a-z0-9]+\b/g)) {
|
|
442
|
+
const count = frequencies.get(matched[0]);
|
|
443
|
+
if (count !== undefined) {
|
|
444
|
+
frequencies.set(matched[0], count + 1);
|
|
445
|
+
}
|
|
432
446
|
}
|
|
433
447
|
}
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
448
|
+
renameMap = createRenameMap(frequencies);
|
|
449
|
+
for (const [fileName, output] of Object.entries(bundle)) {
|
|
450
|
+
if (output.type === "chunk") {
|
|
451
|
+
output.code = applyRename(output.code, renameMap);
|
|
452
|
+
}
|
|
453
|
+
else if (fileName.endsWith(".css")) {
|
|
454
|
+
output.source = applyRename(String(output.source), renameMap);
|
|
455
|
+
}
|
|
439
456
|
}
|
|
440
|
-
|
|
441
|
-
|
|
457
|
+
// 確定した表を書き出し、後続のサーバービルドに共有する。
|
|
458
|
+
// 「CSS を持つ環境」に限定する理由: SSG 等が走らせる空の
|
|
459
|
+
// クライアント環境が、確定済みの表を上書きするのを防ぐため
|
|
460
|
+
const mapPath = renameMapPath();
|
|
461
|
+
const hasCss = routeStyledFiles.size > 0 ||
|
|
462
|
+
Object.keys(bundle).some((fileName) => fileName.endsWith(".css"));
|
|
463
|
+
if (mapPath !== null && hasCss) {
|
|
464
|
+
fs.mkdirSync(path.dirname(mapPath), { recursive: true });
|
|
465
|
+
fs.writeFileSync(mapPath, JSON.stringify(Object.fromEntries(renameMap), null, 2));
|
|
442
466
|
}
|
|
443
467
|
}
|
|
444
|
-
//
|
|
445
|
-
|
|
446
|
-
// クライアント環境が、確定済みの表を上書きするのを防ぐため
|
|
447
|
-
const mapPath = renameMapPath();
|
|
448
|
-
const hasCssAsset = Object.keys(bundle).some((fileName) => fileName.endsWith(".css"));
|
|
449
|
-
if (mapPath !== null && hasCssAsset) {
|
|
450
|
-
fs.mkdirSync(path.dirname(mapPath), { recursive: true });
|
|
451
|
-
fs.writeFileSync(mapPath, JSON.stringify(Object.fromEntries(renameMap), null, 2));
|
|
452
|
-
}
|
|
468
|
+
// ルート単位 CSS の emit はリネーム表の確定後に行う(表を適用して出力)
|
|
469
|
+
emitRouteCssAssets(this, bundle, renameMap);
|
|
453
470
|
},
|
|
454
471
|
},
|
|
455
472
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/docs/01-ssr.md
CHANGED
|
@@ -52,3 +52,20 @@ import "virtual:bestcss/dev-styles";
|
|
|
52
52
|
## リネーム表を使わない選択肢
|
|
53
53
|
|
|
54
54
|
`minifyClassNames: false` にすると内容ハッシュ名(`bc...`)のまま出力される。内容ハッシュは独立したビルド間でも決定的に一致するため、表の共有なしで HTML と CSS が一致する([core: 内部のしくみ](../../core/docs/02-how-it-works.md) 参照)。
|
|
55
|
+
|
|
56
|
+
## routesDir を使わない場合の CSS 配信(ssr: true のみ)
|
|
57
|
+
|
|
58
|
+
ルート単位分割が不要なら、CSS はクライアントビルドの通常のグラフから出力される。スタイルは islands などクライアントに入るモジュール経由で収集されるため、ルート専用モジュールのスタイルはクライアントエントリから side-effect import で集める。`<link>` は出力名を固定して張るのが簡単:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
// vite.config.ts(client)
|
|
62
|
+
build: {
|
|
63
|
+
cssCodeSplit: false,
|
|
64
|
+
rollupOptions: { output: { assetFileNames: "static/assets/[name].[ext]" } },
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
// renderer(本番のみ)
|
|
70
|
+
<link href="/static/assets/style.css" rel="stylesheet" />
|
|
71
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bestcss/vite-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "bestcss の Vite プラグイン。css`` の抽出・HMR・クラス名短縮・SSR / ルート単位 CSS 分割",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"css",
|
|
@@ -41,11 +41,12 @@
|
|
|
41
41
|
"docs"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@bestcss/core": "0.1.
|
|
44
|
+
"@bestcss/core": "0.1.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^26.1.0",
|
|
48
|
-
"vite": "^8.1.3"
|
|
48
|
+
"vite": "^8.1.3",
|
|
49
|
+
"vite6": "npm:vite@^6.4.3"
|
|
49
50
|
},
|
|
50
51
|
"scripts": {
|
|
51
52
|
"build": "tsc -p tsconfig.build.json",
|