Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"update:deps": "ncu -u"
},
"peerDependencies": {
"react": "^16.8.6 || ^17.0.0 || ^18.0.0"
"react": "^16.8.6 || ^17.0.0 || ^18.0.0 || ^19.0.0"
},
"devDependencies": {
"@babel/core": "7.18.6",
Expand All @@ -38,22 +38,21 @@
"@rollup/plugin-commonjs": "22.0.1",
"@rollup/plugin-node-resolve": "13.3.0",
"@rollup/plugin-url": "7.0.0",
"@testing-library/react": "13.3.0",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react": "16.3.0",
"@types/jest": "28.1.4",
"@types/node": "^18.0.3",
"@types/react": "18.0.15",
"@types/react-dom": "18.0.6",
"@types/react": "19.1.5",
"@types/react-dom": "19.1.5",
"codecov": "3.8.3",
"concat-md": "0.4.0",
"coverage": "0.4.1",
"cross-env": "7.0.3",
"jest": "28.1.2",
"jest-environment-jsdom": "28.1.2",
"npm-check-updates": "15.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-test-renderer": "18.2.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-test-renderer": "19.1.0",
"replace": "1.2.1",
"rimraf": "3.0.2",
"rollup": "2.76.0",
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Array.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { none, useHookstate } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('array: should rerender used', async () => {
let renderTimes = 0
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Complex.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, hookstate, none } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('complex: should rerender used', async () => {
let renderTimes = 0
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Effect.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { hookstate, useHookstate } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';
import { useEffect } from 'react';

test('primitive: should rerender stable', async () => {
Expand Down
26 changes: 10 additions & 16 deletions core/src/__tests__/Error.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate } from '../';

import { renderHook } from '@testing-library/react-hooks';
import { renderHook } from '@testing-library/react';

test('error: should not allow set to another state value', async () => {
const state1 = renderHook(() => {
Expand All @@ -22,13 +22,9 @@ test('error: should not allow create state from another state value', async () =
return useHookstate({ prop1: [0, 0] })
});

const state2 = renderHook(() => {
return useHookstate(state1.result.current.get().prop1)
})

expect(state2.result.error?.message)
// tslint:disable-next-line: max-line-length
.toEqual(`Error: HOOKSTATE-101 [path: /]. See https://hookstate.js.org/docs/exceptions#hookstate-101`)
const state2 = expect(() => renderHook(() => {
useHookstate(state1.result.current.get().prop1)
})).toThrow(`Error: HOOKSTATE-101 [path: /]. See https://hookstate.js.org/docs/exceptions#hookstate-101`);
});

test('error: should not allow create state from another state value (nested)', async () => {
Expand All @@ -40,20 +36,18 @@ test('error: should not allow create state from another state value (nested)', a
return useHookstate(state1.result.current)
})

const state3 = renderHook(() => {
return useHookstate(state2.result.current.prop1.get())
})

expect(state3.result.error?.message)
// tslint:disable-next-line: max-line-length
.toEqual(`Error: HOOKSTATE-101 [path: /]. See https://hookstate.js.org/docs/exceptions#hookstate-101`)
expect(() => {
renderHook(() => {
return useHookstate(state2.result.current.prop1.get())
})
}).toThrow("Error: HOOKSTATE-101 [path: /]. See https://hookstate.js.org/docs/exceptions#hookstate-101");
});

test('error: should not allow serialization of statelink', async () => {
const state1 = renderHook(() => {
return useHookstate({ prop1: [0, 0] })
});

expect(() => JSON.stringify(state1))
.toThrow('Error: HOOKSTATE-109 [path: /]. See https://hookstate.js.org/docs/exceptions#hookstate-109')
});
2 changes: 1 addition & 1 deletion core/src/__tests__/Extension.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, hookstate, extend, InferStateValueType, ExtensionFactory, destroy } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

interface MyExtensionMethods {
extensionMethod(): number,
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Merge.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, none } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('primitive: should rerender used after merge update', async () => {
let renderTimes = 0
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Object.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, hookstate, none, isHookstateValue, isHookstate } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('object: should rerender used', async () => {
let renderTimes = 0
Expand Down
8 changes: 3 additions & 5 deletions core/src/__tests__/Primitive.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, hookstate, State } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';
import React from 'react';

test('primitive: should rerender used', async () => {
Expand Down Expand Up @@ -284,10 +284,8 @@ test('primitive: state value should be the latest', async () => {
renderTimes += 1;
const r = useHookstate(0)
React.useEffect(() => {
act(() => {
r.set(r.get() + 1) // 0 + 1
r.set(r.get() + 1) // 1 + 1
})
r.set(r.get() + 1) // 0 + 1
r.set(r.get() + 1) // 1 + 1
}, [])
return r
});
Expand Down
4 changes: 2 additions & 2 deletions core/src/__tests__/Promised.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useHookstate, hookstate, none } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('primitive: should rerender used on promise resolve', async () => {
let renderTimes = 0
Expand Down Expand Up @@ -309,7 +309,7 @@ test('primitive: should rerender used on promise reject', async () => {
} catch (err) {
// ignore
}
expect(renderTimes).toStrictEqual(3);
expect(renderTimes).toStrictEqual(2);
expect(result.current.promised).toStrictEqual(false);
expect(result.current.error).toEqual('some error promise');
expect(() => result.current.get()).toThrow('some error promise');
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Scoped.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { none, useHookstate } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('object: should rerender used via scoped updates by child', async () => {
let parentRenderTimes = 0
Expand Down
2 changes: 1 addition & 1 deletion core/src/__tests__/Typing.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { hookstate, none, State, useHookstate } from '../';

import { renderHook, act } from '@testing-library/react-hooks';
import { renderHook, act } from '@testing-library/react';

test('check assignability on typescript level', async () => {
{
Expand Down
Loading