diff --git a/apps/common-app/package.json b/apps/common-app/package.json
index e32ea5c3..7f423fe5 100644
--- a/apps/common-app/package.json
+++ b/apps/common-app/package.json
@@ -6,6 +6,8 @@
"@react-navigation/native": "*",
"@react-navigation/native-stack": "*",
"@react-navigation/stack": "*",
+ "@shopify/react-native-skia": "*",
+ "@swmansion/icons": "*",
"react": "*",
"react-dom": "*",
"react-native": "*",
diff --git a/apps/common-app/src/App.tsx b/apps/common-app/src/App.tsx
index 299d66dd..2aa8f596 100644
--- a/apps/common-app/src/App.tsx
+++ b/apps/common-app/src/App.tsx
@@ -1,38 +1,55 @@
import React from 'react';
import type { FC } from 'react';
+import Animated from 'react-native-reanimated';
import { createStackNavigator } from '@react-navigation/stack';
-import { FlatList, StyleSheet, Text, Pressable } from 'react-native';
+import {
+ FlatList,
+ StyleSheet,
+ Text,
+ Pressable,
+ ListRenderItem,
+} from 'react-native';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import { NavigationContainer, useNavigation } from '@react-navigation/native';
import Container from './components/Container';
-import { Examples, MainStackProps } from './examples';
+import { Example, Examples, MainStackProps } from './examples';
import { layout, colors } from './styles';
+import { Spacer } from './components';
const Stack = createStackNavigator();
+// Our slider component uses the text prop to display shared value
+// We need it whitelisted in order to have it "animated".
+Animated.addWhitelistedNativeProps({ text: true });
+
+const ItemSeparatorComponent = () => ;
+
const HomeScreen: FC = () => {
const navigation = useNavigation();
+ const renderItem: ListRenderItem = ({ item }) => (
+ navigation.navigate(item.key)}
+ key={item.key}
+ style={({ pressed }) => [
+ styles.button,
+ { borderStyle: pressed ? 'solid' : 'dashed' },
+ ]}
+ >
+ {item.title}
+ {item.subtitle}
+
+ );
+
return (
-
+
(
- navigation.navigate(item.key)}
- key={item.key}
- style={({ pressed }) => [
- styles.button,
- { borderStyle: pressed ? 'solid' : 'dashed' },
- ]}
- >
- {item.title}
- {item.subtitle}
-
- )}
+ renderItem={renderItem}
keyExtractor={(item) => item.key}
+ contentContainerStyle={styles.scrollView}
+ ItemSeparatorComponent={ItemSeparatorComponent}
/>
);
@@ -44,8 +61,10 @@ const App: FC = () => {
{
+ const [size, setSize] = useState({ width: 0, height: 0 });
+
+ const onWrapperLayout = useCallback((event: LayoutChangeEvent) => {
+ setSize({
+ width: event.nativeEvent.layout.width,
+ height: event.nativeEvent.layout.height,
+ });
+ }, []);
+
+ return (
+
+
+
+ );
+};
+
+export default BGGradient;
+
+const styles = StyleSheet.create({
+ wrapper: {
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ },
+ canvas: {
+ width: '100%',
+ height: '100%',
+ },
+});
diff --git a/apps/common-app/src/components/Container.tsx b/apps/common-app/src/components/Container.tsx
index 4ffa84fb..335554e1 100644
--- a/apps/common-app/src/components/Container.tsx
+++ b/apps/common-app/src/components/Container.tsx
@@ -1,29 +1,42 @@
-/* eslint-disable react-native/no-inline-styles */
-import type { PropsWithChildren, FC } from 'react';
-import { StyleProp, ViewStyle } from 'react-native';
+import React, { PropsWithChildren } from 'react';
import { SafeAreaView } from 'react-native-safe-area-context';
+import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
+
+import BGGradient from './BGGradient';
+import { colors } from '../styles';
type ContainerProps = PropsWithChildren<{
style?: StyleProp;
centered?: boolean;
}>;
-const Container: FC = (props) => {
+const headerPadding = 120; // eyeballed
+
+const Container: React.FC = (props) => {
const { children, style, centered } = props;
+
return (
+
{children}
);
};
export default Container;
+
+const styles = StyleSheet.create({
+ basic: {
+ flex: 1,
+ padding: 24,
+ paddingTop: headerPadding,
+ backgroundColor: colors.background,
+ },
+ centered: {
+ alignItems: 'center',
+ justifyContent: 'center',
+ },
+});
diff --git a/apps/common-app/src/components/Select.tsx b/apps/common-app/src/components/Select.tsx
new file mode 100644
index 00000000..c85e61ca
--- /dev/null
+++ b/apps/common-app/src/components/Select.tsx
@@ -0,0 +1,121 @@
+import { useState } from 'react';
+// @ts-expect-error
+import { Icon } from '@swmansion/icons';
+import { ScrollView } from 'react-native-gesture-handler';
+import { Modal, View, Text, Pressable, StyleSheet } from 'react-native';
+
+import withSeparators from '../utils/withSeparators';
+import { colors } from '../styles';
+import Spacer from './Spacer';
+
+interface SelectProps {
+ value: T;
+ options: T[];
+ onChange: (value: T) => void;
+}
+
+function Select(props: SelectProps) {
+ const { options, value, onChange } = props;
+ const [isModalOpen, setModalOpen] = useState(false);
+
+ const renderSeparator = (index: number) => (
+
+ );
+
+ const renderOption = (option: T) => (
+ {
+ onChange(option);
+ setModalOpen(false);
+ }}
+ >
+
+
+
+ {option}
+
+
+ );
+
+ return (
+ <>
+ setModalOpen(true)}>
+
+ {value}
+
+
+
+
+
+ {
+ setModalOpen(false);
+ }}
+ />
+
+
+ {withSeparators(options, renderSeparator, renderOption)}
+
+
+
+ >
+ );
+}
+
+export default Select;
+
+const styles = StyleSheet.create({
+ selectBox: {
+ borderWidth: 1,
+ borderColor: colors.border,
+ borderRadius: 8,
+ flexDirection: 'row',
+ alignItems: 'center',
+ paddingHorizontal: 12,
+ },
+ selectText: {
+ flex: 1,
+ color: colors.white,
+ fontSize: 16,
+ paddingVertical: 12,
+ },
+ modalBg: {
+ backgroundColor: colors.modalBackdrop,
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ },
+ modalSpacer: {
+ flex: 3,
+ },
+ modalContainer: {
+ flex: 2,
+ backgroundColor: colors.background,
+ borderTopLeftRadius: 20,
+ borderTopRightRadius: 20,
+ padding: 24,
+ },
+ optionRow: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ separator: {
+ height: 1,
+ backgroundColor: colors.separator,
+ marginHorizontal: 12,
+ marginVertical: 6,
+ },
+});
diff --git a/apps/common-app/src/components/Slider.tsx b/apps/common-app/src/components/Slider.tsx
index d8b82be8..3e1b2aea 100644
--- a/apps/common-app/src/components/Slider.tsx
+++ b/apps/common-app/src/components/Slider.tsx
@@ -1,119 +1,205 @@
-import React from 'react';
-import { View, StyleSheet } from 'react-native';
-import { FC, useEffect, useCallback } from 'react';
+import React, { useEffect } from 'react';
+import {
+ View,
+ Text,
+ TextInput,
+ StyleSheet,
+ LayoutChangeEvent,
+} from 'react-native';
import { GestureDetector, Gesture } from 'react-native-gesture-handler';
import Animated, {
runOnJS,
+ withSpring,
useSharedValue,
+ useAnimatedProps,
useAnimatedStyle,
} from 'react-native-reanimated';
-import { layout, colors } from '../styles';
+import { colors } from '../styles';
+import Spacer from './Spacer';
interface SliderProps {
+ min: number;
+ max: number;
+ step: number;
+
value: number;
+ label?: string;
+ minLabelWidth?: number;
onValueChange: (value: number) => void;
- minimumValue: number;
- maximumValue: number;
- step: number;
}
-const SLIDER_WIDTH = 300;
-const HANDLE_SIZE = 20;
-const HANDLE_SPACING = 5;
-const MAX_OFFSET = SLIDER_WIDTH - HANDLE_SIZE - 10;
+const handleSize = 20;
+
+function valueToOffset(
+ value: number,
+ sliderWidth: number,
+ min: number,
+ max: number
+): number {
+ 'worklet';
+
+ return ((value - min) / (max - min)) * (sliderWidth - handleSize);
+}
+
+function offsetToValue(
+ offset: number,
+ sliderWidth: number,
+ min: number,
+ max: number
+): number {
+ 'worklet';
-const Slider: FC = (props) => {
- const { value, onValueChange, minimumValue, maximumValue, step } = props;
+ return (offset / (sliderWidth - handleSize)) * (max - min) + min;
+}
+
+function roundToStep(value: number, step: number): number {
+ 'worklet';
+
+ return Math.round(value / step) * step;
+}
+
+const AnimatedText = Animated.createAnimatedComponent(TextInput);
+
+const Slider: React.FC = (props) => {
+ const { value, onValueChange, min, max, step, label, minLabelWidth } = props;
const offset = useSharedValue(0);
+ const sValue = useSharedValue(0);
+ const sliderWidth = useSharedValue(0);
+
+ useEffect(() => {
+ offset.value = valueToOffset(value, sliderWidth.value, min, max);
+ sValue.value = value;
+ }, [value, min, max, sliderWidth, offset, sValue]);
- const convertOffsetToValue = useCallback(
- (offsetValue: number) => {
- const newValue =
- minimumValue +
- (offsetValue / MAX_OFFSET) * (maximumValue - minimumValue);
- const steppedValue = Math.round(newValue / step) * step;
- const clampedValue = Math.max(
- minimumValue,
- Math.min(steppedValue, maximumValue)
+ const pan = Gesture.Pan()
+ .onChange((event) => {
+ offset.value = Math.max(
+ 0,
+ Math.min(sliderWidth.value - handleSize, offset.value + event.changeX)
);
- onValueChange(clampedValue);
- },
- [minimumValue, maximumValue, step, onValueChange]
- );
+ sValue.value = offsetToValue(offset.value, sliderWidth.value, min, max);
+ })
+ .onEnd(() => {
+ runOnJS(onValueChange)(roundToStep(sValue.value, step));
+ });
- const convertValueToOffset = useCallback(
- (newValue: number) => {
- const fraction =
- (newValue - minimumValue) / (maximumValue - minimumValue);
- return fraction * MAX_OFFSET;
- },
- [minimumValue, maximumValue]
- );
+ const onSliderLayout = (event: LayoutChangeEvent) => {
+ sliderWidth.value = event.nativeEvent.layout.width;
- const pan = Gesture.Pan().onChange((event) => {
- offset.value =
- Math.abs(offset.value) <= MAX_OFFSET
- ? offset.value + event.changeX <= 0
- ? 0
- : offset.value + event.changeX >= MAX_OFFSET
- ? MAX_OFFSET
- : offset.value + event.changeX
- : offset.value;
-
- runOnJS(convertOffsetToValue)(offset.value);
- });
-
- const sliderStyle = useAnimatedStyle(() => {
- return {
- transform: [{ translateX: offset.value }],
- };
- });
+ offset.value = valueToOffset(
+ value,
+ event.nativeEvent.layout.width,
+ min,
+ max
+ );
- useEffect(() => {
- offset.value = convertValueToOffset(value);
- }, [
- value,
- minimumValue,
- maximumValue,
- convertOffsetToValue,
- offset,
- convertValueToOffset,
- ]);
+ sValue.value = value;
+ };
+
+ const handleStyle = useAnimatedStyle(() => ({
+ transform: [{ translateX: offset.value }],
+ }));
+
+ const fillStyle = useAnimatedStyle(() => ({
+ transform: [
+ { translateX: offset.value + handleSize / 2 - sliderWidth.value },
+ ],
+ }));
+
+ const valueTextProps = useAnimatedProps(() => ({
+ text: `${step < 1 ? roundToStep(sValue.value, step).toFixed(2) : roundToStep(sValue.value, step)}`,
+ defaultValue: `${roundToStep(sValue.value, step)}`,
+ }));
+
+ const valueTextStyle = useAnimatedStyle(() => ({
+ transform: [
+ {
+ translateX: withSpring(
+ sliderWidth.value > 0 && offset.value < 1.5 * handleSize
+ ? 1.5 * handleSize
+ : 0
+ ),
+ },
+ ],
+ }));
return (
-
-
-
-
-
+ {!!label && (
+ <>
+
+ {label}
+
+
+ >
+ )}
+
+
+
+
+
+
+
);
};
const styles = StyleSheet.create({
container: {
+ flexDirection: 'row',
+ },
+ label: {
+ fontSize: 16,
+ color: colors.white,
+ },
+ slider: {
+ flex: 1,
+ borderWidth: 1,
overflow: 'hidden',
- padding: layout.spacing,
+ height: handleSize,
+ borderColor: colors.border,
+ borderRadius: handleSize / 2,
},
- sliderTrack: {
- width: SLIDER_WIDTH,
- height: HANDLE_SIZE + 10,
+ fill: {
+ position: 'absolute',
+ zIndex: -1,
+ width: '100%',
+ marginTop: -1,
+ height: handleSize,
+ borderRadius: handleSize / 2,
backgroundColor: colors.main,
- borderRadius: 25,
- justifyContent: 'center',
- padding: layout.spacing,
},
- sliderHandle: {
- width: HANDLE_SIZE,
- height: HANDLE_SIZE,
- backgroundColor: colors.white,
- borderRadius: 20,
+ valueText: {
+ fontSize: 16,
+ fontWeight: '600',
+ color: colors.white,
position: 'absolute',
- left: HANDLE_SPACING,
+ left: 0,
+ right: 0,
+ top: 0,
+ bottom: 0,
+ paddingLeft: 12,
+ },
+ handle: {
+ marginTop: -1,
+ marginLeft: -1,
+ width: handleSize,
+ height: handleSize,
+ borderColor: colors.border,
+ borderRadius: handleSize / 2,
+ backgroundColor: colors.white,
},
});
diff --git a/apps/common-app/src/components/index.ts b/apps/common-app/src/components/index.ts
index 35bc36c9..52e9cf67 100644
--- a/apps/common-app/src/components/index.ts
+++ b/apps/common-app/src/components/index.ts
@@ -4,4 +4,6 @@ export { default as Button } from './Button';
export { default as Slider } from './Slider';
export { default as Spacer } from './Spacer';
export { default as Switch } from './Switch';
+export { default as Select } from './Select';
export { default as Container } from './Container';
+export { default as BGGradient } from './BGGradient';
diff --git a/apps/common-app/src/examples/DrumMachine/BGGradient.tsx b/apps/common-app/src/examples/DrumMachine/BGGradient.tsx
new file mode 100644
index 00000000..e69de29b
diff --git a/apps/common-app/src/examples/DrumMachine/DrumMachine.tsx b/apps/common-app/src/examples/DrumMachine/DrumMachine.tsx
index 38f27177..5b0997ac 100644
--- a/apps/common-app/src/examples/DrumMachine/DrumMachine.tsx
+++ b/apps/common-app/src/examples/DrumMachine/DrumMachine.tsx
@@ -1,150 +1,168 @@
-import { Text, View } from 'react-native';
-import { AudioContext } from 'react-native-audio-api';
-import { useState, useRef, useEffect, FC } from 'react';
-
-import { Container, Steps, Spacer, Slider, Button } from '../../components';
-import { Sounds, SoundName } from '../../types';
-import { Kick, Clap, HiHat, Scheduler } from '../SharedUtils';
-
-const initialBpm = 120;
-
-const STEPS: Sounds = [
- { name: 'kick', steps: new Array(8).fill(false) },
- { name: 'clap', steps: new Array(8).fill(false) },
- { name: 'hi-hat', steps: new Array(8).fill(false) },
-];
-
-const DrumMachine: FC = () => {
- const audioContextRef = useRef(null);
- const schedulerRef = useRef(null);
- const kickRef = useRef(null);
- const hiHatRef = useRef(null);
- const clapRef = useRef(null);
-
- const [sounds, setSounds] = useState(STEPS);
- const [isPlaying, setIsPlaying] = useState(false);
+import { Canvas } from '@shopify/react-native-skia';
+import React, { useState, useCallback } from 'react';
+import { GestureDetector } from 'react-native-gesture-handler';
+import { LayoutChangeEvent, StyleSheet, View } from 'react-native';
+
+import { Select, Slider, Spacer, Container } from '../../components';
+import { colors } from '../../styles';
+
+import { Pattern, type XYWHRect } from './types';
+import { size, initialBpm } from './constants';
+import NotesHighlight from './NotesHighlight';
+import PatternShape from './PatternShape';
+import useGestures from './useGestures';
+import PlayButton from './PlayButton';
+import usePlayer from './usePlayer';
+import presets from './presets';
+import Grid from './Grid';
+
+const defaultPreset = 'Empty';
+
+const DrumMachine: React.FC = () => {
+ const [preset, setPreset] = useState(defaultPreset);
const [bpm, setBpm] = useState(initialBpm);
- const handleStepClick = (name: SoundName, idx: number) => {
- setSounds((prevSounds) => {
- const newSounds = [...prevSounds];
- const steps = newSounds.find((sound) => sound.name === name)?.steps;
- if (steps) {
- steps[idx] = !steps[idx];
+ const [patterns, setPatterns] = useState([
+ ...presets[defaultPreset].pattern,
+ ]);
+
+ const player = usePlayer({
+ bpm,
+ patterns,
+ notesPerBeat: 2,
+ });
+
+ const [canvasRect, setCanvasRect] = useState({
+ x: 0,
+ y: 0,
+ width: 0,
+ height: 0,
+ });
+
+ const onPatternChange = useCallback(
+ (patternIdx: number, stepIdx: number) => {
+ if (preset !== 'Custom') {
+ setPreset('Custom');
}
- if (schedulerRef.current) {
- schedulerRef.current.steps = newSounds;
- }
- return newSounds;
- });
- };
- const handleBpmChange = (newBpm: number) => {
- handlePause();
- setBpm(newBpm);
- if (schedulerRef.current) {
- schedulerRef.current.bpm = newBpm;
- }
- };
+ setPatterns((prevPatterns) => {
+ const newPatterns = [...prevPatterns].map((pattern, idx) => {
+ if (idx !== patternIdx) {
+ return { ...pattern, steps: [...pattern.steps] };
+ }
- const handlePause = () => {
- setIsPlaying(false);
- schedulerRef.current?.stop();
- };
+ const newPattern = { ...pattern, steps: [...pattern.steps] };
+ newPattern.steps[stepIdx] = !newPattern.steps[stepIdx];
- const handlePlayPause = () => {
- if (!audioContextRef.current || !schedulerRef.current) {
- return;
- }
-
- if (!isPlaying) {
- setIsPlaying(true);
- schedulerRef.current.start();
- } else {
- setIsPlaying(false);
- schedulerRef.current.stop();
- }
- };
-
- const playSound = (name: SoundName, time: number) => {
- if (!audioContextRef.current || !schedulerRef.current) {
- return;
- }
-
- if (!kickRef.current) {
- kickRef.current = new Kick(audioContextRef.current);
- }
-
- if (!hiHatRef.current) {
- hiHatRef.current = new HiHat(audioContextRef.current);
- }
+ return newPattern;
+ });
- if (!clapRef.current) {
- clapRef.current = new Clap(audioContextRef.current);
- }
+ return newPatterns;
+ });
+ },
+ [preset]
+ );
- switch (name) {
- case 'kick':
- kickRef.current.play(time);
- break;
- case 'hi-hat':
- hiHatRef.current.play(time);
- break;
- case 'clap':
- clapRef.current.play(time);
- break;
- default:
- break;
- }
- };
+ const onSetPreset = useCallback(
+ (newPreset: string) => {
+ setPreset(newPreset);
- useEffect(() => {
- if (!audioContextRef.current) {
- audioContextRef.current = new AudioContext();
- }
+ if (newPreset !== 'Custom') {
+ setBpm(presets[newPreset].bpm);
+ setPatterns([...presets[newPreset].pattern]);
+ }
+ },
+ [setPreset]
+ );
- if (!schedulerRef.current) {
- const scheduler = new Scheduler(
- initialBpm,
- 8,
- audioContextRef.current,
- STEPS,
- playSound
- );
- schedulerRef.current = scheduler;
+ const onPlayPress = useCallback(() => {
+ if (player.isPlaying) {
+ player.stop();
+ } else {
+ player.play();
}
-
- return () => {
- schedulerRef.current?.stop();
- audioContextRef.current?.close();
- };
+ }, [player]);
+
+ const onCanvasLayout = useCallback((event: LayoutChangeEvent) => {
+ setCanvasRect({
+ x: event.nativeEvent.layout.x,
+ y: event.nativeEvent.layout.y,
+ width: event.nativeEvent.layout.width,
+ height: event.nativeEvent.layout.height,
+ });
}, []);
+ const gesture = useGestures({ canvasRect, onPatternChange });
+
return (
-
-
-
- bpm: {bpm}
-
-
+
- {sounds.map(({ name, steps }) => (
-
- ))}
+
+
+
+
+
+
+
+
+
+
);
};
export default DrumMachine;
+
+const styles = StyleSheet.create({
+ screen: {
+ backgroundColor: colors.background,
+ flex: 1,
+ position: 'relative',
+ },
+ container: {
+ flex: 1,
+ position: 'relative',
+ alignItems: 'center',
+ },
+ row: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ label: {
+ fontSize: 16,
+ color: colors.white,
+ },
+});
diff --git a/apps/common-app/src/examples/DrumMachine/Grid.tsx b/apps/common-app/src/examples/DrumMachine/Grid.tsx
new file mode 100644
index 00000000..b60d1f8e
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/Grid.tsx
@@ -0,0 +1,72 @@
+import React, { memo } from 'react';
+import { StyleSheet } from 'react-native';
+import { Line, Circle, Paint, vec } from '@shopify/react-native-skia';
+
+import { colors } from '../../styles';
+import { numBeats, cPoint, maxSize, buttonRadius } from './constants';
+import { getAngle, getPointCX, getPointCY } from './utils';
+import type { Instrument } from './types';
+import instruments from './instruments';
+
+const points = Array(numBeats).fill(0);
+
+const Grid: React.FC = () => {
+ const renderLine = (index: number) => {
+ const angle = getAngle(index);
+ const x = getPointCX(angle, maxSize / 2, cPoint.x);
+ const y = getPointCY(angle, maxSize / 2, cPoint.y);
+
+ return (
+
+ );
+ };
+
+ const renderTouchPoint = (instrument: Instrument, index: number) => {
+ const angle = getAngle(index);
+ const x = getPointCX(angle, instrument.radius, cPoint.x);
+ const y = getPointCY(angle, instrument.radius, cPoint.y);
+
+ return (
+
+ );
+ };
+
+ const renderInstrument = (instrument: Instrument) => (
+
+
+
+
+ {points.map((_, index) => renderTouchPoint(instrument, index))}
+
+ );
+
+ return (
+ <>
+ {points.map((_, index) => renderLine(index))}
+ {instruments.map(renderInstrument)}
+ >
+ );
+};
+
+export default memo(Grid);
diff --git a/apps/common-app/src/examples/DrumMachine/NotesHighlight.tsx b/apps/common-app/src/examples/DrumMachine/NotesHighlight.tsx
new file mode 100644
index 00000000..f8cbfe35
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/NotesHighlight.tsx
@@ -0,0 +1,67 @@
+import React, { memo } from 'react';
+import { Circle, Paint } from '@shopify/react-native-skia';
+import { SharedValue, useDerivedValue } from 'react-native-reanimated';
+
+import { cPoint, buttonRadius } from './constants';
+import { getPointCX, getPointCY } from './utils';
+import instruments from './instruments';
+import { Instrument } from './types';
+
+interface NotesHighlightProps {
+ progressSV: SharedValue;
+ playingNotes: SharedValue;
+}
+
+interface NoteHighlightProps {
+ index: number;
+ instrument: Instrument;
+ progressSV: SharedValue;
+ playingNotes: SharedValue;
+}
+
+const NoteHighlight: React.FC = (props) => {
+ const { instrument, progressSV, playingNotes } = props;
+
+ const angle = useDerivedValue(
+ () => progressSV.value * Math.PI * 2 - Math.PI / 2
+ );
+
+ const cX = useDerivedValue(() =>
+ getPointCX(angle.value, instrument.radius, cPoint.x)
+ );
+ const cY = useDerivedValue(() =>
+ getPointCY(angle.value, instrument.radius, cPoint.y)
+ );
+
+ const r = useDerivedValue(() =>
+ playingNotes.value[props.index] ? buttonRadius * 1.5 : buttonRadius
+ );
+
+ const color = useDerivedValue(() =>
+ playingNotes.value[props.index]
+ ? `${instrument.color}55`
+ : `${instrument.color}00`
+ );
+
+ return (
+
+
+
+
+ );
+};
+
+const NotesHighlight: React.FC = (props) => (
+ <>
+ {instruments.map((instrument, index) => (
+
+ ))}
+ >
+);
+
+export default memo(NotesHighlight);
diff --git a/apps/common-app/src/examples/DrumMachine/PatternShape.tsx b/apps/common-app/src/examples/DrumMachine/PatternShape.tsx
new file mode 100644
index 00000000..2bd1f6c5
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/PatternShape.tsx
@@ -0,0 +1,82 @@
+import React, { useMemo } from 'react';
+import { Circle, Paint, Path, vec, Skia } from '@shopify/react-native-skia';
+
+import { getAngle, getPointCX, getPointCY } from './utils';
+import instruments from './instruments';
+import type { Pattern } from './types';
+import { buttonRadius, cPoint } from './constants';
+
+interface PatternShapeProps {
+ pattern: Pattern;
+}
+
+const PatternShape: React.FC = (props) => {
+ const { pattern } = props;
+
+ const instrument = useMemo(
+ () => instruments.find((ins) => ins.name === pattern.instrumentName),
+ [pattern.instrumentName]
+ );
+
+ const { path, points } = useMemo(() => {
+ if (!instrument) {
+ return {};
+ }
+
+ const pathPoints = pattern.steps
+ .map((enabled, index) => {
+ if (!enabled) {
+ return null;
+ }
+
+ const angle = getAngle(index);
+ const x = getPointCX(angle, instrument.radius, cPoint.x);
+ const y = getPointCY(angle, instrument.radius, cPoint.y);
+
+ return vec(x, y);
+ })
+ .filter((point) => !!point);
+
+ if (!pathPoints.length) {
+ return {};
+ }
+
+ pathPoints.push(pathPoints[0]);
+
+ const skPath = Skia.Path.Make();
+
+ skPath.moveTo(pathPoints[0].x, pathPoints[0].y);
+
+ pathPoints.slice(1).forEach((point) => {
+ skPath.lineTo(point.x, point.y);
+ });
+
+ skPath.close();
+
+ return { path: skPath, points: pathPoints };
+ }, [pattern, instrument]);
+
+ if (!path || !instrument) {
+ return null;
+ }
+
+ return (
+ <>
+
+
+
+
+ {points.map((point, index) => (
+
+ ))}
+ >
+ );
+};
+
+export default PatternShape;
diff --git a/apps/common-app/src/examples/DrumMachine/PlayButton.tsx b/apps/common-app/src/examples/DrumMachine/PlayButton.tsx
new file mode 100644
index 00000000..d90473a3
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/PlayButton.tsx
@@ -0,0 +1,108 @@
+import Animated, {
+ withTiming,
+ SharedValue,
+ useAnimatedStyle,
+} from 'react-native-reanimated';
+import React, { memo } from 'react';
+// @ts-expect-error
+import { Icon } from '@swmansion/icons';
+import { Pressable, StyleSheet } from 'react-native';
+
+import { colors } from '../../styles';
+import type { XYWHRect } from './types';
+import { size } from './constants';
+
+interface PlayButtonProps {
+ isPlaying?: boolean;
+ onPress: () => void;
+
+ canvasRect: XYWHRect;
+ playingNotes: SharedValue;
+}
+
+interface PlayButtonInnerProps {
+ pressed: boolean;
+ isPlaying?: boolean;
+ playingNotes: SharedValue;
+}
+
+const timingOptions = {
+ duration: 25,
+};
+
+const PlayButtonInner: React.FC = (props) => {
+ const { pressed, isPlaying, playingNotes } = props;
+
+ const containerStyle = useAnimatedStyle(() => {
+ const shouldPlay = playingNotes.value[2];
+
+ return {
+ transform: [
+ {
+ scale: withTiming(pressed || shouldPlay ? 1.15 : 1, timingOptions),
+ },
+ ],
+ };
+ });
+
+ return (
+
+
+
+ );
+};
+
+const PlayButton: React.FC = (props) => {
+ const { canvasRect, onPress, isPlaying, playingNotes } = props;
+
+ return (
+
+ {({ pressed }) => (
+
+ )}
+
+ );
+};
+
+export default memo(PlayButton);
+
+const styles = StyleSheet.create({
+ playButton: {
+ width: 60,
+ height: 60,
+ borderRadius: 30,
+ position: 'absolute',
+ },
+ playButtonInner: {
+ backgroundColor: colors.main,
+ width: 60,
+ height: 60,
+ borderRadius: 30,
+ justifyContent: 'center',
+ alignItems: 'center',
+ borderWidth: StyleSheet.hairlineWidth,
+ borderColor: colors.white,
+ },
+ playButtonText: {
+ color: colors.white,
+ fontSize: 18,
+ },
+});
diff --git a/apps/common-app/src/examples/DrumMachine/constants.ts b/apps/common-app/src/examples/DrumMachine/constants.ts
new file mode 100644
index 00000000..ed1338f9
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/constants.ts
@@ -0,0 +1,21 @@
+import { Dimensions } from 'react-native';
+import type { XYPoint } from './types';
+
+export const screenSize = Dimensions.get('screen');
+export const size = Math.min(screenSize.width, screenSize.height);
+
+export const padding = 24;
+
+export const maxSize =
+ Math.min(screenSize.width, screenSize.height) - padding * 2;
+
+export const initialBpm = 120;
+export const numBeats = 16;
+export const noteDensity = 2;
+
+export const buttonRadius = 8;
+
+export const cPoint: XYPoint = {
+ x: size / 2,
+ y: size / 2,
+};
diff --git a/apps/common-app/src/examples/DrumMachine/index.tsx b/apps/common-app/src/examples/DrumMachine/index.ts
similarity index 100%
rename from apps/common-app/src/examples/DrumMachine/index.tsx
rename to apps/common-app/src/examples/DrumMachine/index.ts
diff --git a/apps/common-app/src/examples/DrumMachine/instruments.ts b/apps/common-app/src/examples/DrumMachine/instruments.ts
new file mode 100644
index 00000000..f120da39
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/instruments.ts
@@ -0,0 +1,24 @@
+import { maxSize } from './constants';
+import type { Instrument } from './types';
+
+export const HiHat: Instrument = {
+ name: 'hi-hat',
+ color: '#38ACDD',
+ radius: maxSize / 2,
+};
+
+const Clap: Instrument = {
+ name: 'clap',
+ color: '#57B495',
+ radius: (maxSize / 2) * 0.8,
+};
+
+const Kick: Instrument = {
+ name: 'kick',
+ color: '#FFD61E',
+ radius: (maxSize / 2) * 0.6,
+};
+
+const instruments: Array = [HiHat, Clap, Kick];
+
+export default instruments;
diff --git a/apps/common-app/src/examples/DrumMachine/presets.ts b/apps/common-app/src/examples/DrumMachine/presets.ts
new file mode 100644
index 00000000..f93f4808
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/presets.ts
@@ -0,0 +1,510 @@
+import type { Preset } from './types';
+import { numBeats } from './constants';
+
+const Empty: Preset = {
+ name: 'Empty',
+ bpm: 120,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(false),
+ },
+ {
+ instrumentName: 'clap',
+ steps: new Array(numBeats).fill(false),
+ },
+ {
+ instrumentName: 'kick',
+ steps: new Array(numBeats).fill(false),
+ },
+ ],
+};
+
+const BosaNova: Preset = {
+ name: 'Bosa Nova',
+ bpm: 120,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(true),
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ ],
+ },
+ ],
+};
+
+const basicGroove: Preset = {
+ name: 'Rock Groove 1',
+ bpm: 120,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(true),
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const basicGroove2: Preset = {
+ name: 'Rock Groove 2',
+ bpm: 120,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(true),
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const basicGroove3: Preset = {
+ name: 'Rock Groove 3',
+ bpm: 120,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(true),
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const BreakBeat1: Preset = {
+ name: 'Break Beat 1',
+ bpm: 240,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: [
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const BreakBeat2: Preset = {
+ name: 'Break Beat 2',
+ bpm: 188,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: [
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ true,
+ true,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const LinearGroove: Preset = {
+ name: 'Linear Groove',
+ bpm: 105,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: [
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ true,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ true,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const WWRYGroove: Preset = {
+ name: 'WWRY',
+ bpm: 81,
+ pattern: [
+ {
+ instrumentName: 'hi-hat',
+ steps: new Array(numBeats).fill(false),
+ },
+ {
+ instrumentName: 'clap',
+ steps: [
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ true,
+ false,
+ ],
+ },
+ {
+ instrumentName: 'kick',
+ steps: [
+ true,
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ true,
+ true,
+ false,
+ false,
+ ],
+ },
+ ],
+};
+
+const presets: Record = {
+ Empty,
+ 'Bosa Nova': BosaNova,
+ 'Rock Groove 1': basicGroove,
+ 'Rock Groove 2': basicGroove2,
+ 'Rock Groove 3': basicGroove3,
+ 'Break Beat 1': BreakBeat1,
+ 'Break Beat 2': BreakBeat2,
+ 'Linear Groove': LinearGroove,
+ 'WWRY': WWRYGroove,
+};
+
+export default presets;
diff --git a/apps/common-app/src/examples/DrumMachine/types.ts b/apps/common-app/src/examples/DrumMachine/types.ts
new file mode 100644
index 00000000..445cf6f9
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/types.ts
@@ -0,0 +1,37 @@
+export type InstrumentName = 'kick' | 'clap' | 'hi-hat';
+
+export interface Instrument {
+ color: string;
+ radius: number;
+ name: InstrumentName;
+}
+
+export interface Touché {
+ cX: number;
+ cY: number;
+ stepIdx: number;
+ patternIdx: number;
+}
+
+export interface Pattern {
+ instrumentName: InstrumentName;
+ steps: Array;
+}
+
+export interface Preset {
+ name: string;
+ bpm: number;
+ pattern: Pattern[];
+}
+
+export interface XYWHRect {
+ x: number;
+ y: number;
+ width: number;
+ height: number;
+}
+
+export interface XYPoint {
+ x: number;
+ y: number;
+}
diff --git a/apps/common-app/src/examples/DrumMachine/useGestures.ts b/apps/common-app/src/examples/DrumMachine/useGestures.ts
new file mode 100644
index 00000000..fe30f0ff
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/useGestures.ts
@@ -0,0 +1,104 @@
+import { runOnJS, useSharedValue } from 'react-native-reanimated';
+import {
+ Gesture,
+ GestureUpdateEvent,
+ PanGestureHandlerEventPayload,
+ TapGestureHandlerEventPayload,
+} from 'react-native-gesture-handler';
+
+import { getAngle, getPointCX, getPointCY, isPointInCircle } from './utils';
+import { numBeats, buttonRadius, cPoint } from './constants';
+import type { Touché, XYWHRect } from './types';
+import Instruments from './instruments';
+import { useMemo } from 'react';
+
+interface GestureParams {
+ canvasRect: XYWHRect;
+ touchRadius?: number;
+ onPatternChange: (pattern: number, stepIdx: number) => void;
+}
+
+const initialHovers = Array(Instruments.length * numBeats).fill(false);
+
+export default function useGestures(params: GestureParams) {
+ const {
+ canvasRect,
+ onPatternChange,
+ touchRadius = buttonRadius * 2,
+ } = params;
+ const hovers = useSharedValue(initialHovers);
+
+ const touchés = useMemo(() => {
+ const tArray: Touché[] = [];
+
+ Instruments.forEach((instrument, index) => {
+ for (let i = 0; i < numBeats; i++) {
+ const angle = getAngle(i);
+ const x = getPointCX(angle, instrument.radius, cPoint.x);
+ const y = getPointCY(angle, instrument.radius, cPoint.y);
+
+ tArray.push({
+ cX: x,
+ cY: y,
+ stepIdx: i,
+ patternIdx: index,
+ });
+ }
+ });
+
+ return tArray;
+ }, []);
+
+ function onPanEvent(
+ event: GestureUpdateEvent
+ ) {
+ 'worklet';
+ const x = event.x - canvasRect.x;
+ const y = event.y - canvasRect.y;
+
+ touchés.forEach((touché, index) => {
+ const isHovering = isPointInCircle(
+ x,
+ y,
+ touché.cX,
+ touché.cY,
+ touchRadius
+ );
+
+ if (isHovering && !hovers.value[index]) {
+ hovers.value[index] = true;
+ runOnJS(onPatternChange)(touché.patternIdx, touché.stepIdx);
+ } else if (!isHovering && hovers.value[index]) {
+ hovers.value[index] = false;
+ }
+ });
+ }
+
+ function onTapEvent(
+ event: GestureUpdateEvent
+ ) {
+ 'worklet';
+
+ const x = event.x - canvasRect.x;
+ const y = event.y - canvasRect.y;
+
+ touchés.forEach((touché) => {
+ if (isPointInCircle(x, y, touché.cX, touché.cY, touchRadius)) {
+ runOnJS(onPatternChange)(touché.patternIdx, touché.stepIdx);
+ }
+ });
+ }
+
+ const pan = Gesture.Pan()
+ .onStart(onPanEvent)
+ .onChange(onPanEvent)
+ .onEnd(() => {
+ for (let i = 0; i < initialHovers.length; i++) {
+ hovers.value[i] = false;
+ }
+ });
+
+ const tap = Gesture.Tap().onEnd(onTapEvent);
+
+ return Gesture.Simultaneous(pan, tap);
+}
diff --git a/apps/common-app/src/examples/DrumMachine/usePlayer.tsx b/apps/common-app/src/examples/DrumMachine/usePlayer.tsx
new file mode 100644
index 00000000..4ab15e35
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/usePlayer.tsx
@@ -0,0 +1,157 @@
+import { AudioContext } from 'react-native-audio-api';
+import { useSharedValue } from 'react-native-reanimated';
+import { useRef, useState, useCallback, useLayoutEffect } from 'react';
+
+import type { InstrumentName, Pattern } from './types';
+import { Kick, HiHat, Clap } from '../SharedUtils';
+import { numBeats } from './constants';
+
+interface PlayerOptions {
+ bpm: number;
+ patterns: Pattern[];
+ notesPerBeat: number;
+}
+
+function r(ref: React.MutableRefObject) {
+ return ref.current;
+}
+
+export default function usePlayer(options: PlayerOptions) {
+ const { bpm, patterns, notesPerBeat } = options;
+
+ const [isPlaying, setIsPlaying] = useState(false);
+
+ const bpmRef = useRef(bpm);
+ const patternsRef = useRef(patterns);
+ const isPlayingRef = useRef(isPlaying);
+ const notesPerBeatRef = useRef(notesPerBeat);
+
+ const progressSV = useSharedValue(0);
+ const currentBeat = useSharedValue(0);
+ const playingNotes = useSharedValue(
+ Array(patterns.length).fill(false)
+ );
+
+ useLayoutEffect(() => {
+ bpmRef.current = bpm;
+ patternsRef.current = patterns;
+ isPlayingRef.current = isPlaying;
+ notesPerBeatRef.current = notesPerBeat;
+ }, [bpm, patterns, isPlaying, notesPerBeat]);
+
+ useLayoutEffect(() => {
+ const audioContext = new AudioContext();
+
+ const kick = new Kick(audioContext);
+ const clap = new Clap(audioContext);
+ const hiHat = new HiHat(audioContext);
+
+ let frameCount = 0;
+ let nextNoteTime = 0;
+ let averageFrameTime = 0;
+
+ let startTime = 0;
+ let currentTime = 0;
+
+ function playTheNote(name: InstrumentName) {
+ switch (name) {
+ case 'kick':
+ kick.play(audioContext.currentTime);
+ break;
+ case 'clap':
+ clap.play(audioContext.currentTime);
+ break;
+ case 'hi-hat':
+ hiHat.play(audioContext.currentTime);
+ break;
+ default:
+ break;
+ }
+ }
+
+ function advancePattern() {
+ const plays = Array(r(patternsRef).length).fill(false);
+
+ for (let i = 0; i < r(patternsRef).length; i += 1) {
+ if (r(patternsRef)[i].steps[currentBeat.value]) {
+ plays[i] = true;
+ playTheNote(r(patternsRef)[i].instrumentName);
+ }
+ }
+
+ playingNotes.value = plays;
+ currentBeat.value = (currentBeat.value + 1) % numBeats;
+ }
+
+ function playerLoop() {
+ frameCount += 1;
+
+ const timePerNote = 60.0 / (r(bpmRef) * r(notesPerBeatRef));
+ const totalLoopTime = timePerNote * numBeats;
+
+ currentTime = audioContext.currentTime;
+ const timeDiff = currentTime - startTime;
+
+ averageFrameTime = timeDiff / frameCount;
+
+ progressSV.value = (timeDiff % totalLoopTime) / totalLoopTime;
+
+ if (currentTime - (nextNoteTime - timePerNote) > 0.05) {
+ playingNotes.value = Array(r(patternsRef).length).fill(false);
+ }
+ if (currentTime + averageFrameTime >= nextNoteTime) {
+ advancePattern();
+ nextNoteTime += timePerNote;
+ }
+
+ if (r(isPlayingRef)) {
+ requestAnimationFrame(playerLoop);
+ }
+ }
+
+ if (isPlaying) {
+ requestAnimationFrame(() => {
+ frameCount = 0;
+ averageFrameTime = 0;
+
+ progressSV.value = 0;
+ currentBeat.value = 0;
+ playingNotes.value = Array(patterns.length).fill(false);
+ startTime = audioContext.currentTime;
+ currentTime = audioContext.currentTime;
+ nextNoteTime = audioContext.currentTime;
+
+ playerLoop();
+ });
+ } else {
+ frameCount = 0;
+ averageFrameTime = 0;
+
+ progressSV.value = 0;
+ currentBeat.value = 0;
+ playingNotes.value = Array(patterns.length).fill(false);
+ }
+
+ return () => {
+ audioContext.close();
+ };
+ // \/ Shared values are not necessary in deps array
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isPlaying]);
+
+ const play = useCallback(() => {
+ setIsPlaying(true);
+ }, []);
+
+ const stop = useCallback(() => {
+ setIsPlaying(false);
+ }, []);
+
+ return {
+ playingNotes,
+ progressSV,
+ isPlaying,
+ play,
+ stop,
+ };
+}
diff --git a/apps/common-app/src/examples/DrumMachine/utils.ts b/apps/common-app/src/examples/DrumMachine/utils.ts
new file mode 100644
index 00000000..df1fde63
--- /dev/null
+++ b/apps/common-app/src/examples/DrumMachine/utils.ts
@@ -0,0 +1,31 @@
+import { numBeats } from './constants';
+
+export function getAngle(stepIdx: number) {
+ 'worklet';
+
+ return (stepIdx / numBeats) * Math.PI * 2 - Math.PI / 2;
+}
+
+export function getPointCX(angle: number, radius: number, outerCX: number) {
+ 'worklet';
+
+ return Math.cos(angle) * radius + outerCX;
+}
+
+export function getPointCY(angle: number, radius: number, outerCY: number) {
+ 'worklet';
+
+ return Math.sin(angle) * radius + outerCY;
+}
+
+export function isPointInCircle(
+ pX: number,
+ pY: number,
+ cX: number,
+ cY: number,
+ r: number
+) {
+ 'worklet';
+
+ return Math.sqrt((pX - cX) ** 2 + (pY - cY) ** 2) < r;
+}
diff --git a/apps/common-app/src/examples/Metronome/Metronome.tsx b/apps/common-app/src/examples/Metronome/Metronome.tsx
index 335b3fc8..69aca1da 100644
--- a/apps/common-app/src/examples/Metronome/Metronome.tsx
+++ b/apps/common-app/src/examples/Metronome/Metronome.tsx
@@ -1,6 +1,5 @@
-import React, { useState, useEffect, useRef, FC } from 'react';
-import { Text } from 'react-native';
import { AudioContext } from 'react-native-audio-api';
+import React, { useState, useEffect, useRef, FC } from 'react';
import { Container, Slider, Spacer, Button } from '../../components';
import { Scheduler, MetronomeSound } from '../SharedUtils';
@@ -111,6 +110,7 @@ const Metronome: FC = () => {
INITIAL_BEATS_PER_BAR,
audioContextRef.current,
STEPS,
+ 1,
playSound
);
}
@@ -124,21 +124,24 @@ const Metronome: FC = () => {
- BPM: {bpm}
- Beats per bar: {beatsPerBar}
+
);
diff --git a/apps/common-app/src/examples/Oscillator/Oscillator.tsx b/apps/common-app/src/examples/Oscillator/Oscillator.tsx
index d7a38379..02ab420c 100644
--- a/apps/common-app/src/examples/Oscillator/Oscillator.tsx
+++ b/apps/common-app/src/examples/Oscillator/Oscillator.tsx
@@ -18,6 +18,8 @@ const INITIAL_GAIN = 1.0;
const INITIAL_PAN = 0;
const OSCILLATOR_TYPES = ['sine', 'square', 'sawtooth', 'triangle'] as const;
+const labelWidth = 80;
+
const Oscillator: FC = () => {
const [isPlaying, setIsPlaying] = useState(false);
const [gain, setGain] = useState(INITIAL_GAIN);
@@ -115,40 +117,47 @@ const Oscillator: FC = () => {
return (
-
- Gain: {gain.toFixed(2)}
+
- Pan: {pan.toFixed(1)}
+
- Frequency: {frequency.toFixed(0)}
+
- Detune: {detune.toFixed(0)}
+
-
+
{OSCILLATOR_TYPES.map((type: WaveType) => (
void;
@@ -20,19 +21,22 @@ class Scheduler {
beatsPerBar: number,
audioContext: AudioContext,
steps: Sounds,
+ noteDensity: number,
playSound: (name: SoundName, time: number) => void
) {
this.bpm = bpm;
this.beatsPerBar = beatsPerBar;
this.audioContext = audioContext;
this.steps = steps;
+ this.noteDensity = noteDensity;
this.playSound = playSound;
}
private nextNote() {
- const secondsPerBeat = 60.0 / (this.bpm * 2);
+ const secondsPerBeat = 60.0 / (this.bpm * this.noteDensity);
this.nextNoteTime += secondsPerBeat;
this.currentBeat += 1;
+
if (this.currentBeat === this.beatsPerBar) {
this.currentBeat = 0;
}
@@ -57,6 +61,7 @@ class Scheduler {
this.currentBeat = 0;
this.nextNoteTime =
this.audioContext.currentTime + SCHEDULE_INTERVAL_MS / 1000;
+
this.interval = setInterval(
() => this.schedule(this.audioContext),
SCHEDULE_INTERVAL_MS
diff --git a/apps/common-app/src/examples/SharedUtils/soundEngines/Kick.ts b/apps/common-app/src/examples/SharedUtils/soundEngines/Kick.ts
index 54dab8bb..1911028d 100644
--- a/apps/common-app/src/examples/SharedUtils/soundEngines/Kick.ts
+++ b/apps/common-app/src/examples/SharedUtils/soundEngines/Kick.ts
@@ -12,7 +12,7 @@ class Kick implements SoundEngine {
this.audioContext = audioContext;
this.tone = 164;
this.decay = 0.2;
- this.volume = 1;
+ this.volume = 0.95;
}
play(time: number) {
@@ -26,7 +26,6 @@ class Kick implements SoundEngine {
gain.gain.setValueAtTime(0, time);
gain.gain.setValueAtTime(this.volume, time + 0.01);
gain.gain.exponentialRampToValueAtTime(0.001, time + this.decay);
- gain.gain.setValueAtTime(0, time + this.decay + 0.001);
oscillator.connect(gain);
gain.connect(this.audioContext.destination);
diff --git a/apps/common-app/src/examples/index.ts b/apps/common-app/src/examples/index.ts
index 7d21a47d..2ce044a6 100644
--- a/apps/common-app/src/examples/index.ts
+++ b/apps/common-app/src/examples/index.ts
@@ -25,25 +25,25 @@ export interface Example {
export const Examples: Example[] = [
{
key: 'DrumMachine',
- title: 'Drum Machine 🥁',
+ title: 'Drum Machine',
subtitle: 'Create drum patterns',
screen: DrumMachine,
},
{
key: 'Piano',
- title: 'Simple Piano 🎹',
+ title: 'Simple Piano',
subtitle: 'Play some notes',
screen: Piano,
},
{
key: 'Metronome',
- title: 'Metronome 🎸',
+ title: 'Metronome',
subtitle: 'Keep time with the beat',
screen: Metronome,
},
{
key: 'Oscillator',
- title: 'Oscillator 🔉',
+ title: 'Oscillator',
subtitle: 'Generate sound waves',
screen: Oscillator,
},
diff --git a/apps/common-app/src/styles.ts b/apps/common-app/src/styles.ts
index e4e889e6..2a195b62 100644
--- a/apps/common-app/src/styles.ts
+++ b/apps/common-app/src/styles.ts
@@ -12,8 +12,14 @@ export const layout = {
export const colors = {
white: '#ffffff',
- main: '#428ce7',
- border: 'rgba(0,0,0,0.1)',
+ main: '#38ACDD',
black: '#000000',
gray: '#d7d7d7',
+
+ background: '#222222',
+ backgroundLight: '#333333',
+
+ separator: '#333333',
+ modalBackdrop: '#00000040',
+ border: '#999999',
} as const;
diff --git a/apps/common-app/src/utils/withSeparators.ts b/apps/common-app/src/utils/withSeparators.ts
new file mode 100644
index 00000000..a2887e25
--- /dev/null
+++ b/apps/common-app/src/utils/withSeparators.ts
@@ -0,0 +1,22 @@
+import { ReactNode } from 'react';
+
+type RenderElement = (element: T, index: number) => ReactNode;
+type RenderSeparator = (index: number) => ReactNode;
+
+export default function withSeparators(
+ collection: ArrayLike,
+ renderSeparator: RenderSeparator,
+ renderElement: RenderElement
+) {
+ const elements = [];
+
+ for (let i = 0; i < collection.length; i += 1) {
+ elements.push(renderElement(collection[i], i));
+
+ if (i < collection.length - 1) {
+ elements.push(renderSeparator(i));
+ }
+ }
+
+ return elements;
+}
diff --git a/apps/expo-example/app.json b/apps/expo-example/app.json
index 80936f75..aded56bd 100644
--- a/apps/expo-example/app.json
+++ b/apps/expo-example/app.json
@@ -12,6 +12,18 @@
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
+ "plugins": [
+ [
+ "expo-font",
+ {
+ "fonts": [
+ "../../node_modules/@swmansion/icons/fonts/broken/swm-icons-broken.ttf",
+ "../../node_modules/@swmansion/icons/fonts/outline/swm-icons-outline.ttf",
+ "../../node_modules/@swmansion/icons/fonts/curved/swm-icons-curved.ttf"
+ ]
+ }
+ ]
+ ],
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.swmansion.audioapi.example"
diff --git a/apps/expo-example/package.json b/apps/expo-example/package.json
index f86900cc..66282d0a 100644
--- a/apps/expo-example/package.json
+++ b/apps/expo-example/package.json
@@ -14,6 +14,8 @@
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.11.0",
"@react-navigation/stack": "^6.4.1",
+ "@shopify/react-native-skia": "^1.5.0",
+ "@swmansion/icons": "^0.0.1",
"common-app": "workspace:*",
"expo": "~51.0.28",
"expo-constants": "~16.0.2",
diff --git a/apps/fabric-example/Gemfile.lock b/apps/fabric-example/Gemfile.lock
new file mode 100644
index 00000000..8d59fee6
--- /dev/null
+++ b/apps/fabric-example/Gemfile.lock
@@ -0,0 +1,105 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ CFPropertyList (3.0.7)
+ base64
+ nkf
+ rexml
+ activesupport (6.1.7.10)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 1.6, < 2)
+ minitest (>= 5.1)
+ tzinfo (~> 2.0)
+ zeitwerk (~> 2.3)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ algoliasearch (1.27.5)
+ httpclient (~> 2.8, >= 2.8.3)
+ json (>= 1.5.1)
+ atomos (0.1.3)
+ base64 (0.2.0)
+ claide (1.1.0)
+ cocoapods (1.16.0)
+ addressable (~> 2.8)
+ claide (>= 1.0.2, < 2.0)
+ cocoapods-core (= 1.16.0)
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
+ cocoapods-downloader (>= 2.1, < 3.0)
+ cocoapods-plugins (>= 1.0.0, < 2.0)
+ cocoapods-search (>= 1.0.0, < 2.0)
+ cocoapods-trunk (>= 1.6.0, < 2.0)
+ cocoapods-try (>= 1.1.0, < 2.0)
+ colored2 (~> 3.1)
+ escape (~> 0.0.4)
+ fourflusher (>= 2.3.0, < 3.0)
+ gh_inspector (~> 1.0)
+ molinillo (~> 0.8.0)
+ nap (~> 1.0)
+ ruby-macho (>= 2.3.0, < 3.0)
+ xcodeproj (>= 1.26.0, < 2.0)
+ cocoapods-core (1.16.0)
+ activesupport (>= 5.0, < 8)
+ addressable (~> 2.8)
+ algoliasearch (~> 1.0)
+ concurrent-ruby (~> 1.1)
+ fuzzy_match (~> 2.0.4)
+ nap (~> 1.0)
+ netrc (~> 0.11)
+ public_suffix (~> 4.0)
+ typhoeus (~> 1.0)
+ cocoapods-deintegrate (1.0.5)
+ cocoapods-downloader (2.1)
+ cocoapods-plugins (1.0.0)
+ nap
+ cocoapods-search (1.0.1)
+ cocoapods-trunk (1.6.0)
+ nap (>= 0.8, < 2.0)
+ netrc (~> 0.11)
+ cocoapods-try (1.2.0)
+ colored2 (3.1.2)
+ concurrent-ruby (1.3.4)
+ escape (0.0.4)
+ ethon (0.16.0)
+ ffi (>= 1.15.0)
+ ffi (1.17.0)
+ fourflusher (2.3.1)
+ fuzzy_match (2.0.4)
+ gh_inspector (1.1.3)
+ httpclient (2.8.3)
+ i18n (1.14.6)
+ concurrent-ruby (~> 1.0)
+ json (2.7.4)
+ minitest (5.25.1)
+ molinillo (0.8.0)
+ nanaimo (0.4.0)
+ nap (1.1.0)
+ netrc (0.11.0)
+ nkf (0.2.0)
+ public_suffix (4.0.7)
+ rexml (3.3.9)
+ ruby-macho (2.5.1)
+ typhoeus (1.4.1)
+ ethon (>= 0.9.0)
+ tzinfo (2.0.6)
+ concurrent-ruby (~> 1.0)
+ xcodeproj (1.26.0)
+ CFPropertyList (>= 2.3.3, < 4.0)
+ atomos (~> 0.1.3)
+ claide (>= 1.0.2, < 2.0)
+ colored2 (~> 3.1)
+ nanaimo (~> 0.4.0)
+ rexml (>= 3.3.6, < 4.0)
+ zeitwerk (2.6.18)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ activesupport (>= 6.1.7.5, != 7.1.0)
+ cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
+
+RUBY VERSION
+ ruby 2.6.10p210
+
+BUNDLED WITH
+ 2.2.22
diff --git a/apps/fabric-example/android/app/src/main/assets/custom/glyphmap.json b/apps/fabric-example/android/app/src/main/assets/custom/glyphmap.json
new file mode 100644
index 00000000..f6b928be
--- /dev/null
+++ b/apps/fabric-example/android/app/src/main/assets/custom/glyphmap.json
@@ -0,0 +1 @@
+{"air":59905,"alarm":59906,"apple":59907,"arrow-circle-down":59908,"arrow-circle-left":59909,"arrow-circle-right":59910,"arrow-circle-up":59911,"arrow-down":59912,"arrow-left":59913,"arrow-right":59914,"arrow-small-down":59915,"arrow-small-left":59916,"arrow-small-right":59917,"arrow-small-up":59918,"arrow-up":59919,"at-email":59920,"attachment":59921,"basket":59922,"basketball":59923,"bell-disabled":59924,"bell":59925,"block-1":59926,"block-2":59927,"blood-drip-minus":59928,"blood-drip-plus":59929,"blood-minus":59930,"blood-plus":59931,"bluetooth":59932,"bolt":59933,"bone-broken":59934,"bone":59935,"bookmark":59936,"brain":59937,"calendar-check":59938,"calendar-clock":59939,"calendar-cross":59940,"calendar-edit":59941,"calendar-link":59942,"calendar-lock":59943,"calendar-minus":59944,"calendar-plus":59945,"calendar-user":59946,"calendar-warning":59947,"calendar":59948,"cam-disabled":59949,"cam":59950,"camera-disabled":59951,"camera":59952,"capsule-blister":59953,"capsule":59954,"cardiology":59955,"cart-1":59956,"cart-2":59957,"cart-3":59958,"cart-4":59959,"cast":59960,"chart-vertical":59961,"chart":59962,"check-circle":59963,"check-small":59964,"check":59965,"chevron-circle-down":59966,"chevron-circle-left":59967,"chevron-circle-right":59968,"chevron-circle-up":59969,"chevron-down":59970,"chevron-left":59971,"chevron-right":59972,"chevron-small-down":59973,"chevron-small-left":59974,"chevron-small-right":59975,"chevron-small-up":59976,"chevron-up":59977,"circle":59978,"clock":59979,"cloud":59980,"coin":59981,"command":59982,"copy":59983,"creditcard":59984,"cross-circle":59985,"cross-small":59986,"cross":59987,"crown-1":59988,"crown-2":59989,"cut":59990,"delete":59991,"dislike":59992,"dna":59993,"document-check":59994,"document-clean":59995,"document-cross":59996,"document-filled":59997,"document-minus":59998,"document-plus":59999,"download":60000,"ear":60001,"edit-1":60002,"edit-2":60003,"edit-3":60004,"edit-4":60005,"emote-normal":60006,"emote-sad":60007,"emote-smile":60008,"explore":60009,"eye-closed":60010,"eye-open":60011,"faceid":60012,"female":60013,"filters-1":60014,"filters-2":60015,"filters-3":60016,"flag-1":60017,"flag-2":60018,"flag-3":60019,"forward":60020,"fullscreen":60021,"gift-1":60022,"globe-1":60023,"grid-2-horizontal":60024,"grid-2-vertical":60025,"grid-4":60026,"headphones":60027,"heart":60028,"home-1":60029,"home-2":60030,"home-heart":60031,"home-hospital":60032,"horizontal":60033,"hourglass":60034,"ice":60035,"image-1":60036,"inbox":60037,"info-circle":60038,"info-small":60039,"info":60040,"key":60041,"laptop":60042,"like":60043,"link":60044,"list-center":60045,"list-left":60046,"list-pointers":60047,"list-right":60048,"location-1":60049,"location-2":60050,"location-med-1":60051,"location-med-2":60052,"lock-off":60053,"lock-on":60054,"login":60055,"logout":60056,"lungs":60057,"mail":60058,"male":60059,"map":60060,"medkit":60061,"meds":60062,"menu-hamburger":60063,"menu-horizontal":60064,"menu-vertical":60065,"message-circle-dots":60066,"message-circle-lines":60067,"message-circle":60068,"message-square-dots":60069,"message-square-lines":60070,"message-square":60071,"microphone-disabled":60072,"microphone":60073,"minus-circle":60074,"minus-small":60075,"minus":60076,"money":60077,"moon":60078,"music":60079,"navigation":60080,"newscreen":60081,"next":60082,"nose":60083,"offer":60084,"package":60085,"pause":60086,"phone-call":60087,"phone-cross":60088,"phone-down":60089,"phone":60090,"pin-1":60091,"pin-2":60092,"pinpaper-check":60093,"pinpaper-cross":60094,"pinpaper-filled":60095,"pinpaper-minus":60096,"pinpaper-plus":60097,"plaster-1":60098,"plaster-2":60099,"play":60100,"plus-circle":60101,"plus-small":60102,"plus":60103,"power":60104,"pressure-gauge":60105,"previous":60106,"print":60107,"question-circle":60108,"question-small":60109,"question":60110,"quote":60111,"redo-circle":60112,"redo-small":60113,"redo":60114,"refresh-circle":60115,"refresh-small":60116,"refresh":60117,"resize-circle-horizontal":60118,"resize-circle-vertical":60119,"resize-small-horizontal":60120,"resize-small-vertical":60121,"rewind":60122,"rotate-circle-left":60123,"rotate-circle-right":60124,"rotate-left":60125,"rotate-right":60126,"rotate-small-left":60127,"rotate-small-right":60128,"save":60129,"screen-disabled":60130,"screen-share":60131,"screen":60132,"search":60133,"send-1":60134,"send-2":60135,"settings":60136,"share-1":60137,"share-2":60138,"shield-check":60139,"shield-cross":60140,"shield-empty":60141,"shirt":60142,"smartphone":60143,"smartwach-cardio":60144,"smartwach-heart":60145,"smartwach-plus":60146,"sound-0":60147,"sound-1":60148,"sound-2":60149,"speaker-0":60150,"speaker-1":60151,"speaker-2":60152,"speaker-cross":60153,"speaker-disabled":60154,"star-1":60155,"star-2":60156,"stethoscope":60157,"stop":60158,"stopwatch":60159,"suitcase":60160,"sun":60161,"syringe":60162,"tag":60163,"test-tube":60164,"thermometer":60165,"tooth":60166,"trash-1":60167,"trash-2":60168,"trending-down":60169,"trending-up":60170,"trophy":60171,"umbrella-1":60172,"umbrella-2":60173,"undo-circle":60174,"undo-small":60175,"undo":60176,"upload":60177,"user-1":60178,"user-2":60179,"user-check":60180,"user-cross":60181,"user-heart":60182,"user-info":60183,"user-minus":60184,"user-plus":60185,"user-question":60186,"user-warning":60187,"users-more":60188,"users":60189,"vertical":60190,"virus":60191,"wallet":60192,"wand":60193,"warning-circle":60194,"warning-small":60195,"warning":60196,"waterdrop":60197,"wheelchair":60198,"wifi":60199,"windows":60200,"zoom-in":60201,"zoom-out":60202}
\ No newline at end of file
diff --git a/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-broken.ttf b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-broken.ttf
new file mode 100644
index 00000000..21a1f4da
Binary files /dev/null and b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-broken.ttf differ
diff --git a/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-curved.ttf b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-curved.ttf
new file mode 100644
index 00000000..5d4e0a96
Binary files /dev/null and b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-curved.ttf differ
diff --git a/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-outline.ttf b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-outline.ttf
new file mode 100644
index 00000000..e63c409c
Binary files /dev/null and b/apps/fabric-example/android/app/src/main/assets/fonts/swm-icons-outline.ttf differ
diff --git a/apps/fabric-example/android/link-assets-manifest.json b/apps/fabric-example/android/link-assets-manifest.json
new file mode 100644
index 00000000..19604056
--- /dev/null
+++ b/apps/fabric-example/android/link-assets-manifest.json
@@ -0,0 +1,21 @@
+{
+ "migIndex": 1,
+ "data": [
+ {
+ "path": "node_modules/@swmansion/icons/fonts/broken/glyphmap.json",
+ "sha1": "7d31b5a94939776c53aa49d1d6547742a1a6b10d"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/broken/swm-icons-broken.ttf",
+ "sha1": "39ef8477a4d3e05183be3408e9b42b4ef163c3bc"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/curved/swm-icons-curved.ttf",
+ "sha1": "db1696349be336c02cb113356ac73f1d988a4949"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/outline/swm-icons-outline.ttf",
+ "sha1": "463ed66a84a3e1e7743d495260d7fe41d1ca5534"
+ }
+ ]
+}
diff --git a/apps/fabric-example/ios/FabricExample.xcodeproj/project.pbxproj b/apps/fabric-example/ios/FabricExample.xcodeproj/project.pbxproj
index 3a2c9252..9856a835 100644
--- a/apps/fabric-example/ios/FabricExample.xcodeproj/project.pbxproj
+++ b/apps/fabric-example/ios/FabricExample.xcodeproj/project.pbxproj
@@ -12,9 +12,13 @@
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
+ 610BC210CF424680A48ACD84 /* swm-icons-broken.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E1C19F1A3936472BB418C698 /* swm-icons-broken.ttf */; };
+ 6D53D8EE84254C09A016866B /* swm-icons-curved.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 073C6BC4AF98479FA851877B /* swm-icons-curved.ttf */; };
738E749A9D4740185AF04A92 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 64B90AC5F9AD7A786664A5B3 /* PrivacyInfo.xcprivacy */; };
7699B88040F8A987B510C191 /* libPods-FabricExample-FabricExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-FabricExample-FabricExampleTests.a */; };
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
+ CBB460A714B34A5E9BC5FAFF /* swm-icons-outline.ttf in Resources */ = {isa = PBXBuildFile; fileRef = AF33CC241CC346A6B50BA023 /* swm-icons-outline.ttf */; };
+ E0562D8BCDF5479AB4B9F566 /* glyphmap.json in Resources */ = {isa = PBXBuildFile; fileRef = 597CEE364FD447E4A5093D77 /* glyphmap.json */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -31,6 +35,7 @@
00E356EE1AD99517003FC87E /* FabricExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FabricExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
00E356F21AD99517003FC87E /* FabricExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FabricExampleTests.m; sourceTree = ""; };
+ 073C6BC4AF98479FA851877B /* swm-icons-curved.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "swm-icons-curved.ttf"; path = "../node_modules/@swmansion/icons/fonts/curved/swm-icons-curved.ttf"; sourceTree = ""; };
13B07F961A680F5B00A75B9A /* FabricExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FabricExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = FabricExample/AppDelegate.h; sourceTree = ""; };
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = FabricExample/AppDelegate.mm; sourceTree = ""; };
@@ -41,11 +46,14 @@
19F6CBCC0A4E27FBF8BF4A61 /* libPods-FabricExample-FabricExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FabricExample-FabricExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
3B4392A12AC88292D35C810B /* Pods-FabricExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FabricExample.debug.xcconfig"; path = "Target Support Files/Pods-FabricExample/Pods-FabricExample.debug.xcconfig"; sourceTree = ""; };
5709B34CF0A7D63546082F79 /* Pods-FabricExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FabricExample.release.xcconfig"; path = "Target Support Files/Pods-FabricExample/Pods-FabricExample.release.xcconfig"; sourceTree = ""; };
+ 597CEE364FD447E4A5093D77 /* glyphmap.json */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = glyphmap.json; path = "../node_modules/@swmansion/icons/fonts/broken/glyphmap.json"; sourceTree = ""; };
5B7EB9410499542E8C5724F5 /* Pods-FabricExample-FabricExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FabricExample-FabricExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-FabricExample-FabricExampleTests/Pods-FabricExample-FabricExampleTests.debug.xcconfig"; sourceTree = ""; };
5DCACB8F33CDC322A6C60F78 /* libPods-FabricExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FabricExample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
64B90AC5F9AD7A786664A5B3 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = FabricExample/PrivacyInfo.xcprivacy; sourceTree = ""; };
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = FabricExample/LaunchScreen.storyboard; sourceTree = ""; };
89C6BE57DB24E9ADA2F236DE /* Pods-FabricExample-FabricExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FabricExample-FabricExampleTests.release.xcconfig"; path = "Target Support Files/Pods-FabricExample-FabricExampleTests/Pods-FabricExample-FabricExampleTests.release.xcconfig"; sourceTree = ""; };
+ AF33CC241CC346A6B50BA023 /* swm-icons-outline.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "swm-icons-outline.ttf"; path = "../node_modules/@swmansion/icons/fonts/outline/swm-icons-outline.ttf"; sourceTree = ""; };
+ E1C19F1A3936472BB418C698 /* swm-icons-broken.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "swm-icons-broken.ttf"; path = "../node_modules/@swmansion/icons/fonts/broken/swm-icons-broken.ttf"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */
@@ -127,6 +135,7 @@
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
BBD78D7AC51CEA395F1C20DB /* Pods */,
+ 900FA420FCFD48C1920950F2 /* Resources */,
);
indentWidth = 2;
sourceTree = "";
@@ -142,6 +151,18 @@
name = Products;
sourceTree = "";
};
+ 900FA420FCFD48C1920950F2 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ E1C19F1A3936472BB418C698 /* swm-icons-broken.ttf */,
+ 073C6BC4AF98479FA851877B /* swm-icons-curved.ttf */,
+ AF33CC241CC346A6B50BA023 /* swm-icons-outline.ttf */,
+ 597CEE364FD447E4A5093D77 /* glyphmap.json */,
+ );
+ name = Resources;
+ path = "";
+ sourceTree = "";
+ };
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
isa = PBXGroup;
children = (
@@ -249,6 +270,10 @@
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
738E749A9D4740185AF04A92 /* PrivacyInfo.xcprivacy in Resources */,
+ 610BC210CF424680A48ACD84 /* swm-icons-broken.ttf in Resources */,
+ 6D53D8EE84254C09A016866B /* swm-icons-curved.ttf in Resources */,
+ CBB460A714B34A5E9BC5FAFF /* swm-icons-outline.ttf in Resources */,
+ E0562D8BCDF5479AB4B9F566 /* glyphmap.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/apps/fabric-example/ios/FabricExample/Info.plist b/apps/fabric-example/ios/FabricExample/Info.plist
index 4e268034..940543ff 100644
--- a/apps/fabric-example/ios/FabricExample/Info.plist
+++ b/apps/fabric-example/ios/FabricExample/Info.plist
@@ -26,14 +26,13 @@
NSAppTransportSecurity
-
NSAllowsArbitraryLoads
NSAllowsLocalNetworking
NSLocationWhenInUseUsageDescription
-
+
UILaunchStoryboardName
LaunchScreen
UIRequiredDeviceCapabilities
@@ -48,5 +47,11 @@
UIViewControllerBasedStatusBarAppearance
+ UIAppFonts
+
+ swm-icons-broken.ttf
+ swm-icons-curved.ttf
+ swm-icons-outline.ttf
+
diff --git a/apps/fabric-example/ios/Podfile.lock b/apps/fabric-example/ios/Podfile.lock
index 7765944e..c45c5e69 100644
--- a/apps/fabric-example/ios/Podfile.lock
+++ b/apps/fabric-example/ios/Podfile.lock
@@ -1234,6 +1234,29 @@ PODS:
- Yoga
- react-native-safe-area-context (4.11.0):
- React-Core
+ - react-native-skia (1.5.0):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React
+ - React-callinvoker
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCodegen
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
- React-nativeconfig (0.75.3)
- React-NativeModulesApple (0.75.3):
- glog
@@ -1665,6 +1688,7 @@ DEPENDENCIES:
- React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
- React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
+ - "react-native-skia (from `../node_modules/@shopify/react-native-skia`)"
- React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
@@ -1775,6 +1799,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
react-native-safe-area-context:
:path: "../node_modules/react-native-safe-area-context"
+ react-native-skia:
+ :path: "../node_modules/@shopify/react-native-skia"
React-nativeconfig:
:path: "../node_modules/react-native/ReactCommon"
React-NativeModulesApple:
@@ -1842,10 +1868,10 @@ SPEC CHECKSUMS:
boost: 1dca942403ed9342f98334bf4c3621f011aa7946
DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
FBLazyVector: 7b438dceb9f904bd85ca3c31d64cce32a035472b
- fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
- glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
+ fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
+ glog: 69ef571f3de08433d766d614c73a9838a06bf7eb
hermes-engine: 8d2103d6c0176779aea4e25df6bb1410f9946680
- RCT-Folly: bf5c0376ffe4dd2cf438dcf86db385df9fdce648
+ RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740
RCTDeprecation: 4191f6e64b72d9743f6fe1a8a16e89e868f5e9e7
RCTRequired: 9bb589570f2bb3abc6518761e3fd1ad9b7f7f06c
RCTTypeSafety: 1c1a8741c86df0a0ac1a99cf3fb0e29eedbc2c88
@@ -1875,6 +1901,7 @@ SPEC CHECKSUMS:
React-Mapbuffer: 714f2fae68edcabfc332b754e9fbaa8cfc68fdd4
React-microtasksnativemodule: 4943ad8f99be8ccf5a63329fa7d269816609df9e
react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9
+ react-native-skia: 8f41b3bbde6d3b4eff1983cb82038f3af7de7eca
React-nativeconfig: 4a9543185905fe41014c06776bf126083795aed9
React-NativeModulesApple: 0506da59fc40d2e1e6e12a233db5e81c46face27
React-perflogger: 3bbb82f18e9ac29a1a6931568e99d6305ef4403b
@@ -1906,8 +1933,8 @@ SPEC CHECKSUMS:
RNReanimated: ece067b779e0d6c7887c6bb80d381d0a0efd43c9
RNScreens: 19719a9c326e925498ac3b2d35c4e50fe87afc06
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
- Yoga: 4ef80d96a5534f0e01b3055f17d1e19a9fc61b63
+ Yoga: 1354c027ab07c7736f99a3bef16172d6f1b12b47
PODFILE CHECKSUM: 75ad38075e71875257a2590065853ea6a608b897
-COCOAPODS: 1.15.2
+COCOAPODS: 1.16.0
diff --git a/apps/fabric-example/ios/link-assets-manifest.json b/apps/fabric-example/ios/link-assets-manifest.json
new file mode 100644
index 00000000..19604056
--- /dev/null
+++ b/apps/fabric-example/ios/link-assets-manifest.json
@@ -0,0 +1,21 @@
+{
+ "migIndex": 1,
+ "data": [
+ {
+ "path": "node_modules/@swmansion/icons/fonts/broken/glyphmap.json",
+ "sha1": "7d31b5a94939776c53aa49d1d6547742a1a6b10d"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/broken/swm-icons-broken.ttf",
+ "sha1": "39ef8477a4d3e05183be3408e9b42b4ef163c3bc"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/curved/swm-icons-curved.ttf",
+ "sha1": "db1696349be336c02cb113356ac73f1d988a4949"
+ },
+ {
+ "path": "node_modules/@swmansion/icons/fonts/outline/swm-icons-outline.ttf",
+ "sha1": "463ed66a84a3e1e7743d495260d7fe41d1ca5534"
+ }
+ ]
+}
diff --git a/apps/fabric-example/package.json b/apps/fabric-example/package.json
index 5c07a0ea..8e9073cc 100644
--- a/apps/fabric-example/package.json
+++ b/apps/fabric-example/package.json
@@ -13,6 +13,8 @@
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.11.0",
"@react-navigation/stack": "^6.4.1",
+ "@shopify/react-native-skia": "^1.5.0",
+ "@swmansion/icons": "^0.0.1",
"common-app": "workspace:*",
"react": "18.3.1",
"react-dom": "18.2.0",
diff --git a/apps/fabric-example/react-native.config.js b/apps/fabric-example/react-native.config.js
new file mode 100644
index 00000000..6fbc04a9
--- /dev/null
+++ b/apps/fabric-example/react-native.config.js
@@ -0,0 +1,6 @@
+const path = require('path');
+
+module.exports = {
+ project: {},
+ assets: [path.join(__dirname, 'node_modules', '@swmansion/icons', 'fonts')],
+};
diff --git a/package.json b/package.json
index 98c33838..e44f69ac 100644
--- a/package.json
+++ b/package.json
@@ -20,14 +20,12 @@
"@commitlint/config-conventional": "^17.0.2",
"@evilmartians/lefthook": "^1.5.0",
"@react-native/eslint-config": "^0.73.1",
- "@release-it/conventional-changelog": "^5.0.0",
"commitlint": "^17.0.2",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-react": "^7.34.3",
"prettier": "^3.0.3",
- "release-it": "^15.0.0",
"typescript": "^5.3.0"
},
"commitlint": {
diff --git a/packages/react-native-audio-api/android/CMakeLists.txt b/packages/react-native-audio-api/android/CMakeLists.txt
index 8e1d514b..376e3b9e 100644
--- a/packages/react-native-audio-api/android/CMakeLists.txt
+++ b/packages/react-native-audio-api/android/CMakeLists.txt
@@ -52,10 +52,9 @@ find_package(fbjni REQUIRED CONFIG)
find_package (oboe REQUIRED CONFIG)
set(LINK_LIBRARIES
+ ReactAndroid::reactnative
ReactAndroid::jsi
- ReactAndroid::reactnativejni
fbjni::fbjni
- ReactAndroid::folly_runtime
android
log
oboe::oboe
diff --git a/packages/react-native-audio-api/createNPMPackage.sh b/packages/react-native-audio-api/createNPMPackage.sh
new file mode 100755
index 00000000..0a152b41
--- /dev/null
+++ b/packages/react-native-audio-api/createNPMPackage.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+yarn install --immutable
+yarn bob build
+
+npm pack
+
+echo "Done!"
diff --git a/packages/react-native-audio-api/ios/AudioAPIModule.mm b/packages/react-native-audio-api/ios/AudioAPIModule.mm
index 54fe2199..e83dd4a6 100644
--- a/packages/react-native-audio-api/ios/AudioAPIModule.mm
+++ b/packages/react-native-audio-api/ios/AudioAPIModule.mm
@@ -15,17 +15,22 @@ @implementation AudioAPIModule
{
NSLog(@"Installing JSI bindings for react-native-audio-api...");
RCTCxxBridge *cxxBridge = (RCTCxxBridge *)self.bridge;
+
if (cxxBridge == nil) {
+ NSLog(@"Error during getting bridge!");
return @false;
}
using namespace facebook;
- auto jsiRuntime = (jsi::Runtime *)cxxBridge.runtime;
- if (jsiRuntime == nil) {
+ auto jsRuntime = (jsi::Runtime *)cxxBridge.runtime;
+
+ if (jsRuntime == nil) {
+ NSLog(@"Error during getting jsRuntime!");
return @false;
}
- auto &runtime = *jsiRuntime;
+
+ auto &runtime = *jsRuntime;
auto wrapper = std::make_shared();
auto hostObject = std::make_shared(wrapper);
diff --git a/packages/react-native-audio-api/package.json b/packages/react-native-audio-api/package.json
index 3b7b34d9..327ef8d2 100644
--- a/packages/react-native-audio-api/package.json
+++ b/packages/react-native-audio-api/package.json
@@ -39,7 +39,8 @@
"format:common": "find common/cpp/ -iname \"*.h\" -o -iname \"*.cpp\" | xargs clang-format -i",
"format:kotlin": "ktlint -F 'android/src/main/java/**'",
"build": "bob build",
- "release": "release-it"
+ "prepack": "cp ../../README.md ./README.md",
+ "postpack": "rm ./README.md"
},
"keywords": [
"react-native",
@@ -67,7 +68,6 @@
"@commitlint/config-conventional": "^17.0.2",
"@evilmartians/lefthook": "^1.5.0",
"@react-native/eslint-config": "^0.73.1",
- "@release-it/conventional-changelog": "^5.0.0",
"@types/jest": "^29.5.5",
"@types/react": "^18.2.44",
"commitlint": "^17.0.2",
@@ -81,7 +81,6 @@
"react": "18.2.0",
"react-native": "0.74.3",
"react-native-builder-bob": "^0.24.0",
- "release-it": "^15.0.0",
"turbo": "^1.10.7",
"typescript": "^5.2.2"
},
@@ -98,23 +97,6 @@
"typescript"
]
},
- "release-it": {
- "git": {
- "commitMessage": "chore: release ${version}",
- "tagName": "v${version}"
- },
- "npm": {
- "publish": true
- },
- "github": {
- "release": true
- },
- "plugins": {
- "@release-it/conventional-changelog": {
- "preset": "angular"
- }
- }
- },
"codegenConfig": {
"name": "RNAudioAPISpec",
"type": "modules",
diff --git a/packages/react-native-audio-api/src/utils/install.ts b/packages/react-native-audio-api/src/utils/install.ts
index 78824522..9f66601f 100644
--- a/packages/react-native-audio-api/src/utils/install.ts
+++ b/packages/react-native-audio-api/src/utils/install.ts
@@ -1,65 +1,25 @@
-import { NativeModules, Platform } from 'react-native';
+import { TurboModuleRegistry, TurboModule } from 'react-native';
+
+interface AudioAPIModuleSpec extends TurboModule {
+ install(): boolean;
+}
export function installModule() {
- const AudioAPIModule = NativeModules.AudioAPIModule;
+ const AudioAPIModule =
+ TurboModuleRegistry.getEnforcing('AudioAPIModule');
if (AudioAPIModule == null) {
- throw new Error(buildErrorMessage());
+ throw new Error(
+ `Failed to install react-native-audio-api: The native module could not be found.`
+ );
}
- verifyOnDevice(AudioAPIModule);
runInstall(AudioAPIModule);
verifyInstallation();
return AudioAPIModule;
}
-function buildErrorMessage(): string {
- let message = `
- Failed to install react-native-audio-api: The native 'AudioAPI' Module could not be found.
-
- * Make sure react-native-audio-api is correctly autolinked (run 'npx react-native config' to verify).
- `;
-
- message += verifyAppleOS();
- message += verifyExpo();
-
- message += '\n* Make sure you rebuilt the app.';
-
- return message.trim();
-}
-
-function verifyAppleOS(): string {
- if (Platform.OS === 'ios' || Platform.OS === 'macos') {
- return '\n* Make sure you ran `pod install` in the ios/ directory.';
- }
-
- return '';
-}
-
-function verifyExpo(): string {
- const ExpoConstants =
- NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
-
- if (!ExpoConstants) {
- return '';
- }
-
- if (ExpoConstants.appOwnership === 'expo') {
- return "\n* 'react-native-audio-api' is not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.";
- }
-
- return "\n* Make sure you ran 'expo prebuild'.";
-}
-
-function verifyOnDevice(Module: any) {
- if (global.nativeCallSyncHook == null || Module.install == null) {
- throw new Error(
- 'Failed to install react-native-audio-api: React Native is not running on-device. Audio API can only be used when synchronous method invocations (JSI) are possible. If you are using a remote debugger (e.g. Chrome), switch to an on-device debugger (e.g. Flipper) instead.'
- );
- }
-}
-
function runInstall(Module: any) {
const result = Module.install();
diff --git a/yarn.lock b/yarn.lock
index a117c1b2..4e650be7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2461,20 +2461,6 @@ __metadata:
languageName: node
linkType: hard
-"@hutson/parse-repository-url@npm:^3.0.0":
- version: 3.0.2
- resolution: "@hutson/parse-repository-url@npm:3.0.2"
- checksum: 10/dae0656f2e77315a3027ab9ca438ed344bf78a5fda7b145f65a1fface20dfb17e94e1d31e146c8b76de4657c21020aabc72dc53b53941c9f5fe2c27416559283
- languageName: node
- linkType: hard
-
-"@iarna/toml@npm:2.2.5":
- version: 2.2.5
- resolution: "@iarna/toml@npm:2.2.5"
- checksum: 10/b61426dc1a3297bbcb24cb8e9c638663866b4bb6f28f2c377b167e4b1f8956d8d208c484b73bb59f4232249903545cc073364c43576d2d5ad66afbd730ad24a9
- languageName: node
- linkType: hard
-
"@isaacs/cliui@npm:^8.0.2":
version: 8.0.2
resolution: "@isaacs/cliui@npm:8.0.2"
@@ -2888,151 +2874,6 @@ __metadata:
languageName: node
linkType: hard
-"@octokit/auth-token@npm:^3.0.0":
- version: 3.0.4
- resolution: "@octokit/auth-token@npm:3.0.4"
- checksum: 10/8e21e567e38ba307fa30497ad77801135e25c328ce8b363c1622a4afb408a7d3315d54082527b38ecd5b3a5449680d89cfca9cb10c516cacf3dfa01e4c8b7195
- languageName: node
- linkType: hard
-
-"@octokit/core@npm:^4.2.1":
- version: 4.2.4
- resolution: "@octokit/core@npm:4.2.4"
- dependencies:
- "@octokit/auth-token": "npm:^3.0.0"
- "@octokit/graphql": "npm:^5.0.0"
- "@octokit/request": "npm:^6.0.0"
- "@octokit/request-error": "npm:^3.0.0"
- "@octokit/types": "npm:^9.0.0"
- before-after-hook: "npm:^2.2.0"
- universal-user-agent: "npm:^6.0.0"
- checksum: 10/53ba8f990ce2c0ea4583d8c142377770c3ac8fb9221b563d82dbca9d642f19be49607b9e9b472767075e4afa16c2203339680d75f3ebf5ad853af2646e8604ca
- languageName: node
- linkType: hard
-
-"@octokit/endpoint@npm:^7.0.0":
- version: 7.0.6
- resolution: "@octokit/endpoint@npm:7.0.6"
- dependencies:
- "@octokit/types": "npm:^9.0.0"
- is-plain-object: "npm:^5.0.0"
- universal-user-agent: "npm:^6.0.0"
- checksum: 10/e8b9cc09aa8306d63cb0e5b65ac5d29fc421522c92810a9d70bbfef997bc8750fc339f1f4f60e1604c22db77457ea493c51849b0d61cbfcb8655b0c4f2640e4b
- languageName: node
- linkType: hard
-
-"@octokit/graphql@npm:^5.0.0":
- version: 5.0.6
- resolution: "@octokit/graphql@npm:5.0.6"
- dependencies:
- "@octokit/request": "npm:^6.0.0"
- "@octokit/types": "npm:^9.0.0"
- universal-user-agent: "npm:^6.0.0"
- checksum: 10/6014690d184d7b2bfb56ab9be5ddbe4f5c77aa6031d71ec2caf5f56cbd32f4a5b0601049cef7dce1ca8010b89a9fc8bb07ce7833e6213c5bc77b7a564b1f40b9
- languageName: node
- linkType: hard
-
-"@octokit/openapi-types@npm:^18.0.0":
- version: 18.1.1
- resolution: "@octokit/openapi-types@npm:18.1.1"
- checksum: 10/bd2920a238f74c6ccc1e2ee916bd3e17adeeef3bbb1726f821b8722dceaeff5ea2786b3170cc25dd51775cb9179d3cdf448a3526e70b8a1fc21cdd8aa52e5d4c
- languageName: node
- linkType: hard
-
-"@octokit/plugin-paginate-rest@npm:^6.1.2":
- version: 6.1.2
- resolution: "@octokit/plugin-paginate-rest@npm:6.1.2"
- dependencies:
- "@octokit/tsconfig": "npm:^1.0.2"
- "@octokit/types": "npm:^9.2.3"
- peerDependencies:
- "@octokit/core": ">=4"
- checksum: 10/6d5b97fb44a3ed8ff25196b56ebe7bdac64f4023c165792f77938c77876934c01b46e79b83712e26cd3f2f9e36e0735bd3c292a37e8060a2b259f3a6456116dc
- languageName: node
- linkType: hard
-
-"@octokit/plugin-request-log@npm:^1.0.4":
- version: 1.0.4
- resolution: "@octokit/plugin-request-log@npm:1.0.4"
- peerDependencies:
- "@octokit/core": ">=3"
- checksum: 10/2086db00056aee0f8ebd79797b5b57149ae1014e757ea08985b71eec8c3d85dbb54533f4fd34b6b9ecaa760904ae6a7536be27d71e50a3782ab47809094bfc0c
- languageName: node
- linkType: hard
-
-"@octokit/plugin-rest-endpoint-methods@npm:^7.1.2":
- version: 7.2.3
- resolution: "@octokit/plugin-rest-endpoint-methods@npm:7.2.3"
- dependencies:
- "@octokit/types": "npm:^10.0.0"
- peerDependencies:
- "@octokit/core": ">=3"
- checksum: 10/59fb4e786ab85a5f3ad701e1b193dd3113833cfd1f2657cb06864e45b80a53a1f9ba6c3c66a855c4bf2593c539299fdfe51db639e3a87dc16ffa7602fe9bb999
- languageName: node
- linkType: hard
-
-"@octokit/request-error@npm:^3.0.0":
- version: 3.0.3
- resolution: "@octokit/request-error@npm:3.0.3"
- dependencies:
- "@octokit/types": "npm:^9.0.0"
- deprecation: "npm:^2.0.0"
- once: "npm:^1.4.0"
- checksum: 10/5db0b514732686b627e6ed9ef1ccdbc10501f1b271a9b31f784783f01beee70083d7edcfeb35fbd7e569fa31fdd6762b1ff6b46101700d2d97e7e48e749520d0
- languageName: node
- linkType: hard
-
-"@octokit/request@npm:^6.0.0":
- version: 6.2.8
- resolution: "@octokit/request@npm:6.2.8"
- dependencies:
- "@octokit/endpoint": "npm:^7.0.0"
- "@octokit/request-error": "npm:^3.0.0"
- "@octokit/types": "npm:^9.0.0"
- is-plain-object: "npm:^5.0.0"
- node-fetch: "npm:^2.6.7"
- universal-user-agent: "npm:^6.0.0"
- checksum: 10/47188fa08d28e5e9e6a22f84058fc13f108cdcb68aea97686da4718d32d3ddda8fde8a5c9f189057e3d466560b67c2305a2e343d1eed9517b47a13f68cb329e7
- languageName: node
- linkType: hard
-
-"@octokit/rest@npm:19.0.11":
- version: 19.0.11
- resolution: "@octokit/rest@npm:19.0.11"
- dependencies:
- "@octokit/core": "npm:^4.2.1"
- "@octokit/plugin-paginate-rest": "npm:^6.1.2"
- "@octokit/plugin-request-log": "npm:^1.0.4"
- "@octokit/plugin-rest-endpoint-methods": "npm:^7.1.2"
- checksum: 10/c9b15de6b544506c85c0297e48aa51a2aeb8f73415eef7331fc5c951c7eaa75f6fcf9d549ca5bb52a5f631553c94a70ac550ef9a3202ee765c49c04a85523d8b
- languageName: node
- linkType: hard
-
-"@octokit/tsconfig@npm:^1.0.2":
- version: 1.0.2
- resolution: "@octokit/tsconfig@npm:1.0.2"
- checksum: 10/74d56f3e9f326a8dd63700e9a51a7c75487180629c7a68bbafee97c612fbf57af8347369bfa6610b9268a3e8b833c19c1e4beb03f26db9a9dce31f6f7a19b5b1
- languageName: node
- linkType: hard
-
-"@octokit/types@npm:^10.0.0":
- version: 10.0.0
- resolution: "@octokit/types@npm:10.0.0"
- dependencies:
- "@octokit/openapi-types": "npm:^18.0.0"
- checksum: 10/6345e605d30c99639a0207cfc7bea5bf29d9007e93cdcd78be3f8218830a462a0f0fbb976f5c2d9ebe70ee2aa33d1b72243cdb955478581ee2cead059ac4f030
- languageName: node
- linkType: hard
-
-"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.3":
- version: 9.3.2
- resolution: "@octokit/types@npm:9.3.2"
- dependencies:
- "@octokit/openapi-types": "npm:^18.0.0"
- checksum: 10/4bcd18850d5397e5835f5686be88ad95e5d7c23e7d53f898b82a8ca5fc1f6a7b53816ef6f9f3b7a06799c0b030d259bf2bd50a258a1656df2dc7f3e533e334f8
- languageName: node
- linkType: hard
-
"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
@@ -3047,33 +2888,6 @@ __metadata:
languageName: node
linkType: hard
-"@pnpm/config.env-replace@npm:^1.1.0":
- version: 1.1.0
- resolution: "@pnpm/config.env-replace@npm:1.1.0"
- checksum: 10/fabe35cede1b72ad12877b8bed32f7c2fcd89e94408792c4d69009b886671db7988a2132bc18b7157489d2d0fd4266a06c9583be3d2e10c847bf06687420cb2a
- languageName: node
- linkType: hard
-
-"@pnpm/network.ca-file@npm:^1.0.1":
- version: 1.0.2
- resolution: "@pnpm/network.ca-file@npm:1.0.2"
- dependencies:
- graceful-fs: "npm:4.2.10"
- checksum: 10/d8d0884646500576bd5390464d13db1bb9a62e32a1069293e5bddb2ad8354b354b7e2d2a35e12850025651e795e6a80ce9e601c66312504667b7e3ee7b52becc
- languageName: node
- linkType: hard
-
-"@pnpm/npm-conf@npm:^2.1.0":
- version: 2.3.1
- resolution: "@pnpm/npm-conf@npm:2.3.1"
- dependencies:
- "@pnpm/config.env-replace": "npm:^1.1.0"
- "@pnpm/network.ca-file": "npm:^1.0.1"
- config-chain: "npm:^1.1.11"
- checksum: 10/44fbb0b166eee3e3631ef0e92b1bed6489aa6975e3e722c16577cc0181b81374f5ae90c6e4da183c8160f996e6b4863325525b00542f42d1b757b51ef62bc4e7
- languageName: node
- linkType: hard
-
"@react-native-community/cli-clean@npm:13.6.9":
version: 13.6.9
resolution: "@react-native-community/cli-clean@npm:13.6.9"
@@ -4046,20 +3860,6 @@ __metadata:
languageName: node
linkType: hard
-"@release-it/conventional-changelog@npm:^5.0.0":
- version: 5.1.1
- resolution: "@release-it/conventional-changelog@npm:5.1.1"
- dependencies:
- concat-stream: "npm:^2.0.0"
- conventional-changelog: "npm:^3.1.25"
- conventional-recommended-bump: "npm:^6.1.0"
- semver: "npm:7.3.8"
- peerDependencies:
- release-it: ^15.4.1
- checksum: 10/125f03905c6ea64f75ad6b61d17f60ee8a8f68aca8854d5be945551a67f0374ac04a87a90669b1ded6b1a0d5a13598d53f1ed91c3499e74ca31137a0955f24ad
- languageName: node
- linkType: hard
-
"@rnx-kit/chromium-edge-launcher@npm:^1.0.0":
version: 1.0.0
resolution: "@rnx-kit/chromium-edge-launcher@npm:1.0.0"
@@ -4084,6 +3884,27 @@ __metadata:
languageName: node
linkType: hard
+"@shopify/react-native-skia@npm:^1.5.0":
+ version: 1.5.0
+ resolution: "@shopify/react-native-skia@npm:1.5.0"
+ dependencies:
+ canvaskit-wasm: "npm:0.39.1"
+ react-reconciler: "npm:0.27.0"
+ peerDependencies:
+ react: ">=18.0"
+ react-native: ">=0.64"
+ react-native-reanimated: ">=2.0.0"
+ peerDependenciesMeta:
+ react-native:
+ optional: true
+ react-native-reanimated:
+ optional: true
+ bin:
+ setup-skia-web: ./scripts/setup-canvaskit.js
+ checksum: 10/899dfb184f14e3e07eef310881afa467ba0732a2a6b51e92fb00e831ad1f7adddb86fdc4d89da7d95a0d2f5aa356eba4c118d4e04bf57d659a32a3834de636dd
+ languageName: node
+ linkType: hard
+
"@sideway/address@npm:^4.1.5":
version: 4.1.5
resolution: "@sideway/address@npm:4.1.5"
@@ -4114,13 +3935,6 @@ __metadata:
languageName: node
linkType: hard
-"@sindresorhus/is@npm:^5.2.0":
- version: 5.6.0
- resolution: "@sindresorhus/is@npm:5.6.0"
- checksum: 10/b077c325acec98e30f7d86df158aaba2e7af2acb9bb6a00fda4b91578539fbff4ecebe9b934e24fec0e6950de3089d89d79ec02d9062476b20ce185be0e01bd6
- languageName: node
- linkType: hard
-
"@sinonjs/commons@npm:^3.0.0":
version: 3.0.1
resolution: "@sinonjs/commons@npm:3.0.1"
@@ -4139,12 +3953,10 @@ __metadata:
languageName: node
linkType: hard
-"@szmarczak/http-timer@npm:^5.0.1":
- version: 5.0.1
- resolution: "@szmarczak/http-timer@npm:5.0.1"
- dependencies:
- defer-to-connect: "npm:^2.0.1"
- checksum: 10/fc9cb993e808806692e4a3337c90ece0ec00c89f4b67e3652a356b89730da98bc824273a6d67ca84d5f33cd85f317dcd5ce39d8cc0a2f060145a608a7cb8ce92
+"@swmansion/icons@npm:^0.0.1":
+ version: 0.0.1
+ resolution: "@swmansion/icons@npm:0.0.1"
+ checksum: 10/a6169987882a6ce0fc8b69a317a74734cb7ed42c950227249a785bdd10553b181f6ae50e60dd42a116e5753ab2e5fb5f34cc937f020d2f11b1ed72a231dc94e2
languageName: node
linkType: hard
@@ -4233,13 +4045,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/http-cache-semantics@npm:^4.0.2":
- version: 4.0.4
- resolution: "@types/http-cache-semantics@npm:4.0.4"
- checksum: 10/a59566cff646025a5de396d6b3f44a39ab6a74f2ed8150692e0f31cc52f3661a68b04afe3166ebe0d566bd3259cb18522f46e949576d5204781cd6452b7fe0c5
- languageName: node
- linkType: hard
-
"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1":
version: 2.0.6
resolution: "@types/istanbul-lib-coverage@npm:2.0.6"
@@ -4683,6 +4488,13 @@ __metadata:
languageName: node
linkType: hard
+"@webgpu/types@npm:0.1.21":
+ version: 0.1.21
+ resolution: "@webgpu/types@npm:0.1.21"
+ checksum: 10/73fc5f2bebb1abf084b146c26c237c6450747b8119cdf3733643ff90968f6e7790d0ae0ad6aa6dc7b0783a502571d348a76d22c8e8466b3b7f7c9ee956da7e5b
+ languageName: node
+ linkType: hard
+
"@xmldom/xmldom@npm:^0.8.8":
version: 0.8.10
resolution: "@xmldom/xmldom@npm:0.8.10"
@@ -4697,7 +4509,7 @@ __metadata:
languageName: node
linkType: hard
-"JSONStream@npm:^1.0.4, JSONStream@npm:^1.3.5":
+"JSONStream@npm:^1.3.5":
version: 1.3.5
resolution: "JSONStream@npm:1.3.5"
dependencies:
@@ -4744,7 +4556,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0":
+"acorn-walk@npm:^8.1.1":
version: 8.3.4
resolution: "acorn-walk@npm:8.3.4"
dependencies:
@@ -4753,7 +4565,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.7.0, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
+"acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0":
version: 8.12.1
resolution: "acorn@npm:8.12.1"
bin:
@@ -4762,13 +4574,6 @@ __metadata:
languageName: node
linkType: hard
-"add-stream@npm:^1.0.0":
- version: 1.0.0
- resolution: "add-stream@npm:1.0.0"
- checksum: 10/3e9e8b0b8f0170406d7c3a9a39bfbdf419ccccb0fd2a396338c0fda0a339af73bf738ad414fc520741de74517acf0dd92b4a36fd3298a47fd5371eee8f2c5a06
- languageName: node
- linkType: hard
-
"agent-base@npm:6":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
@@ -4850,15 +4655,6 @@ __metadata:
languageName: node
linkType: hard
-"ansi-align@npm:^3.0.1":
- version: 3.0.1
- resolution: "ansi-align@npm:3.0.1"
- dependencies:
- string-width: "npm:^4.1.0"
- checksum: 10/4c7e8b6a10eaf18874ecee964b5db62ac86d0b9266ad4987b3a1efcb5d11a9e12c881ee40d14951833135a8966f10a3efe43f9c78286a6e632f53d85ad28b9c0
- languageName: node
- linkType: hard
-
"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2":
version: 4.3.2
resolution: "ansi-escapes@npm:4.3.2"
@@ -5069,20 +4865,6 @@ __metadata:
languageName: node
linkType: hard
-"array.prototype.map@npm:^1.0.5":
- version: 1.0.7
- resolution: "array.prototype.map@npm:1.0.7"
- dependencies:
- call-bind: "npm:^1.0.7"
- define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.2"
- es-array-method-boxes-properly: "npm:^1.0.0"
- es-object-atoms: "npm:^1.0.0"
- is-string: "npm:^1.0.7"
- checksum: 10/152b9a1ff8c8f6148495e6d5b2dea198220844191dc98a1d9d5a4d3efb3e79181198479a2a8814bd55b552a3c44feea04657c1ef979ac91583c19982aa27d19a
- languageName: node
- linkType: hard
-
"array.prototype.tosorted@npm:^1.1.4":
version: 1.1.4
resolution: "array.prototype.tosorted@npm:1.1.4"
@@ -5135,15 +4917,6 @@ __metadata:
languageName: node
linkType: hard
-"ast-types@npm:^0.13.4":
- version: 0.13.4
- resolution: "ast-types@npm:0.13.4"
- dependencies:
- tslib: "npm:^2.0.1"
- checksum: 10/c55b375b9aaf44713d8c0f77a08215ab6d44f368b13e44f2141c421022af3c62b615a30c8ea629457f0cbaec409c713401c0188a124552c8fe4a5ad6b17ff3c3
- languageName: node
- linkType: hard
-
"astral-regex@npm:^1.0.0":
version: 1.0.0
resolution: "astral-regex@npm:1.0.0"
@@ -5158,15 +4931,6 @@ __metadata:
languageName: node
linkType: hard
-"async-retry@npm:1.3.3":
- version: 1.3.3
- resolution: "async-retry@npm:1.3.3"
- dependencies:
- retry: "npm:0.13.1"
- checksum: 10/38a7152ff7265a9321ea214b9c69e8224ab1febbdec98efbbde6e562f17ff68405569b796b1c5271f354aef8783665d29953f051f68c1fc45306e61aec82fdc4
- languageName: node
- linkType: hard
-
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@@ -5369,20 +5133,6 @@ __metadata:
languageName: node
linkType: hard
-"basic-ftp@npm:^5.0.2":
- version: 5.0.5
- resolution: "basic-ftp@npm:5.0.5"
- checksum: 10/3dc56b2092b10d67e84621f5b9bbb0430469499178e857869194184d46fbdd367a9aa9fad660084388744b074b5f540e6ac8c22c0826ebba4fcc86a9d1c324e2
- languageName: node
- linkType: hard
-
-"before-after-hook@npm:^2.2.0":
- version: 2.2.3
- resolution: "before-after-hook@npm:2.2.3"
- checksum: 10/e676f769dbc4abcf4b3317db2fd2badb4a92c0710e0a7da12cf14b59c3482d4febf835ad7de7874499060fd4e13adf0191628e504728b3c5bb4ec7a878c09940
- languageName: node
- linkType: hard
-
"better-opn@npm:~3.0.2":
version: 3.0.2
resolution: "better-opn@npm:3.0.2"
@@ -5392,7 +5142,7 @@ __metadata:
languageName: node
linkType: hard
-"big-integer@npm:1.6.x, big-integer@npm:^1.6.44":
+"big-integer@npm:1.6.x":
version: 1.6.52
resolution: "big-integer@npm:1.6.52"
checksum: 10/4bc6ae152a96edc9f95020f5fc66b13d26a9ad9a021225a9f0213f7e3dc44269f423aa8c42e19d6ac4a63bb2b22140b95d10be8f9ca7a6d9aa1b22b330d1f514
@@ -5410,33 +5160,6 @@ __metadata:
languageName: node
linkType: hard
-"bl@npm:^5.0.0":
- version: 5.1.0
- resolution: "bl@npm:5.1.0"
- dependencies:
- buffer: "npm:^6.0.3"
- inherits: "npm:^2.0.4"
- readable-stream: "npm:^3.4.0"
- checksum: 10/0340d3d70def4213cd9cbcd8592f7c5922d3668e7b231286c354613fac4a8411ad373cff26e06162da7423035bbd5caafce3e140a5f397be72fcd1e9d86f1179
- languageName: node
- linkType: hard
-
-"boxen@npm:^7.0.0":
- version: 7.1.1
- resolution: "boxen@npm:7.1.1"
- dependencies:
- ansi-align: "npm:^3.0.1"
- camelcase: "npm:^7.0.1"
- chalk: "npm:^5.2.0"
- cli-boxes: "npm:^3.0.0"
- string-width: "npm:^5.1.2"
- type-fest: "npm:^2.13.0"
- widest-line: "npm:^4.0.1"
- wrap-ansi: "npm:^8.1.0"
- checksum: 10/a21d514435ccdd51f11088ad42e6298e3ff6be1bc2801699dcc1d3d79a2c5b005b5384dd03742e91a1ce2d9aedf99996efb36ed5fc7c5c392e19de2404bcfa37
- languageName: node
- linkType: hard
-
"bplist-creator@npm:0.0.7":
version: 0.0.7
resolution: "bplist-creator@npm:0.0.7"
@@ -5464,15 +5187,6 @@ __metadata:
languageName: node
linkType: hard
-"bplist-parser@npm:^0.2.0":
- version: 0.2.0
- resolution: "bplist-parser@npm:0.2.0"
- dependencies:
- big-integer: "npm:^1.6.44"
- checksum: 10/15d31c1b0c7e0fb384e96349453879a33609d92d91b55a9ccee04b4be4b0645f1c823253d73326a1a23104521fbc45c2dd97fb05adf61863841b68cbb2ca7a3d
- languageName: node
- linkType: hard
-
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -5565,16 +5279,6 @@ __metadata:
languageName: node
linkType: hard
-"buffer@npm:^6.0.3":
- version: 6.0.3
- resolution: "buffer@npm:6.0.3"
- dependencies:
- base64-js: "npm:^1.3.1"
- ieee754: "npm:^1.2.1"
- checksum: 10/b6bc68237ebf29bdacae48ce60e5e28fc53ae886301f2ad9496618efac49427ed79096750033e7eab1897a4f26ae374ace49106a5758f38fb70c78c9fda2c3b1
- languageName: node
- linkType: hard
-
"builtins@npm:^1.0.3":
version: 1.0.3
resolution: "builtins@npm:1.0.3"
@@ -5582,15 +5286,6 @@ __metadata:
languageName: node
linkType: hard
-"bundle-name@npm:^3.0.0":
- version: 3.0.0
- resolution: "bundle-name@npm:3.0.0"
- dependencies:
- run-applescript: "npm:^5.0.0"
- checksum: 10/edf2b1fbe6096ed32e7566947ace2ea937ee427391744d7510a2880c4b9a5b3543d3f6c551236a29e5c87d3195f8e2912516290e638c15bcbede7b37cc375615
- languageName: node
- linkType: hard
-
"bytes@npm:3.0.0":
version: 3.0.0
resolution: "bytes@npm:3.0.0"
@@ -5618,28 +5313,6 @@ __metadata:
languageName: node
linkType: hard
-"cacheable-lookup@npm:^7.0.0":
- version: 7.0.0
- resolution: "cacheable-lookup@npm:7.0.0"
- checksum: 10/69ea78cd9f16ad38120372e71ba98b64acecd95bbcbcdad811f857dc192bad81ace021f8def012ce19178583db8d46afd1a00b3e8c88527e978e049edbc23252
- languageName: node
- linkType: hard
-
-"cacheable-request@npm:^10.2.8":
- version: 10.2.14
- resolution: "cacheable-request@npm:10.2.14"
- dependencies:
- "@types/http-cache-semantics": "npm:^4.0.2"
- get-stream: "npm:^6.0.1"
- http-cache-semantics: "npm:^4.1.1"
- keyv: "npm:^4.5.3"
- mimic-response: "npm:^4.0.0"
- normalize-url: "npm:^8.0.0"
- responselike: "npm:^3.0.0"
- checksum: 10/102f454ac68eb66f99a709c5cf65e90ed89f1b9269752578d5a08590b3986c3ea47a5d9dff208fe7b65855a29da129a2f23321b88490106898e0ba70b807c912
- languageName: node
- linkType: hard
-
"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7":
version: 1.0.7
resolution: "call-bind@npm:1.0.7"
@@ -5722,13 +5395,6 @@ __metadata:
languageName: node
linkType: hard
-"camelcase@npm:^7.0.1":
- version: 7.0.1
- resolution: "camelcase@npm:7.0.1"
- checksum: 10/86ab8f3ebf08bcdbe605a211a242f00ed30d8bfb77dab4ebb744dd36efbc84432d1c4adb28975ba87a1b8be40a80fbd1e60e2f06565315918fa7350011a26d3d
- languageName: node
- linkType: hard
-
"caniuse-lite@npm:^1.0.30001646":
version: 1.0.30001660
resolution: "caniuse-lite@npm:1.0.30001660"
@@ -5736,10 +5402,12 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:5.2.0":
- version: 5.2.0
- resolution: "chalk@npm:5.2.0"
- checksum: 10/daadc187314c851cd94f1058dd870a2dd351dfaef8cf69048977fc56bce120f02f7aca77eb7ca88bf7a37ab6c15922e12b43f4ffa885f4fd2d9e15dd14c61a1b
+"canvaskit-wasm@npm:0.39.1":
+ version: 0.39.1
+ resolution: "canvaskit-wasm@npm:0.39.1"
+ dependencies:
+ "@webgpu/types": "npm:0.1.21"
+ checksum: 10/962f0ec74717eabd7de196a3397215f34fd6b8e9cfc1781c00d0f61695cc7521a77e7c80db061ec9cd6e92774db835edb7f6bed9ea69457ef7cceb08caad8aac
languageName: node
linkType: hard
@@ -5764,13 +5432,6 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^5.0.0, chalk@npm:^5.0.1, chalk@npm:^5.2.0":
- version: 5.3.0
- resolution: "chalk@npm:5.3.0"
- checksum: 10/6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea
- languageName: node
- linkType: hard
-
"char-regex@npm:^1.0.2":
version: 1.0.2
resolution: "char-regex@npm:1.0.2"
@@ -5778,13 +5439,6 @@ __metadata:
languageName: node
linkType: hard
-"chardet@npm:^0.7.0":
- version: 0.7.0
- resolution: "chardet@npm:0.7.0"
- checksum: 10/b0ec668fba5eeec575ed2559a0917ba41a6481f49063c8445400e476754e0957ee09e44dc032310f526182b8f1bf25e9d4ed371f74050af7be1383e06bc44952
- languageName: node
- linkType: hard
-
"charenc@npm:0.0.2, charenc@npm:~0.0.1":
version: 0.0.2
resolution: "charenc@npm:0.0.2"
@@ -5864,13 +5518,6 @@ __metadata:
languageName: node
linkType: hard
-"cli-boxes@npm:^3.0.0":
- version: 3.0.0
- resolution: "cli-boxes@npm:3.0.0"
- checksum: 10/637d84419d293a9eac40a1c8c96a2859e7d98b24a1a317788e13c8f441be052fc899480c6acab3acc82eaf1bccda6b7542d7cdcf5c9c3cc39227175dc098d5b2
- languageName: node
- linkType: hard
-
"cli-cursor@npm:^2.1.0":
version: 2.1.0
resolution: "cli-cursor@npm:2.1.0"
@@ -5889,29 +5536,13 @@ __metadata:
languageName: node
linkType: hard
-"cli-cursor@npm:^4.0.0":
- version: 4.0.0
- resolution: "cli-cursor@npm:4.0.0"
- dependencies:
- restore-cursor: "npm:^4.0.0"
- checksum: 10/ab3f3ea2076e2176a1da29f9d64f72ec3efad51c0960898b56c8a17671365c26e67b735920530eaf7328d61f8bd41c27f46b9cf6e4e10fe2fa44b5e8c0e392cc
- languageName: node
- linkType: hard
-
-"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.6.1":
+"cli-spinners@npm:^2.0.0, cli-spinners@npm:^2.5.0":
version: 2.9.2
resolution: "cli-spinners@npm:2.9.2"
checksum: 10/a0a863f442df35ed7294424f5491fa1756bd8d2e4ff0c8736531d886cec0ece4d85e8663b77a5afaf1d296e3cbbebff92e2e99f52bbea89b667cbe789b994794
languageName: node
linkType: hard
-"cli-width@npm:^4.0.0":
- version: 4.1.0
- resolution: "cli-width@npm:4.1.0"
- checksum: 10/b58876fbf0310a8a35c79b72ecfcf579b354e18ad04e6b20588724ea2b522799a758507a37dfe132fafaf93a9922cafd9514d9e1598e6b2cd46694853aed099f
- languageName: node
- linkType: hard
-
"cliui@npm:^6.0.0":
version: 6.0.0
resolution: "cliui@npm:6.0.0"
@@ -5923,17 +5554,6 @@ __metadata:
languageName: node
linkType: hard
-"cliui@npm:^7.0.2":
- version: 7.0.4
- resolution: "cliui@npm:7.0.4"
- dependencies:
- string-width: "npm:^4.2.0"
- strip-ansi: "npm:^6.0.0"
- wrap-ansi: "npm:^7.0.0"
- checksum: 10/db858c49af9d59a32d603987e6fddaca2ce716cd4602ba5a2bb3a5af1351eebe82aba8dff3ef3e1b331f7fa9d40ca66e67bdf8e7c327ce0ea959747ead65c0ef
- languageName: node
- linkType: hard
-
"cliui@npm:^8.0.1":
version: 8.0.1
resolution: "cliui@npm:8.0.1"
@@ -6119,6 +5739,8 @@ __metadata:
"@react-navigation/native": "*"
"@react-navigation/native-stack": "*"
"@react-navigation/stack": "*"
+ "@shopify/react-native-skia": "*"
+ "@swmansion/icons": "*"
react: "*"
react-dom: "*"
react-native: "*"
@@ -6185,41 +5807,6 @@ __metadata:
languageName: node
linkType: hard
-"concat-stream@npm:^2.0.0":
- version: 2.0.0
- resolution: "concat-stream@npm:2.0.0"
- dependencies:
- buffer-from: "npm:^1.0.0"
- inherits: "npm:^2.0.3"
- readable-stream: "npm:^3.0.2"
- typedarray: "npm:^0.0.6"
- checksum: 10/250e576d0617e7c58e1c4b2dd6fe69560f316d2c962a409f9f3aac794018499ddb31948b1e4296f217008e124cd5d526432097745157fe504b5d9f3dc469eadb
- languageName: node
- linkType: hard
-
-"config-chain@npm:^1.1.11":
- version: 1.1.13
- resolution: "config-chain@npm:1.1.13"
- dependencies:
- ini: "npm:^1.3.4"
- proto-list: "npm:~1.2.1"
- checksum: 10/83d22cabf709e7669f6870021c4d552e4fc02e9682702b726be94295f42ce76cfed00f70b2910ce3d6c9465d9758e191e28ad2e72ff4e3331768a90da6c1ef03
- languageName: node
- linkType: hard
-
-"configstore@npm:^6.0.0":
- version: 6.0.0
- resolution: "configstore@npm:6.0.0"
- dependencies:
- dot-prop: "npm:^6.0.1"
- graceful-fs: "npm:^4.2.6"
- unique-string: "npm:^3.0.0"
- write-file-atomic: "npm:^3.0.3"
- xdg-basedir: "npm:^5.0.1"
- checksum: 10/81995351c10bc04c58507f17748477aeac6f47465109d20e3534cebc881d22e927cfd29e73dd852c46c55f62c2b7be4cd1fe6eb3a93ba51f7f9813c218f9bae0
- languageName: node
- linkType: hard
-
"connect@npm:^3.6.5, connect@npm:^3.7.0":
version: 3.7.0
resolution: "connect@npm:3.7.0"
@@ -6232,16 +5819,6 @@ __metadata:
languageName: node
linkType: hard
-"conventional-changelog-angular@npm:^5.0.12":
- version: 5.0.13
- resolution: "conventional-changelog-angular@npm:5.0.13"
- dependencies:
- compare-func: "npm:^2.0.0"
- q: "npm:^1.5.1"
- checksum: 10/e7ee31ac703bc139552a735185f330d1b2e53d7c1ff40a78bf43339e563d95c290a4f57e68b76bb223345524702d80bf18dc955417cd0852d9457595c04ad8ce
- languageName: node
- linkType: hard
-
"conventional-changelog-angular@npm:^6.0.0":
version: 6.0.0
resolution: "conventional-changelog-angular@npm:6.0.0"
@@ -6251,180 +5828,12 @@ __metadata:
languageName: node
linkType: hard
-"conventional-changelog-atom@npm:^2.0.8":
- version: 2.0.8
- resolution: "conventional-changelog-atom@npm:2.0.8"
+"conventional-changelog-conventionalcommits@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "conventional-changelog-conventionalcommits@npm:6.1.0"
dependencies:
- q: "npm:^1.5.1"
- checksum: 10/53ae65ef33913538085f4cdda4904384a7b17374342efc2f34ad697569cb2011b2327d744ef5750ea651d27bfd401a166f9b6b5c2dc8564b38346910593dfae0
- languageName: node
- linkType: hard
-
-"conventional-changelog-codemirror@npm:^2.0.8":
- version: 2.0.8
- resolution: "conventional-changelog-codemirror@npm:2.0.8"
- dependencies:
- q: "npm:^1.5.1"
- checksum: 10/45183dcb16fa19fe8bc6cc1affc34ea856150e826fe83579f52b5b934f83fe71df64094a8061ccdb2890b94c9dc01a97d04618c88fa6ee58a1ac7f82067cad11
- languageName: node
- linkType: hard
-
-"conventional-changelog-conventionalcommits@npm:^4.5.0":
- version: 4.6.3
- resolution: "conventional-changelog-conventionalcommits@npm:4.6.3"
- dependencies:
- compare-func: "npm:^2.0.0"
- lodash: "npm:^4.17.15"
- q: "npm:^1.5.1"
- checksum: 10/70b9ba65a72d57d40aeea7e787cd200cd8350430ad959892a6cc2cb8b9c3874ba8e331d355c2565549c0a28881c114c5a8f1d4dab61fd8607f29d7e2174e181b
- languageName: node
- linkType: hard
-
-"conventional-changelog-conventionalcommits@npm:^6.1.0":
- version: 6.1.0
- resolution: "conventional-changelog-conventionalcommits@npm:6.1.0"
- dependencies:
- compare-func: "npm:^2.0.0"
- checksum: 10/7e5caef7d65b381a0b302534058acff83adc7a907094c85379ef138c35f2aa043cf8e7a3bef30f42078dcc4bff0e8bc763b179c007dd732d92856fae0607a4bc
- languageName: node
- linkType: hard
-
-"conventional-changelog-core@npm:^4.2.1":
- version: 4.2.4
- resolution: "conventional-changelog-core@npm:4.2.4"
- dependencies:
- add-stream: "npm:^1.0.0"
- conventional-changelog-writer: "npm:^5.0.0"
- conventional-commits-parser: "npm:^3.2.0"
- dateformat: "npm:^3.0.0"
- get-pkg-repo: "npm:^4.0.0"
- git-raw-commits: "npm:^2.0.8"
- git-remote-origin-url: "npm:^2.0.0"
- git-semver-tags: "npm:^4.1.1"
- lodash: "npm:^4.17.15"
- normalize-package-data: "npm:^3.0.0"
- q: "npm:^1.5.1"
- read-pkg: "npm:^3.0.0"
- read-pkg-up: "npm:^3.0.0"
- through2: "npm:^4.0.0"
- checksum: 10/c8104986724ec384baa559425485bd7834bb94a12e5d52b71b4829eddf664895be4c6269504a83788179959e60e40ba2fcbdb474cc70606ba7ce06b61e016726
- languageName: node
- linkType: hard
-
-"conventional-changelog-ember@npm:^2.0.9":
- version: 2.0.9
- resolution: "conventional-changelog-ember@npm:2.0.9"
- dependencies:
- q: "npm:^1.5.1"
- checksum: 10/87faf4223079a8089c8377fc77a01a567c6f58b46e9699143cc3125301ae520a69cd132a847d26b218871e7a0e074303764ee2da03d019c691f498a0abcfd32c
- languageName: node
- linkType: hard
-
-"conventional-changelog-eslint@npm:^3.0.9":
- version: 3.0.9
- resolution: "conventional-changelog-eslint@npm:3.0.9"
- dependencies:
- q: "npm:^1.5.1"
- checksum: 10/f12f82adaeb6353fa04ab7ff4c245373edefdead215b901ac7c15b51dc6c3fb00ea8fbbaa1a393803aba9d3bdf89fd5125167850ccc3f42260f403e6b2f0cde8
- languageName: node
- linkType: hard
-
-"conventional-changelog-express@npm:^2.0.6":
- version: 2.0.6
- resolution: "conventional-changelog-express@npm:2.0.6"
- dependencies:
- q: "npm:^1.5.1"
- checksum: 10/08db048159e9bd140a4c607c17023d37ab29aeb5f31bd62388cb8e7c647e39c6e44d181e1cfb8ef7c36ea0ec240aa9a1bf0e8400c872ae654a0d8d1f4e8caccb
- languageName: node
- linkType: hard
-
-"conventional-changelog-jquery@npm:^3.0.11":
- version: 3.0.11
- resolution: "conventional-changelog-jquery@npm:3.0.11"
- dependencies:
- q: "npm:^1.5.1"
- checksum: 10/18720ee26785aa0e31b0098b0b85779f4e7410d6eb3c7a7cfb0ea5c5125b970e11ac18a2d5b414806286fc389047c8592d792cbe47ed17a49e4661bd9aac1c74
- languageName: node
- linkType: hard
-
-"conventional-changelog-jshint@npm:^2.0.9":
- version: 2.0.9
- resolution: "conventional-changelog-jshint@npm:2.0.9"
- dependencies:
- compare-func: "npm:^2.0.0"
- q: "npm:^1.5.1"
- checksum: 10/42e16d0e41464619c68eefa00efdb9787a2be4923c33a1d607e5e281c3326491cc3674a67191ba8bd3cbdbe2a820de532622a8c6c9a10eae1639c48da458ab01
- languageName: node
- linkType: hard
-
-"conventional-changelog-preset-loader@npm:^2.3.4":
- version: 2.3.4
- resolution: "conventional-changelog-preset-loader@npm:2.3.4"
- checksum: 10/23a889b7fcf6fe7653e61f32a048877b2f954dcc1e0daa2848c5422eb908e6f24c78372f8d0d2130b5ed941c02e7010c599dccf44b8552602c6c8db9cb227453
- languageName: node
- linkType: hard
-
-"conventional-changelog-writer@npm:^5.0.0":
- version: 5.0.1
- resolution: "conventional-changelog-writer@npm:5.0.1"
- dependencies:
- conventional-commits-filter: "npm:^2.0.7"
- dateformat: "npm:^3.0.0"
- handlebars: "npm:^4.7.7"
- json-stringify-safe: "npm:^5.0.1"
- lodash: "npm:^4.17.15"
- meow: "npm:^8.0.0"
- semver: "npm:^6.0.0"
- split: "npm:^1.0.0"
- through2: "npm:^4.0.0"
- bin:
- conventional-changelog-writer: cli.js
- checksum: 10/09703c3fcea24753ac79dd408fad391f64b7e48c6b3813d0429e6ed25b72aec5235400cf9f182400520ad193598983a81345ad817ca9c37ae289ef70975ae0c6
- languageName: node
- linkType: hard
-
-"conventional-changelog@npm:^3.1.25":
- version: 3.1.25
- resolution: "conventional-changelog@npm:3.1.25"
- dependencies:
- conventional-changelog-angular: "npm:^5.0.12"
- conventional-changelog-atom: "npm:^2.0.8"
- conventional-changelog-codemirror: "npm:^2.0.8"
- conventional-changelog-conventionalcommits: "npm:^4.5.0"
- conventional-changelog-core: "npm:^4.2.1"
- conventional-changelog-ember: "npm:^2.0.9"
- conventional-changelog-eslint: "npm:^3.0.9"
- conventional-changelog-express: "npm:^2.0.6"
- conventional-changelog-jquery: "npm:^3.0.11"
- conventional-changelog-jshint: "npm:^2.0.9"
- conventional-changelog-preset-loader: "npm:^2.3.4"
- checksum: 10/27f4651ec70d24ca45f8b12b88c81ac258ab0912044ea6dc701dd4119df326d9094919d032b2f4ab366f41aa70480d759398f910f6534975ace1989f7935b790
- languageName: node
- linkType: hard
-
-"conventional-commits-filter@npm:^2.0.7":
- version: 2.0.7
- resolution: "conventional-commits-filter@npm:2.0.7"
- dependencies:
- lodash.ismatch: "npm:^4.4.0"
- modify-values: "npm:^1.0.0"
- checksum: 10/c7e25df941047750324704ca61ea281cbc156d359a1bd8587dc5e9e94311fa8343d97be9f1115b2e3948624830093926992a2854ae1ac8cbc560e60e360fdd9b
- languageName: node
- linkType: hard
-
-"conventional-commits-parser@npm:^3.2.0":
- version: 3.2.4
- resolution: "conventional-commits-parser@npm:3.2.4"
- dependencies:
- JSONStream: "npm:^1.0.4"
- is-text-path: "npm:^1.0.1"
- lodash: "npm:^4.17.15"
- meow: "npm:^8.0.0"
- split2: "npm:^3.0.0"
- through2: "npm:^4.0.0"
- bin:
- conventional-commits-parser: cli.js
- checksum: 10/2f9d31bade60ae68c1296ae67e47099c547a9452e1670fc5bfa64b572cadc9f305797c88a855f064dd899cc4eb4f15dd5a860064cdd8c52085066538019fe2a5
+ compare-func: "npm:^2.0.0"
+ checksum: 10/7e5caef7d65b381a0b302534058acff83adc7a907094c85379ef138c35f2aa043cf8e7a3bef30f42078dcc4bff0e8bc763b179c007dd732d92856fae0607a4bc
languageName: node
linkType: hard
@@ -6442,24 +5851,6 @@ __metadata:
languageName: node
linkType: hard
-"conventional-recommended-bump@npm:^6.1.0":
- version: 6.1.0
- resolution: "conventional-recommended-bump@npm:6.1.0"
- dependencies:
- concat-stream: "npm:^2.0.0"
- conventional-changelog-preset-loader: "npm:^2.3.4"
- conventional-commits-filter: "npm:^2.0.7"
- conventional-commits-parser: "npm:^3.2.0"
- git-raw-commits: "npm:^2.0.8"
- git-semver-tags: "npm:^4.1.1"
- meow: "npm:^8.0.0"
- q: "npm:^1.5.1"
- bin:
- conventional-recommended-bump: cli.js
- checksum: 10/5561a4163e097b502e5372420ae9eee240a2b0e00e8cca3f5d8a7110c35021a5fe61a18d457961ace815d58beecc0192ebd26da40c6affcfc038be2d3a5f77c4
- languageName: node
- linkType: hard
-
"convert-source-map@npm:^2.0.0":
version: 2.0.0
resolution: "convert-source-map@npm:2.0.0"
@@ -6495,18 +5886,6 @@ __metadata:
languageName: node
linkType: hard
-"cosmiconfig@npm:8.1.3":
- version: 8.1.3
- resolution: "cosmiconfig@npm:8.1.3"
- dependencies:
- import-fresh: "npm:^3.2.1"
- js-yaml: "npm:^4.1.0"
- parse-json: "npm:^5.0.0"
- path-type: "npm:^4.0.0"
- checksum: 10/7a9f514c84a75d2ee1fbbe565381d2508dfccebd1018a9097bd55647718e2a4003afc96be86cbbdd855461d01fd71a84d46991b1d8988006763a5fa8f1140ae7
- languageName: node
- linkType: hard
-
"cosmiconfig@npm:^5.0.5, cosmiconfig@npm:^5.1.0":
version: 5.2.1
resolution: "cosmiconfig@npm:5.2.1"
@@ -6644,15 +6023,6 @@ __metadata:
languageName: node
linkType: hard
-"crypto-random-string@npm:^4.0.0":
- version: 4.0.0
- resolution: "crypto-random-string@npm:4.0.0"
- dependencies:
- type-fest: "npm:^1.0.1"
- checksum: 10/cd5d7ae13803de53680aaed4c732f67209af5988cbeec5f6b29082020347c2d8849ca921b2008be7d6bd1d9d198c3c3697e7441d6d0d3da1bf51e9e4d2032149
- languageName: node
- linkType: hard
-
"csstype@npm:^3.0.2":
version: 3.1.3
resolution: "csstype@npm:3.1.3"
@@ -6674,20 +6044,6 @@ __metadata:
languageName: node
linkType: hard
-"data-uri-to-buffer@npm:^4.0.0":
- version: 4.0.1
- resolution: "data-uri-to-buffer@npm:4.0.1"
- checksum: 10/0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c
- languageName: node
- linkType: hard
-
-"data-uri-to-buffer@npm:^6.0.2":
- version: 6.0.2
- resolution: "data-uri-to-buffer@npm:6.0.2"
- checksum: 10/8b6927c33f9b54037f442856be0aa20e5fd49fa6c9c8ceece408dc306445d593ad72d207d57037c529ce65f413b421da800c6827b1dbefb607b8056f17123a61
- languageName: node
- linkType: hard
-
"data-view-buffer@npm:^1.0.1":
version: 1.0.1
resolution: "data-view-buffer@npm:1.0.1"
@@ -6721,13 +6077,6 @@ __metadata:
languageName: node
linkType: hard
-"dateformat@npm:^3.0.0":
- version: 3.0.3
- resolution: "dateformat@npm:3.0.3"
- checksum: 10/0504baf50c3777ad333c96c37d1673d67efcb7dd071563832f70b5cbf7f3f4753f18981d44bfd8f665d5e5a511d2fc0af8e0ead8b585b9b3ddaa90067864d3f0
- languageName: node
- linkType: hard
-
"dayjs@npm:^1.8.15":
version: 1.11.13
resolution: "dayjs@npm:1.11.13"
@@ -6796,15 +6145,6 @@ __metadata:
languageName: node
linkType: hard
-"decompress-response@npm:^6.0.0":
- version: 6.0.0
- resolution: "decompress-response@npm:6.0.0"
- dependencies:
- mimic-response: "npm:^3.1.0"
- checksum: 10/d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812
- languageName: node
- linkType: hard
-
"dedent@npm:^0.7.0":
version: 0.7.0
resolution: "dedent@npm:0.7.0"
@@ -6831,7 +6171,7 @@ __metadata:
languageName: node
linkType: hard
-"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3":
+"deep-is@npm:^0.1.3":
version: 0.1.4
resolution: "deep-is@npm:0.1.4"
checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8
@@ -6845,28 +6185,6 @@ __metadata:
languageName: node
linkType: hard
-"default-browser-id@npm:^3.0.0":
- version: 3.0.0
- resolution: "default-browser-id@npm:3.0.0"
- dependencies:
- bplist-parser: "npm:^0.2.0"
- untildify: "npm:^4.0.0"
- checksum: 10/279c7ad492542e5556336b6c254a4eaf31b2c63a5433265655ae6e47301197b6cfb15c595a6fdc6463b2ff8e1a1a1ed3cba56038a60e1527ba4ab1628c6b9941
- languageName: node
- linkType: hard
-
-"default-browser@npm:^4.0.0":
- version: 4.0.0
- resolution: "default-browser@npm:4.0.0"
- dependencies:
- bundle-name: "npm:^3.0.0"
- default-browser-id: "npm:^3.0.0"
- execa: "npm:^7.1.1"
- titleize: "npm:^3.0.0"
- checksum: 10/40c5af984799042b140300be5639c9742599bda76dc9eba5ac9ad5943c83dd36cebc4471eafcfddf8e0ec817166d5ba89d56f08e66a126c7c7908a179cead1a7
- languageName: node
- linkType: hard
-
"default-gateway@npm:^4.2.0":
version: 4.2.0
resolution: "default-gateway@npm:4.2.0"
@@ -6886,13 +6204,6 @@ __metadata:
languageName: node
linkType: hard
-"defer-to-connect@npm:^2.0.1":
- version: 2.0.1
- resolution: "defer-to-connect@npm:2.0.1"
- checksum: 10/8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b
- languageName: node
- linkType: hard
-
"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4":
version: 1.1.4
resolution: "define-data-property@npm:1.1.4"
@@ -6911,14 +6222,7 @@ __metadata:
languageName: node
linkType: hard
-"define-lazy-prop@npm:^3.0.0":
- version: 3.0.0
- resolution: "define-lazy-prop@npm:3.0.0"
- checksum: 10/f28421cf9ee86eecaf5f3b8fe875f13d7009c2625e97645bfff7a2a49aca678270b86c39f9c32939e5ca7ab96b551377ed4139558c795e076774287ad3af1aa4
- languageName: node
- linkType: hard
-
-"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1":
+"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1":
version: 1.2.1
resolution: "define-properties@npm:1.2.1"
dependencies:
@@ -6929,18 +6233,6 @@ __metadata:
languageName: node
linkType: hard
-"degenerator@npm:^4.0.4":
- version: 4.0.4
- resolution: "degenerator@npm:4.0.4"
- dependencies:
- ast-types: "npm:^0.13.4"
- escodegen: "npm:^1.14.3"
- esprima: "npm:^4.0.1"
- vm2: "npm:^3.9.19"
- checksum: 10/6735535f137664df6f1c318766c9692baf0f84b7b15c0c693edb29b9dc35840269644cd7ca44e84b6b98f2de11bddb76011978701959a01527d7062d49ccd209
- languageName: node
- linkType: hard
-
"del-cli@npm:^5.1.0":
version: 5.1.0
resolution: "del-cli@npm:5.1.0"
@@ -7007,13 +6299,6 @@ __metadata:
languageName: node
linkType: hard
-"deprecation@npm:^2.0.0":
- version: 2.3.1
- resolution: "deprecation@npm:2.3.1"
- checksum: 10/f56a05e182c2c195071385455956b0c4106fe14e36245b00c689ceef8e8ab639235176a96977ba7c74afb173317fac2e0ec6ec7a1c6d1e6eaa401c586c714132
- languageName: node
- linkType: hard
-
"destroy@npm:1.2.0":
version: 1.2.0
resolution: "destroy@npm:1.2.0"
@@ -7087,15 +6372,6 @@ __metadata:
languageName: node
linkType: hard
-"dot-prop@npm:^6.0.1":
- version: 6.0.1
- resolution: "dot-prop@npm:6.0.1"
- dependencies:
- is-obj: "npm:^2.0.0"
- checksum: 10/1200a4f6f81151161b8526c37966d60738cf12619b0ed1f55be01bdb55790bf0a5cd1398b8f2c296dcc07d0a7c2dd0e650baf0b069c367e74bb5df2f6603aba0
- languageName: node
- linkType: hard
-
"dotenv-expand@npm:~11.0.6":
version: 11.0.6
resolution: "dotenv-expand@npm:11.0.6"
@@ -7251,7 +6527,7 @@ __metadata:
languageName: node
linkType: hard
-"es-abstract@npm:^1.17.5, es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3":
+"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3":
version: 1.23.3
resolution: "es-abstract@npm:1.23.3"
dependencies:
@@ -7305,13 +6581,6 @@ __metadata:
languageName: node
linkType: hard
-"es-array-method-boxes-properly@npm:^1.0.0":
- version: 1.0.0
- resolution: "es-array-method-boxes-properly@npm:1.0.0"
- checksum: 10/27a8a21acf20f3f51f69dce8e643f151e380bffe569e95dc933b9ded9fcd89a765ee21b5229c93f9206c93f87395c6b75f80be8ac8c08a7ceb8771e1822ff1fb
- languageName: node
- linkType: hard
-
"es-define-property@npm:^1.0.0":
version: 1.0.0
resolution: "es-define-property@npm:1.0.0"
@@ -7328,23 +6597,6 @@ __metadata:
languageName: node
linkType: hard
-"es-get-iterator@npm:^1.0.2":
- version: 1.1.3
- resolution: "es-get-iterator@npm:1.1.3"
- dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.1.3"
- has-symbols: "npm:^1.0.3"
- is-arguments: "npm:^1.1.1"
- is-map: "npm:^2.0.2"
- is-set: "npm:^2.0.2"
- is-string: "npm:^1.0.7"
- isarray: "npm:^2.0.5"
- stop-iteration-iterator: "npm:^1.0.0"
- checksum: 10/bc2194befbe55725f9489098626479deee3c801eda7e83ce0dff2eb266a28dc808edb9b623ff01d31ebc1328f09d661333d86b601036692c2e3c1a6942319433
- languageName: node
- linkType: hard
-
"es-iterator-helpers@npm:^1.0.19":
version: 1.0.19
resolution: "es-iterator-helpers@npm:1.0.19"
@@ -7414,13 +6666,6 @@ __metadata:
languageName: node
linkType: hard
-"escape-goat@npm:^4.0.0":
- version: 4.0.0
- resolution: "escape-goat@npm:4.0.0"
- checksum: 10/515f4c5427118a8513ef12ad3fbc194b2a0239a6bc8d923b8ebd885c97f3518ce54f911007e6c9424387d68b0f54cd72aa277cfc2ca44da8cb1bd6a880cfd13c
- languageName: node
- linkType: hard
-
"escape-html@npm:~1.0.3":
version: 1.0.3
resolution: "escape-html@npm:1.0.3"
@@ -7428,7 +6673,7 @@ __metadata:
languageName: node
linkType: hard
-"escape-string-regexp@npm:5.0.0, escape-string-regexp@npm:^5.0.0":
+"escape-string-regexp@npm:5.0.0":
version: 5.0.0
resolution: "escape-string-regexp@npm:5.0.0"
checksum: 10/20daabe197f3cb198ec28546deebcf24b3dbb1a5a269184381b3116d12f0532e06007f4bc8da25669d6a7f8efb68db0758df4cd981f57bc5b57f521a3e12c59e
@@ -7456,25 +6701,6 @@ __metadata:
languageName: node
linkType: hard
-"escodegen@npm:^1.14.3":
- version: 1.14.3
- resolution: "escodegen@npm:1.14.3"
- dependencies:
- esprima: "npm:^4.0.1"
- estraverse: "npm:^4.2.0"
- esutils: "npm:^2.0.2"
- optionator: "npm:^0.8.1"
- source-map: "npm:~0.6.1"
- dependenciesMeta:
- source-map:
- optional: true
- bin:
- escodegen: bin/escodegen.js
- esgenerate: bin/esgenerate.js
- checksum: 10/70f095ca9393535f9f1c145ef99dc0b3ff14cca6bc4a79d90ff3352f90c3f2e07f75af6d6c05174ea67c45271f75e80dd440dd7d04ed2cf44c9452c3042fa84a
- languageName: node
- linkType: hard
-
"eslint-config-prettier@npm:^8.5.0":
version: 8.10.0
resolution: "eslint-config-prettier@npm:8.10.0"
@@ -7788,7 +7014,7 @@ __metadata:
languageName: node
linkType: hard
-"esprima@npm:^4.0.0, esprima@npm:^4.0.1, esprima@npm:~4.0.0":
+"esprima@npm:^4.0.0, esprima@npm:~4.0.0":
version: 4.0.1
resolution: "esprima@npm:4.0.1"
bin:
@@ -7816,7 +7042,7 @@ __metadata:
languageName: node
linkType: hard
-"estraverse@npm:^4.1.1, estraverse@npm:^4.2.0":
+"estraverse@npm:^4.1.1":
version: 4.3.0
resolution: "estraverse@npm:4.3.0"
checksum: 10/3f67ad02b6dbfaddd9ea459cf2b6ef4ecff9a6082a7af9d22e445b9abc082ad9ca47e1825557b293fcdae477f4714e561123e30bb6a5b2f184fb2bad4a9497eb
@@ -7858,23 +7084,6 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:7.1.1":
- version: 7.1.1
- resolution: "execa@npm:7.1.1"
- dependencies:
- cross-spawn: "npm:^7.0.3"
- get-stream: "npm:^6.0.1"
- human-signals: "npm:^4.3.0"
- is-stream: "npm:^3.0.0"
- merge-stream: "npm:^2.0.0"
- npm-run-path: "npm:^5.1.0"
- onetime: "npm:^6.0.0"
- signal-exit: "npm:^3.0.7"
- strip-final-newline: "npm:^3.0.0"
- checksum: 10/eca047b21506cfe9f1aae7b2eb16662a5d84d3a14f36f13ddc6d2c982529f7c8ecae6fe14465398cd3289a01d18968fde026b8907314885d126e414961da6384
- languageName: node
- linkType: hard
-
"execa@npm:^1.0.0":
version: 1.0.0
resolution: "execa@npm:1.0.0"
@@ -7924,23 +7133,6 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:^7.1.1":
- version: 7.2.0
- resolution: "execa@npm:7.2.0"
- dependencies:
- cross-spawn: "npm:^7.0.3"
- get-stream: "npm:^6.0.1"
- human-signals: "npm:^4.3.0"
- is-stream: "npm:^3.0.0"
- merge-stream: "npm:^2.0.0"
- npm-run-path: "npm:^5.1.0"
- onetime: "npm:^6.0.0"
- signal-exit: "npm:^3.0.7"
- strip-final-newline: "npm:^3.0.0"
- checksum: 10/473feff60f9d4dbe799225948de48b5158c1723021d19c4b982afe37bcd111ae84e1b4c9dfe967fae5101b0894b1a62e4dd564a286dfa3e46d7b0cfdbf7fe62b
- languageName: node
- linkType: hard
-
"exit@npm:^0.1.2":
version: 0.1.2
resolution: "exit@npm:0.1.2"
@@ -8170,17 +7362,6 @@ __metadata:
languageName: node
linkType: hard
-"external-editor@npm:^3.0.3":
- version: 3.1.0
- resolution: "external-editor@npm:3.1.0"
- dependencies:
- chardet: "npm:^0.7.0"
- iconv-lite: "npm:^0.4.24"
- tmp: "npm:^0.0.33"
- checksum: 10/776dff1d64a1d28f77ff93e9e75421a81c062983fd1544279d0a32f563c0b18c52abbb211f31262e2827e48edef5c9dc8f960d06dd2d42d1654443b88568056b
- languageName: node
- linkType: hard
-
"fabric-example@workspace:apps/fabric-example":
version: 0.0.0-use.local
resolution: "fabric-example@workspace:apps/fabric-example"
@@ -8195,6 +7376,8 @@ __metadata:
"@react-navigation/native": "npm:^6.1.18"
"@react-navigation/native-stack": "npm:^6.11.0"
"@react-navigation/stack": "npm:^6.4.1"
+ "@shopify/react-native-skia": "npm:^1.5.0"
+ "@swmansion/icons": "npm:^0.0.1"
"@types/react": "npm:^18.2.6"
babel-jest: "npm:^29.6.3"
common-app: "workspace:*"
@@ -8226,7 +7409,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2":
+"fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2":
version: 3.3.2
resolution: "fast-glob@npm:3.3.2"
dependencies:
@@ -8246,7 +7429,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6":
+"fast-levenshtein@npm:^2.0.6":
version: 2.0.6
resolution: "fast-levenshtein@npm:2.0.6"
checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1
@@ -8320,16 +7503,6 @@ __metadata:
languageName: node
linkType: hard
-"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
- version: 3.2.0
- resolution: "fetch-blob@npm:3.2.0"
- dependencies:
- node-domexception: "npm:^1.0.0"
- web-streams-polyfill: "npm:^3.0.3"
- checksum: 10/5264ecceb5fdc19eb51d1d0359921f12730941e333019e673e71eb73921146dceabcb0b8f534582be4497312d656508a439ad0f5edeec2b29ab2e10c72a1f86b
- languageName: node
- linkType: hard
-
"fetch-retry@npm:^4.1.1":
version: 4.1.1
resolution: "fetch-retry@npm:4.1.1"
@@ -8337,16 +7510,6 @@ __metadata:
languageName: node
linkType: hard
-"figures@npm:^5.0.0":
- version: 5.0.0
- resolution: "figures@npm:5.0.0"
- dependencies:
- escape-string-regexp: "npm:^5.0.0"
- is-unicode-supported: "npm:^1.2.0"
- checksum: 10/951d18be2f450c90462c484eff9bda705293319bc2f17b250194a0cf1a291600db4cb283a6ce199d49380c95b08d85d822ce4b18d2f9242663fd5895476d667c
- languageName: node
- linkType: hard
-
"file-entry-cache@npm:^6.0.1":
version: 6.0.1
resolution: "file-entry-cache@npm:6.0.1"
@@ -8398,15 +7561,6 @@ __metadata:
languageName: node
linkType: hard
-"find-up@npm:^2.0.0":
- version: 2.1.0
- resolution: "find-up@npm:2.1.0"
- dependencies:
- locate-path: "npm:^2.0.0"
- checksum: 10/43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd
- languageName: node
- linkType: hard
-
"find-up@npm:^3.0.0":
version: 3.0.0
resolution: "find-up@npm:3.0.0"
@@ -8503,13 +7657,6 @@ __metadata:
languageName: node
linkType: hard
-"form-data-encoder@npm:^2.1.2":
- version: 2.1.4
- resolution: "form-data-encoder@npm:2.1.4"
- checksum: 10/3778e7db3c21457296e6fdbc4200642a6c01e8be9297256e845ee275f9ddaecb5f49bfb0364690ad216898c114ec59bf85f01ec823a70670b8067273415d62f6
- languageName: node
- linkType: hard
-
"form-data@npm:^3.0.1":
version: 3.0.1
resolution: "form-data@npm:3.0.1"
@@ -8521,15 +7668,6 @@ __metadata:
languageName: node
linkType: hard
-"formdata-polyfill@npm:^4.0.10":
- version: 4.0.10
- resolution: "formdata-polyfill@npm:4.0.10"
- dependencies:
- fetch-blob: "npm:^3.1.2"
- checksum: 10/9b5001d2edef3c9449ac3f48bd4f8cc92e7d0f2e7c1a5c8ba555ad4e77535cc5cf621fabe49e97f304067037282dd9093b9160a3cb533e46420b446c4e6bc06f
- languageName: node
- linkType: hard
-
"freeport-async@npm:2.0.0":
version: 2.0.0
resolution: "freeport-async@npm:2.0.0"
@@ -8567,7 +7705,7 @@ __metadata:
languageName: node
linkType: hard
-"fs-extra@npm:^11.0.0, fs-extra@npm:^11.2.0":
+"fs-extra@npm:^11.0.0":
version: 11.2.0
resolution: "fs-extra@npm:11.2.0"
dependencies:
@@ -8705,20 +7843,6 @@ __metadata:
languageName: node
linkType: hard
-"get-pkg-repo@npm:^4.0.0":
- version: 4.2.1
- resolution: "get-pkg-repo@npm:4.2.1"
- dependencies:
- "@hutson/parse-repository-url": "npm:^3.0.0"
- hosted-git-info: "npm:^4.0.0"
- through2: "npm:^2.0.0"
- yargs: "npm:^16.2.0"
- bin:
- get-pkg-repo: src/cli.js
- checksum: 10/033225cf7cdf3f61885f45c492975f412268cf9f3ec68cc42df9af1bec54cf0b0c5ddb7391a6dc973361e7e10df9d432cca0050892ba8856bc50413e0741804f
- languageName: node
- linkType: hard
-
"get-port@npm:^3.2.0":
version: 3.2.0
resolution: "get-port@npm:3.2.0"
@@ -8744,7 +7868,7 @@ __metadata:
languageName: node
linkType: hard
-"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1":
+"get-stream@npm:^6.0.0":
version: 6.0.1
resolution: "get-stream@npm:6.0.1"
checksum: 10/781266d29725f35c59f1d214aedc92b0ae855800a980800e2923b3fbc4e56b3cb6e462c42e09a1cf1a00c64e056a78fa407cbe06c7c92b7e5cd49b4b85c2a497
@@ -8762,18 +7886,6 @@ __metadata:
languageName: node
linkType: hard
-"get-uri@npm:^6.0.1":
- version: 6.0.3
- resolution: "get-uri@npm:6.0.3"
- dependencies:
- basic-ftp: "npm:^5.0.2"
- data-uri-to-buffer: "npm:^6.0.2"
- debug: "npm:^4.3.4"
- fs-extra: "npm:^11.2.0"
- checksum: 10/a807f252c93459249329523e6d8d5af23ab0c5a9ac747b3c934b3c90294d38734d551d1cc0d0d05953cc2daf35debe1793c62f7e0cc1346132fa36fd629750d4
- languageName: node
- linkType: hard
-
"getenv@npm:^1.0.0":
version: 1.0.0
resolution: "getenv@npm:1.0.0"
@@ -8781,7 +7893,7 @@ __metadata:
languageName: node
linkType: hard
-"git-raw-commits@npm:^2.0.11, git-raw-commits@npm:^2.0.8":
+"git-raw-commits@npm:^2.0.11":
version: 2.0.11
resolution: "git-raw-commits@npm:2.0.11"
dependencies:
@@ -8796,56 +7908,6 @@ __metadata:
languageName: node
linkType: hard
-"git-remote-origin-url@npm:^2.0.0":
- version: 2.0.0
- resolution: "git-remote-origin-url@npm:2.0.0"
- dependencies:
- gitconfiglocal: "npm:^1.0.0"
- pify: "npm:^2.3.0"
- checksum: 10/85263a09c044b5f4fe2acc45cbb3c5331ab2bd4484bb53dfe7f3dd593a4bf90a9786a2e00b9884524331f50b3da18e8c924f01c2944087fc7f342282c4437b73
- languageName: node
- linkType: hard
-
-"git-semver-tags@npm:^4.1.1":
- version: 4.1.1
- resolution: "git-semver-tags@npm:4.1.1"
- dependencies:
- meow: "npm:^8.0.0"
- semver: "npm:^6.0.0"
- bin:
- git-semver-tags: cli.js
- checksum: 10/ab2ad6c7c81aeb6e703f9c9dd1d590a4c546a86b036540780ca414eb6d327f582a9c2d164899ccf0c20e1e875ec4db13b1e665c12c9d5c802eee79d9c71fdd0f
- languageName: node
- linkType: hard
-
-"git-up@npm:^7.0.0":
- version: 7.0.0
- resolution: "git-up@npm:7.0.0"
- dependencies:
- is-ssh: "npm:^1.4.0"
- parse-url: "npm:^8.1.0"
- checksum: 10/003ef38424702ac4cbe6d2817ccfb5811251244c955a8011ca40298d12cf1fb6529529f074d5832b5221e193ec05f4742ecf7806e6c4f41a81a2f2cff65d6bf4
- languageName: node
- linkType: hard
-
-"git-url-parse@npm:13.1.0":
- version: 13.1.0
- resolution: "git-url-parse@npm:13.1.0"
- dependencies:
- git-up: "npm:^7.0.0"
- checksum: 10/a088e9b57235eda6a390a0af31db28c128161861675935d26fca9615c0e5c6078b0adcca00293f25ea5e69a37bed5e8afe8bc5f2a079b286a897738a24ab98a4
- languageName: node
- linkType: hard
-
-"gitconfiglocal@npm:^1.0.0":
- version: 1.0.0
- resolution: "gitconfiglocal@npm:1.0.0"
- dependencies:
- ini: "npm:^1.3.2"
- checksum: 10/e6d2764c15bbab6d1d1000d1181bb907f6b3796bb04f63614dba571b18369e0ecb1beaf27ce8da5b24307ef607e3a5f262a67cb9575510b9446aac697d421beb
- languageName: node
- linkType: hard
-
"glob-parent@npm:^5.1.2":
version: 5.1.2
resolution: "glob-parent@npm:5.1.2"
@@ -8894,7 +7956,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7, glob@npm:^7.2.3":
+"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7, glob@npm:^7.2.3":
version: 7.2.3
resolution: "glob@npm:7.2.3"
dependencies:
@@ -8930,15 +7992,6 @@ __metadata:
languageName: node
linkType: hard
-"global-dirs@npm:^3.0.0":
- version: 3.0.1
- resolution: "global-dirs@npm:3.0.1"
- dependencies:
- ini: "npm:2.0.0"
- checksum: 10/70147b80261601fd40ac02a104581432325c1c47329706acd773f3a6ce99bb36d1d996038c85ccacd482ad22258ec233c586b6a91535b1a116b89663d49d6438
- languageName: node
- linkType: hard
-
"globals@npm:^11.1.0":
version: 11.12.0
resolution: "globals@npm:11.12.0"
@@ -8965,19 +8018,6 @@ __metadata:
languageName: node
linkType: hard
-"globby@npm:13.1.4":
- version: 13.1.4
- resolution: "globby@npm:13.1.4"
- dependencies:
- dir-glob: "npm:^3.0.1"
- fast-glob: "npm:^3.2.11"
- ignore: "npm:^5.2.0"
- merge2: "npm:^1.4.1"
- slash: "npm:^4.0.0"
- checksum: 10/4d039258f3af41f868e81d6d992542c445fe847ce09593a5ba20987695b145dcbca7263736b3ebbe4a7d985beb8d71bad1104ada00997e768cf21c311d1bbdf1
- languageName: node
- linkType: hard
-
"globby@npm:^11.0.1, globby@npm:^11.1.0":
version: 11.1.0
resolution: "globby@npm:11.1.0"
@@ -9014,33 +8054,7 @@ __metadata:
languageName: node
linkType: hard
-"got@npm:12.6.1, got@npm:^12.1.0":
- version: 12.6.1
- resolution: "got@npm:12.6.1"
- dependencies:
- "@sindresorhus/is": "npm:^5.2.0"
- "@szmarczak/http-timer": "npm:^5.0.1"
- cacheable-lookup: "npm:^7.0.0"
- cacheable-request: "npm:^10.2.8"
- decompress-response: "npm:^6.0.0"
- form-data-encoder: "npm:^2.1.2"
- get-stream: "npm:^6.0.1"
- http2-wrapper: "npm:^2.1.10"
- lowercase-keys: "npm:^3.0.0"
- p-cancelable: "npm:^3.0.0"
- responselike: "npm:^3.0.0"
- checksum: 10/6c22f1449f4574d79a38e0eba0b753ce2f9030d61838a1ae1e25d3ff5b0db7916aa21023ac369c67d39d17f87bba9283a0b0cb88590de77926c968630aacae75
- languageName: node
- linkType: hard
-
-"graceful-fs@npm:4.2.10":
- version: 4.2.10
- resolution: "graceful-fs@npm:4.2.10"
- checksum: 10/0c83c52b62c68a944dcfb9d66b0f9f10f7d6e3d081e8067b9bfdc9e5f3a8896584d576036f82915773189eec1eba599397fc620e75c03c0610fb3d67c6713c1a
- languageName: node
- linkType: hard
-
-"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
+"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.10, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2
@@ -9072,24 +8086,6 @@ __metadata:
languageName: node
linkType: hard
-"handlebars@npm:^4.7.7":
- version: 4.7.8
- resolution: "handlebars@npm:4.7.8"
- dependencies:
- minimist: "npm:^1.2.5"
- neo-async: "npm:^2.6.2"
- source-map: "npm:^0.6.1"
- uglify-js: "npm:^3.1.4"
- wordwrap: "npm:^1.0.0"
- dependenciesMeta:
- uglify-js:
- optional: true
- bin:
- handlebars: bin/handlebars
- checksum: 10/bd528f4dd150adf67f3f857118ef0fa43ff79a153b1d943fa0a770f2599e38b25a7a0dbac1a3611a4ec86970fd2325a81310fb788b5c892308c9f8743bd02e11
- languageName: node
- linkType: hard
-
"hard-rejection@npm:^2.1.0":
version: 2.1.0
resolution: "hard-rejection@npm:2.1.0"
@@ -9150,13 +8146,6 @@ __metadata:
languageName: node
linkType: hard
-"has-yarn@npm:^3.0.0":
- version: 3.0.0
- resolution: "has-yarn@npm:3.0.0"
- checksum: 10/b9e14e78e0a37bc070550c862b201534287bc10e62a86ec9c1f455ffb082db42817ce9aed914bd73f1d589bbf268520e194629ff2f62ff6b98a482c4bd2dcbfb
- languageName: node
- linkType: hard
-
"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
@@ -9248,7 +8237,7 @@ __metadata:
languageName: node
linkType: hard
-"hosted-git-info@npm:^4.0.0, hosted-git-info@npm:^4.0.1":
+"hosted-git-info@npm:^4.0.1":
version: 4.1.0
resolution: "hosted-git-info@npm:4.1.0"
dependencies:
@@ -9294,16 +8283,6 @@ __metadata:
languageName: node
linkType: hard
-"http2-wrapper@npm:^2.1.10":
- version: 2.2.1
- resolution: "http2-wrapper@npm:2.2.1"
- dependencies:
- quick-lru: "npm:^5.1.1"
- resolve-alpn: "npm:^1.2.0"
- checksum: 10/e7a5ac6548318e83fc0399cd832cdff6bbf902b165d211cad47a56ee732922e0aa1107246dd884b12532a1c4649d27c4d44f2480911c65202e93c90bde8fa29d
- languageName: node
- linkType: hard
-
"https-proxy-agent@npm:^5.0.1":
version: 5.0.1
resolution: "https-proxy-agent@npm:5.0.1"
@@ -9314,7 +8293,7 @@ __metadata:
languageName: node
linkType: hard
-"https-proxy-agent@npm:^7.0.0, https-proxy-agent@npm:^7.0.1":
+"https-proxy-agent@npm:^7.0.1":
version: 7.0.5
resolution: "https-proxy-agent@npm:7.0.5"
dependencies:
@@ -9338,22 +8317,6 @@ __metadata:
languageName: node
linkType: hard
-"human-signals@npm:^4.3.0":
- version: 4.3.1
- resolution: "human-signals@npm:4.3.1"
- checksum: 10/fa59894c358fe9f2b5549be2fb083661d5e1dff618d3ac70a49ca73495a72e873fbf6c0878561478e521e17d498292746ee391791db95ffe5747bfb5aef8765b
- languageName: node
- linkType: hard
-
-"iconv-lite@npm:^0.4.24":
- version: 0.4.24
- resolution: "iconv-lite@npm:0.4.24"
- dependencies:
- safer-buffer: "npm:>= 2.1.2 < 3"
- checksum: 10/6d3a2dac6e5d1fb126d25645c25c3a1209f70cceecc68b8ef51ae0da3cdc078c151fade7524a30b12a3094926336831fca09c666ef55b37e2c69638b5d6bd2e3
- languageName: node
- linkType: hard
-
"iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
@@ -9363,7 +8326,7 @@ __metadata:
languageName: node
linkType: hard
-"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1":
+"ieee754@npm:^1.1.13":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4
@@ -9408,13 +8371,6 @@ __metadata:
languageName: node
linkType: hard
-"import-lazy@npm:^4.0.0":
- version: 4.0.0
- resolution: "import-lazy@npm:4.0.0"
- checksum: 10/943309cc8eb01ada12700448c288b0384f77a1bc33c7e00fa4cb223c665f467a13ce9aaceb8d2e4cf586b07c1d2828040263dcc069873ce63cfc2ac6fd087971
- languageName: node
- linkType: hard
-
"import-local@npm:^3.0.2":
version: 3.2.0
resolution: "import-local@npm:3.2.0"
@@ -9465,43 +8421,13 @@ __metadata:
languageName: node
linkType: hard
-"ini@npm:2.0.0":
- version: 2.0.0
- resolution: "ini@npm:2.0.0"
- checksum: 10/04e24ba05c4f6947e15560824e153b4610bceea2f5a3ab68651d221a4aab3c77d4e3e90a917ebc8bf5ad71a30a8575de56c39d6b4c4b1375a28016b9f3625f9d
- languageName: node
- linkType: hard
-
-"ini@npm:^1.3.2, ini@npm:^1.3.4, ini@npm:~1.3.0":
+"ini@npm:^1.3.4, ini@npm:~1.3.0":
version: 1.3.8
resolution: "ini@npm:1.3.8"
checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566
languageName: node
linkType: hard
-"inquirer@npm:9.2.6":
- version: 9.2.6
- resolution: "inquirer@npm:9.2.6"
- dependencies:
- ansi-escapes: "npm:^4.3.2"
- chalk: "npm:^5.2.0"
- cli-cursor: "npm:^3.1.0"
- cli-width: "npm:^4.0.0"
- external-editor: "npm:^3.0.3"
- figures: "npm:^5.0.0"
- lodash: "npm:^4.17.21"
- mute-stream: "npm:1.0.0"
- ora: "npm:^5.4.1"
- run-async: "npm:^3.0.0"
- rxjs: "npm:^7.8.1"
- string-width: "npm:^4.2.3"
- strip-ansi: "npm:^6.0.1"
- through: "npm:^2.3.6"
- wrap-ansi: "npm:^6.0.1"
- checksum: 10/adb9b4078a3e96b82e11d0d245749273b263041bd3d5e505996b72f9af713b1699a251dbad6cf518d76c26b318812bdf590444960d096c50cc54bc0f85f0a355
- languageName: node
- linkType: hard
-
"internal-ip@npm:4.3.0":
version: 4.3.0
resolution: "internal-ip@npm:4.3.0"
@@ -9512,7 +8438,7 @@ __metadata:
languageName: node
linkType: hard
-"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7":
+"internal-slot@npm:^1.0.7":
version: 1.0.7
resolution: "internal-slot@npm:1.0.7"
dependencies:
@@ -9523,13 +8449,6 @@ __metadata:
languageName: node
linkType: hard
-"interpret@npm:^1.0.0":
- version: 1.4.0
- resolution: "interpret@npm:1.4.0"
- checksum: 10/5beec568d3f60543d0f61f2c5969d44dffcb1a372fe5abcdb8013968114d4e4aaac06bc971a4c9f5bd52d150881d8ebad72a8c60686b1361f5f0522f39c0e1a3
- languageName: node
- linkType: hard
-
"invariant@npm:^2.2.4":
version: 2.2.4
resolution: "invariant@npm:2.2.4"
@@ -9556,13 +8475,6 @@ __metadata:
languageName: node
linkType: hard
-"ip@npm:^1.1.8":
- version: 1.1.9
- resolution: "ip@npm:1.1.9"
- checksum: 10/29261559b806f64929ada21e6d7e3bf4e67f2b43a4cb67500fdb72cead2e655ce97451a2e325eca3f404081c634ff5c3a68472814744b7f2148ddffc0fdfe66c
- languageName: node
- linkType: hard
-
"ipaddr.js@npm:^1.9.0":
version: 1.9.1
resolution: "ipaddr.js@npm:1.9.1"
@@ -9580,16 +8492,6 @@ __metadata:
languageName: node
linkType: hard
-"is-arguments@npm:^1.1.1":
- version: 1.1.1
- resolution: "is-arguments@npm:1.1.1"
- dependencies:
- call-bind: "npm:^1.0.2"
- has-tostringtag: "npm:^1.0.0"
- checksum: 10/a170c7e26082e10de9be6e96d32ae3db4d5906194051b792e85fae3393b53cf2cb5b3557863e5c8ccbab55e2fd8f2f75aa643d437613f72052cf0356615c34be
- languageName: node
- linkType: hard
-
"is-array-buffer@npm:^3.0.4":
version: 3.0.4
resolution: "is-array-buffer@npm:3.0.4"
@@ -9656,17 +8558,6 @@ __metadata:
languageName: node
linkType: hard
-"is-ci@npm:3.0.1, is-ci@npm:^3.0.1":
- version: 3.0.1
- resolution: "is-ci@npm:3.0.1"
- dependencies:
- ci-info: "npm:^3.2.0"
- bin:
- is-ci: bin.js
- checksum: 10/192c66dc7826d58f803ecae624860dccf1899fc1f3ac5505284c0a5cf5f889046ffeb958fa651e5725d5705c5bcb14f055b79150ea5fcad7456a9569de60260e
- languageName: node
- linkType: hard
-
"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"
@@ -9710,15 +8601,6 @@ __metadata:
languageName: node
linkType: hard
-"is-docker@npm:^3.0.0":
- version: 3.0.0
- resolution: "is-docker@npm:3.0.0"
- bin:
- is-docker: cli.js
- checksum: 10/b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90
- languageName: node
- linkType: hard
-
"is-extglob@npm:^1.0.0":
version: 1.0.0
resolution: "is-extglob@npm:1.0.0"
@@ -9810,38 +8692,10 @@ __metadata:
languageName: node
linkType: hard
-"is-inside-container@npm:^1.0.0":
- version: 1.0.0
- resolution: "is-inside-container@npm:1.0.0"
- dependencies:
- is-docker: "npm:^3.0.0"
- bin:
- is-inside-container: cli.js
- checksum: 10/c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03
- languageName: node
- linkType: hard
-
-"is-installed-globally@npm:^0.4.0":
- version: 0.4.0
- resolution: "is-installed-globally@npm:0.4.0"
- dependencies:
- global-dirs: "npm:^3.0.0"
- is-path-inside: "npm:^3.0.2"
- checksum: 10/5294d21c82cb9beedd693ce1dfb12117c4db36d6e35edc9dc6bf06cb300d23c96520d1bfb063386b054268ae3d7255c3f09393b52218cc26ace99b217bf37c93
- languageName: node
- linkType: hard
-
"is-interactive@npm:^1.0.0":
- version: 1.0.0
- resolution: "is-interactive@npm:1.0.0"
- checksum: 10/824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9
- languageName: node
- linkType: hard
-
-"is-interactive@npm:^2.0.0":
- version: 2.0.0
- resolution: "is-interactive@npm:2.0.0"
- checksum: 10/e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c
+ version: 1.0.0
+ resolution: "is-interactive@npm:1.0.0"
+ checksum: 10/824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9
languageName: node
linkType: hard
@@ -9861,7 +8715,7 @@ __metadata:
languageName: node
linkType: hard
-"is-map@npm:^2.0.2, is-map@npm:^2.0.3":
+"is-map@npm:^2.0.3":
version: 2.0.3
resolution: "is-map@npm:2.0.3"
checksum: 10/8de7b41715b08bcb0e5edb0fb9384b80d2d5bcd10e142188f33247d19ff078abaf8e9b6f858e2302d8d05376a26a55cd23a3c9f8ab93292b02fcd2cc9e4e92bb
@@ -9875,13 +8729,6 @@ __metadata:
languageName: node
linkType: hard
-"is-npm@npm:^6.0.0":
- version: 6.0.0
- resolution: "is-npm@npm:6.0.0"
- checksum: 10/fafe1ddc772345f5460514891bb8014376904ccdbddd59eee7525c9adcc08d426933f28b087bef3e17524da7ebf35c03ef484ff3b6ba9d5fecd8c6e6a7d4bf11
- languageName: node
- linkType: hard
-
"is-number-object@npm:^1.0.4":
version: 1.0.7
resolution: "is-number-object@npm:1.0.7"
@@ -9949,13 +8796,6 @@ __metadata:
languageName: node
linkType: hard
-"is-plain-object@npm:^5.0.0":
- version: 5.0.0
- resolution: "is-plain-object@npm:5.0.0"
- checksum: 10/e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c
- languageName: node
- linkType: hard
-
"is-regex@npm:^1.1.4":
version: 1.1.4
resolution: "is-regex@npm:1.1.4"
@@ -9975,7 +8815,7 @@ __metadata:
languageName: node
linkType: hard
-"is-set@npm:^2.0.2, is-set@npm:^2.0.3":
+"is-set@npm:^2.0.3":
version: 2.0.3
resolution: "is-set@npm:2.0.3"
checksum: 10/5685df33f0a4a6098a98c72d94d67cad81b2bc72f1fb2091f3d9283c4a1c582123cd709145b02a9745f0ce6b41e3e43f1c944496d1d74d4ea43358be61308669
@@ -9991,15 +8831,6 @@ __metadata:
languageName: node
linkType: hard
-"is-ssh@npm:^1.4.0":
- version: 1.4.0
- resolution: "is-ssh@npm:1.4.0"
- dependencies:
- protocols: "npm:^2.0.1"
- checksum: 10/e2d17d74a19b4368cc06ce5c76d4f625952442da337098d670a9840e1db5334c646aa0a6ed3a01e9d396901e22c755174ce64e74c3139bb10e5df03d5a6fb3fa
- languageName: node
- linkType: hard
-
"is-stream@npm:^1.1.0":
version: 1.1.0
resolution: "is-stream@npm:1.1.0"
@@ -10014,13 +8845,6 @@ __metadata:
languageName: node
linkType: hard
-"is-stream@npm:^3.0.0":
- version: 3.0.0
- resolution: "is-stream@npm:3.0.0"
- checksum: 10/172093fe99119ffd07611ab6d1bcccfe8bc4aa80d864b15f43e63e54b7abc71e779acd69afdb854c4e2a67fdc16ae710e370eda40088d1cfc956a50ed82d8f16
- languageName: node
- linkType: hard
-
"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
version: 1.0.7
resolution: "is-string@npm:1.0.7"
@@ -10057,13 +8881,6 @@ __metadata:
languageName: node
linkType: hard
-"is-typedarray@npm:^1.0.0":
- version: 1.0.0
- resolution: "is-typedarray@npm:1.0.0"
- checksum: 10/4b433bfb0f9026f079f4eb3fbaa4ed2de17c9995c3a0b5c800bec40799b4b2a8b4e051b1ada77749deb9ded4ae52fe2096973f3a93ff83df1a5a7184a669478c
- languageName: node
- linkType: hard
-
"is-unc-path@npm:^1.0.0":
version: 1.0.0
resolution: "is-unc-path@npm:1.0.0"
@@ -10080,13 +8897,6 @@ __metadata:
languageName: node
linkType: hard
-"is-unicode-supported@npm:^1.1.0, is-unicode-supported@npm:^1.2.0":
- version: 1.3.0
- resolution: "is-unicode-supported@npm:1.3.0"
- checksum: 10/20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc
- languageName: node
- linkType: hard
-
"is-valid-path@npm:^0.1.1":
version: 0.1.1
resolution: "is-valid-path@npm:0.1.1"
@@ -10145,13 +8955,6 @@ __metadata:
languageName: node
linkType: hard
-"is-yarn-global@npm:^0.4.0":
- version: 0.4.1
- resolution: "is-yarn-global@npm:0.4.1"
- checksum: 10/79ec4e6f581c53d4fefdf5f6c237f9a3ad8db29c85cdc4659e76ae345659317552052a97b7e56952aa5d94a23c798ebec8ccad72fb14d3b26dc647ddceddd716
- languageName: node
- linkType: hard
-
"isarray@npm:^2.0.5":
version: 2.0.5
resolution: "isarray@npm:2.0.5"
@@ -10187,19 +8990,6 @@ __metadata:
languageName: node
linkType: hard
-"issue-parser@npm:6.0.0":
- version: 6.0.0
- resolution: "issue-parser@npm:6.0.0"
- dependencies:
- lodash.capitalize: "npm:^4.2.1"
- lodash.escaperegexp: "npm:^4.1.2"
- lodash.isplainobject: "npm:^4.0.6"
- lodash.isstring: "npm:^4.0.1"
- lodash.uniqby: "npm:^4.7.0"
- checksum: 10/dfa82df9abde032ab6d5e8b70013d6530b8b9fd5a8af3be938024814f9a47bc5bba1fed3371a3468931787bf3ba79d335c8e85eef695a5a103f978d0c985fa01
- languageName: node
- linkType: hard
-
"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
version: 3.2.2
resolution: "istanbul-lib-coverage@npm:3.2.2"
@@ -10265,23 +9055,6 @@ __metadata:
languageName: node
linkType: hard
-"iterate-iterator@npm:^1.0.1":
- version: 1.0.2
- resolution: "iterate-iterator@npm:1.0.2"
- checksum: 10/3528a3668eb9c146bcda4f616166cfa8e49e01e8302ffcfc7b4c923f9862a20d9dc4e3336c8517695bea22036686fde98a43718718ce188d1fead4dc1603a94f
- languageName: node
- linkType: hard
-
-"iterate-value@npm:^1.0.2":
- version: 1.0.2
- resolution: "iterate-value@npm:1.0.2"
- dependencies:
- es-get-iterator: "npm:^1.0.2"
- iterate-iterator: "npm:^1.0.1"
- checksum: 10/fc426ba672e8ef9bec471fb1990a0914c9c3640d64bfc365068ea17ec537388058942b896adc29c9151d8c99e745dcfe2c5e3161475c040d5228dd2c6856a24d
- languageName: node
- linkType: hard
-
"iterator.prototype@npm:^1.1.2":
version: 1.1.2
resolution: "iterator.prototype@npm:1.1.2"
@@ -10932,13 +9705,6 @@ __metadata:
languageName: node
linkType: hard
-"json-stringify-safe@npm:^5.0.1":
- version: 5.0.1
- resolution: "json-stringify-safe@npm:5.0.1"
- checksum: 10/59169a081e4eeb6f9559ae1f938f656191c000e0512aa6df9f3c8b2437a4ab1823819c6b9fd1818a4e39593ccfd72e9a051fdd3e2d1e340ed913679e888ded8c
- languageName: node
- linkType: hard
-
"json5@npm:^2.2.1, json5@npm:^2.2.2, json5@npm:^2.2.3":
version: 2.2.3
resolution: "json5@npm:2.2.3"
@@ -11022,15 +9788,6 @@ __metadata:
languageName: node
linkType: hard
-"latest-version@npm:^7.0.0":
- version: 7.0.0
- resolution: "latest-version@npm:7.0.0"
- dependencies:
- package-json: "npm:^8.1.0"
- checksum: 10/1f0deba00d5a34394cce4463c938811f51bbb539b131674f4bb2062c63f2cc3b80bccd56ecade3bd5932d04a34cf0a5a8a2ccc4ec9e5e6b285a9a7b3e27d0d66
- languageName: node
- linkType: hard
-
"leven@npm:^3.1.0":
version: 3.1.0
resolution: "leven@npm:3.1.0"
@@ -11048,16 +9805,6 @@ __metadata:
languageName: node
linkType: hard
-"levn@npm:~0.3.0":
- version: 0.3.0
- resolution: "levn@npm:0.3.0"
- dependencies:
- prelude-ls: "npm:~1.1.2"
- type-check: "npm:~0.3.2"
- checksum: 10/e1c3e75b5c430d9aa4c32c83c8a611e4ca53608ca78e3ea3bf6bbd9d017e4776d05d86e27df7901baebd3afa732abede9f26f715b8c1be19e95505c7a3a7b589
- languageName: node
- linkType: hard
-
"lighthouse-logger@npm:^1.0.0":
version: 1.4.2
resolution: "lighthouse-logger@npm:1.4.2"
@@ -11165,28 +9912,6 @@ __metadata:
languageName: node
linkType: hard
-"load-json-file@npm:^4.0.0":
- version: 4.0.0
- resolution: "load-json-file@npm:4.0.0"
- dependencies:
- graceful-fs: "npm:^4.1.2"
- parse-json: "npm:^4.0.0"
- pify: "npm:^3.0.0"
- strip-bom: "npm:^3.0.0"
- checksum: 10/8f5d6d93ba64a9620445ee9bde4d98b1eac32cf6c8c2d20d44abfa41a6945e7969456ab5f1ca2fb06ee32e206c9769a20eec7002fe290de462e8c884b6b8b356
- languageName: node
- linkType: hard
-
-"locate-path@npm:^2.0.0":
- version: 2.0.0
- resolution: "locate-path@npm:2.0.0"
- dependencies:
- p-locate: "npm:^2.0.0"
- path-exists: "npm:^3.0.0"
- checksum: 10/02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755
- languageName: node
- linkType: hard
-
"locate-path@npm:^3.0.0":
version: 3.0.0
resolution: "locate-path@npm:3.0.0"
@@ -11222,13 +9947,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.capitalize@npm:^4.2.1":
- version: 4.2.1
- resolution: "lodash.capitalize@npm:4.2.1"
- checksum: 10/54d61121bd040212954faee94703a999282987a104fab4ea6a85027d5fb2ce482a737478b76d292d07753da1c15911541adf0f6db840abf121c4cab85b92e962
- languageName: node
- linkType: hard
-
"lodash.debounce@npm:^4.0.8":
version: 4.0.8
resolution: "lodash.debounce@npm:4.0.8"
@@ -11236,13 +9954,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.escaperegexp@npm:^4.1.2":
- version: 4.1.2
- resolution: "lodash.escaperegexp@npm:4.1.2"
- checksum: 10/6d99452b1cfd6073175a9b741a9b09ece159eac463f86f02ea3bee2e2092923fce812c8d2bf446309cc52d1d61bf9af51c8118b0d7421388e6cead7bd3798f0f
- languageName: node
- linkType: hard
-
"lodash.isfunction@npm:^3.0.9":
version: 3.0.9
resolution: "lodash.isfunction@npm:3.0.9"
@@ -11250,13 +9961,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.ismatch@npm:^4.4.0":
- version: 4.4.0
- resolution: "lodash.ismatch@npm:4.4.0"
- checksum: 10/946a7176cdf4048f7b624378defda00dc0d01a2dad9933c54dad11fbecc253716df4210fbbfcd7d042e6fdb7603463cfe48e0ef576e20bf60d43f7deb1a2fe04
- languageName: node
- linkType: hard
-
"lodash.isplainobject@npm:^4.0.6":
version: 4.0.6
resolution: "lodash.isplainobject@npm:4.0.6"
@@ -11264,13 +9968,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.isstring@npm:^4.0.1":
- version: 4.0.1
- resolution: "lodash.isstring@npm:4.0.1"
- checksum: 10/eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0
- languageName: node
- linkType: hard
-
"lodash.kebabcase@npm:^4.1.1":
version: 4.1.1
resolution: "lodash.kebabcase@npm:4.1.1"
@@ -11320,13 +10017,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.uniqby@npm:^4.7.0":
- version: 4.7.0
- resolution: "lodash.uniqby@npm:4.7.0"
- checksum: 10/256616bd1bd6be84d8a5eceb61338a0ab8d8b34314ba7bfd5f0de35227d0e2c1e659c61ff4ac31eba6a664085cc7e397bc34c3534fba208102db660a4f98f211
- languageName: node
- linkType: hard
-
"lodash.upperfirst@npm:^4.3.1":
version: 4.3.1
resolution: "lodash.upperfirst@npm:4.3.1"
@@ -11334,7 +10024,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:4.17.21, lodash@npm:^4.17.13, lodash@npm:^4.17.15, lodash@npm:^4.17.21":
+"lodash@npm:^4.17.13, lodash@npm:^4.17.15, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532
@@ -11360,16 +10050,6 @@ __metadata:
languageName: node
linkType: hard
-"log-symbols@npm:^5.1.0":
- version: 5.1.0
- resolution: "log-symbols@npm:5.1.0"
- dependencies:
- chalk: "npm:^5.0.0"
- is-unicode-supported: "npm:^1.1.0"
- checksum: 10/7291b6e7f1b3df6865bdaeb9b59605c832668ac2fa0965c63b1e7dd3700349aec09c1d7d40c368d5041ff58b7f89461a56e4009471921301af7b3609cbff9a29
- languageName: node
- linkType: hard
-
"logkitty@npm:^0.7.1":
version: 0.7.1
resolution: "logkitty@npm:0.7.1"
@@ -11394,13 +10074,6 @@ __metadata:
languageName: node
linkType: hard
-"lowercase-keys@npm:^3.0.0":
- version: 3.0.0
- resolution: "lowercase-keys@npm:3.0.0"
- checksum: 10/67a3f81409af969bc0c4ca0e76cd7d16adb1e25aa1c197229587eaf8671275c8c067cd421795dbca4c81be0098e4c426a086a05e30de8a9c587b7a13c0c7ccc5
- languageName: node
- linkType: hard
-
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
version: 10.4.3
resolution: "lru-cache@npm:10.4.3"
@@ -11426,20 +10099,6 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^7.14.1":
- version: 7.18.3
- resolution: "lru-cache@npm:7.18.3"
- checksum: 10/6029ca5aba3aacb554e919d7ef804fffd4adfc4c83db00fac8248c7c78811fb6d4b6f70f7fd9d55032b3823446546a007edaa66ad1f2377ae833bd983fac5d98
- languageName: node
- linkType: hard
-
-"macos-release@npm:^3.1.0":
- version: 3.3.0
- resolution: "macos-release@npm:3.3.0"
- checksum: 10/78a8ba70033a6a546537a04ba4a8a7e6daf00378d0a6cbdb7e8d09abdfab79f61a0da52fe6875d833c090e1d42a80964c349c96a735117b3a2bb1d278a86e563
- languageName: node
- linkType: hard
-
"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0":
version: 2.1.0
resolution: "make-dir@npm:2.1.0"
@@ -11879,7 +10538,7 @@ __metadata:
languageName: node
linkType: hard
-"mime-types@npm:2.1.35, mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.34":
+"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.34":
version: 2.1.35
resolution: "mime-types@npm:2.1.35"
dependencies:
@@ -11920,27 +10579,6 @@ __metadata:
languageName: node
linkType: hard
-"mimic-fn@npm:^4.0.0":
- version: 4.0.0
- resolution: "mimic-fn@npm:4.0.0"
- checksum: 10/995dcece15ee29aa16e188de6633d43a3db4611bcf93620e7e62109ec41c79c0f34277165b8ce5e361205049766e371851264c21ac64ca35499acb5421c2ba56
- languageName: node
- linkType: hard
-
-"mimic-response@npm:^3.1.0":
- version: 3.1.0
- resolution: "mimic-response@npm:3.1.0"
- checksum: 10/7e719047612411fe071332a7498cf0448bbe43c485c0d780046c76633a771b223ff49bd00267be122cedebb897037fdb527df72335d0d0f74724604ca70b37ad
- languageName: node
- linkType: hard
-
-"mimic-response@npm:^4.0.0":
- version: 4.0.0
- resolution: "mimic-response@npm:4.0.0"
- checksum: 10/33b804cc961efe206efdb1fca6a22540decdcfce6c14eb5c0c50e5ae9022267ab22ce8f5568b1f7247ba67500fe20d523d81e0e9f009b321ccd9d472e78d1850
- languageName: node
- linkType: hard
-
"min-indent@npm:^1.0.0, min-indent@npm:^1.0.1":
version: 1.0.1
resolution: "min-indent@npm:1.0.1"
@@ -11986,7 +10624,7 @@ __metadata:
languageName: node
linkType: hard
-"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6":
+"minimist@npm:^1.2.0, minimist@npm:^1.2.6":
version: 1.2.8
resolution: "minimist@npm:1.2.8"
checksum: 10/908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f
@@ -12097,13 +10735,6 @@ __metadata:
languageName: node
linkType: hard
-"modify-values@npm:^1.0.0":
- version: 1.0.1
- resolution: "modify-values@npm:1.0.1"
- checksum: 10/16fa93f7ddb2540a8e82c99738ae4ed0e8e8cae57c96e13a0db9d68dfad074fd2eec542929b62ebbb18b357bbb3e4680b92d3a4099baa7aeb32360cb1c8f0247
- languageName: node
- linkType: hard
-
"ms@npm:2.0.0":
version: 2.0.0
resolution: "ms@npm:2.0.0"
@@ -12118,13 +10749,6 @@ __metadata:
languageName: node
linkType: hard
-"mute-stream@npm:1.0.0":
- version: 1.0.0
- resolution: "mute-stream@npm:1.0.0"
- checksum: 10/36fc968b0e9c9c63029d4f9dc63911950a3bdf55c9a87f58d3a266289b67180201cade911e7699f8b2fa596b34c9db43dad37649e3f7fdd13c3bb9edb0017ee7
- languageName: node
- linkType: hard
-
"mz@npm:^2.7.0":
version: 2.7.0
resolution: "mz@npm:2.7.0"
@@ -12166,7 +10790,7 @@ __metadata:
languageName: node
linkType: hard
-"neo-async@npm:^2.5.0, neo-async@npm:^2.6.2":
+"neo-async@npm:^2.5.0":
version: 2.6.2
resolution: "neo-async@npm:2.6.2"
checksum: 10/1a7948fea86f2b33ec766bc899c88796a51ba76a4afc9026764aedc6e7cde692a09067031e4a1bf6db4f978ccd99e7f5b6c03fe47ad9865c3d4f99050d67e002
@@ -12180,22 +10804,6 @@ __metadata:
languageName: node
linkType: hard
-"netmask@npm:^2.0.2":
- version: 2.0.2
- resolution: "netmask@npm:2.0.2"
- checksum: 10/375cabe898a5832816958664f26206f0a1e9f3605aa1816bfce803e060ff20f9d6ce56a2377e46f1470938358c31c27b3a8086f4a5e3ef678896147884d63ffa
- languageName: node
- linkType: hard
-
-"new-github-release-url@npm:2.0.0":
- version: 2.0.0
- resolution: "new-github-release-url@npm:2.0.0"
- dependencies:
- type-fest: "npm:^2.5.1"
- checksum: 10/3d4ae0f3b775623ceed8e558b6f9850e897aea981a9c937d3ad4e018669c829beccb2c4b5a6af996726ebf86c5b7638368dfc01f3ac2e395d1df29309bc0c5ca
- languageName: node
- linkType: hard
-
"nice-try@npm:^1.0.4":
version: 1.0.5
resolution: "nice-try@npm:1.0.5"
@@ -12226,24 +10834,6 @@ __metadata:
languageName: node
linkType: hard
-"node-domexception@npm:^1.0.0":
- version: 1.0.0
- resolution: "node-domexception@npm:1.0.0"
- checksum: 10/e332522f242348c511640c25a6fc7da4f30e09e580c70c6b13cb0be83c78c3e71c8d4665af2527e869fc96848924a4316ae7ec9014c091e2156f41739d4fa233
- languageName: node
- linkType: hard
-
-"node-fetch@npm:3.3.1":
- version: 3.3.1
- resolution: "node-fetch@npm:3.3.1"
- dependencies:
- data-uri-to-buffer: "npm:^4.0.0"
- fetch-blob: "npm:^3.1.4"
- formdata-polyfill: "npm:^4.0.10"
- checksum: 10/9fed9ed9ab83f719ffbe51b5029f32ee9820a725afc57a3e6a7e5742a05dd38b22d005f2d03d70e8e0924b497e513b08992843bb1bc7f0a15b72ad071d8c1271
- languageName: node
- linkType: hard
-
"node-fetch@npm:^2.2.0, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.7":
version: 2.7.0
resolution: "node-fetch@npm:2.7.0"
@@ -12317,7 +10907,7 @@ __metadata:
languageName: node
linkType: hard
-"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0":
+"normalize-package-data@npm:^2.5.0":
version: 2.5.0
resolution: "normalize-package-data@npm:2.5.0"
dependencies:
@@ -12348,13 +10938,6 @@ __metadata:
languageName: node
linkType: hard
-"normalize-url@npm:^8.0.0":
- version: 8.0.1
- resolution: "normalize-url@npm:8.0.1"
- checksum: 10/ae392037584fc5935b663ae4af475351930a1fc39e107956cfac44f42d5127eec2d77d9b7b12ded4696ca78103bafac5b6206a0ea8673c7bffecbe13544fcc5a
- languageName: node
- linkType: hard
-
"npm-package-arg@npm:^7.0.0":
version: 7.0.0
resolution: "npm-package-arg@npm:7.0.0"
@@ -12385,15 +10968,6 @@ __metadata:
languageName: node
linkType: hard
-"npm-run-path@npm:^5.1.0":
- version: 5.3.0
- resolution: "npm-run-path@npm:5.3.0"
- dependencies:
- path-key: "npm:^4.0.0"
- checksum: 10/ae8e7a89da9594fb9c308f6555c73f618152340dcaae423e5fb3620026fefbec463618a8b761920382d666fa7a2d8d240b6fe320e8a6cdd54dc3687e2b659d25
- languageName: node
- linkType: hard
-
"nullthrows@npm:^1.1.1":
version: 1.1.1
resolution: "nullthrows@npm:1.1.1"
@@ -12529,27 +11103,6 @@ __metadata:
languageName: node
linkType: hard
-"onetime@npm:^6.0.0":
- version: 6.0.0
- resolution: "onetime@npm:6.0.0"
- dependencies:
- mimic-fn: "npm:^4.0.0"
- checksum: 10/0846ce78e440841335d4e9182ef69d5762e9f38aa7499b19f42ea1c4cd40f0b4446094c455c713f9adac3f4ae86f613bb5e30c99e52652764d06a89f709b3788
- languageName: node
- linkType: hard
-
-"open@npm:9.1.0":
- version: 9.1.0
- resolution: "open@npm:9.1.0"
- dependencies:
- default-browser: "npm:^4.0.0"
- define-lazy-prop: "npm:^3.0.0"
- is-inside-container: "npm:^1.0.0"
- is-wsl: "npm:^2.2.0"
- checksum: 10/b45bcc7a6795804a2f560f0ca9f5e5344114bc40754d10c28a811c0c8f7027356979192931a6a7df2ab9e5bab3058988c99ae55f4fb71db2ce9fc77c40f619aa
- languageName: node
- linkType: hard
-
"open@npm:^6.2.0":
version: 6.4.0
resolution: "open@npm:6.4.0"
@@ -12580,20 +11133,6 @@ __metadata:
languageName: node
linkType: hard
-"optionator@npm:^0.8.1":
- version: 0.8.3
- resolution: "optionator@npm:0.8.3"
- dependencies:
- deep-is: "npm:~0.1.3"
- fast-levenshtein: "npm:~2.0.6"
- levn: "npm:~0.3.0"
- prelude-ls: "npm:~1.1.2"
- type-check: "npm:~0.3.2"
- word-wrap: "npm:~1.2.3"
- checksum: 10/6fa3c841b520f10aec45563962922215180e8cfbc59fde3ecd4ba2644ad66ca96bd19ad0e853f22fefcb7fc10e7612a5215b412cc66c5588f9a3138b38f6b5ff
- languageName: node
- linkType: hard
-
"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
@@ -12622,23 +11161,6 @@ __metadata:
languageName: node
linkType: hard
-"ora@npm:6.3.1":
- version: 6.3.1
- resolution: "ora@npm:6.3.1"
- dependencies:
- chalk: "npm:^5.0.0"
- cli-cursor: "npm:^4.0.0"
- cli-spinners: "npm:^2.6.1"
- is-interactive: "npm:^2.0.0"
- is-unicode-supported: "npm:^1.1.0"
- log-symbols: "npm:^5.1.0"
- stdin-discarder: "npm:^0.1.0"
- strip-ansi: "npm:^7.0.1"
- wcwidth: "npm:^1.0.1"
- checksum: 10/6c885f2a9e5ec6815477c78955a1c9c460c221063f078077d8a02bb50f9aedf390fddb321c6821cd107b3d250114a53fffbde65b705280ea8b77810bf4fc6e2c
- languageName: node
- linkType: hard
-
"ora@npm:^5.4.1":
version: 5.4.1
resolution: "ora@npm:5.4.1"
@@ -12663,16 +11185,6 @@ __metadata:
languageName: node
linkType: hard
-"os-name@npm:5.1.0":
- version: 5.1.0
- resolution: "os-name@npm:5.1.0"
- dependencies:
- macos-release: "npm:^3.1.0"
- windows-release: "npm:^5.0.1"
- checksum: 10/fae0fc02601d2966ee3255e80a6b3ac5d04265228d7b08563b4a8f2057732250cdff80b7ec33de2fef565cd92104078e71f4959fc081c6d197e2ec03a760ca42
- languageName: node
- linkType: hard
-
"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2":
version: 1.0.2
resolution: "os-tmpdir@npm:1.0.2"
@@ -12690,13 +11202,6 @@ __metadata:
languageName: node
linkType: hard
-"p-cancelable@npm:^3.0.0":
- version: 3.0.0
- resolution: "p-cancelable@npm:3.0.0"
- checksum: 10/a5eab7cf5ac5de83222a014eccdbfde65ecfb22005ee9bc242041f0b4441e07fac7629432c82f48868aa0f8413fe0df6c6067c16f76bf9217cd8dc651923c93d
- languageName: node
- linkType: hard
-
"p-finally@npm:^1.0.0":
version: 1.0.0
resolution: "p-finally@npm:1.0.0"
@@ -12704,15 +11209,6 @@ __metadata:
languageName: node
linkType: hard
-"p-limit@npm:^1.1.0":
- version: 1.3.0
- resolution: "p-limit@npm:1.3.0"
- dependencies:
- p-try: "npm:^1.0.0"
- checksum: 10/eb9d9bc378d48ab1998d2a2b2962a99eddd3e3726c82d3258ecc1a475f22907968edea4fec2736586d100366a001c6bb449a2abe6cd65e252e9597394f01e789
- languageName: node
- linkType: hard
-
"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0":
version: 2.3.0
resolution: "p-limit@npm:2.3.0"
@@ -12731,15 +11227,6 @@ __metadata:
languageName: node
linkType: hard
-"p-locate@npm:^2.0.0":
- version: 2.0.0
- resolution: "p-locate@npm:2.0.0"
- dependencies:
- p-limit: "npm:^1.1.0"
- checksum: 10/e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081
- languageName: node
- linkType: hard
-
"p-locate@npm:^3.0.0":
version: 3.0.0
resolution: "p-locate@npm:3.0.0"
@@ -12785,13 +11272,6 @@ __metadata:
languageName: node
linkType: hard
-"p-try@npm:^1.0.0":
- version: 1.0.0
- resolution: "p-try@npm:1.0.0"
- checksum: 10/20d9735f57258158df50249f172c77fe800d31e80f11a3413ac9e68ccbe6b11798acb3f48f2df8cea7ba2b56b753ce695a4fe2a2987c3c7691c44226b6d82b6f
- languageName: node
- linkType: hard
-
"p-try@npm:^2.0.0":
version: 2.2.0
resolution: "p-try@npm:2.2.0"
@@ -12799,32 +11279,6 @@ __metadata:
languageName: node
linkType: hard
-"pac-proxy-agent@npm:^6.0.3":
- version: 6.0.4
- resolution: "pac-proxy-agent@npm:6.0.4"
- dependencies:
- agent-base: "npm:^7.0.2"
- debug: "npm:^4.3.4"
- get-uri: "npm:^6.0.1"
- http-proxy-agent: "npm:^7.0.0"
- https-proxy-agent: "npm:^7.0.0"
- pac-resolver: "npm:^6.0.1"
- socks-proxy-agent: "npm:^8.0.1"
- checksum: 10/da745bae83d7a500afb7f19d106df972afd17149c7ca71e894e77d866707e0dad30ad46b345561ffcb0deb2114db895774c2f033d5da36cbbc07adbf14372e0c
- languageName: node
- linkType: hard
-
-"pac-resolver@npm:^6.0.1":
- version: 6.0.2
- resolution: "pac-resolver@npm:6.0.2"
- dependencies:
- degenerator: "npm:^4.0.4"
- ip: "npm:^1.1.8"
- netmask: "npm:^2.0.2"
- checksum: 10/5b751fbd8b9bec25204d0fc8c7114c65c5aa30492e851a2ee9bfc47cd4bbb555d4e315ddbda2b4071fc97098504a7e55c3e57d32f19ebb9bbaa189f94b050ed5
- languageName: node
- linkType: hard
-
"package-json-from-dist@npm:^1.0.0":
version: 1.0.0
resolution: "package-json-from-dist@npm:1.0.0"
@@ -12832,18 +11286,6 @@ __metadata:
languageName: node
linkType: hard
-"package-json@npm:^8.1.0":
- version: 8.1.1
- resolution: "package-json@npm:8.1.1"
- dependencies:
- got: "npm:^12.1.0"
- registry-auth-token: "npm:^5.0.1"
- registry-url: "npm:^6.0.0"
- semver: "npm:^7.3.7"
- checksum: 10/d97ce9539e1ed4aacaf7c2cb754f16afc10937fa250bd09b4d61181d2e36a30cf8a4cff2f8f831f0826b0ac01a355f26204c7e57ca0e450da6ccec3e34fc889a
- languageName: node
- linkType: hard
-
"parent-module@npm:^1.0.0":
version: 1.0.1
resolution: "parent-module@npm:1.0.1"
@@ -12875,15 +11317,6 @@ __metadata:
languageName: node
linkType: hard
-"parse-path@npm:^7.0.0":
- version: 7.0.0
- resolution: "parse-path@npm:7.0.0"
- dependencies:
- protocols: "npm:^2.0.0"
- checksum: 10/2e6eadae5aff97a8b6373c1c08440bfeed814f65452674a139dc606c7c410e8e48b7983fe451aedc59802a2814121b40415ca00675c1546ff75cb73ad0c1df5a
- languageName: node
- linkType: hard
-
"parse-png@npm:^2.1.0":
version: 2.1.0
resolution: "parse-png@npm:2.1.0"
@@ -12893,15 +11326,6 @@ __metadata:
languageName: node
linkType: hard
-"parse-url@npm:^8.1.0":
- version: 8.1.0
- resolution: "parse-url@npm:8.1.0"
- dependencies:
- parse-path: "npm:^7.0.0"
- checksum: 10/ceb51dc474568092a50d6d936036dfe438a87aa45bcf20947c8fcdf1544ee9c50255608abae604644e718e91e0b83cfbea4675e8b2fd90bc197432f6d9be263c
- languageName: node
- linkType: hard
-
"parseurl@npm:~1.3.3":
version: 1.3.3
resolution: "parseurl@npm:1.3.3"
@@ -12954,13 +11378,6 @@ __metadata:
languageName: node
linkType: hard
-"path-key@npm:^4.0.0":
- version: 4.0.0
- resolution: "path-key@npm:4.0.0"
- checksum: 10/8e6c314ae6d16b83e93032c61020129f6f4484590a777eed709c4a01b50e498822b00f76ceaf94bc64dbd90b327df56ceadce27da3d83393790f1219e07721d7
- languageName: node
- linkType: hard
-
"path-parse@npm:^1.0.5, path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
@@ -12978,15 +11395,6 @@ __metadata:
languageName: node
linkType: hard
-"path-type@npm:^3.0.0":
- version: 3.0.0
- resolution: "path-type@npm:3.0.0"
- dependencies:
- pify: "npm:^3.0.0"
- checksum: 10/735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6
- languageName: node
- linkType: hard
-
"path-type@npm:^4.0.0":
version: 4.0.0
resolution: "path-type@npm:4.0.0"
@@ -13015,20 +11423,6 @@ __metadata:
languageName: node
linkType: hard
-"pify@npm:^2.3.0":
- version: 2.3.0
- resolution: "pify@npm:2.3.0"
- checksum: 10/9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba
- languageName: node
- linkType: hard
-
-"pify@npm:^3.0.0":
- version: 3.0.0
- resolution: "pify@npm:3.0.0"
- checksum: 10/668c1dc8d9fc1b34b9ce3b16ba59deb39d4dc743527bf2ed908d2b914cb8ba40aa5ba6960b27c417c241531c5aafd0598feeac2d50cb15278cf9863fa6b02a77
- languageName: node
- linkType: hard
-
"pify@npm:^4.0.1":
version: 4.0.1
resolution: "pify@npm:4.0.1"
@@ -13104,13 +11498,6 @@ __metadata:
languageName: node
linkType: hard
-"prelude-ls@npm:~1.1.2":
- version: 1.1.2
- resolution: "prelude-ls@npm:1.1.2"
- checksum: 10/946a9f60d3477ca6b7d4c5e8e452ad1b98dc8aaa992cea939a6b926ac16cc4129d7217c79271dc808b5814b1537ad0af37f29a942e2eafbb92cfc5a1c87c38cb
- languageName: node
- linkType: hard
-
"prettier-linter-helpers@npm:^1.0.0":
version: 1.0.0
resolution: "prettier-linter-helpers@npm:1.0.0"
@@ -13195,21 +11582,7 @@ __metadata:
dependencies:
err-code: "npm:^2.0.2"
retry: "npm:^0.12.0"
- checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4
- languageName: node
- linkType: hard
-
-"promise.allsettled@npm:1.0.6":
- version: 1.0.6
- resolution: "promise.allsettled@npm:1.0.6"
- dependencies:
- array.prototype.map: "npm:^1.0.5"
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.1.4"
- es-abstract: "npm:^1.20.4"
- get-intrinsic: "npm:^1.1.3"
- iterate-value: "npm:^1.0.2"
- checksum: 10/74e3871033d6fbe113f955c51fef8e3c5b56ec75f34eaacdf59cf5e90ee57e3bd219f813068619b0c10f51eeae79bfca86818a109e2c76ee6abf548f3f93bbc6
+ checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4
languageName: node
linkType: hard
@@ -13252,43 +11625,6 @@ __metadata:
languageName: node
linkType: hard
-"proto-list@npm:~1.2.1":
- version: 1.2.4
- resolution: "proto-list@npm:1.2.4"
- checksum: 10/9cc3b46d613fa0d637033b225db1bc98e914c3c05864f7adc9bee728192e353125ef2e49f71129a413f6333951756000b0e54f299d921f02d3e9e370cc994100
- languageName: node
- linkType: hard
-
-"protocols@npm:^2.0.0, protocols@npm:^2.0.1":
- version: 2.0.1
- resolution: "protocols@npm:2.0.1"
- checksum: 10/0cd08a55b9cb7cc96fed7a528255320428a7c86fd5f3f35965845285436433b7836178893168f80584efdf86391cd7c0a837b6f6bc5ddac3029c76be61118ba5
- languageName: node
- linkType: hard
-
-"proxy-agent@npm:6.2.1":
- version: 6.2.1
- resolution: "proxy-agent@npm:6.2.1"
- dependencies:
- agent-base: "npm:^7.0.2"
- debug: "npm:^4.3.4"
- http-proxy-agent: "npm:^7.0.0"
- https-proxy-agent: "npm:^7.0.0"
- lru-cache: "npm:^7.14.1"
- pac-proxy-agent: "npm:^6.0.3"
- proxy-from-env: "npm:^1.1.0"
- socks-proxy-agent: "npm:^8.0.1"
- checksum: 10/6239cdcf4188936c15cfa520e0ef91b740d30848ffde89cf4995a1486d5aa239e45dd079c97702089a155e87dc0bb6def59a5cddea0a09def27922fb131467f0
- languageName: node
- linkType: hard
-
-"proxy-from-env@npm:^1.1.0":
- version: 1.1.0
- resolution: "proxy-from-env@npm:1.1.0"
- checksum: 10/f0bb4a87cfd18f77bc2fba23ae49c3b378fb35143af16cc478171c623eebe181678f09439707ad80081d340d1593cd54a33a0113f3ccb3f4bc9451488780ee23
- languageName: node
- linkType: hard
-
"pump@npm:^3.0.0":
version: 3.0.2
resolution: "pump@npm:3.0.2"
@@ -13306,15 +11642,6 @@ __metadata:
languageName: node
linkType: hard
-"pupa@npm:^3.1.0":
- version: 3.1.0
- resolution: "pupa@npm:3.1.0"
- dependencies:
- escape-goat: "npm:^4.0.0"
- checksum: 10/32784254b76e455e92169ab88339cf3df8b5d63e52b7e6d0568f065e53946659d4c30e4b75de435c37033b7902bd1c785f142be4afb8aa984a86cf2d7e9a8421
- languageName: node
- linkType: hard
-
"pure-rand@npm:^6.0.0":
version: 6.1.0
resolution: "pure-rand@npm:6.1.0"
@@ -13322,13 +11649,6 @@ __metadata:
languageName: node
linkType: hard
-"q@npm:^1.5.1":
- version: 1.5.1
- resolution: "q@npm:1.5.1"
- checksum: 10/70c4a30b300277165cd855889cd3aa681929840a5940413297645c5691e00a3549a2a4153131efdf43fe8277ee8cf5a34c9636dcb649d83ad47f311a015fd380
- languageName: node
- linkType: hard
-
"qrcode-terminal@npm:0.11.0":
version: 0.11.0
resolution: "qrcode-terminal@npm:0.11.0"
@@ -13394,7 +11714,7 @@ __metadata:
languageName: node
linkType: hard
-"rc@npm:1.2.8, rc@npm:~1.2.7":
+"rc@npm:~1.2.7":
version: 1.2.8
resolution: "rc@npm:1.2.8"
dependencies:
@@ -13469,6 +11789,8 @@ __metadata:
"@react-navigation/native": "npm:^6.1.18"
"@react-navigation/native-stack": "npm:^6.11.0"
"@react-navigation/stack": "npm:^6.4.1"
+ "@shopify/react-native-skia": "npm:^1.5.0"
+ "@swmansion/icons": "npm:^0.0.1"
common-app: "workspace:*"
expo: "npm:~51.0.28"
expo-constants: "npm:~16.0.2"
@@ -13494,14 +11816,12 @@ __metadata:
"@commitlint/config-conventional": "npm:^17.0.2"
"@evilmartians/lefthook": "npm:^1.5.0"
"@react-native/eslint-config": "npm:^0.73.1"
- "@release-it/conventional-changelog": "npm:^5.0.0"
commitlint: "npm:^17.0.2"
eslint: "npm:^8.51.0"
eslint-config-prettier: "npm:^9.0.0"
eslint-plugin-prettier: "npm:^5.0.1"
eslint-plugin-react: "npm:^7.34.3"
prettier: "npm:^3.0.3"
- release-it: "npm:^15.0.0"
typescript: "npm:^5.3.0"
languageName: unknown
linkType: soft
@@ -13513,7 +11833,6 @@ __metadata:
"@commitlint/config-conventional": "npm:^17.0.2"
"@evilmartians/lefthook": "npm:^1.5.0"
"@react-native/eslint-config": "npm:^0.73.1"
- "@release-it/conventional-changelog": "npm:^5.0.0"
"@types/jest": "npm:^29.5.5"
"@types/react": "npm:^18.2.44"
commitlint: "npm:^17.0.2"
@@ -13527,7 +11846,6 @@ __metadata:
react: "npm:18.2.0"
react-native: "npm:0.74.3"
react-native-builder-bob: "npm:^0.24.0"
- release-it: "npm:^15.0.0"
turbo: "npm:^1.10.7"
typescript: "npm:^5.2.2"
peerDependencies:
@@ -13747,6 +12065,18 @@ __metadata:
languageName: node
linkType: hard
+"react-reconciler@npm:0.27.0":
+ version: 0.27.0
+ resolution: "react-reconciler@npm:0.27.0"
+ dependencies:
+ loose-envify: "npm:^1.1.0"
+ scheduler: "npm:^0.21.0"
+ peerDependencies:
+ react: ^18.0.0
+ checksum: 10/7c4bfd76b0ba7802fefaa0fc8b93610eae20044693af85e8a1d605faad4d82fa47b8ffe4af409c67d45d0c9d93a8f0ed407ae506163fc5e4ab3145bdec0d5602
+ languageName: node
+ linkType: hard
+
"react-refresh@npm:^0.14.0, react-refresh@npm:^0.14.2":
version: 0.14.2
resolution: "react-refresh@npm:0.14.2"
@@ -13784,16 +12114,6 @@ __metadata:
languageName: node
linkType: hard
-"read-pkg-up@npm:^3.0.0":
- version: 3.0.0
- resolution: "read-pkg-up@npm:3.0.0"
- dependencies:
- find-up: "npm:^2.0.0"
- read-pkg: "npm:^3.0.0"
- checksum: 10/16175573f2914ab9788897bcbe2a62b5728d0075e62285b3680cebe97059e2911e0134a062cf6e51ebe3e3775312bc788ac2039ed6af38ec68d2c10c6f2b30fb
- languageName: node
- linkType: hard
-
"read-pkg-up@npm:^7.0.1":
version: 7.0.1
resolution: "read-pkg-up@npm:7.0.1"
@@ -13816,17 +12136,6 @@ __metadata:
languageName: node
linkType: hard
-"read-pkg@npm:^3.0.0":
- version: 3.0.0
- resolution: "read-pkg@npm:3.0.0"
- dependencies:
- load-json-file: "npm:^4.0.0"
- normalize-package-data: "npm:^2.3.2"
- path-type: "npm:^3.0.0"
- checksum: 10/398903ebae6c7e9965419a1062924436cc0b6f516c42c4679a90290d2f87448ed8f977e7aa2dbba4aa1ac09248628c43e493ac25b2bc76640e946035200e34c6
- languageName: node
- linkType: hard
-
"read-pkg@npm:^5.2.0":
version: 5.2.0
resolution: "read-pkg@npm:5.2.0"
@@ -13851,7 +12160,7 @@ __metadata:
languageName: node
linkType: hard
-"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.4.0":
+"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.4.0":
version: 3.6.2
resolution: "readable-stream@npm:3.6.2"
dependencies:
@@ -13896,15 +12205,6 @@ __metadata:
languageName: node
linkType: hard
-"rechoir@npm:^0.6.2":
- version: 0.6.2
- resolution: "rechoir@npm:0.6.2"
- dependencies:
- resolve: "npm:^1.1.6"
- checksum: 10/fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b
- languageName: node
- linkType: hard
-
"redent@npm:^3.0.0":
version: 3.0.0
resolution: "redent@npm:3.0.0"
@@ -14005,24 +12305,6 @@ __metadata:
languageName: node
linkType: hard
-"registry-auth-token@npm:^5.0.1":
- version: 5.0.2
- resolution: "registry-auth-token@npm:5.0.2"
- dependencies:
- "@pnpm/npm-conf": "npm:^2.1.0"
- checksum: 10/0d7683b71ee418993e7872b389024b13645c4295eb7bb850d10728eaf46065db24ea4d47dc6cbb71a60d1aa4bef077b0d8b7363c9ac9d355fdba47bebdfb01dd
- languageName: node
- linkType: hard
-
-"registry-url@npm:^6.0.0":
- version: 6.0.1
- resolution: "registry-url@npm:6.0.1"
- dependencies:
- rc: "npm:1.2.8"
- checksum: 10/33712aa1b489aab7aba2191c1cdadfdd71f5bf166d4792d81744a6be332c160bd7d9273af8269d8a01284b9562f14a5b31b7abcf7ad9306c44887ecff51c89ab
- languageName: node
- linkType: hard
-
"regjsparser@npm:^0.9.1":
version: 0.9.1
resolution: "regjsparser@npm:0.9.1"
@@ -14034,43 +12316,6 @@ __metadata:
languageName: node
linkType: hard
-"release-it@npm:^15.0.0":
- version: 15.11.0
- resolution: "release-it@npm:15.11.0"
- dependencies:
- "@iarna/toml": "npm:2.2.5"
- "@octokit/rest": "npm:19.0.11"
- async-retry: "npm:1.3.3"
- chalk: "npm:5.2.0"
- cosmiconfig: "npm:8.1.3"
- execa: "npm:7.1.1"
- git-url-parse: "npm:13.1.0"
- globby: "npm:13.1.4"
- got: "npm:12.6.1"
- inquirer: "npm:9.2.6"
- is-ci: "npm:3.0.1"
- issue-parser: "npm:6.0.0"
- lodash: "npm:4.17.21"
- mime-types: "npm:2.1.35"
- new-github-release-url: "npm:2.0.0"
- node-fetch: "npm:3.3.1"
- open: "npm:9.1.0"
- ora: "npm:6.3.1"
- os-name: "npm:5.1.0"
- promise.allsettled: "npm:1.0.6"
- proxy-agent: "npm:6.2.1"
- semver: "npm:7.5.1"
- shelljs: "npm:0.8.5"
- update-notifier: "npm:6.0.2"
- url-join: "npm:5.0.0"
- wildcard-match: "npm:5.1.2"
- yargs-parser: "npm:21.1.1"
- bin:
- release-it: bin/release-it.js
- checksum: 10/dd989aff86fe591d7259e81a87036fdd50b8f9b2c8c58088abb5f727814af3fd94f89da5ad71124a6dd1c2dbc008abc74c4eef652676dc54deff80e5cd94ed35
- languageName: node
- linkType: hard
-
"remove-trailing-slash@npm:^0.1.0":
version: 0.1.1
resolution: "remove-trailing-slash@npm:0.1.1"
@@ -14110,13 +12355,6 @@ __metadata:
languageName: node
linkType: hard
-"resolve-alpn@npm:^1.2.0":
- version: 1.2.1
- resolution: "resolve-alpn@npm:1.2.1"
- checksum: 10/744e87888f0b6fa0b256ab454ca0b9c0b80808715e2ef1f3672773665c92a941f6181194e30ccae4a8cd0adbe0d955d3f133102636d2ee0cca0119fec0bc9aec
- languageName: node
- linkType: hard
-
"resolve-cwd@npm:^3.0.0":
version: 3.0.0
resolution: "resolve-cwd@npm:3.0.0"
@@ -14163,7 +12401,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.2":
+"resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0, resolve@npm:^1.22.2":
version: 1.22.8
resolution: "resolve@npm:1.22.8"
dependencies:
@@ -14198,7 +12436,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin":
+"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin":
version: 1.22.8
resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"
dependencies:
@@ -14233,15 +12471,6 @@ __metadata:
languageName: node
linkType: hard
-"responselike@npm:^3.0.0":
- version: 3.0.0
- resolution: "responselike@npm:3.0.0"
- dependencies:
- lowercase-keys: "npm:^3.0.0"
- checksum: 10/e0cc9be30df4f415d6d83cdede3c5c887cd4a73e7cc1708bcaab1d50a28d15acb68460ac5b02bcc55a42f3d493729c8856427dcf6e57e6e128ad05cba4cfb95e
- languageName: node
- linkType: hard
-
"restore-cursor@npm:^2.0.0":
version: 2.0.0
resolution: "restore-cursor@npm:2.0.0"
@@ -14262,23 +12491,6 @@ __metadata:
languageName: node
linkType: hard
-"restore-cursor@npm:^4.0.0":
- version: 4.0.0
- resolution: "restore-cursor@npm:4.0.0"
- dependencies:
- onetime: "npm:^5.1.0"
- signal-exit: "npm:^3.0.2"
- checksum: 10/5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af
- languageName: node
- linkType: hard
-
-"retry@npm:0.13.1":
- version: 0.13.1
- resolution: "retry@npm:0.13.1"
- checksum: 10/6125ec2e06d6e47e9201539c887defba4e47f63471db304c59e4b82fc63c8e89ca06a77e9d34939a9a42a76f00774b2f46c0d4a4cbb3e287268bd018ed69426d
- languageName: node
- linkType: hard
-
"retry@npm:^0.12.0":
version: 0.12.0
resolution: "retry@npm:0.12.0"
@@ -14315,22 +12527,6 @@ __metadata:
languageName: node
linkType: hard
-"run-applescript@npm:^5.0.0":
- version: 5.0.0
- resolution: "run-applescript@npm:5.0.0"
- dependencies:
- execa: "npm:^5.0.0"
- checksum: 10/d00c2dbfa5b2d774de7451194b8b125f40f65fc183de7d9dcae97f57f59433586d3c39b9001e111c38bfa24c3436c99df1bb4066a2a0c90d39a8c4cd6889af77
- languageName: node
- linkType: hard
-
-"run-async@npm:^3.0.0":
- version: 3.0.0
- resolution: "run-async@npm:3.0.0"
- checksum: 10/97fb8747f7765b77ebcd311d3a33548099336f04c6434e0763039b98c1de0f1b4421000695aff8751f309c0b995d8dfd620c1f1e4c35572da38c101488165305
- languageName: node
- linkType: hard
-
"run-parallel@npm:^1.1.9":
version: 1.2.0
resolution: "run-parallel@npm:1.2.0"
@@ -14340,15 +12536,6 @@ __metadata:
languageName: node
linkType: hard
-"rxjs@npm:^7.8.1":
- version: 7.8.1
- resolution: "rxjs@npm:7.8.1"
- dependencies:
- tslib: "npm:^2.1.0"
- checksum: 10/b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb
- languageName: node
- linkType: hard
-
"safe-array-concat@npm:^1.1.2":
version: 1.1.2
resolution: "safe-array-concat@npm:1.1.2"
@@ -14386,7 +12573,7 @@ __metadata:
languageName: node
linkType: hard
-"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0":
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
version: 2.1.2
resolution: "safer-buffer@npm:2.1.2"
checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83
@@ -14409,6 +12596,15 @@ __metadata:
languageName: node
linkType: hard
+"scheduler@npm:^0.21.0":
+ version: 0.21.0
+ resolution: "scheduler@npm:0.21.0"
+ dependencies:
+ loose-envify: "npm:^1.1.0"
+ checksum: 10/216dbe36490f8c3133eee8352061803c377de6eb80d4a8f7f290819a721a21135aba145db28ad3e34056115f1a8c0d7e1cd477cebd3d01f6d98e28cc31fc702a
+ languageName: node
+ linkType: hard
+
"scheduler@npm:^0.23.0":
version: 0.23.2
resolution: "scheduler@npm:0.23.2"
@@ -14428,15 +12624,6 @@ __metadata:
languageName: node
linkType: hard
-"semver-diff@npm:^4.0.0":
- version: 4.0.0
- resolution: "semver-diff@npm:4.0.0"
- dependencies:
- semver: "npm:^7.3.5"
- checksum: 10/4a958d6f76c7e7858268e1e2cf936712542441c9e003e561b574167279eee0a9bd55cc7eae1bfb31d3e7ad06a9fc370e7dd412fcfefec8c0daf1ce5aea623559
- languageName: node
- linkType: hard
-
"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0":
version: 5.7.2
resolution: "semver@npm:5.7.2"
@@ -14446,28 +12633,6 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:7.3.8":
- version: 7.3.8
- resolution: "semver@npm:7.3.8"
- dependencies:
- lru-cache: "npm:^6.0.0"
- bin:
- semver: bin/semver.js
- checksum: 10/c8c04a4d41d30cffa7277904e0ad6998623dd61e36bca9578b0128d8c683b705a3924beada55eae7fa004fb30a9359a53a4ead2b68468d778b602f3b1a28f8e3
- languageName: node
- linkType: hard
-
-"semver@npm:7.5.1":
- version: 7.5.1
- resolution: "semver@npm:7.5.1"
- dependencies:
- lru-cache: "npm:^6.0.0"
- bin:
- semver: bin/semver.js
- checksum: 10/01fcb5ff66fb8cb9ff54e898ac9786fbafec65f93d0df910ea9300451719b204b1c5e8007c99c1abb410eb60f84497a1f8c02b1a0e97880842b7f6075e1d82b6
- languageName: node
- linkType: hard
-
"semver@npm:7.5.4":
version: 7.5.4
resolution: "semver@npm:7.5.4"
@@ -14479,7 +12644,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1":
+"semver@npm:^6.3.0, semver@npm:^6.3.1":
version: 6.3.1
resolution: "semver@npm:6.3.1"
bin:
@@ -14653,19 +12818,6 @@ __metadata:
languageName: node
linkType: hard
-"shelljs@npm:0.8.5":
- version: 0.8.5
- resolution: "shelljs@npm:0.8.5"
- dependencies:
- glob: "npm:^7.0.0"
- interpret: "npm:^1.0.0"
- rechoir: "npm:^0.6.2"
- bin:
- shjs: bin/shjs
- checksum: 10/f2178274b97b44332bbe9ddb78161137054f55ecf701c7a99db9552cb5478fe279ad5f5131d8a7c2f0730e01ccf0c629d01094143f0541962ce1a3d0243d23f7
- languageName: node
- linkType: hard
-
"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6":
version: 1.0.6
resolution: "side-channel@npm:1.0.6"
@@ -14758,7 +12910,7 @@ __metadata:
languageName: node
linkType: hard
-"socks-proxy-agent@npm:^8.0.1, socks-proxy-agent@npm:^8.0.3":
+"socks-proxy-agent@npm:^8.0.3":
version: 8.0.4
resolution: "socks-proxy-agent@npm:8.0.4"
dependencies:
@@ -14877,7 +13029,7 @@ __metadata:
languageName: node
linkType: hard
-"split@npm:^1.0.0, split@npm:^1.0.1":
+"split@npm:^1.0.1":
version: 1.0.1
resolution: "split@npm:1.0.1"
dependencies:
@@ -14948,24 +13100,6 @@ __metadata:
languageName: node
linkType: hard
-"stdin-discarder@npm:^0.1.0":
- version: 0.1.0
- resolution: "stdin-discarder@npm:0.1.0"
- dependencies:
- bl: "npm:^5.0.0"
- checksum: 10/85131f70ae2830144133b7a6211d56f9ac2603573f4af3d0b66e828af5e13fcdea351f9192f86bb7fed2c64604c8097bf36d50cb77d54e898ce4604c3b7b6b8f
- languageName: node
- linkType: hard
-
-"stop-iteration-iterator@npm:^1.0.0":
- version: 1.0.0
- resolution: "stop-iteration-iterator@npm:1.0.0"
- dependencies:
- internal-slot: "npm:^1.0.4"
- checksum: 10/2a23a36f4f6bfa63f46ae2d53a3f80fe8276110b95a55345d8ed3d92125413494033bc8697eb774e8f7aeb5725f70e3d69753caa2ecacdac6258c16fa8aa8b0f
- languageName: node
- linkType: hard
-
"stream-buffers@npm:2.2.x, stream-buffers@npm:~2.2.0":
version: 2.2.0
resolution: "stream-buffers@npm:2.2.0"
@@ -15128,13 +13262,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-bom@npm:^3.0.0":
- version: 3.0.0
- resolution: "strip-bom@npm:3.0.0"
- checksum: 10/8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b
- languageName: node
- linkType: hard
-
"strip-bom@npm:^4.0.0":
version: 4.0.0
resolution: "strip-bom@npm:4.0.0"
@@ -15156,13 +13283,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-final-newline@npm:^3.0.0":
- version: 3.0.0
- resolution: "strip-final-newline@npm:3.0.0"
- checksum: 10/23ee263adfa2070cd0f23d1ac14e2ed2f000c9b44229aec9c799f1367ec001478469560abefd00c5c99ee6f0b31c137d53ec6029c53e9f32a93804e18c201050
- languageName: node
- linkType: hard
-
"strip-indent@npm:^3.0.0":
version: 3.0.0
resolution: "strip-indent@npm:3.0.0"
@@ -15437,7 +13557,7 @@ __metadata:
languageName: node
linkType: hard
-"through2@npm:^2.0.0, through2@npm:^2.0.1":
+"through2@npm:^2.0.1":
version: 2.0.5
resolution: "through2@npm:2.0.5"
dependencies:
@@ -15456,20 +13576,13 @@ __metadata:
languageName: node
linkType: hard
-"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.6":
+"through@npm:2, through@npm:>=2.2.7 <3":
version: 2.3.8
resolution: "through@npm:2.3.8"
checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198
languageName: node
linkType: hard
-"titleize@npm:^3.0.0":
- version: 3.0.0
- resolution: "titleize@npm:3.0.0"
- checksum: 10/71fbbeabbfb36ccd840559f67f21e356e1d03da2915b32d2ae1a60ddcc13a124be2739f696d2feb884983441d159a18649e8d956648d591bdad35c430a6b6d28
- languageName: node
- linkType: hard
-
"tmp@npm:^0.0.33":
version: 0.0.33
resolution: "tmp@npm:0.0.33"
@@ -15700,15 +13813,6 @@ __metadata:
languageName: node
linkType: hard
-"type-check@npm:~0.3.2":
- version: 0.3.2
- resolution: "type-check@npm:0.3.2"
- dependencies:
- prelude-ls: "npm:~1.1.2"
- checksum: 10/11dec0b50d7c3fd2e630b4b074ba36918ed2b1efbc87dfbd40ba9429d49c58d12dad5c415ece69fcf358fa083f33466fc370f23ab91aa63295c45d38b3a60dda
- languageName: node
- linkType: hard
-
"type-detect@npm:4.0.8":
version: 4.0.8
resolution: "type-detect@npm:4.0.8"
@@ -15779,13 +13883,6 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^2.13.0, type-fest@npm:^2.5.1":
- version: 2.19.0
- resolution: "type-fest@npm:2.19.0"
- checksum: 10/7bf9e8fdf34f92c8bb364c0af14ca875fac7e0183f2985498b77be129dc1b3b1ad0a6b3281580f19e48c6105c037fb966ad9934520c69c6434d17fd0af4eed78
- languageName: node
- linkType: hard
-
"typed-array-buffer@npm:^1.0.2":
version: 1.0.2
resolution: "typed-array-buffer@npm:1.0.2"
@@ -15838,15 +13935,6 @@ __metadata:
languageName: node
linkType: hard
-"typedarray-to-buffer@npm:^3.1.5":
- version: 3.1.5
- resolution: "typedarray-to-buffer@npm:3.1.5"
- dependencies:
- is-typedarray: "npm:^1.0.0"
- checksum: 10/7c850c3433fbdf4d04f04edfc751743b8f577828b8e1eb93b95a3bce782d156e267d83e20fb32b3b47813e69a69ab5e9b5342653332f7d21c7d1210661a7a72c
- languageName: node
- linkType: hard
-
"typedarray.prototype.slice@npm:^1.0.3":
version: 1.0.3
resolution: "typedarray.prototype.slice@npm:1.0.3"
@@ -15861,13 +13949,6 @@ __metadata:
languageName: node
linkType: hard
-"typedarray@npm:^0.0.6":
- version: 0.0.6
- resolution: "typedarray@npm:0.0.6"
- checksum: 10/2cc1bcf7d8c1237f6a16c04efc06637b2c5f2d74e58e84665445cf87668b85a21ab18dd751fa49eee6ae024b70326635d7b79ad37b1c370ed2fec6aeeeb52714
- languageName: node
- linkType: hard
-
"typescript@npm:5.0.4":
version: 5.0.4
resolution: "typescript@npm:5.0.4"
@@ -15917,15 +13998,6 @@ __metadata:
languageName: node
linkType: hard
-"uglify-js@npm:^3.1.4":
- version: 3.19.3
- resolution: "uglify-js@npm:3.19.3"
- bin:
- uglifyjs: bin/uglifyjs
- checksum: 10/6b9639c1985d24580b01bb0ab68e78de310d38eeba7db45bec7850ab4093d8ee464d80ccfaceda9c68d1c366efbee28573b52f95e69ac792354c145acd380b11
- languageName: node
- linkType: hard
-
"unbox-primitive@npm:^1.0.2":
version: 1.0.2
resolution: "unbox-primitive@npm:1.0.2"
@@ -16026,22 +14098,6 @@ __metadata:
languageName: node
linkType: hard
-"unique-string@npm:^3.0.0":
- version: 3.0.0
- resolution: "unique-string@npm:3.0.0"
- dependencies:
- crypto-random-string: "npm:^4.0.0"
- checksum: 10/1a1e2e7d02eab1bb10f720475da735e1990c8a5ff34edd1a3b6bc31590cb4210b7a1233d779360cc622ce11c211e43afa1628dd658f35d3e6a89964b622940df
- languageName: node
- linkType: hard
-
-"universal-user-agent@npm:^6.0.0":
- version: 6.0.1
- resolution: "universal-user-agent@npm:6.0.1"
- checksum: 10/fdc8e1ae48a05decfc7ded09b62071f571c7fe0bd793d700704c80cea316101d4eac15cc27ed2bb64f4ce166d2684777c3198b9ab16034f547abea0d3aa1c93c
- languageName: node
- linkType: hard
-
"universalify@npm:^0.1.0":
version: 0.1.2
resolution: "universalify@npm:0.1.2"
@@ -16070,13 +14126,6 @@ __metadata:
languageName: node
linkType: hard
-"untildify@npm:^4.0.0":
- version: 4.0.0
- resolution: "untildify@npm:4.0.0"
- checksum: 10/39ced9c418a74f73f0a56e1ba4634b4d959422dff61f4c72a8e39f60b99380c1b45ed776fbaa0a4101b157e4310d873ad7d114e8534ca02609b4916bb4187fb9
- languageName: node
- linkType: hard
-
"update-browserslist-db@npm:^1.1.0":
version: 1.1.0
resolution: "update-browserslist-db@npm:1.1.0"
@@ -16091,28 +14140,6 @@ __metadata:
languageName: node
linkType: hard
-"update-notifier@npm:6.0.2":
- version: 6.0.2
- resolution: "update-notifier@npm:6.0.2"
- dependencies:
- boxen: "npm:^7.0.0"
- chalk: "npm:^5.0.1"
- configstore: "npm:^6.0.0"
- has-yarn: "npm:^3.0.0"
- import-lazy: "npm:^4.0.0"
- is-ci: "npm:^3.0.1"
- is-installed-globally: "npm:^0.4.0"
- is-npm: "npm:^6.0.0"
- is-yarn-global: "npm:^0.4.0"
- latest-version: "npm:^7.0.0"
- pupa: "npm:^3.1.0"
- semver: "npm:^7.3.7"
- semver-diff: "npm:^4.0.0"
- xdg-basedir: "npm:^5.1.0"
- checksum: 10/8e8f2092c9acbfd32be77558ce2aef25bc47c9ead347845bc8cd1984eb57e458d223bceee2bb58c60cfaef5f81eb026c5609c9c26ade042aadfe6904bd5d8c2e
- languageName: node
- linkType: hard
-
"uri-js@npm:^4.2.2":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -16129,13 +14156,6 @@ __metadata:
languageName: node
linkType: hard
-"url-join@npm:5.0.0":
- version: 5.0.0
- resolution: "url-join@npm:5.0.0"
- checksum: 10/5921384a8ad4395b49ce4b50aa26efbc429cebe0bc8b3660ad693dd12fd859747b5369be0443e60e53a7850b2bc9d7d0687bcb94386662b40e743596bbf38101
- languageName: node
- linkType: hard
-
"use-latest-callback@npm:^0.2.1":
version: 0.2.1
resolution: "use-latest-callback@npm:0.2.1"
@@ -16235,18 +14255,6 @@ __metadata:
languageName: node
linkType: hard
-"vm2@npm:^3.9.19":
- version: 3.9.19
- resolution: "vm2@npm:3.9.19"
- dependencies:
- acorn: "npm:^8.7.0"
- acorn-walk: "npm:^8.2.0"
- bin:
- vm2: bin/vm2
- checksum: 10/8526737abbfb0ce61bae3d0ffe9ecc96eb093c859c933ed4d9cf663c7663da8f73a733771b9b21251c4d82a28a0600a0fcfd0044b685686eeef7a75e632294e6
- languageName: node
- linkType: hard
-
"walker@npm:^1.0.7, walker@npm:^1.0.8":
version: 1.0.8
resolution: "walker@npm:1.0.8"
@@ -16272,13 +14280,6 @@ __metadata:
languageName: node
linkType: hard
-"web-streams-polyfill@npm:^3.0.3":
- version: 3.3.3
- resolution: "web-streams-polyfill@npm:3.3.3"
- checksum: 10/8e7e13501b3834094a50abe7c0b6456155a55d7571312b89570012ef47ec2a46d766934768c50aabad10a9c30dd764a407623e8bfcc74fcb58495c29130edea9
- languageName: node
- linkType: hard
-
"webidl-conversions@npm:^3.0.0":
version: 3.0.1
resolution: "webidl-conversions@npm:3.0.1"
@@ -16419,31 +14420,6 @@ __metadata:
languageName: node
linkType: hard
-"widest-line@npm:^4.0.1":
- version: 4.0.1
- resolution: "widest-line@npm:4.0.1"
- dependencies:
- string-width: "npm:^5.0.1"
- checksum: 10/64c48cf27171221be5f86fc54b94dd29879165bdff1a7aa92dde723d9a8c99fb108312768a5d62c8c2b80b701fa27bbd36a1ddc58367585cd45c0db7920a0cba
- languageName: node
- linkType: hard
-
-"wildcard-match@npm:5.1.2":
- version: 5.1.2
- resolution: "wildcard-match@npm:5.1.2"
- checksum: 10/210107f7c6ad1e5093b1d3e4f16f879ff291f03ea044056d4abf3ddfae801424beb523e559f2c5aaf53ca4f3a698454fbc8c78cebd60fe8027b009506da467f6
- languageName: node
- linkType: hard
-
-"windows-release@npm:^5.0.1":
- version: 5.1.1
- resolution: "windows-release@npm:5.1.1"
- dependencies:
- execa: "npm:^5.1.1"
- checksum: 10/8d15388ccfcbacb96d551f4a692a0a0930a12d2283d140d0a00ea0f6c4f950907cb8055a2cff8650d8bcd5125585338ff0f21a0d7661a30c1d67b6729d13b6b8
- languageName: node
- linkType: hard
-
"wonka@npm:^4.0.14":
version: 4.0.15
resolution: "wonka@npm:4.0.15"
@@ -16458,20 +14434,13 @@ __metadata:
languageName: node
linkType: hard
-"word-wrap@npm:^1.2.5, word-wrap@npm:~1.2.3":
+"word-wrap@npm:^1.2.5":
version: 1.2.5
resolution: "word-wrap@npm:1.2.5"
checksum: 10/1ec6f6089f205f83037be10d0c4b34c9183b0b63fca0834a5b3cee55dd321429d73d40bb44c8fc8471b5203d6e8f8275717f49a8ff4b2b0ab41d7e1b563e0854
languageName: node
linkType: hard
-"wordwrap@npm:^1.0.0":
- version: 1.0.0
- resolution: "wordwrap@npm:1.0.0"
- checksum: 10/497d40beb2bdb08e6d38754faa17ce20b0bf1306327f80cb777927edb23f461ee1f6bc659b3c3c93f26b08e1cf4b46acc5bae8fda1f0be3b5ab9a1a0211034cd
- languageName: node
- linkType: hard
-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
version: 7.0.0
resolution: "wrap-ansi@npm:7.0.0"
@@ -16483,7 +14452,7 @@ __metadata:
languageName: node
linkType: hard
-"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0":
+"wrap-ansi@npm:^6.2.0":
version: 6.2.0
resolution: "wrap-ansi@npm:6.2.0"
dependencies:
@@ -16523,18 +14492,6 @@ __metadata:
languageName: node
linkType: hard
-"write-file-atomic@npm:^3.0.3":
- version: 3.0.3
- resolution: "write-file-atomic@npm:3.0.3"
- dependencies:
- imurmurhash: "npm:^0.1.4"
- is-typedarray: "npm:^1.0.0"
- signal-exit: "npm:^3.0.2"
- typedarray-to-buffer: "npm:^3.1.5"
- checksum: 10/0955ab94308b74d32bc252afe69d8b42ba4b8a28b8d79f399f3f405969f82623f981e35d13129a52aa2973450f342107c06d86047572637584e85a1c0c246bf3
- languageName: node
- linkType: hard
-
"write-file-atomic@npm:^4.0.2":
version: 4.0.2
resolution: "write-file-atomic@npm:4.0.2"
@@ -16594,13 +14551,6 @@ __metadata:
languageName: node
linkType: hard
-"xdg-basedir@npm:^5.0.1, xdg-basedir@npm:^5.1.0":
- version: 5.1.0
- resolution: "xdg-basedir@npm:5.1.0"
- checksum: 10/b60e8a2c663ccb1dac77c2d913f3b96de48dafbfa083657171d3d50e10820b8a04bb4edfe9f00808c8c20e5f5355e1927bea9029f03136e29265cb98291e1fea
- languageName: node
- linkType: hard
-
"xml2js@npm:0.6.0":
version: 0.6.0
resolution: "xml2js@npm:0.6.0"
@@ -16683,13 +14633,6 @@ __metadata:
languageName: node
linkType: hard
-"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1":
- version: 21.1.1
- resolution: "yargs-parser@npm:21.1.1"
- checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e
- languageName: node
- linkType: hard
-
"yargs-parser@npm:^18.1.2":
version: 18.1.3
resolution: "yargs-parser@npm:18.1.3"
@@ -16700,13 +14643,20 @@ __metadata:
languageName: node
linkType: hard
-"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9":
+"yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.9":
version: 20.2.9
resolution: "yargs-parser@npm:20.2.9"
checksum: 10/0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc
languageName: node
linkType: hard
+"yargs-parser@npm:^21.1.1":
+ version: 21.1.1
+ resolution: "yargs-parser@npm:21.1.1"
+ checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e
+ languageName: node
+ linkType: hard
+
"yargs@npm:^15.1.0":
version: 15.4.1
resolution: "yargs@npm:15.4.1"
@@ -16726,21 +14676,6 @@ __metadata:
languageName: node
linkType: hard
-"yargs@npm:^16.2.0":
- version: 16.2.0
- resolution: "yargs@npm:16.2.0"
- dependencies:
- cliui: "npm:^7.0.2"
- escalade: "npm:^3.1.1"
- get-caller-file: "npm:^2.0.5"
- require-directory: "npm:^2.1.1"
- string-width: "npm:^4.2.0"
- y18n: "npm:^5.0.5"
- yargs-parser: "npm:^20.2.2"
- checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e
- languageName: node
- linkType: hard
-
"yargs@npm:^17.0.0, yargs@npm:^17.3.1, yargs@npm:^17.5.1, yargs@npm:^17.6.2":
version: 17.7.2
resolution: "yargs@npm:17.7.2"