
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@vendure/dashboard
Advanced tools
This is a React-based admin dashboard for Vendure. It is a standalone application that can be extended to suit the needs of any Vendure project.
The package consists of three main components:
@vendure/dashboard
: Dashboard source code@vendure/dashboard/vite
: A Vite plugin that is used to compile the dashboard in your project@vendure/dashboard/plugin
: A Vendure plugin that provides backend functionality used by the dashboard app.import { DashboardPlugin } from '@vendure/dashboard-plugin';
const config: VendureConfig = {
// Add an instance of the plugin to the plugins array
plugins: [
DashboardPlugin.init({ route: 'dashboard' }),
],
};
The Dashboard UI will be served at the /dashboard/
path.
If you are building a stand-alone version of the Dashboard UI app and don't need this plugin to serve the Dashboard UI, you can still use the metricSummary
query by adding the DashboardPlugin
to the plugins
array without calling the init()
method:
import { DashboardPlugin } from '@vendure/dashboard-plugin';
const config: VendureConfig = {
plugins: [
DashboardPlugin, // <-- no call to .init()
],
// ...
};
You can also provide a custom build of the Dashboard UI:
import { DashboardPlugin } from '@vendure/dashboard-plugin';
const config: VendureConfig = {
plugins: [
DashboardPlugin.init({
route: 'dashboard',
app: path.join(__dirname, 'custom-dashboard-build'),
}),
],
};
route: string
- The route at which the Dashboard UI will be served (default: 'dashboard'
)app?: string
- Optional path to a custom build of the Dashboard UIRun npx vite
to start Vite in dev mode.
@/vdb
importsYou will notice that the dashboard uses internal Vendure Dashboard imports prefixed with @/vdb
. This is adapted from the
convention of Shadcn which uses a @/*
path alias for internal imports.
Why not just use relative imports?
The problem with using relative imports is that they are handled differently by Vite when compiling the dashboard. This manifests as things like React Context not working correctly. The underlying reason is that Vite will selectively pre-compile source code and mixing the imports between alias and relative can result in 2 "versions" of the same code being loaded, which causes issues with React Context and other things that rely on a single instance of a module.
For this reason, try to use the @/vdb
alias for all internal Vendure Dashboard imports to the "src/lib" directory.
This is especially import for hooks (since many of them use React Context) and there is even a pre-commit hook that will run a script to ensure that you are not using relative imports for internal Vendure Dashboard code.
Type Safety for Consumers
Because we ship source code in the npm package, consumers need to tell TypeScript how to resolve these internal
imports by adding the path alias to their tsconfig.json
file.
{
"compilerOptions": {
"paths": {
"@/vdb/*": [
"./node_modules/@vendure/dashboard/src/lib/*"
]
}
}
}
Note: even without that path alias, the vite compilation will still work, but TypeScript types will not resolve correctly when developing dashboard extensions.
Run npm run test
to run tests once, or npx vitest
to run tests in watch mode
<small>3.4.2 (2025-09-11)</small>
CollectionEvent
after moving a collection (#3801) (d80e28f), closes #3801Note: In this release, the SettingsStoreService
methods have been revised to put the
ctx
argument in the first position, as is standard across Vendure APIs. Existing code
with the ctx last will still work, but you are advised to update it.
- SettingsStoreService.get<T>(key, ctx)
- SettingsStoreService.getMany(keys, ctx)
- SettingsStoreService.set<T>(key, value, ctx)
- SettingsStoreService.setMany(values, ctx)
+ SettingsStoreService.get<T>(ctx, key)
+ SettingsStoreService.getMany(ctx, keys)
+ SettingsStoreService.set<T>(ctx, key, value)
+ SettingsStoreService.setMany(ctx, values)
FAQs
Unknown package
The npm package @vendure/dashboard receives a total of 876 weekly downloads. As such, @vendure/dashboard popularity was classified as not popular.
We found that @vendure/dashboard demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.