@tarojs/rn-runner 3.5.0-beta.2 → 3.5.0-beta.3
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__/build.spec.ts +3 -3
- package/__tests__/config.spec.ts +1 -1
- package/__tests__/mock/{build_testdata.js → build_testdata.ts} +5 -10
- package/dist/config/index.js +4 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/terminal-reporter.js +3 -3
- package/dist/config/terminal-reporter.js.map +1 -1
- package/dist/index.js +20 -17
- package/dist/index.js.map +1 -1
- package/jest.config.js +3 -30
- package/package.json +14 -14
- package/src/config/index.ts +4 -3
- package/src/config/terminal-reporter.ts +3 -3
- package/src/index.ts +20 -20
- package/tsconfig.json +1 -3
package/__tests__/build.spec.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import build from '../
|
|
1
|
+
import build from '../src/index'
|
|
2
2
|
import { appPath, config, configNoWatch } from './mock/build_testdata'
|
|
3
3
|
|
|
4
|
-
const
|
|
4
|
+
const outputBundle = require('metro/src/shared/output/bundle')
|
|
5
5
|
|
|
6
6
|
describe('init', () => {
|
|
7
|
-
jest.spyOn(
|
|
7
|
+
jest.spyOn(outputBundle, 'build').mockImplementation(() => {
|
|
8
8
|
return 'ok'
|
|
9
9
|
})
|
|
10
10
|
|
package/__tests__/config.spec.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getRNConfigBabelPlugin, getRNConfigEntry, getRNConfigOutput, getRNConfigTransformer } from '../
|
|
1
|
+
import { getRNConfigBabelPlugin, getRNConfigEntry, getRNConfigOutput, getRNConfigTransformer } from '../src/config/config-holder'
|
|
2
2
|
|
|
3
3
|
const path = require('path')
|
|
4
4
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const path = require('path')
|
|
2
2
|
|
|
3
|
-
const appPath = path.resolve(__dirname, '../../../..', '')
|
|
3
|
+
export const appPath = path.resolve(__dirname, '../../../..', '')
|
|
4
4
|
|
|
5
|
-
const config = {
|
|
5
|
+
export const config = {
|
|
6
6
|
entry: 'app',
|
|
7
7
|
copy: { patterns: [], options: {} },
|
|
8
8
|
sourceRoot: 'src',
|
|
@@ -48,16 +48,11 @@ const config = {
|
|
|
48
48
|
deviceType: 'android',
|
|
49
49
|
port: undefined,
|
|
50
50
|
buildAdapter: 'rn',
|
|
51
|
-
globalObject: 'global'
|
|
51
|
+
globalObject: 'global',
|
|
52
|
+
resetCache: true
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
const configNoWatch = {
|
|
55
|
+
export const configNoWatch = {
|
|
55
56
|
...config,
|
|
56
57
|
isWatch: false
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
-
export {
|
|
60
|
-
appPath,
|
|
61
|
-
config,
|
|
62
|
-
configNoWatch
|
|
63
|
-
}
|
package/dist/config/index.js
CHANGED
|
@@ -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,
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA8B;AAC9B,yBAAwB;AACxB,6BAA4B;
|
|
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
|
|
13
|
+
const rn_supporter_1 = require("@tarojs/rn-supporter");
|
|
14
14
|
const MetroTerminalReporter = require("metro/src/lib/TerminalReporter");
|
|
15
|
-
const
|
|
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 =
|
|
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":";;;;;;;;;;;;AAAA,
|
|
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,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
13
|
-
const
|
|
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
|
|
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 config_holder_1 = require("./config/config-holder");
|
|
26
|
+
const preview_1 = require("./config/preview");
|
|
27
|
+
const terminal_reporter_1 = require("./config/terminal-reporter");
|
|
28
|
+
const utils_1 = require("./utils");
|
|
29
29
|
function concatOutputFileName(config) {
|
|
30
30
|
// 优先级:--bundle-output > config.output > config.outputRoot
|
|
31
31
|
let output = path.join(config.outputRoot, 'index.bundle');
|
|
@@ -128,7 +128,7 @@ function build(_appPath, config) {
|
|
|
128
128
|
if (config.port) {
|
|
129
129
|
metroConfig.server.port = config.port;
|
|
130
130
|
}
|
|
131
|
-
const { middleware,
|
|
131
|
+
const { middleware, messageSocketEndpoint } = (0, cli_server_api_1.createDevServerMiddleware)({
|
|
132
132
|
port: metroConfig.server.port,
|
|
133
133
|
watchFolders: metroConfig.watchFolders
|
|
134
134
|
});
|
|
@@ -154,17 +154,16 @@ function build(_appPath, config) {
|
|
|
154
154
|
return Metro.runServer(metroConfig, Object.assign(Object.assign({}, commonOptions), { hmrEnabled: true })).then(server => {
|
|
155
155
|
console.log(`React-Native Dev server is running on port: ${metroConfig.server.port}`);
|
|
156
156
|
console.log('\n\nTo reload the app press "r"\nTo open developer menu press "d"\n');
|
|
157
|
-
const { messageSocket } = attachToServer(server);
|
|
158
157
|
readline.emitKeypressEvents(process.stdin);
|
|
159
158
|
process.stdin.setRawMode && process.stdin.setRawMode(true);
|
|
160
159
|
process.stdin.on('keypress', (_key, data) => {
|
|
161
160
|
const { ctrl, name } = data;
|
|
162
161
|
if (name === 'r') {
|
|
163
|
-
|
|
162
|
+
messageSocketEndpoint.broadcast('reload');
|
|
164
163
|
console.log('Reloading app...');
|
|
165
164
|
}
|
|
166
165
|
else if (name === 'd') {
|
|
167
|
-
|
|
166
|
+
messageSocketEndpoint.broadcast('devMenu');
|
|
168
167
|
console.log('Opening developer menu...');
|
|
169
168
|
}
|
|
170
169
|
else if (ctrl && (name === 'c')) {
|
|
@@ -194,7 +193,11 @@ function build(_appPath, config) {
|
|
|
194
193
|
const savedBuildFunc = outputBundle.build;
|
|
195
194
|
outputBundle.build = (packagerClient, requestOptions) => __awaiter(this, void 0, void 0, function* () {
|
|
196
195
|
const resolutionFn = yield (0, transformHelpers_1.getResolveDependencyFn)(packagerClient.getBundler().getBundler(), requestOptions.platform);
|
|
197
|
-
|
|
196
|
+
// try for test case build_noWatch
|
|
197
|
+
try {
|
|
198
|
+
requestOptions.entryFile = resolutionFn(metroConfig.projectRoot, requestOptions.entryFile);
|
|
199
|
+
}
|
|
200
|
+
catch (e) { }
|
|
198
201
|
return savedBuildFunc(packagerClient, requestOptions);
|
|
199
202
|
});
|
|
200
203
|
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":";;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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
|
-
|
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/rn-runner",
|
|
3
|
-
"version": "3.5.0-beta.
|
|
3
|
+
"version": "3.5.0-beta.3",
|
|
4
4
|
"description": "ReactNative build tool for taro",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -30,22 +30,22 @@
|
|
|
30
30
|
"npm": ">=6.0.0"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@react-native-community/cli-plugin-metro": "^
|
|
34
|
-
"@react-native-community/cli-server-api": "^
|
|
35
|
-
"@tarojs/helper": "3.5.0-beta.
|
|
36
|
-
"@tarojs/rn-style-transformer": "3.5.0-beta.
|
|
37
|
-
"@tarojs/rn-supporter": "3.5.0-beta.
|
|
38
|
-
"@tarojs/rn-transformer": "3.5.0-beta.
|
|
33
|
+
"@react-native-community/cli-plugin-metro": "^7.0.0",
|
|
34
|
+
"@react-native-community/cli-server-api": "^7.0.0",
|
|
35
|
+
"@tarojs/helper": "3.5.0-beta.3",
|
|
36
|
+
"@tarojs/rn-style-transformer": "3.5.0-beta.3",
|
|
37
|
+
"@tarojs/rn-supporter": "3.5.0-beta.3",
|
|
38
|
+
"@tarojs/rn-transformer": "3.5.0-beta.3",
|
|
39
39
|
"fs-extra": "^8.0.1",
|
|
40
40
|
"lodash": "^4.17.21",
|
|
41
|
-
"metro": "^0.
|
|
42
|
-
"metro-cache": "^0.
|
|
43
|
-
"metro-config": "^0.
|
|
44
|
-
"metro-core": "^0.
|
|
45
|
-
"metro-react-native-babel-transformer": "^0.
|
|
46
|
-
"metro-resolver": "^0.
|
|
41
|
+
"metro": "^0.67.0",
|
|
42
|
+
"metro-cache": "^0.67.0",
|
|
43
|
+
"metro-config": "^0.67.0",
|
|
44
|
+
"metro-core": "^0.67.0",
|
|
45
|
+
"metro-react-native-babel-transformer": "^0.67.0",
|
|
46
|
+
"metro-resolver": "^0.67.0",
|
|
47
47
|
"mime-types": "^2.1.27",
|
|
48
48
|
"qrcode-terminal": "^0.12.0"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "bd1aa21707e51500eac9b16526e4ba4171fa8e5f"
|
|
51
51
|
}
|
package/src/config/index.ts
CHANGED
|
@@ -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
|
-
|
|
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())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { emptyModulePath } from '@tarojs/rn-supporter'
|
|
2
2
|
import * as MetroTerminalReporter from 'metro/src/lib/TerminalReporter'
|
|
3
|
-
import
|
|
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 =
|
|
41
|
+
const realEntryPath = require.resolve(emptyModulePath)
|
|
42
42
|
if (this._initialized) {
|
|
43
43
|
// 恢复入口页面的缓存
|
|
44
44
|
this._reporter.ignoreEntryFileCache = false
|
package/src/index.ts
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { getRNConfigEntry } from './config/config-holder'
|
|
4
|
-
import { getOpenHost, PLAYGROUNDINFO } from './utils'
|
|
5
|
-
import preview from './config/preview'
|
|
6
|
-
|
|
1
|
+
import saveAssets from '@react-native-community/cli-plugin-metro/build/commands/bundle/saveAssets'
|
|
2
|
+
import { createDevServerMiddleware } from '@react-native-community/cli-server-api'
|
|
7
3
|
import { PLATFORMS } from '@tarojs/helper'
|
|
8
|
-
import * as path from 'path'
|
|
9
4
|
import * as fse from 'fs-extra'
|
|
10
|
-
import * as
|
|
11
|
-
import * as qr from 'qrcode-terminal'
|
|
12
|
-
|
|
13
|
-
import * as readline from 'readline'
|
|
14
|
-
import { createDevServerMiddleware } from '@react-native-community/cli-server-api'
|
|
15
|
-
import { TerminalReporter } from './config/terminal-reporter'
|
|
5
|
+
import * as Metro from 'metro'
|
|
16
6
|
import { getResolveDependencyFn } from 'metro/src/lib/transformHelpers'
|
|
17
7
|
import * as Server from 'metro/src/Server'
|
|
18
|
-
import saveAssets from '@react-native-community/cli-plugin-metro/build/commands/bundle/saveAssets'
|
|
19
8
|
import * as outputBundle from 'metro/src/shared/output/bundle'
|
|
9
|
+
import * as path from 'path'
|
|
10
|
+
import * as qr from 'qrcode-terminal'
|
|
11
|
+
import * as readline from 'readline'
|
|
12
|
+
import * as url from 'url'
|
|
13
|
+
|
|
14
|
+
import getMetroConfig from './config'
|
|
15
|
+
import { getRNConfigEntry } from './config/config-holder'
|
|
16
|
+
import preview from './config/preview'
|
|
17
|
+
import { TerminalReporter } from './config/terminal-reporter'
|
|
18
|
+
import { getOpenHost, PLAYGROUNDINFO } from './utils'
|
|
20
19
|
|
|
21
20
|
function concatOutputFileName (config: any): string {
|
|
22
21
|
// 优先级:--bundle-output > config.output > config.outputRoot
|
|
@@ -120,7 +119,7 @@ export default async function build (_appPath: string, config: any): Promise<any
|
|
|
120
119
|
metroConfig.server.port = config.port
|
|
121
120
|
}
|
|
122
121
|
|
|
123
|
-
const { middleware,
|
|
122
|
+
const { middleware, messageSocketEndpoint } = createDevServerMiddleware({
|
|
124
123
|
port: metroConfig.server.port,
|
|
125
124
|
watchFolders: metroConfig.watchFolders
|
|
126
125
|
})
|
|
@@ -150,17 +149,15 @@ export default async function build (_appPath: string, config: any): Promise<any
|
|
|
150
149
|
console.log(`React-Native Dev server is running on port: ${metroConfig.server.port}`)
|
|
151
150
|
console.log('\n\nTo reload the app press "r"\nTo open developer menu press "d"\n')
|
|
152
151
|
|
|
153
|
-
const { messageSocket } = attachToServer(server)
|
|
154
|
-
|
|
155
152
|
readline.emitKeypressEvents(process.stdin)
|
|
156
153
|
process.stdin.setRawMode && process.stdin.setRawMode(true)
|
|
157
154
|
process.stdin.on('keypress', (_key, data) => {
|
|
158
155
|
const { ctrl, name } = data
|
|
159
156
|
if (name === 'r') {
|
|
160
|
-
|
|
157
|
+
messageSocketEndpoint.broadcast('reload')
|
|
161
158
|
console.log('Reloading app...')
|
|
162
159
|
} else if (name === 'd') {
|
|
163
|
-
|
|
160
|
+
messageSocketEndpoint.broadcast('devMenu')
|
|
164
161
|
console.log('Opening developer menu...')
|
|
165
162
|
} else if (ctrl && (name === 'c')) {
|
|
166
163
|
process.exit()
|
|
@@ -192,7 +189,10 @@ export default async function build (_appPath: string, config: any): Promise<any
|
|
|
192
189
|
const savedBuildFunc = outputBundle.build
|
|
193
190
|
outputBundle.build = async (packagerClient, requestOptions) => {
|
|
194
191
|
const resolutionFn = await getResolveDependencyFn(packagerClient.getBundler().getBundler(), requestOptions.platform)
|
|
195
|
-
|
|
192
|
+
// try for test case build_noWatch
|
|
193
|
+
try {
|
|
194
|
+
requestOptions.entryFile = resolutionFn(metroConfig.projectRoot, requestOptions.entryFile)
|
|
195
|
+
} catch (e) {}
|
|
196
196
|
return savedBuildFunc(packagerClient, requestOptions)
|
|
197
197
|
}
|
|
198
198
|
|