Code Monkey home page Code Monkey logo

Comments (4)

RyanClementsHax avatar RyanClementsHax commented on July 24, 2024 2

Thanks for bringing this up.

Unfortunately this project only supports the webpack 5 builder. If there is enough community support, I'll consider adding support for the vote builder.

from storybook-addon-next.

Handfish avatar Handfish commented on July 24, 2024 1

@RodrigoTomeES

I've put together a Vite Storybook solution for next/future/Image that works well enough for myself. It does not require this installing this addon.

main.js

module.exports = {
  stories: [...],
  addons: [
    ...
  ],
  framework: "@storybook/react",
  core: {
    builder: "@storybook/builder-vite",
  },
  async viteFinal(config, { configType }) {
    return {
      ...config,
      define: {
          'process.env.__NEXT_IMAGE_OPTS': JSON.stringify({
            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
            imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
            domains: [],
            path: '/',
            loader: 'default',
            experimentalFuture: true
          }),
      },
      resolve: {
         // https://github.com/RyanClementsHax/storybook-addon-next/issues/99#issuecomment-1172943217
         // Creates an extra "div" around the image - may cause some discrepancies between storybook and production
        alias: [
          {
            find: "next/image",
            replacement: "next/future/image",
          },
        ],
      },
    };
  },
};

preview.jsx

import * as NextImage from "next/image";

//Tailwind or whatever
import '../index.css';


const OriginalNextImage = NextImage.default;

Object.defineProperty(NextImage, "default", {
 configurable: true,
 value: (props) => typeof props.src === 'string' ? (
   <OriginalNextImage {...props} unoptimized blurDataURL={props.src} />
 ) : (
   <OriginalNextImage {...props} unoptimized />
 ),
});

from storybook-addon-next.

RodrigoTomeES avatar RodrigoTomeES commented on July 24, 2024

Hi, @RyanClementsHax now Vite will be the default builder in Storybook 7 so, I think vite builder should be supported.

from storybook-addon-next.

james-elicx avatar james-elicx commented on July 24, 2024

It would be nice to see this revisited.

from storybook-addon-next.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.