@qiankunjs/shared 0.0.1-rc.4 → 0.0.1-rc.6
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/cjs/assets-transpilers/index.d.ts +7 -0
- package/dist/cjs/assets-transpilers/index.js +7 -0
- package/dist/cjs/assets-transpilers/index.js.map +1 -1
- package/dist/cjs/assets-transpilers/link.js +15 -13
- package/dist/cjs/assets-transpilers/link.js.map +1 -1
- package/dist/cjs/assets-transpilers/script.d.ts +4 -4
- package/dist/cjs/assets-transpilers/script.js +156 -96
- package/dist/cjs/assets-transpilers/script.js.map +1 -1
- package/dist/cjs/assets-transpilers/types.d.ts +10 -0
- package/dist/cjs/assets-transpilers/types.js +3 -2
- package/dist/cjs/assets-transpilers/types.js.map +1 -1
- package/dist/cjs/assets-transpilers/utils.js +2 -4
- package/dist/cjs/assets-transpilers/utils.js.map +1 -1
- package/dist/cjs/fetch-utils/miniLruCache.d.ts +8 -0
- package/dist/cjs/fetch-utils/miniLruCache.js +49 -0
- package/dist/cjs/fetch-utils/miniLruCache.js.map +1 -0
- package/dist/cjs/fetch-utils/wrapFetchWithCache.d.ts +3 -0
- package/dist/cjs/fetch-utils/wrapFetchWithCache.js +74 -0
- package/dist/cjs/fetch-utils/wrapFetchWithCache.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +15 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{error → reporter}/QiankunError.js +1 -2
- package/dist/cjs/reporter/QiankunError.js.map +1 -0
- package/dist/{esm/error → cjs/reporter}/index.d.ts +1 -0
- package/dist/cjs/reporter/index.js +28 -0
- package/dist/cjs/reporter/index.js.map +1 -0
- package/dist/cjs/reporter/logger.d.ts +1 -0
- package/dist/cjs/reporter/logger.js +14 -0
- package/dist/cjs/reporter/logger.js.map +1 -0
- package/dist/cjs/utils.d.ts +8 -1
- package/dist/cjs/utils.js +89 -35
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/assets-transpilers/index.d.ts +7 -0
- package/dist/esm/assets-transpilers/index.js +7 -0
- package/dist/esm/assets-transpilers/index.js.map +1 -1
- package/dist/esm/assets-transpilers/link.js +15 -13
- package/dist/esm/assets-transpilers/link.js.map +1 -1
- package/dist/esm/assets-transpilers/script.d.ts +4 -4
- package/dist/esm/assets-transpilers/script.js +156 -95
- package/dist/esm/assets-transpilers/script.js.map +1 -1
- package/dist/esm/assets-transpilers/types.d.ts +10 -0
- package/dist/esm/assets-transpilers/types.js +2 -0
- package/dist/esm/assets-transpilers/types.js.map +1 -1
- package/dist/esm/fetch-utils/miniLruCache.d.ts +8 -0
- package/dist/esm/fetch-utils/miniLruCache.js +42 -0
- package/dist/esm/fetch-utils/miniLruCache.js.map +1 -0
- package/dist/esm/fetch-utils/wrapFetchWithCache.d.ts +3 -0
- package/dist/esm/fetch-utils/wrapFetchWithCache.js +66 -0
- package/dist/esm/fetch-utils/wrapFetchWithCache.js.map +1 -0
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/reporter/QiankunError.js.map +1 -0
- package/dist/{cjs/error → esm/reporter}/index.d.ts +1 -0
- package/dist/esm/reporter/index.js +3 -0
- package/dist/esm/reporter/index.js.map +1 -0
- package/dist/esm/reporter/logger.d.ts +1 -0
- package/dist/esm/reporter/logger.js +8 -0
- package/dist/esm/reporter/logger.js.map +1 -0
- package/dist/esm/utils.d.ts +8 -1
- package/dist/esm/utils.js +78 -19
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -6
- package/dist/cjs/error/QiankunError.js.map +0 -1
- package/dist/cjs/error/index.js +0 -13
- package/dist/cjs/error/index.js.map +0 -1
- package/dist/esm/error/QiankunError.js.map +0 -1
- package/dist/esm/error/index.js +0 -2
- package/dist/esm/error/index.js.map +0 -1
- package/src/assets-transpilers/index.ts +0 -42
- package/src/assets-transpilers/link.ts +0 -130
- package/src/assets-transpilers/script.ts +0 -169
- package/src/assets-transpilers/types.ts +0 -22
- package/src/assets-transpilers/utils.ts +0 -27
- package/src/common.ts +0 -3
- package/src/error/QiankunError.ts +0 -5
- package/src/error/index.ts +0 -1
- package/src/index.ts +0 -9
- package/src/module-resolver/__tests__/index.ts +0 -75
- package/src/module-resolver/index.ts +0 -92
- package/src/module-resolver/types.ts +0 -9
- package/src/typings.d.ts +0 -13
- package/src/utils.ts +0 -37
- /package/dist/cjs/{error → reporter}/QiankunError.d.ts +0 -0
- /package/dist/esm/{error → reporter}/QiankunError.d.ts +0 -0
- /package/dist/esm/{error → reporter}/QiankunError.js +0 -0
package/dist/esm/utils.d.ts
CHANGED
|
@@ -17,10 +17,17 @@ export declare const create: {
|
|
|
17
17
|
};
|
|
18
18
|
export declare const hasOwnProperty: (caller: unknown, p: PropertyKey) => boolean;
|
|
19
19
|
export declare class Deferred<T> {
|
|
20
|
+
#private;
|
|
20
21
|
promise: Promise<T>;
|
|
21
|
-
status: 'pending' | 'fulfilled' | 'rejected';
|
|
22
22
|
resolve: (value: T | PromiseLike<T>) => void;
|
|
23
23
|
reject: (reason?: unknown) => void;
|
|
24
24
|
constructor();
|
|
25
|
+
isSettled(): boolean;
|
|
25
26
|
}
|
|
27
|
+
export declare function waitUntilSettled(promise: Promise<void>): Promise<void>;
|
|
26
28
|
export declare function getEntireUrl(uri: string, baseURI: string): string;
|
|
29
|
+
/**
|
|
30
|
+
* Check if the running environment support qiankun3.0
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
export declare function isRuntimeCompatible(): boolean;
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
4
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
5
|
+
import _classPrivateFieldGet from "@babel/runtime/helpers/esm/classPrivateFieldGet";
|
|
6
|
+
import _classPrivateFieldSet from "@babel/runtime/helpers/esm/classPrivateFieldSet";
|
|
7
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
9
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
4
10
|
/**
|
|
5
11
|
* @author Kuitos
|
|
6
12
|
* @since 2023-04-26
|
|
@@ -17,27 +23,80 @@ export { create, defineProperty, getOwnPropertyDescriptor, getOwnPropertyNames,
|
|
|
17
23
|
export var hasOwnProperty = function hasOwnProperty(caller, p) {
|
|
18
24
|
return Object.prototype.hasOwnProperty.call(caller, p);
|
|
19
25
|
};
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
_this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
var _status = /*#__PURE__*/new WeakMap();
|
|
27
|
+
export var Deferred = /*#__PURE__*/function () {
|
|
28
|
+
function Deferred() {
|
|
29
|
+
var _this = this;
|
|
30
|
+
_classCallCheck(this, Deferred);
|
|
31
|
+
_defineProperty(this, "promise", void 0);
|
|
32
|
+
_classPrivateFieldInitSpec(this, _status, {
|
|
33
|
+
writable: true,
|
|
34
|
+
value: 'pending'
|
|
35
|
+
});
|
|
36
|
+
_defineProperty(this, "resolve", void 0);
|
|
37
|
+
_defineProperty(this, "reject", void 0);
|
|
38
|
+
this.promise = new Promise(function (resolve, reject) {
|
|
39
|
+
_this.resolve = function (value) {
|
|
40
|
+
_classPrivateFieldSet(_this, _status, 'fulfilled');
|
|
41
|
+
resolve(value);
|
|
42
|
+
};
|
|
43
|
+
_this.reject = function (reason) {
|
|
44
|
+
_classPrivateFieldSet(_this, _status, 'rejected');
|
|
45
|
+
reject(reason);
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
_createClass(Deferred, [{
|
|
50
|
+
key: "isSettled",
|
|
51
|
+
value: function isSettled() {
|
|
52
|
+
return _classPrivateFieldGet(this, _status) !== 'pending';
|
|
53
|
+
}
|
|
54
|
+
}]);
|
|
55
|
+
return Deferred;
|
|
56
|
+
}();
|
|
57
|
+
export function waitUntilSettled(_x) {
|
|
58
|
+
return _waitUntilSettled.apply(this, arguments);
|
|
59
|
+
}
|
|
60
|
+
function _waitUntilSettled() {
|
|
61
|
+
_waitUntilSettled = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(promise) {
|
|
62
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
63
|
+
while (1) switch (_context.prev = _context.next) {
|
|
64
|
+
case 0:
|
|
65
|
+
_context.prev = 0;
|
|
66
|
+
_context.next = 3;
|
|
67
|
+
return promise;
|
|
68
|
+
case 3:
|
|
69
|
+
_context.next = 8;
|
|
70
|
+
break;
|
|
71
|
+
case 5:
|
|
72
|
+
_context.prev = 5;
|
|
73
|
+
_context.t0 = _context["catch"](0);
|
|
74
|
+
if (process.env.NODE_ENV === 'development') {
|
|
75
|
+
console.warn('waitUntilSettled error', _context.t0);
|
|
76
|
+
}
|
|
77
|
+
case 8:
|
|
78
|
+
case "end":
|
|
79
|
+
return _context.stop();
|
|
80
|
+
}
|
|
81
|
+
}, _callee, null, [[0, 5]]);
|
|
82
|
+
}));
|
|
83
|
+
return _waitUntilSettled.apply(this, arguments);
|
|
84
|
+
}
|
|
38
85
|
export function getEntireUrl(uri, baseURI) {
|
|
39
86
|
var publicPath = new URL(baseURI, window.location.href);
|
|
40
87
|
var entireUrl = new URL(uri, publicPath.toString());
|
|
41
88
|
return entireUrl.toString();
|
|
42
89
|
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Check if the running environment support qiankun3.0
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
95
|
+
export function isRuntimeCompatible() {
|
|
96
|
+
var _URL;
|
|
97
|
+
return (
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
99
|
+
typeof Proxy === 'function' && typeof TransformStream === 'function' && typeof ((_URL = URL) === null || _URL === void 0 ? void 0 : _URL.createObjectURL) === 'function'
|
|
100
|
+
);
|
|
101
|
+
}
|
|
43
102
|
//# sourceMappingURL=utils.js.map
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","Object","defineProperty","getOwnPropertyDescriptor","getOwnPropertyNames","freeze","keys","hasOwnProperty","caller","p","prototype","call","
|
|
1
|
+
{"version":3,"names":["create","Object","defineProperty","getOwnPropertyDescriptor","getOwnPropertyNames","freeze","keys","hasOwnProperty","caller","p","prototype","call","_status","WeakMap","Deferred","_this","_classCallCheck","_defineProperty","_classPrivateFieldInitSpec","writable","value","promise","Promise","resolve","reject","_classPrivateFieldSet","reason","_createClass","key","isSettled","_classPrivateFieldGet","waitUntilSettled","_x","_waitUntilSettled","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","process","env","NODE_ENV","console","warn","stop","getEntireUrl","uri","baseURI","publicPath","URL","window","location","href","entireUrl","toString","isRuntimeCompatible","_URL","Proxy","TransformStream","createObjectURL"],"sources":["../../src/utils.ts"],"sourcesContent":["/**\n * @author Kuitos\n * @since 2023-04-26\n */\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const { create, defineProperty, getOwnPropertyDescriptor, getOwnPropertyNames, freeze, keys } = Object;\nexport const hasOwnProperty = (caller: unknown, p: PropertyKey) => Object.prototype.hasOwnProperty.call(caller, p);\n\nexport class Deferred<T> {\n promise: Promise<T>;\n\n #status: 'pending' | 'fulfilled' | 'rejected' = 'pending';\n\n resolve!: (value: T | PromiseLike<T>) => void;\n\n reject!: (reason?: unknown) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = (value: T | PromiseLike<T>) => {\n this.#status = 'fulfilled';\n resolve(value);\n };\n this.reject = (reason?: unknown) => {\n this.#status = 'rejected';\n reject(reason);\n };\n });\n }\n\n isSettled(): boolean {\n return this.#status !== 'pending';\n }\n}\n\nexport async function waitUntilSettled(promise: Promise<void>): Promise<void> {\n try {\n await promise;\n } catch (e) {\n if (process.env.NODE_ENV === 'development') {\n console.warn('waitUntilSettled error', e);\n }\n }\n}\n\nexport function getEntireUrl(uri: string, baseURI: string): string {\n const publicPath = new URL(baseURI, window.location.href);\n const entireUrl = new URL(uri, publicPath.toString());\n return entireUrl.toString();\n}\n\n/**\n * Check if the running environment support qiankun3.0\n *\n */\nexport function isRuntimeCompatible(): boolean {\n return (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n typeof Proxy === 'function' && typeof TransformStream === 'function' && typeof URL?.createObjectURL === 'function'\n );\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qiankunjs/shared",
|
|
3
|
-
"version": "0.0.1-rc.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "0.0.1-rc.6",
|
|
4
|
+
"description": "internal shared package for qiankun",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
7
|
-
"types": "./
|
|
7
|
+
"types": "./dist/esm/index.d.ts",
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"author": "Kuitos",
|
|
10
10
|
"license": "MIT",
|
|
@@ -14,15 +14,14 @@
|
|
|
14
14
|
"semver": "^7.5.3"
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
18
|
-
"src"
|
|
17
|
+
"dist"
|
|
19
18
|
],
|
|
20
19
|
"publishConfig": {
|
|
21
20
|
"registry": "https://registry.npmjs.org/"
|
|
22
21
|
},
|
|
23
22
|
"scripts": {
|
|
24
23
|
"build": "father build",
|
|
25
|
-
"test": "vitest --
|
|
24
|
+
"test": "vitest --run",
|
|
26
25
|
"bench": "npm run build && tachometer ./benchmarks/parser/tern/import-html-entry.html ./benchmarks/parser/tern/parser.html --timeout=1"
|
|
27
26
|
}
|
|
28
27
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["QiankunError","_Error","_inherits2","default","_super","_createSuper2","message","_classCallCheck2","call","concat","_createClass2","_wrapNativeSuper2","Error","exports"],"sources":["../../../src/error/QiankunError.ts"],"sourcesContent":["export class QiankunError extends Error {\n constructor(message: string) {\n super(`[qiankun]: ${message}`);\n }\n}\n"],"mappings":";;;;;;;;;;;;IAAaA,YAAY,0BAAAC,MAAA;EAAA,IAAAC,UAAA,CAAAC,OAAA,EAAAH,YAAA,EAAAC,MAAA;EAAA,IAAAG,MAAA,OAAAC,aAAA,CAAAF,OAAA,EAAAH,YAAA;EACvB,SAAAA,aAAYM,OAAe,EAAE;IAAA,IAAAC,gBAAA,CAAAJ,OAAA,QAAAH,YAAA;IAAA,OAAAI,MAAA,CAAAI,IAAA,qBAAAC,MAAA,CACPH,OAAO;EAC7B;EAAC,WAAAI,aAAA,CAAAP,OAAA,EAAAH,YAAA;AAAA,oBAAAW,iBAAA,CAAAR,OAAA,EAH+BS,KAAK;AAAAC,OAAA,CAAAb,YAAA,GAAAA,YAAA"}
|
package/dist/cjs/error/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "QiankunError", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _QiankunError.QiankunError;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _QiankunError = require("./QiankunError");
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_QiankunError","require"],"sources":["../../../src/error/index.ts"],"sourcesContent":["export { QiankunError } from './QiankunError';\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["QiankunError","_Error","_inherits","_super","_createSuper","message","_classCallCheck","call","concat","_createClass","_wrapNativeSuper","Error"],"sources":["../../../src/error/QiankunError.ts"],"sourcesContent":["export class QiankunError extends Error {\n constructor(message: string) {\n super(`[qiankun]: ${message}`);\n }\n}\n"],"mappings":";;;;;AAAA,WAAaA,YAAY,0BAAAC,MAAA;EAAAC,SAAA,CAAAF,YAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,YAAA;EACvB,SAAAA,aAAYK,OAAe,EAAE;IAAAC,eAAA,OAAAN,YAAA;IAAA,OAAAG,MAAA,CAAAI,IAAA,qBAAAC,MAAA,CACPH,OAAO;EAC7B;EAAC,OAAAI,YAAA,CAAAT,YAAA;AAAA,gBAAAU,gBAAA,CAH+BC,KAAK"}
|
package/dist/esm/error/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["QiankunError"],"sources":["../../../src/error/index.ts"],"sourcesContent":["export { QiankunError } from './QiankunError';\n"],"mappings":"AAAA,SAASA,YAAY"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Kuitos
|
|
3
|
-
* @since 2023-03-14
|
|
4
|
-
*/
|
|
5
|
-
import transpileLink from './link';
|
|
6
|
-
import transpileScript from './script';
|
|
7
|
-
import type { AssetsTranspilerOpts } from './types';
|
|
8
|
-
|
|
9
|
-
export function transpileAssets<T extends Node>(node: T, baseURI: string, opts: AssetsTranspilerOpts): T {
|
|
10
|
-
const htmlElement = node as unknown as HTMLElement;
|
|
11
|
-
const { tagName } = htmlElement;
|
|
12
|
-
|
|
13
|
-
switch (tagName) {
|
|
14
|
-
case 'SCRIPT': {
|
|
15
|
-
return transpileScript(htmlElement as HTMLScriptElement, baseURI, opts) as unknown as T;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
case 'LINK': {
|
|
19
|
-
return transpileLink(htmlElement as HTMLLinkElement, baseURI, opts) as unknown as T;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
default:
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// TODO need to deal with the text scenario of script
|
|
27
|
-
// const { nodeType } = node;
|
|
28
|
-
// switch (nodeType) {
|
|
29
|
-
// case Node.TEXT_NODE: {
|
|
30
|
-
// if (node.parentNode?.nodeName === 'script') {
|
|
31
|
-
// break;
|
|
32
|
-
// }
|
|
33
|
-
// }
|
|
34
|
-
//
|
|
35
|
-
// }
|
|
36
|
-
// }
|
|
37
|
-
return node;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export type * from './types';
|
|
41
|
-
|
|
42
|
-
export { isValidJavaScriptType } from './utils';
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Kuitos
|
|
3
|
-
* @since 2023-04-26
|
|
4
|
-
*/
|
|
5
|
-
import type { MatchResult } from '../module-resolver';
|
|
6
|
-
import { getEntireUrl } from '../utils';
|
|
7
|
-
import { preTranspile as preTranspileScript } from './script';
|
|
8
|
-
import type { AssetsTranspilerOpts, BaseTranspilerOpts } from './types';
|
|
9
|
-
import { Mode } from './types';
|
|
10
|
-
import { createReusingObjectUrl } from './utils';
|
|
11
|
-
|
|
12
|
-
type PreTranspileResult =
|
|
13
|
-
| { mode: Mode.REUSED_DEP_IN_SANDBOX; result: { src: string } & MatchResult }
|
|
14
|
-
| { mode: Mode.NONE; result?: never };
|
|
15
|
-
const preTranspileStyleSheetLink = (
|
|
16
|
-
link: Partial<Pick<HTMLLinkElement, 'href' | 'rel'>>,
|
|
17
|
-
baseURI: string,
|
|
18
|
-
opts: BaseTranspilerOpts,
|
|
19
|
-
): PreTranspileResult => {
|
|
20
|
-
const { sandbox, moduleResolver } = opts;
|
|
21
|
-
const { href, rel } = link;
|
|
22
|
-
|
|
23
|
-
if (sandbox) {
|
|
24
|
-
// filter preload links
|
|
25
|
-
if (href && rel === 'stylesheet') {
|
|
26
|
-
const linkHref = getEntireUrl(href, baseURI);
|
|
27
|
-
|
|
28
|
-
const matchedAssets = moduleResolver?.(linkHref);
|
|
29
|
-
if (matchedAssets) {
|
|
30
|
-
return {
|
|
31
|
-
mode: Mode.REUSED_DEP_IN_SANDBOX,
|
|
32
|
-
result: { src: linkHref, ...matchedAssets },
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return {
|
|
39
|
-
mode: Mode.NONE,
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
const postProcessPreloadLink = (link: HTMLLinkElement, baseURI: string, opts: AssetsTranspilerOpts): void => {
|
|
44
|
-
const { as, href } = link;
|
|
45
|
-
switch (as) {
|
|
46
|
-
case 'script': {
|
|
47
|
-
const { mode, result } = preTranspileScript({ src: href }, baseURI, opts);
|
|
48
|
-
|
|
49
|
-
switch (mode) {
|
|
50
|
-
/**
|
|
51
|
-
* While the assets are transpiling in sandbox, it means they will be evaluated with manual fetching,
|
|
52
|
-
* thus we need to set the attribute `as` to fetch instead of script or style to avoid preload cache missing.
|
|
53
|
-
* see https://stackoverflow.com/questions/52635660/can-link-rel-preload-be-made-to-work-with-fetch/63814972#63814972
|
|
54
|
-
*/
|
|
55
|
-
case Mode.REMOTE_ASSETS_IN_SANDBOX: {
|
|
56
|
-
link.as = 'fetch';
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
case Mode.REUSED_DEP_IN_SANDBOX: {
|
|
61
|
-
const { url } = result;
|
|
62
|
-
link.href = createReusingObjectUrl(href, url, 'text/javascript');
|
|
63
|
-
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
case 'style': {
|
|
72
|
-
const { mode, result } = preTranspileStyleSheetLink({ href, rel: 'stylesheet' }, baseURI, opts);
|
|
73
|
-
|
|
74
|
-
switch (mode) {
|
|
75
|
-
case Mode.REUSED_DEP_IN_SANDBOX: {
|
|
76
|
-
const { url } = result;
|
|
77
|
-
link.href = createReusingObjectUrl(href, url, 'text/css');
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
default:
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export default function transpileLink(
|
|
91
|
-
link: HTMLLinkElement,
|
|
92
|
-
baseURI: string,
|
|
93
|
-
opts: AssetsTranspilerOpts,
|
|
94
|
-
): HTMLLinkElement {
|
|
95
|
-
const hrefAttribute = link.getAttribute('href');
|
|
96
|
-
const { mode, result } = preTranspileStyleSheetLink(
|
|
97
|
-
{
|
|
98
|
-
href: hrefAttribute || undefined,
|
|
99
|
-
rel: link.rel,
|
|
100
|
-
},
|
|
101
|
-
baseURI,
|
|
102
|
-
opts,
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
switch (mode) {
|
|
106
|
-
case Mode.REUSED_DEP_IN_SANDBOX: {
|
|
107
|
-
const { src, version, url } = result;
|
|
108
|
-
link.dataset.href = src;
|
|
109
|
-
link.dataset.version = version;
|
|
110
|
-
link.href = createReusingObjectUrl(src, url, 'text/css');
|
|
111
|
-
|
|
112
|
-
return link;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
case Mode.NONE:
|
|
116
|
-
default: {
|
|
117
|
-
if (hrefAttribute) {
|
|
118
|
-
link.href = getEntireUrl(hrefAttribute, baseURI);
|
|
119
|
-
|
|
120
|
-
if (link.rel === 'preload') {
|
|
121
|
-
postProcessPreloadLink(link, baseURI, opts);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return link;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return link;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Kuitos
|
|
3
|
-
* @since 2023-03-16
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import type { MatchResult } from '../module-resolver';
|
|
7
|
-
import { getEntireUrl } from '../utils';
|
|
8
|
-
import type { AssetsTranspilerOpts } from './types';
|
|
9
|
-
import { Mode } from './types';
|
|
10
|
-
import { createReusingObjectUrl, isValidJavaScriptType } from './utils';
|
|
11
|
-
|
|
12
|
-
const getCredentials = (crossOrigin: string | null): RequestInit['credentials'] | undefined => {
|
|
13
|
-
switch (crossOrigin) {
|
|
14
|
-
case 'anonymous':
|
|
15
|
-
return 'same-origin';
|
|
16
|
-
case 'use-credentials':
|
|
17
|
-
return 'include';
|
|
18
|
-
default:
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
type PreTranspileResult =
|
|
24
|
-
| { mode: Mode.REMOTE_ASSETS_IN_SANDBOX; result: { src: string } }
|
|
25
|
-
| { mode: Mode.REUSED_DEP_IN_SANDBOX; result: { src: string } & MatchResult }
|
|
26
|
-
| { mode: Mode.INLINE_CODE_IN_SANDBOX; result: { code: string } }
|
|
27
|
-
| { mode: Mode.NONE; result?: never };
|
|
28
|
-
|
|
29
|
-
export const preTranspile = (
|
|
30
|
-
script: Partial<Pick<HTMLScriptElement, 'src' | 'type' | 'textContent'>>,
|
|
31
|
-
baseURI: string,
|
|
32
|
-
opts: AssetsTranspilerOpts,
|
|
33
|
-
): PreTranspileResult => {
|
|
34
|
-
const { sandbox, moduleResolver } = opts;
|
|
35
|
-
|
|
36
|
-
const { src, type } = script;
|
|
37
|
-
|
|
38
|
-
if (sandbox) {
|
|
39
|
-
if (src) {
|
|
40
|
-
const entireUrl = getEntireUrl(src, baseURI);
|
|
41
|
-
const matchedScript = moduleResolver?.(entireUrl);
|
|
42
|
-
if (matchedScript) {
|
|
43
|
-
return {
|
|
44
|
-
mode: Mode.REUSED_DEP_IN_SANDBOX,
|
|
45
|
-
result: { src: entireUrl, ...matchedScript },
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
mode: Mode.REMOTE_ASSETS_IN_SANDBOX,
|
|
51
|
-
result: { src: entireUrl },
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (isValidJavaScriptType(type)) {
|
|
56
|
-
const rawNode = opts.rawNode as HTMLScriptElement;
|
|
57
|
-
const scriptNode = script.textContent ? script : rawNode.childNodes[0];
|
|
58
|
-
|
|
59
|
-
const code = scriptNode.textContent;
|
|
60
|
-
if (code) {
|
|
61
|
-
return {
|
|
62
|
-
mode: Mode.INLINE_CODE_IN_SANDBOX,
|
|
63
|
-
result: {
|
|
64
|
-
code,
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
return { mode: Mode.NONE };
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
export default function transpileScript(
|
|
75
|
-
script: HTMLScriptElement,
|
|
76
|
-
baseURI: string,
|
|
77
|
-
opts: AssetsTranspilerOpts,
|
|
78
|
-
): HTMLScriptElement {
|
|
79
|
-
// Can't use script.src directly, because it will be resolved to absolute path by browser with Node.baseURI
|
|
80
|
-
// Such as <script src="./foo.js"></script> will be resolved to http://localhost:8000/foo.js while read script.src
|
|
81
|
-
const srcAttribute = script.getAttribute('src');
|
|
82
|
-
const { sandbox, fetch } = opts;
|
|
83
|
-
|
|
84
|
-
// To prevent webpack from skipping reload logic and causing the js not to re-execute when a micro app is loaded multiple times, the data-webpack attribute of the script must be removed.
|
|
85
|
-
// see https://github.com/webpack/webpack/blob/1f13ff9fe587e094df59d660b4611b1bd19aed4c/lib/runtime/LoadScriptRuntimeModule.js#L131-L136
|
|
86
|
-
// FIXME We should determine whether the current micro application is being loaded for the second time. If not, this removal should not be performed.
|
|
87
|
-
script.removeAttribute('data-webpack');
|
|
88
|
-
|
|
89
|
-
const { mode, result } = preTranspile(
|
|
90
|
-
{
|
|
91
|
-
src: srcAttribute || undefined,
|
|
92
|
-
type: script.type,
|
|
93
|
-
textContent: script.textContent,
|
|
94
|
-
},
|
|
95
|
-
baseURI,
|
|
96
|
-
opts,
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
switch (mode) {
|
|
100
|
-
case Mode.REMOTE_ASSETS_IN_SANDBOX: {
|
|
101
|
-
const { src } = result;
|
|
102
|
-
|
|
103
|
-
// We must remove script src to avoid self execution as we need to fetch the script content and transpile it
|
|
104
|
-
script.removeAttribute('src');
|
|
105
|
-
script.dataset.src = src;
|
|
106
|
-
|
|
107
|
-
const syncMode = !script.hasAttribute('async');
|
|
108
|
-
const priority: Priority = syncMode ? 'high' : 'low';
|
|
109
|
-
const credentials = getCredentials(script.crossOrigin);
|
|
110
|
-
|
|
111
|
-
void fetch(src, { credentials, priority })
|
|
112
|
-
.then((res) => res.text())
|
|
113
|
-
.then((code) => {
|
|
114
|
-
const codeFactory = sandbox!.makeEvaluateFactory(code, src);
|
|
115
|
-
|
|
116
|
-
// HTMLScriptElement default fetchPriority is 'auto', we should set it to 'high' to make it execute earlier while it's not async script
|
|
117
|
-
if (syncMode) {
|
|
118
|
-
script.fetchPriority = 'high';
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
script.src = URL.createObjectURL(new Blob([codeFactory], { type: 'text/javascript' }));
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
return script;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
case Mode.INLINE_CODE_IN_SANDBOX: {
|
|
128
|
-
const rawNode = opts.rawNode as HTMLScriptElement;
|
|
129
|
-
const scriptNode = script.textContent ? script : rawNode.childNodes[0];
|
|
130
|
-
const { code } = result;
|
|
131
|
-
|
|
132
|
-
scriptNode.textContent = sandbox!.makeEvaluateFactory(code, baseURI);
|
|
133
|
-
// mark the script have consumed
|
|
134
|
-
script.dataset.consumed = 'true';
|
|
135
|
-
|
|
136
|
-
return script;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
case Mode.REUSED_DEP_IN_SANDBOX: {
|
|
140
|
-
const { url, version, src } = result;
|
|
141
|
-
|
|
142
|
-
script.dataset.src = src;
|
|
143
|
-
script.dataset.version = version;
|
|
144
|
-
|
|
145
|
-
const syncMode = !script.getAttribute('async');
|
|
146
|
-
// HTMLScriptElement default fetchPriority is 'auto', we should set it to 'high' to make it execute earlier while it's not async script
|
|
147
|
-
if (syncMode) {
|
|
148
|
-
script.fetchPriority = 'high';
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// When the script hits the dependency reuse logic, the current script is not executed, and an empty script is returned directly
|
|
152
|
-
script.src = createReusingObjectUrl(src, url, 'text/javascript');
|
|
153
|
-
|
|
154
|
-
return script;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
case Mode.NONE:
|
|
158
|
-
default: {
|
|
159
|
-
if (srcAttribute) {
|
|
160
|
-
script.src = getEntireUrl(srcAttribute, baseURI);
|
|
161
|
-
return script;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return script;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// TODO find entry exports
|
|
169
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Kuitos
|
|
3
|
-
* @since 2023-08-26
|
|
4
|
-
*/
|
|
5
|
-
import type { BaseLoaderOpts } from '../common';
|
|
6
|
-
import type { MatchResult } from '../module-resolver';
|
|
7
|
-
|
|
8
|
-
export type BaseTranspilerOpts = BaseLoaderOpts & {
|
|
9
|
-
moduleResolver?: (url: string) => MatchResult | undefined;
|
|
10
|
-
sandbox?: {
|
|
11
|
-
makeEvaluateFactory(source: string, sourceURL?: string): string;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type AssetsTranspilerOpts = BaseTranspilerOpts & { rawNode: Node };
|
|
16
|
-
|
|
17
|
-
export enum Mode {
|
|
18
|
-
REMOTE_ASSETS_IN_SANDBOX = 'RAIS',
|
|
19
|
-
REUSED_DEP_IN_SANDBOX = 'RDIS',
|
|
20
|
-
INLINE_CODE_IN_SANDBOX = 'ICIS',
|
|
21
|
-
NONE = 'NONE',
|
|
22
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Kuitos
|
|
3
|
-
* @since 2023-10-09
|
|
4
|
-
*/
|
|
5
|
-
import { memoize } from 'lodash';
|
|
6
|
-
|
|
7
|
-
export const createReusingObjectUrl = memoize(
|
|
8
|
-
(src: string, url: string, type: 'text/javascript' | 'text/css'): string => {
|
|
9
|
-
return URL.createObjectURL(
|
|
10
|
-
new Blob([`/* ${src} is reusing the execution result of ${url} */`], {
|
|
11
|
-
type,
|
|
12
|
-
}),
|
|
13
|
-
);
|
|
14
|
-
},
|
|
15
|
-
(src, url, type) => `${src}#${url}#${type}`,
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
export const isValidJavaScriptType = (type?: string): boolean => {
|
|
19
|
-
const handleTypes = [
|
|
20
|
-
'text/javascript',
|
|
21
|
-
'module',
|
|
22
|
-
'application/javascript',
|
|
23
|
-
'text/ecmascript',
|
|
24
|
-
'application/ecmascript',
|
|
25
|
-
];
|
|
26
|
-
return !type || handleTypes.indexOf(type) !== -1;
|
|
27
|
-
};
|
package/src/common.ts
DELETED
package/src/error/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { QiankunError } from './QiankunError';
|