
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@friendsofshopware/storefront-sdk
Advanced tools
Provides Shopware Storefront Utilities as Typescript
The Shopware Storefront SDK is a set of classes and methods to easily access the Shopware Storefront. So in your plugins, you can add this package as dependency and use the classes from this package instead of default Shopware files. This is especially helpful if you want to build your plugin without having the Shopware code-base, such as in custom webpack builds.
npm install @friendsofshopware/storefront-sdk
This package is usually used to build artifacts independent from Shopware. However, you might still want to be able to also build your storefront inside a Shopware shop.
For this, please create a custom webpack configuration in your plugin that resolves the alias and path for your dependency.
Create a new file ../Resources/app/storefront/build/webpack.config.js and add this content:
module.exports = (params) => {
return {
resolve: {
modules: [
`${params.basePath}Resources/app/storefront/node_modules`,
],
}
};
}
To have PluginManager
typed, you need to create a tsconfig.json
(src/Resources/app/storefront/tsconfig.json
) with following content:
{
"compilerOptions": {
"types": ["@friendsofshopware/storefront-types"]
}
}
@friendsofshopware/storefront-types
is a separate NPM package which contains only the types of the storefront.
You can now use the plugin classes from this package instead of the original ones in your Shopware Javascript plugins.
import Plugin from '@friendsofshopware/storefront-sdk/plugin-system/plugin.class';
export default class MyStorefrontPlugin extends Plugin {
constructor(el, options, pluginName) {
super(el, options, pluginName);
this.setup();
}
init(): void {
// run your own code here
this.el.addEventListener('click', this.onClick.bind(this));
}
onClick(event) {
console.log('called');
}
}
Because you have no dependency on Shopware classes anymore, can now build your plugins without having Shopware itself. This is helpful if you want to create custom webpack builds for your plugin.
But you can also use the Shopware CLI or still Shopware itself for building.
FAQs
Provides Shopware Storefront Utilities as Typescript
We found that @friendsofshopware/storefront-sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.