@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.
Files changed (69) hide show
  1. package/README.md +174 -0
  2. package/dist/config/rn-stylelint.json +4 -0
  3. package/dist/index.d.ts +8 -0
  4. package/dist/index.js +86 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/transforms/StyleSheet/ColorPropType.d.ts +10 -0
  7. package/dist/transforms/StyleSheet/ColorPropType.js +76 -0
  8. package/dist/transforms/StyleSheet/ColorPropType.js.map +1 -0
  9. package/dist/transforms/StyleSheet/ImageResizeMode.d.ts +6 -0
  10. package/dist/transforms/StyleSheet/ImageResizeMode.js +54 -0
  11. package/dist/transforms/StyleSheet/ImageResizeMode.js.map +1 -0
  12. package/dist/transforms/StyleSheet/ImageStylePropTypes.d.ts +106 -0
  13. package/dist/transforms/StyleSheet/ImageStylePropTypes.js +81 -0
  14. package/dist/transforms/StyleSheet/ImageStylePropTypes.js.map +1 -0
  15. package/dist/transforms/StyleSheet/LayoutPropTypes.d.ts +399 -0
  16. package/dist/transforms/StyleSheet/LayoutPropTypes.js +566 -0
  17. package/dist/transforms/StyleSheet/LayoutPropTypes.js.map +1 -0
  18. package/dist/transforms/StyleSheet/ShadowPropTypesIOS.d.ts +32 -0
  19. package/dist/transforms/StyleSheet/ShadowPropTypesIOS.js +86 -0
  20. package/dist/transforms/StyleSheet/ShadowPropTypesIOS.js.map +1 -0
  21. package/dist/transforms/StyleSheet/StyleSheetValidation.d.ts +15 -0
  22. package/dist/transforms/StyleSheet/StyleSheetValidation.js +71 -0
  23. package/dist/transforms/StyleSheet/StyleSheetValidation.js.map +1 -0
  24. package/dist/transforms/StyleSheet/TextStylePropTypes.d.ts +154 -0
  25. package/dist/transforms/StyleSheet/TextStylePropTypes.js +127 -0
  26. package/dist/transforms/StyleSheet/TextStylePropTypes.js.map +1 -0
  27. package/dist/transforms/StyleSheet/TransformPropTypes.d.ts +45 -0
  28. package/dist/transforms/StyleSheet/TransformPropTypes.js +129 -0
  29. package/dist/transforms/StyleSheet/TransformPropTypes.js.map +1 -0
  30. package/dist/transforms/StyleSheet/ViewStylePropTypes.d.ts +126 -0
  31. package/dist/transforms/StyleSheet/ViewStylePropTypes.js +72 -0
  32. package/dist/transforms/StyleSheet/ViewStylePropTypes.js.map +1 -0
  33. package/dist/transforms/StyleSheet/deprecatedPropType.d.ts +13 -0
  34. package/dist/transforms/StyleSheet/deprecatedPropType.js +32 -0
  35. package/dist/transforms/StyleSheet/deprecatedPropType.js.map +1 -0
  36. package/dist/transforms/StyleSheet/index.d.ts +2 -0
  37. package/dist/transforms/StyleSheet/index.js +9 -0
  38. package/dist/transforms/StyleSheet/index.js.map +1 -0
  39. package/dist/transforms/StyleSheet/normalizeColor.d.ts +10 -0
  40. package/dist/transforms/StyleSheet/normalizeColor.js +341 -0
  41. package/dist/transforms/StyleSheet/normalizeColor.js.map +1 -0
  42. package/dist/transforms/index.d.ts +56 -0
  43. package/dist/transforms/index.js +221 -0
  44. package/dist/transforms/index.js.map +1 -0
  45. package/dist/transforms/less.d.ts +2 -0
  46. package/dist/transforms/less.js +70 -0
  47. package/dist/transforms/less.js.map +1 -0
  48. package/dist/transforms/postcss.d.ts +13 -0
  49. package/dist/transforms/postcss.js +135 -0
  50. package/dist/transforms/postcss.js.map +1 -0
  51. package/dist/transforms/sass.d.ts +2 -0
  52. package/dist/transforms/sass.js +162 -0
  53. package/dist/transforms/sass.js.map +1 -0
  54. package/dist/transforms/stylus.d.ts +3 -0
  55. package/dist/transforms/stylus.js +110 -0
  56. package/dist/transforms/stylus.js.map +1 -0
  57. package/dist/types/index.d.ts +205 -0
  58. package/dist/types/index.js +6 -0
  59. package/dist/types/index.js.map +1 -0
  60. package/dist/utils/index.d.ts +21 -0
  61. package/dist/utils/index.js +240 -0
  62. package/dist/utils/index.js.map +1 -0
  63. package/dist/utils/lessImport.d.ts +5 -0
  64. package/dist/utils/lessImport.js +45 -0
  65. package/dist/utils/lessImport.js.map +1 -0
  66. package/dist/utils/reporterSkip.d.ts +7 -0
  67. package/dist/utils/reporterSkip.js +27 -0
  68. package/dist/utils/reporterSkip.js.map +1 -0
  69. 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,2 @@
1
+ import { LessConfig, RenderAdditionalResult } from '../types';
2
+ export default function transform(src: string, filename: string, config: LessConfig): Promise<RenderAdditionalResult>;
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ import { RenderAdditionalResult, SassConfig, TransformOptions } from '../types';
2
+ export default function transform(src: string, filename: string, config: SassConfig, transformOptions: TransformOptions): Promise<RenderAdditionalResult>;