xshell 1.3.67 → 1.3.70

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xshell",
3
- "version": "1.3.67",
3
+ "version": "1.3.70",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "bin": {
@@ -48,59 +48,59 @@
48
48
  ]
49
49
  },
50
50
  "dependencies": {
51
- "@babel/core": "^7.29.0",
52
- "@babel/parser": "^7.29.3",
53
- "@babel/traverse": "^7.29.0",
51
+ "@babel/core": "^7.29.7",
52
+ "@babel/parser": "^7.29.7",
53
+ "@babel/traverse": "^7.29.7",
54
54
  "@koa/cors": "^5.0.0",
55
55
  "@stylistic/eslint-plugin": "^5.10.0",
56
56
  "@svgr/webpack": "^8.1.0",
57
57
  "@types/sass-loader": "^8.0.10",
58
- "@typescript-eslint/eslint-plugin": "^8.59.3",
59
- "@typescript-eslint/parser": "^8.59.3",
60
- "@typescript-eslint/utils": "^8.59.3",
58
+ "@typescript-eslint/eslint-plugin": "^8.60.1",
59
+ "@typescript-eslint/parser": "^8.60.1",
60
+ "@typescript-eslint/utils": "^8.60.1",
61
61
  "archiver": "^8.0.0",
62
62
  "chalk": "^5.6.2",
63
- "commander": "^14.0.3",
63
+ "commander": "^15.0.0",
64
64
  "css-loader": "^7.1.4",
65
65
  "emoji-regex": "^10.6.0",
66
- "eslint": "^10.4.0",
66
+ "eslint": "^10.4.1",
67
67
  "eslint-plugin-react": "^7.37.5",
68
68
  "https-proxy-agent": "^9.0.0",
69
69
  "i18next": "25.8.1",
70
70
  "i18next-scanner": "^4.6.0",
71
- "koa": "^3.2.0",
71
+ "koa": "^3.2.1",
72
72
  "koa-compress": "^5.2.1",
73
73
  "license-webpack-plugin": "^4.0.2",
74
74
  "mime-types": "^3.0.2",
75
75
  "p-map": "^7.0.4",
76
- "react": "^19.2.6",
76
+ "react": "^19.2.7",
77
77
  "react-i18next": "^17.0.8",
78
78
  "resolve-path": "^1.4.0",
79
- "sass": "^1.99.0",
80
- "sass-loader": "^16.0.8",
79
+ "sass": "^1.100.0",
80
+ "sass-loader": "^17.0.0",
81
81
  "source-map-loader": "^5.0.0",
82
82
  "strip-ansi": "^7.2.0",
83
83
  "style-loader": "^4.0.0",
84
84
  "tough-cookie": "^6.0.1",
85
- "ts-loader": "^9.5.7",
85
+ "ts-loader": "^9.6.0",
86
86
  "tslib": "^2.8.1",
87
87
  "typescript": "^6.0.3",
88
88
  "undici": "^8.3.0",
89
- "webpack": "^5.106.2",
89
+ "webpack": "^5.107.2",
90
90
  "webpack-bundle-analyzer": "^5.3.0",
91
- "ws": "^8.20.1"
91
+ "ws": "^8.21.0"
92
92
  },
93
93
  "devDependencies": {
94
- "@babel/types": "^7.29.0",
94
+ "@babel/types": "^7.29.7",
95
95
  "@types/archiver": "^7.0.0",
96
96
  "@types/babel__traverse": "^7.28.0",
97
97
  "@types/eslint": "^9.6.1",
98
98
  "@types/estree": "^1.0.9",
99
- "@types/koa": "^3.0.2",
99
+ "@types/koa": "^3.0.3",
100
100
  "@types/koa-compress": "^4.0.7",
101
101
  "@types/mime-types": "^3.0.1",
102
- "@types/node": "^25.8.0",
103
- "@types/react": "^19.2.14",
102
+ "@types/node": "^25.9.1",
103
+ "@types/react": "^19.2.16",
104
104
  "@types/tough-cookie": "^4.0.5",
105
105
  "@types/vscode": "^1.120.0",
106
106
  "@types/webpack-bundle-analyzer": "^4.7.0",
@@ -1 +1 @@
1
- declare function define(proto: any, key: string, func: Function): void;
1
+ export {};
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  function define(proto, key, func) {
3
2
  Object.defineProperty(proto, key, {
4
3
  configurable: true,
@@ -62,4 +61,5 @@ if (!Uint8Array.fromBase64)
62
61
  bytes[i] = binary.charCodeAt(i);
63
62
  return bytes;
64
63
  });
64
+ export {};
65
65
  //# sourceMappingURL=polyfill.browser.js.map
package/tsconfig.json CHANGED
@@ -10,6 +10,8 @@
10
10
  "allowSyntheticDefaultImports": true,
11
11
  "resolveJsonModule": true,
12
12
  "isolatedModules": true,
13
+ // files without `import` or `export` are treated as modules.
14
+ "moduleDetection": "force",
13
15
 
14
16
  // --- build
15
17
  "target": "esnext",
package/utils.common.d.ts CHANGED
@@ -192,6 +192,7 @@ export declare function to_csv_field(str: string): string;
192
192
  export declare function set_error_message(error: Error, message: string): Error;
193
193
  /** 比较两个数组中的元素完全相同,数组元素用引用比较 */
194
194
  export declare function array_equals(a: any[], b: any[]): boolean;
195
+ export declare function deep_equals(a: any, b: any): boolean;
195
196
  /** - with_date?: `false` */
196
197
  export declare function nowstr(with_date?: boolean): string;
197
198
  export declare function has_chinese(str: string): boolean;
package/utils.common.js CHANGED
@@ -648,6 +648,24 @@ export function array_equals(a, b) {
648
648
  return false;
649
649
  return a.every((x, i) => x === b[i]);
650
650
  }
651
+ export function deep_equals(a, b) {
652
+ if (a === b)
653
+ return true;
654
+ // 如果任一不是对象、或是 null,则不等(因为基本类型已在上面处理)
655
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null)
656
+ return false;
657
+ const keys_a = Object.keys(a);
658
+ const keys_b = Object.keys(b);
659
+ if (keys_a.length !== keys_b.length)
660
+ return false;
661
+ for (const key of keys_a) {
662
+ if (!(key in b))
663
+ return false;
664
+ if (!deep_equals(a[key], b[key]))
665
+ return false;
666
+ }
667
+ return true;
668
+ }
651
669
  /** - with_date?: `false` */
652
670
  export function nowstr(with_date = false) {
653
671
  const date = new Date();