babel-plugin-transform-react-jsx-to-rn-stylesheet 3.4.2 → 3.4.5
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/__tests__/index.spec.js +48 -16
- package/dist/index.js +56 -18
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +37 -15
- package/src/types.ts +2 -1
- package/tsconfig.json +6 -22
package/__tests__/index.spec.js
CHANGED
|
@@ -50,6 +50,10 @@ const getStyleFunctionTemplete = `function _getStyle(classNameExpression) {
|
|
|
50
50
|
return style;
|
|
51
51
|
}`
|
|
52
52
|
|
|
53
|
+
const mergeEleStylesFunctionTemplate = `function _mergeEleStyles() {
|
|
54
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {});
|
|
55
|
+
}`
|
|
56
|
+
|
|
53
57
|
describe('jsx style plugin', () => {
|
|
54
58
|
function getTransfromCode (source, debug = false, options = {}) {
|
|
55
59
|
const { enableCSSModule, enableMultipleClassName = false } = options
|
|
@@ -116,11 +120,14 @@ class App extends Component {
|
|
|
116
120
|
}
|
|
117
121
|
}`)).toBe(`import { createElement, Component } from 'rax';
|
|
118
122
|
import appCssStyleSheet from "./app.css";
|
|
123
|
+
|
|
124
|
+
${mergeEleStylesFunctionTemplate}
|
|
125
|
+
|
|
119
126
|
var _styleSheet = appCssStyleSheet;
|
|
120
127
|
|
|
121
128
|
class App extends Component {
|
|
122
129
|
render() {
|
|
123
|
-
return <div style={
|
|
130
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
}`)
|
|
@@ -179,13 +186,15 @@ class App extends Component {
|
|
|
179
186
|
import app1CssStyleSheet from "./app1.css";
|
|
180
187
|
import app2CssStyleSheet from "./app2.css";
|
|
181
188
|
|
|
189
|
+
${mergeEleStylesFunctionTemplate}
|
|
190
|
+
|
|
182
191
|
${mergeStylesFunctionTemplate}
|
|
183
192
|
|
|
184
193
|
var _styleSheet = _mergeStyles(app1CssStyleSheet, app2CssStyleSheet);
|
|
185
194
|
|
|
186
195
|
class App extends Component {
|
|
187
196
|
render() {
|
|
188
|
-
return <div style={
|
|
197
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
189
198
|
}
|
|
190
199
|
|
|
191
200
|
}`)
|
|
@@ -204,13 +213,15 @@ class App extends Component {
|
|
|
204
213
|
import appCssStyleSheet from "./app.css";
|
|
205
214
|
import appCssStyleSheet1 from "../app.css";
|
|
206
215
|
|
|
216
|
+
${mergeEleStylesFunctionTemplate}
|
|
217
|
+
|
|
207
218
|
${mergeStylesFunctionTemplate}
|
|
208
219
|
|
|
209
220
|
var _styleSheet = _mergeStyles(appCssStyleSheet, appCssStyleSheet1);
|
|
210
221
|
|
|
211
222
|
class App extends Component {
|
|
212
223
|
render() {
|
|
213
|
-
return <div style={
|
|
224
|
+
return <div style={_mergeEleStyles(_styleSheet["header1"], _styleSheet["header2"])} />;
|
|
214
225
|
}
|
|
215
226
|
|
|
216
227
|
}`)
|
|
@@ -229,13 +240,15 @@ class App extends Component {
|
|
|
229
240
|
import appCssStyleSheet from "./app.css";
|
|
230
241
|
import style from "./style.css";
|
|
231
242
|
|
|
243
|
+
${mergeEleStylesFunctionTemplate}
|
|
244
|
+
|
|
232
245
|
${mergeStylesFunctionTemplate}
|
|
233
246
|
|
|
234
247
|
var _styleSheet = _mergeStyles(appCssStyleSheet, style);
|
|
235
248
|
|
|
236
249
|
class App extends Component {
|
|
237
250
|
render() {
|
|
238
|
-
return <div style={
|
|
251
|
+
return <div style={_mergeEleStyles(_styleSheet["header2"], style.header1)} />;
|
|
239
252
|
}
|
|
240
253
|
|
|
241
254
|
}`)
|
|
@@ -254,13 +267,16 @@ class App extends Component {
|
|
|
254
267
|
}
|
|
255
268
|
}`)).toBe(`import { createElement, Component } from 'rax';
|
|
256
269
|
import appCssStyleSheet from "./app.css";
|
|
270
|
+
|
|
271
|
+
${mergeEleStylesFunctionTemplate}
|
|
272
|
+
|
|
257
273
|
var _styleSheet = appCssStyleSheet;
|
|
258
274
|
|
|
259
275
|
class App extends Component {
|
|
260
276
|
render() {
|
|
261
|
-
return <div style={
|
|
277
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], {
|
|
262
278
|
height: 100
|
|
263
|
-
}
|
|
279
|
+
})} />;
|
|
264
280
|
}\n
|
|
265
281
|
}`)
|
|
266
282
|
})
|
|
@@ -279,13 +295,15 @@ class App extends Component {
|
|
|
279
295
|
import appCssStyleSheet from "./app.css";
|
|
280
296
|
import style from "./style.css";
|
|
281
297
|
|
|
298
|
+
${mergeEleStylesFunctionTemplate}
|
|
299
|
+
|
|
282
300
|
${mergeStylesFunctionTemplate}
|
|
283
301
|
|
|
284
302
|
var _styleSheet = _mergeStyles(appCssStyleSheet, style);
|
|
285
303
|
|
|
286
304
|
class App extends Component {
|
|
287
305
|
render() {
|
|
288
|
-
return <div style={
|
|
306
|
+
return <div style={_mergeEleStyles(_styleSheet["header2"], style.header1, style.header3)} />;
|
|
289
307
|
}\n
|
|
290
308
|
}`)
|
|
291
309
|
})
|
|
@@ -407,11 +425,14 @@ import './app.less';
|
|
|
407
425
|
render(<div className="header" style={{width: 100, height: 100}} />);
|
|
408
426
|
`)).toBe(`import { createElement, render } from 'rax';
|
|
409
427
|
import appLessStyleSheet from "./app.less";
|
|
428
|
+
|
|
429
|
+
${mergeEleStylesFunctionTemplate}
|
|
430
|
+
|
|
410
431
|
var _styleSheet = appLessStyleSheet;
|
|
411
|
-
render(<div style={
|
|
432
|
+
render(<div style={_mergeEleStyles(_styleSheet["header"], {
|
|
412
433
|
width: 100,
|
|
413
434
|
height: 100
|
|
414
|
-
}
|
|
435
|
+
})} />);`)
|
|
415
436
|
})
|
|
416
437
|
it('transform styleAttribute inline string', () => {
|
|
417
438
|
expect(getTransfromCode(`
|
|
@@ -436,15 +457,18 @@ import './app.less';
|
|
|
436
457
|
render(<div className="header" style="width:100px;height:100px;background-color:rgba(0, 0, 0, 0.5);border: 1px solid;" />);
|
|
437
458
|
`)).toBe(`import { createElement, render } from 'rax';
|
|
438
459
|
import appLessStyleSheet from "./app.less";
|
|
460
|
+
|
|
461
|
+
${mergeEleStylesFunctionTemplate}
|
|
462
|
+
|
|
439
463
|
var _styleSheet = appLessStyleSheet;
|
|
440
|
-
render(<div style={
|
|
464
|
+
render(<div style={_mergeEleStyles(_styleSheet["header"], {
|
|
441
465
|
"width": 100,
|
|
442
466
|
"height": 100,
|
|
443
467
|
"backgroundColor": "rgba(0, 0, 0, 0.5)",
|
|
444
468
|
"borderWidth": 1,
|
|
445
469
|
"borderStyle": "solid",
|
|
446
470
|
"borderColor": "black"
|
|
447
|
-
}
|
|
471
|
+
})} />);`)
|
|
448
472
|
})
|
|
449
473
|
|
|
450
474
|
it('ignore merge stylesheet when css module enable', () => {
|
|
@@ -460,11 +484,14 @@ class App extends Component {
|
|
|
460
484
|
}`, false, { enableCSSModule: true })).toBe(`import { createElement, Component } from 'rax';
|
|
461
485
|
import appScssStyleSheet from "./app.scss";
|
|
462
486
|
import styleSheet from './app.module.scss';
|
|
487
|
+
|
|
488
|
+
${mergeEleStylesFunctionTemplate}
|
|
489
|
+
|
|
463
490
|
var _styleSheet = appScssStyleSheet;
|
|
464
491
|
|
|
465
492
|
class App extends Component {
|
|
466
493
|
render() {
|
|
467
|
-
return <div style={
|
|
494
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], styleSheet.red)} />;
|
|
468
495
|
}\n
|
|
469
496
|
}`)
|
|
470
497
|
})
|
|
@@ -585,13 +612,15 @@ class App extends Component {
|
|
|
585
612
|
import appScssStyleSheet from "./app.scss";
|
|
586
613
|
import styleSheet from "./app.module.scss";
|
|
587
614
|
|
|
615
|
+
${mergeEleStylesFunctionTemplate}
|
|
616
|
+
|
|
588
617
|
${mergeStylesFunctionTemplate}
|
|
589
618
|
|
|
590
619
|
var _styleSheet = _mergeStyles(appScssStyleSheet, styleSheet);
|
|
591
620
|
|
|
592
621
|
class App extends Component {
|
|
593
622
|
render() {
|
|
594
|
-
return <div style={
|
|
623
|
+
return <div style={_mergeEleStyles(_styleSheet["header"], styleSheet.red)} />;
|
|
595
624
|
}\n
|
|
596
625
|
}`)
|
|
597
626
|
})
|
|
@@ -649,15 +678,18 @@ class App extends Component {
|
|
|
649
678
|
}
|
|
650
679
|
}`, false, { enableMultipleClassName: true })).toBe(`import { createElement, Component } from 'rax';
|
|
651
680
|
import appCssStyleSheet from "./app.css";
|
|
681
|
+
|
|
682
|
+
${mergeEleStylesFunctionTemplate}
|
|
683
|
+
|
|
652
684
|
var _styleSheet = appCssStyleSheet;
|
|
653
685
|
|
|
654
686
|
class App extends Component {
|
|
655
687
|
render() {
|
|
656
|
-
return <div style={
|
|
688
|
+
return <div style={_mergeEleStyles(_styleSheet["container"], {
|
|
657
689
|
color: "red"
|
|
658
|
-
}
|
|
690
|
+
})} headerStyle={_mergeEleStyles(_styleSheet["header"], {
|
|
659
691
|
color: "green"
|
|
660
|
-
}
|
|
692
|
+
})} />;
|
|
661
693
|
}
|
|
662
694
|
|
|
663
695
|
}`)
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
23
|
};
|
|
5
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
25
|
+
const path = __importStar(require("path"));
|
|
7
26
|
const camelize_1 = __importDefault(require("camelize"));
|
|
8
27
|
const taro_css_to_react_native_1 = require("taro-css-to-react-native");
|
|
9
28
|
const STYLE_SHEET_NAME = '_styleSheet';
|
|
10
29
|
const GET_STYLE_FUNC_NAME = '_getStyle';
|
|
11
30
|
const MERGE_STYLES_FUNC_NAME = '_mergeStyles';
|
|
31
|
+
const MERGE_ELE_STYLES_FUNC_NAME = '_mergeEleStyles';
|
|
12
32
|
const GET_CLS_NAME_FUNC_NAME = '_getClassName';
|
|
13
33
|
const NAME_SUFFIX = 'styleSheet';
|
|
14
34
|
const RN_CSS_EXT = ['.css', '.scss', '.sass', '.less', '.styl', '.stylus'];
|
|
15
35
|
const isStyle = value => {
|
|
16
|
-
const ext =
|
|
36
|
+
const ext = path.extname(value);
|
|
17
37
|
return RN_CSS_EXT.indexOf(ext) > -1;
|
|
18
38
|
};
|
|
19
39
|
// 样式文件带有 .module./.linaria. 若开启 css module 则走 css module 逻辑
|
|
@@ -23,7 +43,7 @@ const string2Object = str => {
|
|
|
23
43
|
.split(';')
|
|
24
44
|
.map(l => {
|
|
25
45
|
var _a;
|
|
26
|
-
const arr = l.split(':');
|
|
46
|
+
const arr = l.split(':').map(it => it.trim());
|
|
27
47
|
arr[1] = (_a = arr[1]) === null || _a === void 0 ? void 0 : _a.replace(/px/g, 'PX');
|
|
28
48
|
return arr;
|
|
29
49
|
});
|
|
@@ -94,6 +114,12 @@ function ${GET_CLS_NAME_FUNC_NAME}() {
|
|
|
94
114
|
return className.join(' ').trim();
|
|
95
115
|
}
|
|
96
116
|
`;
|
|
117
|
+
// like: `[[styles.header, styles.header1], styles.header2]`
|
|
118
|
+
const getMergeEleStyleFunction = `
|
|
119
|
+
function ${MERGE_ELE_STYLES_FUNC_NAME}() {
|
|
120
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {})
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
97
123
|
const getStyleFunction = `
|
|
98
124
|
function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
99
125
|
var className = ${GET_CLS_NAME_FUNC_NAME}(classNameExpression);
|
|
@@ -105,10 +131,9 @@ function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
|
105
131
|
`;
|
|
106
132
|
function default_1(babel) {
|
|
107
133
|
const { types: t, template } = babel;
|
|
108
|
-
const
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
const getStyleFunctionStmt = getStyleFunctionTemplete();
|
|
134
|
+
const getClassNameFunctionStmt = template(getClassNameFunction)();
|
|
135
|
+
const getStyleFunctionStmt = template(getStyleFunction)();
|
|
136
|
+
const getMergeEleStyleFunctionStmt = template(getMergeEleStyleFunction)();
|
|
112
137
|
function getMap(str) {
|
|
113
138
|
return str.split(/\s+/).map((className) => {
|
|
114
139
|
// return template(`${STYLE_SHEET_NAME}["${className}"]`)().expression
|
|
@@ -255,20 +280,24 @@ function default_1(babel) {
|
|
|
255
280
|
const node = astPath.node;
|
|
256
281
|
const injectGetStyle = file.get('injectGetStyle');
|
|
257
282
|
// 从最后一个import 开始插入表达式,后续插入的表达式追加在后面
|
|
258
|
-
|
|
283
|
+
let lastImportIndex = findLastImportIndex(node.body);
|
|
259
284
|
if (injectGetStyle) {
|
|
260
285
|
// @ts-ignore
|
|
261
|
-
node.body.splice(lastImportIndex
|
|
286
|
+
node.body.splice(++lastImportIndex, 0, getClassNameFunctionStmt);
|
|
262
287
|
// @ts-ignore
|
|
263
|
-
node.body.splice(lastImportIndex
|
|
288
|
+
node.body.splice(++lastImportIndex, 0, getStyleFunctionStmt);
|
|
289
|
+
}
|
|
290
|
+
if (file.get('hasMultiStyle')) {
|
|
291
|
+
// @ts-ignore
|
|
292
|
+
node.body.splice(++lastImportIndex, 0, getMergeEleStyleFunctionStmt);
|
|
264
293
|
}
|
|
265
294
|
existStyleImport = false;
|
|
266
295
|
}
|
|
267
296
|
},
|
|
268
297
|
JSXOpeningElement(astPath, state) {
|
|
269
298
|
const { node } = astPath;
|
|
270
|
-
const { file, opts } = state;
|
|
271
|
-
const { enableMultipleClassName } = opts;
|
|
299
|
+
const { file, opts = {} } = state;
|
|
300
|
+
const { enableMultipleClassName = false } = opts;
|
|
272
301
|
const { styleMatchRule, classNameMathRule } = getMatchRule(enableMultipleClassName);
|
|
273
302
|
const cssModuleStylesheets = file.get('cssModuleStylesheets') || [];
|
|
274
303
|
const styleNameMapping = {};
|
|
@@ -314,7 +343,11 @@ function default_1(babel) {
|
|
|
314
343
|
if (arrayExpression.length === 0) {
|
|
315
344
|
return;
|
|
316
345
|
}
|
|
346
|
+
if (arrayExpression.length > 1) {
|
|
347
|
+
file.set('hasMultiStyle', true);
|
|
348
|
+
}
|
|
317
349
|
if (hasStyleAttribute && styleAttribute.value) {
|
|
350
|
+
file.set('hasMultiStyle', true);
|
|
318
351
|
let expression;
|
|
319
352
|
// 支持 行内 style 转成oject:style="width:100;height:100;" => style={{width:'100',height:'100'}}
|
|
320
353
|
if (t.isStringLiteral(styleAttribute.value)) {
|
|
@@ -325,9 +358,11 @@ function default_1(babel) {
|
|
|
325
358
|
expression = styleAttribute.value.expression;
|
|
326
359
|
}
|
|
327
360
|
const expressionType = expression.type;
|
|
361
|
+
let _arrayExpression;
|
|
362
|
+
// 非rn场景,style不支持数组,因此需要将数组转换为对象
|
|
328
363
|
// style={[styles.a, styles.b]} ArrayExpression
|
|
329
364
|
if (expressionType === 'ArrayExpression') {
|
|
330
|
-
|
|
365
|
+
_arrayExpression = arrayExpression.concat(expression.elements);
|
|
331
366
|
// style={styles.a} MemberExpression
|
|
332
367
|
// style={{ height: 100 }} ObjectExpression
|
|
333
368
|
// style={{ ...custom }} ObjectExpression
|
|
@@ -337,11 +372,14 @@ function default_1(babel) {
|
|
|
337
372
|
// style={custom || other} LogicalExpression
|
|
338
373
|
}
|
|
339
374
|
else {
|
|
340
|
-
|
|
375
|
+
_arrayExpression = arrayExpression.concat(expression);
|
|
341
376
|
}
|
|
377
|
+
styleAttribute.value = t.jSXExpressionContainer(t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), _arrayExpression));
|
|
342
378
|
}
|
|
343
379
|
else {
|
|
344
|
-
const expression = arrayExpression.length
|
|
380
|
+
const expression = arrayExpression.length > 1
|
|
381
|
+
? t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), arrayExpression)
|
|
382
|
+
: arrayExpression[0];
|
|
345
383
|
attributes.push(t.jSXAttribute(t.jSXIdentifier(key === DEFAULT_STYLE_KEY ? key : (key + 'Style')), t.jSXExpressionContainer(expression)));
|
|
346
384
|
}
|
|
347
385
|
}
|
|
@@ -364,7 +402,7 @@ function importDeclaration(astPath, state, t) {
|
|
|
364
402
|
const node = astPath.node;
|
|
365
403
|
const sourceValue = node.source.value;
|
|
366
404
|
const specifiers = node.specifiers;
|
|
367
|
-
const ext =
|
|
405
|
+
const ext = path.extname(sourceValue);
|
|
368
406
|
const styleSheetIdentifiers = file.get('styleSheetIdentifiers') || [];
|
|
369
407
|
const cssModuleStylesheets = file.get('cssModuleStylesheets') || [];
|
|
370
408
|
const enableCSSModule = (_a = state.opts) === null || _a === void 0 ? void 0 : _a.enableCSSModule;
|
|
@@ -382,8 +420,8 @@ function importDeclaration(astPath, state, t) {
|
|
|
382
420
|
}
|
|
383
421
|
}
|
|
384
422
|
else {
|
|
385
|
-
const cssFileName =
|
|
386
|
-
const cssFileBaseName =
|
|
423
|
+
const cssFileName = path.basename(sourceValue);
|
|
424
|
+
const cssFileBaseName = path.basename(cssFileName, ext);
|
|
387
425
|
// 引入样式对应的变量名
|
|
388
426
|
const styleSheetSource = sourceValue;
|
|
389
427
|
let styleSheetIdentifierName;
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-transform-react-jsx-to-rn-stylesheet",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.5",
|
|
4
4
|
"description": "Transform stylesheet selector to style in JSX Elements.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"camelize": "^1.0.0",
|
|
27
|
-
"taro-css-to-react-native": "3.4.
|
|
27
|
+
"taro-css-to-react-native": "3.4.5"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/babel__core": "^7.1.14"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "789e873f7b9477124b44a900cd4f6a2810e4e06a"
|
|
33
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import path from 'path'
|
|
1
|
+
import * as path from 'path'
|
|
2
2
|
import camelize from 'camelize'
|
|
3
3
|
import { transformCSS } from 'taro-css-to-react-native'
|
|
4
4
|
import { types as Types, template as Template, PluginObj } from 'babel__core'
|
|
@@ -7,6 +7,8 @@ import { ConvertPluginPass as PluginPass } from './types'
|
|
|
7
7
|
const STYLE_SHEET_NAME = '_styleSheet'
|
|
8
8
|
const GET_STYLE_FUNC_NAME = '_getStyle'
|
|
9
9
|
const MERGE_STYLES_FUNC_NAME = '_mergeStyles'
|
|
10
|
+
const MERGE_ELE_STYLES_FUNC_NAME = '_mergeEleStyles'
|
|
11
|
+
|
|
10
12
|
const GET_CLS_NAME_FUNC_NAME = '_getClassName'
|
|
11
13
|
const NAME_SUFFIX = 'styleSheet'
|
|
12
14
|
const RN_CSS_EXT = ['.css', '.scss', '.sass', '.less', '.styl', '.stylus']
|
|
@@ -23,7 +25,7 @@ const string2Object = str => {
|
|
|
23
25
|
const entries = str.replace(/;+$/g, '')
|
|
24
26
|
.split(';')
|
|
25
27
|
.map(l => {
|
|
26
|
-
const arr = l.split(':')
|
|
28
|
+
const arr = l.split(':').map(it => it.trim())
|
|
27
29
|
arr[1] = arr[1]?.replace(/px/g, 'PX')
|
|
28
30
|
return arr
|
|
29
31
|
})
|
|
@@ -97,6 +99,12 @@ function ${GET_CLS_NAME_FUNC_NAME}() {
|
|
|
97
99
|
return className.join(' ').trim();
|
|
98
100
|
}
|
|
99
101
|
`
|
|
102
|
+
// like: `[[styles.header, styles.header1], styles.header2]`
|
|
103
|
+
const getMergeEleStyleFunction = `
|
|
104
|
+
function ${MERGE_ELE_STYLES_FUNC_NAME}() {
|
|
105
|
+
return [].concat.apply([], arguments).reduce((pre, cur) => Object.assign(pre, cur), {})
|
|
106
|
+
}
|
|
107
|
+
`
|
|
100
108
|
const getStyleFunction = `
|
|
101
109
|
function ${GET_STYLE_FUNC_NAME}(classNameExpression) {
|
|
102
110
|
var className = ${GET_CLS_NAME_FUNC_NAME}(classNameExpression);
|
|
@@ -113,10 +121,11 @@ export default function (babel: {
|
|
|
113
121
|
}): PluginObj {
|
|
114
122
|
const { types: t, template } = babel
|
|
115
123
|
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
124
|
+
const getClassNameFunctionStmt = template(getClassNameFunction)()
|
|
125
|
+
|
|
126
|
+
const getStyleFunctionStmt = template(getStyleFunction)()
|
|
127
|
+
|
|
128
|
+
const getMergeEleStyleFunctionStmt = template(getMergeEleStyleFunction)()
|
|
120
129
|
|
|
121
130
|
function getMap (str) {
|
|
122
131
|
return str.split(/\s+/).map((className) => {
|
|
@@ -273,21 +282,24 @@ export default function (babel: {
|
|
|
273
282
|
const node = astPath.node
|
|
274
283
|
const injectGetStyle = file.get('injectGetStyle')
|
|
275
284
|
// 从最后一个import 开始插入表达式,后续插入的表达式追加在后面
|
|
276
|
-
|
|
277
|
-
|
|
285
|
+
let lastImportIndex = findLastImportIndex(node.body)
|
|
278
286
|
if (injectGetStyle) {
|
|
279
287
|
// @ts-ignore
|
|
280
|
-
node.body.splice(lastImportIndex
|
|
288
|
+
node.body.splice(++lastImportIndex, 0, getClassNameFunctionStmt)
|
|
289
|
+
// @ts-ignore
|
|
290
|
+
node.body.splice(++lastImportIndex, 0, getStyleFunctionStmt)
|
|
291
|
+
}
|
|
292
|
+
if (file.get('hasMultiStyle')) {
|
|
281
293
|
// @ts-ignore
|
|
282
|
-
node.body.splice(lastImportIndex
|
|
294
|
+
node.body.splice(++lastImportIndex, 0, getMergeEleStyleFunctionStmt)
|
|
283
295
|
}
|
|
284
296
|
existStyleImport = false
|
|
285
297
|
}
|
|
286
298
|
},
|
|
287
299
|
JSXOpeningElement (astPath, state: PluginPass) {
|
|
288
300
|
const { node } = astPath
|
|
289
|
-
const { file, opts } = state
|
|
290
|
-
const { enableMultipleClassName } = opts
|
|
301
|
+
const { file, opts = {} } = state
|
|
302
|
+
const { enableMultipleClassName = false } = opts
|
|
291
303
|
const { styleMatchRule, classNameMathRule } = getMatchRule(enableMultipleClassName)
|
|
292
304
|
const cssModuleStylesheets = file.get('cssModuleStylesheets') || []
|
|
293
305
|
|
|
@@ -339,7 +351,12 @@ export default function (babel: {
|
|
|
339
351
|
return
|
|
340
352
|
}
|
|
341
353
|
|
|
354
|
+
if (arrayExpression.length > 1) {
|
|
355
|
+
file.set('hasMultiStyle', true)
|
|
356
|
+
}
|
|
357
|
+
|
|
342
358
|
if (hasStyleAttribute && styleAttribute.value) {
|
|
359
|
+
file.set('hasMultiStyle', true)
|
|
343
360
|
let expression
|
|
344
361
|
// 支持 行内 style 转成oject:style="width:100;height:100;" => style={{width:'100',height:'100'}}
|
|
345
362
|
if (t.isStringLiteral(styleAttribute.value)) {
|
|
@@ -350,9 +367,11 @@ export default function (babel: {
|
|
|
350
367
|
}
|
|
351
368
|
const expressionType = expression.type
|
|
352
369
|
|
|
370
|
+
let _arrayExpression
|
|
371
|
+
// 非rn场景,style不支持数组,因此需要将数组转换为对象
|
|
353
372
|
// style={[styles.a, styles.b]} ArrayExpression
|
|
354
373
|
if (expressionType === 'ArrayExpression') {
|
|
355
|
-
|
|
374
|
+
_arrayExpression = arrayExpression.concat(expression.elements)
|
|
356
375
|
// style={styles.a} MemberExpression
|
|
357
376
|
// style={{ height: 100 }} ObjectExpression
|
|
358
377
|
// style={{ ...custom }} ObjectExpression
|
|
@@ -361,10 +380,13 @@ export default function (babel: {
|
|
|
361
380
|
// style={this.props.useCustom ? custom : null} ConditionalExpression
|
|
362
381
|
// style={custom || other} LogicalExpression
|
|
363
382
|
} else {
|
|
364
|
-
|
|
383
|
+
_arrayExpression = arrayExpression.concat(expression)
|
|
365
384
|
}
|
|
385
|
+
styleAttribute.value = t.jSXExpressionContainer(t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), _arrayExpression))
|
|
366
386
|
} else {
|
|
367
|
-
const expression = arrayExpression.length
|
|
387
|
+
const expression = arrayExpression.length > 1
|
|
388
|
+
? t.callExpression(t.identifier(MERGE_ELE_STYLES_FUNC_NAME), arrayExpression)
|
|
389
|
+
: arrayExpression[0]
|
|
368
390
|
attributes.push(t.jSXAttribute(t.jSXIdentifier(key === DEFAULT_STYLE_KEY ? key : (key + 'Style')), t.jSXExpressionContainer(expression)))
|
|
369
391
|
}
|
|
370
392
|
} else if (hasStyleAttribute) {
|
package/src/types.ts
CHANGED
package/tsconfig.json
CHANGED
|
@@ -1,31 +1,15 @@
|
|
|
1
1
|
{
|
|
2
|
+
"extends": "../../tsconfig.root.json",
|
|
2
3
|
"compilerOptions": {
|
|
3
4
|
"target": "ES2017",
|
|
4
|
-
"module": "
|
|
5
|
-
"removeComments": false,
|
|
6
|
-
"preserveConstEnums": false,
|
|
7
|
-
"moduleResolution": "node",
|
|
8
|
-
"experimentalDecorators": true,
|
|
9
|
-
"noImplicitAny": false,
|
|
10
|
-
"allowSyntheticDefaultImports": true,
|
|
11
|
-
"esModuleInterop": true,
|
|
5
|
+
"module": "commonjs",
|
|
12
6
|
"outDir": "dist",
|
|
13
|
-
"noUnusedLocals": true,
|
|
14
|
-
"noUnusedParameters": true,
|
|
15
|
-
"strictNullChecks": false,
|
|
16
|
-
"resolveJsonModule": true,
|
|
17
7
|
"sourceMap": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
18
9
|
"rootDir": "./src",
|
|
19
10
|
"types": ["node"]
|
|
20
11
|
},
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
"dist",
|
|
25
|
-
"tests",
|
|
26
|
-
"jest",
|
|
27
|
-
"**/*.test.ts",
|
|
28
|
-
"**/*.spec.ts"
|
|
29
|
-
],
|
|
30
|
-
"compileOnSave": false
|
|
12
|
+
"include": [
|
|
13
|
+
"./src"
|
|
14
|
+
]
|
|
31
15
|
}
|