From 7d2ef9e749d11c3811e35cfc85d378e9c7e9afaa Mon Sep 17 00:00:00 2001 From: William Candillon Date: Thu, 5 Sep 2024 12:07:02 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=9A=20(#98)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 64 ++--- .eslintrc => apps/paper/.eslintrc | 0 apps/paper/package.json | 12 +- apps/paper/src/Cube/TexturedCube.tsx | 5 +- apps/paper/src/Particles/Particles.tsx | 1 - .../paper/src/RenderBundles/RenderBundles.tsx | 2 - apps/paper/src/ReversedZ/ReversedZ.tsx | 5 +- apps/paper/src/Tests.tsx | 1 - apps/paper/src/ThreeJS/assets/AssetManager.ts | 1 - apps/paper/src/components/useAssets.ts | 1 - package.json | 11 +- packages/webgpu/.eslintrc | 8 + packages/webgpu/package.json | 11 +- turbo.json | 53 ++-- yarn.lock | 268 +++++------------- 15 files changed, 162 insertions(+), 281 deletions(-) rename .eslintrc => apps/paper/.eslintrc (100%) create mode 100644 packages/webgpu/.eslintrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01bd2d27f..81628f376 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,9 +4,12 @@ on: branches: - main pull_request: -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true + branches: + - main + merge_group: + types: + - checks_requested + jobs: lint: runs-on: ubuntu-latest @@ -27,31 +30,24 @@ jobs: run: yarn lint - name: Typecheck files - working-directory: packages/webgpu run: yarn tsc - test: - runs-on: ubuntu-latest - defaults: - run: - working-directory: packages/webgpu - steps: - - name: Checkout - uses: actions/checkout@v3 + # test: + # runs-on: ubuntu-latest + # steps: + # - name: Checkout + # uses: actions/checkout@v3 - - name: Setup - uses: ./.github/actions/setup - with: - github_token: ${{ secrets.GITHUB_TOKEN }} + # - name: Setup + # uses: ./.github/actions/setup + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} - # - name: Run unit tests - # run: yarn test --maxWorkers=2 --coverage + # - name: Run unit tests + # run: yarn test --maxWorkers=2 --coverage build-library: runs-on: ubuntu-latest - defaults: - run: - working-directory: packages/webgpu steps: - name: Checkout uses: actions/checkout@v3 @@ -62,10 +58,11 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} - name: Build package + working-directory: packages/webgpu run: yarn prepare build-android: - runs-on: macos-latest + runs-on: macos-latest-large env: TURBO_CACHE_DIR: .turbo/android steps: @@ -83,7 +80,7 @@ jobs: path: ${{ env.TURBO_CACHE_DIR }} key: ${{ runner.os }}-turborepo-android-${{ hashFiles('yarn.lock') }} restore-keys: | - ${{ runner.os }}-turborepo-android- + ${{ runner.os }}-turborepo-android - name: Check turborepo cache for Android run: | @@ -117,7 +114,7 @@ jobs: - name: Install Android SDK run: echo "sdk.dir=$ANDROID_HOME" > $GITHUB_WORKSPACE/apps/paper/android/local.properties - + - name: Cache Gradle if: env.turbo_cache_hit != 1 uses: actions/cache@v3 @@ -133,10 +130,10 @@ jobs: env: JAVA_OPTS: "-XX:MaxHeapSize=6g" run: | - yarn build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" + yarn turbo run build:android --cache-dir="${{ env.TURBO_CACHE_DIR }}" build-ios: - runs-on: macos-latest + runs-on: macos-latest-large env: TURBO_CACHE_DIR: .turbo/ios steps: @@ -148,20 +145,6 @@ jobs: with: github_token: ${{ secrets.GITHUB_TOKEN }} - - name: Download Dawn Binary Artifacts - uses: dawidd6/action-download-artifact@v2 - with: - workflow: "build-dawn.yml" - repo: wcandillon/react-native-webgpu - github_token: ${{secrets.GITHUB_TOKEN}} - path: artifacts - branch: main - name: dawn-libs - - - name: Copy Artifacts to libs folder - working-directory: packages/webgpu - run: yarn copy-artifacts - - name: Cache turborepo for iOS uses: actions/cache@v3 with: @@ -190,7 +173,6 @@ jobs: ${{ runner.os }}-cocoapods- - name: Install cocoapods - if: env.turbo_cache_hit != 1 && steps.cocoapods-cache.outputs.cache-hit != 'true' run: | cd apps/paper/ios pod install diff --git a/.eslintrc b/apps/paper/.eslintrc similarity index 100% rename from .eslintrc rename to apps/paper/.eslintrc diff --git a/apps/paper/package.json b/apps/paper/package.json index b0aaf9bf6..1f5e6b169 100644 --- a/apps/paper/package.json +++ b/apps/paper/package.json @@ -4,11 +4,13 @@ "private": true, "scripts": { "lint": "eslint . --ext .ts,.tsx --max-warnings 0 --cache --fix", + "tsc": "tsc --noEmit", "android": "react-native run-android", "ios": "react-native run-ios", "start": "react-native start", - "build:android": "cd android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a", - "build:ios": "cd ios && xcodebuild -workspace WgpuExample.xcworkspace -scheme WgpuExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO | xcpretty" + "build:android": "cd android && ./gradlew assembleDebug --warning-mode all", + "build:ios": "npm run mkdist && react-native bundle --entry-file index.js --platform ios --dev true --bundle-output dist/main.ios.jsbundle --assets-dest dist && react-native build-ios --scheme WgpuExample --mode Debug --extra-params \"-sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO\"", + "mkdist": "node -e \"require('node:fs').mkdirSync('dist', { recursive: true, mode: 0o755 })\"" }, "dependencies": { "@react-navigation/native": "^6.1.17", @@ -35,7 +37,11 @@ "@react-native/typescript-config": "0.74.84", "@types/three": "^0.167.2", "@webgpu/types": "^0.1.44", - "babel-plugin-module-resolver": "^5.0.0" + "babel-plugin-module-resolver": "^5.0.0", + "eslint": "8", + "eslint-config-react-native-wcandillon": "^3.10.2", + "eslint-plugin-import": "2.27.5", + "typescript": "^5.2.2" }, "engines": { "node": ">=18" diff --git a/apps/paper/src/Cube/TexturedCube.tsx b/apps/paper/src/Cube/TexturedCube.tsx index faf035064..6207169d6 100644 --- a/apps/paper/src/Cube/TexturedCube.tsx +++ b/apps/paper/src/Cube/TexturedCube.tsx @@ -103,10 +103,7 @@ export const TexturedCube = () => { // Fetch the image and upload it into a GPUTexture. let cubeTexture: GPUTexture; { - const response = await fetchAsset( - // eslint-disable-next-line @typescript-eslint/no-var-requires - require("../assets/Di-3d.png"), - ); + const response = await fetchAsset(require("../assets/Di-3d.png")); const imageBitmap = await createImageBitmap(await response.blob()); cubeTexture = device.createTexture({ size: [imageBitmap.width, imageBitmap.height, 1], diff --git a/apps/paper/src/Particles/Particles.tsx b/apps/paper/src/Particles/Particles.tsx index 297de63b5..ca02d3e86 100644 --- a/apps/paper/src/Particles/Particles.tsx +++ b/apps/paper/src/Particles/Particles.tsx @@ -185,7 +185,6 @@ export function Particules() { let numMipLevels = 1; let texture: GPUTexture; { - // eslint-disable-next-line @typescript-eslint/no-var-requires const response = await fetchAsset(require("../assets/react.png")); const imageBitmap = await createImageBitmap(await response.blob()); diff --git a/apps/paper/src/RenderBundles/RenderBundles.tsx b/apps/paper/src/RenderBundles/RenderBundles.tsx index 7ff2e2a51..9a86626d5 100644 --- a/apps/paper/src/RenderBundles/RenderBundles.tsx +++ b/apps/paper/src/RenderBundles/RenderBundles.tsx @@ -99,7 +99,6 @@ export const RenderBundles = () => { // Fetch the images and upload them into a GPUTexture. let planetTexture: GPUTexture; { - // eslint-disable-next-line @typescript-eslint/no-var-requires const response = await fetchAsset(require("../assets/saturn.png")); const imageBitmap = await createImageBitmap(await response.blob()); @@ -120,7 +119,6 @@ export const RenderBundles = () => { let moonTexture: GPUTexture; { - // eslint-disable-next-line @typescript-eslint/no-var-requires const response = await fetchAsset(require("../assets/moon.png")); const imageBitmap = await createImageBitmap(await response.blob()); diff --git a/apps/paper/src/ReversedZ/ReversedZ.tsx b/apps/paper/src/ReversedZ/ReversedZ.tsx index 1e521921e..9fd87da99 100644 --- a/apps/paper/src/ReversedZ/ReversedZ.tsx +++ b/apps/paper/src/ReversedZ/ReversedZ.tsx @@ -60,10 +60,7 @@ const DepthBufferMode = { Reversed: 1, }; -const depthBufferModes = [ - DepthBufferMode.Default, - DepthBufferMode.Reversed, -]; +const depthBufferModes = [DepthBufferMode.Default, DepthBufferMode.Reversed]; const depthCompareFuncs = { [DepthBufferMode.Default]: "less" as GPUCompareFunction, [DepthBufferMode.Reversed]: "greater" as GPUCompareFunction, diff --git a/apps/paper/src/Tests.tsx b/apps/paper/src/Tests.tsx index d4994f566..a3e93f5dd 100644 --- a/apps/paper/src/Tests.tsx +++ b/apps/paper/src/Tests.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ /* eslint-disable no-eval */ import React, { useEffect, useState } from "react"; diff --git a/apps/paper/src/ThreeJS/assets/AssetManager.ts b/apps/paper/src/ThreeJS/assets/AssetManager.ts index 376dfb1ea..4f2dd9deb 100644 --- a/apps/paper/src/ThreeJS/assets/AssetManager.ts +++ b/apps/paper/src/ThreeJS/assets/AssetManager.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ import * as THREE from "three/webgpu"; import { Image } from "react-native"; diff --git a/apps/paper/src/components/useAssets.ts b/apps/paper/src/components/useAssets.ts index e56bd1ac6..98f17d2d8 100644 --- a/apps/paper/src/components/useAssets.ts +++ b/apps/paper/src/components/useAssets.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ import { useEffect, useState } from "react"; import { Image } from "react-native"; import "react-native-wgpu"; diff --git a/package.json b/package.json index 65b42b9eb..31a43c7e1 100644 --- a/package.json +++ b/package.json @@ -12,18 +12,11 @@ "packageManager": "yarn@3.6.1", "scripts": { "lint": "turbo run lint", + "tsc": "turbo run tsc", "build:ios": "turbo run build:ios", "build:android": "turbo run build:android" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^8.3.0", - "@typescript-eslint/parser": "^8.3.0", - "eslint": "8", - "eslint-config-react-native-wcandillon": "^3.10.2", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-jest": "^28.8.0", - "eslint-plugin-prettier": "^5.2.1", - "turbo": "^2.1.0", - "typescript": "^5.2.2" + "turbo": "^2.1.0" } } diff --git a/packages/webgpu/.eslintrc b/packages/webgpu/.eslintrc new file mode 100644 index 000000000..dd155609e --- /dev/null +++ b/packages/webgpu/.eslintrc @@ -0,0 +1,8 @@ +{ + "extends": "react-native-wcandillon", + "ignorePatterns": ["**/*/components/meshes"], + "rules": { + "no-bitwise": "off", + "@typescript-eslint/no-require-imports": "off" + } +} \ No newline at end of file diff --git a/packages/webgpu/package.json b/packages/webgpu/package.json index 268f75369..577b98286 100644 --- a/packages/webgpu/package.json +++ b/packages/webgpu/package.json @@ -30,8 +30,8 @@ "scripts": { "test": "jest -i", "test:ref": "REFERENCE=true yarn test -i", - "tsc": "tsc --noEmit", "lint": "eslint . --ext .ts,.tsx --max-warnings 0 --cache --fix", + "tsc": "tsc --noEmit", "prepare": "bob build", "build-dawn": "ts-node scripts/build/dawn.ts", "clean-dawn": "rimraf ./libs && rimraf ../../externals/dawn/out", @@ -70,9 +70,16 @@ "@types/react": "^18.2.44", "@types/seedrandom": "^3.0.8", "@types/ws": "^8.5.10", + "@typescript-eslint/eslint-plugin": "^8.4.0", + "@typescript-eslint/parser": "^8.4.0", "@webgpu/types": "^0.1.44", "clang-format": "^1.8.0", "del-cli": "^5.1.0", + "eslint": "8", + "eslint-config-react-native-wcandillon": "^3.10.2", + "eslint-plugin-import": "2.27.5", + "eslint-plugin-jest": "^28.8.2", + "eslint-plugin-prettier": "^5.2.1", "jest": "^29.7.0", "lodash": "^4.17.21", "pixelmatch": "5.3.0", @@ -87,7 +94,7 @@ "teapot": "^1.0.0", "ts-morph": "^22.0.0", "ts-node": "^10.9.2", - "turbo": "^1.10.7", + "typescript": "^5.2.2", "wgpu-matrix": "^3.0.2", "ws": "^8.18.0" }, diff --git a/turbo.json b/turbo.json index a9c59f0eb..e371c1e90 100644 --- a/turbo.json +++ b/turbo.json @@ -2,34 +2,51 @@ "$schema": "https://turbo.build/schema.json", "tasks": { "build:android": { + "env": ["JAVA_HOME", "ANDROID_NDK", "ANDROID_SDK", "ANDROID_HOME"], + "outputs": [ + "apps/*/android", + "!apps/*/android/.gradle", + "!apps/*/android/build", + "!apps/*/android/app/build" + ], "inputs": [ - "packages/webgpu/package.json", + "**/*/package.json", "packages/webgpu/android", "!packages/webgpu/android/build", "packages/webgpu/src/*.ts", "packages/webgpu/src/*.tsx", - "packages/webgpu/example/package.json", - "packages/webgpu/example/android", - "!packages/webgpu/example/android/.gradle", - "!packages/webgpu/example/android/build", - "!packages/webgpu/example/android/app/build" - ], - "outputs": [] + "apps/*/package.json", + "apps/*/android", + "apps/*/android/app/build.gradle", + "apps/*/android/build.gradle", + "apps/*/android/gradle.properties", + "apps/*/android/local.properties", + "!apps/*/android/.gradle", + "!apps/*/android/build", + "!apps/*/android/app/build" + ] }, "build:ios": { + "outputs": [ + "apps/*/ios/build", + "apps/*/ios/Pods" + ], "inputs": [ - "packages/webgpu/package.json", - "packages/webgpu/*.podspec", - "packages/webgpu/ios", + "package.json", + "*.podspec", + "ios", + "ios/Podfile", + "ios/*.xcconfig", + "ios/**/*.plist", "packages/webgpu/src/*.ts", "packages/webgpu/src/*.tsx", - "packages/webgpu/example/package.json", - "packages/webgpu/example/ios", - "!packages/webgpu/example/ios/build", - "!packages/webgpu/example/ios/Pods" - ], - "outputs": [] + "apps/*/package.json", + "apps/*/ios", + "!apps/*/ios/build", + "!apps/*/ios/Pods" + ] }, - "lint": {} + "lint": {}, + "tsc": {} } } diff --git a/yarn.lock b/yarn.lock index 371a7a0cb..6d1366e08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3219,15 +3219,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.3.0" +"@typescript-eslint/eslint-plugin@npm:^8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.4.0" dependencies: "@eslint-community/regexpp": ^4.10.0 - "@typescript-eslint/scope-manager": 8.3.0 - "@typescript-eslint/type-utils": 8.3.0 - "@typescript-eslint/utils": 8.3.0 - "@typescript-eslint/visitor-keys": 8.3.0 + "@typescript-eslint/scope-manager": 8.4.0 + "@typescript-eslint/type-utils": 8.4.0 + "@typescript-eslint/utils": 8.4.0 + "@typescript-eslint/visitor-keys": 8.4.0 graphemer: ^1.4.0 ignore: ^5.3.1 natural-compare: ^1.4.0 @@ -3238,7 +3238,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: edef62ba07cf457bfb4364976000cf18e6123e6a27a591cd7586e950e0ede14c6ec418904ffdd4256192c48f6ce80c3fc18b057210d5c9e7c4e722fec2ce85e4 + checksum: 62009bfd28d489cd78a59997b16c6b0d2ea4ac3e485ac3c5f1afb4934a5396e439241778441a753a2a96b07aaa7bd200fb8989368febf749fc669d8c8f7e5f0c languageName: node linkType: hard @@ -3277,21 +3277,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/parser@npm:8.3.0" +"@typescript-eslint/parser@npm:^8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/parser@npm:8.4.0" dependencies: - "@typescript-eslint/scope-manager": 8.3.0 - "@typescript-eslint/types": 8.3.0 - "@typescript-eslint/typescript-estree": 8.3.0 - "@typescript-eslint/visitor-keys": 8.3.0 + "@typescript-eslint/scope-manager": 8.4.0 + "@typescript-eslint/types": 8.4.0 + "@typescript-eslint/typescript-estree": 8.4.0 + "@typescript-eslint/visitor-keys": 8.4.0 debug: ^4.3.4 peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: cac61afb1d4e0732a0b4e7a8af7a5d167894453907f9a173c8f25aab7d4d04e9b497f759eaacf6e445dccef1dbce76260a2b295994b774f7ae5363fbfc092a59 + checksum: 4c91ac5e7e276a8e216971dfc525c9864250e2cc37f7a476290fc09ff7e646d332dedf52481dc69f7a78611f3709f032f8d64550a88cd1febfa9f009f3b3e564 languageName: node linkType: hard @@ -3315,13 +3315,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/scope-manager@npm:8.3.0" +"@typescript-eslint/scope-manager@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/scope-manager@npm:8.4.0" dependencies: - "@typescript-eslint/types": 8.3.0 - "@typescript-eslint/visitor-keys": 8.3.0 - checksum: 2ccf0d965c0e812f21a156bdb551029d2777bf1e6528275ccb9b79f9a36e4c6803c94f4e98519095396d3e416a62dc2356fda7286a6feeec8af6b63154f158d9 + "@typescript-eslint/types": 8.4.0 + "@typescript-eslint/visitor-keys": 8.4.0 + checksum: 0a513bcaf35dbee789bff6ca9cbc8f237b2efa85347bda17de3c66a35e913790b8e69b7ad824eeebd6bb9e218cd8b696da8901f10bf0e9107a8ed19072f86152 languageName: node linkType: hard @@ -3359,18 +3359,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/type-utils@npm:8.3.0" +"@typescript-eslint/type-utils@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/type-utils@npm:8.4.0" dependencies: - "@typescript-eslint/typescript-estree": 8.3.0 - "@typescript-eslint/utils": 8.3.0 + "@typescript-eslint/typescript-estree": 8.4.0 + "@typescript-eslint/utils": 8.4.0 debug: ^4.3.4 ts-api-utils: ^1.3.0 peerDependenciesMeta: typescript: optional: true - checksum: 386e37da49cda7282034c16dd9a3ed88ce735ee1e4b141bef6d12350c9be547788c5498a414eb6312401107ebb3004bbcc1b9dfce4747f2adfa6d1af4bedb6e5 + checksum: 5fec2aa96d1d5dcad1cbaea967d0aae978d872b9659d943f21a857bedce8ac9385e1e30f051c34154990a7d9da611cf84107d4ec5c23924c8db4337d93e79d14 languageName: node linkType: hard @@ -3388,10 +3388,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/types@npm:8.3.0" - checksum: 6fa6be32dbb32899b0ccb6a5cf78bf85892efa87048e0d3939f706743d3c2ad4afab8228d588883ac314d4934a01bafc5e4043b6608ebb82290edf3bfc17f442 +"@typescript-eslint/types@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/types@npm:8.4.0" + checksum: d1d486503e10e98bf124931e83d83e82cba1690d846190a8d196137d6c00ccbe47e7b84cc0b86cb3daffaaca22d32df5694ac0bcb28812139855b427857751f4 languageName: node linkType: hard @@ -3431,12 +3431,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.3.0" +"@typescript-eslint/typescript-estree@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.4.0" dependencies: - "@typescript-eslint/types": 8.3.0 - "@typescript-eslint/visitor-keys": 8.3.0 + "@typescript-eslint/types": 8.4.0 + "@typescript-eslint/visitor-keys": 8.4.0 debug: ^4.3.4 fast-glob: ^3.3.2 is-glob: ^4.0.3 @@ -3446,7 +3446,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: edfddfa895201be7cc6c83e8d4d72ce3e0877693bf109ced94dcd1496fc45ea9cceae08e1b8a451bee7df7f23748f79b80797ddf49d5e6c96d8f2053ce28e966 + checksum: 6ae4a2fb8c6066c9a893e4bd6b741e8ff45a4f17178d5e13dea41c414fa0f141f93f1b412c0a683aeb209c4e5781d4380bba51c513d439c6432136ab8823c83c languageName: node linkType: hard @@ -3485,17 +3485,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.3.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.3.0 - resolution: "@typescript-eslint/utils@npm:8.3.0" +"@typescript-eslint/utils@npm:8.4.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.4.0 + resolution: "@typescript-eslint/utils@npm:8.4.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.3.0 - "@typescript-eslint/types": 8.3.0 - "@typescript-eslint/typescript-estree": 8.3.0 + "@typescript-eslint/scope-manager": 8.4.0 + "@typescript-eslint/types": 8.4.0 + "@typescript-eslint/typescript-estree": 8.4.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 041cd2cef3d89d0b45c99a5226aadfa0b25fdd517842cf6dd864ae57fa28afb5f613f5589fe5138662025903de9df8e24ed7fe55486da46e971751405b5ed9fb + checksum: dc4975611815e8da8b54ed5fb4faa7a47a2f1d06c7df509c08b8d5603baf5eda3d56a02193955fce33f2ca7dafbb053610e9c7bd889799a1f6077b7d99a08cde languageName: node linkType: hard @@ -3519,13 +3519,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.3.0": - version: 8.3.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.3.0" +"@typescript-eslint/visitor-keys@npm:8.4.0": + version: 8.4.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.4.0" dependencies: - "@typescript-eslint/types": 8.3.0 + "@typescript-eslint/types": 8.4.0 eslint-visitor-keys: ^3.4.3 - checksum: 23a85ae0a3d693be1c9db92457727ab3f16cac3d1fb4950e29bfe2b0f4d186a755a71b2a347063cc94cf03b8dd1367502e0a60386eed71425f74c18fb686b0e8 + checksum: 000f375aaad20343d74cb71e3cf9295f60a0f9f5bc07bd15883bffcc3f7e25b69bb48b21f0cbb2805588a1bc309b9b9fd1162028872ee79c553c843bece6c9ac languageName: node linkType: hard @@ -3767,7 +3767,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7, array-includes@npm:^3.1.8": +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": version: 3.1.8 resolution: "array-includes@npm:3.1.8" dependencies: @@ -3802,21 +3802,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.3": - version: 1.2.5 - resolution: "array.prototype.findlastindex@npm:1.2.5" - dependencies: - call-bind: ^1.0.7 - define-properties: ^1.2.1 - es-abstract: ^1.23.2 - es-errors: ^1.3.0 - es-object-atoms: ^1.0.0 - es-shim-unscopables: ^1.0.2 - checksum: 2c81cff2a75deb95bf1ed89b6f5f2bfbfb882211e3b7cc59c3d6b87df774cd9d6b36949a8ae39ac476e092c1d4a4905f5ee11a86a456abb10f35f8211ae4e710 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1": version: 1.3.2 resolution: "array.prototype.flat@npm:1.3.2" dependencies: @@ -5402,7 +5388,7 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7, eslint-import-resolver-node@npm:^0.3.9": +"eslint-import-resolver-node@npm:^0.3.7": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: @@ -5413,7 +5399,7 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.4, eslint-module-utils@npm:^2.8.0": +"eslint-module-utils@npm:^2.7.4": version: 2.8.2 resolution: "eslint-module-utils@npm:2.8.2" dependencies: @@ -5475,33 +5461,6 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:^2.29.1": - version: 2.29.1 - resolution: "eslint-plugin-import@npm:2.29.1" - dependencies: - array-includes: ^3.1.7 - array.prototype.findlastindex: ^1.2.3 - array.prototype.flat: ^1.3.2 - array.prototype.flatmap: ^1.3.2 - debug: ^3.2.7 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.9 - eslint-module-utils: ^2.8.0 - hasown: ^2.0.0 - is-core-module: ^2.13.1 - is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.fromentries: ^2.0.7 - object.groupby: ^1.0.1 - object.values: ^1.1.7 - semver: ^6.3.1 - tsconfig-paths: ^3.15.0 - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: e65159aef808136d26d029b71c8c6e4cb5c628e65e5de77f1eb4c13a379315ae55c9c3afa847f43f4ff9df7e54515c77ffc6489c6a6f81f7dd7359267577468c - languageName: node - linkType: hard - "eslint-plugin-jest@npm:^26.5.3": version: 26.9.0 resolution: "eslint-plugin-jest@npm:26.9.0" @@ -5519,9 +5478,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-jest@npm:^28.8.0": - version: 28.8.0 - resolution: "eslint-plugin-jest@npm:28.8.0" +"eslint-plugin-jest@npm:^28.8.2": + version: 28.8.2 + resolution: "eslint-plugin-jest@npm:28.8.2" dependencies: "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependencies: @@ -5533,7 +5492,7 @@ __metadata: optional: true jest: optional: true - checksum: c3b39fbb8a1f3843bd6a5d05215e3c896d439fcb1a9959a1e892184c95da33ad2edd37b1c3a76199803ef78b5e6a9cdc0e67f1ac90405461619fe2d3b8d5a278 + checksum: ffb7cf1a537b91447a5914704018d0018456d83240b3982cd81d1c8e351bcacd5d71a36e3a92c50da7399b1b3b38370fb16c095bbdf6a282d6c232f665b7ea0e languageName: node linkType: hard @@ -6826,7 +6785,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.5.0": +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.5.0": version: 2.15.1 resolution: "is-core-module@npm:2.15.1" dependencies: @@ -8974,7 +8933,7 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.7, object.fromentries@npm:^2.0.8": +"object.fromentries@npm:^2.0.8": version: 2.0.8 resolution: "object.fromentries@npm:2.0.8" dependencies: @@ -8986,18 +8945,7 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.1": - version: 1.0.3 - resolution: "object.groupby@npm:1.0.3" - dependencies: - call-bind: ^1.0.7 - define-properties: ^1.2.1 - es-abstract: ^1.23.2 - checksum: 0d30693ca3ace29720bffd20b3130451dca7a56c612e1926c0a1a15e4306061d84410bdb1456be2656c5aca53c81b7a3661eceaa362db1bba6669c2c9b6d1982 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.1.7, object.values@npm:^1.2.0": +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": version: 1.2.0 resolution: "object.values@npm:1.2.0" dependencies: @@ -9796,6 +9744,9 @@ __metadata: "@types/three": ^0.167.2 "@webgpu/types": ^0.1.44 babel-plugin-module-resolver: ^5.0.0 + eslint: 8 + eslint-config-react-native-wcandillon: ^3.10.2 + eslint-plugin-import: 2.27.5 react: 18.2.0 react-native: 0.74.2 react-native-gesture-handler: ^2.17.1 @@ -9806,6 +9757,7 @@ __metadata: teapot: ^1.0.0 three: ^0.168.0 three-stdlib: ^2.32.2 + typescript: ^5.2.2 wgpu-matrix: ^3.0.2 languageName: unknown linkType: soft @@ -9814,15 +9766,7 @@ __metadata: version: 0.0.0-use.local resolution: "react-native-webgpu@workspace:." dependencies: - "@typescript-eslint/eslint-plugin": ^8.3.0 - "@typescript-eslint/parser": ^8.3.0 - eslint: 8 - eslint-config-react-native-wcandillon: ^3.10.2 - eslint-plugin-import: ^2.29.1 - eslint-plugin-jest: ^28.8.0 - eslint-plugin-prettier: ^5.2.1 turbo: ^2.1.0 - typescript: ^5.2.2 languageName: unknown linkType: soft @@ -9838,9 +9782,16 @@ __metadata: "@types/react": ^18.2.44 "@types/seedrandom": ^3.0.8 "@types/ws": ^8.5.10 + "@typescript-eslint/eslint-plugin": ^8.4.0 + "@typescript-eslint/parser": ^8.4.0 "@webgpu/types": ^0.1.44 clang-format: ^1.8.0 del-cli: ^5.1.0 + eslint: 8 + eslint-config-react-native-wcandillon: ^3.10.2 + eslint-plugin-import: 2.27.5 + eslint-plugin-jest: ^28.8.2 + eslint-plugin-prettier: ^5.2.1 jest: ^29.7.0 lodash: ^4.17.21 pixelmatch: 5.3.0 @@ -9855,7 +9806,7 @@ __metadata: teapot: ^1.0.0 ts-morph: ^22.0.0 ts-node: ^10.9.2 - turbo: ^1.10.7 + typescript: ^5.2.2 wgpu-matrix: ^3.0.2 ws: ^8.18.0 peerDependencies: @@ -11269,7 +11220,7 @@ __metadata: languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.1, tsconfig-paths@npm:^3.15.0": +"tsconfig-paths@npm:^3.14.1": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" dependencies: @@ -11306,13 +11257,6 @@ __metadata: languageName: node linkType: hard -"turbo-darwin-64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-darwin-64@npm:1.13.4" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "turbo-darwin-64@npm:2.1.0": version: 2.1.0 resolution: "turbo-darwin-64@npm:2.1.0" @@ -11320,13 +11264,6 @@ __metadata: languageName: node linkType: hard -"turbo-darwin-arm64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-darwin-arm64@npm:1.13.4" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "turbo-darwin-arm64@npm:2.1.0": version: 2.1.0 resolution: "turbo-darwin-arm64@npm:2.1.0" @@ -11334,13 +11271,6 @@ __metadata: languageName: node linkType: hard -"turbo-linux-64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-linux-64@npm:1.13.4" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "turbo-linux-64@npm:2.1.0": version: 2.1.0 resolution: "turbo-linux-64@npm:2.1.0" @@ -11348,13 +11278,6 @@ __metadata: languageName: node linkType: hard -"turbo-linux-arm64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-linux-arm64@npm:1.13.4" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "turbo-linux-arm64@npm:2.1.0": version: 2.1.0 resolution: "turbo-linux-arm64@npm:2.1.0" @@ -11362,13 +11285,6 @@ __metadata: languageName: node linkType: hard -"turbo-windows-64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-windows-64@npm:1.13.4" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "turbo-windows-64@npm:2.1.0": version: 2.1.0 resolution: "turbo-windows-64@npm:2.1.0" @@ -11376,13 +11292,6 @@ __metadata: languageName: node linkType: hard -"turbo-windows-arm64@npm:1.13.4": - version: 1.13.4 - resolution: "turbo-windows-arm64@npm:1.13.4" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "turbo-windows-arm64@npm:2.1.0": version: 2.1.0 resolution: "turbo-windows-arm64@npm:2.1.0" @@ -11390,35 +11299,6 @@ __metadata: languageName: node linkType: hard -"turbo@npm:^1.10.7": - version: 1.13.4 - resolution: "turbo@npm:1.13.4" - dependencies: - turbo-darwin-64: 1.13.4 - turbo-darwin-arm64: 1.13.4 - turbo-linux-64: 1.13.4 - turbo-linux-arm64: 1.13.4 - turbo-windows-64: 1.13.4 - turbo-windows-arm64: 1.13.4 - dependenciesMeta: - turbo-darwin-64: - optional: true - turbo-darwin-arm64: - optional: true - turbo-linux-64: - optional: true - turbo-linux-arm64: - optional: true - turbo-windows-64: - optional: true - turbo-windows-arm64: - optional: true - bin: - turbo: bin/turbo - checksum: 94533f700dbbb7b556a7152ef04500a44b571232daf1eb9bd82bcfebac473d0cf45a78c851325c6867246656cb0b3be7c62a412381b6e85c77c1eddf51302778 - languageName: node - linkType: hard - "turbo@npm:^2.1.0": version: 2.1.0 resolution: "turbo@npm:2.1.0"