vite-plugin-storybook-nextjs 0.0.1--canary.1.c7603ba.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+
5
+ // src/plugins/next-image/alias/image-context.tsx
6
+ var ImageContext = react.createContext({});
7
+
8
+ exports.ImageContext = ImageContext;
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+
3
+ // src/plugins/next-image/alias/image-context.tsx
4
+ var ImageContext = createContext({});
5
+
6
+ export { ImageContext };
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ // src/plugins/next-image/alias/image-default-loader.tsx
4
+ var defaultLoader = ({
5
+ src,
6
+ width,
7
+ quality = 75
8
+ }) => {
9
+ const missingValues = [];
10
+ if (!src) {
11
+ missingValues.push("src");
12
+ }
13
+ if (!width) {
14
+ missingValues.push("width");
15
+ }
16
+ if (missingValues.length > 0) {
17
+ throw new Error(
18
+ `Next Image Optimization requires ${missingValues.join(
19
+ ", "
20
+ )} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify(
21
+ {
22
+ src,
23
+ width,
24
+ quality
25
+ }
26
+ )}`
27
+ );
28
+ }
29
+ const url = new URL(src, window.location.href);
30
+ if (!url.searchParams.has("w") && !url.searchParams.has("q")) {
31
+ url.searchParams.set("w", width.toString());
32
+ url.searchParams.set("q", quality.toString());
33
+ }
34
+ if (!src.startsWith("http://") && !src.startsWith("https://")) {
35
+ return url.toString().slice(url.origin.length);
36
+ }
37
+ return url.toString();
38
+ };
39
+
40
+ exports.defaultLoader = defaultLoader;
@@ -0,0 +1,38 @@
1
+ // src/plugins/next-image/alias/image-default-loader.tsx
2
+ var defaultLoader = ({
3
+ src,
4
+ width,
5
+ quality = 75
6
+ }) => {
7
+ const missingValues = [];
8
+ if (!src) {
9
+ missingValues.push("src");
10
+ }
11
+ if (!width) {
12
+ missingValues.push("width");
13
+ }
14
+ if (missingValues.length > 0) {
15
+ throw new Error(
16
+ `Next Image Optimization requires ${missingValues.join(
17
+ ", "
18
+ )} to be provided. Make sure you pass them as props to the \`next/image\` component. Received: ${JSON.stringify(
19
+ {
20
+ src,
21
+ width,
22
+ quality
23
+ }
24
+ )}`
25
+ );
26
+ }
27
+ const url = new URL(src, window.location.href);
28
+ if (!url.searchParams.has("w") && !url.searchParams.has("q")) {
29
+ url.searchParams.set("w", width.toString());
30
+ url.searchParams.set("q", quality.toString());
31
+ }
32
+ if (!src.startsWith("http://") && !src.startsWith("https://")) {
33
+ return url.toString().slice(url.origin.length);
34
+ }
35
+ return url.toString();
36
+ };
37
+
38
+ export { defaultLoader };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var NextImageNamespace = require('next/image');
6
+ var defaultLoader = require('sb-original/default-loader');
7
+ var imageContext = require('sb-original/image-context');
8
+ var React = require('react');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ function _interopNamespace(e) {
13
+ if (e && e.__esModule) return e;
14
+ var n = Object.create(null);
15
+ if (e) {
16
+ Object.keys(e).forEach(function (k) {
17
+ if (k !== 'default') {
18
+ var d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: function () { return e[k]; }
22
+ });
23
+ }
24
+ });
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ var NextImageNamespace__namespace = /*#__PURE__*/_interopNamespace(NextImageNamespace);
31
+ var React__default = /*#__PURE__*/_interopDefault(React);
32
+
33
+ // src/plugins/next-image/alias/next-image.tsx
34
+ var OriginalNextImage = NextImageNamespace__namespace.default;
35
+ var { getImageProps: originalGetImageProps } = NextImageNamespace__namespace;
36
+ var MockedNextImage = React__default.default.forwardRef(({ loader, ...props }, ref) => {
37
+ const imageParameters = React__default.default.useContext(imageContext.ImageContext);
38
+ return /* @__PURE__ */ React__default.default.createElement(
39
+ OriginalNextImage,
40
+ {
41
+ ref,
42
+ ...imageParameters,
43
+ ...props,
44
+ loader: loader ?? defaultLoader.defaultLoader
45
+ }
46
+ );
47
+ });
48
+ MockedNextImage.displayName = "NextImage";
49
+ var getImageProps = (props) => originalGetImageProps?.({ loader: defaultLoader.defaultLoader, ...props });
50
+ var next_image_default = MockedNextImage;
51
+
52
+ exports.default = next_image_default;
53
+ exports.getImageProps = getImageProps;
@@ -0,0 +1,25 @@
1
+ import * as NextImageNamespace from 'next/image';
2
+ import { defaultLoader } from 'sb-original/default-loader';
3
+ import { ImageContext } from 'sb-original/image-context';
4
+ import React from 'react';
5
+
6
+ // src/plugins/next-image/alias/next-image.tsx
7
+ var OriginalNextImage = NextImageNamespace.default;
8
+ var { getImageProps: originalGetImageProps } = NextImageNamespace;
9
+ var MockedNextImage = React.forwardRef(({ loader, ...props }, ref) => {
10
+ const imageParameters = React.useContext(ImageContext);
11
+ return /* @__PURE__ */ React.createElement(
12
+ OriginalNextImage,
13
+ {
14
+ ref,
15
+ ...imageParameters,
16
+ ...props,
17
+ loader: loader ?? defaultLoader
18
+ }
19
+ );
20
+ });
21
+ MockedNextImage.displayName = "NextImage";
22
+ var getImageProps = (props) => originalGetImageProps?.({ loader: defaultLoader, ...props });
23
+ var next_image_default = MockedNextImage;
24
+
25
+ export { next_image_default as default, getImageProps };
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var OriginalNextLegacyImage = require('next/legacy/image');
4
+ var defaultLoader = require('sb-original/default-loader');
5
+ var imageContext = require('sb-original/image-context');
6
+ var React = require('react');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var OriginalNextLegacyImage__default = /*#__PURE__*/_interopDefault(OriginalNextLegacyImage);
11
+ var React__default = /*#__PURE__*/_interopDefault(React);
12
+
13
+ // src/plugins/next-image/alias/next-legacy-image.tsx
14
+ function NextLegacyImage({ loader, ...props }) {
15
+ const imageParameters = React__default.default.useContext(imageContext.ImageContext);
16
+ return /* @__PURE__ */ React__default.default.createElement(
17
+ OriginalNextLegacyImage__default.default,
18
+ {
19
+ ...imageParameters,
20
+ ...props,
21
+ loader: loader ?? defaultLoader.defaultLoader
22
+ }
23
+ );
24
+ }
25
+ var next_legacy_image_default = NextLegacyImage;
26
+
27
+ module.exports = next_legacy_image_default;
@@ -0,0 +1,20 @@
1
+ import OriginalNextLegacyImage from 'next/legacy/image';
2
+ import { defaultLoader } from 'sb-original/default-loader';
3
+ import { ImageContext } from 'sb-original/image-context';
4
+ import React from 'react';
5
+
6
+ // src/plugins/next-image/alias/next-legacy-image.tsx
7
+ function NextLegacyImage({ loader, ...props }) {
8
+ const imageParameters = React.useContext(ImageContext);
9
+ return /* @__PURE__ */ React.createElement(
10
+ OriginalNextLegacyImage,
11
+ {
12
+ ...imageParameters,
13
+ ...props,
14
+ loader: loader ?? defaultLoader
15
+ }
16
+ );
17
+ }
18
+ var next_legacy_image_default = NextLegacyImage;
19
+
20
+ export { next_legacy_image_default as default };
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "vite-plugin-storybook-nextjs",
3
+ "version": "0.0.1--canary.1.c7603ba.0",
4
+ "description": "",
5
+ "keywords": [
6
+ "vite-plugin",
7
+ "nextjs",
8
+ "storybook",
9
+ "vitest"
10
+ ],
11
+ "author": "",
12
+ "license": "MIT",
13
+ "sideEffects": [
14
+ "./src/polyfills/promise-with-resolvers.ts"
15
+ ],
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "type": "module",
20
+ "exports": {
21
+ ".": {
22
+ "import": "./dist/index.js",
23
+ "require": "./dist/index.cjs"
24
+ }
25
+ },
26
+ "scripts": {
27
+ "prepublishOnly": "pnpm build",
28
+ "build": "tsup",
29
+ "dev": "pnpm build --watch",
30
+ "check": "biome check",
31
+ "check:write": "biome check --write",
32
+ "release": "auto shipit"
33
+ },
34
+ "peerDependencies": {
35
+ "next": "^14.0.0",
36
+ "vite": "^5.0.0"
37
+ },
38
+ "devDependencies": {
39
+ "@biomejs/biome": "1.8.1",
40
+ "@types/node": "^20.0.0",
41
+ "@types/react": "^18",
42
+ "auto": "^11.2.0",
43
+ "lefthook": "^1.6.16",
44
+ "next": "^14.0.0",
45
+ "react": "^18",
46
+ "rollup": "^4.18.0",
47
+ "sharp": "^0.33.4",
48
+ "tsup": "^8.1.0",
49
+ "typescript": "^5.0.0",
50
+ "vite": "^5.0.0",
51
+ "vitest": "^1.6.0"
52
+ },
53
+ "packageManager": "pnpm@9.4.0",
54
+ "dependencies": {
55
+ "@next/env": "^14.2.4",
56
+ "find-up": "^7.0.0",
57
+ "image-size": "^1.1.1",
58
+ "ts-dedent": "^2.2.0"
59
+ },
60
+ "optionalDependencies": {
61
+ "sharp": "^0.33.4"
62
+ },
63
+ "publishConfig": {
64
+ "access": "public"
65
+ }
66
+ }