@be-link/cls-logger 1.0.9 → 1.0.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../src/ClsLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,aAAa;cAC1B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAwHhD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;CAGlH"}
1
+ {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../src/ClsLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,aAAa;cAC1B,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAgGhD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;CAGlH"}
package/dist/index.esm.js CHANGED
@@ -2923,23 +2923,8 @@ class ClsLogger extends ClsLoggerCore {
2923
2923
  }
2924
2924
  }
2925
2925
  const isMini = this.envType === 'miniprogram';
2926
- // 3) 尝试 require / 全局变量
2927
- // Mini Program: 尝试直接 require
2926
+ // 3) 尝试使用 tryRequire / 全局变量
2928
2927
  if (isMini) {
2929
- // 显式使用字面量 require,帮助打包工具识别依赖(尤其是 CJS 构建模式下)
2930
- try {
2931
- // eslint-disable-next-line @typescript-eslint/no-var-requires
2932
- const req = typeof require === 'function' ? require('tencentcloud-cls-sdk-js-mini') : null;
2933
- const reqSdk = normalizeSdk(req);
2934
- if (reqSdk) {
2935
- this.sdk = reqSdk;
2936
- return reqSdk;
2937
- }
2938
- }
2939
- catch {
2940
- // ignore
2941
- }
2942
- // 尝试使用 tryRequire(作为补充)
2943
2928
  const reqMod = tryRequire('tencentcloud-cls-sdk-js-mini');
2944
2929
  const reqSdk = normalizeSdk(reqMod);
2945
2930
  if (reqSdk) {
@@ -2963,43 +2948,32 @@ class ClsLogger extends ClsLoggerCore {
2963
2948
  return reqSdk;
2964
2949
  }
2965
2950
  }
2966
- // 4) 动态 import
2967
- // 使用 /* @vite-ignore */ 告知 Vite 忽略对可选依赖的静态解析,
2968
- // 这样在用户未安装 SDK 时,Vite 不会抛出编译时/构建时错误。
2969
- const miniPkg = 'tencentcloud-cls-sdk-js-mini';
2970
- const webPkg = 'tencentcloud-cls-sdk-js-web';
2971
- if (isMini) {
2972
- this.sdkPromise = import(/* @vite-ignore */ miniPkg)
2973
- .then((m) => {
2951
+ // 4) 动态导入(兜底方案)
2952
+ // 注意:在某些严格的小程序 ESM 环境下,动态 import 可能失效
2953
+ try {
2954
+ if (isMini) {
2955
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-mini');
2974
2956
  const sdk = normalizeSdk(m);
2975
- if (!sdk)
2976
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for mini`);
2977
- this.sdk = sdk;
2978
- return sdk;
2979
- })
2980
- .catch((err) => {
2981
- this.sdkPromise = null;
2982
- // 仅打印警告,不阻塞主流程
2983
- console.warn(`[ClsLogger] Optional SDK "${miniPkg}" not found. Logging will be disabled.`, err);
2984
- throw err;
2985
- });
2986
- }
2987
- else {
2988
- this.sdkPromise = import(/* @vite-ignore */ webPkg)
2989
- .then((m) => {
2957
+ if (sdk) {
2958
+ this.sdk = sdk;
2959
+ return sdk;
2960
+ }
2961
+ }
2962
+ else {
2963
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-web');
2990
2964
  const sdk = normalizeSdk(m);
2991
- if (!sdk)
2992
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for web`);
2993
- this.sdk = sdk;
2994
- return sdk;
2995
- })
2996
- .catch((err) => {
2997
- this.sdkPromise = null;
2998
- console.warn(`[ClsLogger] Optional SDK "${webPkg}" not found. Logging will be disabled.`, err);
2999
- throw err;
3000
- });
2965
+ if (sdk) {
2966
+ this.sdk = sdk;
2967
+ return sdk;
2968
+ }
2969
+ }
2970
+ }
2971
+ catch {
2972
+ // ignore
3001
2973
  }
3002
- return this.sdkPromise;
2974
+ // 5) 最终失败警告
2975
+ console.warn(`[ClsLogger] SDK "${isMini ? 'tencentcloud-cls-sdk-js-mini' : 'tencentcloud-cls-sdk-js-web'}" not found. Logging will be disabled.`);
2976
+ throw new Error('SDK not found');
3003
2977
  }
3004
2978
  installRequestMonitor(report, options) {
3005
2979
  installRequestMonitor(report, options);
package/dist/index.js CHANGED
@@ -2927,23 +2927,8 @@ class ClsLogger extends ClsLoggerCore {
2927
2927
  }
2928
2928
  }
2929
2929
  const isMini = this.envType === 'miniprogram';
2930
- // 3) 尝试 require / 全局变量
2931
- // Mini Program: 尝试直接 require
2930
+ // 3) 尝试使用 tryRequire / 全局变量
2932
2931
  if (isMini) {
2933
- // 显式使用字面量 require,帮助打包工具识别依赖(尤其是 CJS 构建模式下)
2934
- try {
2935
- // eslint-disable-next-line @typescript-eslint/no-var-requires
2936
- const req = typeof require === 'function' ? require('tencentcloud-cls-sdk-js-mini') : null;
2937
- const reqSdk = normalizeSdk(req);
2938
- if (reqSdk) {
2939
- this.sdk = reqSdk;
2940
- return reqSdk;
2941
- }
2942
- }
2943
- catch {
2944
- // ignore
2945
- }
2946
- // 尝试使用 tryRequire(作为补充)
2947
2932
  const reqMod = tryRequire('tencentcloud-cls-sdk-js-mini');
2948
2933
  const reqSdk = normalizeSdk(reqMod);
2949
2934
  if (reqSdk) {
@@ -2967,43 +2952,32 @@ class ClsLogger extends ClsLoggerCore {
2967
2952
  return reqSdk;
2968
2953
  }
2969
2954
  }
2970
- // 4) 动态 import
2971
- // 使用 /* @vite-ignore */ 告知 Vite 忽略对可选依赖的静态解析,
2972
- // 这样在用户未安装 SDK 时,Vite 不会抛出编译时/构建时错误。
2973
- const miniPkg = 'tencentcloud-cls-sdk-js-mini';
2974
- const webPkg = 'tencentcloud-cls-sdk-js-web';
2975
- if (isMini) {
2976
- this.sdkPromise = import(/* @vite-ignore */ miniPkg)
2977
- .then((m) => {
2955
+ // 4) 动态导入(兜底方案)
2956
+ // 注意:在某些严格的小程序 ESM 环境下,动态 import 可能失效
2957
+ try {
2958
+ if (isMini) {
2959
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-mini');
2978
2960
  const sdk = normalizeSdk(m);
2979
- if (!sdk)
2980
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for mini`);
2981
- this.sdk = sdk;
2982
- return sdk;
2983
- })
2984
- .catch((err) => {
2985
- this.sdkPromise = null;
2986
- // 仅打印警告,不阻塞主流程
2987
- console.warn(`[ClsLogger] Optional SDK "${miniPkg}" not found. Logging will be disabled.`, err);
2988
- throw err;
2989
- });
2990
- }
2991
- else {
2992
- this.sdkPromise = import(/* @vite-ignore */ webPkg)
2993
- .then((m) => {
2961
+ if (sdk) {
2962
+ this.sdk = sdk;
2963
+ return sdk;
2964
+ }
2965
+ }
2966
+ else {
2967
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-web');
2994
2968
  const sdk = normalizeSdk(m);
2995
- if (!sdk)
2996
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for web`);
2997
- this.sdk = sdk;
2998
- return sdk;
2999
- })
3000
- .catch((err) => {
3001
- this.sdkPromise = null;
3002
- console.warn(`[ClsLogger] Optional SDK "${webPkg}" not found. Logging will be disabled.`, err);
3003
- throw err;
3004
- });
2969
+ if (sdk) {
2970
+ this.sdk = sdk;
2971
+ return sdk;
2972
+ }
2973
+ }
2974
+ }
2975
+ catch {
2976
+ // ignore
3005
2977
  }
3006
- return this.sdkPromise;
2978
+ // 5) 最终失败警告
2979
+ console.warn(`[ClsLogger] SDK "${isMini ? 'tencentcloud-cls-sdk-js-mini' : 'tencentcloud-cls-sdk-js-web'}" not found. Logging will be disabled.`);
2980
+ throw new Error('SDK not found');
3007
2981
  }
3008
2982
  installRequestMonitor(report, options) {
3009
2983
  installRequestMonitor(report, options);
package/dist/index.umd.js CHANGED
@@ -2929,23 +2929,8 @@
2929
2929
  }
2930
2930
  }
2931
2931
  const isMini = this.envType === 'miniprogram';
2932
- // 3) 尝试 require / 全局变量
2933
- // Mini Program: 尝试直接 require
2932
+ // 3) 尝试使用 tryRequire / 全局变量
2934
2933
  if (isMini) {
2935
- // 显式使用字面量 require,帮助打包工具识别依赖(尤其是 CJS 构建模式下)
2936
- try {
2937
- // eslint-disable-next-line @typescript-eslint/no-var-requires
2938
- const req = typeof require === 'function' ? require('tencentcloud-cls-sdk-js-mini') : null;
2939
- const reqSdk = normalizeSdk(req);
2940
- if (reqSdk) {
2941
- this.sdk = reqSdk;
2942
- return reqSdk;
2943
- }
2944
- }
2945
- catch {
2946
- // ignore
2947
- }
2948
- // 尝试使用 tryRequire(作为补充)
2949
2934
  const reqMod = tryRequire('tencentcloud-cls-sdk-js-mini');
2950
2935
  const reqSdk = normalizeSdk(reqMod);
2951
2936
  if (reqSdk) {
@@ -2969,43 +2954,32 @@
2969
2954
  return reqSdk;
2970
2955
  }
2971
2956
  }
2972
- // 4) 动态 import
2973
- // 使用 /* @vite-ignore */ 告知 Vite 忽略对可选依赖的静态解析,
2974
- // 这样在用户未安装 SDK 时,Vite 不会抛出编译时/构建时错误。
2975
- const miniPkg = 'tencentcloud-cls-sdk-js-mini';
2976
- const webPkg = 'tencentcloud-cls-sdk-js-web';
2977
- if (isMini) {
2978
- this.sdkPromise = import(/* @vite-ignore */ miniPkg)
2979
- .then((m) => {
2957
+ // 4) 动态导入(兜底方案)
2958
+ // 注意:在某些严格的小程序 ESM 环境下,动态 import 可能失效
2959
+ try {
2960
+ if (isMini) {
2961
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-mini');
2980
2962
  const sdk = normalizeSdk(m);
2981
- if (!sdk)
2982
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for mini`);
2983
- this.sdk = sdk;
2984
- return sdk;
2985
- })
2986
- .catch((err) => {
2987
- this.sdkPromise = null;
2988
- // 仅打印警告,不阻塞主流程
2989
- console.warn(`[ClsLogger] Optional SDK "${miniPkg}" not found. Logging will be disabled.`, err);
2990
- throw err;
2991
- });
2992
- }
2993
- else {
2994
- this.sdkPromise = import(/* @vite-ignore */ webPkg)
2995
- .then((m) => {
2963
+ if (sdk) {
2964
+ this.sdk = sdk;
2965
+ return sdk;
2966
+ }
2967
+ }
2968
+ else {
2969
+ const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-web');
2996
2970
  const sdk = normalizeSdk(m);
2997
- if (!sdk)
2998
- throw new Error(`ClsLogger.loadSdk: invalid sdk module for web`);
2999
- this.sdk = sdk;
3000
- return sdk;
3001
- })
3002
- .catch((err) => {
3003
- this.sdkPromise = null;
3004
- console.warn(`[ClsLogger] Optional SDK "${webPkg}" not found. Logging will be disabled.`, err);
3005
- throw err;
3006
- });
2971
+ if (sdk) {
2972
+ this.sdk = sdk;
2973
+ return sdk;
2974
+ }
2975
+ }
2976
+ }
2977
+ catch {
2978
+ // ignore
3007
2979
  }
3008
- return this.sdkPromise;
2980
+ // 5) 最终失败警告
2981
+ console.warn(`[ClsLogger] SDK "${isMini ? 'tencentcloud-cls-sdk-js-mini' : 'tencentcloud-cls-sdk-js-web'}" not found. Logging will be disabled.`);
2982
+ throw new Error('SDK not found');
3009
2983
  }
3010
2984
  installRequestMonitor(report, options) {
3011
2985
  installRequestMonitor(report, options);
@@ -1 +1 @@
1
- {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../../src/mini/ClsLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,aAAc,SAAQ,aAAa;IAC9C,SAAS,CAAC,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,CAAiB;cAE9C,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IA6BhD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;IAIjH,OAAO,CAAC,SAAS;CAYlB"}
1
+ {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../../src/mini/ClsLogger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMnD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,aAAc,SAAQ,aAAa;IAC9C,SAAS,CAAC,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,CAAiB;cAE9C,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAahD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;IAIjH,OAAO,CAAC,SAAS;CAYlB"}
package/dist/mini.esm.js CHANGED
@@ -1,3 +1,5 @@
1
+ import * as tencentcloudClsSdkJsMini from 'tencentcloud-cls-sdk-js-mini';
2
+
1
3
  function isPlainObject(value) {
2
4
  return Object.prototype.toString.call(value) === '[object Object]';
3
5
  }
@@ -768,40 +770,6 @@ class ClsLoggerCore {
768
770
  }
769
771
  }
770
772
 
771
- function readGlobal(key) {
772
- try {
773
- const g = globalThis;
774
- return g[key] ?? null;
775
- }
776
- catch {
777
- return null;
778
- }
779
- }
780
- function tryRequire(moduleName) {
781
- try {
782
- // 说明:
783
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
784
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
785
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
786
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
787
- const localReq = (typeof require === 'function' ? require : null);
788
- const globalReq = readGlobal('require');
789
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
790
- for (const fn of candidates) {
791
- try {
792
- return fn(moduleName);
793
- }
794
- catch {
795
- // continue
796
- }
797
- }
798
- return null;
799
- }
800
- catch {
801
- return null;
802
- }
803
- }
804
-
805
773
  const DEFAULT_IGNORE = ['cls.tencentcs.com', /\/cls\//i];
806
774
  function shouldIgnoreUrl(url, ignoreUrls) {
807
775
  for (const rule of ignoreUrls) {
@@ -1731,7 +1699,8 @@ function createMiniDeviceInfoBaseFields(opts) {
1731
1699
  };
1732
1700
  }
1733
1701
 
1734
- // 移除静态引用,改为安全的 tryRequire + 动态加载,避免在未安装 SDK 时报错
1702
+ // @ts-ignore
1703
+ // 移除动态加载,在 Mini 入口直接静态引用以确保小程序环境下的稳定性
1735
1704
  class ClsLoggerMini extends ClsLoggerCore {
1736
1705
  constructor() {
1737
1706
  super(...arguments);
@@ -1740,28 +1709,12 @@ class ClsLoggerMini extends ClsLoggerCore {
1740
1709
  async loadSdk() {
1741
1710
  if (this.sdk)
1742
1711
  return this.sdk;
1743
- // 1) 优先尝试 tryRequire(小程序环境可能已经有 require)
1744
- const req = tryRequire('tencentcloud-cls-sdk-js-mini');
1745
- if (req) {
1746
- const sdk = this.normalize(req);
1747
- if (sdk) {
1748
- this.sdk = sdk;
1749
- return sdk;
1750
- }
1751
- }
1752
- // 2) 否则尝试带 ignore 的动态导入
1753
- try {
1754
- const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-mini');
1755
- const sdk = this.normalize(m);
1756
- if (sdk) {
1757
- this.sdk = sdk;
1758
- return sdk;
1759
- }
1760
- }
1761
- catch {
1762
- // ignore
1712
+ const sdk = this.normalize(tencentcloudClsSdkJsMini);
1713
+ if (sdk) {
1714
+ this.sdk = sdk;
1715
+ return sdk;
1763
1716
  }
1764
- console.warn('[ClsLogger] Optional SDK "tencentcloud-cls-sdk-js-mini" not found. Logging will be disabled.');
1717
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-mini" not found or invalid. Logging will be disabled.');
1765
1718
  throw new Error('SDK not found');
1766
1719
  }
1767
1720
  installRequestMonitor(report, options) {
package/dist/mini.js CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var tencentcloudClsSdkJsMini = require('tencentcloud-cls-sdk-js-mini');
6
+
7
+ function _interopNamespaceDefault(e) {
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var tencentcloudClsSdkJsMini__namespace = /*#__PURE__*/_interopNamespaceDefault(tencentcloudClsSdkJsMini);
25
+
5
26
  function isPlainObject(value) {
6
27
  return Object.prototype.toString.call(value) === '[object Object]';
7
28
  }
@@ -772,40 +793,6 @@ class ClsLoggerCore {
772
793
  }
773
794
  }
774
795
 
775
- function readGlobal(key) {
776
- try {
777
- const g = globalThis;
778
- return g[key] ?? null;
779
- }
780
- catch {
781
- return null;
782
- }
783
- }
784
- function tryRequire(moduleName) {
785
- try {
786
- // 说明:
787
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
788
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
789
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
790
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
791
- const localReq = (typeof require === 'function' ? require : null);
792
- const globalReq = readGlobal('require');
793
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
794
- for (const fn of candidates) {
795
- try {
796
- return fn(moduleName);
797
- }
798
- catch {
799
- // continue
800
- }
801
- }
802
- return null;
803
- }
804
- catch {
805
- return null;
806
- }
807
- }
808
-
809
796
  const DEFAULT_IGNORE = ['cls.tencentcs.com', /\/cls\//i];
810
797
  function shouldIgnoreUrl(url, ignoreUrls) {
811
798
  for (const rule of ignoreUrls) {
@@ -1735,7 +1722,8 @@ function createMiniDeviceInfoBaseFields(opts) {
1735
1722
  };
1736
1723
  }
1737
1724
 
1738
- // 移除静态引用,改为安全的 tryRequire + 动态加载,避免在未安装 SDK 时报错
1725
+ // @ts-ignore
1726
+ // 移除动态加载,在 Mini 入口直接静态引用以确保小程序环境下的稳定性
1739
1727
  class ClsLoggerMini extends ClsLoggerCore {
1740
1728
  constructor() {
1741
1729
  super(...arguments);
@@ -1744,28 +1732,12 @@ class ClsLoggerMini extends ClsLoggerCore {
1744
1732
  async loadSdk() {
1745
1733
  if (this.sdk)
1746
1734
  return this.sdk;
1747
- // 1) 优先尝试 tryRequire(小程序环境可能已经有 require)
1748
- const req = tryRequire('tencentcloud-cls-sdk-js-mini');
1749
- if (req) {
1750
- const sdk = this.normalize(req);
1751
- if (sdk) {
1752
- this.sdk = sdk;
1753
- return sdk;
1754
- }
1755
- }
1756
- // 2) 否则尝试带 ignore 的动态导入
1757
- try {
1758
- const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-mini');
1759
- const sdk = this.normalize(m);
1760
- if (sdk) {
1761
- this.sdk = sdk;
1762
- return sdk;
1763
- }
1764
- }
1765
- catch {
1766
- // ignore
1735
+ const sdk = this.normalize(tencentcloudClsSdkJsMini__namespace);
1736
+ if (sdk) {
1737
+ this.sdk = sdk;
1738
+ return sdk;
1767
1739
  }
1768
- console.warn('[ClsLogger] Optional SDK "tencentcloud-cls-sdk-js-mini" not found. Logging will be disabled.');
1740
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-mini" not found or invalid. Logging will be disabled.');
1769
1741
  throw new Error('SDK not found');
1770
1742
  }
1771
1743
  installRequestMonitor(report, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../../src/web/ClsLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAS,CAAC,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,CAAa;cAE1C,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAoChD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;IAIjH,OAAO,CAAC,SAAS;CASlB"}
1
+ {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../../src/web/ClsLogger.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAIlB,qBAAa,YAAa,SAAQ,aAAa;IAC7C,SAAS,CAAC,OAAO,EAAE,OAAO,UAAU,EAAE,OAAO,CAAa;cAE1C,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAqBhD,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP,SAAS,CAAC,mBAAmB,CAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,mBAAmB,GACrC,IAAI;IAIP,SAAS,CAAC,yBAAyB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAC3C,IAAI;IAIP,SAAS,CAAC,sBAAsB,CAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChD,OAAO,EAAE,OAAO,GAAG,sBAAsB,GACxC,MAAM,IAAI;IAIb,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,IAAI;IAIjH,OAAO,CAAC,SAAS;CASlB"}
package/dist/web.esm.js CHANGED
@@ -1,3 +1,5 @@
1
+ import * as tencentcloudClsSdkJsWeb from 'tencentcloud-cls-sdk-js-web';
2
+
1
3
  function isPlainObject(value) {
2
4
  return Object.prototype.toString.call(value) === '[object Object]';
3
5
  }
@@ -777,30 +779,6 @@ function readGlobal(key) {
777
779
  return null;
778
780
  }
779
781
  }
780
- function tryRequire(moduleName) {
781
- try {
782
- // 说明:
783
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
784
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
785
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
786
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
787
- const localReq = (typeof require === 'function' ? require : null);
788
- const globalReq = readGlobal('require');
789
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
790
- for (const fn of candidates) {
791
- try {
792
- return fn(moduleName);
793
- }
794
- catch {
795
- // continue
796
- }
797
- }
798
- return null;
799
- }
800
- catch {
801
- return null;
802
- }
803
- }
804
782
 
805
783
  const DEFAULT_IGNORE$1 = ['cls.tencentcs.com', /\/cls\//i];
806
784
  function isClsSendingNow() {
@@ -1913,7 +1891,8 @@ function createWebDeviceInfoBaseFields(opts) {
1913
1891
  };
1914
1892
  }
1915
1893
 
1916
- // 移除静态引用,改为安全的 tryRequire + 动态加载,避免在未安装 SDK 时报错
1894
+ // @ts-ignore
1895
+ // 移除动态加载,在 Web 入口直接静态引用以确保稳定性
1917
1896
  class ClsLoggerWeb extends ClsLoggerCore {
1918
1897
  constructor() {
1919
1898
  super(...arguments);
@@ -1928,28 +1907,13 @@ class ClsLoggerWeb extends ClsLoggerCore {
1928
1907
  this.sdk = this.normalize(g);
1929
1908
  return this.sdk;
1930
1909
  }
1931
- // 2) 尝试同步 tryRequire
1932
- const req = tryRequire('tencentcloud-cls-sdk-js-web');
1933
- if (req) {
1934
- const sdk = this.normalize(req);
1935
- if (sdk) {
1936
- this.sdk = sdk;
1937
- return sdk;
1938
- }
1939
- }
1940
- // 3) 最后尝试带 ignore 的动态导入
1941
- try {
1942
- const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-web');
1943
- const sdk = this.normalize(m);
1944
- if (sdk) {
1945
- this.sdk = sdk;
1946
- return sdk;
1947
- }
1948
- }
1949
- catch {
1950
- // ignore
1910
+ // 2) 使用静态导入
1911
+ const sdk = this.normalize(tencentcloudClsSdkJsWeb);
1912
+ if (sdk) {
1913
+ this.sdk = sdk;
1914
+ return sdk;
1951
1915
  }
1952
- console.warn('[ClsLogger] Optional SDK "tencentcloud-cls-sdk-js-web" not found. Logging will be disabled.');
1916
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-web" not found or invalid. Logging will be disabled.');
1953
1917
  throw new Error('SDK not found');
1954
1918
  }
1955
1919
  installRequestMonitor(report, options) {
package/dist/web.js CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var tencentcloudClsSdkJsWeb = require('tencentcloud-cls-sdk-js-web');
6
+
7
+ function _interopNamespaceDefault(e) {
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var tencentcloudClsSdkJsWeb__namespace = /*#__PURE__*/_interopNamespaceDefault(tencentcloudClsSdkJsWeb);
25
+
5
26
  function isPlainObject(value) {
6
27
  return Object.prototype.toString.call(value) === '[object Object]';
7
28
  }
@@ -781,30 +802,6 @@ function readGlobal(key) {
781
802
  return null;
782
803
  }
783
804
  }
784
- function tryRequire(moduleName) {
785
- try {
786
- // 说明:
787
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
788
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
789
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
790
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
791
- const localReq = (typeof require === 'function' ? require : null);
792
- const globalReq = readGlobal('require');
793
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
794
- for (const fn of candidates) {
795
- try {
796
- return fn(moduleName);
797
- }
798
- catch {
799
- // continue
800
- }
801
- }
802
- return null;
803
- }
804
- catch {
805
- return null;
806
- }
807
- }
808
805
 
809
806
  const DEFAULT_IGNORE$1 = ['cls.tencentcs.com', /\/cls\//i];
810
807
  function isClsSendingNow() {
@@ -1917,7 +1914,8 @@ function createWebDeviceInfoBaseFields(opts) {
1917
1914
  };
1918
1915
  }
1919
1916
 
1920
- // 移除静态引用,改为安全的 tryRequire + 动态加载,避免在未安装 SDK 时报错
1917
+ // @ts-ignore
1918
+ // 移除动态加载,在 Web 入口直接静态引用以确保稳定性
1921
1919
  class ClsLoggerWeb extends ClsLoggerCore {
1922
1920
  constructor() {
1923
1921
  super(...arguments);
@@ -1932,28 +1930,13 @@ class ClsLoggerWeb extends ClsLoggerCore {
1932
1930
  this.sdk = this.normalize(g);
1933
1931
  return this.sdk;
1934
1932
  }
1935
- // 2) 尝试同步 tryRequire
1936
- const req = tryRequire('tencentcloud-cls-sdk-js-web');
1937
- if (req) {
1938
- const sdk = this.normalize(req);
1939
- if (sdk) {
1940
- this.sdk = sdk;
1941
- return sdk;
1942
- }
1943
- }
1944
- // 3) 最后尝试带 ignore 的动态导入
1945
- try {
1946
- const m = await import(/* @vite-ignore */ 'tencentcloud-cls-sdk-js-web');
1947
- const sdk = this.normalize(m);
1948
- if (sdk) {
1949
- this.sdk = sdk;
1950
- return sdk;
1951
- }
1952
- }
1953
- catch {
1954
- // ignore
1933
+ // 2) 使用静态导入
1934
+ const sdk = this.normalize(tencentcloudClsSdkJsWeb__namespace);
1935
+ if (sdk) {
1936
+ this.sdk = sdk;
1937
+ return sdk;
1955
1938
  }
1956
- console.warn('[ClsLogger] Optional SDK "tencentcloud-cls-sdk-js-web" not found. Logging will be disabled.');
1939
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-web" not found or invalid. Logging will be disabled.');
1957
1940
  throw new Error('SDK not found');
1958
1941
  }
1959
1942
  installRequestMonitor(report, options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/cls-logger",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "@be-link cls-logger - 腾讯云 CLS 日志上报封装",
5
5
  "homepage": "https://github.com/snowmountain-top/be-link",
6
6
  "author": "zhuiyi",