@seayoo-web/app-info 0.1.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.
- package/README.md +94 -0
- package/dist/index.js +2725 -0
- package/package.json +43 -0
- package/types/index.d.ts +4 -0
- package/types/src/file.apk.d.ts +15 -0
- package/types/src/file.app.d.ts +13 -0
- package/types/src/file.ipa.d.ts +29 -0
- package/types/src/utils/arsc.d.ts +56 -0
- package/types/src/utils/base.d.ts +19 -0
- package/types/src/utils/binary.d.ts +191 -0
- package/types/src/utils/manifest.d.ts +121 -0
- package/types/src/utils/module.json.d.ts +175 -0
- package/types/src/utils/pack.info.d.ts +154 -0
- package/types/src/utils/plist.d.ts +27 -0
- package/types/src/utils.d.ts +2 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
export interface HosAppPackInfo {
|
|
2
|
+
/**
|
|
3
|
+
* 概要信息,包含应用基本信息和模块列表。
|
|
4
|
+
*/
|
|
5
|
+
summary: Summary;
|
|
6
|
+
/**
|
|
7
|
+
* 包信息列表,描述各个模块的安装和交付配置。
|
|
8
|
+
*/
|
|
9
|
+
packages: PackageInfo[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 概要信息结构
|
|
13
|
+
*/
|
|
14
|
+
export interface Summary {
|
|
15
|
+
/**
|
|
16
|
+
* 应用信息。
|
|
17
|
+
*/
|
|
18
|
+
app: AppInfo;
|
|
19
|
+
/**
|
|
20
|
+
* 模块(Module)列表。
|
|
21
|
+
*/
|
|
22
|
+
modules: ModuleInfo[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 应用信息
|
|
26
|
+
*/
|
|
27
|
+
export interface AppInfo {
|
|
28
|
+
/**
|
|
29
|
+
* 应用的包名 (Bundle Name),例如 "com.seayoo.zero.hmos.huawei"。
|
|
30
|
+
*/
|
|
31
|
+
bundleName: string;
|
|
32
|
+
/**
|
|
33
|
+
* 应用类型,例如 "app"。
|
|
34
|
+
*/
|
|
35
|
+
bundleType: string;
|
|
36
|
+
/**
|
|
37
|
+
* 应用版本信息。
|
|
38
|
+
*/
|
|
39
|
+
version: VersionInfo;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 版本信息
|
|
43
|
+
*/
|
|
44
|
+
export interface VersionInfo {
|
|
45
|
+
/**
|
|
46
|
+
* 版本代码 (Code),例如 79326。
|
|
47
|
+
*/
|
|
48
|
+
code: number;
|
|
49
|
+
/**
|
|
50
|
+
* 版本名称 (Name),例如 "1.0.7"。
|
|
51
|
+
*/
|
|
52
|
+
name: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 模块信息
|
|
56
|
+
*/
|
|
57
|
+
export interface ModuleInfo {
|
|
58
|
+
/**
|
|
59
|
+
* 模块的主 Ability 名称,例如 "ComboSDKAbility"。
|
|
60
|
+
*/
|
|
61
|
+
mainAbility: string;
|
|
62
|
+
/**
|
|
63
|
+
* 支持的设备类型列表,例如 ["phone", "tablet", "2in1"]。
|
|
64
|
+
*/
|
|
65
|
+
deviceType: DeviceType[];
|
|
66
|
+
/**
|
|
67
|
+
* 模块包含的 Ability 列表。
|
|
68
|
+
*/
|
|
69
|
+
abilities: AbilityInfo[];
|
|
70
|
+
/**
|
|
71
|
+
* 模块的分发/部署信息。
|
|
72
|
+
*/
|
|
73
|
+
distro: DistroInfo;
|
|
74
|
+
/**
|
|
75
|
+
* API 版本信息。
|
|
76
|
+
*/
|
|
77
|
+
apiVersion: ApiVersionInfo;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Ability 信息
|
|
81
|
+
*/
|
|
82
|
+
export interface AbilityInfo {
|
|
83
|
+
/**
|
|
84
|
+
* Ability 名称,例如 "ComboSDKAbility"。
|
|
85
|
+
*/
|
|
86
|
+
name: string;
|
|
87
|
+
/**
|
|
88
|
+
* Ability 标签,通常是资源字符串引用,例如 "$string:EntryAbility_label"。
|
|
89
|
+
*/
|
|
90
|
+
label: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 分发信息
|
|
94
|
+
*/
|
|
95
|
+
export interface DistroInfo {
|
|
96
|
+
/**
|
|
97
|
+
* 模块类型,例如 "entry"(入口模块)或 "feature"。
|
|
98
|
+
*/
|
|
99
|
+
moduleType: "entry" | "feature" | string;
|
|
100
|
+
/**
|
|
101
|
+
* 是否支持免安装 (Installation Free)。
|
|
102
|
+
*/
|
|
103
|
+
installationFree: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* 是否随应用安装包交付 (Delivery With Install)。
|
|
106
|
+
*/
|
|
107
|
+
deliveryWithInstall: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* 模块名称,例如 "entry"。
|
|
110
|
+
*/
|
|
111
|
+
moduleName: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* API 版本信息
|
|
115
|
+
*/
|
|
116
|
+
export interface ApiVersionInfo {
|
|
117
|
+
/**
|
|
118
|
+
* 兼容的最低 API 版本,例如 16。
|
|
119
|
+
*/
|
|
120
|
+
compatible: number;
|
|
121
|
+
/**
|
|
122
|
+
* 版本发布类型,例如 "Release"。
|
|
123
|
+
*/
|
|
124
|
+
releaseType: "Release" | "Beta" | string;
|
|
125
|
+
/**
|
|
126
|
+
* 目标 API 版本,例如 19。
|
|
127
|
+
*/
|
|
128
|
+
target: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* 包信息(用于描述包文件本身的安装信息)
|
|
132
|
+
*/
|
|
133
|
+
export interface PackageInfo {
|
|
134
|
+
/**
|
|
135
|
+
* 支持的设备类型列表。
|
|
136
|
+
*/
|
|
137
|
+
deviceType: DeviceType[];
|
|
138
|
+
/**
|
|
139
|
+
* 模块类型,例如 "entry"。
|
|
140
|
+
*/
|
|
141
|
+
moduleType: "entry" | "feature" | string;
|
|
142
|
+
/**
|
|
143
|
+
* 是否随应用安装包交付。
|
|
144
|
+
*/
|
|
145
|
+
deliveryWithInstall: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* 包的名称,例如 "entry-default"。
|
|
148
|
+
*/
|
|
149
|
+
name: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* 支持的设备类型
|
|
153
|
+
*/
|
|
154
|
+
export type DeviceType = "phone" | "tablet" | "2in1" | "wearable" | "tv" | "car" | string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom object for representing UIDs (Unique Identifiers) in the plist.
|
|
3
|
+
*/
|
|
4
|
+
export declare class UID {
|
|
5
|
+
UID: number;
|
|
6
|
+
constructor(UID: number);
|
|
7
|
+
}
|
|
8
|
+
/** 所有非递归的基本值类型。 */
|
|
9
|
+
export type PlistPrimitive = null | boolean | number | bigint | Date | string | Uint8Array | UID;
|
|
10
|
+
/**
|
|
11
|
+
* Plist 数组容器类型,其元素是任意 PlistValue。
|
|
12
|
+
* 使用 interface 而不是 type 可以避免循环引用错误。
|
|
13
|
+
*/
|
|
14
|
+
export interface PlistArray extends Array<PlistValue> {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Plist 字典容器类型,其键为字符串,值为任意 PlistValue。
|
|
18
|
+
* 使用 interface 而不是 type 可以避免循环引用错误。
|
|
19
|
+
*/
|
|
20
|
+
export interface PlistDict extends Record<string, PlistValue> {
|
|
21
|
+
}
|
|
22
|
+
/** 所有可能的 Plist 值类型:基本类型、数组或字典。 */
|
|
23
|
+
export type PlistValue = PlistPrimitive | PlistArray | PlistDict;
|
|
24
|
+
/** 最终输出结构:包含顶层对象(通常是 PlistDict 或 PlistArray)的数组。 */
|
|
25
|
+
export interface PlistInfo extends Record<string, PlistValue> {
|
|
26
|
+
}
|
|
27
|
+
export declare function parsePlist(plist: ArrayBuffer): PlistInfo | Error;
|