diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..c1a36cb --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,77 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + env: { + node: true, + browser: true, + es2020: true + }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended' + ], + overrides: [ + ], + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module' + }, + plugins: [ + '@typescript-eslint' + ], + ignorePatterns: [ + '**/{node_modules,dist,lib,out,bin}', + '**/generated/**/*', + '.eslintrc.js' + ], + rules: { + // List of [ESLint rules](https://eslint.org/docs/rules/) + 'arrow-parens': ['off', 'as-needed'], // do not force arrow function parentheses + 'constructor-super': 'error', // checks the correct use of super() in sub-classes + 'dot-notation': 'error', // obj.a instead of obj['a'] when possible + 'eqeqeq': 'error', // ban '==', don't use 'smart' option! + 'guard-for-in': 'error', // needs obj.hasOwnProperty(key) checks + 'new-parens': 'error', // new Error() instead of new Error + 'no-bitwise': 'error', // bitwise operators &, | can be confused with &&, || + 'no-caller': 'error', // ECMAScript deprecated arguments.caller and arguments.callee + 'no-cond-assign': 'error', // assignments if (a = '1') are error-prone + 'no-debugger': 'error', // disallow debugger; statements + 'no-eval': 'error', // eval is considered unsafe + 'no-inner-declarations': 'off', // we need to have 'namespace' functions when using TS 'export =' + 'no-labels': 'error', // GOTO is only used in BASIC ;) + 'no-multiple-empty-lines': ['error', { 'max': 1 }], // two or more empty lines need to be fused to one + 'no-new-wrappers': 'error', // there is no reason to wrap primitve values + 'no-throw-literal': 'error', // only throw Error but no objects {} + 'no-trailing-spaces': 'error', // trim end of lines + 'no-unsafe-finally': 'error', // safe try/catch/finally behavior + 'no-var': 'error', // use const and let instead of var + 'space-before-function-paren': ['error', { // space in function decl: f() vs async () => {} + 'anonymous': 'never', + 'asyncArrow': 'always', + 'named': 'never' + }], + 'semi': [2, 'always'], // Always use semicolons at end of statement + 'quotes': [2, 'single', { 'avoidEscape': true }], // Prefer single quotes + 'use-isnan': 'error', // isNaN(i) Number.isNaN(i) instead of i === NaN + // List of [@typescript-eslint rules](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#supported-rules) + '@typescript-eslint/adjacent-overload-signatures': 'error', // grouping same method names + '@typescript-eslint/array-type': ['error', { // string[] instead of Array + 'default': 'array-simple' + }], + '@typescript-eslint/ban-types': 'error', // bans types like String in favor of string + '@typescript-eslint/indent': 'error', // consistent indentation + '@typescript-eslint/no-explicit-any': 'error', // don't use :any type + '@typescript-eslint/no-misused-new': 'error', // no constructors for interfaces or new for classes + '@typescript-eslint/no-namespace': 'off', // disallow the use of custom TypeScript modules and namespaces + '@typescript-eslint/no-non-null-assertion': 'off', // allow ! operator + '@typescript-eslint/no-parameter-properties': 'error', // no property definitions in class constructors + '@typescript-eslint/no-unused-vars': ['error', { // disallow Unused Variables + 'argsIgnorePattern': '^_' + }], + '@typescript-eslint/no-var-requires': 'error', // use import instead of require + '@typescript-eslint/prefer-for-of': 'error', // prefer for-of loop over arrays + '@typescript-eslint/prefer-namespace-keyword': 'error', // prefer namespace over module in TypeScript + '@typescript-eslint/triple-slash-reference': 'error', // ban /// , prefer imports + '@typescript-eslint/type-annotation-spacing': 'error' // consistent space around colon ':' + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ca9ca80..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parserOptions": { - "ecmaVersion": 2020, - "sourceType": "module" - }, - "plugins": ["@typescript-eslint"], - "ignorePatterns": ["**/{node_modules,lib,bin,dist}"], - "rules": { - // List of [ESLint rules](https://eslint.org/docs/rules/) - "arrow-parens": ["off", "as-needed"], // do not force arrow function parentheses - "constructor-super": "error", // checks the correct use of super() in sub-classes - "dot-notation": "error", // obj.a instead of obj['a'] when possible - "eqeqeq": "error", // ban '==', don't use 'smart' option! - "guard-for-in": "error", // needs obj.hasOwnProperty(key) checks - "new-parens": "error", // new Error() instead of new Error - "no-bitwise": "error", // bitwise operators &, | can be confused with &&, || - "no-caller": "error", // ECMAScript deprecated arguments.caller and arguments.callee - "no-cond-assign": "error", // assignments if (a = '1') are error-prone - "no-debugger": "error", // disallow debugger; statements - "no-eval": "error", // eval is considered unsafe - "no-inner-declarations": "off", // we need to have 'namespace' functions when using TS 'export =' - "no-labels": "error", // GOTO is only used in BASIC ;) - "no-multiple-empty-lines": ["error", { "max": 1 }], // two or more empty lines need to be fused to one - "no-new-wrappers": "error", // there is no reason to wrap primitve values - "no-throw-literal": "error", // only throw Error but no objects {} - "no-trailing-spaces": "error", // trim end of lines - "no-unsafe-finally": "error", // safe try/catch/finally behavior - "no-var": "error", // use const and let instead of var - "space-before-function-paren": [ - "error", - { - // space in function decl: f() vs async () => {} - "anonymous": "never", - "asyncArrow": "always", - "named": "never" - } - ], - "semi": [2, "always"], // Always use semicolons at end of statement - "quotes": [2, "single", { "avoidEscape": true }], // Prefer single quotes - "use-isnan": "error", // isNaN(i) Number.isNaN(i) instead of i === NaN - // List of [@typescript-eslint rules](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#supported-rules) - "@typescript-eslint/adjacent-overload-signatures": "error", // grouping same method names - "@typescript-eslint/array-type": [ - "error", - { - // string[] instead of Array - "default": "array-simple" - } - ], - "@typescript-eslint/ban-types": "error", // bans types like String in favor of string - "@typescript-eslint/indent": "error", // consistent indentation - "@typescript-eslint/no-explicit-any": "error", // don't use :any type - "@typescript-eslint/no-misused-new": "error", // no constructors for interfaces or new for classes - "@typescript-eslint/no-non-null-assertion": "off", // allow ! operator - "@typescript-eslint/no-parameter-properties": "error", // no property definitions in class constructors - "@typescript-eslint/no-var-requires": "error", // use import instead of require - "@typescript-eslint/prefer-for-of": "error", // prefer for-of loop over arrays - "@typescript-eslint/prefer-namespace-keyword": "error", // prefer namespace over module in TypeScript - "@typescript-eslint/triple-slash-reference": "error", // ban /// , prefer imports - "@typescript-eslint/type-annotation-spacing": "error" // consistent space around colon ':' - } -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 3753048..78477a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 2.2.0 + +- `DataPayload#applyProperties` allows any object as input and the params are more relaxed. A first set of uit tests has been introduced. +- Set compiler `target` and `module` to `ES2020`. `moduleResolution` is now `Node16` instead of `Node`, + ## 2.1.0 - Export an esm bundle along with raw code diff --git a/README.md b/README.md index 4a28cba..bd019cd 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ There exist three possibilities: - Checkout the repository and run `npm install`, `npm run build` and then `npm run dev` to spin up the local Vite dev server - Press the `Gitpod` button above and start coding and using the examples directly in the browser -- Checkout the repository and use `docker-compose up -d` to spin up local snowpack dev server +- Checkout the repository and use `docker-compose up -d` to spin up local Vite dev server Whatever environment you choose to start [Vite](https://vitejs.dev/) is used to serve the code and the examples using it. With this setup you are able to change the code and examples without invoking an additional bundler. Vite ensures all imported npm modules are available if previously installed in local environment (see `npm install`). @@ -102,8 +102,7 @@ The following table describes the currently implemented execution workflow of `W ## Main Branches -Main development takes place on branch [main](https://github.com/kaisalmen/three-wtm/tree/main).
-The [stable](https://github.com/kaisalmen/three-wtm/tree/stable) branch contains the released versions. +Main development takes place on branch [main](https://github.com/kaisalmen/three-wtm/tree/main). ## Docs diff --git a/package-lock.json b/package-lock.json index 3d4370d..eb03b65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,16 +14,16 @@ "packages/examples" ], "devDependencies": { - "@types/node": "~16.18.3", - "@typescript-eslint/eslint-plugin": "~5.48.1", + "@types/node": "~16.18.11", + "@typescript-eslint/eslint-plugin": "~5.49.0", "editorconfig": "~1.0.1", - "eslint": "~8.31.0", + "eslint": "~8.33.0", "shx": "~0.3.4", "typedoc": "~0.23.24", "typedoc-plugin-markdown": "~3.14.0", "typescript": "~4.9.4", "vite": "~4.0.4", - "vitest": "~0.28.1" + "vitest": "~0.28.3" } }, "node_modules/@esbuild/android-arm": { @@ -553,29 +553,29 @@ "dev": true }, "node_modules/@types/three": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.148.0.tgz", - "integrity": "sha512-1GiErjt1pJMadO8EhaxNrtULzdn+f3BbM3YTukiiXBVeRvvx4CXc2rpYdEuEBU/ouCX7Rc95j1HoVG9kFQXQJw==", + "version": "0.148.1", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.148.1.tgz", + "integrity": "sha512-gZwIyTBMxKXqJHXmZ0dzvDieuQ4hz8MPNHtkRrAwER/xPlAh9eP2WIfaolvQY+wJAzlNV5a9ceS4JT+i/jybsw==", "dev": true, "dependencies": { "@types/webxr": "*" } }, "node_modules/@types/webxr": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz", - "integrity": "sha512-IUMDPSXnYIbEO2IereEFcgcqfDREOgmbGqtrMpVPpACTU6pltYLwHgVkrnYv0XhWEcjio9sYEfIEzgn3c7nDqA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.1.tgz", + "integrity": "sha512-xlFXPfgJR5vIuDefhaHuUM9uUgvPaXB6GKdXy2gdEh8gBWQZ2ul24AJz3foUd8NNKlSTQuWYJpCb1/pL81m1KQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz", - "integrity": "sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", + "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/type-utils": "5.48.2", - "@typescript-eslint/utils": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/type-utils": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -601,15 +601,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.2.tgz", - "integrity": "sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", + "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "debug": "^4.3.4" }, "engines": { @@ -629,13 +629,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz", - "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", + "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/visitor-keys": "5.48.2" + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -646,13 +646,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz", - "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", + "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.48.2", - "@typescript-eslint/utils": "5.48.2", + "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -673,9 +673,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz", - "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", + "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -686,13 +686,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz", - "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", + "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/visitor-keys": "5.48.2", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -713,16 +713,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz", - "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", + "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -739,12 +739,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz", - "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", + "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/types": "5.49.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -756,23 +756,23 @@ } }, "node_modules/@vitest/expect": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.1.tgz", - "integrity": "sha512-BOvWjBoocKrrTTTC0opIvzOEa7WR/Ovx4++QYlbjYKjnQJfWRSEQkTpAIEfOURtZ/ICcaLk5jvsRshXvjarZew==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.3.tgz", + "integrity": "sha512-dnxllhfln88DOvpAK1fuI7/xHwRgTgR4wdxHldPaoTaBu6Rh9zK5b//v/cjTkhOfNP/AJ8evbNO8H7c3biwd1g==", "dev": true, "dependencies": { - "@vitest/spy": "0.28.1", - "@vitest/utils": "0.28.1", + "@vitest/spy": "0.28.3", + "@vitest/utils": "0.28.3", "chai": "^4.3.7" } }, "node_modules/@vitest/runner": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.1.tgz", - "integrity": "sha512-kOdmgiNe+mAxZhvj2eUTqKnjfvzzknmrcS+SZXV7j6VgJuWPFAMCv3TWOe03nF9dkqDfVLCDRw/hwFuCzmzlQg==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.3.tgz", + "integrity": "sha512-P0qYbATaemy1midOLkw7qf8jraJszCoEvjQOSlseiXZyEDaZTZ50J+lolz2hWiWv6RwDu1iNseL9XLsG0Jm2KQ==", "dev": true, "dependencies": { - "@vitest/utils": "0.28.1", + "@vitest/utils": "0.28.3", "p-limit": "^4.0.0", "pathe": "^1.1.0" } @@ -805,18 +805,18 @@ } }, "node_modules/@vitest/spy": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.1.tgz", - "integrity": "sha512-XGlD78cG3IxXNnGwEF121l0MfTNlHSdI25gS2ik0z6f/D9wWUOru849QkJbuNl4CMlZCtNkx3b5IS6MRwKGKuA==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.3.tgz", + "integrity": "sha512-jULA6suS6CCr9VZfr7/9x97pZ0hC55prnUNHNrg5/q16ARBY38RsjsfhuUXt6QOwvIN3BhSS0QqPzyh5Di8g6w==", "dev": true, "dependencies": { "tinyspy": "^1.0.2" } }, "node_modules/@vitest/utils": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.1.tgz", - "integrity": "sha512-a7cV1fs5MeU+W+8sn8gM9gV+q7V/wYz3/4y016w/icyJEKm9AMdSHnrzxTWaElJ07X40pwU6m5353Jlw6Rbd8w==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.3.tgz", + "integrity": "sha512-YHiQEHQqXyIbhDqETOJUKx9/psybF7SFFVCNfOvap0FvyUqbzTSDCa3S5lL4C0CLXkwVZttz9xknDoyHMguFRQ==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", @@ -827,9 +827,9 @@ } }, "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1268,9 +1268,9 @@ } }, "node_modules/eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.4.1", @@ -1669,9 +1669,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -1737,9 +1737,9 @@ } }, "node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2034,9 +2034,9 @@ "dev": true }, "node_modules/js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", "dev": true, "funding": { "type": "opencollective", @@ -2092,9 +2092,9 @@ "integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==" }, "node_modules/local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "dev": true, "engines": { "node": ">=14" @@ -2539,9 +2539,9 @@ } }, "node_modules/punycode": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", - "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, "engines": { "node": ">=6" @@ -2670,9 +2670,9 @@ } }, "node_modules/rollup": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.10.0.tgz", - "integrity": "sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", + "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -3025,9 +3025,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz", - "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", + "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", "dev": true, "engines": { "node": ">=14.0.0" @@ -3262,9 +3262,9 @@ } }, "node_modules/vite-node": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.1.tgz", - "integrity": "sha512-Mmab+cIeElkVn4noScCRjy8nnQdh5LDIR4QCH/pVWtY15zv5Z1J7u6/471B9JZ2r8CEIs42vTbngaamOVkhPLA==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.3.tgz", + "integrity": "sha512-uJJAOkgVwdfCX8PUQhqLyDOpkBS5+j+FdbsXoPVPDlvVjRkb/W/mLYQPSL6J+t8R0UV8tJSe8c9VyxVQNsDSyg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -3287,18 +3287,18 @@ } }, "node_modules/vitest": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.1.tgz", - "integrity": "sha512-F6wAO3K5+UqJCCGt0YAl3Ila2f+fpBrJhl9n7qWEhREwfzQeXlMkkCqGqGtzBxCSa8kv5QHrkshX8AaPTXYACQ==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.3.tgz", + "integrity": "sha512-N41VPNf3VGJlWQizGvl1P5MGyv3ZZA2Zvh+2V8L6tYBAAuqqDK4zExunT1Cdb6dGfZ4gr+IMrnG8d4Z6j9ctPw==", "dev": true, "dependencies": { "@types/chai": "^4.3.4", "@types/chai-subset": "^1.3.3", "@types/node": "*", - "@vitest/expect": "0.28.1", - "@vitest/runner": "0.28.1", - "@vitest/spy": "0.28.1", - "@vitest/utils": "0.28.1", + "@vitest/expect": "0.28.3", + "@vitest/runner": "0.28.3", + "@vitest/spy": "0.28.3", + "@vitest/utils": "0.28.3", "acorn": "^8.8.1", "acorn-walk": "^8.2.0", "cac": "^6.7.14", @@ -3311,10 +3311,10 @@ "std-env": "^3.3.1", "strip-literal": "^1.0.0", "tinybench": "^2.3.1", - "tinypool": "^0.3.0", + "tinypool": "^0.3.1", "tinyspy": "^1.0.2", "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.28.1", + "vite-node": "0.28.3", "why-is-node-running": "^2.2.2" }, "bin": { @@ -3475,7 +3475,8 @@ "version": "0.0.0", "dependencies": { "lil-gui": "~0.17.0", - "wtd-three-ext": "2.2.0-next.3", + "wtd-core": "2.2.0", + "wtd-three-ext": "2.2.0", "wwobjloader2": "5.1.0-next.0" }, "devDependencies": { @@ -3483,15 +3484,15 @@ } }, "packages/wtd-core": { - "version": "2.2.0-next.3", + "version": "2.2.0", "license": "MIT" }, "packages/wtd-three-ext": { - "version": "2.2.0-next.3", + "version": "2.2.0", "license": "MIT", "dependencies": { "three": "~0.148.0", - "wtd-core": "2.2.0-next.3" + "wtd-core": "2.2.0" }, "devDependencies": { "@types/three": "~0.148.0" @@ -3804,29 +3805,29 @@ "dev": true }, "@types/three": { - "version": "0.148.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.148.0.tgz", - "integrity": "sha512-1GiErjt1pJMadO8EhaxNrtULzdn+f3BbM3YTukiiXBVeRvvx4CXc2rpYdEuEBU/ouCX7Rc95j1HoVG9kFQXQJw==", + "version": "0.148.1", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.148.1.tgz", + "integrity": "sha512-gZwIyTBMxKXqJHXmZ0dzvDieuQ4hz8MPNHtkRrAwER/xPlAh9eP2WIfaolvQY+wJAzlNV5a9ceS4JT+i/jybsw==", "dev": true, "requires": { "@types/webxr": "*" } }, "@types/webxr": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz", - "integrity": "sha512-IUMDPSXnYIbEO2IereEFcgcqfDREOgmbGqtrMpVPpACTU6pltYLwHgVkrnYv0XhWEcjio9sYEfIEzgn3c7nDqA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.1.tgz", + "integrity": "sha512-xlFXPfgJR5vIuDefhaHuUM9uUgvPaXB6GKdXy2gdEh8gBWQZ2ul24AJz3foUd8NNKlSTQuWYJpCb1/pL81m1KQ==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz", - "integrity": "sha512-sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", + "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/type-utils": "5.48.2", - "@typescript-eslint/utils": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/type-utils": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -3836,54 +3837,54 @@ } }, "@typescript-eslint/parser": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.2.tgz", - "integrity": "sha512-38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", + "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz", - "integrity": "sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", + "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/visitor-keys": "5.48.2" + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0" } }, "@typescript-eslint/type-utils": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz", - "integrity": "sha512-QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", + "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.48.2", - "@typescript-eslint/utils": "5.48.2", + "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz", - "integrity": "sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", + "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz", - "integrity": "sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", + "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/visitor-keys": "5.48.2", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3892,49 +3893,49 @@ } }, "@typescript-eslint/utils": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz", - "integrity": "sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", + "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.2", - "@typescript-eslint/types": "5.48.2", - "@typescript-eslint/typescript-estree": "5.48.2", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.48.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz", - "integrity": "sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", + "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.2", + "@typescript-eslint/types": "5.49.0", "eslint-visitor-keys": "^3.3.0" } }, "@vitest/expect": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.1.tgz", - "integrity": "sha512-BOvWjBoocKrrTTTC0opIvzOEa7WR/Ovx4++QYlbjYKjnQJfWRSEQkTpAIEfOURtZ/ICcaLk5jvsRshXvjarZew==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.28.3.tgz", + "integrity": "sha512-dnxllhfln88DOvpAK1fuI7/xHwRgTgR4wdxHldPaoTaBu6Rh9zK5b//v/cjTkhOfNP/AJ8evbNO8H7c3biwd1g==", "dev": true, "requires": { - "@vitest/spy": "0.28.1", - "@vitest/utils": "0.28.1", + "@vitest/spy": "0.28.3", + "@vitest/utils": "0.28.3", "chai": "^4.3.7" } }, "@vitest/runner": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.1.tgz", - "integrity": "sha512-kOdmgiNe+mAxZhvj2eUTqKnjfvzzknmrcS+SZXV7j6VgJuWPFAMCv3TWOe03nF9dkqDfVLCDRw/hwFuCzmzlQg==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.28.3.tgz", + "integrity": "sha512-P0qYbATaemy1midOLkw7qf8jraJszCoEvjQOSlseiXZyEDaZTZ50J+lolz2hWiWv6RwDu1iNseL9XLsG0Jm2KQ==", "dev": true, "requires": { - "@vitest/utils": "0.28.1", + "@vitest/utils": "0.28.3", "p-limit": "^4.0.0", "pathe": "^1.1.0" }, @@ -3957,18 +3958,18 @@ } }, "@vitest/spy": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.1.tgz", - "integrity": "sha512-XGlD78cG3IxXNnGwEF121l0MfTNlHSdI25gS2ik0z6f/D9wWUOru849QkJbuNl4CMlZCtNkx3b5IS6MRwKGKuA==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.28.3.tgz", + "integrity": "sha512-jULA6suS6CCr9VZfr7/9x97pZ0hC55prnUNHNrg5/q16ARBY38RsjsfhuUXt6QOwvIN3BhSS0QqPzyh5Di8g6w==", "dev": true, "requires": { "tinyspy": "^1.0.2" } }, "@vitest/utils": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.1.tgz", - "integrity": "sha512-a7cV1fs5MeU+W+8sn8gM9gV+q7V/wYz3/4y016w/icyJEKm9AMdSHnrzxTWaElJ07X40pwU6m5353Jlw6Rbd8w==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.28.3.tgz", + "integrity": "sha512-YHiQEHQqXyIbhDqETOJUKx9/psybF7SFFVCNfOvap0FvyUqbzTSDCa3S5lL4C0CLXkwVZttz9xknDoyHMguFRQ==", "dev": true, "requires": { "cli-truncate": "^3.1.0", @@ -3979,9 +3980,9 @@ } }, "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, "acorn-jsx": { @@ -4306,9 +4307,9 @@ "dev": true }, "eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", "dev": true, "requires": { "@eslint/eslintrc": "^1.4.1", @@ -4612,9 +4613,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -4667,9 +4668,9 @@ } }, "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -4878,9 +4879,9 @@ "dev": true }, "js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", "dev": true }, "js-yaml": { @@ -4926,9 +4927,9 @@ "integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==" }, "local-pkg": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz", - "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", "dev": true }, "locate-path": { @@ -5256,9 +5257,9 @@ } }, "punycode": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", - "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "qs": { @@ -5336,9 +5337,9 @@ } }, "rollup": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.10.0.tgz", - "integrity": "sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz", + "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -5587,9 +5588,9 @@ "dev": true }, "tinypool": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz", - "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", + "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", "dev": true }, "tinyspy": { @@ -5732,9 +5733,9 @@ } }, "vite-node": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.1.tgz", - "integrity": "sha512-Mmab+cIeElkVn4noScCRjy8nnQdh5LDIR4QCH/pVWtY15zv5Z1J7u6/471B9JZ2r8CEIs42vTbngaamOVkhPLA==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.28.3.tgz", + "integrity": "sha512-uJJAOkgVwdfCX8PUQhqLyDOpkBS5+j+FdbsXoPVPDlvVjRkb/W/mLYQPSL6J+t8R0UV8tJSe8c9VyxVQNsDSyg==", "dev": true, "requires": { "cac": "^6.7.14", @@ -5748,18 +5749,18 @@ } }, "vitest": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.1.tgz", - "integrity": "sha512-F6wAO3K5+UqJCCGt0YAl3Ila2f+fpBrJhl9n7qWEhREwfzQeXlMkkCqGqGtzBxCSa8kv5QHrkshX8AaPTXYACQ==", + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.28.3.tgz", + "integrity": "sha512-N41VPNf3VGJlWQizGvl1P5MGyv3ZZA2Zvh+2V8L6tYBAAuqqDK4zExunT1Cdb6dGfZ4gr+IMrnG8d4Z6j9ctPw==", "dev": true, "requires": { "@types/chai": "^4.3.4", "@types/chai-subset": "^1.3.3", "@types/node": "*", - "@vitest/expect": "0.28.1", - "@vitest/runner": "0.28.1", - "@vitest/spy": "0.28.1", - "@vitest/utils": "0.28.1", + "@vitest/expect": "0.28.3", + "@vitest/runner": "0.28.3", + "@vitest/spy": "0.28.3", + "@vitest/utils": "0.28.3", "acorn": "^8.8.1", "acorn-walk": "^8.2.0", "cac": "^6.7.14", @@ -5772,10 +5773,10 @@ "std-env": "^3.3.1", "strip-literal": "^1.0.0", "tinybench": "^2.3.1", - "tinypool": "^0.3.0", + "tinypool": "^0.3.1", "tinyspy": "^1.0.2", "vite": "^3.0.0 || ^4.0.0", - "vite-node": "0.28.1", + "vite-node": "0.28.3", "why-is-node-running": "^2.2.2" } }, @@ -5845,7 +5846,8 @@ "requires": { "http-server": "~14.1.1", "lil-gui": "~0.17.0", - "wtd-three-ext": "2.2.0-next.3", + "wtd-core": "2.2.0", + "wtd-three-ext": "2.2.0", "wwobjloader2": "5.1.0-next.0" } }, @@ -5854,7 +5856,7 @@ "requires": { "@types/three": "~0.148.0", "three": "~0.148.0", - "wtd-core": "2.2.0-next.3" + "wtd-core": "2.2.0" } }, "wwobjloader2": { diff --git a/package.json b/package.json index e551366..add4e76 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "url": "https://www.kaisalmen.de" }, "private": "true", - "type": "module", "license": "MIT", "repository": { "type": "git", @@ -36,16 +35,16 @@ "npm": "8.19.3" }, "devDependencies": { - "@types/node": "~16.18.3", - "@typescript-eslint/eslint-plugin": "~5.48.1", + "@types/node": "~16.18.11", + "@typescript-eslint/eslint-plugin": "~5.49.0", "editorconfig": "~1.0.1", - "eslint": "~8.31.0", + "eslint": "~8.33.0", "shx": "~0.3.4", "typedoc": "~0.23.24", "typedoc-plugin-markdown": "~3.14.0", "typescript": "~4.9.4", "vite": "~4.0.4", - "vitest": "~0.28.1" + "vitest": "~0.28.3" }, "workspaces": [ "packages/wtd-core", diff --git a/packages/examples/package.json b/packages/examples/package.json index a45e93c..bff6c17 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -8,7 +8,6 @@ "doc": "echo 'docs are not generated for examples'", "lint": "npx eslint src --ext .ts", "compile": "tsc -b", - "watch": "tsc -w", "copy:worker:OBJLoader2Worker": "npx shx mkdir -p ./src/worker/generated && npx shx cp -f ../../node_modules/wwobjloader2/dist/worker/OBJLoader2Worker*.js ./src/worker/generated", "build:worker:HelloWorldWorker": "npx shx rm -f ./src/worker/generated/HelloWorldWorker*.js && npx vite -c build/vite.config.HelloWorldWorker.ts build", "build:worker:HelloWorldThreeWorker": "npx shx rm -f ./src/worker/generated/HelloWorldThreeWorker*.js && npx vite -c build/vite.config.HelloWorldThreeWorker.ts build", @@ -29,7 +28,8 @@ }, "dependencies": { "lil-gui": "~0.17.0", - "wtd-three-ext": "2.2.0-next.3", + "wtd-core": "2.2.0", + "wtd-three-ext": "2.2.0", "wwobjloader2": "5.1.0-next.0" }, "devDependencies": { diff --git a/packages/wtd-core/package.json b/packages/wtd-core/package.json index 08ee507..f1a8bc6 100644 --- a/packages/wtd-core/package.json +++ b/packages/wtd-core/package.json @@ -1,6 +1,6 @@ { "name": "wtd-core", - "version": "2.2.0-next.3", + "version": "2.2.0", "license": "MIT", "type": "module", "main": "./dist/index.js", @@ -42,7 +42,6 @@ "doc": "npx shx rm -fr docs && npx typedoc --plugin typedoc-plugin-markdown --out docs src/index.ts", "lint": "npx eslint src test --ext .ts", "compile": "tsc -b", - "watch": "tsc -w", "build:bundle": "vite --config vite.bundle.config.ts build", "build": "npm run clean && npm run compile && npm run build:bundle" }, diff --git a/packages/wtd-three-ext/README.md b/packages/wtd-three-ext/README.md index 455a455..ea28ade 100644 --- a/packages/wtd-three-ext/README.md +++ b/packages/wtd-three-ext/README.md @@ -12,6 +12,6 @@ Please refer to the full [README.md](../../README.md) in main [repository](https - **Three.js Example**: [html](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/threejs.html), [ts](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/threejs/Threejs.ts), **Worker**: [1](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/worker/HelloWorldThreeWorker.ts), [2](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/worker/OBJLoaderWorker.ts) - **Potentially Infinite Example**: [html](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/potentially_infinite.html), [ts](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/infinite/PotentiallyInfiniteExample.ts), **Worker**: [1](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/worker/InfiniteWorkerExternalGeometry.ts), [2](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/worker/InfiniteWorkerInternalGeometry.ts), [3](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/worker/OBJLoader2Worker.js), [4](https://github.com/kaisalmen/wtd/blob/HEAD/packages/examples/src/infinite/PotentiallyInfiniteExample.ts#L591) -# Want to try out immediately? +## Want to try out immediately? Try all available examples here: https://wtd.kaisalmen.de diff --git a/packages/wtd-three-ext/package.json b/packages/wtd-three-ext/package.json index 23929db..713c427 100644 --- a/packages/wtd-three-ext/package.json +++ b/packages/wtd-three-ext/package.json @@ -1,6 +1,6 @@ { "name": "wtd-three-ext", - "version": "2.2.0-next.3", + "version": "2.2.0", "license": "MIT", "type": "module", "main": "./dist/index.js", @@ -42,7 +42,6 @@ "doc": "npx shx rm -fr docs && npx typedoc --plugin typedoc-plugin-markdown --out docs src/index.ts", "lint": "npx eslint src --ext .ts", "compile": "tsc -b", - "watch": "tsc -w", "build:bundle": "vite --config vite.bundle.config.ts build", "build": "npm run clean && npm run compile && npm run build:bundle" }, @@ -51,7 +50,7 @@ "npm": "8.19.3" }, "dependencies": { - "wtd-core": "2.2.0-next.3", + "wtd-core": "2.2.0", "three": "~0.148.0" }, "devDependencies": {