
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
@dokspot/table-component
Advanced tools
Based on react-table and react-bootstrap, this component generates a standard table. The component can be explored through its storybook.
yarn add @dokspot/table-component
We leverage react-table package and therefore follow the similar input, using useMemo.
To create a table we will need three elements:
useDatauseColumnsuseActionsThe three elements should implement useMemo from react. We suggest organising the following structure for your table (example is a products table):
- /products
- /hooks
- useData.js
- useColumns.js
- useActions.js
- Index.js
// useData.js
import { useMemo } from 'react'
export default function useData() {
return useMemo(() => [
{
name: 'Product A',
state: 'public'
},
{
name: 'Product B',
state: 'private'
}
}), [])
}
// useColumns.js
import { useMemo } from 'react'
import { TextCell } from '@dokspot/table-component'
export default function useColumns() {
return useMemo(() => [
{
Header: 'Name',
Cell: cellInfo => <TextCell loading={false} text={cellInfo.value} />,
accessor: 'name',
Filter: DefaultFilter,
canSort: true
},
{
Header: 'State',
Cell: cellInfo => <TextCell loading={false} text={cellInfo.value} />,
accessor: 'state',
Filter: SelectFilter,
filter: 'includes',
},
}), [])
}
// useActions.js
import { useMemo } from "react"
export default function useActions() {
return useMemo(() => [
{
name: 'Action 1',
action: () => {},
defaults: {}
},
{
name: 'Action 2',
action: () => {},
defaults: {}
}
], [])
}
// Index.js
import { TableComponent } from '@dokspot/table-component'
import useData from './hooks/useData'
import useColumns from './hooks/useColumns'
import useActions from './hooks/useActions'
export default function Index() {
return (
<div className='style-me'>
<TableComponent useData={useData} useColumns={useColumns} useActions={useActions} />
</div>
)
}
import { TableComponent } from '@dokspot/table-component'
To be used in useColumns.
import { Cell } from '@dokspot/table-component'
import { TextCell } from '@dokspot/table-component'
import { BadgeCell } from '@dokspot/table-component'
import { TooltipCell } from '@dokspot/table-component'
NOTE: Any custom Cell should be wrapped by Cell.
To be used in useColumns.
import { DefaultFilter } from '@dokspot/table-component'
import { GlobalFilter } from '@dokspot/table-component'
import { SelectFilter } from '@dokspot/table-component'
To be used when making api requests.
import { useAPI } from '@dokspot/table-component'
API_ENDPOINT = '/api/products'
function useData(input) {
const output = useMemo(() => {
input.map(data => ({
...data,
// preprocess data if required
}))
})
return output
}
export default function Index() {
const [data, isLoading] = useApi(API_ENDPOINT)
return (
<TableComponent loading={isLoading} useData={useData(data)} ...>
)
}
FAQs
React table component
The npm package @dokspot/table-component receives a total of 54 weekly downloads. As such, @dokspot/table-component popularity was classified as not popular.
We found that @dokspot/table-component demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.