@alicloud/alfa-core 1.3.0-alpha.1 → 1.3.0-beta.1
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/dist/index.js +4 -4
- package/es/base.js +220 -0
- package/es/createMicroApp.js +1 -0
- package/es/index.js +4 -1
- package/es/types/index.js +4 -1
- package/es/utils/cacheManager.js +79 -0
- package/es/utils/getAlfaConfig.js +31 -41
- package/es/utils/getAlfaLocale.js +28 -18
- package/es/utils/getAlfaManifest.js +13 -14
- package/es/utils/getAlfaRelease.js +37 -0
- package/es/utils/hookManager.js +33 -0
- package/es/utils/index.js +9 -5
- package/es/utils/logger.js +91 -0
- package/lib/base.d.ts +24 -0
- package/lib/base.js +234 -0
- package/lib/createMicroApp.js +1 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +61 -0
- package/lib/types/index.d.ts +40 -27
- package/lib/types/index.js +12 -1
- package/lib/utils/cacheManager.d.ts +11 -0
- package/lib/utils/cacheManager.js +92 -0
- package/lib/utils/getAlfaConfig.d.ts +3 -3
- package/lib/utils/getAlfaConfig.js +31 -41
- package/lib/utils/getAlfaLocale.d.ts +7 -2
- package/lib/utils/getAlfaLocale.js +28 -18
- package/lib/utils/getAlfaManifest.d.ts +2 -2
- package/lib/utils/getAlfaManifest.js +13 -15
- package/lib/utils/getAlfaRelease.d.ts +2 -0
- package/lib/utils/getAlfaRelease.js +52 -0
- package/lib/utils/hookManager.d.ts +12 -0
- package/lib/utils/hookManager.js +41 -0
- package/lib/utils/index.d.ts +5 -14
- package/lib/utils/index.js +9 -5
- package/lib/utils/logger.d.ts +20 -0
- package/lib/utils/logger.js +100 -0
- package/package.json +3 -2
package/es/base.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
|
+
|
|
7
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
8
|
+
|
|
9
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
10
|
+
|
|
11
|
+
import { createMicroApp } from '@alicloud/console-os-kernal';
|
|
12
|
+
import { getManifestFromConfig, getURL, getAlfaEnv } from './utils';
|
|
13
|
+
import Hook from './utils/hookManager';
|
|
14
|
+
import Logger from './utils/logger';
|
|
15
|
+
|
|
16
|
+
var mergeConfig = function mergeConfig(appConfig, logger) {
|
|
17
|
+
return _objectSpread(_objectSpread({}, appConfig), {}, {
|
|
18
|
+
env: appConfig.env || getAlfaEnv(),
|
|
19
|
+
logger: appConfig.logger || logger
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var BaseLoader = /*#__PURE__*/function () {
|
|
24
|
+
function BaseLoader() {
|
|
25
|
+
_classCallCheck(this, BaseLoader);
|
|
26
|
+
|
|
27
|
+
this.beforeResolve = new Hook();
|
|
28
|
+
this.afterResolve = new Hook();
|
|
29
|
+
this.beforeLoad = new Hook();
|
|
30
|
+
this.afterLoad = new Hook();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_createClass(BaseLoader, [{
|
|
34
|
+
key: "register",
|
|
35
|
+
value: function () {
|
|
36
|
+
var _register = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(passInConfig) {
|
|
37
|
+
var logger, _this$config, name, version, env, chains, flattenHookHandlers, promise;
|
|
38
|
+
|
|
39
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
40
|
+
while (1) {
|
|
41
|
+
switch (_context.prev = _context.next) {
|
|
42
|
+
case 0:
|
|
43
|
+
logger = new Logger();
|
|
44
|
+
|
|
45
|
+
if (passInConfig) {
|
|
46
|
+
_context.next = 4;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
logger.error({
|
|
51
|
+
E_MSG: 'cannot find config before start.'
|
|
52
|
+
});
|
|
53
|
+
return _context.abrupt("return", Promise.reject(new Error('[alfa-core] cannot find config before start.')));
|
|
54
|
+
|
|
55
|
+
case 4:
|
|
56
|
+
this.config = mergeConfig(passInConfig, logger);
|
|
57
|
+
_this$config = this.config, name = _this$config.name, version = _this$config.version, env = _this$config.env;
|
|
58
|
+
logger.setContext({
|
|
59
|
+
NAME: name,
|
|
60
|
+
VERSION: version,
|
|
61
|
+
ENV: env
|
|
62
|
+
});
|
|
63
|
+
chains = [];
|
|
64
|
+
|
|
65
|
+
flattenHookHandlers = function flattenHookHandlers(handler) {
|
|
66
|
+
var fulfilled = handler.fulfilled,
|
|
67
|
+
rejected = handler.rejected;
|
|
68
|
+
chains.push(fulfilled, rejected);
|
|
69
|
+
}; // resolve entry from config
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
this.beforeResolve.handlers.forEach(flattenHookHandlers); // TODO: handle beforeResolve error
|
|
73
|
+
|
|
74
|
+
chains.push(this.resolve, undefined); // modify resolved config
|
|
75
|
+
|
|
76
|
+
this.afterResolve.handlers.forEach(flattenHookHandlers); // update props before load
|
|
77
|
+
|
|
78
|
+
this.beforeLoad.handlers.forEach(flattenHookHandlers); // TODO: handle beforeLoad error
|
|
79
|
+
|
|
80
|
+
chains.push(this.load, undefined); // modify context after load
|
|
81
|
+
|
|
82
|
+
this.afterLoad.handlers.forEach(flattenHookHandlers);
|
|
83
|
+
promise = Promise.resolve(this.config);
|
|
84
|
+
|
|
85
|
+
while (chains.length) {
|
|
86
|
+
promise = promise.then(chains.shift(), chains.shift());
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return _context.abrupt("return", promise);
|
|
90
|
+
|
|
91
|
+
case 18:
|
|
92
|
+
case "end":
|
|
93
|
+
return _context.stop();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, _callee, this);
|
|
97
|
+
}));
|
|
98
|
+
|
|
99
|
+
function register(_x) {
|
|
100
|
+
return _register.apply(this, arguments);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return register;
|
|
104
|
+
}()
|
|
105
|
+
/**
|
|
106
|
+
* resolve config and rewrite manifest and url
|
|
107
|
+
* @param config
|
|
108
|
+
* @returns
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
}, {
|
|
112
|
+
key: "resolve",
|
|
113
|
+
value: function () {
|
|
114
|
+
var _resolve = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(config) {
|
|
115
|
+
var manifest, url;
|
|
116
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
117
|
+
while (1) {
|
|
118
|
+
switch (_context2.prev = _context2.next) {
|
|
119
|
+
case 0:
|
|
120
|
+
manifest = getManifestFromConfig(config);
|
|
121
|
+
url = getURL(config);
|
|
122
|
+
|
|
123
|
+
if (!(!manifest && !url)) {
|
|
124
|
+
_context2.next = 4;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
throw new Error("No entry or manifest in ".concat(config.name));
|
|
129
|
+
|
|
130
|
+
case 4:
|
|
131
|
+
return _context2.abrupt("return", _objectSpread(_objectSpread({}, config), {}, {
|
|
132
|
+
manifest: manifest,
|
|
133
|
+
url: url
|
|
134
|
+
}));
|
|
135
|
+
|
|
136
|
+
case 5:
|
|
137
|
+
case "end":
|
|
138
|
+
return _context2.stop();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}, _callee2);
|
|
142
|
+
}));
|
|
143
|
+
|
|
144
|
+
function resolve(_x2) {
|
|
145
|
+
return _resolve.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return resolve;
|
|
149
|
+
}()
|
|
150
|
+
/**
|
|
151
|
+
* loadApp from remote
|
|
152
|
+
* @param config
|
|
153
|
+
* @returns
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
}, {
|
|
157
|
+
key: "load",
|
|
158
|
+
value: function () {
|
|
159
|
+
var _load = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(config) {
|
|
160
|
+
var name, container, manifest, props, deps, url, beforeMount, afterMount, beforeUnmount, afterUnmount, beforeUpdate, sandbox, app;
|
|
161
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
162
|
+
while (1) {
|
|
163
|
+
switch (_context3.prev = _context3.next) {
|
|
164
|
+
case 0:
|
|
165
|
+
name = config.name, container = config.container, manifest = config.manifest, props = config.props, deps = config.deps, url = config.url, beforeMount = config.beforeMount, afterMount = config.afterMount, beforeUnmount = config.beforeUnmount, afterUnmount = config.afterUnmount, beforeUpdate = config.beforeUpdate, sandbox = config.sandbox;
|
|
166
|
+
_context3.next = 3;
|
|
167
|
+
return createMicroApp({
|
|
168
|
+
name: name,
|
|
169
|
+
dom: container,
|
|
170
|
+
manifest: manifest,
|
|
171
|
+
customProps: props,
|
|
172
|
+
deps: deps,
|
|
173
|
+
url: url,
|
|
174
|
+
// logger,
|
|
175
|
+
appWillMount: beforeMount,
|
|
176
|
+
appDidMount: afterMount,
|
|
177
|
+
appWillUnmount: beforeUnmount,
|
|
178
|
+
appDidUnmount: afterUnmount,
|
|
179
|
+
appWillUpdate: beforeUpdate
|
|
180
|
+
}, {
|
|
181
|
+
sandbox: sandbox // parcel
|
|
182
|
+
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
case 3:
|
|
186
|
+
app = _context3.sent;
|
|
187
|
+
_context3.next = 6;
|
|
188
|
+
return app.load();
|
|
189
|
+
|
|
190
|
+
case 6:
|
|
191
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, config), {}, {
|
|
192
|
+
app: app
|
|
193
|
+
}));
|
|
194
|
+
|
|
195
|
+
case 7:
|
|
196
|
+
case "end":
|
|
197
|
+
return _context3.stop();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}, _callee3);
|
|
201
|
+
}));
|
|
202
|
+
|
|
203
|
+
function load(_x3) {
|
|
204
|
+
return _load.apply(this, arguments);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return load;
|
|
208
|
+
}()
|
|
209
|
+
}], [{
|
|
210
|
+
key: "create",
|
|
211
|
+
value: // just create instance, will be mounted in loader
|
|
212
|
+
function create() {
|
|
213
|
+
return new this();
|
|
214
|
+
}
|
|
215
|
+
}]);
|
|
216
|
+
|
|
217
|
+
return BaseLoader;
|
|
218
|
+
}();
|
|
219
|
+
|
|
220
|
+
export { BaseLoader as default };
|
package/es/createMicroApp.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createMicroApp as createConsoleOSMicroApp } from '@alicloud/console-os-kernal';
|
|
2
2
|
import { getManifestFromConfig, getURL } from './utils';
|
|
3
|
+
// TODO: deprecate in next major version
|
|
3
4
|
export var createMicroApp = function createMicroApp(appConfig) {
|
|
4
5
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
5
6
|
var manifest = getManifestFromConfig(appConfig);
|
package/es/index.js
CHANGED
|
@@ -2,5 +2,8 @@ export { createMicroApp } from './createMicroApp';
|
|
|
2
2
|
export { getManifest } from './utils/getAlfaManifest';
|
|
3
3
|
export { getConfig } from './utils/getAlfaConfig';
|
|
4
4
|
export { getLocale } from './utils/getAlfaLocale';
|
|
5
|
+
export { default as BaseLoader } from './base';
|
|
6
|
+
export { default as Logger } from './utils/logger';
|
|
7
|
+
export * from './utils/index';
|
|
5
8
|
export { createEventBus, prefetch } from '@alicloud/console-os-kernal';
|
|
6
|
-
export { IAppConfig, IOptions, AlfaFactoryOption, AlfaDynamicConfig as AlfaConfig, IWin } from './types';
|
|
9
|
+
export { IAppConfig, IOptions, AlfaFactoryOption, AlfaDynamicConfig as AlfaConfig, IWin, EnvEnum as AlfaEnvEnum, AlfaLogger } from './types';
|
package/es/types/index.js
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
|
|
7
|
+
var Cache = /*#__PURE__*/function () {
|
|
8
|
+
function Cache() {
|
|
9
|
+
_classCallCheck(this, Cache);
|
|
10
|
+
|
|
11
|
+
this.store = {};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
_createClass(Cache, [{
|
|
15
|
+
key: "getRemote",
|
|
16
|
+
value: function () {
|
|
17
|
+
var _getRemote = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(url) {
|
|
18
|
+
var res, result;
|
|
19
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
if (!this.store[url]) {
|
|
24
|
+
_context.next = 2;
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return _context.abrupt("return", this.store[url]);
|
|
29
|
+
|
|
30
|
+
case 2:
|
|
31
|
+
_context.next = 4;
|
|
32
|
+
return axios.get(url);
|
|
33
|
+
|
|
34
|
+
case 4:
|
|
35
|
+
res = _context.sent;
|
|
36
|
+
result = res.data;
|
|
37
|
+
if (result) this.store[url] = result;
|
|
38
|
+
return _context.abrupt("return", result);
|
|
39
|
+
|
|
40
|
+
case 8:
|
|
41
|
+
case "end":
|
|
42
|
+
return _context.stop();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}, _callee, this);
|
|
46
|
+
}));
|
|
47
|
+
|
|
48
|
+
function getRemote(_x) {
|
|
49
|
+
return _getRemote.apply(this, arguments);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return getRemote;
|
|
53
|
+
}()
|
|
54
|
+
}, {
|
|
55
|
+
key: "get",
|
|
56
|
+
value: function get(key) {
|
|
57
|
+
return this.store[key];
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
key: "set",
|
|
61
|
+
value: function set(key, value) {
|
|
62
|
+
this.store[key] = value;
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "clear",
|
|
66
|
+
value: function clear() {
|
|
67
|
+
this.store = {};
|
|
68
|
+
}
|
|
69
|
+
}], [{
|
|
70
|
+
key: "create",
|
|
71
|
+
value: function create() {
|
|
72
|
+
return new this();
|
|
73
|
+
}
|
|
74
|
+
}]);
|
|
75
|
+
|
|
76
|
+
return Cache;
|
|
77
|
+
}();
|
|
78
|
+
|
|
79
|
+
export default Cache.create();
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
|
-
|
|
9
|
-
import axios from 'axios';
|
|
10
|
-
import { resolveConfigUrl } from '.';
|
|
11
|
-
var cachedConfig = {};
|
|
12
|
-
var productReg = /@ali\/alfa-cloud-([a-zA-z]*)-(app|widget)-.*/;
|
|
3
|
+
import { getRelease } from './getAlfaRelease';
|
|
4
|
+
import cache from './cacheManager';
|
|
13
5
|
var defaultConfig = {
|
|
14
6
|
ALL_CHANNEL_FEATURE_STATUS: {},
|
|
15
7
|
ALL_CHANNEL_LINKS: {},
|
|
@@ -17,60 +9,58 @@ var defaultConfig = {
|
|
|
17
9
|
};
|
|
18
10
|
/**
|
|
19
11
|
* 获取 Alfa 平台配置的 Config
|
|
20
|
-
* @param
|
|
12
|
+
* @param config
|
|
21
13
|
* @returns
|
|
22
14
|
*/
|
|
23
15
|
|
|
24
16
|
export var getConfig = /*#__PURE__*/function () {
|
|
25
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
26
|
-
var
|
|
17
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {
|
|
18
|
+
var _releaseConfig$distT, _releaseConfig$config, _releaseConfig$config2;
|
|
19
|
+
|
|
20
|
+
var releaseConfig, version, configEntry, configData;
|
|
27
21
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
28
22
|
while (1) {
|
|
29
23
|
switch (_context.prev = _context.next) {
|
|
30
24
|
case 0:
|
|
31
|
-
|
|
25
|
+
_context.next = 2;
|
|
26
|
+
return getRelease(config);
|
|
32
27
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
case 2:
|
|
29
|
+
releaseConfig = _context.sent;
|
|
30
|
+
version = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT['config-latest'];
|
|
31
|
+
configEntry = (_releaseConfig$config = releaseConfig['config-versions']) === null || _releaseConfig$config === void 0 ? void 0 : (_releaseConfig$config2 = _releaseConfig$config[version]) === null || _releaseConfig$config2 === void 0 ? void 0 : _releaseConfig$config2.entry;
|
|
32
|
+
configData = defaultConfig; // when config is not valid, return empty
|
|
37
33
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
case 3:
|
|
41
|
-
configId = matches[1] || option.name;
|
|
42
|
-
|
|
43
|
-
if (cachedConfig[configId]) {
|
|
44
|
-
_context.next = 15;
|
|
34
|
+
if (!(!version || configEntry)) {
|
|
35
|
+
_context.next = 8;
|
|
45
36
|
break;
|
|
46
37
|
}
|
|
47
38
|
|
|
48
|
-
_context.
|
|
49
|
-
_context.next = 8;
|
|
50
|
-
return axios.get(resolveConfigUrl(_objectSpread(_objectSpread({}, option), {}, {
|
|
51
|
-
name: configId
|
|
52
|
-
})));
|
|
39
|
+
return _context.abrupt("return", configData);
|
|
53
40
|
|
|
54
41
|
case 8:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
_context.next = 15;
|
|
59
|
-
break;
|
|
42
|
+
_context.prev = 8;
|
|
43
|
+
_context.next = 11;
|
|
44
|
+
return cache.getRemote(configEntry);
|
|
60
45
|
|
|
61
|
-
case
|
|
62
|
-
|
|
63
|
-
_context.
|
|
46
|
+
case 11:
|
|
47
|
+
configData = _context.sent;
|
|
48
|
+
_context.next = 16;
|
|
49
|
+
break;
|
|
64
50
|
|
|
65
|
-
case
|
|
66
|
-
|
|
51
|
+
case 14:
|
|
52
|
+
_context.prev = 14;
|
|
53
|
+
_context.t0 = _context["catch"](8);
|
|
67
54
|
|
|
68
55
|
case 16:
|
|
56
|
+
return _context.abrupt("return", configData);
|
|
57
|
+
|
|
58
|
+
case 17:
|
|
69
59
|
case "end":
|
|
70
60
|
return _context.stop();
|
|
71
61
|
}
|
|
72
62
|
}
|
|
73
|
-
}, _callee, null, [[
|
|
63
|
+
}, _callee, null, [[8, 14]]);
|
|
74
64
|
}));
|
|
75
65
|
|
|
76
66
|
return function getConfig(_x) {
|
|
@@ -1,53 +1,63 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import { getAlfaLocale } from './index';
|
|
4
|
+
import { getRelease } from './getAlfaRelease';
|
|
5
|
+
import cache from './cacheManager';
|
|
6
|
+
/**
|
|
7
|
+
* 获取国际化文案
|
|
8
|
+
* @param config
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
|
|
5
12
|
export var getLocale = /*#__PURE__*/function () {
|
|
6
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
13
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {
|
|
7
14
|
var _releaseConfig$distT, _releaseConfig$locale, _releaseConfig$locale2;
|
|
8
15
|
|
|
9
|
-
var
|
|
16
|
+
var releaseConfig, locale, version, localeEntry, messages;
|
|
10
17
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
11
18
|
while (1) {
|
|
12
19
|
switch (_context.prev = _context.next) {
|
|
13
20
|
case 0:
|
|
14
21
|
_context.next = 2;
|
|
15
|
-
return
|
|
22
|
+
return getRelease(config);
|
|
16
23
|
|
|
17
24
|
case 2:
|
|
18
|
-
|
|
25
|
+
releaseConfig = _context.sent;
|
|
19
26
|
locale = getAlfaLocale();
|
|
20
|
-
releaseConfig = resp.data;
|
|
21
27
|
version = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT['locales-latest'];
|
|
22
28
|
localeEntry = (_releaseConfig$locale = releaseConfig['locales-versions']) === null || _releaseConfig$locale === void 0 ? void 0 : (_releaseConfig$locale2 = _releaseConfig$locale[version]) === null || _releaseConfig$locale2 === void 0 ? void 0 : _releaseConfig$locale2[locale];
|
|
29
|
+
messages = {};
|
|
23
30
|
|
|
24
|
-
if (
|
|
31
|
+
if (localeEntry) {
|
|
32
|
+
_context.next = 9;
|
|
33
|
+
break;
|
|
25
34
|
}
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
return _context.abrupt("return", messages);
|
|
37
|
+
|
|
38
|
+
case 9:
|
|
28
39
|
_context.prev = 9;
|
|
29
40
|
_context.next = 12;
|
|
30
|
-
return
|
|
41
|
+
return cache.getRemote(localeEntry);
|
|
31
42
|
|
|
32
43
|
case 12:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_context.next = 18;
|
|
44
|
+
messages = _context.sent;
|
|
45
|
+
_context.next = 17;
|
|
36
46
|
break;
|
|
37
47
|
|
|
38
|
-
case
|
|
39
|
-
_context.prev =
|
|
48
|
+
case 15:
|
|
49
|
+
_context.prev = 15;
|
|
40
50
|
_context.t0 = _context["catch"](9);
|
|
41
51
|
|
|
42
|
-
case
|
|
52
|
+
case 17:
|
|
43
53
|
return _context.abrupt("return", messages);
|
|
44
54
|
|
|
45
|
-
case
|
|
55
|
+
case 18:
|
|
46
56
|
case "end":
|
|
47
57
|
return _context.stop();
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
|
-
}, _callee, null, [[9,
|
|
60
|
+
}, _callee, null, [[9, 15]]);
|
|
51
61
|
}));
|
|
52
62
|
|
|
53
63
|
return function getLocale(_x) {
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import
|
|
4
|
-
import { resolveReleaseUrl } from '.';
|
|
3
|
+
import { getRelease } from './getAlfaRelease';
|
|
5
4
|
export var getManifest = /*#__PURE__*/function () {
|
|
6
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
5
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {
|
|
7
6
|
var _releaseConfig$distT2;
|
|
8
7
|
|
|
9
|
-
var
|
|
8
|
+
var name, version, releaseConfig, _releaseConfig$distT, configByVersion;
|
|
10
9
|
|
|
11
10
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
12
11
|
while (1) {
|
|
13
12
|
switch (_context.prev = _context.next) {
|
|
14
13
|
case 0:
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
name = config.name;
|
|
15
|
+
version = config.version;
|
|
16
|
+
_context.next = 4;
|
|
17
|
+
return getRelease(config);
|
|
17
18
|
|
|
18
|
-
case
|
|
19
|
-
|
|
20
|
-
releaseConfig = resp.data;
|
|
21
|
-
version = option.version;
|
|
19
|
+
case 4:
|
|
20
|
+
releaseConfig = _context.sent;
|
|
22
21
|
|
|
23
|
-
if (!
|
|
22
|
+
if (!config.version) {
|
|
24
23
|
version = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT.latest;
|
|
25
24
|
} // if version is in dist-tags, return value
|
|
26
25
|
|
|
27
26
|
|
|
28
|
-
if ((_releaseConfig$distT2 = releaseConfig['dist-tags']) !== null && _releaseConfig$distT2 !== void 0 && _releaseConfig$distT2[
|
|
29
|
-
version = releaseConfig['dist-tags'][
|
|
27
|
+
if ((_releaseConfig$distT2 = releaseConfig['dist-tags']) !== null && _releaseConfig$distT2 !== void 0 && _releaseConfig$distT2[config.version]) {
|
|
28
|
+
version = releaseConfig['dist-tags'][config.version];
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
configByVersion = releaseConfig.versions[version];
|
|
@@ -36,7 +35,7 @@ export var getManifest = /*#__PURE__*/function () {
|
|
|
36
35
|
break;
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
throw new Error("".concat(
|
|
38
|
+
throw new Error("".concat(name, "@").concat(version, " is not found, please check you release."));
|
|
40
39
|
|
|
41
40
|
case 10:
|
|
42
41
|
return _context.abrupt("return", releaseConfig.versions[version].entry);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
import { resolveReleaseUrl } from '.';
|
|
4
|
+
import cache from './cacheManager';
|
|
5
|
+
export var getRelease = /*#__PURE__*/function () {
|
|
6
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {
|
|
7
|
+
var name, releaseConfig;
|
|
8
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
9
|
+
while (1) {
|
|
10
|
+
switch (_context.prev = _context.next) {
|
|
11
|
+
case 0:
|
|
12
|
+
name = config.name;
|
|
13
|
+
_context.prev = 1;
|
|
14
|
+
_context.next = 4;
|
|
15
|
+
return cache.getRemote(resolveReleaseUrl(config));
|
|
16
|
+
|
|
17
|
+
case 4:
|
|
18
|
+
releaseConfig = _context.sent;
|
|
19
|
+
return _context.abrupt("return", releaseConfig);
|
|
20
|
+
|
|
21
|
+
case 8:
|
|
22
|
+
_context.prev = 8;
|
|
23
|
+
_context.t0 = _context["catch"](1);
|
|
24
|
+
throw new Error("".concat(name, " releaseConfig loading failed, please try again or connect developers."));
|
|
25
|
+
|
|
26
|
+
case 11:
|
|
27
|
+
case "end":
|
|
28
|
+
return _context.stop();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}, _callee, null, [[1, 8]]);
|
|
32
|
+
}));
|
|
33
|
+
|
|
34
|
+
return function getRelease(_x) {
|
|
35
|
+
return _ref.apply(this, arguments);
|
|
36
|
+
};
|
|
37
|
+
}();
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
|
|
4
|
+
var Hook = /*#__PURE__*/function () {
|
|
5
|
+
function Hook() {
|
|
6
|
+
_classCallCheck(this, Hook);
|
|
7
|
+
|
|
8
|
+
this.handlers = [];
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
_createClass(Hook, [{
|
|
12
|
+
key: "use",
|
|
13
|
+
value: function use(fulfilled) {
|
|
14
|
+
var _this = this;
|
|
15
|
+
|
|
16
|
+
var rejected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
17
|
+
var handler = {
|
|
18
|
+
fulfilled: fulfilled,
|
|
19
|
+
rejected: rejected
|
|
20
|
+
};
|
|
21
|
+
this.handlers.push(handler);
|
|
22
|
+
return function () {
|
|
23
|
+
_this.handlers = _this.handlers.filter(function (h) {
|
|
24
|
+
return h !== handler;
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}]);
|
|
29
|
+
|
|
30
|
+
return Hook;
|
|
31
|
+
}();
|
|
32
|
+
|
|
33
|
+
export { Hook as default };
|
package/es/utils/index.js
CHANGED
|
@@ -21,7 +21,7 @@ export var getAlfaEnv = function getAlfaEnv() {
|
|
|
21
21
|
export var getAlfaLocale = function getAlfaLocale() {
|
|
22
22
|
var _window2, _window2$ALIYUN_CONSO;
|
|
23
23
|
|
|
24
|
-
var locale = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$ALIYUN_CONSO = _window2.ALIYUN_CONSOLE_CONFIG) === null || _window2$ALIYUN_CONSO === void 0 ? void 0 : _window2$ALIYUN_CONSO.LOCALE.replace('-', '_');
|
|
24
|
+
var locale = (((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$ALIYUN_CONSO = _window2.ALIYUN_CONSOLE_CONFIG) === null || _window2$ALIYUN_CONSO === void 0 ? void 0 : _window2$ALIYUN_CONSO.LOCALE) || '').replace('-', '_');
|
|
25
25
|
if (['zh_CN', 'en_US', 'ja_JP', 'zh_TW', 'zh-HK'].includes(locale)) return locale;
|
|
26
26
|
return 'en_US';
|
|
27
27
|
};
|
|
@@ -85,11 +85,15 @@ export var getConfigUrl = function getConfigUrl(name, env) {
|
|
|
85
85
|
|
|
86
86
|
return undefined;
|
|
87
87
|
};
|
|
88
|
-
export var resolveReleaseUrl = function resolveReleaseUrl(
|
|
89
|
-
|
|
88
|
+
export var resolveReleaseUrl = function resolveReleaseUrl(config) {
|
|
89
|
+
var name = config.name,
|
|
90
|
+
env = config.env;
|
|
91
|
+
return getReleaseUrl(name, env || getAlfaEnv());
|
|
90
92
|
};
|
|
91
|
-
export var resolveConfigUrl = function resolveConfigUrl(
|
|
92
|
-
|
|
93
|
+
export var resolveConfigUrl = function resolveConfigUrl(config) {
|
|
94
|
+
var name = config.name,
|
|
95
|
+
env = config.env;
|
|
96
|
+
return getConfigUrl(name, env || getAlfaEnv());
|
|
93
97
|
};
|
|
94
98
|
export var getURL = function getURL(appConfig) {
|
|
95
99
|
var entry = appConfig.entry;
|