@alicloud/alfa-core 1.2.2 → 1.3.0-canary.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.
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getConfig = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _axios = _interopRequireDefault(require("axios"));
17
+
18
+ var _ = require(".");
19
+
20
+ 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; }
21
+
22
+ 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) { (0, _defineProperty2.default)(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; }
23
+
24
+ var cachedConfig = {};
25
+ var productReg = /@ali\/alfa-cloud-([a-zA-z]*)-(app|widget)-.*/;
26
+ var defaultConfig = {
27
+ ALL_CHANNEL_FEATURE_STATUS: {},
28
+ ALL_CHANNEL_LINKS: {},
29
+ ALL_FEATURE_STATUS: {}
30
+ };
31
+ /**
32
+ * 获取 Alfa 平台配置的 Config
33
+ * @param option
34
+ * @returns
35
+ */
36
+
37
+ var getConfig = /*#__PURE__*/function () {
38
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(option) {
39
+ var matches, configId, resp, configData;
40
+ return _regenerator.default.wrap(function _callee$(_context) {
41
+ while (1) {
42
+ switch (_context.prev = _context.next) {
43
+ case 0:
44
+ matches = option.name.match(productReg);
45
+
46
+ if (matches) {
47
+ _context.next = 3;
48
+ break;
49
+ }
50
+
51
+ return _context.abrupt("return", defaultConfig);
52
+
53
+ case 3:
54
+ configId = matches[1] || option.name;
55
+
56
+ if (cachedConfig[configId]) {
57
+ _context.next = 15;
58
+ break;
59
+ }
60
+
61
+ _context.prev = 5;
62
+ _context.next = 8;
63
+ return _axios.default.get((0, _.resolveConfigUrl)(_objectSpread(_objectSpread({}, option), {}, {
64
+ name: configId
65
+ })));
66
+
67
+ case 8:
68
+ resp = _context.sent;
69
+ configData = resp.data;
70
+ cachedConfig[configId] = configData;
71
+ _context.next = 15;
72
+ break;
73
+
74
+ case 13:
75
+ _context.prev = 13;
76
+ _context.t0 = _context["catch"](5);
77
+
78
+ case 15:
79
+ return _context.abrupt("return", cachedConfig[configId] || defaultConfig);
80
+
81
+ case 16:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }
86
+ }, _callee, null, [[5, 13]]);
87
+ }));
88
+
89
+ return function getConfig(_x) {
90
+ return _ref.apply(this, arguments);
91
+ };
92
+ }();
93
+
94
+ exports.getConfig = getConfig;
@@ -0,0 +1,2 @@
1
+ import { AlfaFactoryOption } from '../types';
2
+ export declare const getLocale: (option: AlfaFactoryOption) => Promise<Record<string, string>>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getLocale = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _axios = _interopRequireDefault(require("axios"));
15
+
16
+ var _index = require("./index");
17
+
18
+ var getLocale = /*#__PURE__*/function () {
19
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(option) {
20
+ var _releaseConfig$distT, _releaseConfig$locale, _releaseConfig$locale2;
21
+
22
+ var resp, locale, releaseConfig, version, localeEntry, messages, res;
23
+ return _regenerator.default.wrap(function _callee$(_context) {
24
+ while (1) {
25
+ switch (_context.prev = _context.next) {
26
+ case 0:
27
+ _context.next = 2;
28
+ return _axios.default.get((0, _index.resolveReleaseUrl)(option));
29
+
30
+ case 2:
31
+ resp = _context.sent;
32
+ locale = (0, _index.getAlfaLocale)();
33
+ releaseConfig = resp.data;
34
+ version = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT['locales-latest'];
35
+ 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];
36
+
37
+ if (!localeEntry) {// throw new Error(`${option.name} ${locale} entry is not found, please check you release.`);
38
+ }
39
+
40
+ messages = {};
41
+ _context.prev = 9;
42
+ _context.next = 12;
43
+ return _axios.default.get(localeEntry);
44
+
45
+ case 12:
46
+ res = _context.sent;
47
+ messages = res.data;
48
+ _context.next = 18;
49
+ break;
50
+
51
+ case 16:
52
+ _context.prev = 16;
53
+ _context.t0 = _context["catch"](9);
54
+
55
+ case 18:
56
+ return _context.abrupt("return", messages);
57
+
58
+ case 19:
59
+ case "end":
60
+ return _context.stop();
61
+ }
62
+ }
63
+ }, _callee, null, [[9, 16]]);
64
+ }));
65
+
66
+ return function getLocale(_x) {
67
+ return _ref.apply(this, arguments);
68
+ };
69
+ }();
70
+
71
+ exports.getLocale = getLocale;
@@ -0,0 +1,2 @@
1
+ import { AlfaFactoryOption } from '../types';
2
+ export declare const getManifest: (option: AlfaFactoryOption) => Promise<string>;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getManifest = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _axios = _interopRequireDefault(require("axios"));
15
+
16
+ var _ = require(".");
17
+
18
+ var getManifest = /*#__PURE__*/function () {
19
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(option) {
20
+ var _releaseConfig$distT2;
21
+
22
+ var resp, releaseConfig, version, _releaseConfig$distT, configByVersion;
23
+
24
+ return _regenerator.default.wrap(function _callee$(_context) {
25
+ while (1) {
26
+ switch (_context.prev = _context.next) {
27
+ case 0:
28
+ _context.next = 2;
29
+ return _axios.default.get((0, _.resolveReleaseUrl)(option));
30
+
31
+ case 2:
32
+ resp = _context.sent;
33
+ releaseConfig = resp.data;
34
+ version = option.version;
35
+
36
+ if (!option.version) {
37
+ version = (_releaseConfig$distT = releaseConfig['dist-tags']) === null || _releaseConfig$distT === void 0 ? void 0 : _releaseConfig$distT.latest;
38
+ } // if version is in dist-tags, return value
39
+
40
+
41
+ if ((_releaseConfig$distT2 = releaseConfig['dist-tags']) !== null && _releaseConfig$distT2 !== void 0 && _releaseConfig$distT2[option.version]) {
42
+ version = releaseConfig['dist-tags'][option.version];
43
+ }
44
+
45
+ configByVersion = releaseConfig.versions[version];
46
+
47
+ if (configByVersion) {
48
+ _context.next = 10;
49
+ break;
50
+ }
51
+
52
+ throw new Error("".concat(option.name, "@").concat(version, " is not found, please check you release."));
53
+
54
+ case 10:
55
+ return _context.abrupt("return", releaseConfig.versions[version].entry);
56
+
57
+ case 11:
58
+ case "end":
59
+ return _context.stop();
60
+ }
61
+ }
62
+ }, _callee);
63
+ }));
64
+
65
+ return function getManifest(_x) {
66
+ return _ref.apply(this, arguments);
67
+ };
68
+ }();
69
+
70
+ exports.getManifest = getManifest;
@@ -0,0 +1,39 @@
1
+ import { AlfaFactoryOption, IAppConfig, LOCALE } from '../types';
2
+ /**
3
+ * get alfa env
4
+ * @returns
5
+ */
6
+ export declare const getAlfaEnv: () => string;
7
+ /**
8
+ * get alfa Locale and replace '-' to '_'
9
+ * example: en-US => en_US
10
+ * @returns
11
+ */
12
+ export declare const getAlfaLocale: () => LOCALE;
13
+ /**
14
+ * get alfa release url
15
+ * @param appId
16
+ * @param env
17
+ * @returns
18
+ */
19
+ export declare const getReleaseUrl: (name?: string, env?: string) => string | undefined;
20
+ /**
21
+ * get alfa config url
22
+ * @param appId
23
+ * @param env
24
+ * @returns
25
+ */
26
+ export declare const getConfigUrl: (name?: string, env?: string) => string | undefined;
27
+ export declare const resolveReleaseUrl: (option: AlfaFactoryOption) => string;
28
+ export declare const resolveConfigUrl: (option: AlfaFactoryOption) => string;
29
+ export declare const getURL: (appConfig: IAppConfig) => string;
30
+ export declare const getManifestFromConfig: (appConfig: IAppConfig) => string | {
31
+ name: string;
32
+ resources: {};
33
+ entrypoints: {
34
+ index: {
35
+ js: string[];
36
+ css: string[];
37
+ };
38
+ };
39
+ };
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getManifestFromConfig = exports.getURL = exports.resolveConfigUrl = exports.resolveReleaseUrl = exports.getConfigUrl = exports.getReleaseUrl = exports.getAlfaLocale = exports.getAlfaEnv = void 0;
7
+
8
+ /**
9
+ * get alfa env
10
+ * @returns
11
+ */
12
+ var getAlfaEnv = function getAlfaEnv() {
13
+ var _window, _window$ALIYUN_CONSOL;
14
+
15
+ if (process.env.NODE_ENV === 'development') {
16
+ return 'local';
17
+ } // default return prod
18
+
19
+
20
+ return ((_window = window) === null || _window === void 0 ? void 0 : (_window$ALIYUN_CONSOL = _window.ALIYUN_CONSOLE_CONFIG) === null || _window$ALIYUN_CONSOL === void 0 ? void 0 : _window$ALIYUN_CONSOL.fEnv) || 'prod';
21
+ };
22
+ /**
23
+ * get alfa Locale and replace '-' to '_'
24
+ * example: en-US => en_US
25
+ * @returns
26
+ */
27
+
28
+
29
+ exports.getAlfaEnv = getAlfaEnv;
30
+
31
+ var getAlfaLocale = function getAlfaLocale() {
32
+ var _window2, _window2$ALIYUN_CONSO;
33
+
34
+ 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('-', '_');
35
+ if (['zh_CN', 'en_US', 'ja_JP', 'zh_TW', 'zh-HK'].includes(locale)) return locale;
36
+ return 'en_US';
37
+ };
38
+ /**
39
+ * get alfa release url
40
+ * @param appId
41
+ * @param env
42
+ * @returns
43
+ */
44
+
45
+
46
+ exports.getAlfaLocale = getAlfaLocale;
47
+
48
+ var getReleaseUrl = function getReleaseUrl(name, env) {
49
+ var cdnUrl = "https://cws.alicdn.com/Release/alfa/".concat(name, "/release.json");
50
+ var cdnPreUrl = "https://cws2.alicdn.com/Prepub/alfa/".concat(name, "/release.json");
51
+
52
+ switch (env) {
53
+ case 'local':
54
+ return process.env.ALFA_RELEASE_URL || cdnPreUrl;
55
+
56
+ case 'daily':
57
+ return cdnPreUrl;
58
+
59
+ case 'pre':
60
+ return cdnPreUrl;
61
+
62
+ case 'prod':
63
+ return cdnUrl;
64
+
65
+ default:
66
+ break;
67
+ }
68
+
69
+ return undefined;
70
+ };
71
+ /**
72
+ * get alfa config url
73
+ * @param appId
74
+ * @param env
75
+ * @returns
76
+ */
77
+
78
+
79
+ exports.getReleaseUrl = getReleaseUrl;
80
+
81
+ var getConfigUrl = function getConfigUrl(name, env) {
82
+ var configUrl = "https://cws.alicdn.com/Release/alfa-products/".concat(name, "/config.json");
83
+ var configPreUrl = "https://cws2.alicdn.com/Prepub/alfa-products/".concat(name, "/config.json");
84
+
85
+ switch (env) {
86
+ case 'local':
87
+ return configPreUrl;
88
+
89
+ case 'daily':
90
+ return configPreUrl;
91
+
92
+ case 'pre':
93
+ return configPreUrl;
94
+
95
+ case 'prod':
96
+ return configUrl;
97
+
98
+ default:
99
+ break;
100
+ }
101
+
102
+ return undefined;
103
+ };
104
+
105
+ exports.getConfigUrl = getConfigUrl;
106
+
107
+ var resolveReleaseUrl = function resolveReleaseUrl(option) {
108
+ return getReleaseUrl(option.name, option.env || getAlfaEnv());
109
+ };
110
+
111
+ exports.resolveReleaseUrl = resolveReleaseUrl;
112
+
113
+ var resolveConfigUrl = function resolveConfigUrl(option) {
114
+ return getConfigUrl(option.name, option.env || getAlfaEnv());
115
+ };
116
+
117
+ exports.resolveConfigUrl = resolveConfigUrl;
118
+
119
+ var getURL = function getURL(appConfig) {
120
+ var entry = appConfig.entry;
121
+ var url = '';
122
+
123
+ if (typeof entry === 'string') {
124
+ url = entry;
125
+ }
126
+
127
+ return url;
128
+ };
129
+
130
+ exports.getURL = getURL;
131
+
132
+ var getManifestFromConfig = function getManifestFromConfig(appConfig) {
133
+ // 定义了 entry 时,优先从 entry 生成 manifest
134
+ if (appConfig.entry && typeof appConfig.entry !== 'string') {
135
+ return {
136
+ name: appConfig.name,
137
+ resources: {},
138
+ entrypoints: {
139
+ index: {
140
+ js: appConfig.entry.scripts,
141
+ css: appConfig.entry.styles
142
+ }
143
+ }
144
+ };
145
+ }
146
+
147
+ return appConfig.manifest;
148
+ };
149
+
150
+ exports.getManifestFromConfig = getManifestFromConfig;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alicloud/alfa-core",
3
- "version": "1.2.2",
3
+ "version": "1.3.0-canary.1",
4
4
  "description": "MicroFront End SDK for alicloud",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -26,11 +26,10 @@
26
26
  "@types/jest": "^23.3.13",
27
27
  "jest": "^23.6.0",
28
28
  "ts-jest": "^23.10.5",
29
- "tslint": "^5.8.0",
30
29
  "typescript": "^3.0.3"
31
30
  },
32
31
  "dependencies": {
33
- "@alicloud/console-os-kernal": "^1.2.2"
32
+ "@alicloud/console-os-kernal": "1.3.0-canary.1"
34
33
  },
35
- "gitHead": "09a5d1dafdbbae82060970cdb96563801d089c0f"
34
+ "gitHead": "631484c0b2517e289c8531cc556af11135905674"
36
35
  }