@htyf-mp/taro-rn-style-transformer 0.0.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/README.md +174 -0
- package/dist/config/rn-stylelint.json +4 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +86 -0
- package/dist/index.js.map +1 -0
- package/dist/transforms/StyleSheet/ColorPropType.d.ts +10 -0
- package/dist/transforms/StyleSheet/ColorPropType.js +76 -0
- package/dist/transforms/StyleSheet/ColorPropType.js.map +1 -0
- package/dist/transforms/StyleSheet/ImageResizeMode.d.ts +6 -0
- package/dist/transforms/StyleSheet/ImageResizeMode.js +54 -0
- package/dist/transforms/StyleSheet/ImageResizeMode.js.map +1 -0
- package/dist/transforms/StyleSheet/ImageStylePropTypes.d.ts +106 -0
- package/dist/transforms/StyleSheet/ImageStylePropTypes.js +81 -0
- package/dist/transforms/StyleSheet/ImageStylePropTypes.js.map +1 -0
- package/dist/transforms/StyleSheet/LayoutPropTypes.d.ts +399 -0
- package/dist/transforms/StyleSheet/LayoutPropTypes.js +566 -0
- package/dist/transforms/StyleSheet/LayoutPropTypes.js.map +1 -0
- package/dist/transforms/StyleSheet/ShadowPropTypesIOS.d.ts +32 -0
- package/dist/transforms/StyleSheet/ShadowPropTypesIOS.js +86 -0
- package/dist/transforms/StyleSheet/ShadowPropTypesIOS.js.map +1 -0
- package/dist/transforms/StyleSheet/StyleSheetValidation.d.ts +15 -0
- package/dist/transforms/StyleSheet/StyleSheetValidation.js +71 -0
- package/dist/transforms/StyleSheet/StyleSheetValidation.js.map +1 -0
- package/dist/transforms/StyleSheet/TextStylePropTypes.d.ts +154 -0
- package/dist/transforms/StyleSheet/TextStylePropTypes.js +127 -0
- package/dist/transforms/StyleSheet/TextStylePropTypes.js.map +1 -0
- package/dist/transforms/StyleSheet/TransformPropTypes.d.ts +45 -0
- package/dist/transforms/StyleSheet/TransformPropTypes.js +129 -0
- package/dist/transforms/StyleSheet/TransformPropTypes.js.map +1 -0
- package/dist/transforms/StyleSheet/ViewStylePropTypes.d.ts +126 -0
- package/dist/transforms/StyleSheet/ViewStylePropTypes.js +72 -0
- package/dist/transforms/StyleSheet/ViewStylePropTypes.js.map +1 -0
- package/dist/transforms/StyleSheet/deprecatedPropType.d.ts +13 -0
- package/dist/transforms/StyleSheet/deprecatedPropType.js +32 -0
- package/dist/transforms/StyleSheet/deprecatedPropType.js.map +1 -0
- package/dist/transforms/StyleSheet/index.d.ts +2 -0
- package/dist/transforms/StyleSheet/index.js +9 -0
- package/dist/transforms/StyleSheet/index.js.map +1 -0
- package/dist/transforms/StyleSheet/normalizeColor.d.ts +10 -0
- package/dist/transforms/StyleSheet/normalizeColor.js +341 -0
- package/dist/transforms/StyleSheet/normalizeColor.js.map +1 -0
- package/dist/transforms/index.d.ts +56 -0
- package/dist/transforms/index.js +221 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/less.d.ts +2 -0
- package/dist/transforms/less.js +70 -0
- package/dist/transforms/less.js.map +1 -0
- package/dist/transforms/postcss.d.ts +13 -0
- package/dist/transforms/postcss.js +135 -0
- package/dist/transforms/postcss.js.map +1 -0
- package/dist/transforms/sass.d.ts +2 -0
- package/dist/transforms/sass.js +162 -0
- package/dist/transforms/sass.js.map +1 -0
- package/dist/transforms/stylus.d.ts +3 -0
- package/dist/transforms/stylus.js +110 -0
- package/dist/transforms/stylus.js.map +1 -0
- package/dist/types/index.d.ts +205 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.js +240 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lessImport.d.ts +5 -0
- package/dist/utils/lessImport.js +45 -0
- package/dist/utils/lessImport.js.map +1 -0
- package/dist/utils/reporterSkip.d.ts +7 -0
- package/dist/utils/reporterSkip.js +27 -0
- package/dist/utils/reporterSkip.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Config, PostcssConfig, TransformOptions } from '../types';
|
|
2
|
+
export declare function getWrapedCSS(css: any): string;
|
|
3
|
+
interface PostcssParam {
|
|
4
|
+
css: string;
|
|
5
|
+
map: any;
|
|
6
|
+
filename: string;
|
|
7
|
+
additionalData: string;
|
|
8
|
+
postcssConfig: PostcssConfig;
|
|
9
|
+
transformOptions: TransformOptions;
|
|
10
|
+
}
|
|
11
|
+
export default class StyleTransform {
|
|
12
|
+
config: Config;
|
|
13
|
+
processConfigMap: Map<any, any>;
|
|
14
|
+
constructor(config: Config);
|
|
15
|
+
init: (config: Config) => void;
|
|
16
|
+
/**
|
|
17
|
+
* @description 样式文件处理
|
|
18
|
+
* @param {string} src
|
|
19
|
+
* @param {string} filename
|
|
20
|
+
* @param {object} options
|
|
21
|
+
*/
|
|
22
|
+
processStyle(src: string, filename: string, options: TransformOptions): Promise<{
|
|
23
|
+
css: string;
|
|
24
|
+
lastPlugin: import("postcss/lib/postcss").Plugin | import("postcss/lib/postcss").TransformCallback;
|
|
25
|
+
map: import("postcss/lib/postcss").SourceMap;
|
|
26
|
+
messages: import("postcss/lib/result").Message[];
|
|
27
|
+
opts: import("postcss/lib/result").ResultOptions;
|
|
28
|
+
processor: import("postcss/lib/processor").default;
|
|
29
|
+
root: import("postcss/lib/root").default;
|
|
30
|
+
filename: string;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* postcss处理
|
|
34
|
+
* @param param0 PostcssParam
|
|
35
|
+
* @returns {Promise | any}
|
|
36
|
+
*/
|
|
37
|
+
postCSS({ css, map, filename, postcssConfig, transformOptions, additionalData }: PostcssParam): Promise<{
|
|
38
|
+
css: string;
|
|
39
|
+
lastPlugin: import("postcss/lib/postcss").Plugin | import("postcss/lib/postcss").TransformCallback;
|
|
40
|
+
map: import("postcss/lib/postcss").SourceMap;
|
|
41
|
+
messages: import("postcss/lib/result").Message[];
|
|
42
|
+
opts: import("postcss/lib/result").ResultOptions;
|
|
43
|
+
processor: import("postcss/lib/processor").default;
|
|
44
|
+
root: import("postcss/lib/root").default;
|
|
45
|
+
filename: string;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* @description 处理样式入口
|
|
49
|
+
* @param {string} src
|
|
50
|
+
* @param {string} filename
|
|
51
|
+
* @param {object} transform
|
|
52
|
+
* @return {string} JSONString
|
|
53
|
+
*/
|
|
54
|
+
transform(src: string, filename: string, options: TransformOptions): Promise<string>;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.getWrapedCSS = getWrapedCSS;
|
|
40
|
+
const path = __importStar(require("node:path"));
|
|
41
|
+
const helper_1 = require("@tarojs/helper");
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
const taro_css_to_react_native_1 = __importDefault(require("taro-css-to-react-native"));
|
|
44
|
+
const utils_1 = require("../utils");
|
|
45
|
+
const less_1 = __importDefault(require("./less"));
|
|
46
|
+
const postcss_1 = __importStar(require("./postcss"));
|
|
47
|
+
const sass_1 = __importDefault(require("./sass"));
|
|
48
|
+
const StyleSheet_1 = require("./StyleSheet");
|
|
49
|
+
const stylus_1 = __importStar(require("./stylus"));
|
|
50
|
+
// @ts-ignore
|
|
51
|
+
function getWrapedCSS(css) {
|
|
52
|
+
return `
|
|
53
|
+
import { StyleSheet } from 'react-native'
|
|
54
|
+
import { scalePx2dp, scaleVu2dp } from '@htyf-mp/taro-runtime-rn'
|
|
55
|
+
|
|
56
|
+
// 用来标识 rn-runner transformer 是否读写缓存
|
|
57
|
+
function ignoreStyleFileCache() {}
|
|
58
|
+
|
|
59
|
+
export default StyleSheet.create(${css})
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 校验样式
|
|
64
|
+
*/
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
function validateStyle({ styleObject, filename }) {
|
|
67
|
+
for (const name in styleObject) {
|
|
68
|
+
try {
|
|
69
|
+
StyleSheet_1.StyleSheetValidation.validateStyle(name, styleObject);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
// 先忽略掉 scalePx2dp 的报错
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
if (/Invalid prop `.*` of type `string` supplied to `.*`, expected `number`[^]*/g.test(err.message))
|
|
75
|
+
return;
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
(0, helper_1.printLog)("warning" /* processTypeEnum.WARNING */, err.message, `entry file: ${filename}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const designWidth = 750;
|
|
82
|
+
const deviceRatio = {
|
|
83
|
+
640: 2.34 / 2,
|
|
84
|
+
750: 1,
|
|
85
|
+
828: 1.81 / 2
|
|
86
|
+
};
|
|
87
|
+
const DEFAULT_RN_CONFIG = {
|
|
88
|
+
["postcss" /* ProcessTypes.POSTCSS */]: {
|
|
89
|
+
options: {},
|
|
90
|
+
scalable: true
|
|
91
|
+
},
|
|
92
|
+
["sass" /* ProcessTypes.SASS */]: {
|
|
93
|
+
options: {}
|
|
94
|
+
},
|
|
95
|
+
["less" /* ProcessTypes.LESS */]: {
|
|
96
|
+
options: {}
|
|
97
|
+
},
|
|
98
|
+
["stylus" /* ProcessTypes.STYLUS */]: {
|
|
99
|
+
options: stylus_1.defaultOptions
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
class StyleTransform {
|
|
103
|
+
constructor(config) {
|
|
104
|
+
this.processConfigMap = new Map();
|
|
105
|
+
this.init = (config) => {
|
|
106
|
+
var _a;
|
|
107
|
+
this.config = {
|
|
108
|
+
designWidth: config.designWidth || designWidth,
|
|
109
|
+
deviceRatio: config.deviceRatio || deviceRatio,
|
|
110
|
+
sass: config.sass || {},
|
|
111
|
+
alias: (_a = config.alias) !== null && _a !== void 0 ? _a : {},
|
|
112
|
+
htyf: (0, helper_1.recursiveMerge)({}, DEFAULT_RN_CONFIG, config.htyf)
|
|
113
|
+
};
|
|
114
|
+
// @ts-ignore
|
|
115
|
+
Reflect.ownKeys(this.config.htyf || {}).forEach((key) => {
|
|
116
|
+
var _a;
|
|
117
|
+
if ([
|
|
118
|
+
"sass" /* ProcessTypes.SASS */,
|
|
119
|
+
"less" /* ProcessTypes.LESS */,
|
|
120
|
+
"stylus" /* ProcessTypes.STYLUS */,
|
|
121
|
+
"postcss" /* ProcessTypes.POSTCSS */
|
|
122
|
+
].includes(key.toLocaleLowerCase())) {
|
|
123
|
+
const processConfig = Object.assign(Object.assign({}, (this.config.htyf || {})[key]), { alias: (_a = config.alias) !== null && _a !== void 0 ? _a : {} });
|
|
124
|
+
if (key.toLocaleLowerCase() === "sass" /* ProcessTypes.SASS */) {
|
|
125
|
+
processConfig.sass = this.config.sass;
|
|
126
|
+
}
|
|
127
|
+
this.processConfigMap.set(key, processConfig);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
this.init(config);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* @description 样式文件处理
|
|
135
|
+
* @param {string} src
|
|
136
|
+
* @param {string} filename
|
|
137
|
+
* @param {object} options
|
|
138
|
+
*/
|
|
139
|
+
async processStyle(src, filename, options) {
|
|
140
|
+
let result;
|
|
141
|
+
let css = src;
|
|
142
|
+
let map;
|
|
143
|
+
let additionalData = '';
|
|
144
|
+
const ext = path.extname(filename);
|
|
145
|
+
if (/.less$/i.test(ext)) {
|
|
146
|
+
result = await (0, less_1.default)(src, filename, this.processConfigMap.get("less" /* ProcessTypes.LESS */));
|
|
147
|
+
}
|
|
148
|
+
else if (/.s(c|a)ss$/i.test(ext)) {
|
|
149
|
+
result = await (0, sass_1.default)(src, filename, this.processConfigMap.get("sass" /* ProcessTypes.SASS */), options);
|
|
150
|
+
}
|
|
151
|
+
else if (/.styl(us)?$/i.test(ext)) {
|
|
152
|
+
result = await (0, stylus_1.default)(src, filename, this.processConfigMap.get("stylus" /* ProcessTypes.STYLUS */));
|
|
153
|
+
}
|
|
154
|
+
if (result) {
|
|
155
|
+
css = Buffer.isBuffer(result.css) ? result.css.toString() : result.css;
|
|
156
|
+
map = Buffer.isBuffer(result.map) ? result.map.toString() : result.map;
|
|
157
|
+
additionalData = result.additionalData;
|
|
158
|
+
}
|
|
159
|
+
// postcss 插件,比如处理平台特有样式,单位转换
|
|
160
|
+
return this.postCSS({
|
|
161
|
+
css,
|
|
162
|
+
map,
|
|
163
|
+
filename,
|
|
164
|
+
additionalData,
|
|
165
|
+
transformOptions: options,
|
|
166
|
+
postcssConfig: this.processConfigMap.get("postcss" /* ProcessTypes.POSTCSS */)
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* postcss处理
|
|
171
|
+
* @param param0 PostcssParam
|
|
172
|
+
* @returns {Promise | any}
|
|
173
|
+
*/
|
|
174
|
+
postCSS({ css, map, filename, postcssConfig, transformOptions, additionalData }) {
|
|
175
|
+
const plugins = (0, postcss_1.makePostcssPlugins)({
|
|
176
|
+
filename,
|
|
177
|
+
postcssConfig,
|
|
178
|
+
transformOptions,
|
|
179
|
+
designWidth: this.config.designWidth,
|
|
180
|
+
deviceRatio: this.config.deviceRatio,
|
|
181
|
+
additionalData: additionalData
|
|
182
|
+
});
|
|
183
|
+
return (0, postcss_1.default)(css, filename, {
|
|
184
|
+
plugins,
|
|
185
|
+
options: Object.assign(Object.assign({}, postcssConfig.options), { map: map && {
|
|
186
|
+
prev: (0, utils_1.normalizeSourceMap)(map, filename),
|
|
187
|
+
inline: false,
|
|
188
|
+
annotation: false
|
|
189
|
+
} })
|
|
190
|
+
}).then(result => {
|
|
191
|
+
return Object.assign(Object.assign({}, result), { filename });
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* @description 处理样式入口
|
|
196
|
+
* @param {string} src
|
|
197
|
+
* @param {string} filename
|
|
198
|
+
* @param {object} transform
|
|
199
|
+
* @return {string} JSONString
|
|
200
|
+
*/
|
|
201
|
+
async transform(src, filename, options) {
|
|
202
|
+
var _a, _b;
|
|
203
|
+
// printLog(processTypeEnum.START, '样式文件处理开始', filename)
|
|
204
|
+
const result = await this.processStyle(src, filename, options);
|
|
205
|
+
// 把 css 转换成对象 rn 的样式,接入 taro 的 css-to-react-native,比如有单位的处理
|
|
206
|
+
const styleObject = (0, taro_css_to_react_native_1.default)(result.css, {
|
|
207
|
+
parseMediaQueries: true,
|
|
208
|
+
scalable: (_b = (_a = this.config.htyf) === null || _a === void 0 ? void 0 : _a.postcss) === null || _b === void 0 ? void 0 : _b.scalable
|
|
209
|
+
});
|
|
210
|
+
// stylelint,转换成对象,对对象进行校验
|
|
211
|
+
validateStyle({ styleObject, filename });
|
|
212
|
+
const css = JSON.stringify(styleObject, null, 2)
|
|
213
|
+
.replace(/"(scalePx2dp\(.*?\))"/g, '$1')
|
|
214
|
+
.replace(/"(scaleVu2dp\(.*?\))"/g, '$1')
|
|
215
|
+
.replace(/\\\\/g, '\\');
|
|
216
|
+
// 注入自适应方法 scalePx2dp
|
|
217
|
+
return getWrapedCSS(css);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
exports.default = StyleTransform;
|
|
221
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transforms/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.default = transform;
|
|
40
|
+
const path = __importStar(require("node:path"));
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
const less_1 = __importDefault(require("less"));
|
|
43
|
+
const utils_1 = require("../utils");
|
|
44
|
+
const lessImport_1 = __importDefault(require("../utils/lessImport"));
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
function renderToCSS(src, filename, options = {}) {
|
|
47
|
+
// default plugins
|
|
48
|
+
const plugins = [(0, lessImport_1.default)(options)];
|
|
49
|
+
// default paths set current filePath
|
|
50
|
+
const paths = [path.dirname(path.resolve(process.cwd(), filename))];
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
less_1.default
|
|
53
|
+
.render(src, Object.assign(Object.assign({}, options), { filename, plugins: plugins.concat(options.plugins || []), paths: paths.concat(options.paths || []) }), (err, result) => {
|
|
54
|
+
if (err) {
|
|
55
|
+
return reject(err.message);
|
|
56
|
+
}
|
|
57
|
+
resolve(result);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function transform(src, filename, config) {
|
|
62
|
+
const additionalData = (0, utils_1.getAdditionalData)(src, config.additionalData);
|
|
63
|
+
const data = (0, utils_1.insertBefore)(src, additionalData);
|
|
64
|
+
return renderToCSS(data, filename, Object.assign({ sourceMap: {
|
|
65
|
+
outputFilename: `${filename}.map`
|
|
66
|
+
}, alias: config.alias }, config.options)).then((result) => {
|
|
67
|
+
return Object.assign(Object.assign({}, result), { additionalData });
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=less.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"less.js","sourceRoot":"","sources":["../../src/transforms/less.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,IAAI,sCAAiB;AAEjC,aAAa;AACb,gDAAuB;AAGvB,oCAA0D;AAC1D,qEAAgD;AAEhD,aAAa;AACb,SAAS,WAAW,CAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAS;IACtD,kBAAkB;IAClB,MAAM,OAAO,GAAG,CAAC,IAAA,oBAAc,EAAC,OAAO,CAAC,CAAC,CAAA;IACzC,qCAAqC;IACrC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,cAAI;aACD,MAAM,CAAC,GAAG,kCACN,OAAO,KACV,QAAQ,EACR,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAC9C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,KAEvC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACjB,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,mBACE,GAAW,EACX,QAAgB,EAChB,MAAkB;IAElB,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IAE9C,OAAO,WAAW,CAChB,IAAI,EACJ,QAAQ,kBAEN,SAAS,EAAE;YACT,cAAc,EAAE,GAAG,QAAQ,MAAM;SAClC,EACD,KAAK,EAAE,MAAM,CAAC,KAAK,IAChB,MAAM,CAAC,OAAO,EAGpB,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;QAC9B,OAAO,gCAAK,MAAM,KAAE,cAAc,GAA4B,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import postcss from 'postcss';
|
|
2
|
+
export declare function makePostcssPlugins({ filename, designWidth, deviceRatio, postcssConfig, transformOptions, additionalData }: {
|
|
3
|
+
additionalData: any;
|
|
4
|
+
designWidth: any;
|
|
5
|
+
deviceRatio: any;
|
|
6
|
+
filename: any;
|
|
7
|
+
postcssConfig: any;
|
|
8
|
+
transformOptions: any;
|
|
9
|
+
}): any[];
|
|
10
|
+
export default function transform(src: string, filename: string, { options, plugins }: {
|
|
11
|
+
options: any;
|
|
12
|
+
plugins: any;
|
|
13
|
+
}): Promise<postcss.Result<postcss.Root>>;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.makePostcssPlugins = makePostcssPlugins;
|
|
40
|
+
exports.default = transform;
|
|
41
|
+
const path = __importStar(require("node:path"));
|
|
42
|
+
const helper_1 = require("@tarojs/helper");
|
|
43
|
+
const postcss_1 = __importDefault(require("postcss"));
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
const postcss_css_variables_1 = __importDefault(require("postcss-css-variables"));
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
const postcss_import_1 = __importDefault(require("postcss-import"));
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
const postcss_pxtransform_1 = __importDefault(require("postcss-pxtransform"));
|
|
50
|
+
const stylelint_1 = __importDefault(require("stylelint"));
|
|
51
|
+
const rn_stylelint_json_1 = __importDefault(require("../config/rn-stylelint.json"));
|
|
52
|
+
const utils_1 = require("../utils");
|
|
53
|
+
const reporterSkip_1 = __importDefault(require("../utils/reporterSkip"));
|
|
54
|
+
const defaultPxtransformOption = {
|
|
55
|
+
enable: true,
|
|
56
|
+
config: {
|
|
57
|
+
platform: 'htyf'
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const defaultPostcssCssVariablesOption = {
|
|
61
|
+
enable: true,
|
|
62
|
+
config: {}
|
|
63
|
+
};
|
|
64
|
+
function makePostcssPlugins({
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
filename,
|
|
67
|
+
// @ts-ignore
|
|
68
|
+
designWidth,
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
deviceRatio,
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
postcssConfig,
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
transformOptions,
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
additionalData }) {
|
|
77
|
+
const optionsWithDefaults = ['pxtransform', 'postcss-import', 'postcss-reporter', 'stylelint', 'cssModules', 'postcss-css-variables'];
|
|
78
|
+
if (designWidth) {
|
|
79
|
+
defaultPxtransformOption.config.designWidth = designWidth;
|
|
80
|
+
}
|
|
81
|
+
if (deviceRatio) {
|
|
82
|
+
defaultPxtransformOption.config.deviceRatio = deviceRatio;
|
|
83
|
+
}
|
|
84
|
+
const pxtransformOption = (0, helper_1.recursiveMerge)({}, defaultPxtransformOption, postcssConfig.pxtransform);
|
|
85
|
+
const postcssCssVariablesOption = (0, helper_1.recursiveMerge)({}, defaultPostcssCssVariablesOption, postcssConfig['postcss-css-variables']);
|
|
86
|
+
const plugins = [
|
|
87
|
+
(0, postcss_import_1.default)({
|
|
88
|
+
resolve: function resolve(id, basedir, options) {
|
|
89
|
+
return (0, utils_1.resolveStyle)(id, Object.assign(Object.assign({}, options), { basedir, defaultExt: '.css', alias: postcssConfig.alias, platform: transformOptions.platform }));
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
];
|
|
93
|
+
if (pxtransformOption.enable) {
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
plugins.push((0, postcss_pxtransform_1.default)(pxtransformOption.config));
|
|
96
|
+
}
|
|
97
|
+
if (postcssCssVariablesOption.enable) {
|
|
98
|
+
plugins.push((0, postcss_css_variables_1.default)(postcssCssVariablesOption.config));
|
|
99
|
+
}
|
|
100
|
+
const skipRows = additionalData ? additionalData.split('\n').length : 0;
|
|
101
|
+
plugins.push(
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
(0, stylelint_1.default)(rn_stylelint_json_1.default),
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
(0, reporterSkip_1.default)({ skipRows, filename }), require('postcss-reporter')({ clearReportedMessages: true }));
|
|
106
|
+
Object.entries(postcssConfig).forEach(([pluginName, pluginOption]) => {
|
|
107
|
+
if (optionsWithDefaults.indexOf(pluginName) > -1)
|
|
108
|
+
return;
|
|
109
|
+
if (!pluginOption || !pluginOption.enable)
|
|
110
|
+
return;
|
|
111
|
+
if (!(0, helper_1.isNpmPkg)(pluginName)) { // local plugin
|
|
112
|
+
pluginName = path.join(process.cwd(), pluginName);
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const pluginPath = (0, helper_1.resolveSync)(pluginName, { basedir: process.cwd() }) || '';
|
|
116
|
+
plugins.push(require(pluginPath)(pluginOption.config || {}));
|
|
117
|
+
}
|
|
118
|
+
catch (e) {
|
|
119
|
+
// @ts-ignore
|
|
120
|
+
const msg = e.code === 'MODULE_NOT_FOUND' ? `缺少postcss插件${pluginName}, 已忽略` : e;
|
|
121
|
+
// @ts-ignore
|
|
122
|
+
(0, helper_1.printLog)("warning" /* processTypeEnum.WARNING */, msg);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return plugins;
|
|
126
|
+
}
|
|
127
|
+
// @ts-ignore
|
|
128
|
+
function transform(src, filename, { options, plugins }) {
|
|
129
|
+
return (0, postcss_1.default)(plugins)
|
|
130
|
+
.process(src, Object.assign({ from: filename }, options))
|
|
131
|
+
.then(result => {
|
|
132
|
+
return result;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=postcss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postcss.js","sourceRoot":"","sources":["../../src/transforms/postcss.ts"],"names":[],"mappings":"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"}
|