You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

@storybook/core-webpack

Package Overview
Dependencies
Maintainers
29
Versions
735
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storybook/core-webpack

Storybook framework-agnostic API


Version published
Weekly downloads
2.6M
increased by0.17%
Maintainers
29
Created
Weekly downloads
 

Package description

What is @storybook/core-webpack?

The @storybook/core-webpack package is a part of the Storybook ecosystem, specifically designed to customize and extend Storybook's Webpack configurations. It allows developers to modify the default Webpack configuration used by Storybook to better suit their project's needs, including adding loaders, plugins, and modifying existing configurations. This package is essential for projects that require a high degree of customization for their Storybook setup, enabling seamless integration with a wide range of web development tools and workflows.

What are @storybook/core-webpack's main functionalities?

Customizing Webpack Config

This feature allows developers to customize the Webpack configuration used by Storybook. The code sample demonstrates how to merge a custom Webpack configuration with Storybook's default configuration, specifically adding support for SCSS files.

const { merge } = require('webpack-merge');
module.exports = ({ config }) => {
  return merge(config, {
    // Custom Webpack configuration
    module: {
      rules: [{ test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }]
    }
  });
};

Adding Webpack Plugins

Developers can extend Storybook's Webpack configuration by adding additional Webpack plugins. The code sample shows how to add a custom plugin to the configuration.

const SomeWebpackPlugin = require('some-webpack-plugin');
module.exports = ({ config }) => {
  config.plugins.push(new SomeWebpackPlugin());
  return config;
};

Modifying Existing Loaders

This functionality allows for the modification of existing loaders in the Webpack configuration. The code sample illustrates how to find and modify a specific loader to add an additional 'some-loader' for handling files.

module.exports = ({ config }) => {
  const rules = config.module.rules;
  const someRuleIndex = rules.findIndex(rule => rule.test.toString() === '/\.somefile$/');
  if (someRuleIndex !== -1) {
    rules[someRuleIndex].use.push('some-loader');
  }
  return config;
};

Other packages similar to @storybook/core-webpack

Changelog

Source

7.0.0-alpha.28 (September 2, 2022)

Features
  • Vite: Automatically use vite.config.js #19026
Bug Fixes
  • CLI: Fix race condition in sb init #19083
  • Vite: Fix framework option checks, and SSv6 #19062
  • Core: Fix WebProjectAnnotations export in preview-web for back-compat #19048
  • Blocks: Fix Checkbox control update when using useArgs hook
Maintenance
  • Update to new TS reference format (?) #19072
  • Build: Conditionally force vite rebuilds in sandbox #19063
  • Build: Fix CRA bench #19066

Readme

Source

Storybook Core-Common

Common utilities used across @storybook/core-server (manager UI configuration) and @storybook/builder-webpack{4,5} (preview configuration).

This is a lot of code extracted for convenience, not because it made sense.

Supporting multiple version of webpack and this duplicating a large portion of code that was never meant to be generic caused this.

At some point we'll refactor this, it's likely a lot of this code is dead or barely used.

Keywords

FAQs

Package last updated on 01 Sep 2022

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc