mirror of
https://gitcode.com/github-mirrors/react-native-update-cli.git
synced 2025-09-16 09:41:38 +08:00
support rn 69 hermes
This commit is contained in:
@@ -36,7 +36,7 @@
|
|||||||
"cli-arguments": "^0.2.1",
|
"cli-arguments": "^0.2.1",
|
||||||
"filesize-parser": "^1.5.0",
|
"filesize-parser": "^1.5.0",
|
||||||
"fs-extra": "8",
|
"fs-extra": "8",
|
||||||
"gradle-to-js": "^2.0.0",
|
"gradle-to-js": "^2.0.1",
|
||||||
"node-fetch": "^2.6.1",
|
"node-fetch": "^2.6.1",
|
||||||
"progress": "^2.0.3",
|
"progress": "^2.0.3",
|
||||||
"read": "^1.0.7",
|
"read": "^1.0.7",
|
||||||
|
65
pnpm-lock.yaml
generated
65
pnpm-lock.yaml
generated
@@ -1,4 +1,4 @@
|
|||||||
lockfileVersion: 5.3
|
lockfileVersion: 5.4
|
||||||
|
|
||||||
specifiers:
|
specifiers:
|
||||||
app-info-parser: ^1.0.0
|
app-info-parser: ^1.0.0
|
||||||
@@ -10,7 +10,7 @@ specifiers:
|
|||||||
cli-arguments: ^0.2.1
|
cli-arguments: ^0.2.1
|
||||||
filesize-parser: ^1.5.0
|
filesize-parser: ^1.5.0
|
||||||
fs-extra: '8'
|
fs-extra: '8'
|
||||||
gradle-to-js: ^2.0.0
|
gradle-to-js: ^2.0.1
|
||||||
node-fetch: ^2.6.1
|
node-fetch: ^2.6.1
|
||||||
progress: ^2.0.3
|
progress: ^2.0.3
|
||||||
read: ^1.0.7
|
read: ^1.0.7
|
||||||
@@ -26,7 +26,7 @@ dependencies:
|
|||||||
cli-arguments: 0.2.1
|
cli-arguments: 0.2.1
|
||||||
filesize-parser: 1.5.0
|
filesize-parser: 1.5.0
|
||||||
fs-extra: 8.1.0
|
fs-extra: 8.1.0
|
||||||
gradle-to-js: 2.0.0
|
gradle-to-js: 2.0.1
|
||||||
node-fetch: 2.6.5
|
node-fetch: 2.6.5
|
||||||
progress: 2.0.3
|
progress: 2.0.3
|
||||||
read: 1.0.7
|
read: 1.0.7
|
||||||
@@ -58,6 +58,22 @@ packages:
|
|||||||
defer-to-connect: 1.1.3
|
defer-to-connect: 1.1.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@types/keyv/3.1.4:
|
||||||
|
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 18.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@types/node/18.0.0:
|
||||||
|
resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@types/responselike/1.0.0:
|
||||||
|
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 18.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/ajv/6.12.6:
|
/ajv/6.12.6:
|
||||||
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -223,6 +239,8 @@ packages:
|
|||||||
v8flags: 2.1.1
|
v8flags: 2.1.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
chokidar: 1.7.0
|
chokidar: 1.7.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-code-frame/6.26.0:
|
/babel-code-frame/6.26.0:
|
||||||
@@ -255,6 +273,8 @@ packages:
|
|||||||
private: 0.1.8
|
private: 0.1.8
|
||||||
slash: 1.0.0
|
slash: 1.0.0
|
||||||
source-map: 0.5.7
|
source-map: 0.5.7
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-generator/6.26.1:
|
/babel-generator/6.26.1:
|
||||||
@@ -275,6 +295,8 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
babel-runtime: 6.26.0
|
babel-runtime: 6.26.0
|
||||||
babel-template: 6.26.0
|
babel-template: 6.26.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-messages/6.23.0:
|
/babel-messages/6.23.0:
|
||||||
@@ -294,6 +316,8 @@ packages:
|
|||||||
babel-runtime: 6.26.0
|
babel-runtime: 6.26.0
|
||||||
babel-template: 6.26.0
|
babel-template: 6.26.0
|
||||||
babel-types: 6.26.0
|
babel-types: 6.26.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-plugin-transform-es2015-spread/6.22.0:
|
/babel-plugin-transform-es2015-spread/6.22.0:
|
||||||
@@ -334,6 +358,8 @@ packages:
|
|||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
mkdirp: 0.5.5
|
mkdirp: 0.5.5
|
||||||
source-map-support: 0.4.18
|
source-map-support: 0.4.18
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-runtime/6.26.0:
|
/babel-runtime/6.26.0:
|
||||||
@@ -351,6 +377,8 @@ packages:
|
|||||||
babel-types: 6.26.0
|
babel-types: 6.26.0
|
||||||
babylon: 6.18.0
|
babylon: 6.18.0
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-traverse/6.26.0:
|
/babel-traverse/6.26.0:
|
||||||
@@ -365,6 +393,8 @@ packages:
|
|||||||
globals: 9.18.0
|
globals: 9.18.0
|
||||||
invariant: 2.2.4
|
invariant: 2.2.4
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/babel-types/6.26.0:
|
/babel-types/6.26.0:
|
||||||
@@ -479,6 +509,8 @@ packages:
|
|||||||
snapdragon-node: 2.1.1
|
snapdragon-node: 2.1.1
|
||||||
split-string: 3.1.0
|
split-string: 3.1.0
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -592,7 +624,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/chokidar/1.7.0:
|
/chokidar/1.7.0:
|
||||||
resolution: {integrity: sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=}
|
resolution: {integrity: sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==}
|
||||||
deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
|
deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -606,6 +638,8 @@ packages:
|
|||||||
readdirp: 2.2.1
|
readdirp: 2.2.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 1.2.13
|
fsevents: 1.2.13
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -786,6 +820,11 @@ packages:
|
|||||||
|
|
||||||
/debug/2.6.9:
|
/debug/2.6.9:
|
||||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.0.0
|
ms: 2.0.0
|
||||||
dev: true
|
dev: true
|
||||||
@@ -969,6 +1008,8 @@ packages:
|
|||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -1021,6 +1062,8 @@ packages:
|
|||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -1249,6 +1292,8 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@sindresorhus/is': 0.14.0
|
'@sindresorhus/is': 0.14.0
|
||||||
'@szmarczak/http-timer': 1.1.2
|
'@szmarczak/http-timer': 1.1.2
|
||||||
|
'@types/keyv': 3.1.4
|
||||||
|
'@types/responselike': 1.0.0
|
||||||
cacheable-request: 6.1.0
|
cacheable-request: 6.1.0
|
||||||
decompress-response: 3.3.0
|
decompress-response: 3.3.0
|
||||||
duplexer3: 0.1.4
|
duplexer3: 0.1.4
|
||||||
@@ -1263,8 +1308,8 @@ packages:
|
|||||||
/graceful-fs/4.2.8:
|
/graceful-fs/4.2.8:
|
||||||
resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
|
resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==}
|
||||||
|
|
||||||
/gradle-to-js/2.0.0:
|
/gradle-to-js/2.0.1:
|
||||||
resolution: {integrity: sha512-eoYJiSoreHG0cS5aUmv7ISJhajuULlqdqG3QKVti6x1EFkBXE8rGH6ipGKWEesXpCkfNgzBrhzo5ztIH1JWZMw==}
|
resolution: {integrity: sha512-is3hDn9zb8XXnjbEeAEIqxTpLHUiGBqjegLmXPuyMBfKAggpadWFku4/AP8iYAGBX6qR9/5UIUIp47V0XI3aMw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash.merge: 4.6.2
|
lodash.merge: 4.6.2
|
||||||
@@ -1935,6 +1980,8 @@ packages:
|
|||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -2013,6 +2060,8 @@ packages:
|
|||||||
regex-not: 1.0.2
|
regex-not: 1.0.2
|
||||||
snapdragon: 0.8.2
|
snapdragon: 0.8.2
|
||||||
to-regex: 3.0.2
|
to-regex: 3.0.2
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -2306,6 +2355,8 @@ packages:
|
|||||||
graceful-fs: 4.2.8
|
graceful-fs: 4.2.8
|
||||||
micromatch: 3.1.10
|
micromatch: 3.1.10
|
||||||
readable-stream: 2.3.7
|
readable-stream: 2.3.7
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
@@ -2527,6 +2578,8 @@ packages:
|
|||||||
source-map: 0.5.7
|
source-map: 0.5.7
|
||||||
source-map-resolve: 0.5.3
|
source-map-resolve: 0.5.3
|
||||||
use: 3.1.1
|
use: 3.1.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
@@ -48,6 +48,7 @@ async function runReactNativeBundleCommand(
|
|||||||
|
|
||||||
fs.emptyDirSync(outputFolder);
|
fs.emptyDirSync(outputFolder);
|
||||||
|
|
||||||
|
// TODO sourcemap
|
||||||
Array.prototype.push.apply(reactNativeBundleArgs, [
|
Array.prototype.push.apply(reactNativeBundleArgs, [
|
||||||
path.join('node_modules', 'react-native', 'local-cli', 'cli.js'),
|
path.join('node_modules', 'react-native', 'local-cli', 'cli.js'),
|
||||||
'bundle',
|
'bundle',
|
||||||
@@ -94,7 +95,10 @@ async function runReactNativeBundleCommand(
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (gradleConfig.enableHermes) {
|
if (
|
||||||
|
(platform === 'android' && gradleConfig.enableHermes) ||
|
||||||
|
(platform === 'ios' && fs.existsSync('ios/Pods/hermes-engine'))
|
||||||
|
) {
|
||||||
await compileHermesByteCode(bundleName, outputFolder);
|
await compileHermesByteCode(bundleName, outputFolder);
|
||||||
}
|
}
|
||||||
resolve(null);
|
resolve(null);
|
||||||
@@ -134,15 +138,21 @@ async function checkGradleConfig() {
|
|||||||
|
|
||||||
async function compileHermesByteCode(bundleName, outputFolder) {
|
async function compileHermesByteCode(bundleName, outputFolder) {
|
||||||
console.log(`Hermes enabled, now compiling to hermes bytecode:\n`);
|
console.log(`Hermes enabled, now compiling to hermes bytecode:\n`);
|
||||||
const hermesPackage = fs.existsSync('node_modules/hermes-engine')
|
// >= rn 0.69
|
||||||
? 'node_modules/hermes-engine' // 0.2+
|
let hermesCommand = `node_modules/react-native/sdks/hermesc/${getHermesOSBin()}/hermesc`;
|
||||||
: 'node_modules/hermesvm'; // < 0.2
|
// < rn 0.69
|
||||||
const hermesPath = `${hermesPackage}/${getHermesOSBin()}`;
|
if (!fs.existsSync(hermesCommand)) {
|
||||||
|
const hermesPackage = fs.existsSync('node_modules/hermes-engine')
|
||||||
|
? 'node_modules/hermes-engine' // 0.2+
|
||||||
|
: 'node_modules/hermesvm'; // < 0.2
|
||||||
|
const hermesPath = `${hermesPackage}/${getHermesOSBin()}`;
|
||||||
|
|
||||||
const hermesCommand = fs.existsSync(`${hermesPath}/hermesc`)
|
hermesCommand = fs.existsSync(`${hermesPath}/hermesc`)
|
||||||
? `${hermesPath}/hermesc` // 0.5+
|
? `${hermesPath}/hermesc` // 0.5+
|
||||||
: `${hermesPath}/hermes`; // < 0.5
|
: `${hermesPath}/hermes`; // < 0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO sourcemap
|
||||||
spawnSync(
|
spawnSync(
|
||||||
path.join.apply(null, hermesCommand.split('/')),
|
path.join.apply(null, hermesCommand.split('/')),
|
||||||
[
|
[
|
||||||
@@ -514,17 +524,11 @@ export const commands = {
|
|||||||
options.platform || (await question('平台(ios/android):')),
|
options.platform || (await question('平台(ios/android):')),
|
||||||
);
|
);
|
||||||
|
|
||||||
let {
|
let { bundleName, entryFile, intermediaDir, output, dev, verbose } =
|
||||||
bundleName,
|
translateOptions({
|
||||||
entryFile,
|
...options,
|
||||||
intermediaDir,
|
platform,
|
||||||
output,
|
});
|
||||||
dev,
|
|
||||||
verbose,
|
|
||||||
} = translateOptions({
|
|
||||||
...options,
|
|
||||||
platform,
|
|
||||||
});
|
|
||||||
|
|
||||||
// const sourcemapOutput = path.join(intermediaDir, bundleName + ".map");
|
// const sourcemapOutput = path.join(intermediaDir, bundleName + ".map");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user