@plumeria/turbopack-loader 4.2.0 → 4.2.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.js +44 -7
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -27,8 +27,45 @@ async function loader(source) {
|
|
|
27
27
|
tsx: true,
|
|
28
28
|
target: 'es2022',
|
|
29
29
|
});
|
|
30
|
-
const localConsts = (0, utils_1.collectLocalConsts)(ast
|
|
31
|
-
|
|
30
|
+
const localConsts = (0, utils_1.collectLocalConsts)(ast);
|
|
31
|
+
const resourcePath = this.resourcePath;
|
|
32
|
+
const importMap = {};
|
|
33
|
+
(0, utils_1.traverse)(ast, {
|
|
34
|
+
ImportDeclaration({ node }) {
|
|
35
|
+
const sourcePath = node.source.value;
|
|
36
|
+
const actualPath = (0, utils_1.resolveImportPath)(sourcePath, resourcePath);
|
|
37
|
+
if (actualPath && fs_1.default.existsSync(actualPath)) {
|
|
38
|
+
if (fs_1.default.existsSync(actualPath)) {
|
|
39
|
+
node.specifiers.forEach((specifier) => {
|
|
40
|
+
if (specifier.type === 'ImportSpecifier') {
|
|
41
|
+
const importedName = specifier.imported
|
|
42
|
+
? specifier.imported.value
|
|
43
|
+
: specifier.local.value;
|
|
44
|
+
const localName = specifier.local.value;
|
|
45
|
+
const uniqueKey = `${actualPath}-${importedName}`;
|
|
46
|
+
if (utils_1.tables.staticTable[uniqueKey]) {
|
|
47
|
+
importMap[localName] = utils_1.tables.staticTable[uniqueKey];
|
|
48
|
+
}
|
|
49
|
+
if (utils_1.tables.keyframesHashTable[uniqueKey]) {
|
|
50
|
+
importMap[localName] = utils_1.tables.keyframesHashTable[uniqueKey];
|
|
51
|
+
}
|
|
52
|
+
if (utils_1.tables.viewTransitionHashTable[uniqueKey]) {
|
|
53
|
+
importMap[localName] =
|
|
54
|
+
utils_1.tables.viewTransitionHashTable[uniqueKey];
|
|
55
|
+
}
|
|
56
|
+
if (utils_1.tables.themeTable[uniqueKey]) {
|
|
57
|
+
importMap[localName] = utils_1.tables.themeTable[uniqueKey];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
const mergedStaticTable = Object.assign(Object.create(utils_1.tables.staticTable), localConsts, importMap);
|
|
66
|
+
const mergedKeyframesTable = Object.assign(Object.create(utils_1.tables.keyframesHashTable), importMap);
|
|
67
|
+
const mergedViewTransitionTable = Object.assign(Object.create(utils_1.tables.viewTransitionHashTable), importMap);
|
|
68
|
+
const mergedThemeTable = Object.assign(Object.create(utils_1.tables.themeTable), importMap);
|
|
32
69
|
const isTSFile = this.resourcePath.endsWith('.ts') && !this.resourcePath.endsWith('.tsx');
|
|
33
70
|
const localCreateStyles = {};
|
|
34
71
|
const replacements = [];
|
|
@@ -47,7 +84,7 @@ async function loader(source) {
|
|
|
47
84
|
const propName = node.init.callee.property.value;
|
|
48
85
|
if (propName === 'create' &&
|
|
49
86
|
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
|
|
50
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression,
|
|
87
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable);
|
|
51
88
|
if (obj) {
|
|
52
89
|
const hashMap = {};
|
|
53
90
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -145,7 +182,7 @@ async function loader(source) {
|
|
|
145
182
|
if (propName === 'keyframes' &&
|
|
146
183
|
args.length > 0 &&
|
|
147
184
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
148
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression,
|
|
185
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable);
|
|
149
186
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
150
187
|
utils_1.tables.keyframesObjectTable[hash] = obj;
|
|
151
188
|
replacements.push({
|
|
@@ -157,7 +194,7 @@ async function loader(source) {
|
|
|
157
194
|
else if (propName === 'viewTransition' &&
|
|
158
195
|
args.length > 0 &&
|
|
159
196
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
160
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression,
|
|
197
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable);
|
|
161
198
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
162
199
|
utils_1.tables.viewTransitionObjectTable[hash] = obj;
|
|
163
200
|
(0, utils_1.extractOndemandStyles)(obj, extractedSheets);
|
|
@@ -171,7 +208,7 @@ async function loader(source) {
|
|
|
171
208
|
else if (propName === 'createTheme' &&
|
|
172
209
|
args.length > 0 &&
|
|
173
210
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
174
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression,
|
|
211
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable);
|
|
175
212
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
176
213
|
utils_1.tables.createThemeObjectTable[hash] = obj;
|
|
177
214
|
}
|
|
@@ -266,7 +303,7 @@ async function loader(source) {
|
|
|
266
303
|
const merged = args.reduce((acc, arg) => {
|
|
267
304
|
const expr = arg.expression;
|
|
268
305
|
if (utils_1.t.isObjectExpression(expr)) {
|
|
269
|
-
const obj = (0, utils_1.objectExpressionToObject)(expr,
|
|
306
|
+
const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable);
|
|
270
307
|
return obj ? (0, utils_1.deepMerge)(acc, obj) : acc;
|
|
271
308
|
}
|
|
272
309
|
else if (utils_1.t.isMemberExpression(expr) &&
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/turbopack-loader",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"description": "Plumeria Turbopack-loader",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"zero-virtual.css"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@plumeria/utils": "^4.2.
|
|
25
|
+
"@plumeria/utils": "^4.2.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@swc/core": "1.15.8",
|