{"id":"haedrix/shared","name":"shared","scope":"haedrix","platform":"roblox","description":"Internal shared utilities used across React Luau packages.","version":"17.3.10","latest":"17.3.10","versions":["17.3.7-pre.1","17.3.7-pre.2","17.3.7","17.3.10-rc.2","17.3.10-rc.3","17.3.10-rc.4","17.3.10","17.3.10-rc.1"],"license":"MIT","licenseRating":"safe","licenseCaveats":["The package archive does not include its license text; the license is declared in its manifest metadata."],"licenseVerified":false,"dependencies":{"jsdotlua/luau-polyfill":{"version":"^1.2.7","alias":"LuauPolyfill"},"haedrix/react-globals":{"version":"^17.3.10","alias":"ReactGlobals"},"roblox/safe-flags":{"version":"^0.1.2","alias":"SafeFlags"}},"integrity":"19b7399c85c5150285469d8f9f4ea63e08736f248172d75a439fbaf216a624a9","likes":0,"downloads":0,"install":"forest install haedrix/shared","url":"https://forest.dev/p/roblox/haedrix/shared","files":"https://api.forest.dev/ai/package/roblox/haedrix/shared/files","readme":"# shared\r\nA Roblox Lua port of the `shared` pseudo-package from React, which contains a number of common utilities and definitions used across the React monorepo.\r\n\r\nStatus: ✔️ Ported\r\n\r\nSource: https://github.com/facebook/react/tree/master/packages/shared\r\n\r\n---\r\n\r\n### ✏️ Notes\r\n* `ReactTypes.js` contains a number of complex flow-type definitions that are not yet possible with Luau, so it's been simplified to a stub called `ReactTypes.roblox.lua`\r\n* `ReactComponentStackFrame.js` is replaced by a partially-ported stub (`ReactComponentStackFrame.roblox.lua`) since it contains logic for parsing/navigating JS-specific stack structure. This needs to be ported to the equivalent functionality in Luau.\r\n* Some slight changes to `isValidElement.lua` that account for the divergent shape of Component and PureComponent objects in our port (for `react`, they're functions; for us, they're tables)\r\n\r\n### ❌ Excluded\r\n\r\n#### Forked Config\r\n```\r\nforks/ReactFeatureFlags.native-fb.js\r\nforks/ReactFeatureFlags.native-oss.js\r\nforks/ReactFeatureFlags.readonly.js\r\nforks/ReactFeatureFlags.test-renderer.js\r\nforks/ReactFeatureFlags.test-renderer.native.js\r\nforks/ReactFeatureFlags.test-renderer.www.js\r\nforks/ReactFeatureFlags.testing.js\r\nforks/ReactFeatureFlags.testing.www.js\r\nforks/ReactFeatureFlags.www-dynamic.js\r\nforks/ReactFeatureFlags.www.js\r\nforks/Scheduler.umd.js\r\nforks/SchedulerTracing.umd.js\r\nforks/consoleWithStackDev.www.js\r\nforks/invokeGuardedCallbackImpl.www.js\r\nforks/object-assign.inline-umd.js\r\nforks/object-assign.umd.js\r\n```\r\n\r\nForks that specify different flag states are used in React with the help of a bundler that swaps in the correct file for the given environment. We don't have this kind of functionality yet, nor the same set of environments.\r\n\r\n#### Integration Tests\r\n```\r\n__tests__/describeComponentFrame-test.js\r\n__tests__/ReactError-test.internal.js\r\n```\r\nThese tests required use of React and ReactDOM, and are not viable to port until we have more of the reconciler ported.","readmeTruncated":false}