@bestcss/core 0.1.0 → 0.1.2

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 CHANGED
@@ -1,6 +1,7 @@
1
1
  export { generateClassName } from "./class-name.js";
2
2
  export { applyRename, createRenameMap } from "./class-rename.js";
3
3
  export { dedupeCss } from "./dedupe.js";
4
+ export { minifyCss } from "./minify.js";
4
5
  export { collectImportSources } from "./imports.js";
5
6
  export { css } from "./css.js";
6
7
  export { transform, type TransformOptions, type TransformResult, } from "./transform.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { generateClassName } from "./class-name.js";
2
2
  export { applyRename, createRenameMap } from "./class-rename.js";
3
3
  export { dedupeCss } from "./dedupe.js";
4
+ export { minifyCss } from "./minify.js";
4
5
  export { collectImportSources } from "./imports.js";
5
6
  export { css } from "./css.js";
6
7
  export { transform, } from "./transform.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,SAAS,GAGV,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EACL,SAAS,GAGV,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CSS を minify する。ルート単位 CSS 分割でプラグインが自前 emit する
3
+ * アセットは Vite の CSS パイプライン(cssMinify)を通らないため、
4
+ * 同じ Lightning CSS でここで最小化する
5
+ */
6
+ export declare function minifyCss(css: string): string;
7
+ //# sourceMappingURL=minify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minify.d.ts","sourceRoot":"","sources":["../src/minify.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C"}
package/dist/minify.js ADDED
@@ -0,0 +1,15 @@
1
+ import { transform as transformCss } from "lightningcss";
2
+ /**
3
+ * CSS を minify する。ルート単位 CSS 分割でプラグインが自前 emit する
4
+ * アセットは Vite の CSS パイプライン(cssMinify)を通らないため、
5
+ * 同じ Lightning CSS でここで最小化する
6
+ */
7
+ export function minifyCss(css) {
8
+ const result = transformCss({
9
+ filename: "bestcss-minify.css",
10
+ code: Buffer.from(css),
11
+ minify: true,
12
+ });
13
+ return result.code.toString();
14
+ }
15
+ //# sourceMappingURL=minify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minify.js","sourceRoot":"","sources":["../src/minify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACtB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,56 @@
1
+ # Tailwind / UnoCSS からの移行
2
+
3
+ ## Preflight → modern-normalize の差分に注意
4
+
5
+ `@bestcss/core/reset.css` は modern-normalize に委譲している。Tailwind / UnoCSS の **Preflight は modern-normalize より広範なリセット**を行うため、乗り換えると次の差分で見た目が崩れる:
6
+
7
+ | Preflight がやること | modern-normalize | 崩れ方 |
8
+ |---|---|---|
9
+ | `h1..h6, p, dl, dd` 等の margin を 0 に | しない | 既定の margin が復活する |
10
+ | `a { color: inherit; text-decoration: none }` | しない | リンクが既定の青下線に戻る |
11
+ | `* { border-width: 0; border-style: solid }` | しない | `border-width: 1px` だけでは枠線が出ない(`border: 1px solid ...` と **style まで明示**が必要) |
12
+
13
+ ## 対処: base 層で明示補完する
14
+
15
+ 利用側のグローバル CSS([グローバルな定義の書き方](./01-syntax.md))で、依存していた分だけ明示する:
16
+
17
+ ```css
18
+ @import "@bestcss/core/reset.css";
19
+
20
+ /* Preflight 相当を必要な分だけ補完する */
21
+ h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
22
+ margin: 0;
23
+ }
24
+ a {
25
+ color: inherit;
26
+ text-decoration: none;
27
+ }
28
+ ```
29
+
30
+ border は補完せず、css`` 側で `border: 1px solid ...` と書くのを推奨する(暗黙の `border-style` 前提はコードの可搬性を下げる)。
31
+
32
+ ## class 属性の移行
33
+
34
+ ユーティリティの列挙は 1 つの css`` ブロックに置き換える:
35
+
36
+ ```tsx
37
+ // before (Tailwind)
38
+ <button className="inline-flex items-center px-4 py-2 rounded-md bg-blue-600 text-white hover:opacity-80" />
39
+
40
+ // after
41
+ const button = css`
42
+ display: inline-flex;
43
+ align-items: center;
44
+ padding: 8px 16px;
45
+ border-radius: 6px;
46
+ background: #2563eb;
47
+ color: #fff;
48
+
49
+ &:hover {
50
+ opacity: 0.8;
51
+ }
52
+ `;
53
+ <button className={button} />
54
+ ```
55
+
56
+ theme() 由来の値はデザイントークン(`:root` のカスタムプロパティ)+ `var()` に移す。
package/docs/index.md CHANGED
@@ -8,6 +8,7 @@ bestcss は「ゼロランタイム × コロケーション × 生 CSS 文法
8
8
 
9
9
  1. [css`` の文法 — 書けるもの・書けないもの](./01-syntax.md)
10
10
  2. [内部のしくみ(クラス名・最適化・デバッグ)](./02-how-it-works.md)
11
+ 3. [Tailwind / UnoCSS からの移行](./03-migrate-from-utility-frameworks.md)
11
12
 
12
13
  ## バンドラー統合のドキュメント
13
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bestcss/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "ゼロランタイム CSS-in-JS のバンドラー非依存な変換コア。css`` タグをビルド時にクラス名と CSS へ変換する",
5
5
  "keywords": [
6
6
  "css",