module-develop-kit 1.2.3 → 1.3.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.
Files changed (58) hide show
  1. package/dist/commonjs-virtual-dir/_commonjsHelpers.js +3 -28
  2. package/dist/commonjs-virtual-dir/browser.js +5 -2
  3. package/dist/commonjs-virtual-dir/browser2.js +2 -5
  4. package/dist/commonjs-virtual-dir/index2.js +3 -5
  5. package/dist/commonjs-virtual-dir/index3.js +5 -3
  6. package/dist/main.d.ts +5 -0
  7. package/dist/main.js +37 -35
  8. package/dist/src/outside-call/utils.js +1 -1
  9. package/dist/src/shield/create-cos-file-name.js +8 -0
  10. package/dist/src/shield/crypto/sm4.js +1 -1
  11. package/dist/src/vite-plugins/generateSriHash.js +26 -0
  12. package/dist/src/vite-plugins/vite-plugin-sri/config.js +8 -0
  13. package/dist/src/vite-plugins/vite-plugin-sri/index.js +125 -0
  14. package/dist/src/vite-plugins/vite-plugin-sri/internal.js +1173 -0
  15. package/dist/vendor/@tokenizer/inflate/lib/ZipHandler.js +1 -1
  16. package/dist/vendor/debug/src/browser.js +1 -1
  17. package/dist/vendor/file-type/source/detectors/ebml.js +1 -1
  18. package/dist/vendor/file-type/source/detectors/zip.js +1 -1
  19. package/dist/vendor/file-type/source/index.js +1 -1
  20. package/dist/vendor/file-type/source/tokens.js +1 -1
  21. package/dist/vendor/gm-crypt/src/crypt.js +1 -1
  22. package/dist/vendor/jssip/lib-es5/Message.js +11 -11
  23. package/dist/vendor/jssip/lib-es5/Options.js +13 -13
  24. package/dist/vendor/jssip/lib-es5/RTCSession/DTMF.js +4 -4
  25. package/dist/vendor/jssip/lib-es5/RTCSession/Info.js +12 -12
  26. package/dist/vendor/jssip/lib-es5/RTCSession/ReferSubscriber.js +7 -7
  27. package/dist/vendor/jssip/lib-es5/RTCSession.js +2 -2
  28. package/dist/vendor/jssip/lib-es5/Transactions.js +15 -15
  29. package/dist/vendor/jssip/lib-es5/UA.js +5 -5
  30. package/dist/vendor/nanoid/index.browser.js +11 -0
  31. package/dist/vendor/nanoid/url-alphabet/index.js +4 -0
  32. package/dist/vendor/parse5/dist/common/doctype.js +98 -0
  33. package/dist/vendor/parse5/dist/common/error-codes.js +7 -0
  34. package/dist/vendor/parse5/dist/common/foreign-content.js +210 -0
  35. package/dist/vendor/parse5/dist/common/html.js +261 -0
  36. package/dist/vendor/parse5/dist/common/token.js +14 -0
  37. package/dist/vendor/parse5/dist/common/unicode.js +73 -0
  38. package/dist/vendor/parse5/dist/index.js +18 -0
  39. package/dist/vendor/parse5/dist/parser/formatting-element-list.js +84 -0
  40. package/dist/vendor/parse5/dist/parser/index.js +2271 -0
  41. package/dist/vendor/parse5/dist/parser/open-element-stack.js +240 -0
  42. package/dist/vendor/parse5/dist/serializer/index.js +85 -0
  43. package/dist/vendor/parse5/dist/tokenizer/index.js +1940 -0
  44. package/dist/vendor/parse5/dist/tokenizer/preprocessor.js +88 -0
  45. package/dist/vendor/parse5/dist/tree-adapters/default.js +162 -0
  46. package/dist/vendor/parse5/node_modules/entities/dist/decode-codepoint.js +37 -0
  47. package/dist/vendor/parse5/node_modules/entities/dist/decode.js +270 -0
  48. package/dist/vendor/parse5/node_modules/entities/dist/escape.js +22 -0
  49. package/dist/vendor/parse5/node_modules/entities/dist/generated/decode-data-html.js +5 -0
  50. package/dist/vendor/parse5/node_modules/entities/dist/internal/bin-trie-flags.js +7 -0
  51. package/dist/vendor/parse5/node_modules/entities/dist/internal/decode-shared.js +11 -0
  52. package/dist/vite-plugins/index.d.ts +161 -0
  53. package/dist/vite-plugins/index.js +14 -6
  54. package/package.json +3 -1
  55. package/dist/commonjs-virtual-dir/___vite-browser-external.js +0 -6
  56. package/dist/commonjs-virtual-dir/__vite-browser-external.js +0 -4
  57. package/dist/commonjs-virtual-dir/events.js +0 -4
  58. package/dist/vendor/events/events.js +0 -216
@@ -1,31 +1,6 @@
1
- function u(e) {
2
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
3
- }
4
- function c(e) {
5
- if (Object.prototype.hasOwnProperty.call(e, "__esModule")) return e;
6
- var n = e.default;
7
- if (typeof n == "function") {
8
- var t = function r() {
9
- var o = !1;
10
- try {
11
- o = this instanceof r;
12
- } catch {
13
- }
14
- return o ? Reflect.construct(n, arguments, this.constructor) : n.apply(this, arguments);
15
- };
16
- t.prototype = n.prototype;
17
- } else t = {};
18
- return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
19
- var o = Object.getOwnPropertyDescriptor(e, r);
20
- Object.defineProperty(t, r, o.get ? o : {
21
- enumerable: !0,
22
- get: function() {
23
- return e[r];
24
- }
25
- });
26
- }), t;
1
+ function e(t) {
2
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
27
3
  }
28
4
  export {
29
- c as getAugmentedNamespace,
30
- u as getDefaultExportFromCjs
5
+ e as getDefaultExportFromCjs
31
6
  };
@@ -1,4 +1,7 @@
1
- var r = { exports: {} };
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as e } from "../vendor/debug/src/browser.js";
3
+ var o = e();
4
+ const i = /* @__PURE__ */ r(o);
2
5
  export {
3
- r as __module
6
+ i as default
4
7
  };
@@ -1,7 +1,4 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as e } from "../vendor/debug/src/browser.js";
3
- var o = e();
4
- const i = /* @__PURE__ */ r(o);
1
+ var r = { exports: {} };
5
2
  export {
6
- i as default
3
+ r as __module
7
4
  };
@@ -1,7 +1,5 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../vendor/sdp-transform/lib/index.js";
3
- var t = o();
4
- const a = /* @__PURE__ */ r(t);
1
+ import { __require as r } from "../vendor/gm-crypt/index.js";
2
+ var p = r();
5
3
  export {
6
- a as default
4
+ p as g
7
5
  };
@@ -1,5 +1,7 @@
1
- import { __require as r } from "../vendor/gm-crypt/index.js";
2
- var p = r();
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as o } from "../vendor/sdp-transform/lib/index.js";
3
+ var t = o();
4
+ const a = /* @__PURE__ */ r(t);
3
5
  export {
4
- p as g
6
+ a as default
5
7
  };
package/dist/main.d.ts CHANGED
@@ -45,6 +45,11 @@ export declare const CallLogger: {
45
45
  error(message: unknown, ...args: unknown[]): void;
46
46
  };
47
47
 
48
+ /**
49
+ * 基于原始文件后缀生成新的上传文件名
50
+ */
51
+ export declare const createCosFileName: (file: File, prefix?: string) => string;
52
+
48
53
  /**
49
54
  * 检测文件真实类型并验证扩展名
50
55
  *
package/dist/main.js CHANGED
@@ -1,39 +1,41 @@
1
1
  import { useCall as o } from "./src/outside-call/index.js";
2
- import { antiReplyAttackStrategy as i, requestDataEncryption as s, responseDataEncryption as E } from "./src/shield/crypto/index.js";
3
- import { ALLOWED_FILE_MIMES as l, ALLOWED_FILE_TYPES as n, detectFileByExtension as p, detectFileByMime as m, detectionFilesByExtension as x, detectionFilesByMime as S, isValidDocument as d, isValidFile as f, isValidImage as _, isValidVideo as y } from "./src/shield/file-detection.js";
4
- import { htmlSanitize as u } from "./src/shield/html-sanitize.js";
5
- import { startNoDebugger as D } from "./src/shield/no-debugger.js";
6
- import { isUrlSafe as I, sanitizeUrl as L, sanitizeUrls as g } from "./src/shield/url-sanitize.js";
7
- import { EventBus as V } from "./src/utils/eventBus.js";
8
- import { CallLogger as C } from "./src/outside-call/utils.js";
9
- import { ECallStatus as R, EMIT_EVENT_NAME as T, SIP_CODE_MESSAGE as U, SIP_ERROR_CAUSES as z } from "./src/outside-call/constants.js";
10
- import { supportedExtensions as P, supportedMimeTypes as W } from "./vendor/file-type/source/index.js";
2
+ import { createCosFileName as i } from "./src/shield/create-cos-file-name.js";
3
+ import { antiReplyAttackStrategy as a, requestDataEncryption as E, responseDataEncryption as l } from "./src/shield/crypto/index.js";
4
+ import { ALLOWED_FILE_MIMES as n, ALLOWED_FILE_TYPES as m, detectFileByExtension as x, detectFileByMime as f, detectionFilesByExtension as S, detectionFilesByMime as d, isValidDocument as _, isValidFile as c, isValidImage as y, isValidVideo as u } from "./src/shield/file-detection.js";
5
+ import { htmlSanitize as M } from "./src/shield/html-sanitize.js";
6
+ import { startNoDebugger as I } from "./src/shield/no-debugger.js";
7
+ import { isUrlSafe as g, sanitizeUrl as A, sanitizeUrls as C } from "./src/shield/url-sanitize.js";
8
+ import { EventBus as B } from "./src/utils/eventBus.js";
9
+ import { CallLogger as O } from "./src/outside-call/utils.js";
10
+ import { ECallStatus as T, EMIT_EVENT_NAME as U, SIP_CODE_MESSAGE as z, SIP_ERROR_CAUSES as P } from "./src/outside-call/constants.js";
11
+ import { supportedExtensions as b, supportedMimeTypes as h } from "./vendor/file-type/source/index.js";
11
12
  export {
12
- l as ALLOWED_FILE_MIMES,
13
- n as ALLOWED_FILE_TYPES,
14
- C as CallLogger,
15
- R as ECallStatus,
16
- T as EMIT_EVENT_NAME,
17
- V as EventBus,
18
- U as SIP_CODE_MESSAGE,
19
- z as SIP_ERROR_CAUSES,
20
- i as antiReplyAttackStrategy,
21
- p as detectFileByExtension,
22
- m as detectFileByMime,
23
- x as detectionFilesByExtension,
24
- S as detectionFilesByMime,
25
- u as htmlSanitize,
26
- I as isUrlSafe,
27
- d as isValidDocument,
28
- f as isValidFile,
29
- _ as isValidImage,
30
- y as isValidVideo,
31
- s as requestDataEncryption,
32
- E as responseDataEncryption,
33
- L as sanitizeUrl,
34
- g as sanitizeUrls,
35
- D as startNoDebugger,
36
- P as supportedExtensions,
37
- W as supportedMimeTypes,
13
+ n as ALLOWED_FILE_MIMES,
14
+ m as ALLOWED_FILE_TYPES,
15
+ O as CallLogger,
16
+ T as ECallStatus,
17
+ U as EMIT_EVENT_NAME,
18
+ B as EventBus,
19
+ z as SIP_CODE_MESSAGE,
20
+ P as SIP_ERROR_CAUSES,
21
+ a as antiReplyAttackStrategy,
22
+ i as createCosFileName,
23
+ x as detectFileByExtension,
24
+ f as detectFileByMime,
25
+ S as detectionFilesByExtension,
26
+ d as detectionFilesByMime,
27
+ M as htmlSanitize,
28
+ g as isUrlSafe,
29
+ _ as isValidDocument,
30
+ c as isValidFile,
31
+ y as isValidImage,
32
+ u as isValidVideo,
33
+ E as requestDataEncryption,
34
+ l as responseDataEncryption,
35
+ A as sanitizeUrl,
36
+ C as sanitizeUrls,
37
+ I as startNoDebugger,
38
+ b as supportedExtensions,
39
+ h as supportedMimeTypes,
38
40
  o as useCall
39
41
  };
@@ -1,4 +1,4 @@
1
- import c from "../../commonjs-virtual-dir/index2.js";
1
+ import c from "../../commonjs-virtual-dir/index3.js";
2
2
  const g = {
3
3
  log(e, ...r) {
4
4
  console.log(`%c【${(/* @__PURE__ */ new Date()).toLocaleString()}】`, "color: green; font-weight: bold;", e, ...r);
@@ -0,0 +1,8 @@
1
+ import { nanoid as s } from "../../vendor/nanoid/index.browser.js";
2
+ const p = (t, n = "") => {
3
+ const e = t.name.lastIndexOf("."), o = e > -1 ? t.name.slice(e) : t.type.split("/").pop() || "";
4
+ return `${n}${s()}${o}`;
5
+ };
6
+ export {
7
+ p as createCosFileName
8
+ };
@@ -1,4 +1,4 @@
1
- import { g as o } from "../../../commonjs-virtual-dir/index3.js";
1
+ import { g as o } from "../../../commonjs-virtual-dir/index2.js";
2
2
  import { dataToStr as r } from "./util.js";
3
3
  const c = "cbc", n = (t, e) => new o.sm4({
4
4
  key: t.key,
@@ -0,0 +1,26 @@
1
+ import { createHash as s } from "node:crypto";
2
+ import { readFile as i } from "node:fs/promises";
3
+ import { resolve as c } from "node:path";
4
+ function f(t, r = "sha384") {
5
+ const e = s(r);
6
+ return e.update(t), `${r}-${e.digest("base64")}`;
7
+ }
8
+ async function n(t, r = "sha384") {
9
+ const e = c(t), a = await i(e);
10
+ return f(a, r);
11
+ }
12
+ async function m(t, r = "sha384") {
13
+ const e = {};
14
+ if (Array.isArray(t))
15
+ for (const a of t)
16
+ e[a] = await n(a, r);
17
+ else
18
+ for (const [a, o] of Object.entries(t))
19
+ e[a] = await n(o, r);
20
+ return e;
21
+ }
22
+ export {
23
+ f as generateSriHash,
24
+ n as generateSriHashFromFile,
25
+ m as generateSriHashMap
26
+ };
@@ -0,0 +1,8 @@
1
+ let e = "";
2
+ const i = (t) => {
3
+ e = t;
4
+ }, s = () => e;
5
+ export {
6
+ s as getVitePluginSriBase,
7
+ i as setVitePluginSriBase
8
+ };
@@ -0,0 +1,125 @@
1
+ import { setVitePluginSriBase as T } from "./config.js";
2
+ import { escapeForScript as P, createLogger as W, validateGenerateBundleInputs as x, isImportMapCapableBase as N, IntegrityProcessor as V, minifyRuntimeSource as G, installSriRuntime as _, loadVite as q, DynamicImportAnalyzer as U, collectModuleChunkFiles as Y, HtmlProcessor as K, ManifestProcessor as Q, handleGenerateBundleError as X } from "./internal.js";
3
+ let e;
4
+ const Z = /(?<![.\w$])import\s*\(/g;
5
+ function ee(n) {
6
+ return !n || typeof n != "string" || n.indexOf("import") === -1 ? n : n.replace(Z, "__sriImport(import.meta.url, ");
7
+ }
8
+ function te(n, o, a) {
9
+ const h = P(JSON.stringify(o)), C = a.crossorigin ? JSON.stringify(a.crossorigin) : "false", M = P(JSON.stringify(a.skipResources)), $ = P(JSON.stringify(a.base ?? "/")), g = `${h}, { crossorigin: ${C}, skipResources: ${M}, enforceDynamicImports: ${a.enforceDynamicImports}, base: ${$} }`;
10
+ return `
11
+ (function(){var __name=function(fn){return fn;};return (${typeof n == "string" ? n : n.toString()});})()(${g});
12
+ `;
13
+ }
14
+ function re(n = {}) {
15
+ let o = n.algorithm ?? "sha384";
16
+ const a = n.crossorigin, h = n.fetchCache !== !1, C = n.fetchTimeoutMs ?? 5e3, M = h ? /* @__PURE__ */ new Map() : void 0, $ = h ? /* @__PURE__ */ new Map() : void 0;
17
+ let g = !1;
18
+ const I = n.preloadDynamicChunks !== !1, S = n.importMapIntegrity !== !1, b = n.runtimePatchDynamicLinks !== !1, k = n.skipResources ?? [], z = n.verboseLogging === !0;
19
+ let c = "/", O = process.cwd(), D = !0, f = {}, w = /* @__PURE__ */ new Set();
20
+ return {
21
+ name: "vite-plugin-sri-gen",
22
+ enforce: "post",
23
+ // Only run during `vite build`
24
+ apply: "build",
25
+ configResolved(d) {
26
+ g = g || !!d.build?.ssr, c = d.base ?? "/", T(c), D = d.build?.minify !== !1, O = d.root || process.cwd(), o !== "sha256" && o !== "sha384" && o !== "sha512" && (e.warn(
27
+ `Unsupported algorithm "${String(
28
+ o
29
+ )}". Falling back to "sha384". Supported: sha256 | sha384 | sha512.`
30
+ ), o = "sha384");
31
+ },
32
+ generateBundle: {
33
+ order: "post",
34
+ async handler(d, i) {
35
+ e = W(this, z);
36
+ try {
37
+ const p = x(i, g);
38
+ if (p.shouldWarn && p.message && e.warn(p.message), !i || typeof i != "object" || Object.keys(i).length === 0)
39
+ return;
40
+ const R = Object.entries(i).some(
41
+ ([s, r]) => s.toLowerCase().endsWith(".html") && r && r.type === "asset"
42
+ ), B = Object.entries(i).some(
43
+ ([s, r]) => r && r.type === "asset" && s !== ".vite/ssr-manifest.json" && s.endsWith("manifest.json")
44
+ );
45
+ if (!R && !B)
46
+ return;
47
+ R && !N(c) && e.info(`Import map SRI skipped: relative base "${c}" cannot produce valid import map keys`);
48
+ const v = new V(o, e), E = S && R && !B && N(c), j = !I && !E;
49
+ if (b) {
50
+ if (j) {
51
+ e.info("Rewriting dynamic import() calls to enforce SRI in JavaScript");
52
+ let u = 0;
53
+ for (const t of Object.values(i)) {
54
+ if (t.type !== "chunk") continue;
55
+ const L = ee(t.code);
56
+ L !== t.code && (t.code = L, t.map = null, u++);
57
+ }
58
+ u > 0 && e.info(`Rewrote dynamic import() calls in ${u} chunk(s)`);
59
+ }
60
+ e.info("Building SRI integrity mappings for non-entry chunks");
61
+ const s = await v.buildIntegrityMappings(i, {
62
+ excludeEntryChunks: !0
63
+ });
64
+ e.info("Injecting SRI runtime into entry chunks");
65
+ const r = D ? await G(_.toString(), e, () => q(O)) : _.toString(), l = te(r, s, {
66
+ crossorigin: a,
67
+ skipResources: k,
68
+ enforceDynamicImports: j,
69
+ base: c
70
+ });
71
+ for (const [u, t] of Object.entries(i))
72
+ t.type === "chunk" && t.isEntry && (t.code = l + t.code, e.info(`Injected SRI runtime into entry chunk: ${u}`));
73
+ e.info("Building SRI integrity mappings for entry chunks (post-injection)");
74
+ const m = await v.buildIntegrityMappings(i, { onlyEntryChunks: !0 });
75
+ f = { ...s, ...m };
76
+ } else
77
+ e.info("Building SRI integrity mappings for all chunks (no runtime injection)"), f = await v.buildIntegrityMappings(i);
78
+ e.info("Analyzing dynamic import relationships");
79
+ const F = new U(e);
80
+ if (w = F.analyzeDynamicImports(i), R) {
81
+ e.info("Processing HTML files for SRI injection");
82
+ const s = F.redundantImportMapChunks(i), r = Y(f, k, s).map(
83
+ (t) => t.fileName
84
+ ), l = /* @__PURE__ */ new Set();
85
+ E && r.forEach((t) => l.add(t)), I && (S ? w.forEach((t) => l.add(t)) : r.forEach((t) => l.add(t))), j && b && w.forEach((t) => l.add(t));
86
+ const m = r.filter((t) => !l.has(t));
87
+ m.length > 0 && e.warn(
88
+ `${m.length} module-graph chunk(s) will load without SRI — no active mechanism covers them. Set importMapIntegrity: false to cover them with modulepreload links (requires preloadDynamicChunks). Affected: ${m.slice(0, 5).join(", ")}${m.length > 5 ? `, +${m.length - 5} more` : ""}`
89
+ ), await new K({
90
+ algorithm: o,
91
+ crossorigin: a,
92
+ base: c,
93
+ preloadDynamicChunks: I,
94
+ importMapIntegrity: S,
95
+ enableCache: h,
96
+ remoteCache: M,
97
+ pending: $,
98
+ fetchTimeoutMs: C,
99
+ logger: e,
100
+ skipResources: k
101
+ }).processHtmlFiles(i, f, w, s);
102
+ }
103
+ e.info("Injecting SRI integrity into Vite manifest (if present)");
104
+ const y = new Q(e).injectIntegrity(i, f, k);
105
+ y.processedFiles > 0 && e.info(
106
+ `Manifest integrity: ${y.augmentedEntries} entr(ies) updated across ${y.processedFiles} manifest file(s)`
107
+ );
108
+ const H = Object.keys(f).length, A = Object.values(i).filter(
109
+ (s) => s.type === "asset" && typeof s.fileName == "string" && s.fileName.endsWith(".html")
110
+ ).length, J = y.processedFiles > 0 ? `, ${y.processedFiles} manifest file(s) updated` : "";
111
+ e.summary(
112
+ `SRI generation completed: ${H} asset(s) processed, ${A} HTML file(s) updated${J}`
113
+ );
114
+ } catch (p) {
115
+ throw X(p, e), p;
116
+ }
117
+ }
118
+ }
119
+ };
120
+ }
121
+ export {
122
+ te as buildSriRuntimeCode,
123
+ ee as rewriteDynamicImports,
124
+ re as vitePluginSri
125
+ };