瀏覽代碼

feat: tree-shaking semver

Acathur 4 年之前
父節點
當前提交
410d3ed273
共有 10 個文件被更改,包括 65 次插入7 次删除
  1. 2 1
      dist/bridge/index.d.ts
  2. 2 2
      dist/bridge/index.js
  3. 1 0
      dist/index.d.ts
  4. 1 0
      dist/index.js
  5. 12 0
      dist/utils/semver.d.ts
  6. 19 0
      dist/utils/semver.js
  7. 1 1
      package.json
  8. 3 3
      src/bridge/index.ts
  9. 1 0
      src/index.ts
  10. 23 0
      src/utils/semver.ts

+ 2 - 1
dist/bridge/index.d.ts

@@ -1,3 +1,4 @@
+import { SemverComparator } from '../utils/semver';
 import { Notifier, SyncCookiesOptions } from '../types/global';
 declare class ProginnBridge {
     root: any;
@@ -25,7 +26,7 @@ declare class ProginnBridge {
     open(url: string, title?: string): void;
     login(): void;
     checkLogin(force?: boolean): boolean;
-    compareAppVersion(operator: 'gt' | 'lt' | 'gte' | 'lte' | 'eq' | 'neq', version: string): any;
+    compareAppVersion(operator: SemverComparator, version: string): any;
     syncCookies(opts?: SyncCookiesOptions): void;
     cacheCookiesInStorage(): void;
     loadCookiesInStorage(opts?: SyncCookiesOptions): void;

+ 2 - 2
dist/bridge/index.js

@@ -1,5 +1,5 @@
 import cookies from 'js-cookie';
-import semver from 'semver';
+import { semver } from '../utils/semver';
 import { COOKIE_ROOT_DOMAIN, COOKIE_APP_KEY, COOKIE_APP_EXTRA_KEY, COOKIE_ACCESS_TOKEN_KEY, MSG_REQUIRE_LOGIN, APP_INJECT_COOKIE_KEYS, DEF_SYNCED_COOKIE_EXP } from './constant';
 const setupWebViewJavascriptBridge = (callback) => {
     if (window.WebViewJavascriptBridge) {
@@ -173,7 +173,7 @@ class ProginnBridge {
         return true;
     }
     compareAppVersion(operator, version) {
-        return this.appVersion ? semver[operator](this.appVersion, version) : false;
+        return this.appVersion ? semver.compare(operator, this.appVersion, version) : false;
     }
     syncCookies(opts) {
         opts = opts || {};

+ 1 - 0
dist/index.d.ts

@@ -2,3 +2,4 @@ export { default as ProginnBridge } from './bridge/index';
 export { default as ProginnRequest } from './request/index';
 export { convertDate } from './utils/converter';
 export { formatTime } from './utils/formatter';
+export { semver } from './utils/semver';

+ 1 - 0
dist/index.js

@@ -2,3 +2,4 @@ export { default as ProginnBridge } from './bridge/index';
 export { default as ProginnRequest } from './request/index';
 export { convertDate } from './utils/converter';
 export { formatTime } from './utils/formatter';
+export { semver } from './utils/semver';

+ 12 - 0
dist/utils/semver.d.ts

@@ -0,0 +1,12 @@
+export declare type SemverComparator = 'gt' | 'lt' | 'eq' | 'neq' | 'gte' | 'lte';
+export declare class semver {
+    static comparator: {
+        gt: any;
+        lt: any;
+        eq: any;
+        neq: any;
+        gte: any;
+        lte: any;
+    };
+    static compare(comparator: SemverComparator, v1: string, v2: string): any;
+}

+ 19 - 0
dist/utils/semver.js

@@ -0,0 +1,19 @@
+import gt from 'semver/functions/gt';
+import lt from 'semver/functions/lt';
+import eq from 'semver/functions/eq';
+import neq from 'semver/functions/neq';
+import gte from 'semver/functions/gte';
+import lte from 'semver/functions/lte';
+export class semver {
+    static compare(comparator, v1, v2) {
+        return this.comparator[comparator](v1, v2);
+    }
+}
+semver.comparator = {
+    gt,
+    lt,
+    eq,
+    neq,
+    gte,
+    lte,
+};

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "proginn-lib",
-  "version": "0.4.3",
+  "version": "0.4.4",
   "description": "Proginn front-end common library.",
   "main": "dist/index.js",
   "module": "dist/index.js",

+ 3 - 3
src/bridge/index.ts

@@ -1,5 +1,5 @@
 import cookies from 'js-cookie'
-import semver from 'semver'
+import { semver, SemverComparator } from '../utils/semver'
 import { COOKIE_ROOT_DOMAIN, COOKIE_APP_KEY, COOKIE_APP_EXTRA_KEY, COOKIE_ACCESS_TOKEN_KEY, MSG_REQUIRE_LOGIN, APP_INJECT_COOKIE_KEYS, DEF_SYNCED_COOKIE_EXP } from './constant'
 import { Notifier, SyncCookiesOptions } from '../types/global'
 
@@ -212,8 +212,8 @@ class ProginnBridge {
     return true
   }
 
-  compareAppVersion(operator: 'gt' | 'lt' | 'gte' | 'lte' | 'eq' | 'neq', version: string) {
-    return this.appVersion ? semver[operator](this.appVersion, version) : false
+  compareAppVersion(operator: SemverComparator, version: string) {
+    return this.appVersion ? semver.compare(operator, this.appVersion, version) : false
   }
 
   syncCookies(opts?: SyncCookiesOptions) {

+ 1 - 0
src/index.ts

@@ -3,3 +3,4 @@ export { default as ProginnRequest } from './request/index'
 
 export { convertDate } from './utils/converter'
 export { formatTime } from './utils/formatter'
+export { semver } from './utils/semver'

+ 23 - 0
src/utils/semver.ts

@@ -0,0 +1,23 @@
+import gt from 'semver/functions/gt'
+import lt from 'semver/functions/lt'
+import eq from 'semver/functions/eq'
+import neq from 'semver/functions/neq'
+import gte from 'semver/functions/gte'
+import lte from 'semver/functions/lte'
+
+export type SemverComparator = 'gt'| 'lt'| 'eq'| 'neq'| 'gte'| 'lte'
+
+export class semver {
+  static comparator = {
+    gt,
+    lt,
+    eq,
+    neq,
+    gte,
+    lte,
+  }
+
+  static compare(comparator: SemverComparator, v1: string, v2: string) {
+    return this.comparator[comparator](v1, v2)
+  }
+}