@be-link/cls-logger 1.0.8 → 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":"AAEA,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;IAkBhD,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,4 +1,4 @@
1
- import * as MiniSdk from 'tencentcloud-cls-sdk-js-mini';
1
+ import * as tencentcloudClsSdkJsMini from 'tencentcloud-cls-sdk-js-mini';
2
2
 
3
3
  function isPlainObject(value) {
4
4
  return Object.prototype.toString.call(value) === '[object Object]';
@@ -770,40 +770,6 @@ class ClsLoggerCore {
770
770
  }
771
771
  }
772
772
 
773
- function readGlobal(key) {
774
- try {
775
- const g = globalThis;
776
- return g[key] ?? null;
777
- }
778
- catch {
779
- return null;
780
- }
781
- }
782
- function tryRequire(moduleName) {
783
- try {
784
- // 说明:
785
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
786
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
787
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
788
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
789
- const localReq = (typeof require === 'function' ? require : null);
790
- const globalReq = readGlobal('require');
791
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
792
- for (const fn of candidates) {
793
- try {
794
- return fn(moduleName);
795
- }
796
- catch {
797
- // continue
798
- }
799
- }
800
- return null;
801
- }
802
- catch {
803
- return null;
804
- }
805
- }
806
-
807
773
  const DEFAULT_IGNORE = ['cls.tencentcs.com', /\/cls\//i];
808
774
  function shouldIgnoreUrl(url, ignoreUrls) {
809
775
  for (const rule of ignoreUrls) {
@@ -1733,7 +1699,8 @@ function createMiniDeviceInfoBaseFields(opts) {
1733
1699
  };
1734
1700
  }
1735
1701
 
1736
- // 静态引用 mini sdk
1702
+ // @ts-ignore
1703
+ // 移除动态加载,在 Mini 入口直接静态引用以确保小程序环境下的稳定性
1737
1704
  class ClsLoggerMini extends ClsLoggerCore {
1738
1705
  constructor() {
1739
1706
  super(...arguments);
@@ -1742,18 +1709,13 @@ class ClsLoggerMini extends ClsLoggerCore {
1742
1709
  async loadSdk() {
1743
1710
  if (this.sdk)
1744
1711
  return this.sdk;
1745
- // 优先尝试 require(小程序环境可能已经有 require)
1746
- const req = tryRequire('tencentcloud-cls-sdk-js-mini');
1747
- if (req) {
1748
- const sdk = this.normalize(req);
1749
- if (sdk) {
1750
- this.sdk = sdk;
1751
- return sdk;
1752
- }
1712
+ const sdk = this.normalize(tencentcloudClsSdkJsMini);
1713
+ if (sdk) {
1714
+ this.sdk = sdk;
1715
+ return sdk;
1753
1716
  }
1754
- // 否则用静态 import
1755
- this.sdk = this.normalize(MiniSdk);
1756
- return this.sdk;
1717
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-mini" not found or invalid. Logging will be disabled.');
1718
+ throw new Error('SDK not found');
1757
1719
  }
1758
1720
  installRequestMonitor(report, options) {
1759
1721
  installMiniRequestMonitor(report, options);
package/dist/mini.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var MiniSdk = require('tencentcloud-cls-sdk-js-mini');
5
+ var tencentcloudClsSdkJsMini = require('tencentcloud-cls-sdk-js-mini');
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -21,7 +21,7 @@ function _interopNamespaceDefault(e) {
21
21
  return Object.freeze(n);
22
22
  }
23
23
 
24
- var MiniSdk__namespace = /*#__PURE__*/_interopNamespaceDefault(MiniSdk);
24
+ var tencentcloudClsSdkJsMini__namespace = /*#__PURE__*/_interopNamespaceDefault(tencentcloudClsSdkJsMini);
25
25
 
26
26
  function isPlainObject(value) {
27
27
  return Object.prototype.toString.call(value) === '[object Object]';
@@ -793,40 +793,6 @@ class ClsLoggerCore {
793
793
  }
794
794
  }
795
795
 
796
- function readGlobal(key) {
797
- try {
798
- const g = globalThis;
799
- return g[key] ?? null;
800
- }
801
- catch {
802
- return null;
803
- }
804
- }
805
- function tryRequire(moduleName) {
806
- try {
807
- // 说明:
808
- // - ESM 构建(exports.import/module)里通常不存在模块作用域的 require
809
- // - 一些小程序运行时/构建链路会把 require 挂到 globalThis 上
810
- // 因此这里同时探测“模块作用域 require”与 “globalThis.require”
811
- // eslint-disable-next-line @typescript-eslint/no-implied-eval
812
- const localReq = (typeof require === 'function' ? require : null);
813
- const globalReq = readGlobal('require');
814
- const candidates = [localReq, globalReq].filter((fn) => typeof fn === 'function');
815
- for (const fn of candidates) {
816
- try {
817
- return fn(moduleName);
818
- }
819
- catch {
820
- // continue
821
- }
822
- }
823
- return null;
824
- }
825
- catch {
826
- return null;
827
- }
828
- }
829
-
830
796
  const DEFAULT_IGNORE = ['cls.tencentcs.com', /\/cls\//i];
831
797
  function shouldIgnoreUrl(url, ignoreUrls) {
832
798
  for (const rule of ignoreUrls) {
@@ -1756,7 +1722,8 @@ function createMiniDeviceInfoBaseFields(opts) {
1756
1722
  };
1757
1723
  }
1758
1724
 
1759
- // 静态引用 mini sdk
1725
+ // @ts-ignore
1726
+ // 移除动态加载,在 Mini 入口直接静态引用以确保小程序环境下的稳定性
1760
1727
  class ClsLoggerMini extends ClsLoggerCore {
1761
1728
  constructor() {
1762
1729
  super(...arguments);
@@ -1765,18 +1732,13 @@ class ClsLoggerMini extends ClsLoggerCore {
1765
1732
  async loadSdk() {
1766
1733
  if (this.sdk)
1767
1734
  return this.sdk;
1768
- // 优先尝试 require(小程序环境可能已经有 require)
1769
- const req = tryRequire('tencentcloud-cls-sdk-js-mini');
1770
- if (req) {
1771
- const sdk = this.normalize(req);
1772
- if (sdk) {
1773
- this.sdk = sdk;
1774
- return sdk;
1775
- }
1735
+ const sdk = this.normalize(tencentcloudClsSdkJsMini__namespace);
1736
+ if (sdk) {
1737
+ this.sdk = sdk;
1738
+ return sdk;
1776
1739
  }
1777
- // 否则用静态 import
1778
- this.sdk = this.normalize(MiniSdk__namespace);
1779
- return this.sdk;
1740
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-mini" not found or invalid. Logging will be disabled.');
1741
+ throw new Error('SDK not found');
1780
1742
  }
1781
1743
  installRequestMonitor(report, options) {
1782
1744
  installMiniRequestMonitor(report, options);
@@ -1 +1 @@
1
- {"version":3,"file":"ClsLogger.d.ts","sourceRoot":"","sources":["../../src/web/ClsLogger.ts"],"names":[],"mappings":"AAEA,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;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;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,4 +1,4 @@
1
- import * as WebSdk from 'tencentcloud-cls-sdk-js-web';
1
+ import * as tencentcloudClsSdkJsWeb from 'tencentcloud-cls-sdk-js-web';
2
2
 
3
3
  function isPlainObject(value) {
4
4
  return Object.prototype.toString.call(value) === '[object Object]';
@@ -1891,7 +1891,8 @@ function createWebDeviceInfoBaseFields(opts) {
1891
1891
  };
1892
1892
  }
1893
1893
 
1894
- // 静态引用 web sdk
1894
+ // @ts-ignore
1895
+ // 移除动态加载,在 Web 入口直接静态引用以确保稳定性
1895
1896
  class ClsLoggerWeb extends ClsLoggerCore {
1896
1897
  constructor() {
1897
1898
  super(...arguments);
@@ -1900,15 +1901,20 @@ class ClsLoggerWeb extends ClsLoggerCore {
1900
1901
  async loadSdk() {
1901
1902
  if (this.sdk)
1902
1903
  return this.sdk;
1903
- // 优先用 UMD 全局变量(如果存在)
1904
+ // 1) 优先用 UMD 全局变量(如果存在)
1904
1905
  const g = readGlobal('tencentcloudClsSdkJsWeb');
1905
1906
  if (g && g.AsyncClient) {
1906
1907
  this.sdk = this.normalize(g);
1907
1908
  return this.sdk;
1908
1909
  }
1909
- // 否则用静态 import 的
1910
- this.sdk = this.normalize(WebSdk);
1911
- return this.sdk;
1910
+ // 2) 使用静态导入
1911
+ const sdk = this.normalize(tencentcloudClsSdkJsWeb);
1912
+ if (sdk) {
1913
+ this.sdk = sdk;
1914
+ return sdk;
1915
+ }
1916
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-web" not found or invalid. Logging will be disabled.');
1917
+ throw new Error('SDK not found');
1912
1918
  }
1913
1919
  installRequestMonitor(report, options) {
1914
1920
  installWebRequestMonitor(report, options);
package/dist/web.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var WebSdk = require('tencentcloud-cls-sdk-js-web');
5
+ var tencentcloudClsSdkJsWeb = require('tencentcloud-cls-sdk-js-web');
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -21,7 +21,7 @@ function _interopNamespaceDefault(e) {
21
21
  return Object.freeze(n);
22
22
  }
23
23
 
24
- var WebSdk__namespace = /*#__PURE__*/_interopNamespaceDefault(WebSdk);
24
+ var tencentcloudClsSdkJsWeb__namespace = /*#__PURE__*/_interopNamespaceDefault(tencentcloudClsSdkJsWeb);
25
25
 
26
26
  function isPlainObject(value) {
27
27
  return Object.prototype.toString.call(value) === '[object Object]';
@@ -1914,7 +1914,8 @@ function createWebDeviceInfoBaseFields(opts) {
1914
1914
  };
1915
1915
  }
1916
1916
 
1917
- // 静态引用 web sdk
1917
+ // @ts-ignore
1918
+ // 移除动态加载,在 Web 入口直接静态引用以确保稳定性
1918
1919
  class ClsLoggerWeb extends ClsLoggerCore {
1919
1920
  constructor() {
1920
1921
  super(...arguments);
@@ -1923,15 +1924,20 @@ class ClsLoggerWeb extends ClsLoggerCore {
1923
1924
  async loadSdk() {
1924
1925
  if (this.sdk)
1925
1926
  return this.sdk;
1926
- // 优先用 UMD 全局变量(如果存在)
1927
+ // 1) 优先用 UMD 全局变量(如果存在)
1927
1928
  const g = readGlobal('tencentcloudClsSdkJsWeb');
1928
1929
  if (g && g.AsyncClient) {
1929
1930
  this.sdk = this.normalize(g);
1930
1931
  return this.sdk;
1931
1932
  }
1932
- // 否则用静态 import 的
1933
- this.sdk = this.normalize(WebSdk__namespace);
1934
- return this.sdk;
1933
+ // 2) 使用静态导入
1934
+ const sdk = this.normalize(tencentcloudClsSdkJsWeb__namespace);
1935
+ if (sdk) {
1936
+ this.sdk = sdk;
1937
+ return sdk;
1938
+ }
1939
+ console.warn('[ClsLogger] SDK "tencentcloud-cls-sdk-js-web" not found or invalid. Logging will be disabled.');
1940
+ throw new Error('SDK not found');
1935
1941
  }
1936
1942
  installRequestMonitor(report, options) {
1937
1943
  installWebRequestMonitor(report, options);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/cls-logger",
3
- "version": "1.0.8",
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",
@@ -43,22 +43,18 @@
43
43
  "files": [
44
44
  "dist"
45
45
  ],
46
- "dependencies": {},
47
- "devDependencies": {
48
- "tencentcloud-cls-sdk-js-web": "^1.0.11",
49
- "tencentcloud-cls-sdk-js-mini": "^1.0.3"
50
- },
51
- "peerDependencies": {
46
+ "dependencies": {
52
47
  "tencentcloud-cls-sdk-js-web": "^1.0.11",
53
48
  "tencentcloud-cls-sdk-js-mini": "^1.0.3"
54
49
  },
55
- "peerDependenciesMeta": {
56
- "tencentcloud-cls-sdk-js-web": {
57
- "optional": true
58
- },
59
- "tencentcloud-cls-sdk-js-mini": {
60
- "optional": true
61
- }
50
+ "devDependencies": {
51
+ "rimraf": "^5.0.0",
52
+ "rollup": "^4.0.0",
53
+ "@rollup/plugin-node-resolve": "^15.0.0",
54
+ "@rollup/plugin-commonjs": "^25.0.0",
55
+ "@rollup/plugin-typescript": "^11.0.0",
56
+ "@rollup/plugin-json": "^6.0.0",
57
+ "typescript": "^5.0.0"
62
58
  },
63
59
  "publishConfig": {
64
60
  "access": "public"