build: removing react-native. Aiming for 18.x react dependencies cross-workspace to avoid bugs. (#49)

This commit is contained in:
Christian Pillsbury
2025-10-10 10:24:02 -07:00
committed by GitHub
parent 358fe30f85
commit 284f63f33b
17 changed files with 36 additions and 447 deletions
@@ -1,45 +0,0 @@
{
"name": "@vjs-10/react-native-icons",
"type": "module",
"version": "0.1.0",
"description": "React Native icon library for Video.js",
"license": "Apache-2.0",
"keywords": [
"icons",
"react-native",
"media",
"player",
"mobile"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsdown",
"build:watch": "tsdown --watch --silent",
"dev": "pnpm run build:watch",
"test": "echo \"No tests yet\"",
"clean": "rm -rf dist"
},
"peerDependencies": {
"react": ">=16.8.0"
},
"devDependencies": {
"@types/react": "^18.0.0",
"react": "^18.0.0",
"tsdown": "^0.15.4",
"typescript": "^5.9.2"
},
"publishConfig": {
"access": "public"
}
}
@@ -1,35 +0,0 @@
import type { FC } from 'react';
import { createElement } from 'react';
export interface IconProps {
name: string;
size?: number;
color?: string;
}
export const Icon: FC<IconProps> = () => {
return createElement('div', { children: 'React Native Icon - Coming Soon' });
};
// Placeholder icon components
export const PlayIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Play Icon - Coming Soon' });
export const PauseIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Pause Icon - Coming Soon' });
export const StopIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Stop Icon - Coming Soon' });
export const VolumeUpIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Volume Up Icon - Coming Soon' });
export const VolumeOffIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Volume Off Icon - Coming Soon' });
export const FullscreenIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Fullscreen Icon - Coming Soon' });
export const ExitFullscreenIcon: FC<Omit<IconProps, 'name'>> = () =>
createElement('div', { children: 'Exit Fullscreen Icon - Coming Soon' });
@@ -1,4 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"]
}
@@ -1,12 +0,0 @@
{
"extends": "../../../tsconfig.base.json",
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "react",
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"]
}
@@ -1,12 +0,0 @@
import { defineConfig } from 'tsdown';
export default defineConfig({
entry: 'src/index.ts',
platform: 'neutral',
format: 'es',
sourcemap: true,
clean: true,
dts: {
oxc: true,
},
});
@@ -1,45 +0,0 @@
{
"name": "@vjs-10/react-native-media-elements",
"type": "module",
"version": "0.1.0",
"description": "React Native media element components, hooks, and utilities",
"license": "Apache-2.0",
"keywords": [
"media",
"react-native",
"video",
"audio",
"mobile"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsdown",
"build:watch": "tsdown --watch --silent",
"dev": "pnpm run build:watch",
"test": "echo \"No tests yet\"",
"clean": "rm -rf dist"
},
"peerDependencies": {
"react": ">=16.8.0"
},
"devDependencies": {
"@types/react": "^18.0.0",
"react": "^18.0.0",
"tsdown": "^0.15.4",
"typescript": "^5.9.2"
},
"publishConfig": {
"access": "public"
}
}
@@ -1,43 +0,0 @@
import { createElement, forwardRef } from 'react';
export interface MediaElementProps {
source?: { uri: string };
controls?: boolean;
paused?: boolean;
muted?: boolean;
volume?: number;
rate?: number;
repeat?: boolean;
resizeMode?: 'contain' | 'cover' | 'stretch';
onLoad?: (data: any) => void;
onProgress?: (data: any) => void;
onEnd?: () => void;
onError?: (error: any) => void;
style?: any; // React Native ViewStyle
}
export interface MediaElementRef {
currentTime: number;
duration: number;
paused: boolean;
ended: boolean;
volume: number;
muted: boolean;
playbackRate: number;
readyState: number;
networkState: number;
play: () => Promise<void>;
pause: () => void;
load: () => void;
seek: (time: number) => void;
}
export const VideoElement: React.ForwardRefExoticComponent<MediaElementProps> = forwardRef<
MediaElementRef,
MediaElementProps
>((_, __) => {
return createElement('div', { children: 'React Native VideoElement - Coming Soon' });
});
VideoElement.displayName = 'VideoElement';
@@ -1,4 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"]
}
@@ -1,12 +0,0 @@
{
"extends": "../../../tsconfig.base.json",
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "react",
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"]
}
@@ -1,12 +0,0 @@
import { defineConfig } from 'tsdown';
export default defineConfig({
entry: 'src/index.ts',
platform: 'neutral',
format: 'es',
sourcemap: true,
clean: true,
dts: {
oxc: true,
},
});
@@ -1,49 +0,0 @@
{
"name": "@vjs-10/react-native",
"type": "module",
"version": "0.1.0",
"description": "React Native library for building media players",
"license": "Apache-2.0",
"keywords": [
"media",
"player",
"react-native",
"mobile",
"components"
],
"exports": {
".": {
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
},
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"files": [
"dist"
],
"scripts": {
"build": "tsdown",
"build:watch": "tsdown --watch --silent",
"dev": "pnpm run build:watch",
"test": "echo \"No tests yet\"",
"clean": "rm -rf dist"
},
"peerDependencies": {
"react": ">=16.8.0"
},
"dependencies": {
"@vjs-10/react-native-icons": "workspace:*",
"@vjs-10/react-native-media-elements": "workspace:*"
},
"devDependencies": {
"@types/react": "^18.0.0",
"react": "^18.0.0",
"tsdown": "^0.15.4",
"typescript": "^5.9.2"
},
"publishConfig": {
"access": "public"
}
}
@@ -1,28 +0,0 @@
import { createElement } from 'react';
export interface PlayerProps {
source?: { uri: string };
controls?: boolean;
paused?: boolean;
muted?: boolean;
volume?: number;
rate?: number;
repeat?: boolean;
resizeMode?: 'contain' | 'cover' | 'stretch';
width?: number | string;
height?: number;
style?: any; // React Native ViewStyle
onPlay?: () => void;
onPause?: () => void;
onTimeUpdate?: (currentTime: number) => void;
onLoadedMetadata?: (duration: number) => void;
onVolumeChange?: (volume: number, muted: boolean) => void;
onEnd?: () => void;
}
export const Player: React.FC<PlayerProps> = () => {
return createElement('div', { children: 'React Native Player - Coming Soon' });
};
export * from '@vjs-10/react-native-icons';
export * from '@vjs-10/react-native-media-elements';
@@ -1,4 +0,0 @@
{
"extends": "./tsconfig.json",
"include": ["src"]
}
@@ -1,12 +0,0 @@
{
"extends": "../../../tsconfig.base.json",
"compilerOptions": {
"jsx": "react-jsx",
"jsxImportSource": "react",
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src"]
}
@@ -1,12 +0,0 @@
import { defineConfig } from 'tsdown';
export default defineConfig({
entry: 'src/index.ts',
platform: 'neutral',
format: 'es',
sourcemap: true,
clean: true,
dts: {
oxc: true,
},
});
+32 -114
View File
@@ -247,58 +247,6 @@ importers:
specifier: ^5.9.2
version: 5.9.2
packages/react-native/react-native:
dependencies:
'@vjs-10/react-native-icons':
specifier: workspace:*
version: link:../react-native-icons
'@vjs-10/react-native-media-elements':
specifier: workspace:*
version: link:../react-native-media-elements
devDependencies:
'@types/react':
specifier: ^18.0.0
version: 18.3.24
react:
specifier: ^18.0.0
version: 18.3.1
tsdown:
specifier: ^0.15.4
version: 0.15.4(typescript@5.9.2)
typescript:
specifier: ^5.9.2
version: 5.9.2
packages/react-native/react-native-icons:
devDependencies:
'@types/react':
specifier: ^18.0.0
version: 18.3.24
react:
specifier: ^18.0.0
version: 18.3.1
tsdown:
specifier: ^0.15.4
version: 0.15.4(typescript@5.9.2)
typescript:
specifier: ^5.9.2
version: 5.9.2
packages/react-native/react-native-media-elements:
devDependencies:
'@types/react':
specifier: ^18.0.0
version: 18.3.24
react:
specifier: ^18.0.0
version: 18.3.1
tsdown:
specifier: ^0.15.4
version: 0.15.4(typescript@5.9.2)
typescript:
specifier: ^5.9.2
version: 5.9.2
packages/react/react:
dependencies:
'@floating-ui/react':
@@ -409,10 +357,10 @@ importers:
dependencies:
'@astrojs/mdx':
specifier: ^4.3.6
version: 4.3.6(astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.2)(yaml@2.8.1))
version: 4.3.6(astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.3)(yaml@2.8.1))
'@astrojs/react':
specifier: ^4.4.0
version: 4.4.0(@types/node@22.18.6)(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(jiti@2.6.1)(lightningcss@1.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(yaml@2.8.1)
version: 4.4.0(@types/node@22.18.6)(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(jiti@2.6.1)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(yaml@2.8.1)
'@astrojs/rss':
specifier: ^4.0.12
version: 4.0.12
@@ -423,20 +371,20 @@ importers:
specifier: ^4.1.14
version: 4.1.14(vite@7.1.6(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(yaml@2.8.1))
'@types/react':
specifier: ^19.2.2
version: 19.2.2
specifier: ^18.0.0
version: 18.3.24
'@types/react-dom':
specifier: ^19.2.1
version: 19.2.1(@types/react@19.2.2)
specifier: ^18.0.0
version: 18.3.7(@types/react@18.3.24)
astro:
specifier: ^5.14.1
version: 5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.2)(yaml@2.8.1)
version: 5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.3)(yaml@2.8.1)
react:
specifier: ^19.2.0
version: 19.2.0
specifier: ^18.0.0
version: 18.3.1
react-dom:
specifier: ^19.2.0
version: 19.2.0(react@19.2.0)
specifier: ^18.0.0
version: 18.3.1(react@18.3.1)
sharp:
specifier: ^0.34.3
version: 0.34.4
@@ -1680,17 +1628,9 @@ packages:
peerDependencies:
'@types/react': ^18.0.0
'@types/react-dom@19.2.1':
resolution: {integrity: sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==}
peerDependencies:
'@types/react': ^19.2.0
'@types/react@18.3.24':
resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==}
'@types/react@19.2.2':
resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==}
'@types/sax@1.2.7':
resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
@@ -3830,11 +3770,6 @@ packages:
peerDependencies:
react: ^18.3.1
react-dom@19.2.0:
resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==}
peerDependencies:
react: ^19.2.0
react-refresh@0.17.0:
resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==}
engines: {node: '>=0.10.0'}
@@ -3843,10 +3778,6 @@ packages:
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
react@19.2.0:
resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==}
engines: {node: '>=0.10.0'}
readdirp@4.1.2:
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
engines: {node: '>= 14.18.0'}
@@ -4018,9 +3949,6 @@ packages:
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
scslre@0.3.0:
resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
engines: {node: ^14.0.0 || >=16.0.0}
@@ -4381,6 +4309,11 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
typescript@5.9.3:
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
engines: {node: '>=14.17'}
hasBin: true
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
@@ -4827,12 +4760,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/mdx@4.3.6(astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.2)(yaml@2.8.1))':
'@astrojs/mdx@4.3.6(astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.3)(yaml@2.8.1))':
dependencies:
'@astrojs/markdown-remark': 6.3.7
'@mdx-js/mdx': 3.1.1
acorn: 8.15.0
astro: 5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.2)(yaml@2.8.1)
astro: 5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.3)(yaml@2.8.1)
es-module-lexer: 1.7.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -4850,13 +4783,13 @@ snapshots:
dependencies:
prismjs: 1.30.0
'@astrojs/react@4.4.0(@types/node@22.18.6)(@types/react-dom@19.2.1(@types/react@19.2.2))(@types/react@19.2.2)(jiti@2.6.1)(lightningcss@1.30.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(yaml@2.8.1)':
'@astrojs/react@4.4.0(@types/node@22.18.6)(@types/react-dom@18.3.7(@types/react@18.3.24))(@types/react@18.3.24)(jiti@2.6.1)(lightningcss@1.30.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(yaml@2.8.1)':
dependencies:
'@types/react': 19.2.2
'@types/react-dom': 19.2.1(@types/react@19.2.2)
'@types/react': 18.3.24
'@types/react-dom': 18.3.7(@types/react@18.3.24)
'@vitejs/plugin-react': 4.7.0(vite@6.3.6(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(yaml@2.8.1))
react: 19.2.0
react-dom: 19.2.0(react@19.2.0)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
ultrahtml: 1.6.0
vite: 6.3.6(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(yaml@2.8.1)
transitivePeerDependencies:
@@ -5967,19 +5900,11 @@ snapshots:
dependencies:
'@types/react': 18.3.24
'@types/react-dom@19.2.1(@types/react@19.2.2)':
dependencies:
'@types/react': 19.2.2
'@types/react@18.3.24':
dependencies:
'@types/prop-types': 15.7.15
csstype: 3.1.3
'@types/react@19.2.2':
dependencies:
csstype: 3.1.3
'@types/sax@1.2.7':
dependencies:
'@types/node': 22.18.6
@@ -6250,7 +6175,7 @@ snapshots:
astring@1.9.0: {}
astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.2)(yaml@2.8.1):
astro@5.14.1(@types/node@22.18.6)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.0)(typescript@5.9.3)(yaml@2.8.1):
dependencies:
'@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.3
@@ -6300,7 +6225,7 @@ snapshots:
smol-toml: 1.4.2
tinyexec: 0.3.2
tinyglobby: 0.2.15
tsconfck: 3.1.6(typescript@5.9.2)
tsconfck: 3.1.6(typescript@5.9.3)
ultrahtml: 1.6.0
unifont: 0.5.2
unist-util-visit: 5.0.0
@@ -6313,7 +6238,7 @@ snapshots:
yocto-spinner: 0.2.3
zod: 3.25.76
zod-to-json-schema: 3.24.6(zod@3.25.76)
zod-to-ts: 1.2.0(typescript@5.9.2)(zod@3.25.76)
zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76)
optionalDependencies:
sharp: 0.34.4
transitivePeerDependencies:
@@ -8799,19 +8724,12 @@ snapshots:
react: 18.3.1
scheduler: 0.23.2
react-dom@19.2.0(react@19.2.0):
dependencies:
react: 19.2.0
scheduler: 0.27.0
react-refresh@0.17.0: {}
react@18.3.1:
dependencies:
loose-envify: 1.4.0
react@19.2.0: {}
readdirp@4.1.2: {}
recma-build-jsx@1.0.0:
@@ -9107,8 +9025,6 @@ snapshots:
dependencies:
loose-envify: 1.4.0
scheduler@0.27.0: {}
scslre@0.3.0:
dependencies:
'@eslint-community/regexpp': 4.12.1
@@ -9424,9 +9340,9 @@ snapshots:
ts-pattern@5.8.0: {}
tsconfck@3.1.6(typescript@5.9.2):
tsconfck@3.1.6(typescript@5.9.3):
optionalDependencies:
typescript: 5.9.2
typescript: 5.9.3
tsdown@0.15.4(typescript@5.9.2):
dependencies:
@@ -9525,6 +9441,8 @@ snapshots:
typescript@5.9.2: {}
typescript@5.9.3: {}
ufo@1.6.1: {}
ultrahtml@1.6.0: {}
@@ -9804,9 +9722,9 @@ snapshots:
dependencies:
zod: 3.25.76
zod-to-ts@1.2.0(typescript@5.9.2)(zod@3.25.76):
zod-to-ts@1.2.0(typescript@5.9.3)(zod@3.25.76):
dependencies:
typescript: 5.9.2
typescript: 5.9.3
zod: 3.25.76
zod-validation-error@4.0.2(zod@4.1.11):
+4 -4
View File
@@ -14,11 +14,11 @@
"@astrojs/rss": "^4.0.12",
"@astrojs/sitemap": "^3.6.0",
"@tailwindcss/vite": "^4.1.14",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.1",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"astro": "^5.14.1",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"sharp": "^0.34.3",
"simple-git": "^3.28.0",
"tailwindcss": "^4.1.14"