From 9ca5d49f56890110b5bfa300188f64f9064e39d2 Mon Sep 17 00:00:00 2001
From: ethan <zhufeng_solo@163.com>
Date: Tue, 22 Aug 2023 20:07:59 +0800
Subject: [PATCH] Enhancing TypeScript Type Checking

---
 .eslintrc.js                          | 10 +++-------
 src/arrow/assault-direction.ts        |  1 +
 src/arrow/attack-arrow.ts             |  1 +
 src/arrow/curved-arrow.ts             |  1 +
 src/arrow/double-arrow.ts             |  1 +
 src/arrow/fine-arrow.ts               |  1 +
 src/arrow/squad-combat.ts             |  1 +
 src/arrow/straight-arrow.ts           |  1 +
 src/arrow/swallowtail-attack-arrow.ts |  1 +
 src/arrow/swallowtail-squad-combat.ts |  1 +
 src/base.ts                           |  1 +
 src/line/freehand-line.ts             |  1 +
 src/polygon/freehand-polygon.ts       |  1 +
 tsconfig.json                         |  8 ++++++--
 tsconfig.node.json                    |  5 ++++-
 15 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/.eslintrc.js b/.eslintrc.js
index a1f6550..3f90fed 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,12 +1,8 @@
 module.exports = {
   root: true,
   env: { browser: true, es2020: true },
-  extends: [
-    'eslint:recommended',
-    'plugin:@typescript-eslint/recommended',
-  ],
+  extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
   ignorePatterns: ['dist', '.eslintrc.cjs'],
   parser: '@typescript-eslint/parser',
-  rules: {
-  },
-}
+  rules: {},
+};
diff --git a/src/arrow/assault-direction.ts b/src/arrow/assault-direction.ts
index 16b26af..cb53b55 100644
--- a/src/arrow/assault-direction.ts
+++ b/src/arrow/assault-direction.ts
@@ -1,5 +1,6 @@
 import FineArrow from './fine-arrow';
 import * as Utils from '../utils';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/attack-arrow.ts b/src/arrow/attack-arrow.ts
index 55a456b..2c4dbf0 100644
--- a/src/arrow/attack-arrow.ts
+++ b/src/arrow/attack-arrow.ts
@@ -1,5 +1,6 @@
 import Base from '../base';
 import * as Utils from '../utils';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/curved-arrow.ts b/src/arrow/curved-arrow.ts
index 99dea1a..4d272d2 100644
--- a/src/arrow/curved-arrow.ts
+++ b/src/arrow/curved-arrow.ts
@@ -1,5 +1,6 @@
 import * as Utils from '../utils';
 import Base from '../base';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/double-arrow.ts b/src/arrow/double-arrow.ts
index 4f4cea6..8c96c2a 100644
--- a/src/arrow/double-arrow.ts
+++ b/src/arrow/double-arrow.ts
@@ -1,5 +1,6 @@
 import Base from '../base';
 import * as Utils from '../utils';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 type Position = [number, number];
diff --git a/src/arrow/fine-arrow.ts b/src/arrow/fine-arrow.ts
index fb7c8a4..f53b4dc 100644
--- a/src/arrow/fine-arrow.ts
+++ b/src/arrow/fine-arrow.ts
@@ -1,5 +1,6 @@
 import Base from '../base';
 import * as Utils from '../utils';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/squad-combat.ts b/src/arrow/squad-combat.ts
index 23b1751..0c49632 100644
--- a/src/arrow/squad-combat.ts
+++ b/src/arrow/squad-combat.ts
@@ -1,5 +1,6 @@
 import * as Utils from '../utils';
 import AttackArrow from './attack-arrow';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/straight-arrow.ts b/src/arrow/straight-arrow.ts
index 358c173..8927252 100644
--- a/src/arrow/straight-arrow.ts
+++ b/src/arrow/straight-arrow.ts
@@ -1,5 +1,6 @@
 import * as Utils from '../utils';
 import Base from '../base';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/swallowtail-attack-arrow.ts b/src/arrow/swallowtail-attack-arrow.ts
index cd3c640..0546535 100644
--- a/src/arrow/swallowtail-attack-arrow.ts
+++ b/src/arrow/swallowtail-attack-arrow.ts
@@ -1,5 +1,6 @@
 import * as Utils from '../utils';
 import AttackArrow from './attack-arrow';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/arrow/swallowtail-squad-combat.ts b/src/arrow/swallowtail-squad-combat.ts
index e9a1331..847a696 100644
--- a/src/arrow/swallowtail-squad-combat.ts
+++ b/src/arrow/swallowtail-squad-combat.ts
@@ -1,5 +1,6 @@
 import * as Utils from '../utils';
 import SquadCombat from './squad-combat';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/base.ts b/src/base.ts
index 3178204..57defd9 100644
--- a/src/base.ts
+++ b/src/base.ts
@@ -1,3 +1,4 @@
+// @ts-ignore
 import * as CesiumTypeOnly from '@examples/cesium';
 import { State, GeometryStyle, PolygonStyle, LineStyle } from './interface';
 
diff --git a/src/line/freehand-line.ts b/src/line/freehand-line.ts
index 51b0215..966ecd2 100644
--- a/src/line/freehand-line.ts
+++ b/src/line/freehand-line.ts
@@ -1,4 +1,5 @@
 import Base from '../base';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/src/polygon/freehand-polygon.ts b/src/polygon/freehand-polygon.ts
index a960fa7..6262be8 100644
--- a/src/polygon/freehand-polygon.ts
+++ b/src/polygon/freehand-polygon.ts
@@ -1,4 +1,5 @@
 import Base from '../base';
+// @ts-ignore
 import { Cartesian3 } from '@examples/cesium';
 import { PolygonStyle } from '../interface';
 
diff --git a/tsconfig.json b/tsconfig.json
index 4a03404..9cdd839 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -18,8 +18,12 @@
     "strict": true,
     "noUnusedLocals": true,
     "noUnusedParameters": true,
-    "noFallthroughCasesInSwitch": true
+    "noFallthroughCasesInSwitch": true,
+    "paths": {
+      "@examples/*": ["./examples/*"]
+    },
   },
   // "include": ["src", "examples"],
-  "references": [{ "path": "./tsconfig.node.json" }]
+  "references": [{ "path": "./tsconfig.node.json" }],
+  "exclude": ["node_modules", "./examples/cesium/*", "@examples/cesium/*"]
 }
diff --git a/tsconfig.node.json b/tsconfig.node.json
index 42872c5..4e32cfc 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -4,7 +4,10 @@
     "skipLibCheck": true,
     "module": "ESNext",
     "moduleResolution": "bundler",
-    "allowSyntheticDefaultImports": true
+    "allowSyntheticDefaultImports": true,
+    "paths": {
+      "@examples/*": ["./examples/*"]
+    }
   },
   "include": ["vite.config.ts"]
 }