From b549d8235d172b9cf58472b306d81aef581b9a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Piellard?= Date: Mon, 27 May 2024 12:22:02 +0200 Subject: [PATCH 1/2] refactor: don't import "three" directly --- .../patch/patch-factory/merged/gpu/patch-computer-gpu.ts | 3 +-- .../patch/patch-factory/split/gpu/patch-computer-gpu.ts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/terrain/patch/patch-factory/merged/gpu/patch-computer-gpu.ts b/src/lib/terrain/patch/patch-factory/merged/gpu/patch-computer-gpu.ts index 2d12922..6376cb5 100644 --- a/src/lib/terrain/patch/patch-factory/merged/gpu/patch-computer-gpu.ts +++ b/src/lib/terrain/patch/patch-factory/merged/gpu/patch-computer-gpu.ts @@ -1,7 +1,6 @@ /// -import * as THREE from 'three'; - +import * as THREE from '../../../../../three-usage'; import { logger } from '../../../../../helpers/logger'; import { getGpuDevice } from '../../../../../helpers/webgpu/webgpu-device'; import * as Cube from '../../cube'; diff --git a/src/lib/terrain/patch/patch-factory/split/gpu/patch-computer-gpu.ts b/src/lib/terrain/patch/patch-factory/split/gpu/patch-computer-gpu.ts index 63eabfe..b02ed92 100644 --- a/src/lib/terrain/patch/patch-factory/split/gpu/patch-computer-gpu.ts +++ b/src/lib/terrain/patch/patch-factory/split/gpu/patch-computer-gpu.ts @@ -1,7 +1,6 @@ /// -import * as THREE from 'three'; - +import * as THREE from '../../../../../three-usage'; import { logger } from '../../../../../helpers/logger'; import { getGpuDevice } from '../../../../../helpers/webgpu/webgpu-device'; import * as Cube from '../../cube'; From b1ccfdff02aba7fee684f46a653d599b41f11fc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Piellard?= Date: Mon, 27 May 2024 12:29:08 +0200 Subject: [PATCH 2/2] feat: move "three" to peerDependencies This is an attempt to fix the "Multiple instances of Three.js in same page" error in aresrpg-dapp which uses its own THREEjs and aresrpg-engine. --- package-lock.json | 10 ++++++---- package.json | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 011d1bf..a3d84a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,9 +7,6 @@ "": { "name": "@aresrpg/aresrpg-engine", "version": "1.6.1", - "dependencies": { - "three": "^0.163.0" - }, "devDependencies": { "@types/three": "^0.163.0", "@typescript-eslint/eslint-plugin": "^7.5.0", @@ -26,10 +23,14 @@ "prettier": "^3.2.5", "shx": "^0.3.4", "simplex-noise": "^4.0.1", + "three": "^0.163.0", "ts-loader": "^9.5.1", "typescript": "^5.4.4", "webpack": "^5.91.0", "webpack-cli": "^5.1.4" + }, + "peerDependencies": { + "three": ">= 0.163.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4758,7 +4759,8 @@ "node_modules/three": { "version": "0.163.0", "resolved": "https://registry.npmjs.org/three/-/three-0.163.0.tgz", - "integrity": "sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==" + "integrity": "sha512-HlMgCb2TF/dTLRtknBnjUTsR8FsDqBY43itYop2+Zg822I+Kd0Ua2vs8CvfBVefXkBdNDrLMoRTGCIIpfCuDew==", + "dev": true }, "node_modules/to-regex-range": { "version": "5.0.1", diff --git a/package.json b/package.json index 0255788..e7d7dec 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "publishConfig": { "access": "public" }, - "dependencies": { - "three": "^0.163.0" + "peerDependencies": { + "three": ">=0.163.0" }, "devDependencies": { "@types/three": "^0.163.0", @@ -37,6 +37,7 @@ "prettier": "^3.2.5", "shx": "^0.3.4", "simplex-noise": "^4.0.1", + "three": "^0.163.0", "ts-loader": "^9.5.1", "typescript": "^5.4.4", "webpack": "^5.91.0",