@react-three/fiber 9.4.1 → 9.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @react-three/fiber
2
2
 
3
+ ## 9.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 3d445fd158b25eb380cd27bd2e01304016aa23e3: fix: Expo SDK 54 compatibility through workaround
8
+
3
9
  ## 9.4.1
4
10
 
5
11
  ### Patch Changes
@@ -1259,7 +1259,7 @@ useLoader.clear = function (loader, input) {
1259
1259
 
1260
1260
  var packageData = {
1261
1261
  name: "@react-three/fiber",
1262
- version: "9.4.1",
1262
+ version: "9.4.2",
1263
1263
  description: "A React renderer for Threejs",
1264
1264
  keywords: [
1265
1265
  "react",
@@ -1285,7 +1285,7 @@ useLoader.clear = function (loader, input) {
1285
1285
 
1286
1286
  var packageData = {
1287
1287
  name: "@react-three/fiber",
1288
- version: "9.4.1",
1288
+ version: "9.4.2",
1289
1289
  description: "A React renderer for Threejs",
1290
1290
  keywords: [
1291
1291
  "react",
@@ -1285,7 +1285,7 @@ useLoader.clear = function (loader, input) {
1285
1285
 
1286
1286
  var packageData = {
1287
1287
  name: "@react-three/fiber",
1288
- version: "9.4.1",
1288
+ version: "9.4.2",
1289
1289
  description: "A React renderer for Threejs",
1290
1290
  keywords: [
1291
1291
  "react",
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var events = require('./events-1d578043.cjs.dev.js');
5
+ var events = require('./events-c80effae.cjs.dev.js');
6
6
  var React = require('react');
7
7
  var THREE = require('three');
8
8
  var useMeasure = require('react-use-measure');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var events = require('./events-af6d715d.cjs.prod.js');
5
+ var events = require('./events-5c8d1731.cjs.prod.js');
6
6
  var React = require('react');
7
7
  var THREE = require('three');
8
8
  var useMeasure = require('react-use-measure');
@@ -1,5 +1,5 @@
1
- import { e as extend, u as useBridge, a as useMutableCallback, b as useIsomorphicLayoutEffect, c as createRoot, i as isRef, E as ErrorBoundary, B as Block, d as unmountComponentAtNode, f as createPointerEvents } from './events-2487ec62.esm.js';
2
- export { t as ReactThreeFiber, _ as _roots, x as act, k as addAfterEffect, j as addEffect, l as addTail, n as advance, s as applyProps, y as buildGraph, q as context, g as createEvents, o as createPortal, c as createRoot, w as dispose, f as events, e as extend, h as flushGlobalEffects, p as flushSync, v as getRootState, m as invalidate, r as reconciler, d as unmountComponentAtNode, D as useFrame, F as useGraph, z as useInstanceHandle, G as useLoader, A as useStore, C as useThree } from './events-2487ec62.esm.js';
1
+ import { e as extend, u as useBridge, a as useMutableCallback, b as useIsomorphicLayoutEffect, c as createRoot, i as isRef, E as ErrorBoundary, B as Block, d as unmountComponentAtNode, f as createPointerEvents } from './events-1eccaf1c.esm.js';
2
+ export { t as ReactThreeFiber, _ as _roots, x as act, k as addAfterEffect, j as addEffect, l as addTail, n as advance, s as applyProps, y as buildGraph, q as context, g as createEvents, o as createPortal, c as createRoot, w as dispose, f as events, e as extend, h as flushGlobalEffects, p as flushSync, v as getRootState, m as invalidate, r as reconciler, d as unmountComponentAtNode, D as useFrame, F as useGraph, z as useInstanceHandle, G as useLoader, A as useStore, C as useThree } from './events-1eccaf1c.esm.js';
3
3
  import * as React from 'react';
4
4
  import * as THREE from 'three';
5
5
  import useMeasure from 'react-use-measure';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var events = require('../../dist/events-1d578043.cjs.dev.js');
5
+ var events = require('../../dist/events-c80effae.cjs.dev.js');
6
6
  var React = require('react');
7
7
  var THREE = require('three');
8
8
  var reactNative = require('react-native');
@@ -10,7 +10,6 @@ var expoGl = require('expo-gl');
10
10
  var itsFine = require('its-fine');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
  var expoAsset = require('expo-asset');
13
- var fs = require('expo-file-system');
14
13
  var base64Js = require('base64-js');
15
14
  var buffer = require('buffer');
16
15
  require('react-reconciler/constants');
@@ -39,7 +38,6 @@ function _interopNamespace(e) {
39
38
 
40
39
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
41
40
  var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
42
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
43
41
 
44
42
  // TODO: React 19 needs support from react-native
45
43
  const _View = reactNative.View;
@@ -367,6 +365,16 @@ function createTouchEvents(store) {
367
365
  };
368
366
  }
369
367
 
368
+ // Conditionally import expo-file-system/legacy to support Expo 54
369
+ const getFileSystem = () => {
370
+ try {
371
+ return require('expo-file-system/legacy');
372
+ } catch {
373
+ return require('expo-file-system');
374
+ }
375
+ };
376
+ const fs = getFileSystem();
377
+
370
378
  // http://stackoverflow.com/questions/105034
371
379
  function uuidv4() {
372
380
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
@@ -405,9 +413,9 @@ async function getAsset(input) {
405
413
  if (input.startsWith('data:')) {
406
414
  const [header, data] = input.split(';base64,');
407
415
  const [, type] = header.split('/');
408
- const uri = fs__namespace.cacheDirectory + uuidv4() + `.${type}`;
409
- await fs__namespace.writeAsStringAsync(uri, data, {
410
- encoding: fs__namespace.EncodingType.Base64
416
+ const uri = fs.cacheDirectory + uuidv4() + `.${type}`;
417
+ await fs.writeAsStringAsync(uri, data, {
418
+ encoding: fs.EncodingType.Base64
411
419
  });
412
420
  return uri;
413
421
  }
@@ -419,8 +427,8 @@ async function getAsset(input) {
419
427
 
420
428
  // Unpack assets in Android Release Mode
421
429
  if (!uri.includes(':')) {
422
- const file = `${fs__namespace.cacheDirectory}ExponentAsset-${asset.hash}.${asset.type}`;
423
- await fs__namespace.copyAsync({
430
+ const file = `${fs.cacheDirectory}ExponentAsset-${asset.hash}.${asset.type}`;
431
+ await fs.copyAsync({
424
432
  from: uri,
425
433
  to: file
426
434
  });
@@ -514,8 +522,8 @@ function polyfills() {
514
522
  if (this.path && typeof url === 'string') url = this.path + url;
515
523
  this.manager.itemStart(url);
516
524
  getAsset(url).then(async uri => {
517
- const base64 = await fs__namespace.readAsStringAsync(uri, {
518
- encoding: fs__namespace.EncodingType.Base64
525
+ const base64 = await fs.readAsStringAsync(uri, {
526
+ encoding: fs.EncodingType.Base64
519
527
  });
520
528
  const data = buffer.Buffer.from(base64, 'base64');
521
529
  onLoad == null ? void 0 : onLoad(data.buffer);
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var events = require('../../dist/events-af6d715d.cjs.prod.js');
5
+ var events = require('../../dist/events-5c8d1731.cjs.prod.js');
6
6
  var React = require('react');
7
7
  var THREE = require('three');
8
8
  var reactNative = require('react-native');
@@ -10,7 +10,6 @@ var expoGl = require('expo-gl');
10
10
  var itsFine = require('its-fine');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
  var expoAsset = require('expo-asset');
13
- var fs = require('expo-file-system');
14
13
  var base64Js = require('base64-js');
15
14
  var buffer = require('buffer');
16
15
  require('react-reconciler/constants');
@@ -39,7 +38,6 @@ function _interopNamespace(e) {
39
38
 
40
39
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
41
40
  var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
42
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
43
41
 
44
42
  // TODO: React 19 needs support from react-native
45
43
  const _View = reactNative.View;
@@ -367,6 +365,16 @@ function createTouchEvents(store) {
367
365
  };
368
366
  }
369
367
 
368
+ // Conditionally import expo-file-system/legacy to support Expo 54
369
+ const getFileSystem = () => {
370
+ try {
371
+ return require('expo-file-system/legacy');
372
+ } catch {
373
+ return require('expo-file-system');
374
+ }
375
+ };
376
+ const fs = getFileSystem();
377
+
370
378
  // http://stackoverflow.com/questions/105034
371
379
  function uuidv4() {
372
380
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
@@ -405,9 +413,9 @@ async function getAsset(input) {
405
413
  if (input.startsWith('data:')) {
406
414
  const [header, data] = input.split(';base64,');
407
415
  const [, type] = header.split('/');
408
- const uri = fs__namespace.cacheDirectory + uuidv4() + `.${type}`;
409
- await fs__namespace.writeAsStringAsync(uri, data, {
410
- encoding: fs__namespace.EncodingType.Base64
416
+ const uri = fs.cacheDirectory + uuidv4() + `.${type}`;
417
+ await fs.writeAsStringAsync(uri, data, {
418
+ encoding: fs.EncodingType.Base64
411
419
  });
412
420
  return uri;
413
421
  }
@@ -419,8 +427,8 @@ async function getAsset(input) {
419
427
 
420
428
  // Unpack assets in Android Release Mode
421
429
  if (!uri.includes(':')) {
422
- const file = `${fs__namespace.cacheDirectory}ExponentAsset-${asset.hash}.${asset.type}`;
423
- await fs__namespace.copyAsync({
430
+ const file = `${fs.cacheDirectory}ExponentAsset-${asset.hash}.${asset.type}`;
431
+ await fs.copyAsync({
424
432
  from: uri,
425
433
  to: file
426
434
  });
@@ -514,8 +522,8 @@ function polyfills() {
514
522
  if (this.path && typeof url === 'string') url = this.path + url;
515
523
  this.manager.itemStart(url);
516
524
  getAsset(url).then(async uri => {
517
- const base64 = await fs__namespace.readAsStringAsync(uri, {
518
- encoding: fs__namespace.EncodingType.Base64
525
+ const base64 = await fs.readAsStringAsync(uri, {
526
+ encoding: fs.EncodingType.Base64
519
527
  });
520
528
  const data = buffer.Buffer.from(base64, 'base64');
521
529
  onLoad == null ? void 0 : onLoad(data.buffer);
@@ -1,5 +1,5 @@
1
- import { e as extend, u as useBridge, a as useMutableCallback, c as createRoot, b as useIsomorphicLayoutEffect, E as ErrorBoundary, B as Block, d as unmountComponentAtNode, f as createPointerEvents, g as createEvents } from '../../dist/events-2487ec62.esm.js';
2
- export { t as ReactThreeFiber, _ as _roots, x as act, k as addAfterEffect, j as addEffect, l as addTail, n as advance, s as applyProps, y as buildGraph, q as context, g as createEvents, o as createPortal, c as createRoot, w as dispose, e as extend, h as flushGlobalEffects, p as flushSync, v as getRootState, m as invalidate, r as reconciler, d as unmountComponentAtNode, D as useFrame, F as useGraph, z as useInstanceHandle, G as useLoader, A as useStore, C as useThree } from '../../dist/events-2487ec62.esm.js';
1
+ import { e as extend, u as useBridge, a as useMutableCallback, c as createRoot, b as useIsomorphicLayoutEffect, E as ErrorBoundary, B as Block, d as unmountComponentAtNode, f as createPointerEvents, g as createEvents } from '../../dist/events-1eccaf1c.esm.js';
2
+ export { t as ReactThreeFiber, _ as _roots, x as act, k as addAfterEffect, j as addEffect, l as addTail, n as advance, s as applyProps, y as buildGraph, q as context, g as createEvents, o as createPortal, c as createRoot, w as dispose, e as extend, h as flushGlobalEffects, p as flushSync, v as getRootState, m as invalidate, r as reconciler, d as unmountComponentAtNode, D as useFrame, F as useGraph, z as useInstanceHandle, G as useLoader, A as useStore, C as useThree } from '../../dist/events-1eccaf1c.esm.js';
3
3
  import * as React from 'react';
4
4
  import * as THREE from 'three';
5
5
  import { PanResponder, PixelRatio, StyleSheet, View, Platform, Image, NativeModules } from 'react-native';
@@ -7,7 +7,6 @@ import { GLView } from 'expo-gl';
7
7
  import { FiberProvider } from 'its-fine';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
9
9
  import { Asset } from 'expo-asset';
10
- import * as fs from 'expo-file-system';
11
10
  import { fromByteArray } from 'base64-js';
12
11
  import { Buffer } from 'buffer';
13
12
  import 'react-reconciler/constants';
@@ -342,6 +341,16 @@ function createTouchEvents(store) {
342
341
  };
343
342
  }
344
343
 
344
+ // Conditionally import expo-file-system/legacy to support Expo 54
345
+ const getFileSystem = () => {
346
+ try {
347
+ return require('expo-file-system/legacy');
348
+ } catch {
349
+ return require('expo-file-system');
350
+ }
351
+ };
352
+ const fs = getFileSystem();
353
+
345
354
  // http://stackoverflow.com/questions/105034
346
355
  function uuidv4() {
347
356
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/fiber",
3
- "version": "9.4.1",
3
+ "version": "9.4.2",
4
4
  "description": "A React renderer for Threejs",
5
5
  "keywords": [
6
6
  "react",