@tarojs/rn-style-transformer 3.3.4 → 3.3.8
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__/config.spec.js +1 -1
- package/__tests__/index.spec.js +1 -1
- package/__tests__/platform.spec.js +1 -1
- package/dist/transforms/index.js +71 -44
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/less.js +9 -12
- package/dist/transforms/less.js.map +1 -1
- package/dist/transforms/postcss.js +7 -6
- package/dist/transforms/postcss.js.map +1 -1
- package/dist/transforms/sass.js +17 -24
- package/dist/transforms/sass.js.map +1 -1
- package/dist/transforms/stylus.js +14 -11
- package/dist/transforms/stylus.js.map +1 -1
- package/dist/types/index.js +0 -6
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.js +77 -15
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/lessImport.js +1 -2
- package/dist/utils/lessImport.js.map +1 -1
- package/dist/utils/reporterSkip.js +23 -0
- package/dist/utils/reporterSkip.js.map +1 -0
- package/jest.config.js +3 -2
- package/package.json +9 -8
- package/src/transforms/index.ts +113 -41
- package/src/transforms/less.ts +25 -15
- package/src/transforms/postcss.ts +10 -5
- package/src/transforms/sass.ts +39 -29
- package/src/transforms/stylus.ts +26 -14
- package/src/types/index.ts +10 -1
- package/src/utils/index.ts +89 -10
- package/src/utils/reporterSkip.ts +24 -0
package/__tests__/config.spec.js
CHANGED
package/__tests__/index.spec.js
CHANGED
package/dist/transforms/index.js
CHANGED
|
@@ -27,10 +27,11 @@ const path_1 = __importDefault(require("path"));
|
|
|
27
27
|
const taro_css_to_react_native_1 = __importDefault(require("taro-css-to-react-native"));
|
|
28
28
|
const helper_1 = require("@tarojs/helper");
|
|
29
29
|
const postcss_1 = __importStar(require("./postcss"));
|
|
30
|
-
const sass_1 =
|
|
30
|
+
const sass_1 = __importDefault(require("./sass"));
|
|
31
31
|
const less_1 = __importDefault(require("./less"));
|
|
32
32
|
const stylus_1 = __importStar(require("./stylus"));
|
|
33
33
|
const StyleSheet_1 = require("./StyleSheet");
|
|
34
|
+
const utils_1 = require("../utils");
|
|
34
35
|
function getWrapedCSS(css) {
|
|
35
36
|
return `
|
|
36
37
|
import { StyleSheet, Dimensions } from 'react-native'
|
|
@@ -62,7 +63,7 @@ function validateStyle({ styleObject, filename }) {
|
|
|
62
63
|
// 先忽略掉 scalePx2dp 的报错
|
|
63
64
|
if (/Invalid prop `.*` of type `string` supplied to `.*`, expected `number`[^]*/g.test(err.message))
|
|
64
65
|
return;
|
|
65
|
-
helper_1.printLog("warning" /* WARNING */, err.message, filename);
|
|
66
|
+
helper_1.printLog("warning" /* WARNING */, err.message, `entry file: ${filename}`);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
}
|
|
@@ -72,31 +73,24 @@ const deviceRatio = {
|
|
|
72
73
|
750: 1,
|
|
73
74
|
828: 1.81 / 2
|
|
74
75
|
};
|
|
75
|
-
var StyleTypes;
|
|
76
|
-
(function (StyleTypes) {
|
|
77
|
-
StyleTypes["POSTCSS"] = "postcss";
|
|
78
|
-
StyleTypes["SASS"] = "sass";
|
|
79
|
-
StyleTypes["LESS"] = "less";
|
|
80
|
-
StyleTypes["STYLUS"] = "stylus";
|
|
81
|
-
})(StyleTypes || (StyleTypes = {}));
|
|
82
76
|
const DEFAULT_RN_CONFIG = {
|
|
83
|
-
[
|
|
77
|
+
["postcss" /* POSTCSS */]: {
|
|
84
78
|
options: {},
|
|
85
79
|
scalable: true
|
|
86
80
|
},
|
|
87
|
-
[
|
|
81
|
+
["sass" /* SASS */]: {
|
|
88
82
|
options: {}
|
|
89
83
|
},
|
|
90
|
-
[
|
|
84
|
+
["less" /* LESS */]: {
|
|
91
85
|
options: {}
|
|
92
86
|
},
|
|
93
|
-
[
|
|
87
|
+
["stylus" /* STYLUS */]: {
|
|
94
88
|
options: stylus_1.defaultOptions
|
|
95
89
|
}
|
|
96
90
|
};
|
|
97
91
|
class StyleTransform {
|
|
98
92
|
constructor(config = {}) {
|
|
99
|
-
this.
|
|
93
|
+
this.processConfigMap = new Map();
|
|
100
94
|
this.init = (config) => {
|
|
101
95
|
var _a;
|
|
102
96
|
this.config = {
|
|
@@ -106,7 +100,21 @@ class StyleTransform {
|
|
|
106
100
|
alias: (_a = config.alias) !== null && _a !== void 0 ? _a : {},
|
|
107
101
|
rn: helper_1.recursiveMerge({}, DEFAULT_RN_CONFIG, config.rn)
|
|
108
102
|
};
|
|
109
|
-
Reflect.ownKeys(this.config.rn).forEach(
|
|
103
|
+
Reflect.ownKeys(this.config.rn).forEach((key) => {
|
|
104
|
+
var _a;
|
|
105
|
+
if ([
|
|
106
|
+
"sass" /* SASS */,
|
|
107
|
+
"less" /* LESS */,
|
|
108
|
+
"stylus" /* STYLUS */,
|
|
109
|
+
"postcss" /* POSTCSS */
|
|
110
|
+
].includes(key.toLocaleLowerCase())) {
|
|
111
|
+
const processConfig = Object.assign(Object.assign({}, this.config.rn[key]), { alias: (_a = config.alias) !== null && _a !== void 0 ? _a : {} });
|
|
112
|
+
if (key.toLocaleLowerCase() === "sass" /* SASS */) {
|
|
113
|
+
processConfig.sass = this.config.sass;
|
|
114
|
+
}
|
|
115
|
+
this.processConfigMap.set(key, processConfig);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
110
118
|
};
|
|
111
119
|
this.init(config);
|
|
112
120
|
}
|
|
@@ -117,41 +125,58 @@ class StyleTransform {
|
|
|
117
125
|
* @param {object} options
|
|
118
126
|
*/
|
|
119
127
|
async processStyle(src, filename, options) {
|
|
128
|
+
let result;
|
|
120
129
|
let css = src;
|
|
130
|
+
let map;
|
|
131
|
+
let additionalData = '';
|
|
121
132
|
const ext = path_1.default.extname(filename);
|
|
122
|
-
if (ext
|
|
123
|
-
|
|
133
|
+
if (/.less$/i.test(ext)) {
|
|
134
|
+
result = await less_1.default(src, filename, this.processConfigMap.get("less" /* LESS */));
|
|
124
135
|
}
|
|
125
|
-
else if (
|
|
126
|
-
|
|
127
|
-
css = await sass_1.default(src, filename, this.extConfigMap.get(StyleTypes.SASS), options);
|
|
136
|
+
else if (/.s(c|a)ss$/i.test(ext)) {
|
|
137
|
+
result = await sass_1.default(src, filename, this.processConfigMap.get("sass" /* SASS */), options);
|
|
128
138
|
}
|
|
129
|
-
else if (
|
|
130
|
-
|
|
139
|
+
else if (/.styl(us)?$/i.test(ext)) {
|
|
140
|
+
result = await stylus_1.default(src, filename, this.processConfigMap.get("stylus" /* STYLUS */));
|
|
141
|
+
}
|
|
142
|
+
if (result) {
|
|
143
|
+
css = Buffer.isBuffer(result.css) ? result.css.toString() : result.css;
|
|
144
|
+
map = Buffer.isBuffer(result.map) ? result.map.toString() : result.map;
|
|
145
|
+
additionalData = result.additionalData;
|
|
131
146
|
}
|
|
132
147
|
// postcss 插件,比如处理平台特有样式,单位转换
|
|
133
|
-
|
|
134
|
-
|
|
148
|
+
return await this.postCSS({
|
|
149
|
+
css,
|
|
150
|
+
map,
|
|
151
|
+
filename,
|
|
152
|
+
additionalData,
|
|
153
|
+
transformOptions: options,
|
|
154
|
+
postcssConfig: this.processConfigMap.get("postcss" /* POSTCSS */)
|
|
155
|
+
});
|
|
135
156
|
}
|
|
136
157
|
/**
|
|
137
|
-
*
|
|
138
|
-
* @param
|
|
139
|
-
* @
|
|
140
|
-
* @returns {Function | any}
|
|
158
|
+
* postcss处理
|
|
159
|
+
* @param param0 PostcssParam
|
|
160
|
+
* @returns {Promise | any}
|
|
141
161
|
*/
|
|
142
|
-
postCSS(css, filename, postcssConfig, transformOptions) {
|
|
143
|
-
const plugins = postcss_1.
|
|
162
|
+
postCSS({ css, map, filename, postcssConfig, transformOptions, additionalData }) {
|
|
163
|
+
const plugins = postcss_1.makePostcssPlugins({
|
|
164
|
+
filename,
|
|
165
|
+
postcssConfig,
|
|
166
|
+
transformOptions,
|
|
144
167
|
designWidth: this.config.designWidth,
|
|
145
168
|
deviceRatio: this.config.deviceRatio,
|
|
146
|
-
|
|
147
|
-
transformOptions
|
|
169
|
+
additionalData: additionalData
|
|
148
170
|
});
|
|
149
|
-
return postcss_1.default(css, filename, {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
171
|
+
return postcss_1.default(css, filename, {
|
|
172
|
+
plugins,
|
|
173
|
+
options: Object.assign(Object.assign({}, postcssConfig.options), { map: map && {
|
|
174
|
+
prev: utils_1.normalizeSourceMap(map, filename),
|
|
175
|
+
inline: false,
|
|
176
|
+
annotation: false
|
|
177
|
+
} })
|
|
178
|
+
}).then(result => {
|
|
179
|
+
return Object.assign(Object.assign({}, result), { filename });
|
|
155
180
|
});
|
|
156
181
|
}
|
|
157
182
|
/**
|
|
@@ -162,15 +187,17 @@ class StyleTransform {
|
|
|
162
187
|
* @return {string} JSONString
|
|
163
188
|
*/
|
|
164
189
|
async transform(src, filename, options = {}) {
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
// printLog(processTypeEnum.REMIND, cssSrc, filename)
|
|
190
|
+
// printLog(processTypeEnum.START, '样式文件处理开始', filename)
|
|
191
|
+
const result = await this.processStyle(src, filename, options);
|
|
168
192
|
// 把 css 转换成对象 rn 的样式,接入 taro 的 css-to-react-native,比如有单位的处理
|
|
169
|
-
const styleObject = taro_css_to_react_native_1.default(
|
|
193
|
+
const styleObject = taro_css_to_react_native_1.default(result.css, {
|
|
194
|
+
parseMediaQueries: true,
|
|
195
|
+
scalable: this.config.rn.postcss.scalable
|
|
196
|
+
});
|
|
170
197
|
// stylelint,转换成对象,对对象进行校验
|
|
171
198
|
validateStyle({ styleObject, filename });
|
|
172
|
-
const css = JSON.stringify(styleObject, null, 2)
|
|
173
|
-
|
|
199
|
+
const css = JSON.stringify(styleObject, null, 2)
|
|
200
|
+
.replace(/"(scalePx2dp\(.*?\))"/g, '$1');
|
|
174
201
|
// 注入自适应方法 scalePx2dp
|
|
175
202
|
return getWrapedCSS(css);
|
|
176
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transforms/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,wFAAmD;AACnD,2CAA0E;AAE1E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transforms/index.ts"],"names":[],"mappings":"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"}
|
package/dist/transforms/less.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const path_1 = __importDefault(require("path"));
|
|
7
7
|
const less_1 = __importDefault(require("less"));
|
|
8
8
|
const lessImport_1 = __importDefault(require("../utils/lessImport"));
|
|
9
|
+
const utils_1 = require("../utils");
|
|
9
10
|
function renderToCSS(src, filename, options = {}) {
|
|
10
11
|
// default plugins
|
|
11
12
|
const plugins = [lessImport_1.default(options)];
|
|
@@ -13,25 +14,21 @@ function renderToCSS(src, filename, options = {}) {
|
|
|
13
14
|
const paths = [path_1.default.dirname(path_1.default.resolve(process.cwd(), filename))];
|
|
14
15
|
return new Promise((resolve, reject) => {
|
|
15
16
|
less_1.default
|
|
16
|
-
.render(src, Object.assign(Object.assign({}, options), { filename, plugins: plugins.concat(options.plugins || []), paths: paths.concat(options.paths || []) }), (err,
|
|
17
|
+
.render(src, Object.assign(Object.assign({}, options), { filename, plugins: plugins.concat(options.plugins || []), paths: paths.concat(options.paths || []) }), (err, result) => {
|
|
17
18
|
if (err) {
|
|
18
19
|
return reject(err.message);
|
|
19
20
|
}
|
|
20
|
-
resolve(
|
|
21
|
+
resolve(result);
|
|
21
22
|
});
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
25
|
function transform(src, filename, config) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
return renderToCSS(data, filename, Object.assign(Object.assign({}, config.options), { alias: config.alias }))
|
|
33
|
-
.then((css) => {
|
|
34
|
-
return css;
|
|
26
|
+
const additionalData = utils_1.getAdditionalData(src, config.additionalData);
|
|
27
|
+
const data = utils_1.insertBefore(src, additionalData);
|
|
28
|
+
return renderToCSS(data, filename, Object.assign({ sourceMap: {
|
|
29
|
+
outputFilename: `${filename}.map`
|
|
30
|
+
}, alias: config.alias }, config.options)).then((result) => {
|
|
31
|
+
return Object.assign(Object.assign({}, result), { additionalData });
|
|
35
32
|
});
|
|
36
33
|
}
|
|
37
34
|
exports.default = transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"less.js","sourceRoot":"","sources":["../../src/transforms/less.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,gDAAuB;AACvB,qEAAgD;
|
|
1
|
+
{"version":3,"file":"less.js","sourceRoot":"","sources":["../../src/transforms/less.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,gDAAuB;AACvB,qEAAgD;AAChD,oCAA0D;AA8D1D,SAAS,WAAW,CAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAS;IACtD,kBAAkB;IAClB,MAAM,OAAO,GAAG,CAAC,oBAAc,CAAC,OAAO,CAAC,CAAC,CAAA;IACzC,qCAAqC;IACrC,MAAM,KAAK,GAAG,CAAC,cAAI,CAAC,OAAO,CAAC,cAAI,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,KACvC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACjB,IAAI,GAAG,EAAE;gBACP,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;aAC3B;YACD,OAAO,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAwB,SAAS,CAC/B,GAAW,EACX,QAAgB,EAChB,MAAc;IAEd,MAAM,cAAc,GAAG,yBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,oBAAY,CAAC,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,EAEpB,CAAC,IAAI,CAAC,CAAC,MAAoB,EAAE,EAAE;QAC9B,OAAO,gCAAK,MAAM,KAAE,cAAc,GAA4B,CAAA;IAChE,CAAC,CAAC,CAAA;AACJ,CAAC;AArBD,4BAqBC"}
|
|
@@ -3,12 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.makePostcssPlugins = void 0;
|
|
7
7
|
const postcss_1 = __importDefault(require("postcss"));
|
|
8
8
|
const postcss_pxtransform_1 = __importDefault(require("postcss-pxtransform"));
|
|
9
9
|
const postcss_import_1 = __importDefault(require("postcss-import"));
|
|
10
10
|
const helper_1 = require("@tarojs/helper");
|
|
11
11
|
const utils_1 = require("../utils");
|
|
12
|
+
const reporterSkip_1 = __importDefault(require("../utils/reporterSkip"));
|
|
12
13
|
const rn_stylelint_json_1 = __importDefault(require("../config/rn-stylelint.json"));
|
|
13
14
|
const defaultPxtransformOption = {
|
|
14
15
|
enable: true,
|
|
@@ -16,7 +17,7 @@ const defaultPxtransformOption = {
|
|
|
16
17
|
platform: 'rn'
|
|
17
18
|
}
|
|
18
19
|
};
|
|
19
|
-
function
|
|
20
|
+
function makePostcssPlugins({ filename, designWidth, deviceRatio, postcssConfig, transformOptions, additionalData }) {
|
|
20
21
|
if (designWidth) {
|
|
21
22
|
defaultPxtransformOption.config.designWidth = designWidth;
|
|
22
23
|
}
|
|
@@ -34,16 +35,16 @@ function getPostcssPlugins({ designWidth, deviceRatio, postcssConfig, transformO
|
|
|
34
35
|
if (pxtransformOption.enable) {
|
|
35
36
|
plugins.push(postcss_pxtransform_1.default(pxtransformOption.config));
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
const skipRows = additionalData ? additionalData.split('\n').length : 0;
|
|
39
|
+
plugins.push(require('stylelint')(rn_stylelint_json_1.default), reporterSkip_1.default({ skipRows, filename }), require('postcss-reporter')({ clearReportedMessages: true }));
|
|
38
40
|
return plugins;
|
|
39
41
|
}
|
|
40
|
-
exports.
|
|
42
|
+
exports.makePostcssPlugins = makePostcssPlugins;
|
|
41
43
|
function transform(src, filename, { options, plugins }) {
|
|
42
44
|
return postcss_1.default(plugins)
|
|
43
45
|
.process(src, Object.assign({ from: filename }, options))
|
|
44
46
|
.then(result => {
|
|
45
|
-
|
|
46
|
-
return css;
|
|
47
|
+
return result;
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
exports.default = transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcss.js","sourceRoot":"","sources":["../../src/transforms/postcss.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAiD;AACjD,8EAA6C;AAC7C,oEAA0C;AAC1C,2CAA+C;AAC/C,oCAAuC;AACvC,oFAAyD;AAWzD,MAAM,wBAAwB,GAE1B;IACF,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAED,SAAgB,
|
|
1
|
+
{"version":3,"file":"postcss.js","sourceRoot":"","sources":["../../src/transforms/postcss.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAiD;AACjD,8EAA6C;AAC7C,oEAA0C;AAC1C,2CAA+C;AAC/C,oCAAuC;AACvC,yEAAgD;AAChD,oFAAyD;AAWzD,MAAM,wBAAwB,GAE1B;IACF,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;KACf;CACF,CAAA;AAED,SAAgB,kBAAkB,CAAE,EAClC,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf;IACC,IAAI,WAAW,EAAE;QACf,wBAAwB,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;KAC1D;IAED,IAAI,WAAW,EAAE;QACf,wBAAwB,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;KAC1D;IACD,MAAM,iBAAiB,GAAG,uBAAc,CAAC,EAAE,EAAE,wBAAwB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAEjG,MAAM,OAAO,GAAG;QACd,wBAAa,CAAC;YACZ,OAAO,EAAE,SAAS,OAAO,CAAE,EAAU,EAAE,OAAe,EAAE,OAAsC;gBAC5F,OAAO,oBAAY,CACjB,EAAE,kCAEG,OAAO,KACV,OAAO,EACP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,IAEtC,CAAA;YACH,CAAC;SACF,CAAC;KACH,CAAA;IAED,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC5B,OAAO,CAAC,IAAI,CAAC,6BAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;KACpD;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvE,OAAO,CAAC,IAAI,CACV,OAAO,CAAC,WAAW,CAAC,CAAC,2BAAe,CAAC,EACrC,sBAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EACpC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAC7D,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AA/CD,gDA+CC;AAED,SAAwB,SAAS,CAAE,GAAW,EAAE,QAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;IACpF,OAAO,iBAAO,CAAC,OAAO,CAAC;SACpB,OAAO,CAAC,GAAG,kBAAI,IAAI,EAAE,QAAQ,IAAK,OAAO,EAAG;SAC5C,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;AACN,CAAC;AAND,4BAMC"}
|
package/dist/transforms/sass.js
CHANGED
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.processByExternal = void 0;
|
|
7
6
|
const fs_1 = __importDefault(require("fs"));
|
|
8
7
|
const path_1 = __importDefault(require("path"));
|
|
9
8
|
const sass_1 = __importDefault(require("sass"));
|
|
@@ -20,13 +19,7 @@ function makeImportStatement(filePath, resource, rootDir) {
|
|
|
20
19
|
const relativePath = path_1.default.relative(filePath, url).replace(/\\/g, '/'); // fix window path error
|
|
21
20
|
return `@import '${relativePath}'`;
|
|
22
21
|
}
|
|
23
|
-
|
|
24
|
-
* 处理 additional 配置,比如 config.sass 配置
|
|
25
|
-
* @param src
|
|
26
|
-
* @param filename
|
|
27
|
-
* @returns
|
|
28
|
-
*/
|
|
29
|
-
function processByExternal(src, filename, config) {
|
|
22
|
+
function getGlobalResource(filename, config) {
|
|
30
23
|
var _a;
|
|
31
24
|
let resource = '';
|
|
32
25
|
const projectDirectory = config.projectDirectory || process.cwd();
|
|
@@ -38,10 +31,16 @@ function processByExternal(src, filename, config) {
|
|
|
38
31
|
const resources = ((_a = config.resource) === null || _a === void 0 ? void 0 : _a.map(source => makeImportStatement(filePath, source, projectDirectory))) || [];
|
|
39
32
|
resource = resources.join(';\n');
|
|
40
33
|
}
|
|
41
|
-
|
|
42
|
-
return utils_1.
|
|
34
|
+
// https://taro-docs.jd.com/taro/docs/config-detail/#sassdata, data 覆盖 resurce 配置
|
|
35
|
+
return utils_1.insertAfter(resource, config === null || config === void 0 ? void 0 : config.data);
|
|
36
|
+
}
|
|
37
|
+
function combineResource(src, filename, config) {
|
|
38
|
+
// sass config
|
|
39
|
+
const globalResource = getGlobalResource(filename, config.sass);
|
|
40
|
+
// sass tranform config
|
|
41
|
+
const additionalData = utils_1.getAdditionalData(src, config.additionalData);
|
|
42
|
+
return utils_1.insertAfter(globalResource, additionalData);
|
|
43
43
|
}
|
|
44
|
-
exports.processByExternal = processByExternal;
|
|
45
44
|
function renderToCSS(src, filename, options, transformOptions) {
|
|
46
45
|
const defaultOpts = {
|
|
47
46
|
importer: function (...params) {
|
|
@@ -69,7 +68,8 @@ function renderToCSS(src, filename, options, transformOptions) {
|
|
|
69
68
|
alias: options.alias,
|
|
70
69
|
platform: transformOptions.platform
|
|
71
70
|
});
|
|
72
|
-
|
|
71
|
+
const contents = fs_1.default.readFileSync(file, 'utf8');
|
|
72
|
+
return { file, contents };
|
|
73
73
|
}
|
|
74
74
|
catch (err) {
|
|
75
75
|
return err;
|
|
@@ -83,26 +83,19 @@ function renderToCSS(src, filename, options, transformOptions) {
|
|
|
83
83
|
reject(err);
|
|
84
84
|
}
|
|
85
85
|
else {
|
|
86
|
-
|
|
87
|
-
resolve(css);
|
|
86
|
+
resolve(result);
|
|
88
87
|
}
|
|
89
88
|
});
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
function transform(src, filename, config, transformOptions) {
|
|
93
|
-
|
|
92
|
+
const additionalData = combineResource(src, filename, config);
|
|
93
|
+
let data = utils_1.insertBefore(src, additionalData);
|
|
94
94
|
if (!data) {
|
|
95
95
|
data = `\n${data}`; // fix empty file error. reference https://github.com/sass/node-sass/blob/91c40a0bf0a3923ab9f91b82dcd479c25486235a/lib/index.js#L430
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
typeof config.additionalData === 'function'
|
|
100
|
-
? `${config.additionalData(data)}`
|
|
101
|
-
: `${config.additionalData}\n${data}`;
|
|
102
|
-
}
|
|
103
|
-
return renderToCSS(data, filename, Object.assign(Object.assign({}, config.options), { alias: config.alias }), transformOptions)
|
|
104
|
-
.then((css) => {
|
|
105
|
-
return css;
|
|
97
|
+
return renderToCSS(data, filename, Object.assign({ file: filename, outFile: `${filename}.map`, sourceMap: true, alias: config.alias }, config.options), transformOptions).then((result) => {
|
|
98
|
+
return Object.assign(Object.assign({}, result), { additionalData });
|
|
106
99
|
});
|
|
107
100
|
}
|
|
108
101
|
exports.default = transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sass.js","sourceRoot":"","sources":["../../src/transforms/sass.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sass.js","sourceRoot":"","sources":["../../src/transforms/sass.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.defaultOptions = void 0;
|
|
7
7
|
const stylus_1 = __importDefault(require("stylus"));
|
|
8
|
+
const utils_1 = require("../utils");
|
|
8
9
|
class Evaluator {
|
|
9
10
|
}
|
|
10
11
|
exports.defaultOptions = {
|
|
@@ -21,6 +22,11 @@ exports.defaultOptions = {
|
|
|
21
22
|
function renderToCSS(src, filename, options = {}) {
|
|
22
23
|
const stylusOptions = Object.assign({ filename }, options);
|
|
23
24
|
const styl = stylus_1.default(src, stylusOptions);
|
|
25
|
+
styl.set('sourcemap', {
|
|
26
|
+
comment: true,
|
|
27
|
+
sourceRoot: '.',
|
|
28
|
+
basePath: '.'
|
|
29
|
+
});
|
|
24
30
|
// include regular CSS on @import
|
|
25
31
|
if (stylusOptions.includeCSS) {
|
|
26
32
|
styl.set('include css', true);
|
|
@@ -82,22 +88,19 @@ function renderToCSS(src, filename, options = {}) {
|
|
|
82
88
|
reject(err);
|
|
83
89
|
}
|
|
84
90
|
else {
|
|
85
|
-
resolve(
|
|
91
|
+
resolve({
|
|
92
|
+
css,
|
|
93
|
+
map: styl.sourcemap
|
|
94
|
+
});
|
|
86
95
|
}
|
|
87
96
|
});
|
|
88
97
|
});
|
|
89
98
|
}
|
|
90
99
|
function transform(src, filename, config) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
? `${config.additionalData(data)}`
|
|
96
|
-
: `${config.additionalData}\n${data}`;
|
|
97
|
-
}
|
|
98
|
-
return renderToCSS(data, filename, config.options)
|
|
99
|
-
.then((css) => {
|
|
100
|
-
return css;
|
|
100
|
+
const additionalData = utils_1.getAdditionalData(src, config.additionalData);
|
|
101
|
+
const data = utils_1.insertBefore(src, additionalData);
|
|
102
|
+
return renderToCSS(data, filename, config.options).then((result) => {
|
|
103
|
+
return Object.assign(Object.assign({}, result), { additionalData });
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
106
|
exports.default = transform;
|