修复动态require导致的跨平台错误
新增emitter的dispose方法用于清理事件 启用composite增量编译
This commit is contained in:
265
package-lock.json
generated
265
package-lock.json
generated
@@ -529,6 +529,30 @@
|
|||||||
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@cspotcode/source-map-support": {
|
||||||
|
"version": "0.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
||||||
|
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/trace-mapping": "0.3.9"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
|
||||||
|
"version": "0.3.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
||||||
|
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@jridgewell/resolve-uri": "^3.0.3",
|
||||||
|
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@emnapi/core": {
|
"node_modules/@emnapi/core": {
|
||||||
"version": "1.4.5",
|
"version": "1.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz",
|
||||||
@@ -568,15 +592,15 @@
|
|||||||
"resolved": "packages/math",
|
"resolved": "packages/math",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@esengine/ecs-framework-network-client": {
|
"node_modules/@esengine/network-client": {
|
||||||
"resolved": "packages/network-client",
|
"resolved": "packages/network-client",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@esengine/ecs-framework-network-server": {
|
"node_modules/@esengine/network-server": {
|
||||||
"resolved": "packages/network-server",
|
"resolved": "packages/network-server",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
"node_modules/@esengine/ecs-framework-network-shared": {
|
"node_modules/@esengine/network-shared": {
|
||||||
"resolved": "packages/network-shared",
|
"resolved": "packages/network-shared",
|
||||||
"link": true
|
"link": true
|
||||||
},
|
},
|
||||||
@@ -2681,6 +2705,34 @@
|
|||||||
"node": ">= 10"
|
"node": ">= 10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@tsconfig/node10": {
|
||||||
|
"version": "1.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz",
|
||||||
|
"integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@tsconfig/node12": {
|
||||||
|
"version": "1.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
||||||
|
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@tsconfig/node14": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@tsconfig/node16": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@tufjs/canonical-json": {
|
"node_modules/@tufjs/canonical-json": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
|
||||||
@@ -2949,13 +3001,6 @@
|
|||||||
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
|
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/uuid": {
|
|
||||||
"version": "10.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz",
|
|
||||||
"integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/@types/ws": {
|
"node_modules/@types/ws": {
|
||||||
"version": "8.18.1",
|
"version": "8.18.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
||||||
@@ -3188,6 +3233,13 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/arg": {
|
||||||
|
"version": "4.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
||||||
|
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/argparse": {
|
"node_modules/argparse": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||||
@@ -4211,6 +4263,13 @@
|
|||||||
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/create-require": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/cross-spawn": {
|
"node_modules/cross-spawn": {
|
||||||
"version": "7.0.6",
|
"version": "7.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||||
@@ -4454,6 +4513,16 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/diff": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BSD-3-Clause",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/diff-sequences": {
|
"node_modules/diff-sequences": {
|
||||||
"version": "29.6.3",
|
"version": "29.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
|
||||||
@@ -10747,6 +10816,50 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ts-node": {
|
||||||
|
"version": "10.9.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
||||||
|
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@cspotcode/source-map-support": "^0.8.0",
|
||||||
|
"@tsconfig/node10": "^1.0.7",
|
||||||
|
"@tsconfig/node12": "^1.0.7",
|
||||||
|
"@tsconfig/node14": "^1.0.0",
|
||||||
|
"@tsconfig/node16": "^1.0.2",
|
||||||
|
"acorn": "^8.4.1",
|
||||||
|
"acorn-walk": "^8.1.1",
|
||||||
|
"arg": "^4.1.0",
|
||||||
|
"create-require": "^1.1.0",
|
||||||
|
"diff": "^4.0.1",
|
||||||
|
"make-error": "^1.1.1",
|
||||||
|
"v8-compile-cache-lib": "^3.0.1",
|
||||||
|
"yn": "3.1.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"ts-node": "dist/bin.js",
|
||||||
|
"ts-node-cwd": "dist/bin-cwd.js",
|
||||||
|
"ts-node-esm": "dist/bin-esm.js",
|
||||||
|
"ts-node-script": "dist/bin-script.js",
|
||||||
|
"ts-node-transpile-only": "dist/bin-transpile.js",
|
||||||
|
"ts-script": "dist/bin-script-deprecated.js"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@swc/core": ">=1.2.50",
|
||||||
|
"@swc/wasm": ">=1.2.50",
|
||||||
|
"@types/node": "*",
|
||||||
|
"typescript": ">=2.7"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@swc/core": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"@swc/wasm": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/tsconfig-paths": {
|
"node_modules/tsconfig-paths": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
|
||||||
@@ -10960,6 +11073,7 @@
|
|||||||
"version": "10.0.0",
|
"version": "10.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
|
||||||
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
|
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
|
||||||
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
"https://github.com/sponsors/broofa",
|
"https://github.com/sponsors/broofa",
|
||||||
"https://github.com/sponsors/ctavan"
|
"https://github.com/sponsors/ctavan"
|
||||||
@@ -10969,6 +11083,13 @@
|
|||||||
"uuid": "dist/bin/uuid"
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/v8-compile-cache-lib": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/v8-to-istanbul": {
|
"node_modules/v8-to-istanbul": {
|
||||||
"version": "9.3.0",
|
"version": "9.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
|
||||||
@@ -11386,6 +11507,16 @@
|
|||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/yn": {
|
||||||
|
"version": "3.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
||||||
|
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/yocto-queue": {
|
"node_modules/yocto-queue": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||||
@@ -11400,7 +11531,7 @@
|
|||||||
},
|
},
|
||||||
"packages/core": {
|
"packages/core": {
|
||||||
"name": "@esengine/ecs-framework",
|
"name": "@esengine/ecs-framework",
|
||||||
"version": "2.1.35",
|
"version": "2.1.41",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@rollup/plugin-commonjs": "^28.0.3",
|
"@rollup/plugin-commonjs": "^28.0.3",
|
||||||
@@ -11471,90 +11602,60 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/network-client": {
|
"packages/network-client": {
|
||||||
"name": "@esengine/ecs-framework-network-client",
|
"name": "@esengine/network-client",
|
||||||
"version": "1.0.17",
|
"version": "1.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ws": "^8.18.0"
|
"@esengine/ecs-framework": "file:../core",
|
||||||
},
|
"@esengine/network-shared": "file:../network-shared",
|
||||||
"devDependencies": {
|
|
||||||
"@esengine/ecs-framework": "*",
|
|
||||||
"@esengine/ecs-framework-network-shared": "*",
|
|
||||||
"@rollup/plugin-commonjs": "^28.0.3",
|
|
||||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
|
||||||
"@types/jest": "^29.5.14",
|
|
||||||
"@types/node": "^20.19.0",
|
|
||||||
"@types/ws": "^8.5.13",
|
|
||||||
"jest": "^29.7.0",
|
|
||||||
"jest-environment-jsdom": "^29.7.0",
|
|
||||||
"rimraf": "^5.0.0",
|
|
||||||
"rollup": "^4.42.0",
|
|
||||||
"rollup-plugin-dts": "^6.2.1",
|
|
||||||
"ts-jest": "^29.4.0",
|
|
||||||
"typescript": "^5.8.3"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@esengine/ecs-framework": ">=2.1.29",
|
|
||||||
"@esengine/ecs-framework-network-shared": ">=1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/network-server": {
|
|
||||||
"name": "@esengine/ecs-framework-network-server",
|
|
||||||
"version": "1.0.5",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"uuid": "^10.0.0",
|
|
||||||
"ws": "^8.18.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@esengine/ecs-framework": "*",
|
|
||||||
"@esengine/ecs-framework-network-shared": "*",
|
|
||||||
"@rollup/plugin-commonjs": "^28.0.3",
|
|
||||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
|
||||||
"@types/jest": "^29.5.14",
|
|
||||||
"@types/node": "^20.19.0",
|
|
||||||
"@types/uuid": "^10.0.0",
|
|
||||||
"@types/ws": "^8.5.13",
|
|
||||||
"jest": "^29.7.0",
|
|
||||||
"jest-environment-node": "^29.7.0",
|
|
||||||
"rimraf": "^5.0.0",
|
|
||||||
"rollup": "^4.42.0",
|
|
||||||
"rollup-plugin-dts": "^6.2.1",
|
|
||||||
"ts-jest": "^29.4.0",
|
|
||||||
"typescript": "^5.8.3"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@esengine/ecs-framework": ">=2.1.29",
|
|
||||||
"@esengine/ecs-framework-network-shared": ">=1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages/network-shared": {
|
|
||||||
"name": "@esengine/ecs-framework-network-shared",
|
|
||||||
"version": "1.0.15",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"protobufjs": "^7.5.3",
|
|
||||||
"reflect-metadata": "^0.2.2"
|
"reflect-metadata": "^0.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@esengine/ecs-framework": "*",
|
|
||||||
"@rollup/plugin-commonjs": "^28.0.3",
|
|
||||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
|
||||||
"@types/jest": "^29.5.14",
|
"@types/jest": "^29.5.14",
|
||||||
"@types/node": "^20.19.0",
|
"@types/node": "^20.19.0",
|
||||||
"jest": "^29.7.0",
|
"jest": "^29.7.0",
|
||||||
"jest-environment-jsdom": "^29.7.0",
|
"jest-environment-jsdom": "^29.7.0",
|
||||||
"rimraf": "^5.0.0",
|
"rimraf": "^5.0.0",
|
||||||
"rollup": "^4.42.0",
|
|
||||||
"rollup-plugin-dts": "^6.2.1",
|
|
||||||
"ts-jest": "^29.4.0",
|
"ts-jest": "^29.4.0",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"packages/network-server": {
|
||||||
"@esengine/ecs-framework": ">=2.1.29"
|
"name": "@esengine/network-server",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@esengine/ecs-framework": "file:../core",
|
||||||
|
"@esengine/network-shared": "file:../network-shared",
|
||||||
|
"reflect-metadata": "^0.2.2",
|
||||||
|
"ws": "^8.18.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/jest": "^29.5.14",
|
||||||
|
"@types/node": "^20.19.0",
|
||||||
|
"@types/ws": "^8.18.1",
|
||||||
|
"jest": "^29.7.0",
|
||||||
|
"rimraf": "^5.0.0",
|
||||||
|
"ts-jest": "^29.4.0",
|
||||||
|
"ts-node": "^10.9.0",
|
||||||
|
"typescript": "^5.8.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages/network-shared": {
|
||||||
|
"name": "@esengine/network-shared",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@esengine/ecs-framework": "file:../core",
|
||||||
|
"reflect-metadata": "^0.2.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/jest": "^29.5.14",
|
||||||
|
"@types/node": "^20.19.0",
|
||||||
|
"jest": "^29.7.0",
|
||||||
|
"rimraf": "^5.0.0",
|
||||||
|
"ts-jest": "^29.4.0",
|
||||||
|
"typescript": "^5.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ async function main() {
|
|||||||
|
|
||||||
// 执行Rollup构建
|
// 执行Rollup构建
|
||||||
console.log('📦 执行 Rollup 构建...');
|
console.log('📦 执行 Rollup 构建...');
|
||||||
execSync('rollup -c rollup.config.cjs', { stdio: 'inherit' });
|
execSync('npx rollup -c rollup.config.cjs', { stdio: 'inherit' });
|
||||||
|
|
||||||
// 生成package.json
|
// 生成package.json
|
||||||
console.log('📋 生成 package.json...');
|
console.log('📋 生成 package.json...');
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@esengine/ecs-framework",
|
"name": "@esengine/ecs-framework",
|
||||||
"version": "2.1.35",
|
"version": "2.1.41",
|
||||||
"description": "用于Laya、Cocos Creator等JavaScript游戏引擎的高性能ECS框架",
|
"description": "用于Laya、Cocos Creator等JavaScript游戏引擎的高性能ECS框架",
|
||||||
"type": "module",
|
|
||||||
"main": "bin/index.js",
|
"main": "bin/index.js",
|
||||||
"types": "bin/index.d.ts",
|
"types": "bin/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
@@ -30,7 +29,7 @@
|
|||||||
"egret"
|
"egret"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"clean": "rimraf bin dist",
|
"clean": "rimraf bin dist tsconfig.tsbuildinfo",
|
||||||
"build:ts": "tsc",
|
"build:ts": "tsc",
|
||||||
"prebuild": "npm run clean",
|
"prebuild": "npm run clean",
|
||||||
"build": "npm run build:ts",
|
"build": "npm run build:ts",
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { IComponentDebugData } from '../../Types';
|
import { IComponentDebugData } from '../../Types';
|
||||||
import { Core } from '../../Core';
|
import { Core } from '../../Core';
|
||||||
|
import { ComponentPoolManager } from '../../ECS/Core/ComponentPool';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件数据收集器
|
* 组件数据收集器
|
||||||
@@ -49,7 +50,6 @@ export class ComponentDataCollector {
|
|||||||
let poolSizes = new Map<string, number>();
|
let poolSizes = new Map<string, number>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { ComponentPoolManager } = require('../../ECS/Core/ComponentPool');
|
|
||||||
const poolManager = ComponentPoolManager.getInstance();
|
const poolManager = ComponentPoolManager.getInstance();
|
||||||
const poolStats = poolManager.getPoolStats();
|
const poolStats = poolManager.getPoolStats();
|
||||||
const utilizations = poolManager.getPoolUtilization();
|
const utilizations = poolManager.getPoolUtilization();
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import { SceneDataCollector } from './SceneDataCollector';
|
|||||||
import { WebSocketManager } from './WebSocketManager';
|
import { WebSocketManager } from './WebSocketManager';
|
||||||
import { Core } from '../../Core';
|
import { Core } from '../../Core';
|
||||||
import { Component } from '../../ECS/Component';
|
import { Component } from '../../ECS/Component';
|
||||||
|
import { ComponentPoolManager } from '../../ECS/Core/ComponentPool';
|
||||||
|
import { Pool } from '../../Utils/Pool';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 调试管理器
|
* 调试管理器
|
||||||
@@ -639,7 +641,6 @@ export class DebugManager {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// 尝试获取组件池统计
|
// 尝试获取组件池统计
|
||||||
const { ComponentPoolManager } = require('../../ECS/Core/ComponentPool');
|
|
||||||
const poolManager = ComponentPoolManager.getInstance();
|
const poolManager = ComponentPoolManager.getInstance();
|
||||||
const poolStats = poolManager.getPoolStats();
|
const poolStats = poolManager.getPoolStats();
|
||||||
|
|
||||||
@@ -662,8 +663,7 @@ export class DebugManager {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// 尝试获取通用对象池统计
|
// 尝试获取通用对象池统计
|
||||||
const { Pool } = require('../../Utils/Pool');
|
const poolStats = Pool.getAllPoolStats();
|
||||||
const poolStats = Pool.getStats();
|
|
||||||
|
|
||||||
for (const [typeName, stats] of Object.entries(poolStats)) {
|
for (const [typeName, stats] of Object.entries(poolStats)) {
|
||||||
const poolData = stats as {
|
const poolData = stats as {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { IEntityDebugData } from '../../Types';
|
|||||||
import { Core } from '../../Core';
|
import { Core } from '../../Core';
|
||||||
import { Entity } from '../../ECS/Entity';
|
import { Entity } from '../../ECS/Entity';
|
||||||
import { Component } from '../../ECS/Component';
|
import { Component } from '../../ECS/Component';
|
||||||
|
import { ComponentTypeManager } from '../../ECS/Utils/ComponentTypeManager';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实体数据收集器
|
* 实体数据收集器
|
||||||
@@ -712,7 +713,6 @@ export class EntityDataCollector {
|
|||||||
|
|
||||||
if (!typeName || typeName === 'Object' || typeName === 'Function') {
|
if (!typeName || typeName === 'Object' || typeName === 'Function') {
|
||||||
try {
|
try {
|
||||||
const { ComponentTypeManager } = require('../../ECS/Utils/ComponentTypeManager');
|
|
||||||
const typeManager = ComponentTypeManager.instance;
|
const typeManager = ComponentTypeManager.instance;
|
||||||
const componentType = component.constructor as any;
|
const componentType = component.constructor as any;
|
||||||
const typeId = typeManager.getTypeId(componentType);
|
const typeId = typeManager.getTypeId(componentType);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { IPerformanceDebugData } from '../../Types';
|
import { IPerformanceDebugData } from '../../Types';
|
||||||
import { Time } from '../Time';
|
import { Time } from '../Time';
|
||||||
|
import { Core } from '../../Core';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 性能数据收集器
|
* 性能数据收集器
|
||||||
@@ -64,7 +65,6 @@ export class PerformanceDataCollector {
|
|||||||
if (!performanceMonitor) {
|
if (!performanceMonitor) {
|
||||||
// 尝试从Core实例获取性能监视器
|
// 尝试从Core实例获取性能监视器
|
||||||
try {
|
try {
|
||||||
const { Core } = require('../../Core');
|
|
||||||
const coreInstance = Core.Instance;
|
const coreInstance = Core.Instance;
|
||||||
if (coreInstance && (coreInstance as any)._performanceMonitor) {
|
if (coreInstance && (coreInstance as any)._performanceMonitor) {
|
||||||
performanceMonitor = (coreInstance as any)._performanceMonitor;
|
performanceMonitor = (coreInstance as any)._performanceMonitor;
|
||||||
|
|||||||
@@ -78,4 +78,39 @@ export class Emitter<T, TContext = unknown> {
|
|||||||
let list = this._messageTable.get(eventType);
|
let list = this._messageTable.get(eventType);
|
||||||
return list ? list.some(observer => observer.func === handler) : false;
|
return list ? list.some(observer => observer.func === handler) : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 移除指定事件类型的所有监听器
|
||||||
|
* @param eventType 事件类型
|
||||||
|
*/
|
||||||
|
public removeAllObservers(eventType?: T): void {
|
||||||
|
if (eventType !== undefined) {
|
||||||
|
this._messageTable.delete(eventType);
|
||||||
|
} else {
|
||||||
|
this._messageTable.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 释放所有资源,清理所有监听器
|
||||||
|
*/
|
||||||
|
public dispose(): void {
|
||||||
|
this._messageTable.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取事件类型数量
|
||||||
|
*/
|
||||||
|
public getEventTypeCount(): number {
|
||||||
|
return this._messageTable.size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定事件类型的监听器数量
|
||||||
|
* @param eventType 事件类型
|
||||||
|
*/
|
||||||
|
public getObserverCount(eventType: T): number {
|
||||||
|
const list = this._messageTable.get(eventType);
|
||||||
|
return list ? list.length : 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ export type { ILogger, LoggerConfig } from './Utils/Logger';
|
|||||||
// ECS核心组件
|
// ECS核心组件
|
||||||
export * from './ECS';
|
export * from './ECS';
|
||||||
|
|
||||||
|
// 事件系统
|
||||||
|
export { ECSEventType, EventPriority, EVENT_TYPES, EventTypeValidator } from './ECS/CoreEvents';
|
||||||
|
|
||||||
// 工具类和类型定义
|
// 工具类和类型定义
|
||||||
export * from './Utils';
|
export * from './Utils';
|
||||||
export * from './Types';
|
export * from './Types';
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
"outDir": "./bin",
|
"outDir": "./bin",
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
|
"composite": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"allowSyntheticDefaultImports": true,
|
"allowSyntheticDefaultImports": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user