1
0
mirror of https://gitcode.com/gh_mirrors/re/react-native-pushy.git synced 2025-09-18 01:36:11 +08:00
Code Issues Packages Projects Releases Wiki Activity GitHub Gitee
This commit is contained in:
sunnylqm
2019-07-04 22:21:45 +08:00
parent a7f3d23439
commit 5ab361ed54
8 changed files with 48 additions and 72 deletions

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
registry=https://registry.npm.taobao.org/

View File

@@ -4,8 +4,7 @@
const fetch = require('isomorphic-fetch'); const fetch = require('isomorphic-fetch');
let host = process.env.PUSHY_REGISTRY || 'https://update.reactnative.cn/api'; let host = process.env.PUSHY_REGISTRY || 'https://update.reactnative.cn/api';
const fs = require('fs-promise'); const fs = require('fs-extra');
import * as fsOrigin from 'fs';
import request from 'request'; import request from 'request';
import ProgressBar from 'progress'; import ProgressBar from 'progress';
@@ -13,9 +12,9 @@ let session = undefined;
let savedSession = undefined; let savedSession = undefined;
exports.loadSession = async function() { exports.loadSession = async function() {
if (await fs.exists('.update')) { if (fs.existsSync('.update')) {
try { try {
exports.replaceSession(JSON.parse(await fs.readFile('.update', 'utf8'))); exports.replaceSession(JSON.parse(fs.readFileSync('.update', 'utf8')));
savedSession = session; savedSession = session;
} catch (e) { } catch (e) {
console.error('Failed to parse file `.update`. Try to remove it manually.'); console.error('Failed to parse file `.update`. Try to remove it manually.');
@@ -32,19 +31,19 @@ exports.replaceSession = function(newSession) {
session = newSession; session = newSession;
}; };
exports.saveSession = async function() { exports.saveSession = function() {
// Only save on change. // Only save on change.
if (session !== savedSession) { if (session !== savedSession) {
const current = session; const current = session;
const data = JSON.stringify(current, null, 4); const data = JSON.stringify(current, null, 4);
await fs.writeFile('.update', data, 'utf8'); fs.writeFileSync('.update', data, 'utf8');
savedSession = current; savedSession = current;
} }
}; };
exports.closeSession = async function() { exports.closeSession = function() {
if (await fs.exists('.update')) { if (fs.existsSync('.update')) {
await fs.unlink('.update'); fs.unlinkSync('.update');
savedSession = undefined; savedSession = undefined;
} }
session = undefined; session = undefined;
@@ -97,7 +96,7 @@ async function uploadFile(fn) {
realUrl = host + url; realUrl = host + url;
} }
const fileSize = (await fs.stat(fn)).size; const fileSize = fs.statSync(fn).size;
const bar = new ProgressBar(' Uploading [:bar] :percent :etas', { const bar = new ProgressBar(' Uploading [:bar] :percent :etas', {
complete: '=', complete: '=',
@@ -106,7 +105,7 @@ async function uploadFile(fn) {
}); });
const info = await new Promise((resolve, reject) => { const info = await new Promise((resolve, reject) => {
formData.file = fsOrigin.createReadStream(fn); formData.file = fs.createReadStream(fn);
formData.file.on('data', function(data) { formData.file.on('data', function(data) {
bar.tick(data.length); bar.tick(data.length);

View File

@@ -3,7 +3,7 @@
*/ */
import {question} from './utils'; import {question} from './utils';
import * as fs from 'fs-promise'; import * as fs from 'fs-extra';
const { const {
post, post,
@@ -23,13 +23,13 @@ export function checkPlatform(platform) {
return platform return platform
} }
export async function getSelectedApp(platform) { export function getSelectedApp(platform) {
checkPlatform(platform); checkPlatform(platform);
if (!await fs.exists('update.json')){ if (!fs.existsSync('update.json')){
throw new Error(`App not selected. run 'pushy selectApp --platform ${platform}' first!`); throw new Error(`App not selected. run 'pushy selectApp --platform ${platform}' first!`);
} }
const updateInfo = JSON.parse(await fs.readFile('update.json', 'utf8')); const updateInfo = JSON.parse(fs.readFileSync('update.json', 'utf8'));
if (!updateInfo[platform]) { if (!updateInfo[platform]) {
throw new Error(`App not selected. run 'pushy selectApp --platform ${platform}' first!`); throw new Error(`App not selected. run 'pushy selectApp --platform ${platform}' first!`);
} }
@@ -92,9 +92,9 @@ export const commands = {
const id = args[0] || (await chooseApp(platform)).id; const id = args[0] || (await chooseApp(platform)).id;
let updateInfo = {}; let updateInfo = {};
if (await fs.exists('update.json')) { if (fs.existsSync('update.json')) {
try { try {
updateInfo = JSON.parse(await fs.readFile('update.json', 'utf8')); updateInfo = JSON.parse(fs.readFileSync('update.json', 'utf8'));
} catch (e) { } catch (e) {
console.error('Failed to parse file `update.json`. Try to remove it manually.'); console.error('Failed to parse file `update.json`. Try to remove it manually.');
throw e; throw e;
@@ -105,6 +105,6 @@ export const commands = {
appId: id, appId: id,
appKey, appKey,
}; };
await fs.writeFile('update.json', JSON.stringify(updateInfo, null, 4), 'utf8'); fs.writeFileSync('update.json', JSON.stringify(updateInfo, null, 4), 'utf8');
}, },
} }

View File

@@ -3,16 +3,13 @@
*/ */
import * as path from 'path'; import * as path from 'path';
import { mkdir as mkdirRecurisve } from 'mkdir-recursive';
import rmdirRecursive from 'rimraf';
import { getRNVersion, translateOptions } from './utils'; import { getRNVersion, translateOptions } from './utils';
import * as fs from 'fs'; import * as fs from 'fs-extra';
import { ZipFile } from 'yazl'; import { ZipFile } from 'yazl';
import { open as openZipFile } from 'yauzl'; import { open as openZipFile } from 'yauzl';
// import {diff} from 'node-bsdiff'; // import {diff} from 'node-bsdiff';
import { question } from './utils'; import { question } from './utils';
import { checkPlatform } from './app'; import { checkPlatform } from './app';
import crypto from 'crypto';
import minimist from 'minimist'; import minimist from 'minimist';
var diff; var diff;
@@ -28,30 +25,6 @@ try {
}; };
} }
function mkdir(dir) {
return new Promise((resolve, reject) => {
mkdirRecurisve(dir, err => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
function rmdir(dir) {
return new Promise((resolve, reject) => {
rmdirRecursive(dir, err => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
}
async function pack(dir, output) { async function pack(dir, output) {
await mkdir(path.dirname(output)); await mkdir(path.dirname(output));
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
@@ -359,8 +332,7 @@ export const commands = {
console.log('Bundling with React Native version: ', version); console.log('Bundling with React Native version: ', version);
await rmdir(realIntermedia); fs.emptyDirSync(realIntermedia);
await mkdir(realIntermedia);
if (major === 0) { if (major === 0) {
if (minor >= 56) { if (minor >= 56) {

View File

@@ -3,7 +3,7 @@
*/ */
import * as path from 'path'; import * as path from 'path';
import * as fs from 'fs'; import * as fs from 'fs-extra';
import ApkReader from 'node-apk-parser'; import ApkReader from 'node-apk-parser';
import ipaReader from './ipaReader'; import ipaReader from './ipaReader';

View File

@@ -1,6 +1,6 @@
{ {
"name": "react-native-update", "name": "react-native-update",
"version": "5.1.7", "version": "5.1.8",
"description": "react-native hot update", "description": "react-native hot update",
"main": "lib/index.js", "main": "lib/index.js",
"scripts": { "scripts": {
@@ -30,15 +30,13 @@
"dependencies": { "dependencies": {
"cli-arguments": "^0.2.1", "cli-arguments": "^0.2.1",
"decompress-zip": "^0.3.1", "decompress-zip": "^0.3.1",
"fs-promise": "^0.4.1", "fs-extra": "^8.1.0",
"glob": "^7.1.2", "glob": "^7.1.2",
"isomorphic-fetch": "^2.2.1", "isomorphic-fetch": "^2.2.1",
"mkdir-recursive": "^0.2.1",
"node-apk-parser": "^0.2.3", "node-apk-parser": "^0.2.3",
"progress": "^1.1.8", "progress": "^1.1.8",
"read": "^1.0.7", "read": "^1.0.7",
"request": "^2.69.0", "request": "^2.69.0",
"rimraf": "^2.6.2",
"simple-plist": "^0.3.0", "simple-plist": "^0.3.0",
"temporary": "^0.0.8", "temporary": "^0.0.8",
"yauzl": "2.4.1", "yauzl": "2.4.1",

View File

@@ -4,7 +4,7 @@
*/ */
import * as path from 'path'; import * as path from 'path';
import * as fs from 'fs-promise'; import * as fs from 'fs-extra';
const CLI_MODULE_PATH = function() { const CLI_MODULE_PATH = function() {
return path.resolve( return path.resolve(

View File

@@ -44,10 +44,6 @@ ansi-styles@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" resolved "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
any-promise@^1.0.0:
version "1.3.0"
resolved "http://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
anymatch@^1.3.0: anymatch@^1.3.0:
version "1.3.0" version "1.3.0"
resolved "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" resolved "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
@@ -913,11 +909,14 @@ form-data@~2.1.1:
combined-stream "^1.0.5" combined-stream "^1.0.5"
mime-types "^2.1.12" mime-types "^2.1.12"
fs-promise@^0.4.1: fs-extra@^8.1.0:
version "0.4.1" version "8.1.0"
resolved "http://registry.npm.taobao.org/fs-promise/download/fs-promise-0.4.1.tgz#9d57aed89dbcea0fdb6d4cb9c2044aedd9722efd" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
dependencies: dependencies:
any-promise "^1.0.0" graceful-fs "^4.2.0"
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-readdir-recursive@^0.1.0: fs-readdir-recursive@^0.1.0:
version "0.1.2" version "0.1.2"
@@ -1045,6 +1044,11 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4:
version "4.1.11" version "4.1.11"
resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
"graceful-readlink@>= 1.0.0": "graceful-readlink@>= 1.0.0":
version "1.0.1" version "1.0.1"
resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" resolved "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
@@ -1286,6 +1290,13 @@ json5@^0.5.0:
version "0.5.1" version "0.5.1"
resolved "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" resolved "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
optionalDependencies:
graceful-fs "^4.1.6"
jsonpointer@^4.0.0: jsonpointer@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" resolved "http://registry.npm.taobao.org/jsonpointer/download/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
@@ -1488,10 +1499,6 @@ minimist@^1.1.0, minimist@^1.2.0:
version "1.2.0" version "1.2.0"
resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
mkdir-recursive@^0.2.1:
version "0.2.3"
resolved "http://registry.npm.taobao.org/mkdir-recursive/download/mkdir-recursive-0.2.3.tgz#056327ff2c973b46e7cbc42376ff0648ccc48a4a"
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
version "0.5.1" version "0.5.1"
resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
@@ -1890,12 +1897,6 @@ rimraf@2:
dependencies: dependencies:
glob "^7.0.5" glob "^7.0.5"
rimraf@^2.6.2:
version "2.6.2"
resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
dependencies:
glob "^7.0.5"
rimraf@~2.5.1, rimraf@~2.5.4: rimraf@~2.5.1, rimraf@~2.5.4:
version "2.5.4" version "2.5.4"
resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" resolved "http://registry.npm.taobao.org/rimraf/download/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
@@ -2106,6 +2107,11 @@ uid-number@~0.0.6:
version "0.0.6" version "0.0.6"
resolved "http://registry.npm.taobao.org/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" resolved "http://registry.npm.taobao.org/uid-number/download/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
universalify@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
user-home@^1.1.1: user-home@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" resolved "http://registry.npm.taobao.org/user-home/download/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"