UNPKG

vite-plugin-storybook-nextjs

Version:

This is a Vite plugin that allows you to use Next.js features in Vite. It is the basis for `@storybook/experimental-nextjs-vite` and should be used when running portable stories in Vitest.

105 lines (98 loc) 3.46 kB
'use strict'; var draftMode = require('next/dist/server/request/draft-mode'); var headers2 = require('next/dist/server/request/headers'); var test = require('storybook/test'); var headers_js = require('next/dist/server/web/spec-extension/adapters/headers.js'); var index_js = require('next/dist/compiled/@edge-runtime/cookies/index.js'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var headers2__namespace = /*#__PURE__*/_interopNamespace(headers2); // src/plugins/next-mocks/alias/headers/index.ts var HeadersAdapterMock = class extends headers_js.HeadersAdapter { constructor() { super({}); this.append = test.fn( super.append.bind(this) ).mockName("next/headers::headers().append"); this.delete = test.fn(super.delete.bind(this)).mockName( "next/headers::headers().delete" ); this.get = test.fn( super.get.bind(this) ).mockName("next/headers::headers().get"); this.has = test.fn(super.has.bind(this)).mockName( "next/headers::headers().has" ); this.set = test.fn( super.set.bind(this) ).mockName("next/headers::headers().set"); this.forEach = test.fn(super.forEach.bind(this)).mockName("next/headers::headers().forEach"); this.entries = test.fn( super.entries.bind(this) ).mockName("next/headers::headers().entries"); this.keys = test.fn( super.keys.bind(this) ).mockName("next/headers::headers().keys"); this.values = test.fn( super.values.bind(this) ).mockName("next/headers::headers().values"); } }; var headersAdapterMock; var headers = () => { if (!headersAdapterMock) headersAdapterMock = new HeadersAdapterMock(); return headersAdapterMock; }; headers.mockRestore = () => { headersAdapterMock = new HeadersAdapterMock(); }; var RequestCookiesMock = class extends index_js.RequestCookies { constructor() { super(...arguments); this.get = test.fn(super.get.bind(this)).mockName("next/headers::cookies().get"); this.getAll = test.fn(super.getAll.bind(this)).mockName("next/headers::cookies().getAll"); this.has = test.fn(super.has.bind(this)).mockName( "next/headers::cookies().has" ); this.set = test.fn(super.set.bind(this)).mockName("next/headers::cookies().set"); this.delete = test.fn( super.delete.bind(this) ).mockName("next/headers::cookies().delete"); } }; var requestCookiesMock; var cookies = test.fn(() => { if (!requestCookiesMock) { requestCookiesMock = new RequestCookiesMock(headers()); } return requestCookiesMock; }).mockName("next/headers::cookies()"); var originalRestore = cookies.mockRestore.bind(null); cookies.mockRestore = () => { originalRestore(); headers.mockRestore(); requestCookiesMock = new RequestCookiesMock(headers()); }; // src/plugins/next-mocks/alias/headers/index.ts var draftMode2 = test.fn( // biome-ignore lint/suspicious/noExplicitAny: <explanation> draftMode.draftMode ?? headers2__namespace.draftMode ).mockName("draftMode"); exports.cookies = cookies; exports.draftMode = draftMode2; exports.headers = headers;