-
-
Notifications
You must be signed in to change notification settings - Fork 154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RangeError: Maximum call stack size exceeded. #405
Comments
Hey thanks for raising an issue. Do you have a reproduction or can you provide more detailed steps? |
Can you try setting inline requires to false in your metro config? |
@akucharczyk it works with inline requires false, I just ran it |
Object is not a constructor probably means you are exporting a component incorrectly or something like that, its usually what it refers to |
Where did I need to export them? stories/index.ts import './BottomSheetCard.stories.tsx';
... index.ts import {
getStorybookUI,
configure,
addDecorator,
} from '@storybook/react-native';
import { withKnobs } from '@storybook/addon-knobs';
import './rn-addons.ts';
// enables knobs for all stories
addDecorator(withKnobs);
configure(() => {
require('./stories');
}, module);
// Refer to https://github.com/storybookjs/react-native/tree/master/app/react-native#getstorybookui-options
// To find allowed options for getStorybookUI
const StorybookUI = getStorybookUI({
asyncStorage: null,
tabOpen: -1,
});
export default StorybookUI; example story import React from 'react';
import { storiesOf } from '@storybook/react-native';
import { number } from '@storybook/addon-knobs';
import { View } from 'react-native';
import { Text } from '@core/presentation/elements/BrandText';
import BottomSheetCard from '@core/presentation/elements/BottomSheetCard';
storiesOf('BottomSheetCard', module)
.add('without content', () => (
<BottomSheetCard endSnapPoint={number('endSnapPoint', 500)}>
<View style={{ backgroundColor: 'red', height: 200 }} />
</BottomSheetCard>
))
.add('with content', () => (
<BottomSheetCard
endSnapPoint={number('endSnapPoint', 500)}
onClose={() => console.log('close')}>
<View>
<Text>I am Content</Text>
</View>
</BottomSheetCard>
)); |
I'm referring to just using react correctly, nothing specific. If you reproduce I can be more helpful |
i'm using this lib for quite a few months, and after my that's my diff, hope this work for you as well |
@rodgomesc Thank you for sharing, I chose the same way and upgraded to 6.0.1-beta |
Please provide a reproduction if possible. Also try the latest beta-10 |
System Version: macOS 13.0 (22A380) "react-native": "0.71.3" "@storybook/addon-actions": "^6.5.14", I created a new TS RN project and integrated Storybook using CLI. On build and run I get the below issue |
@KPS250 could you provide a reproduction? Also can you try adding sbmodern to the resolvers in metro config like this
|
This comment helped resolve it: storybookjs/react-native#405 (comment)
Having the same error on an empty project created by System: Binaries: Browsers: How to reproduce:
npm packages:
Edit
Then run Adding or removing
Shall I downgrade react-native to get storybook to work? If so, which version of react-native should I downgrade to? |
Sbmodern resolver only works for storybook 6.5+, try using the 6.5 release candidate with |
@dannyhw Thank you. It built successfully! That was very helpful. Now let me see how to apply it to my production project... success |
You save my day bro. Can you please explain why above code is necessary? I think it should be described in readme. I cant find any guide for the current version of storybook, except this readme, but i think its set up part is quite not clear. Sorry for my poor english!!! |
@hduoc2003 this is because storybook exports multiple different module types (commonjs, esm etc) and sbmodern is a modern output without transpilation. By putting sbmodern as the first one in the list then we resolve those modules instead of the commonjs output for example. in the past polyfills from corejs in storybook have caused errors with react native which is why we try to resolve sbmodern |
@dannyhw is there a way for you to tell us why inline requires is causing this error? I am interested on knowing that. |
@osvaguillen thats no longer the suggested fix, you can enable inline requires if you just set the resolvers like I mentioned here: I explained the same issue here: #405 (comment) The short answer is that polyfilled code from storybook core would break things. We use the resolver config option to resolve a more modern build of storybook core. |
@Mazztwo sbmodern is the fix but it only works on version 6 not on version 5.3. |
@dannyhw Updating everything to ~6.5 + the sbmodern fix completely solved all my issues. Thank you!! |
@dannyhw Hey can you tell me why does this fix work ? |
@CatWithNineLives turning off inline requires shouldn't be needed anymore in v6.5 you can use the other fix with sbmodern outlined above. The problem relates to the polyfills being used in storybook core v6 and below (removed in v7). Probably by turning on inline requires it changes the behaviour of some code. Polyfills usually need to execute first so maybe an import got placed later or removed by the transform. |
try downgrade corejs
|
Am I the only one who is getting this: ERROR Error reading preview.js: |
@sandipndev if you have a different error please open a new issue that doesn't seem related to this issue. |
Describe the bug
When I try to open Storybook, the application freeze and crashes after a while. In the console it spams a lot of errors.
ERROR RangeError: Maximum call stack size exceeded. Error: Requiring module "node_modules/core-js/internals/is-constructor.js", which threw an exception: RangeError: Maximum call stack size exceeded.
To Reproduce
Steps to reproduce the behavior:
Render Storybook on an iOS simulator
Expected behavior
I expect to be able to use is.
Code snippets
Just did
npx -p @storybook/cli sb init --type react_native
System:
System:
OS: macOS 13.0.1
CPU: (10) arm64 Apple M1 Pro
Binaries:
Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
Browsers:
Safari: 16.1
npmPackages:
@storybook/addon-actions: ^5.3 => 5.3.21
@storybook/addon-knobs: ^5.3 => 5.3.21
@storybook/addon-links: ^5.3 => 5.3.21
@storybook/addon-ondevice-knobs: ^5.3.26 => 5.3.26
@storybook/react-native: 5.3.25 => 5.3.25
@storybook/react-native-server: ^5.3.23 => 5.3.23
The text was updated successfully, but these errors were encountered: