Skip to content

Commit

Permalink
Add CI pipeline, fix ESLint, Jest issues
Browse files Browse the repository at this point in the history
  • Loading branch information
ArtiomTr committed Aug 23, 2024
1 parent b95aa92 commit ac63bf6
Show file tree
Hide file tree
Showing 18 changed files with 63 additions and 54 deletions.
11 changes: 6 additions & 5 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"root": true,
"extends": ["@sirse-dev/eslint-config"],
"rules": {
"unicorn/no-useless-undefined": "off"
}
"root": true,
"extends": ["@sirse-dev/eslint-config"],
"rules": {
"unicorn/no-useless-undefined": "off",
"unicorn/expiring-todo-comments": "off"
}
}
30 changes: 30 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Changeset existence
on:
pull_request:
branches: [main]
workflow_dispatch:
jobs:
changeset:
name: Build, test & lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Use Node 18
uses: actions/setup-node@v3
with:
node-version: 18

- name: Install pnpm 8.6.12
uses: pnpm/[email protected]
with:
version: 8.6.12

- name: Install pnpm dependencies (with cache)
uses: covbot/pnpm-install-with-cache@v1

- name: Build, test & lint
run: pnpm turbo run lint build test --filter=...[main...HEAD]
2 changes: 2 additions & 0 deletions packages/client/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
prepared-package
3 changes: 2 additions & 1 deletion packages/material/.eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
dist
dist
prepared-package
14 changes: 0 additions & 14 deletions packages/material/.storybook/main.js

This file was deleted.

5 changes: 0 additions & 5 deletions packages/material/.storybook/preview-head.html

This file was deleted.

9 changes: 0 additions & 9 deletions packages/material/.storybook/preview.js

This file was deleted.

4 changes: 1 addition & 3 deletions packages/material/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@
"postpublish": "rimraf ./prepared-package",
"prepublishOnly": "pnpm build",
"release": "np",
"storybook": "cross-env NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6006",
"test": "aqu test --passWithNoTests",
"test:watch": "aqu test --passWithNoTests --watch"
"storybook": "cross-env NODE_OPTIONS=--openssl-legacy-provider start-storybook -p 6006"
},
"dependencies": {
"@mui/icons-material": "^5.10.6",
Expand Down
6 changes: 3 additions & 3 deletions packages/material/src/AccountAvatar/AccountAvatar.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Avatar, { AvatarProps } from '@mui/material/Avatar';
import PersonRounded from '@mui/icons-material/PersonRounded';
import Avatar, { AvatarProps } from '@mui/material/Avatar';
import { getContrastRatio } from '@mui/system/colorManipulator';
import { ElementType } from 'react';
import { styled } from '../styles/styled';
Expand All @@ -19,14 +19,14 @@ const AccountAvatarRoot = styled<InternalAccountAvatarProps, typeof Avatar>(Avat
return { width: 28, height: 28, color, backgroundColor, fontSize: theme.typography.body2.fontSize };
});

const getInitials = (username: string): string | null => {
const getInitials = (username: string): string | undefined => {
const words = username
.split(/\s+/g)
.map((value) => value.replace(/[^\p{L}]/gu, ''))
.filter(Boolean);

if (words.length === 0) {
return null;
return undefined;
}

return words[0][0] + (words[1]?.[0] || '');
Expand Down
4 changes: 2 additions & 2 deletions packages/material/src/MessageBox/MessageBox.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { CSSObject } from '@mui/material';
import { ElementType, forwardRef, ReactElement, Ref } from 'react';
import { MessageOrientation } from './MessageOrientation';
import { MessageTime } from './MessageTime';
import { AccountAvatar } from '../AccountAvatar';
import { createMuiComponent, MuiComponentProps } from '../helpers/createMuiComponent';
import { MuiAccountInfo } from '../helpers/MuiAccountInfo';
import { styled } from '../styles/styled';
import { MessageOrientation } from './MessageOrientation';
import { MessageTime } from './MessageTime';

export type MessagePosition = 'start' | 'middle' | 'end' | 'single';

Expand Down
2 changes: 1 addition & 1 deletion packages/material/src/MessageBox/MessageTime.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Typography } from '@mui/material';
import { ElementType, forwardRef, Ref, useEffect, useState } from 'react';
import { MessageOrientation } from './MessageOrientation';
import { createMuiComponent, MuiComponentProps } from '../helpers/createMuiComponent';
import { styled } from '../styles/styled';
import { MessageOrientation } from './MessageOrientation';

type MessageTimeWrapperState = {
orientation: MessageOrientation;
Expand Down
4 changes: 2 additions & 2 deletions packages/material/src/Room/Room.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { MessageList, MessageListProps, Room as RoomProvider } from '@rchat/react';
import { ElementType } from 'react';
import { RoomBody } from './RoomBody';
import { RoomHeader } from './RoomHeader';
import { createMuiComponent, MuiComponentProps } from '../helpers/createMuiComponent';
import { MessageInput } from '../MessageInput';
import { styled } from '../styles/styled';
import { RoomBody } from './RoomBody';
import { RoomHeader } from './RoomHeader';

const RoomRoot = styled('div', {
name: 'Room',
Expand Down
4 changes: 3 additions & 1 deletion packages/react/.eslintignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
stories
dist
dist
prepared-package
tests
1 change: 1 addition & 0 deletions packages/react/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = {
transformIgnorePatterns: ["[/\\\\]node_modules[/\\\\].+\\.(js|cjs|jsx)$'"],
preset: 'ts-jest/presets/js-with-babel',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'cjs', 'mjs', 'json', 'node'],
modulePathIgnorePatterns: ['<rootDir>/prepard-package/'],
collectCoverageFrom: ['src/**/*.{ts,tsx,js,jsx,cjs,mjs}'],
testMatch: ['<rootDir>/**/*.(spec|test).{ts,tsx,js,jsx,cjs,mjs}'],
testEnvironmentOptions: {
Expand Down
11 changes: 5 additions & 6 deletions packages/react/src/EndlessList/EndlessList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,17 @@ import {
useRef,
} from 'react';

import { mergeReferences } from '../internal/mergeReferences';
import { AnimationParameters, smoothScrollToCenter } from '../internal/smoothScrollToCenter';
import { useEvent } from '../internal/useEvent';
import { useScheduleOnNextRender } from '../internal/useScheduleOnNextRender';
import { useToggleEvent } from '../internal/useToggleEvent';

import { EndlessListItemView } from './EndlessListItemView';
import { ItemComponentType } from './ItemComponentType';
import { PlaceholderComponentType } from './PlaceholderComponentType';
import { useEndlessList } from './useEndlessList';
import { Frame, useVisibleFrame } from './useVisibleFrame';
import { useVisibleItems } from './useVisibleItems';
import { mergeReferences } from '../internal/mergeReferences';
import { AnimationParameters, smoothScrollToCenter } from '../internal/smoothScrollToCenter';
import { useEvent } from '../internal/useEvent';
import { useScheduleOnNextRender } from '../internal/useScheduleOnNextRender';
import { useToggleEvent } from '../internal/useToggleEvent';
import type { KeysOfType } from '../internal/KeysOfType';

export type ContainerComponentProps = PropsWithChildren<RefAttributes<HTMLElement>>;
Expand Down
2 changes: 1 addition & 1 deletion packages/react/src/EndlessList/EndlessListItemView.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { RefObject, useEffect, useRef } from 'react';
import { mergeReferences } from '../internal/mergeReferences';
import { ItemComponentType } from './ItemComponentType';
import { PlaceholderComponentType } from './PlaceholderComponentType';
import { mergeReferences } from '../internal/mergeReferences';
import type { EndlessListItem } from './useEndlessList';

export type EndlessListItemViewProps<TMessageType> = EndlessListItem<TMessageType> & {
Expand Down
2 changes: 2 additions & 0 deletions packages/shared/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dist
prepared-package
3 changes: 2 additions & 1 deletion packages/test-utils/.eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
dist
dist
prepared-package

0 comments on commit ac63bf6

Please sign in to comment.