@plumeria/utils 6.3.0 → 6.3.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/create.d.ts +1 -1
- package/dist/create.js +3 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -1
- package/dist/optimizer.d.ts +1 -0
- package/dist/optimizer.js +26 -0
- package/dist/parser.js +30 -9
- package/package.json +5 -2
package/dist/create.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export interface StyleRecord {
|
|
|
4
4
|
hash: string;
|
|
5
5
|
sheet: string;
|
|
6
6
|
}
|
|
7
|
-
export declare function getStyleRecords(key: string, styleRule: CSSProperties
|
|
7
|
+
export declare function getStyleRecords(key: string, styleRule: CSSProperties): StyleRecord[];
|
package/dist/create.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getStyleRecords = getStyleRecords;
|
|
4
4
|
const zss_engine_1 = require("zss-engine");
|
|
5
|
-
function getStyleRecords(key, styleRule
|
|
5
|
+
function getStyleRecords(key, styleRule) {
|
|
6
6
|
const flat = {};
|
|
7
7
|
const nonFlat = {};
|
|
8
|
-
const notNormalize =
|
|
8
|
+
const notNormalize = ':not(#\\#)';
|
|
9
9
|
(0, zss_engine_1.splitAtomicAndNested)(styleRule, flat, nonFlat);
|
|
10
10
|
const finalFlat = (0, zss_engine_1.overrideLonghand)(flat);
|
|
11
11
|
const records = [];
|
|
@@ -73,10 +73,9 @@ function getStyleRecords(key, styleRule, priority = 1 | 2) {
|
|
|
73
73
|
else {
|
|
74
74
|
hashSource = { [selector]: hashSource };
|
|
75
75
|
}
|
|
76
|
-
const suffix = atRule ? notNormalize : ':not(#\\#)';
|
|
77
76
|
const hash = (0, zss_engine_1.genBase36Hash)(hashSource, 1, 8);
|
|
78
77
|
let sheet = (0, zss_engine_1.transpileAtomic)(prop, value, hash, normalizedSelector);
|
|
79
|
-
sheet = sheet.replace(`.${hash}`, `.${hash}${
|
|
78
|
+
sheet = sheet.replace(`.${hash}`, `.${hash}${notNormalize}`);
|
|
80
79
|
if (atRule) {
|
|
81
80
|
sheet = `${atRule} { ${sheet} }`;
|
|
82
81
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { CSSObject, FileStyles, StaticTable, KeyframesHashTable, KeyframesObjectTable, ViewTransitionHashTable, ViewTransitionObjectTable, CreateThemeObjectTable, CreateHashTable, CreateObjectTable, VariantsHashTable, VariantsObjectTable, CreateThemeHashTable, CreateStaticHashTable, CreateStaticObjectTable, } from './types';
|
|
2
2
|
export { objectExpressionToObject, collectLocalConsts, traverse, t, extractOndemandStyles, deepMerge, scanAll, } from './parser';
|
|
3
|
+
export type { StyleRecord } from './create';
|
|
3
4
|
export { getStyleRecords } from './create';
|
|
4
5
|
export { createTheme } from './createTheme';
|
|
5
|
-
export type { StyleRecord } from './create';
|
|
6
6
|
export { resolveImportPath } from './resolver';
|
|
7
|
+
export { optimizer } from './optimizer';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveImportPath = exports.createTheme = exports.getStyleRecords = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
|
|
3
|
+
exports.optimizer = exports.resolveImportPath = exports.createTheme = exports.getStyleRecords = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
|
|
4
4
|
var parser_1 = require("./parser");
|
|
5
5
|
Object.defineProperty(exports, "objectExpressionToObject", { enumerable: true, get: function () { return parser_1.objectExpressionToObject; } });
|
|
6
6
|
Object.defineProperty(exports, "collectLocalConsts", { enumerable: true, get: function () { return parser_1.collectLocalConsts; } });
|
|
@@ -15,3 +15,5 @@ var createTheme_1 = require("./createTheme");
|
|
|
15
15
|
Object.defineProperty(exports, "createTheme", { enumerable: true, get: function () { return createTheme_1.createTheme; } });
|
|
16
16
|
var resolver_1 = require("./resolver");
|
|
17
17
|
Object.defineProperty(exports, "resolveImportPath", { enumerable: true, get: function () { return resolver_1.resolveImportPath; } });
|
|
18
|
+
var optimizer_1 = require("./optimizer");
|
|
19
|
+
Object.defineProperty(exports, "optimizer", { enumerable: true, get: function () { return optimizer_1.optimizer; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function optimizer(cssCode: string): Promise<string>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.optimizer = optimizer;
|
|
7
|
+
const postcss_1 = __importDefault(require("postcss"));
|
|
8
|
+
const postcss_combine_media_query_1 = __importDefault(require("postcss-combine-media-query"));
|
|
9
|
+
const lightningcss_1 = require("lightningcss");
|
|
10
|
+
async function optimizer(cssCode) {
|
|
11
|
+
const merged = await (0, postcss_1.default)([(0, postcss_combine_media_query_1.default)()]).process(cssCode, {
|
|
12
|
+
from: undefined,
|
|
13
|
+
});
|
|
14
|
+
const light = (0, lightningcss_1.transform)({
|
|
15
|
+
filename: 'global.css',
|
|
16
|
+
code: Buffer.from(merged.css),
|
|
17
|
+
minify: true,
|
|
18
|
+
targets: {
|
|
19
|
+
safari: 16,
|
|
20
|
+
edge: 110,
|
|
21
|
+
firefox: 110,
|
|
22
|
+
chrome: 110,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return Buffer.from(light.code).toString('utf-8');
|
|
26
|
+
}
|
package/dist/parser.js
CHANGED
|
@@ -621,6 +621,22 @@ function scanAll() {
|
|
|
621
621
|
const hash = localTables.createThemeHashTable[uniqueKey];
|
|
622
622
|
localCreateThemeHashTable[localName] = hash;
|
|
623
623
|
}
|
|
624
|
+
if (localTables.keyframesHashTable[uniqueKey]) {
|
|
625
|
+
const hash = localTables.keyframesHashTable[uniqueKey];
|
|
626
|
+
localKeyframesHashTable[localName] = hash;
|
|
627
|
+
if (localTables.keyframesObjectTable[hash]) {
|
|
628
|
+
localKeyframesObjectTable[hash] =
|
|
629
|
+
localTables.keyframesObjectTable[hash];
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (localTables.viewTransitionHashTable[uniqueKey]) {
|
|
633
|
+
const hash = localTables.viewTransitionHashTable[uniqueKey];
|
|
634
|
+
localViewTransitionHashTable[localName] = hash;
|
|
635
|
+
if (localTables.viewTransitionObjectTable[hash]) {
|
|
636
|
+
localViewTransitionObjectTable[hash] =
|
|
637
|
+
localTables.viewTransitionObjectTable[hash];
|
|
638
|
+
}
|
|
639
|
+
}
|
|
624
640
|
}
|
|
625
641
|
});
|
|
626
642
|
}
|
|
@@ -675,7 +691,10 @@ function scanAll() {
|
|
|
675
691
|
};
|
|
676
692
|
const obj = objectExpressionToObject(init.arguments[0].expression, localStaticTable, localKeyframesHashTable, localViewTransitionHashTable, localCreateThemeHashTable, localCreateThemeObjectTable, localCreateHashTable, localCreateStaticHashTable, localCreateStaticObjectTable, localVariantsHashTable, resolveVariable);
|
|
677
693
|
const uniqueKey = `${filePath}-${name}`;
|
|
678
|
-
const isPassOneMethod = method === 'createStatic' ||
|
|
694
|
+
const isPassOneMethod = method === 'createStatic' ||
|
|
695
|
+
method === 'createTheme' ||
|
|
696
|
+
method === 'keyframes' ||
|
|
697
|
+
method === 'viewTransition';
|
|
679
698
|
if (isFirstPass && !isPassOneMethod)
|
|
680
699
|
continue;
|
|
681
700
|
if (method === 'createStatic') {
|
|
@@ -740,16 +759,18 @@ function scanAll() {
|
|
|
740
759
|
localCreateObjectTable[hash] = obj;
|
|
741
760
|
const hashMap = {};
|
|
742
761
|
Object.entries(obj).forEach(([key, style]) => {
|
|
743
|
-
const records = (0, create_1.getStyleRecords)(key, style
|
|
762
|
+
const records = (0, create_1.getStyleRecords)(key, style);
|
|
744
763
|
const atomMap = {};
|
|
745
764
|
records.forEach((r) => (atomMap[r.key] = r.hash));
|
|
746
765
|
hashMap[key] = atomMap;
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
fileExtractedSheets.
|
|
751
|
-
|
|
752
|
-
|
|
766
|
+
if (!isProduction) {
|
|
767
|
+
extractOndemandStyles(style, fileExtractedSheets, localTables);
|
|
768
|
+
records.forEach((r) => {
|
|
769
|
+
if (!fileExtractedSheets.includes(r.sheet)) {
|
|
770
|
+
fileExtractedSheets.push(r.sheet);
|
|
771
|
+
}
|
|
772
|
+
});
|
|
773
|
+
}
|
|
753
774
|
});
|
|
754
775
|
localCreateAtomicMapTable[hash] = hashMap;
|
|
755
776
|
localTables.createAtomicMapTable[hash] = hashMap;
|
|
@@ -863,7 +884,7 @@ function extractOndemandStyles(obj, extractedSheets, t) {
|
|
|
863
884
|
const obj = t.createObjectTable[hash];
|
|
864
885
|
if (obj) {
|
|
865
886
|
Object.entries(obj).forEach(([key, style]) => {
|
|
866
|
-
const records = (0, create_1.getStyleRecords)(key, style
|
|
887
|
+
const records = (0, create_1.getStyleRecords)(key, style);
|
|
867
888
|
records.forEach((r) => addSheet(r.sheet));
|
|
868
889
|
});
|
|
869
890
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/utils",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.1",
|
|
4
4
|
"description": "Plumeria Utils",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,7 +22,10 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@swc/core": "1.15.8",
|
|
25
|
-
"zss-engine": "2.2.0"
|
|
25
|
+
"zss-engine": "2.2.0",
|
|
26
|
+
"postcss": "8.5.6",
|
|
27
|
+
"postcss-combine-media-query": "^2.1.0",
|
|
28
|
+
"lightningcss": "^1.30.2"
|
|
26
29
|
},
|
|
27
30
|
"publishConfig": {
|
|
28
31
|
"access": "public",
|