diff --git a/examples/viewer/web-ifc-viewer.ts b/examples/viewer/web-ifc-viewer.ts index 9ffb8262..355cbe3f 100644 --- a/examples/viewer/web-ifc-viewer.ts +++ b/examples/viewer/web-ifc-viewer.ts @@ -8,7 +8,7 @@ import * as ts from "typescript"; import { exampleCode } from './example'; let ifcAPI = new IfcAPI(); -ifcAPI.SetWasmPath("./",true) +ifcAPI.SetWasmPath("./") let ifcThree = new IfcThree(ifcAPI); let timeout = undefined; diff --git a/package-lock.json b/package-lock.json index 45283226..d9af843c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "web-ifc", - "version": "0.0.64", + "version": "0.0.65", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "web-ifc", - "version": "0.0.64", + "version": "0.0.65", "devDependencies": { "@types/jest": "^27.5.2", - "@types/three": "^0.169.0", + "@types/three": "^0.170.0", "adm-zip": "^0.5.10", "cpy-cli": "^5.0.0", "esbuild": "^0.24.0", @@ -1715,9 +1715,9 @@ "license": "MIT" }, "node_modules/@types/three": { - "version": "0.169.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", - "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.170.0.tgz", + "integrity": "sha512-CUm2uckq+zkCY7ZbFpviRttY+6f9fvwm6YqSqPfA5K22s9w7R4VnA3rzJse8kHVvuzLcTx+CjNCs2NYe0QFAyg==", "dev": true, "dependencies": { "@tweenjs/tween.js": "~23.1.3", @@ -1771,9 +1771,9 @@ "dev": true }, "node_modules/@webgpu/types": { - "version": "0.1.49", - "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", - "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", + "version": "0.1.51", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.51.tgz", + "integrity": "sha512-ktR3u64NPjwIViNCck+z9QeyN0iPkQCUOQ07ZCV1RzlkfP+olLTeEZ95O1QHS+v4w9vJeY9xj/uJuSphsHy5rQ==", "dev": true }, "node_modules/abab": { @@ -2309,9 +2309,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001677", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz", - "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "dev": true, "funding": [ { @@ -5867,9 +5867,9 @@ } }, "node_modules/micromark-util-character": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", - "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", "dev": true, "funding": [ { @@ -5924,9 +5924,9 @@ } }, "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index 609ea108..bdc35f71 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "web-ifc", - "version": "0.0.64", + "version": "0.0.65", "description": "ifc loading on the web", "module": "./web-ifc-api.js", "main": "./web-ifc-api-node.js", @@ -62,7 +62,7 @@ ], "devDependencies": { "@types/jest": "^27.5.2", - "@types/three": "^0.169.0", + "@types/three": "^0.170.0", "adm-zip": "^0.5.10", "cpy-cli": "^5.0.0", "esbuild": "^0.24.0", diff --git a/src/cpp/version.h b/src/cpp/version.h index 4604ecc0..5235ed04 100644 --- a/src/cpp/version.h +++ b/src/cpp/version.h @@ -2,4 +2,4 @@ #pragma once #include -const std::string_view WEB_IFC_VERSION_NUMBER = "0.0.64"; +const std::string_view WEB_IFC_VERSION_NUMBER = "0.0.65"; diff --git a/src/ts/web-ifc-api.ts b/src/ts/web-ifc-api.ts index e371f317..778b3aeb 100644 --- a/src/ts/web-ifc-api.ts +++ b/src/ts/web-ifc-api.ts @@ -26,7 +26,11 @@ declare var __WASM_PATH__:string; let WebIFCWasm: any; - +let currentScriptPath: string; +if (typeof document !== 'undefined') { + const currentScriptData = (document.currentScript as HTMLScriptElement); + currentScriptPath = currentScriptData.src.substring(0, currentScriptData.src.lastIndexOf("/") + 1) ; +} export * from "./ifc-schema"; import { Properties } from "./helpers/properties"; @@ -193,10 +197,10 @@ export class IfcAPI { return this.wasmPath + path; } - return prefix + this.wasmPath + path; + return (currentScriptPath !== undefined ? currentScriptPath : prefix) + this.wasmPath + path; } // otherwise use the default path - return prefix + path; + return (currentScriptPath !== undefined ? currentScriptPath : prefix) + path; } //@ts-ignore diff --git a/yarn.lock b/yarn.lock index 97a378d5..be664447 100644 --- a/yarn.lock +++ b/yarn.lock @@ -750,10 +750,10 @@ resolved "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz" integrity sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ== -"@types/three@^0.169.0": - version "0.169.0" - resolved "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz" - integrity sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw== +"@types/three@^0.170.0": + version "0.170.0" + resolved "https://registry.npmjs.org/@types/three/-/three-0.170.0.tgz" + integrity sha512-CUm2uckq+zkCY7ZbFpviRttY+6f9fvwm6YqSqPfA5K22s9w7R4VnA3rzJse8kHVvuzLcTx+CjNCs2NYe0QFAyg== dependencies: "@tweenjs/tween.js" "~23.1.3" "@types/stats.js" "*" @@ -795,9 +795,9 @@ integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== "@webgpu/types@*": - version "0.1.49" - resolved "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz" - integrity sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ== + version "0.1.51" + resolved "https://registry.npmjs.org/@webgpu/types/-/types-0.1.51.tgz" + integrity sha512-ktR3u64NPjwIViNCck+z9QeyN0iPkQCUOQ07ZCV1RzlkfP+olLTeEZ95O1QHS+v4w9vJeY9xj/uJuSphsHy5rQ== abab@^2.0.3, abab@^2.0.5: version "2.0.6" @@ -1147,9 +1147,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001669: - version "1.0.30001677" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz" - integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== + version "1.0.30001680" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz" + integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== ccount@^2.0.0: version "2.0.1" @@ -3174,9 +3174,9 @@ methods@~1.1.0: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-util-character@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + version "2.1.1" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" @@ -3196,9 +3196,9 @@ micromark-util-sanitize-uri@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + version "2.0.1" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^2.0.0: version "2.0.0"