react-native-update-cli 1.30.3 → 1.31.0

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.
@@ -1,168 +1,175 @@
1
- 'use strict';
2
-
1
+ "use strict";
3
2
  Object.defineProperty(exports, "__esModule", {
4
- value: true
3
+ value: true
5
4
  });
6
- exports.pricingPageUrl = undefined;
7
-
8
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
9
-
10
- exports.question = question;
11
- exports.translateOptions = translateOptions;
12
- exports.getRNVersion = getRNVersion;
13
- exports.getApkInfo = getApkInfo;
14
- exports.getIpaInfo = getIpaInfo;
15
- exports.saveToLocal = saveToLocal;
16
- exports.printVersionCommand = printVersionCommand;
17
-
18
- var _fsExtra = require('fs-extra');
19
-
20
- var _fsExtra2 = _interopRequireDefault(_fsExtra);
21
-
22
- var _os = require('os');
23
-
24
- var _os2 = _interopRequireDefault(_os);
25
-
26
- var _path = require('path');
27
-
28
- var _path2 = _interopRequireDefault(_path);
29
-
30
- var _package = require('../../package.json');
31
-
32
- var _package2 = _interopRequireDefault(_package);
33
-
34
- var _appInfoParser = require('./app-info-parser');
35
-
36
- var _appInfoParser2 = _interopRequireDefault(_appInfoParser);
37
-
38
- var _satisfies = require('semver/functions/satisfies');
39
-
40
- var _satisfies2 = _interopRequireDefault(_satisfies);
41
-
42
- var _read = require('read');
43
-
44
- var _read2 = _interopRequireDefault(_read);
45
-
46
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
47
-
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getApkInfo: function() {
13
+ return getApkInfo;
14
+ },
15
+ getIpaInfo: function() {
16
+ return getIpaInfo;
17
+ },
18
+ getRNVersion: function() {
19
+ return getRNVersion;
20
+ },
21
+ pricingPageUrl: function() {
22
+ return pricingPageUrl;
23
+ },
24
+ printVersionCommand: function() {
25
+ return printVersionCommand;
26
+ },
27
+ question: function() {
28
+ return question;
29
+ },
30
+ saveToLocal: function() {
31
+ return saveToLocal;
32
+ },
33
+ translateOptions: function() {
34
+ return translateOptions;
35
+ }
36
+ });
37
+ const _fsextra = /*#__PURE__*/ _interop_require_default(require("fs-extra"));
38
+ const _os = /*#__PURE__*/ _interop_require_default(require("os"));
39
+ const _path = /*#__PURE__*/ _interop_require_default(require("path"));
40
+ const _packagejson = /*#__PURE__*/ _interop_require_default(require("../../package.json"));
41
+ const _appinfoparser = /*#__PURE__*/ _interop_require_default(require("./app-info-parser"));
42
+ const _satisfies = /*#__PURE__*/ _interop_require_default(require("semver/functions/satisfies"));
43
+ const _read = /*#__PURE__*/ _interop_require_default(require("read"));
44
+ function _interop_require_default(obj) {
45
+ return obj && obj.__esModule ? obj : {
46
+ default: obj
47
+ };
48
+ }
48
49
  function question(query, password) {
49
- if (NO_INTERACTIVE) {
50
- return Promise.resolve('');
51
- }
52
- return new Promise((resolve, reject) => (0, _read2.default)({
53
- prompt: query,
54
- silent: password,
55
- replace: password ? '*' : undefined
56
- }, (err, result) => err ? reject(err) : resolve(result)));
50
+ if (NO_INTERACTIVE) {
51
+ return Promise.resolve('');
52
+ }
53
+ return new Promise((resolve, reject)=>(0, _read.default)({
54
+ prompt: query,
55
+ silent: password,
56
+ replace: password ? '*' : undefined
57
+ }, (err, result)=>err ? reject(err) : resolve(result)));
57
58
  }
58
-
59
59
  function translateOptions(options) {
60
- const ret = {};
61
- for (let key in options) {
62
- const v = options[key];
63
- if (typeof v === 'string') {
64
- ret[key] = v.replace(/\$\{(\w+)\}/g, function (v, n) {
65
- return options[n] || process.env[n] || v;
66
- });
67
- } else {
68
- ret[key] = v;
60
+ const ret = {};
61
+ for(let key in options){
62
+ const v = options[key];
63
+ if (typeof v === 'string') {
64
+ ret[key] = v.replace(/\$\{(\w+)\}/g, function(v, n) {
65
+ return options[n] || process.env[n] || v;
66
+ });
67
+ } else {
68
+ ret[key] = v;
69
+ }
69
70
  }
70
- }
71
- return ret;
71
+ return ret;
72
72
  }
73
-
74
73
  function getRNVersion() {
75
- const version = JSON.parse(_fsExtra2.default.readFileSync(require.resolve('react-native/package.json', {
76
- paths: [process.cwd()]
77
- }))).version;
78
-
79
- // We only care about major and minor version.
80
- const match = /^(\d+)\.(\d+)\./.exec(version);
81
- return {
82
- version,
83
- major: match[1] | 0,
84
- minor: match[2] | 0
85
- };
74
+ const version = JSON.parse(_fsextra.default.readFileSync(require.resolve('react-native/package.json', {
75
+ paths: [
76
+ process.cwd()
77
+ ]
78
+ }))).version;
79
+ // We only care about major and minor version.
80
+ const match = /^(\d+)\.(\d+)\./.exec(version);
81
+ return {
82
+ version,
83
+ major: match[1] | 0,
84
+ minor: match[2] | 0
85
+ };
86
86
  }
87
-
88
87
  async function getApkInfo(fn) {
89
- const appInfoParser = new _appInfoParser2.default(fn);
90
- const bundleFile = await appInfoParser.parser.getEntry(/assets\/index.android.bundle/);
91
- if (!bundleFile) {
92
- throw new Error('找不到bundle文件。请确保此apk为release版本,且bundle文件名为默认的index.android.bundle');
93
- }
94
- const updateJsonFile = await appInfoParser.parser.getEntry(/res\/raw\/update.json/);
95
- let appCredential = {};
96
- if (updateJsonFile) {
97
- appCredential = JSON.parse(updateJsonFile.toString()).android;
98
- }
99
- const { versionName, application } = await appInfoParser.parse();
100
- let buildTime = 0;
101
- if (Array.isArray(application.metaData)) {
102
- for (const meta of application.metaData) {
103
- if (meta.name === 'pushy_build_time') {
104
- buildTime = meta.value[0];
105
- }
88
+ const appInfoParser = new _appinfoparser.default(fn);
89
+ const bundleFile = await appInfoParser.parser.getEntry(/assets\/index.android.bundle/);
90
+ if (!bundleFile) {
91
+ throw new Error('找不到bundle文件。请确保此apk为release版本,且bundle文件名为默认的index.android.bundle');
92
+ }
93
+ const updateJsonFile = await appInfoParser.parser.getEntry(/res\/raw\/update.json/);
94
+ let appCredential = {};
95
+ if (updateJsonFile) {
96
+ appCredential = JSON.parse(updateJsonFile.toString()).android;
97
+ }
98
+ const { versionName, application } = await appInfoParser.parse();
99
+ let buildTime = 0;
100
+ if (Array.isArray(application.metaData)) {
101
+ for (const meta of application.metaData){
102
+ if (meta.name === 'pushy_build_time') {
103
+ buildTime = meta.value[0];
104
+ }
105
+ }
106
106
  }
107
- }
108
- if (buildTime == 0) {
109
- throw new Error('无法获取此包的编译时间戳。请更新 react-native-update 到最新版本后重新打包上传。');
110
- }
111
- return _extends({ versionName, buildTime }, appCredential);
107
+ if (buildTime == 0) {
108
+ throw new Error('无法获取此包的编译时间戳。请更新 react-native-update 到最新版本后重新打包上传。');
109
+ }
110
+ return {
111
+ versionName,
112
+ buildTime,
113
+ ...appCredential
114
+ };
112
115
  }
113
-
114
116
  async function getIpaInfo(fn) {
115
- const appInfoParser = new _appInfoParser2.default(fn);
116
- const bundleFile = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/main.jsbundle/);
117
- if (!bundleFile) {
118
- throw new Error('找不到bundle文件。请确保此ipa为release版本,且bundle文件名为默认的main.jsbundle');
119
- }
120
- const updateJsonFile = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/assets\/update.json/);
121
- let appCredential = {};
122
- if (updateJsonFile) {
123
- appCredential = JSON.parse(updateJsonFile.toString()).ios;
124
- }
125
- const { CFBundleShortVersionString: versionName } = await appInfoParser.parse();
126
- let buildTimeTxtBuffer = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/pushy_build_time.txt/);
127
- if (!buildTimeTxtBuffer) {
128
- // Not in root bundle when use `use_frameworks`
129
- buildTimeTxtBuffer = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/frameworks\/react_native_update.framework\/pushy_build_time.txt/);
130
- }
131
- if (!buildTimeTxtBuffer) {
132
- throw new Error('无法获取此包的编译时间戳。请更新 react-native-update 到最新版本后重新打包上传。');
133
- }
134
- const buildTime = buildTimeTxtBuffer.toString().replace('\n', '');
135
- return _extends({ versionName, buildTime }, appCredential);
117
+ const appInfoParser = new _appinfoparser.default(fn);
118
+ const bundleFile = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/main.jsbundle/);
119
+ if (!bundleFile) {
120
+ throw new Error('找不到bundle文件。请确保此ipa为release版本,且bundle文件名为默认的main.jsbundle');
121
+ }
122
+ const updateJsonFile = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/assets\/update.json/);
123
+ let appCredential = {};
124
+ if (updateJsonFile) {
125
+ appCredential = JSON.parse(updateJsonFile.toString()).ios;
126
+ }
127
+ const { CFBundleShortVersionString: versionName } = await appInfoParser.parse();
128
+ let buildTimeTxtBuffer = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/pushy_build_time.txt/);
129
+ if (!buildTimeTxtBuffer) {
130
+ // Not in root bundle when use `use_frameworks`
131
+ buildTimeTxtBuffer = await appInfoParser.parser.getEntry(/payload\/.+?\.app\/frameworks\/react_native_update.framework\/pushy_build_time.txt/);
132
+ }
133
+ if (!buildTimeTxtBuffer) {
134
+ throw new Error('无法获取此包的编译时间戳。请更新 react-native-update 到最新版本后重新打包上传。');
135
+ }
136
+ const buildTime = buildTimeTxtBuffer.toString().replace('\n', '');
137
+ return {
138
+ versionName,
139
+ buildTime,
140
+ ...appCredential
141
+ };
136
142
  }
137
-
138
- const localDir = _path2.default.resolve(_os2.default.homedir(), '.pushy');
139
- _fsExtra2.default.ensureDirSync(localDir);
143
+ const localDir = _path.default.resolve(_os.default.homedir(), '.pushy');
144
+ _fsextra.default.ensureDirSync(localDir);
140
145
  function saveToLocal(originPath, destName) {
141
- // TODO
142
- // const destPath = path.join(localDir, destName);
143
- // fs.ensureDirSync(path.dirname(destPath));
144
- // fs.copyFileSync(originPath, destPath);
146
+ // TODO
147
+ // const destPath = path.join(localDir, destName);
148
+ // fs.ensureDirSync(path.dirname(destPath));
149
+ // fs.copyFileSync(originPath, destPath);
145
150
  }
146
-
147
151
  function printVersionCommand() {
148
- console.log('react-native-update-cli: ' + _package2.default.version);
149
- let pushyVersion = '';
150
- try {
151
- const PACKAGE_JSON_PATH = require.resolve('react-native-update/package.json', {
152
- paths: [process.cwd()]
153
- });
154
- pushyVersion = require(PACKAGE_JSON_PATH).version;
155
- console.log('react-native-update: ' + pushyVersion);
156
- } catch (e) {
157
- console.log('react-native-update: 无法获取版本号,请在项目目录中运行命令');
158
- }
159
- if (pushyVersion) {
160
- if ((0, _satisfies2.default)(pushyVersion, '<8.5.1')) {
161
- console.warn('当前版本已不再支持,请至少升级到 v8 的最新小版本后重新打包(代码无需改动): npm i react-native-update@8');
162
- } else if ((0, _satisfies2.default)(pushyVersion, '9.0.0 - 9.2.0')) {
163
- console.warn('当前版本已不再支持,请至少升级到 v9 的最新小版本后重新打包(代码无需改动): npm i react-native-update@9');
152
+ console.log('react-native-update-cli: ' + _packagejson.default.version);
153
+ let pushyVersion = '';
154
+ try {
155
+ const PACKAGE_JSON_PATH = require.resolve('react-native-update/package.json', {
156
+ paths: [
157
+ process.cwd()
158
+ ]
159
+ });
160
+ pushyVersion = require(PACKAGE_JSON_PATH).version;
161
+ console.log('react-native-update: ' + pushyVersion);
162
+ } catch (e) {
163
+ console.log('react-native-update: 无法获取版本号,请在项目目录中运行命令');
164
+ }
165
+ if (pushyVersion) {
166
+ if ((0, _satisfies.default)(pushyVersion, '<8.5.1')) {
167
+ console.warn(`当前版本已不再支持,请至少升级到 v8 的最新小版本后重新打包(代码无需改动): npm i react-native-update@8 .
168
+ 如有使用安装 apk 的功能,请注意添加所需权限 https://pushy.reactnative.cn/docs/api#async-function-downloadandinstallapkurl`);
169
+ } else if ((0, _satisfies.default)(pushyVersion, '9.0.0 - 9.2.0')) {
170
+ console.warn(`当前版本已不再支持,请至少升级到 v9 的最新小版本后重新打包(代码无需改动): npm i react-native-update@9 .
171
+ 如有使用安装 apk 的功能,请注意添加所需权限 https://pushy.reactnative.cn/docs/api#async-function-downloadandinstallapkurl`);
172
+ }
164
173
  }
165
- }
166
174
  }
167
-
168
- const pricingPageUrl = exports.pricingPageUrl = 'https://pushy.reactnative.cn/pricing.html';
175
+ const pricingPageUrl = 'https://pushy.reactnative.cn/pricing.html';