@tarojs/rn-style-transformer 3.3.9 → 3.3.10

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.
@@ -181,6 +181,17 @@ describe('style transform', () => {
181
181
  }`))
182
182
  })
183
183
 
184
+ it('.less tranform node_modules file import', async () => {
185
+ const css = await run(`
186
+ @import 'less/test/browser/css/global-vars/simple.css';
187
+ `, './__tests__/styles/a.less')
188
+ expect(css).toEqual(getWrapedCSS(`{
189
+ "test": {
190
+ "color": "red"
191
+ }
192
+ }`))
193
+ })
194
+
184
195
  it('.less import source omit extension', async () => {
185
196
  const css = await run(`
186
197
  @import './b';
@@ -17,7 +17,7 @@ function makeURL(resource, rootDir) {
17
17
  function makeImportStatement(filePath, resource, rootDir) {
18
18
  const url = makeURL(resource, rootDir);
19
19
  const relativePath = path_1.default.relative(filePath, url).replace(/\\/g, '/'); // fix window path error
20
- return `@import '${relativePath}'`;
20
+ return `@import './${relativePath}'`;
21
21
  }
22
22
  function getGlobalResource(filename, config) {
23
23
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"sass.js","sourceRoot":"","sources":["../../src/transforms/sass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sass.js","sourceRoot":"","sources":["../../src/transforms/sass.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ exports.getAdditionalData = exports.normalizeSourceMap = exports.normalizePath =
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const helper_1 = require("@tarojs/helper");
10
+ const resolve_1 = __importDefault(require("resolve"));
11
+ const node_modules_paths_1 = __importDefault(require("resolve/lib/node-modules-paths"));
10
12
  function insertBefore(source, additional) {
11
13
  if (!source && !additional) {
12
14
  return '';
@@ -56,6 +58,7 @@ exports.findVariant = findVariant;
56
58
  */
57
59
  function resolveStyle(id, opts) {
58
60
  const { basedir, platform, paths = [], alias = {}, defaultExt = '', logLevel = "error" /* ERROR */ } = opts;
61
+ id = id.trim();
59
62
  Object.keys(alias).forEach(key => {
60
63
  if (id.startsWith(key)) {
61
64
  id = id.replace(key, alias[key]);
@@ -64,18 +67,36 @@ function resolveStyle(id, opts) {
64
67
  const { dir, name, ext: idExt } = path_1.default.parse(id);
65
68
  const incPaths = [path_1.default.resolve(basedir, dir)].concat(paths);
66
69
  const ext = idExt || defaultExt;
67
- const exts = [
70
+ const extensions = [
68
71
  // add the platform specific extension, first in the array to take precedence
69
72
  platform === 'android' ? '.android' + ext : '.ios' + ext,
70
73
  '.rn' + ext,
71
74
  ext
72
75
  ];
73
- const file = findVariant(name, exts, incPaths);
76
+ let file;
77
+ let isNodeModulesPath = false;
78
+ try {
79
+ if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(id)) {
80
+ file = findVariant(name, extensions, incPaths);
81
+ }
82
+ else {
83
+ // lookup node_modules file
84
+ isNodeModulesPath = true;
85
+ // like `@import 'taro-ui/dist/base.css';` or `@import '~taro-ui/dist/base.css';`
86
+ file = resolve_1.default.sync(path_1.default.join(dir, name).replace(/^~/, ''), { basedir, extensions });
87
+ }
88
+ }
89
+ catch (error) {
90
+ }
74
91
  if (!file) {
92
+ let includePaths = incPaths;
93
+ if (isNodeModulesPath) {
94
+ includePaths = node_modules_paths_1.default(basedir, { extensions }, id);
95
+ }
75
96
  const levelMessage = `
76
97
  样式文件没有找到,请检查文件路径: ${id}
77
98
  在 [
78
- ${incPaths.join(',\n ')}
99
+ ${includePaths.join(',\n ')}
79
100
  ]
80
101
  `;
81
102
  if (logLevel === "error" /* ERROR */) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -3,39 +3,36 @@ 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
- const path_1 = __importDefault(require("path"));
6
+ const less_1 = __importDefault(require("less"));
7
7
  const index_1 = require("./index");
8
- class Importer {
8
+ class Importer extends less_1.default.FileManager {
9
9
  constructor(opt) {
10
+ super();
10
11
  this.alias = {};
11
12
  this.platform = opt.platform;
12
13
  this.alias = opt.alias;
13
14
  }
14
- process(src, options) {
15
- const { fileInfo } = options;
16
- const { filename, currentDirectory: basedir } = fileInfo;
17
- if (!basedir) {
18
- return src;
19
- }
15
+ supports() {
16
+ return true;
17
+ }
18
+ supportsSync() {
19
+ return false;
20
+ }
21
+ async loadFile(filename, currentDirectory, options, environment) {
20
22
  const resolveOpts = {
21
- basedir,
23
+ basedir: currentDirectory,
22
24
  alias: this.alias,
23
25
  platform: this.platform,
24
- logLevel: "warning" /* WARNING */,
25
- defaultExt: path_1.default.extname(filename)
26
+ defaultExt: '.less'
26
27
  };
27
- // 解析 @import "a.less" 字符串里面的内容
28
- src = src.replace(/@import\s+['"]([^'|"]*)['"]/gi, (_, id) => {
29
- const relativePath = path_1.default.relative(basedir, index_1.resolveStyle(id.trim(), resolveOpts)).replace(/\\/g, '/');
30
- return `@import '${relativePath}';`;
31
- });
32
- return src;
28
+ const rewriteFilename = index_1.resolveStyle(filename, resolveOpts);
29
+ return super.loadFile(rewriteFilename, currentDirectory, options, environment);
33
30
  }
34
31
  }
35
32
  function makeLessImport(options) {
36
33
  return {
37
34
  install: (_, pluginManager) => {
38
- pluginManager.addPreProcessor(new Importer(options));
35
+ pluginManager.addFileManager(new Importer(options));
39
36
  },
40
37
  minVersion: [2, 7, 1]
41
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lessImport.js","sourceRoot":"","sources":["../../src/utils/lessImport.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,mCAAsC;AAGtC,MAAM,QAAQ;IACZ,YAAa,GAAG;QAOhB,UAAK,GAA2B,EAAE,CAAA;QANhC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IACxB,CAAC;IAMD,OAAO,CAAE,GAAW,EAAE,OAAmC;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAC5B,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;QAExD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,CAAA;SACX;QAED,MAAM,WAAW,GAAG;YAClB,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,yBAAsB;YAC9B,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,CAAA;QAED,+BAA+B;QAC/B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YAC3D,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAY,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACrG,OAAO,YAAY,YAAY,IAAI,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAED,SAAS,cAAc,CAAE,OAAO;IAC9B,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;YAC5B,aAAa,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACtD,CAAC;QACD,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACtB,CAAA;AACH,CAAC;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"lessImport.js","sourceRoot":"","sources":["../../src/utils/lessImport.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,mCAAsC;AAEtC,MAAM,QAAS,SAAQ,cAAI,CAAC,WAAW;IAIrC,YAAa,GAAG;QACd,KAAK,EAAE,CAAA;QAHT,UAAK,GAA2B,EAAE,CAAA;QAIhC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY;QACV,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,gBAAwB,EACxB,OAAY,EACZ,WAAgB;QAEhB,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,OAAO;SACpB,CAAA;QACD,MAAM,eAAe,GAAG,oBAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAE3D,OAAO,KAAK,CAAC,QAAQ,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;IAChF,CAAC;CACF;AAED,SAAS,cAAc,CAAE,OAAO;IAC9B,OAAO;QACL,OAAO,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;YAC5B,aAAa,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACtB,CAAA;AACH,CAAC;AAED,kBAAe,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/rn-style-transformer",
3
- "version": "3.3.9",
3
+ "version": "3.3.10",
4
4
  "description": "提供Taro RN 统一处理样式文件能力",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -23,25 +23,25 @@
23
23
  "npm": ">=6.0.0"
24
24
  },
25
25
  "dependencies": {
26
- "@tarojs/helper": "3.3.9",
26
+ "@tarojs/helper": "3.3.10",
27
27
  "fbjs": "^2.0.0",
28
28
  "less": "^3.12.2",
29
29
  "postcss": "^7.0.35",
30
30
  "postcss-import": "^12.0.1",
31
- "postcss-pxtransform": "3.3.9",
31
+ "postcss-pxtransform": "3.3.10",
32
32
  "postcss-reporter": "^6.0.1",
33
33
  "prop-types": "^15.7.2",
34
34
  "sass": "^1.34.1",
35
35
  "stylelint": "^13.8.0",
36
- "stylelint-config-taro-rn": "3.3.9",
37
- "stylelint-taro-rn": "3.3.9",
36
+ "stylelint-config-taro-rn": "3.3.10",
37
+ "stylelint-taro-rn": "3.3.10",
38
38
  "stylus": "^0.54.8",
39
- "taro-css-to-react-native": "3.3.9"
39
+ "taro-css-to-react-native": "3.3.10"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/less": "^3.0.2",
43
43
  "@types/postcss-import": "^12.0.0",
44
44
  "@types/sass": "^1.16.1"
45
45
  },
46
- "gitHead": "dfea7ab7ac6f5abb8bb344595eadc0993d752eae"
46
+ "gitHead": "2eae6e5dbef3f5f12a64ed52875901550ac21924"
47
47
  }
@@ -29,7 +29,7 @@ function makeURL (resource: string, rootDir: string) {
29
29
  function makeImportStatement (filePath: string, resource: string, rootDir: string) {
30
30
  const url = makeURL(resource, rootDir)
31
31
  const relativePath = path.relative(filePath, url).replace(/\\/g, '/') // fix window path error
32
- return `@import '${relativePath}'`
32
+ return `@import './${relativePath}'`
33
33
  }
34
34
 
35
35
  function getGlobalResource (filename: string, config: SassGlobalConfig) {
@@ -2,6 +2,8 @@ import fs from 'fs'
2
2
  import path from 'path'
3
3
  import { printLog, processTypeEnum } from '@tarojs/helper'
4
4
  import { ResolveStyleOptions, LogLevelEnum } from '../types'
5
+ import resolve from 'resolve'
6
+ import nodeModulesPaths from 'resolve/lib/node-modules-paths'
5
7
 
6
8
  export function insertBefore (source: string, additional: string) {
7
9
  if (!source && !additional) {
@@ -62,6 +64,7 @@ export function resolveStyle (id: string, opts: ResolveStyleOptions) {
62
64
  defaultExt = '',
63
65
  logLevel = LogLevelEnum.ERROR
64
66
  } = opts
67
+ id = id.trim()
65
68
  Object.keys(alias).forEach(key => {
66
69
  if (id.startsWith(key)) {
67
70
  id = id.replace(key, alias[key])
@@ -72,19 +75,36 @@ export function resolveStyle (id: string, opts: ResolveStyleOptions) {
72
75
  const incPaths = [path.resolve(basedir, dir)].concat(paths)
73
76
  const ext = idExt || defaultExt
74
77
 
75
- const exts = [
78
+ const extensions = [
76
79
  // add the platform specific extension, first in the array to take precedence
77
80
  platform === 'android' ? '.android' + ext : '.ios' + ext,
78
81
  '.rn' + ext,
79
82
  ext
80
83
  ]
81
84
 
82
- const file = findVariant(name, exts, incPaths)
85
+ let file: string
86
+ let isNodeModulesPath = false
87
+ try {
88
+ if ((/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/).test(id)) {
89
+ file = findVariant(name, extensions, incPaths)
90
+ } else {
91
+ // lookup node_modules file
92
+ isNodeModulesPath = true
93
+ // like `@import 'taro-ui/dist/base.css';` or `@import '~taro-ui/dist/base.css';`
94
+ file = resolve.sync(path.join(dir, name).replace(/^~/, ''), { basedir, extensions })
95
+ }
96
+ } catch (error) {
97
+ }
98
+
83
99
  if (!file) {
100
+ let includePaths = incPaths
101
+ if (isNodeModulesPath) {
102
+ includePaths = nodeModulesPaths(basedir, { extensions }, id)
103
+ }
84
104
  const levelMessage = `
85
105
  样式文件没有找到,请检查文件路径: ${id}
86
106
  在 [
87
- ${incPaths.join(',\n ')}
107
+ ${includePaths.join(',\n ')}
88
108
  ]
89
109
  `
90
110
  if (logLevel === LogLevelEnum.ERROR) {
@@ -1,47 +1,46 @@
1
- import path from 'path'
1
+ import less from 'less'
2
2
  import { resolveStyle } from './index'
3
- import { LogLevelEnum } from '../types'
4
3
 
5
- class Importer {
4
+ class Importer extends less.FileManager {
5
+ platform: 'android' | 'ios'
6
+ alias: Record<string, string> = {}
7
+
6
8
  constructor (opt) {
9
+ super()
7
10
  this.platform = opt.platform
8
11
  this.alias = opt.alias
9
12
  }
10
13
 
11
- platform: 'android' | 'ios'
12
-
13
- alias: Record<string, string> = {}
14
-
15
- process (src: string, options: Less.PreProcessorExtraInfo) {
16
- const { fileInfo } = options
17
- const { filename, currentDirectory: basedir } = fileInfo
14
+ supports () {
15
+ return true
16
+ }
18
17
 
19
- if (!basedir) {
20
- return src
21
- }
18
+ supportsSync () {
19
+ return false
20
+ }
22
21
 
22
+ async loadFile (
23
+ filename: string,
24
+ currentDirectory: string,
25
+ options: any,
26
+ environment: any
27
+ ) {
23
28
  const resolveOpts = {
24
- basedir,
29
+ basedir: currentDirectory,
25
30
  alias: this.alias,
26
31
  platform: this.platform,
27
- logLevel: LogLevelEnum.WARNING,
28
- defaultExt: path.extname(filename)
32
+ defaultExt: '.less'
29
33
  }
34
+ const rewriteFilename = resolveStyle(filename, resolveOpts)
30
35
 
31
- // 解析 @import "a.less" 字符串里面的内容
32
- src = src.replace(/@import\s+['"]([^'|"]*)['"]/gi, (_, id) => {
33
- const relativePath = path.relative(basedir, resolveStyle(id.trim(), resolveOpts)).replace(/\\/g, '/')
34
- return `@import '${relativePath}';`
35
- })
36
-
37
- return src
36
+ return super.loadFile(rewriteFilename, currentDirectory, options, environment)
38
37
  }
39
38
  }
40
39
 
41
40
  function makeLessImport (options) {
42
41
  return {
43
42
  install: (_, pluginManager) => {
44
- pluginManager.addPreProcessor(new Importer(options))
43
+ pluginManager.addFileManager(new Importer(options))
45
44
  },
46
45
  minVersion: [2, 7, 1]
47
46
  }