From 01e176f2c99169881aa280e71f4c80b560f8ed6a Mon Sep 17 00:00:00 2001 From: Avan Date: Mon, 26 Aug 2024 21:48:56 +0800 Subject: [PATCH] test: unify yml --- .github/workflows/main.yml | 119 ++---------------------------- .gitignore | 2 + bunfig.toml | 2 + docs/examples/debug.tsx | 4 +- docs/examples/inlineCollapsed.tsx | 2 +- docs/examples/rtl-antd.tsx | 11 ++- docs/examples/selectedKeys.tsx | 10 ++- 7 files changed, 28 insertions(+), 122 deletions(-) create mode 100644 bunfig.toml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2097f2a7..5735e2d2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,115 +1,6 @@ -name: CI - -on: ['push', 'pull_request'] - +name: ✅ test +on: [push, pull_request] jobs: - setup: - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: cache package-lock.json - uses: actions/cache@v4 - with: - path: package-temp-dir - key: lock-${{ github.sha }} - - - name: create package-lock.json - run: npm i --package-lock-only --ignore-scripts - - - name: hack for singe file - run: | - if [ ! -d "package-temp-dir" ]; then - mkdir package-temp-dir - fi - cp package-lock.json package-temp-dir - - - name: cache node_modules - id: node_modules_cache_id - uses: actions/cache@v4 - with: - path: node_modules - key: node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }} - - - name: install - if: steps.node_modules_cache_id.outputs.cache-hit != 'true' - run: npm ci - - lint: - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: restore cache from package-lock.json - uses: actions/cache@v4 - with: - path: package-temp-dir - key: lock-${{ github.sha }} - - - name: restore cache from node_modules - uses: actions/cache@v4 - with: - path: node_modules - key: node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }} - - - name: lint - run: npm run lint - - needs: setup - - compile: - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: restore cache from package-lock.json - uses: actions/cache@v4 - with: - path: package-temp-dir - key: lock-${{ github.sha }} - - - name: restore cache from node_modules - uses: actions/cache@v4 - with: - path: node_modules - key: node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }} - - - name: compile - run: npm run compile - - needs: setup - - coverage: - runs-on: ubuntu-latest - steps: - - name: checkout - uses: actions/checkout@v4 - - - name: restore cache from package-lock.json - uses: actions/cache@v4 - with: - path: package-temp-dir - key: lock-${{ github.sha }} - - - name: restore cache from node_modules - uses: actions/cache@v4 - with: - path: node_modules - key: node_modules-${{ hashFiles('**/package-temp-dir/package-lock.json') }} - - - name: coverage - run: npm test -- --coverage - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - needs: setup + test: + uses: react-component/rc-test/.github/workflows/test.yml@main + secrets: inherit \ No newline at end of file diff --git a/.gitignore b/.gitignore index 4fa9a6a6..7ac7d2c2 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ package-lock.json .dumi/tmp-test .dumi/tmp-production .env.local + +bun.lockb \ No newline at end of file diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 00000000..80d57b63 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,2 @@ +[install] +peer = false \ No newline at end of file diff --git a/docs/examples/debug.tsx b/docs/examples/debug.tsx index 45e01846..a9db1e87 100644 --- a/docs/examples/debug.tsx +++ b/docs/examples/debug.tsx @@ -6,7 +6,7 @@ import Menu, { ItemGroup as MenuItemGroup, MenuItem } from '../../src'; import type { MenuProps } from '../../src'; import '../../assets/index.less'; import '../../assets/menu.less'; -import type { MenuInfo } from '@/interface'; +import type { MenuInfo, MenuRef } from '@/interface'; const collapseNode = () => { return { height: 0 }; @@ -52,7 +52,7 @@ export default () => { const [inlineCollapsed, setInlineCollapsed] = React.useState(false); const [forceRender, setForceRender] = React.useState(false); const [openKeys, setOpenKeys] = React.useState([]); - const menuRef = useRef(); + const menuRef = useRef(); const onRootClick = (info: MenuInfo) => { console.log('Root Menu Item Click:', info); diff --git a/docs/examples/inlineCollapsed.tsx b/docs/examples/inlineCollapsed.tsx index 998ecac4..bc6cbef5 100644 --- a/docs/examples/inlineCollapsed.tsx +++ b/docs/examples/inlineCollapsed.tsx @@ -7,7 +7,7 @@ const App = () => { return ( <> Add More Items; -class CommonMenu extends React.Component { +interface CommonMenuState { + children: React.ReactNode; + overflowedIndicator?: React.ReactNode; +} + +class CommonMenu extends React.Component { state = { children: children1, overflowedIndicator: undefined, - }; + } as CommonMenuState; toggleChildren = () => { this.setState(({ children }) => ({ diff --git a/docs/examples/selectedKeys.tsx b/docs/examples/selectedKeys.tsx index 4ba02ef3..aa68aa97 100644 --- a/docs/examples/selectedKeys.tsx +++ b/docs/examples/selectedKeys.tsx @@ -5,12 +5,18 @@ import Menu, { SubMenu, Item as MenuItem } from 'rc-menu'; import '../../assets/index.less'; -class Test extends React.Component { +interface TestState { + destroyed: boolean; + selectedKeys: string[]; + openKeys: string[]; + } + +class Test extends React.Component { state = { destroyed: false, selectedKeys: [], openKeys: [], - }; + } as TestState; onSelect = info => { console.log('selected ', info);