@tarojs/rn-runner 3.5.0-beta.2 → 3.5.0-beta.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.
Files changed (46) hide show
  1. package/.eslintrc.js +2 -1
  2. package/__tests__/__snapshots__/components.spec.ts.snap +523 -0
  3. package/__tests__/build.spec.ts +3 -3
  4. package/__tests__/components.spec.ts +103 -0
  5. package/__tests__/config.spec.ts +1 -1
  6. package/__tests__/global.d.ts +11 -0
  7. package/__tests__/mock/build_testdata.ts +58 -0
  8. package/__tests__/mock/{build_testdata.js → components_testdata.ts} +4 -9
  9. package/__tests__/mock/config/index.js +1 -0
  10. package/__tests__/mock/src/app.config.ts +13 -0
  11. package/__tests__/mock/src/app.scss +0 -0
  12. package/__tests__/mock/src/app.tsx +15 -0
  13. package/__tests__/mock/src/components/cell/index.scss +25 -0
  14. package/__tests__/mock/src/components/cell/index.tsx +38 -0
  15. package/__tests__/mock/src/components/navbar/icon_back.webp +0 -0
  16. package/__tests__/mock/src/components/navbar/index.scss +29 -0
  17. package/__tests__/mock/src/components/navbar/index.tsx +36 -0
  18. package/__tests__/mock/src/components/navbar/resolver.rn.ts +1 -0
  19. package/__tests__/mock/src/components/navbar/resolver.ts +1 -0
  20. package/__tests__/mock/src/components/svg/index.tsx +6 -0
  21. package/__tests__/mock/src/components/svg/rollup-logo.svg +3 -0
  22. package/__tests__/mock/src/utils/dynamicImport/index.ts +3 -0
  23. package/__tests__/mock/src/utils/namedExport/index.js +2 -0
  24. package/__tests__/mock/src/utils/requireLodash/index.ts +5 -0
  25. package/__tests__/mock/src/utils/requireReactNative/index.js +2 -0
  26. package/__tests__/tsconfig.json +8 -0
  27. package/dist/config/build-component.js +162 -0
  28. package/dist/config/build-component.js.map +1 -0
  29. package/dist/config/config-holder.js +1 -1
  30. package/dist/config/config-holder.js.map +1 -1
  31. package/dist/config/index.js +4 -4
  32. package/dist/config/index.js.map +1 -1
  33. package/dist/config/terminal-reporter.js +3 -3
  34. package/dist/config/terminal-reporter.js.map +1 -1
  35. package/dist/index.js +26 -19
  36. package/dist/index.js.map +1 -1
  37. package/index.js +1 -0
  38. package/jest.config.js +3 -30
  39. package/package.json +38 -25
  40. package/src/config/build-component.ts +171 -0
  41. package/src/config/config-holder.ts +2 -1
  42. package/src/config/index.ts +15 -14
  43. package/src/config/terminal-reporter.ts +3 -3
  44. package/src/index.ts +33 -22
  45. package/src/types/index.ts +33 -33
  46. package/tsconfig.json +3 -5
@@ -10,18 +10,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.defaultConfig = void 0;
13
+ const findProjectRoot_1 = require("@react-native-community/cli/build/tools/config/findProjectRoot");
14
+ const resolveReactNativePath_1 = require("@react-native-community/cli/build/tools/config/resolveReactNativePath");
15
+ const rn_supporter_1 = require("@tarojs/rn-supporter");
13
16
  const Metro = require("metro");
14
17
  const os = require("os");
15
18
  const path = require("path");
16
- const resolveReactNativePath_1 = require("@react-native-community/cli/build/tools/config/resolveReactNativePath");
17
- const findProjectRoot_1 = require("@react-native-community/cli/build/tools/config/findProjectRoot");
18
- const Supporter = require("@tarojs/rn-supporter");
19
19
  const conditional_file_store_1 = require("./conditional-file-store");
20
20
  const reactNativePath = (0, resolveReactNativePath_1.default)((0, findProjectRoot_1.default)());
21
21
  const defaultConfig = getDefaultConfig();
22
22
  exports.defaultConfig = defaultConfig;
23
23
  function getDefaultConfig() {
24
- const supporter = new Supporter({ fromRunner: true });
24
+ const supporter = new rn_supporter_1.Supporter({ fromRunner: true });
25
25
  const taroMetroConfig = supporter.getMetroConfig();
26
26
  const metroConfig = {
27
27
  transformer: taroMetroConfig.transformer,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAC5B,kHAA0G;AAC1G,oGAA4F;AAC5F,kDAAiD;AACjD,qEAA2D;AAE3D,MAAM,eAAe,GAAW,IAAA,gCAAsB,EAAC,IAAA,yBAAe,GAAE,CAAC,CAAA;AAyBzE,MAAM,aAAa,GAAgB,gBAAgB,EAAE,CAAA;AAyC5C,sCAAa;AAvCtB,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,EAAE,CAAA;IAClD,MAAM,WAAW,GAAgB;QAC/B,WAAW,EAAE,eAAe,CAAC,WAAW;QACxC,QAAQ,EAAE,eAAe,CAAC,QAAQ;QAClC,UAAU,EAAE;YACV,2EAA2E;YAC3E,oDAAoD;YACpD,6BAA6B,EAAE,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAC5D;aACF;YACD,YAAY,EAAE,GAAG,EAAE,CACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,EAAE;SAC5D;QACD,WAAW,EAAE,CAAC,IAAI,gCAAoB,CAAM;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC;aAC5C,CAAC,CAAC;QACH,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;SACX;KACF,CAAA;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,kBAAe,CAAO,MAAW,EAAE,EAAE;IACnC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,gCAAoB,CAAC,EAAE;QAC/G,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;KAC5C;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oGAA4F;AAC5F,kHAA0G;AAC1G,uDAAgD;AAChD,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;AAE5B,qEAA2D;AAE3D,MAAM,eAAe,GAAW,IAAA,gCAAsB,EAAC,IAAA,yBAAe,GAAE,CAAC,CAAA;AAyBzE,MAAM,aAAa,GAAgB,gBAAgB,EAAE,CAAA;AAyC5C,sCAAa;AAvCtB,SAAS,gBAAgB;IACvB,MAAM,SAAS,GAAG,IAAI,wBAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,EAAE,CAAA;IAClD,MAAM,WAAW,GAAgB;QAC/B,WAAW,EAAE,eAAe,CAAC,WAAW;QACxC,QAAQ,EAAE,eAAe,CAAC,QAAQ;QAClC,UAAU,EAAE;YACV,2EAA2E;YAC3E,oDAAoD;YACpD,6BAA6B,EAAE,GAAG,EAAE,CAAC;gBACnC,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAC5D;aACF;YACD,YAAY,EAAE,GAAG,EAAE,CACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,EAAE;SAC5D;QACD,WAAW,EAAE,CAAC,IAAI,gCAAoB,CAAM;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC;aAC5C,CAAC,CAAC;QACH,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;SACX;KACF,CAAA;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,kBAAe,CAAO,MAAW,EAAE,EAAE;IACnC,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,gCAAoB,CAAC,EAAE;QAC/G,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;KACxE;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAA;KAC5C;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA,CAAA"}
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TerminalReporter = void 0;
13
- const metro_core_1 = require("metro-core");
13
+ const rn_supporter_1 = require("@tarojs/rn-supporter");
14
14
  const MetroTerminalReporter = require("metro/src/lib/TerminalReporter");
15
- const ModuleResolution = require("metro/src/node-haste/DependencyGraph/ModuleResolution");
15
+ const metro_core_1 = require("metro-core");
16
16
  class TerminalReporter {
17
17
  constructor(entry, sourceRoot, conditionalFileStore, metroServerInstance) {
18
18
  this._reporter = new MetroTerminalReporter(new metro_core_1.Terminal(process.stdout));
@@ -43,7 +43,7 @@ class TerminalReporter {
43
43
  case 'bundle_build_done':
44
44
  {
45
45
  this._reporter.update(args);
46
- const realEntryPath = ModuleResolution.ModuleResolver.EMPTY_MODULE;
46
+ const realEntryPath = require.resolve(rn_supporter_1.emptyModulePath);
47
47
  if (this._initialized) {
48
48
  // 恢复入口页面的缓存
49
49
  this._reporter.ignoreEntryFileCache = false;
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-reporter.js","sourceRoot":"","sources":["../../src/config/terminal-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-reporter.js","sourceRoot":"","sources":["../../src/config/terminal-reporter.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,23 +9,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const Metro = require("metro");
13
- const config_1 = require("./config");
14
- const config_holder_1 = require("./config/config-holder");
15
- const utils_1 = require("./utils");
16
- const preview_1 = require("./config/preview");
12
+ const saveAssets_1 = require("@react-native-community/cli-plugin-metro/build/commands/bundle/saveAssets");
13
+ const cli_server_api_1 = require("@react-native-community/cli-server-api");
17
14
  const helper_1 = require("@tarojs/helper");
18
- const path = require("path");
19
15
  const fse = require("fs-extra");
20
- const url = require("url");
21
- const qr = require("qrcode-terminal");
22
- const readline = require("readline");
23
- const cli_server_api_1 = require("@react-native-community/cli-server-api");
24
- const terminal_reporter_1 = require("./config/terminal-reporter");
16
+ const Metro = require("metro");
25
17
  const transformHelpers_1 = require("metro/src/lib/transformHelpers");
26
18
  const Server = require("metro/src/Server");
27
- const saveAssets_1 = require("@react-native-community/cli-plugin-metro/build/commands/bundle/saveAssets");
28
19
  const outputBundle = require("metro/src/shared/output/bundle");
20
+ const path = require("path");
21
+ const qr = require("qrcode-terminal");
22
+ const readline = require("readline");
23
+ const url = require("url");
24
+ const config_1 = require("./config");
25
+ const build_component_1 = require("./config/build-component");
26
+ const config_holder_1 = require("./config/config-holder");
27
+ const preview_1 = require("./config/preview");
28
+ const terminal_reporter_1 = require("./config/terminal-reporter");
29
+ const utils_1 = require("./utils");
29
30
  function concatOutputFileName(config) {
30
31
  // 优先级:--bundle-output > config.output > config.outputRoot
31
32
  let output = path.join(config.outputRoot, 'index.bundle');
@@ -118,7 +119,10 @@ function build(_appPath, config) {
118
119
  if (error instanceof Error)
119
120
  throw error;
120
121
  };
121
- if (config.isWatch) {
122
+ if (config.isBuildNativeComp) {
123
+ return (0, build_component_1.default)(_appPath, config);
124
+ }
125
+ else if (config.isWatch) {
122
126
  if (!metroConfig.server || (metroConfig.server.useGlobalHotkey === undefined)) {
123
127
  if (!metroConfig.server) {
124
128
  metroConfig.server = {};
@@ -128,7 +132,7 @@ function build(_appPath, config) {
128
132
  if (config.port) {
129
133
  metroConfig.server.port = config.port;
130
134
  }
131
- const { middleware, attachToServer } = (0, cli_server_api_1.createDevServerMiddleware)({
135
+ const { middleware, messageSocketEndpoint, websocketEndpoints } = (0, cli_server_api_1.createDevServerMiddleware)({
132
136
  port: metroConfig.server.port,
133
137
  watchFolders: metroConfig.watchFolders
134
138
  });
@@ -151,20 +155,19 @@ function build(_appPath, config) {
151
155
  });
152
156
  };
153
157
  // 支持host
154
- return Metro.runServer(metroConfig, Object.assign(Object.assign({}, commonOptions), { hmrEnabled: true })).then(server => {
158
+ return Metro.runServer(metroConfig, Object.assign(Object.assign({}, commonOptions), { hmrEnabled: true, websocketEndpoints })).then(server => {
155
159
  console.log(`React-Native Dev server is running on port: ${metroConfig.server.port}`);
156
160
  console.log('\n\nTo reload the app press "r"\nTo open developer menu press "d"\n');
157
- const { messageSocket } = attachToServer(server);
158
161
  readline.emitKeypressEvents(process.stdin);
159
162
  process.stdin.setRawMode && process.stdin.setRawMode(true);
160
163
  process.stdin.on('keypress', (_key, data) => {
161
164
  const { ctrl, name } = data;
162
165
  if (name === 'r') {
163
- messageSocket.broadcast('reload');
166
+ messageSocketEndpoint.broadcast('reload');
164
167
  console.log('Reloading app...');
165
168
  }
166
169
  else if (name === 'd') {
167
- messageSocket.broadcast('devMenu');
170
+ messageSocketEndpoint.broadcast('devMenu');
168
171
  console.log('Opening developer menu...');
169
172
  }
170
173
  else if (ctrl && (name === 'c')) {
@@ -194,7 +197,11 @@ function build(_appPath, config) {
194
197
  const savedBuildFunc = outputBundle.build;
195
198
  outputBundle.build = (packagerClient, requestOptions) => __awaiter(this, void 0, void 0, function* () {
196
199
  const resolutionFn = yield (0, transformHelpers_1.getResolveDependencyFn)(packagerClient.getBundler().getBundler(), requestOptions.platform);
197
- requestOptions.entryFile = resolutionFn(metroConfig.projectRoot, requestOptions.entryFile);
200
+ // try for test case build_noWatch
201
+ try {
202
+ requestOptions.entryFile = resolutionFn(metroConfig.projectRoot, requestOptions.entryFile);
203
+ }
204
+ catch (e) { }
198
205
  return savedBuildFunc(packagerClient, requestOptions);
199
206
  });
200
207
  const server = new Server(metroConfig);
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/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  module.exports = require('./dist/index.js').default
2
+
2
3
  module.exports.default = module.exports
package/jest.config.js CHANGED
@@ -1,33 +1,6 @@
1
- const { jsWithTs: tsjPreset } = require('ts-jest/presets')
2
-
3
1
  module.exports = {
2
+ coverageDirectory: 'coverage',
3
+ preset: 'ts-jest',
4
4
  testEnvironment: 'node',
5
- transform: {
6
- ...tsjPreset.transform
7
- },
8
- collectCoverage: true,
9
- testURL: 'http://localhost/',
10
- moduleFileExtensions: [
11
- 'ts',
12
- 'tsx',
13
- 'js',
14
- 'jsx',
15
- 'json',
16
- 'node'
17
- ],
18
- globals: {
19
- 'ts-jest': {
20
- diagnostics: false,
21
- tsconfig: {
22
- jsx: 'react',
23
- allowJs: true,
24
- target: 'ES6'
25
- }
26
- }
27
- },
28
- testPathIgnorePatterns: [
29
- 'node_modules',
30
- 'utils'
31
- ],
32
- testMatch: ['**/__tests__/?(*.)+(spec|test).[jt]s?(x)']
5
+ testRegex: '/__tests__/.*.spec.tsx?$'
33
6
  }
package/package.json CHANGED
@@ -1,21 +1,12 @@
1
1
  {
2
2
  "name": "@tarojs/rn-runner",
3
- "version": "3.5.0-beta.2",
3
+ "version": "3.5.0-beta.5",
4
4
  "description": "ReactNative build tool for taro",
5
5
  "main": "index.js",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/NervJS/taro.git"
9
9
  },
10
- "scripts": {
11
- "build": "tsc",
12
- "dev": "tsc --watch",
13
- "lint": "eslint .",
14
- "test": "jest --silent",
15
- "test:dev": "jest --watch",
16
- "test:ci": "jest --silent --coverage false",
17
- "test:coverage": "jest --coverage"
18
- },
19
10
  "keywords": [
20
11
  "taro"
21
12
  ],
@@ -30,22 +21,44 @@
30
21
  "npm": ">=6.0.0"
31
22
  },
32
23
  "dependencies": {
33
- "@react-native-community/cli-plugin-metro": "^6.0.0",
34
- "@react-native-community/cli-server-api": "^6.0.0",
35
- "@tarojs/helper": "3.5.0-beta.2",
36
- "@tarojs/rn-style-transformer": "3.5.0-beta.2",
37
- "@tarojs/rn-supporter": "3.5.0-beta.2",
38
- "@tarojs/rn-transformer": "3.5.0-beta.2",
24
+ "@react-native-community/cli": "^7.0.3",
25
+ "@react-native-community/cli-plugin-metro": "^7.0.0",
26
+ "@react-native-community/cli-server-api": "^7.0.0",
27
+ "@rollup/plugin-babel": "^5.3.1",
28
+ "@rollup/plugin-commonjs": "^20.0.0",
29
+ "@rollup/plugin-json": "^4.1.0",
30
+ "@rollup/plugin-node-resolve": "^13.3.0",
31
+ "@rollup/plugin-replace": "^4.0.0",
32
+ "@tarojs/helper": "3.5.0-beta.5",
33
+ "@tarojs/rn-style-transformer": "3.5.0-beta.5",
34
+ "@tarojs/rn-supporter": "3.5.0-beta.5",
35
+ "@tarojs/rn-transformer": "3.5.0-beta.5",
36
+ "acorn-jsx": "^5.3.2",
39
37
  "fs-extra": "^8.0.1",
40
38
  "lodash": "^4.17.21",
41
- "metro": "^0.66.2",
42
- "metro-cache": "^0.66.2",
43
- "metro-config": "^0.66.2",
44
- "metro-core": "^0.66.2",
45
- "metro-react-native-babel-transformer": "^0.66.2",
46
- "metro-resolver": "^0.66.2",
39
+ "metro": "^0.67.0",
40
+ "metro-cache": "^0.67.0",
41
+ "metro-config": "^0.67.0",
42
+ "metro-core": "^0.67.0",
43
+ "metro-react-native-babel-transformer": "^0.67.0",
44
+ "metro-resolver": "^0.67.0",
47
45
  "mime-types": "^2.1.27",
48
- "qrcode-terminal": "^0.12.0"
46
+ "qrcode-terminal": "^0.12.0",
47
+ "rollup-plugin-clear": "^2.0.7",
48
+ "rollup-plugin-image-file": "^1.0.2"
49
49
  },
50
- "gitHead": "c85adaa45959e6cafc15e6531f4735a7dfa2aab0"
51
- }
50
+ "devDependencies": {
51
+ "expo-file-system": "~14.0.0",
52
+ "react-is": "^16.13.0",
53
+ "react-native-root-siblings": "^4.1.1"
54
+ },
55
+ "scripts": {
56
+ "build": "tsc",
57
+ "dev": "tsc --watch",
58
+ "lint": "eslint .",
59
+ "test": "jest --silent",
60
+ "test:dev": "jest --watch",
61
+ "test:ci": "jest --silent --coverage false",
62
+ "test:coverage": "jest --coverage"
63
+ }
64
+ }
@@ -0,0 +1,171 @@
1
+ import babel from '@rollup/plugin-babel'
2
+ import * as commonjs from '@rollup/plugin-commonjs'
3
+ import * as json from '@rollup/plugin-json'
4
+ import nodeResolve from '@rollup/plugin-node-resolve'
5
+ import * as pluginReplace from '@rollup/plugin-replace'
6
+ import { recursiveMerge } from '@tarojs/helper'
7
+ import { rollupTransform as styleTransformer } from '@tarojs/rn-style-transformer'
8
+ import { resolveExtFile, rollupResolver as taroResolver } from '@tarojs/rn-supporter'
9
+ import { getAppConfig } from '@tarojs/rn-transformer'
10
+ import * as jsx from 'acorn-jsx'
11
+ import * as path from 'path'
12
+ import { rollup, RollupOptions } from 'rollup'
13
+ import * as clear from 'rollup-plugin-clear'
14
+ import image from 'rollup-plugin-image-file'
15
+
16
+ type ExternalFn = (arr: Array<string | RegExp>) => Array<string | RegExp>
17
+
18
+ interface IComponentConfig {
19
+ input: string[] | string
20
+ output?: string
21
+ sourceRootPath?: string
22
+ external?: Array<string | RegExp> | ExternalFn
23
+ externalResolve?: (importee, importer) => string | null | void
24
+ modifyRollupConfig?: (
25
+ config: RollupOptions,
26
+ innerplugins?: [typeof taroResolver, typeof styleTransformer]
27
+ ) => RollupOptions
28
+ }
29
+
30
+ const DEFAULT_CONFIG: Pick<
31
+ IComponentConfig,
32
+ 'external' | 'output' | 'externalResolve' | 'sourceRootPath' | 'modifyRollupConfig'
33
+ > = {
34
+ external: [/^react(\/.*)?$/, /^react-native(\/.*)?$/, /^@react-native/],
35
+ output: 'dist',
36
+ externalResolve: importee => (likeDependent(importee) ? importee : null),
37
+ sourceRootPath: process.cwd(),
38
+ modifyRollupConfig: config => config
39
+ }
40
+
41
+ export const build = async (projectConfig, componentConfig: IComponentConfig) => {
42
+ const mergedConfig = recursiveMerge({ ...DEFAULT_CONFIG }, componentConfig)
43
+ const { input, external, output, externalResolve, sourceRootPath, modifyRollupConfig } = mergedConfig
44
+
45
+ const getInputOption = () => {
46
+ const components: string[] = Array.isArray(input) ? input : [input]
47
+
48
+ const inputOptions = components.reduce((pre, cur) => {
49
+ let absolutePath = cur
50
+ if (!path.isAbsolute(cur)) {
51
+ absolutePath = path.resolve(sourceRootPath, cur)
52
+ }
53
+ const realPath = resolveExtFile({ originModulePath: absolutePath }, absolutePath)
54
+ const relativePath = path
55
+ .relative(sourceRootPath, realPath)
56
+ .replace(/\.(js|ts|jsx|tsx)$/, '')
57
+ .replace(/\.{1,}\//g, '')
58
+
59
+ return {
60
+ ...pre,
61
+ [relativePath]: realPath
62
+ }
63
+ }, {})
64
+ if (components.length === 1) {
65
+ return {
66
+ index: Object.values(inputOptions)[0]
67
+ }
68
+ }
69
+ return inputOptions
70
+ }
71
+
72
+ const getExternal = () => {
73
+ if (typeof external === 'function') {
74
+ return external(DEFAULT_CONFIG.external)
75
+ }
76
+ const _external = Array.isArray(external) ? external : [external]
77
+ return _external.filter(Boolean).map(item => {
78
+ if (((item as unknown) as RegExp).test) return item
79
+ const match = (item as string).match(/^\/(.+)\/$/)
80
+ return match ? new RegExp(match[1]) : item
81
+ })
82
+ }
83
+
84
+ const rollupOptions: RollupOptions = {
85
+ input: getInputOption(),
86
+ output: {
87
+ format: 'es',
88
+ dir: output
89
+ },
90
+ external: getExternal(),
91
+ // @ts-ignore react native 相关的一些库中可能包含 jsx 语法
92
+ acornInjectPlugins: [jsx()],
93
+ plugins: [
94
+ clear({ targets: [output] }),
95
+ // TODO: 使用 react-native-svg-transformer 处理
96
+ // @ts-ignore
97
+ image({
98
+ extensions: ['.jpg', '.jpeg', '.png', '.webp', '.gif', '.svg', '.svgx']
99
+ }),
100
+ // @ts-ignore
101
+ json(),
102
+ taroResolver({
103
+ externalResolve
104
+ }),
105
+ nodeResolve({
106
+ extensions: ['.mjs', '.js', '.json', '.node', '.ts', '.tsx']
107
+ }),
108
+ // @ts-ignore
109
+ pluginReplace({
110
+ 'process.env.NODE_ENV': JSON.stringify('production')
111
+ }),
112
+ // @ts-ignore
113
+ commonjs(),
114
+ babel({
115
+ babelHelpers: 'runtime',
116
+ presets: [
117
+ [
118
+ 'babel-preset-taro',
119
+ {
120
+ framework: 'react',
121
+ ts: true,
122
+ reactJsxRuntime: projectConfig.reactJsxRuntime || 'automatic',
123
+ disableImportExportTransform: true
124
+ }
125
+ ]
126
+ ],
127
+ extensions: ['js', 'ts', 'jsx', 'tsx']
128
+ }),
129
+ styleTransformer({ config: projectConfig })
130
+ ]
131
+ }
132
+
133
+ const newRollupOptions = modifyRollupConfig(rollupOptions, {
134
+ taroResolver,
135
+ styleTransformer
136
+ })
137
+ const { output: outputOptions, ...inputOptions } = newRollupOptions
138
+
139
+ let bundle
140
+ try {
141
+ bundle = await rollup(inputOptions)
142
+
143
+ const result = await bundle.write(outputOptions)
144
+ return result
145
+ } catch (error) {
146
+ console.error(error)
147
+ }
148
+ if (bundle) {
149
+ await bundle.close()
150
+ }
151
+ }
152
+
153
+ function likeDependent (str: string) {
154
+ return !str.match(/^\.?\.\//) && !path.isAbsolute(str)
155
+ }
156
+
157
+ export default async function (projectPath: string, config: any) {
158
+ const { sourceRoot, entry, nativeComponents } = config
159
+ const appPath = path.join(projectPath, sourceRoot, entry)
160
+ const appConfig = getAppConfig(appPath)
161
+ const { output = DEFAULT_CONFIG.output } = nativeComponents || {}
162
+
163
+ const componentConfig = {
164
+ ...nativeComponents,
165
+ input: appConfig?.components,
166
+ output: path.join(projectPath, output),
167
+ sourceRootPath: path.join(projectPath, sourceRoot)
168
+ }
169
+
170
+ return build(config, componentConfig)
171
+ }
@@ -1,4 +1,5 @@
1
1
  import { merge } from 'lodash'
2
+
2
3
  import { Config, RNConfig } from '../types'
3
4
 
4
5
  const fs = require('fs')
@@ -66,4 +67,4 @@ const getRNConfigBabelPlugin = () => {
66
67
  }
67
68
  }
68
69
 
69
- export { getConfig, getRNConfig, getRNConfigEntry, getRNConfigOutput, getRNConfigTransformer, getRNConfigBabelPlugin }
70
+ export { getConfig, getRNConfig, getRNConfigBabelPlugin, getRNConfigEntry, getRNConfigOutput, getRNConfigTransformer }
@@ -1,9 +1,10 @@
1
+ import findProjectRoot from '@react-native-community/cli/build/tools/config/findProjectRoot'
2
+ import resolveReactNativePath from '@react-native-community/cli/build/tools/config/resolveReactNativePath'
3
+ import { Supporter } from '@tarojs/rn-supporter'
1
4
  import * as Metro from 'metro'
2
5
  import * as os from 'os'
3
6
  import * as path from 'path'
4
- import resolveReactNativePath from '@react-native-community/cli/build/tools/config/resolveReactNativePath'
5
- import findProjectRoot from '@react-native-community/cli/build/tools/config/findProjectRoot'
6
- import * as Supporter from '@tarojs/rn-supporter'
7
+
7
8
  import ConditionalFileStore from './conditional-file-store'
8
9
 
9
10
  const reactNativePath: string = resolveReactNativePath(findProjectRoot())
@@ -13,21 +14,21 @@ type GetModulesRunBeforeMainModuleFunc = () => any
13
14
  type GetPolyfillsFunc = () => any
14
15
  interface MetroConfig {
15
16
  transformer: {
16
- dynamicDepsInPackages: string;
17
- babelTransformerPath: string;
18
- assetRegistryPath: string;
19
- },
17
+ dynamicDepsInPackages: string
18
+ babelTransformerPath: string
19
+ assetRegistryPath: string
20
+ }
20
21
  resolver: {
21
- sourceExts: string[];
22
- resolveRequest?: ResolveRequestFunc;
23
- },
22
+ sourceExts: string[]
23
+ resolveRequest?: ResolveRequestFunc
24
+ }
24
25
  serializer: {
25
- getModulesRunBeforeMainModule: GetModulesRunBeforeMainModuleFunc,
26
+ getModulesRunBeforeMainModule: GetModulesRunBeforeMainModuleFunc
26
27
  getPolyfills: GetPolyfillsFunc
27
- },
28
- cacheStores: ConditionalFileStore<any>[],
28
+ }
29
+ cacheStores: ConditionalFileStore<any>[]
29
30
  server: {
30
- port: number;
31
+ port: number
31
32
  }
32
33
  }
33
34
 
@@ -1,6 +1,6 @@
1
- import { Terminal } from 'metro-core'
1
+ import { emptyModulePath } from '@tarojs/rn-supporter'
2
2
  import * as MetroTerminalReporter from 'metro/src/lib/TerminalReporter'
3
- import * as ModuleResolution from 'metro/src/node-haste/DependencyGraph/ModuleResolution'
3
+ import { Terminal } from 'metro-core'
4
4
 
5
5
  export class TerminalReporter {
6
6
  _reporter: any
@@ -38,7 +38,7 @@ export class TerminalReporter {
38
38
  break
39
39
  case 'bundle_build_done': {
40
40
  this._reporter.update(args)
41
- const realEntryPath = ModuleResolution.ModuleResolver.EMPTY_MODULE
41
+ const realEntryPath = require.resolve(emptyModulePath)
42
42
  if (this._initialized) {
43
43
  // 恢复入口页面的缓存
44
44
  this._reporter.ignoreEntryFileCache = false