Skip to content
Merged
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
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install lint-staged
14 changes: 12 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,23 @@
"dev": "vite",
"build": "tsc && vite build",
"preview": "vite preview",
"lint": "eslint 'src/**/*.{ts,tsx}'",
"lint": "eslint 'src/**/*.{ts,tsx}' --max-warnings=0",
"lint:fix": "npm run lint -- --fix",
"typecheck": "tsc --project tsconfig.json --noEmit",
"test": "jest --maxWorkers=50%",
"test:watch": "jest --watch --maxWorkers=25%",
"test:ci": "jest --runInBand",
"coverage-test": "jest --coverage --maxWorkers=50%",
"coverage-test:watch": "jest --coverage --watch --maxWorkers=25%",
"generate:component": "plop component --plopfile ./generators/plopfile.cjs",
"generate:hook": "plop hook --plopfile ./generators/plopfile.cjs"
"generate:hook": "plop hook --plopfile ./generators/plopfile.cjs",
"postinstall": "husky install",
"prepare": "husky install"
},
"lint-staged": {
"src/**/*": [
"npm run lint:fix"
]
},
"dependencies": {
"react": "^18.2.0",
Expand All @@ -38,8 +46,10 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.8",
"eslint-plugin-react-hooks": "^4.6.0",
"husky": "^8.0.0",
"jest": "^29.0.3",
"jest-environment-jsdom": "^29.0.3",
"lint-staged": "^13.0.3",
"plop": "^3.1.1",
"prettier": "2.7.1",
"typescript": "^4.6.4",
Expand Down
10 changes: 10 additions & 0 deletions src/components/HelloWorld/HelloWorld.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { render, screen } from '@testing-library/react'
import HelloWorld from './HelloWorld'

describe('HelloWorld | component | unit test', () => {
it('should render with success', () => {
render(<HelloWorld>React JavaScript Boilerplate</HelloWorld>)

expect(screen.getByText('React JavaScript Boilerplate')).toBeInTheDocument()
})
})
13 changes: 13 additions & 0 deletions src/components/HelloWorld/HelloWorld.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { ReactNode } from 'react'

export type Props = {
children: ReactNode
}

function HelloWorld(props: Props) {
const { children } = props

return <div>{children}</div>
}

export default HelloWorld
2 changes: 2 additions & 0 deletions src/components/HelloWorld/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export type { Props as HelloWorldProps } from './HelloWorld'
export { default as HelloWorld } from './HelloWorld'
1 change: 1 addition & 0 deletions src/components/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './HelloWorld'
Loading