@alodi/site 0.3.1 → 1.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/CHANGELOG.md +9 -5
- package/dist/argv.d.ts +1 -0
- package/dist/argv.d.ts.map +1 -0
- package/dist/argv.js +2 -11
- package/dist/cjs/argv.d.ts +1 -0
- package/dist/cjs/argv.d.ts.map +1 -0
- package/dist/cjs/argv.js +6 -12
- package/dist/cjs/env.d.ts +174 -0
- package/dist/cjs/env.d.ts.map +1 -0
- package/dist/cjs/env.js +190 -0
- package/dist/cjs/index.d.ts +2 -39
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +3 -62
- package/dist/cjs/site.d.ts +218 -0
- package/dist/cjs/site.d.ts.map +1 -0
- package/dist/cjs/site.js +92 -0
- package/dist/env.d.ts +174 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +286 -0
- package/dist/index.d.ts +2 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -53
- package/dist/site.d.ts +218 -0
- package/dist/site.d.ts.map +1 -0
- package/dist/site.js +107 -0
- package/package.json +56 -85
- package/README.md +0 -43
- package/dist/cjs/data.d.ts +0 -27
- package/dist/cjs/data.js +0 -402
- package/dist/data.d.ts +0 -27
- package/dist/data.js +0 -353
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
export declare const SITE: {
|
|
2
|
+
readonly JILI_291: "291jili";
|
|
3
|
+
readonly SUPER_291: "super291";
|
|
4
|
+
readonly JILI_646: "646jili";
|
|
5
|
+
readonly LODI_291: "lodi291";
|
|
6
|
+
readonly TOP_646: "top646";
|
|
7
|
+
readonly JILI_80: "80jili";
|
|
8
|
+
readonly PH_646: "ph646";
|
|
9
|
+
readonly ACE_291: "ace291";
|
|
10
|
+
readonly HOT_646: "hot646";
|
|
11
|
+
readonly LODI_646: "lodi646";
|
|
12
|
+
readonly LODI_GAME: "lodigame";
|
|
13
|
+
readonly LOL_646: "lol646";
|
|
14
|
+
readonly LODI_777: "lodi777";
|
|
15
|
+
readonly YDG_777: "ydg777";
|
|
16
|
+
readonly WASP: "wasp";
|
|
17
|
+
readonly PG_82: "82pg";
|
|
18
|
+
readonly PG_91: "91pg";
|
|
19
|
+
readonly ZAPP_SPIN: "zappspin";
|
|
20
|
+
readonly WASP_SPIN: "waspspin";
|
|
21
|
+
readonly HAA_555: "haa555";
|
|
22
|
+
readonly TRADING: "trading";
|
|
23
|
+
readonly VANG_WIN: "vangwin";
|
|
24
|
+
readonly SORTE_WIN: "sortewin";
|
|
25
|
+
};
|
|
26
|
+
export type SiteName = (typeof SITE)[keyof typeof SITE];
|
|
27
|
+
export type CountryName = 'PHL' | 'THA' | 'VNM' | 'BRA';
|
|
28
|
+
export declare const SiteConfig: {
|
|
29
|
+
readonly "291jili": {
|
|
30
|
+
readonly name: "291JILI";
|
|
31
|
+
readonly country: "PHL";
|
|
32
|
+
};
|
|
33
|
+
readonly super291: {
|
|
34
|
+
readonly name: "super291";
|
|
35
|
+
readonly country: "PHL";
|
|
36
|
+
};
|
|
37
|
+
readonly "646jili": {
|
|
38
|
+
readonly name: "646JILI";
|
|
39
|
+
readonly country: "PHL";
|
|
40
|
+
};
|
|
41
|
+
readonly lodi291: {
|
|
42
|
+
readonly name: "Lodi291";
|
|
43
|
+
readonly country: "PHL";
|
|
44
|
+
};
|
|
45
|
+
readonly top646: {
|
|
46
|
+
readonly name: "TOP646";
|
|
47
|
+
readonly country: "PHL";
|
|
48
|
+
};
|
|
49
|
+
readonly "80jili": {
|
|
50
|
+
readonly name: "80JILI";
|
|
51
|
+
readonly country: "PHL";
|
|
52
|
+
};
|
|
53
|
+
readonly ph646: {
|
|
54
|
+
readonly name: "PH646";
|
|
55
|
+
readonly country: "PHL";
|
|
56
|
+
};
|
|
57
|
+
readonly ace291: {
|
|
58
|
+
readonly name: "Ace291";
|
|
59
|
+
readonly country: "PHL";
|
|
60
|
+
};
|
|
61
|
+
readonly hot646: {
|
|
62
|
+
readonly name: "HOT646";
|
|
63
|
+
readonly country: "PHL";
|
|
64
|
+
};
|
|
65
|
+
readonly lodi646: {
|
|
66
|
+
readonly name: "Lodi646";
|
|
67
|
+
readonly country: "PHL";
|
|
68
|
+
};
|
|
69
|
+
readonly lodigame: {
|
|
70
|
+
readonly name: "lodigame";
|
|
71
|
+
readonly country: "PHL";
|
|
72
|
+
};
|
|
73
|
+
readonly lol646: {
|
|
74
|
+
readonly name: "lol646";
|
|
75
|
+
readonly country: "PHL";
|
|
76
|
+
};
|
|
77
|
+
readonly lodi777: {
|
|
78
|
+
readonly name: "Lodi777";
|
|
79
|
+
readonly country: "PHL";
|
|
80
|
+
};
|
|
81
|
+
readonly ydg777: {
|
|
82
|
+
readonly name: "ydg777";
|
|
83
|
+
readonly country: "PHL";
|
|
84
|
+
};
|
|
85
|
+
readonly wasp: {
|
|
86
|
+
readonly name: "WASPBET";
|
|
87
|
+
readonly country: "THA";
|
|
88
|
+
};
|
|
89
|
+
readonly "82pg": {
|
|
90
|
+
readonly name: "AURA88";
|
|
91
|
+
readonly country: "THA";
|
|
92
|
+
};
|
|
93
|
+
readonly "91pg": {
|
|
94
|
+
readonly name: "AURA69";
|
|
95
|
+
readonly country: "THA";
|
|
96
|
+
};
|
|
97
|
+
readonly zappspin: {
|
|
98
|
+
readonly name: "WASP.WIN";
|
|
99
|
+
readonly country: "THA";
|
|
100
|
+
};
|
|
101
|
+
readonly waspspin: {
|
|
102
|
+
readonly name: "WASP SPIN";
|
|
103
|
+
readonly country: "THA";
|
|
104
|
+
};
|
|
105
|
+
readonly haa555: {
|
|
106
|
+
readonly name: "HAA555";
|
|
107
|
+
readonly country: "THA";
|
|
108
|
+
};
|
|
109
|
+
readonly trading: {
|
|
110
|
+
readonly name: "COINAX";
|
|
111
|
+
readonly country: "THA";
|
|
112
|
+
};
|
|
113
|
+
readonly vangwin: {
|
|
114
|
+
readonly name: "VANGWIN";
|
|
115
|
+
readonly country: "VNM";
|
|
116
|
+
};
|
|
117
|
+
readonly sortewin: {
|
|
118
|
+
readonly name: "SO99";
|
|
119
|
+
readonly country: "BRA";
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export declare const getSiteConfig: <T extends SiteName>(site: T) => {
|
|
123
|
+
site: T;
|
|
124
|
+
} & {
|
|
125
|
+
readonly "291jili": {
|
|
126
|
+
readonly name: "291JILI";
|
|
127
|
+
readonly country: "PHL";
|
|
128
|
+
};
|
|
129
|
+
readonly super291: {
|
|
130
|
+
readonly name: "super291";
|
|
131
|
+
readonly country: "PHL";
|
|
132
|
+
};
|
|
133
|
+
readonly "646jili": {
|
|
134
|
+
readonly name: "646JILI";
|
|
135
|
+
readonly country: "PHL";
|
|
136
|
+
};
|
|
137
|
+
readonly lodi291: {
|
|
138
|
+
readonly name: "Lodi291";
|
|
139
|
+
readonly country: "PHL";
|
|
140
|
+
};
|
|
141
|
+
readonly top646: {
|
|
142
|
+
readonly name: "TOP646";
|
|
143
|
+
readonly country: "PHL";
|
|
144
|
+
};
|
|
145
|
+
readonly "80jili": {
|
|
146
|
+
readonly name: "80JILI";
|
|
147
|
+
readonly country: "PHL";
|
|
148
|
+
};
|
|
149
|
+
readonly ph646: {
|
|
150
|
+
readonly name: "PH646";
|
|
151
|
+
readonly country: "PHL";
|
|
152
|
+
};
|
|
153
|
+
readonly ace291: {
|
|
154
|
+
readonly name: "Ace291";
|
|
155
|
+
readonly country: "PHL";
|
|
156
|
+
};
|
|
157
|
+
readonly hot646: {
|
|
158
|
+
readonly name: "HOT646";
|
|
159
|
+
readonly country: "PHL";
|
|
160
|
+
};
|
|
161
|
+
readonly lodi646: {
|
|
162
|
+
readonly name: "Lodi646";
|
|
163
|
+
readonly country: "PHL";
|
|
164
|
+
};
|
|
165
|
+
readonly lodigame: {
|
|
166
|
+
readonly name: "lodigame";
|
|
167
|
+
readonly country: "PHL";
|
|
168
|
+
};
|
|
169
|
+
readonly lol646: {
|
|
170
|
+
readonly name: "lol646";
|
|
171
|
+
readonly country: "PHL";
|
|
172
|
+
};
|
|
173
|
+
readonly lodi777: {
|
|
174
|
+
readonly name: "Lodi777";
|
|
175
|
+
readonly country: "PHL";
|
|
176
|
+
};
|
|
177
|
+
readonly ydg777: {
|
|
178
|
+
readonly name: "ydg777";
|
|
179
|
+
readonly country: "PHL";
|
|
180
|
+
};
|
|
181
|
+
readonly wasp: {
|
|
182
|
+
readonly name: "WASPBET";
|
|
183
|
+
readonly country: "THA";
|
|
184
|
+
};
|
|
185
|
+
readonly "82pg": {
|
|
186
|
+
readonly name: "AURA88";
|
|
187
|
+
readonly country: "THA";
|
|
188
|
+
};
|
|
189
|
+
readonly "91pg": {
|
|
190
|
+
readonly name: "AURA69";
|
|
191
|
+
readonly country: "THA";
|
|
192
|
+
};
|
|
193
|
+
readonly zappspin: {
|
|
194
|
+
readonly name: "WASP.WIN";
|
|
195
|
+
readonly country: "THA";
|
|
196
|
+
};
|
|
197
|
+
readonly waspspin: {
|
|
198
|
+
readonly name: "WASP SPIN";
|
|
199
|
+
readonly country: "THA";
|
|
200
|
+
};
|
|
201
|
+
readonly haa555: {
|
|
202
|
+
readonly name: "HAA555";
|
|
203
|
+
readonly country: "THA";
|
|
204
|
+
};
|
|
205
|
+
readonly trading: {
|
|
206
|
+
readonly name: "COINAX";
|
|
207
|
+
readonly country: "THA";
|
|
208
|
+
};
|
|
209
|
+
readonly vangwin: {
|
|
210
|
+
readonly name: "VANGWIN";
|
|
211
|
+
readonly country: "VNM";
|
|
212
|
+
};
|
|
213
|
+
readonly sortewin: {
|
|
214
|
+
readonly name: "SO99";
|
|
215
|
+
readonly country: "BRA";
|
|
216
|
+
};
|
|
217
|
+
}[T];
|
|
218
|
+
//# sourceMappingURL=site.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["site.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;CAwBP,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,CAAC,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BsD,CAAC;AAE9E,eAAO,MAAM,aAAa,6BAA8B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKxD,CAAC"}
|
package/dist/cjs/site.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/site.ts
|
|
20
|
+
var site_exports = {};
|
|
21
|
+
__export(site_exports, {
|
|
22
|
+
SITE: () => SITE,
|
|
23
|
+
SiteConfig: () => SiteConfig,
|
|
24
|
+
getSiteConfig: () => getSiteConfig
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(site_exports);
|
|
27
|
+
var SITE = {
|
|
28
|
+
JILI_291: "291jili",
|
|
29
|
+
SUPER_291: "super291",
|
|
30
|
+
JILI_646: "646jili",
|
|
31
|
+
LODI_291: "lodi291",
|
|
32
|
+
TOP_646: "top646",
|
|
33
|
+
JILI_80: "80jili",
|
|
34
|
+
PH_646: "ph646",
|
|
35
|
+
ACE_291: "ace291",
|
|
36
|
+
HOT_646: "hot646",
|
|
37
|
+
LODI_646: "lodi646",
|
|
38
|
+
LODI_GAME: "lodigame",
|
|
39
|
+
LOL_646: "lol646",
|
|
40
|
+
LODI_777: "lodi777",
|
|
41
|
+
YDG_777: "ydg777",
|
|
42
|
+
WASP: "wasp",
|
|
43
|
+
PG_82: "82pg",
|
|
44
|
+
PG_91: "91pg",
|
|
45
|
+
ZAPP_SPIN: "zappspin",
|
|
46
|
+
WASP_SPIN: "waspspin",
|
|
47
|
+
HAA_555: "haa555",
|
|
48
|
+
TRADING: "trading",
|
|
49
|
+
VANG_WIN: "vangwin",
|
|
50
|
+
SORTE_WIN: "sortewin"
|
|
51
|
+
};
|
|
52
|
+
var SiteConfig = {
|
|
53
|
+
// 'PHL'
|
|
54
|
+
[SITE.JILI_291]: { name: "291JILI", country: "PHL" },
|
|
55
|
+
[SITE.SUPER_291]: { name: "super291", country: "PHL" },
|
|
56
|
+
[SITE.JILI_646]: { name: "646JILI", country: "PHL" },
|
|
57
|
+
[SITE.LODI_291]: { name: "Lodi291", country: "PHL" },
|
|
58
|
+
[SITE.TOP_646]: { name: "TOP646", country: "PHL" },
|
|
59
|
+
[SITE.JILI_80]: { name: "80JILI", country: "PHL" },
|
|
60
|
+
[SITE.PH_646]: { name: "PH646", country: "PHL" },
|
|
61
|
+
[SITE.ACE_291]: { name: "Ace291", country: "PHL" },
|
|
62
|
+
[SITE.HOT_646]: { name: "HOT646", country: "PHL" },
|
|
63
|
+
[SITE.LODI_646]: { name: "Lodi646", country: "PHL" },
|
|
64
|
+
[SITE.LODI_GAME]: { name: "lodigame", country: "PHL" },
|
|
65
|
+
[SITE.LOL_646]: { name: "lol646", country: "PHL" },
|
|
66
|
+
[SITE.LODI_777]: { name: "Lodi777", country: "PHL" },
|
|
67
|
+
[SITE.YDG_777]: { name: "ydg777", country: "PHL" },
|
|
68
|
+
// 'THA'
|
|
69
|
+
[SITE.WASP]: { name: "WASPBET", country: "THA" },
|
|
70
|
+
[SITE.PG_82]: { name: "AURA88", country: "THA" },
|
|
71
|
+
[SITE.PG_91]: { name: "AURA69", country: "THA" },
|
|
72
|
+
[SITE.ZAPP_SPIN]: { name: "WASP.WIN", country: "THA" },
|
|
73
|
+
[SITE.WASP_SPIN]: { name: "WASP SPIN", country: "THA" },
|
|
74
|
+
[SITE.HAA_555]: { name: "HAA555", country: "THA" },
|
|
75
|
+
[SITE.TRADING]: { name: "COINAX", country: "THA" },
|
|
76
|
+
// 'VNM'
|
|
77
|
+
[SITE.VANG_WIN]: { name: "VANGWIN", country: "VNM" },
|
|
78
|
+
// 'BRA'
|
|
79
|
+
[SITE.SORTE_WIN]: { name: "SO99", country: "BRA" }
|
|
80
|
+
};
|
|
81
|
+
var getSiteConfig = (site) => {
|
|
82
|
+
return {
|
|
83
|
+
site,
|
|
84
|
+
...SiteConfig[site]
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
+
0 && (module.exports = {
|
|
89
|
+
SITE,
|
|
90
|
+
SiteConfig,
|
|
91
|
+
getSiteConfig
|
|
92
|
+
});
|
package/dist/env.d.ts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { type SiteName } from './site';
|
|
3
|
+
export declare const PLATFORMS: readonly ["ios", "android"];
|
|
4
|
+
export type PlatformName = (typeof PLATFORMS)[number];
|
|
5
|
+
export declare const ENVS: readonly ["dev", "test", "beta", "prod"];
|
|
6
|
+
export type EnvName = (typeof ENVS)[number];
|
|
7
|
+
export declare const SITE_ALIASES: Record<string, SiteName>;
|
|
8
|
+
export declare const DEFAULT_ENV_KEYS: {
|
|
9
|
+
readonly platform: "BIU_PLATFORM";
|
|
10
|
+
readonly site: "BIU_SITE";
|
|
11
|
+
readonly api: "BIU_API";
|
|
12
|
+
readonly ws: "BIU_WS";
|
|
13
|
+
readonly env: "BIU_ENV";
|
|
14
|
+
};
|
|
15
|
+
export type OptionName = keyof typeof DEFAULT_ENV_KEYS;
|
|
16
|
+
export type OptionConfig = {
|
|
17
|
+
enable?: boolean;
|
|
18
|
+
/** 自定义环境变量名,默认 BIU_PLATFORM / BIU_SITE / BIU_API / BIU_WS / BIU_ENV */
|
|
19
|
+
envKey?: string;
|
|
20
|
+
demandOption?: boolean;
|
|
21
|
+
choices?: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
export type ResolvedOptionConfig = {
|
|
24
|
+
enable: false;
|
|
25
|
+
} | {
|
|
26
|
+
enable: true;
|
|
27
|
+
envKey: string;
|
|
28
|
+
demandOption: boolean;
|
|
29
|
+
choices?: readonly string[];
|
|
30
|
+
};
|
|
31
|
+
export type ParseEnvOption = {
|
|
32
|
+
env?: NodeJS.ProcessEnv;
|
|
33
|
+
option?: Partial<Record<OptionName, OptionConfig | false>>;
|
|
34
|
+
};
|
|
35
|
+
export type SiteEnv = {
|
|
36
|
+
platform: PlatformName;
|
|
37
|
+
site: SiteName;
|
|
38
|
+
api: string;
|
|
39
|
+
ws: string;
|
|
40
|
+
env: EnvName;
|
|
41
|
+
};
|
|
42
|
+
/** 解析站点值,支持别名 */
|
|
43
|
+
export declare function resolveSite(value: string): SiteName;
|
|
44
|
+
/** 读取环境变量;demand 为 true 且缺失时抛错 */
|
|
45
|
+
export declare function readEnvValue(env: NodeJS.ProcessEnv, key: string, demand?: boolean): string | undefined;
|
|
46
|
+
/** 校验取值是否在可选列表中 */
|
|
47
|
+
export declare function assertEnvChoice<T extends string>(value: string, choices: readonly T[], key: string): T;
|
|
48
|
+
/** 解析单个字段的 option 配置 */
|
|
49
|
+
export declare function resolveOptionConfig(conf: OptionConfig | false | undefined, defaultEnvKey: string): ResolvedOptionConfig;
|
|
50
|
+
type ReadEnvFieldOptions<T> = {
|
|
51
|
+
env?: NodeJS.ProcessEnv;
|
|
52
|
+
envKey: string;
|
|
53
|
+
demandOption?: boolean;
|
|
54
|
+
choices?: readonly string[];
|
|
55
|
+
/** 原始字符串转换;默认原样返回 */
|
|
56
|
+
parse?: (raw: string) => T;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* 读取并解析单个环境变量字段,便于扩展自定义配置。
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const cdn = readEnvField({
|
|
64
|
+
* envKey: 'BIU_CDN',
|
|
65
|
+
* demandOption: false,
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function readEnvField<T = string>({ env, envKey, demandOption, choices, parse, }: ReadEnvFieldOptions<T>): T | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* 结合 option 配置读取字段;enable 为 false 时返回 undefined。
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* const base = siteEnv({ env, option });
|
|
76
|
+
* const cdn = readEnvOption(env, resolveOptionConfig(option.cdn, 'BIU_CDN'));
|
|
77
|
+
* return { ...base, cdn };
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function readEnvOption<T = string>(env: NodeJS.ProcessEnv, conf: ResolvedOptionConfig, parse?: (raw: string) => T): T | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* 从环境变量读取站点构建配置。
|
|
83
|
+
*
|
|
84
|
+
* 默认环境变量:
|
|
85
|
+
* - `BIU_PLATFORM` = ios | android
|
|
86
|
+
* - `BIU_SITE` = 291jili | ...(兼容 aura69 / aura88 / waspwin / so99)
|
|
87
|
+
* - `BIU_API` = https://...
|
|
88
|
+
* - `BIU_WS` = wss://...
|
|
89
|
+
* - `BIU_ENV` = dev | test | beta | prod
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```bash
|
|
93
|
+
* BIU_PLATFORM=ios BIU_SITE=291jili BIU_API=https://api.example.com BIU_WS=wss://ws.example.com BIU_ENV=prod node build.js
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```ts
|
|
98
|
+
* import { siteEnv, readEnvOption, resolveOptionConfig } from '@alodi/site/env';
|
|
99
|
+
*
|
|
100
|
+
* const { platform, site, api, ws, env } = siteEnv();
|
|
101
|
+
*
|
|
102
|
+
* // 扩展自定义字段
|
|
103
|
+
* const cdn = readEnvOption(process.env, resolveOptionConfig(undefined, 'BIU_CDN'));
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function siteEnv({ env, option }?: ParseEnvOption): Partial<SiteEnv>;
|
|
107
|
+
type SiteEnvKeyMap = Partial<Record<OptionName, string>> & Record<string, string>;
|
|
108
|
+
/**
|
|
109
|
+
* 将 siteEnv 结果(及扩展字段)转换成可注入的环境变量字典。
|
|
110
|
+
* 默认字段走 DEFAULT_ENV_KEYS;额外字段可用 keys 映射,或直接传完整 envKey。
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* const values = { ...siteEnv(), cdn: 'https://cdn.example.com' };
|
|
115
|
+
* const env = siteEnvToProcessEnv(values, { cdn: 'BIU_CDN' });
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function siteEnvToProcessEnv(values: Partial<SiteEnv> & Record<string, string | undefined>, keys?: SiteEnvKeyMap): NodeJS.ProcessEnv;
|
|
119
|
+
/**
|
|
120
|
+
* 把解析后的配置写回目标 env(默认 process.env),供后续子进程继承。
|
|
121
|
+
*
|
|
122
|
+
* 注意:`node pre.js && vite` 这种 shell 串联时,pre 脚本改动的 process.env
|
|
123
|
+
* 不会影响后续 vite;请在 pre 脚本内 spawn/exec Vite。
|
|
124
|
+
*
|
|
125
|
+
* @example 推荐:预处理后 spawn Vite,复用同一份环境
|
|
126
|
+
* ```ts
|
|
127
|
+
* // scripts/build.mts
|
|
128
|
+
* import { spawnSync } from 'node:child_process';
|
|
129
|
+
* import {
|
|
130
|
+
* siteEnv,
|
|
131
|
+
* applySiteEnv,
|
|
132
|
+
* readEnvOption,
|
|
133
|
+
* resolveOptionConfig,
|
|
134
|
+
* } from '@alodi/site/env';
|
|
135
|
+
*
|
|
136
|
+
* // 1. 解析并校验 BIU_*(含 site 别名归一化)
|
|
137
|
+
* const base = siteEnv();
|
|
138
|
+
*
|
|
139
|
+
* // 2. 按需扩展字段
|
|
140
|
+
* const cdn = readEnvOption(process.env, resolveOptionConfig(undefined, 'BIU_CDN'));
|
|
141
|
+
*
|
|
142
|
+
* // 3. 写回 process.env,供子进程继承
|
|
143
|
+
* applySiteEnv({ ...base, ...(cdn ? { cdn } : {}) }, process.env, {
|
|
144
|
+
* cdn: 'BIU_CDN',
|
|
145
|
+
* });
|
|
146
|
+
*
|
|
147
|
+
* // 4. 在同一进程链路中启动 Vite(不要用 `node pre && vite`)
|
|
148
|
+
* const result = spawnSync('vite', ['build'], {
|
|
149
|
+
* stdio: 'inherit',
|
|
150
|
+
* env: process.env,
|
|
151
|
+
* shell: true,
|
|
152
|
+
* });
|
|
153
|
+
* process.exit(result.status ?? 1);
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @example package.json
|
|
157
|
+
* ```json
|
|
158
|
+
* {
|
|
159
|
+
* "scripts": {
|
|
160
|
+
* "build": "tsx scripts/build.mts"
|
|
161
|
+
* }
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* @example 启动命令
|
|
166
|
+
* ```bash
|
|
167
|
+
* BIU_PLATFORM=ios BIU_SITE=291jili BIU_API=https://api.example.com BIU_WS=wss://ws.example.com BIU_ENV=prod BIU_CDN=https://cdn.example.com npm run build
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
export declare function applySiteEnv(values: Partial<SiteEnv> & Record<string, string | undefined>, target?: NodeJS.ProcessEnv, keys?: SiteEnvKeyMap): NodeJS.ProcessEnv;
|
|
171
|
+
/** 将 env 字典格式化为 dotenv 文本,便于 Vite 读取 */
|
|
172
|
+
export declare function formatDotEnv(env: Record<string, string | undefined>): string;
|
|
173
|
+
export {};
|
|
174
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["env.ts"],"names":[],"mappings":"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"}
|