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