Forráskód Böngészése

Add typescript testing

Garrett Johnson 5 éve
szülő
commit
abe0374b0b

+ 6 - 0
package-lock.json

@@ -13040,6 +13040,12 @@
         "is-typedarray": "^1.0.0"
       }
     },
+    "typescript": {
+      "version": "3.8.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
+      "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
+      "dev": true
+    },
     "uncss": {
       "version": "0.17.3",
       "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz",

+ 3 - 2
package.json

@@ -17,7 +17,7 @@
   "main": "src/index.js",
   "scripts": {
     "start": "concurrently \"parcel watch example/index.html --out-dir ./example/bundle/ --public-url . --no-cache\" \"static-server\"",
-    "lint": "eslint src/**",
+    "lint": "eslint src/**.js && tsc -p tsconfig.json --noEmit",
     "test": "jest"
   },
   "browserslist": [
@@ -41,7 +41,8 @@
     "jest-cli": "^25.4.0",
     "parcel-bundler": "^1.12.4",
     "static-server": "^2.2.1",
-    "three": ">=0.114.0"
+    "three": ">=0.114.0",
+    "typescript": "^3.7.4"
   },
   "peerDependencies": {
     "three": ">=0.114.0"

+ 3 - 3
src/base/B3DMLoaderBase.d.ts

@@ -1,4 +1,4 @@
-export interface B3DMResult {
+export interface B3DMBaseResult {
 
 	version : String;
 	featureTable: Object;
@@ -9,7 +9,7 @@ export interface B3DMResult {
 
 export class B3DMLoaderBase {
 
-	load( url : string ) : Promise< B3DMResult >;
-	parse( buffer : ArrayBuffer ) : B3DMResult;
+	load( url : string ) : Promise< B3DMBaseResult >;
+	parse( buffer : ArrayBuffer ) : B3DMBaseResult;
 
 }

+ 3 - 3
src/three/B3DMLoader.d.ts

@@ -1,14 +1,14 @@
-import { B3MLoaderBase } from '../base/B3DMLoaderBase';
+import { B3DMLoaderBase, B3DMBaseResult } from '../base/B3DMLoaderBase';
 import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader';
 
-export interface B3DMResult extends GLTF {
+export interface B3DMResult extends GLTF, B3DMBaseResult {
 
 	batchTable : Object;
 	featureTable : Object;
 
 }
 
-export class B3DMLoader extends B3MLoaderBase {
+export class B3DMLoader extends B3DMLoaderBase {
 
 	load( url : String ) : Promise< B3DMResult >;
 	parse( buffer : ArrayBuffer ) : B3DMResult;

+ 1 - 1
src/three/TilesGroup.d.ts

@@ -1,5 +1,5 @@
 import { Group } from 'three';
-import { TilesRenderer } from '../TilesRenderer';
+import { TilesRenderer } from './TilesRenderer';
 
 export class TilesGroup extends Group {
 

+ 1 - 1
src/three/TilesRenderer.d.ts

@@ -2,7 +2,7 @@ import { Box3, Camera, Vector2, WebGLRenderer } from 'three';
 import { TilesRendererBase } from '../base/TilesRendererBase';
 import { TilesGroup } from './TilesGroup';
 
-class TilesRenderer extends TilesRendererBase {
+export class TilesRenderer extends TilesRendererBase {
 
 	group : TilesGroup;
 

+ 1 - 1
src/utilities/LRUCache.d.ts

@@ -13,6 +13,6 @@ export class LRUCache {
 	markAllUnused() : void;
 
 	unloadUnusedContent() : void;
-	scheduleUnload( markAllUnused : Boolean = true );
+	scheduleUnload( markAllUnused : Boolean );
 
 }

+ 13 - 0
tsconfig.json

@@ -0,0 +1,13 @@
+{
+    "compilerOptions": {
+        "lib": [
+            "dom",
+            "es2015"
+        ],
+        "moduleResolution": "node",
+        "types": []
+    },
+    "files": [
+        "src/index.d.ts"
+    ]
+}