facebook / react

The library for web and native user interfaces.
https://react.dev
MIT License
228.55k stars 46.78k forks source link

Bug: Different file (/usr/share/nodejs/react-is/index.js ) contents when installing via "apt install" and build from source, install package. #27852

Closed ppetrov75 closed 6 months ago

ppetrov75 commented 10 months ago

React version: 17.0.2

OS: Ubuntu 22.04

Version of package source: 17.0.2+dfsg+~cs106.66.62-1

Files of package: node-react-17.0.2+dfsg+~cs106.66.62/ node-react_17.0.2+dfsg+~cs106.66.62-1.debian.tar.xz node-react_17.0.2+dfsg+~cs106.66.62-1.dsc node-react_17.0.2+dfsg+~cs106.66.62.orig-react-shallow-renderer.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-create-subscription.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-cache.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-devtools.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-dom.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-is.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-reconciler.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-typesreact.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-test-renderer.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-scheduler.tar.xz node-react_17.0.2+dfsg+~cs106.66.62.orig-types-use-subscription.tar.xz

Steps To Reproduce

  1. sudo apt-get install node-react output of command: Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: node-prop-types The following NEW packages will be installed: node-prop-types node-react 0 upgraded, 2 newly installed, 0 to remove and 54 not upgraded. Need to get 0 B/528 kB of archives. After this operation, 13,8 MB of additional disk space will be used. Do you want to continue? [Y/n] Selecting previously unselected package node-react. (Reading database ... 206340 files and directories currently installed.) Preparing to unpack .../node-react_17.0.2+dfsg+~cs106.66.62-1_all.deb ... Unpacking node-react (17.0.2+dfsg+~cs106.66.62-1) ... Selecting previously unselected package node-prop-types. Preparing to unpack .../node-prop-types_15.7.2+~15.7.4-2_all.deb ... Unpacking node-prop-types (15.7.2+~15.7.4-2) ... Setting up node-react (17.0.2+dfsg+~cs106.66.62-1) ... Setting up node-prop-types (15.7.2+~15.7.4-2) ...

  2. cat /usr/share/nodejs/react-is/index.js output: 'use strict';

if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react-is.production.min.js'); } else { module.exports = require('./cjs/react-is.development.js'); }

  1. apt-get source -b node-react maybe required to call "sudo apt-get build-dep node-react" before. some output: dpkg-source: info: extracting node-react in node-react-17.0.2+dfsg+~cs106.66.62 dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-react-shallow-renderer.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-create-subscription.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-cache.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-devtools.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-dom.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-is.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-reconciler.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-react-test-renderer.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-scheduler.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-types-use-subscription.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62.orig-typesreact.tar.xz dpkg-source: info: unpacking node-react_17.0.2+dfsg+~cs106.66.62-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series .... dpkg-deb: building package 'node-react' in '../node-react_17.0.2+dfsg+~cs106.66.62-1_all.deb'. dpkg-genbuildinfo --build=binary -O../node-react_17.0.2+dfsg+~cs106.66.62-1_amd64.buildinfo dpkg-genchanges --build=binary -O../node-react_17.0.2+dfsg+~cs106.66.62-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included)

  2. sudo dpkg -i ./node-react_17.0.2+dfsg+~cs106.66.62-1_all.deb output: (Reading database ... 206652 files and directories currently installed.) Preparing to unpack .../node-react_17.0.2+dfsg+~cs106.66.62-1_all.deb ... Unpacking node-react (17.0.2+dfsg+~cs106.66.62-1) over (17.0.2+dfsg+~cs106.66.62-1) ... Setting up node-react (17.0.2+dfsg+~cs106.66.62-1) ...

  3. cat /usr/share/nodejs/react-is/index.js output: /**

    • Copyright (c) Facebook, Inc. and its affiliates.
    • This source code is licensed under the MIT license found in the
    • LICENSE file in the root directory of this source tree.
    • @flow */

'use strict';

export * from './src/ReactIs';

Link to code example:

The current behavior

Different contents of file cat /usr/share/nodejs/react-is/index.js during installation node-react via "sudo apt-get install" and install from source.

The expected behavior

Equal contents of file cat /usr/share/nodejs/react-is/index.js

ppetrov75 commented 10 months ago

Checked on Debian12. Content of the file is same after install from source. Some output: $ cat /usr/share/nodejs/react-is/index.js 'use strict';

if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react-is.production.min.js'); } else { module.exports = require('./cjs/react-is.development.js'); } $ sudo dpkg -i ./node-react_18.2.0+dfsg+~cs87.31.26-4_all.deb [sudo] password for user: (Reading database ... 354612 files and directories currently installed.) Preparing to unpack .../node-react_18.2.0+dfsg+~cs87.31.26-4_all.deb ... Unpacking node-react (18.2.0+dfsg+~cs87.31.26-4) over (18.2.0+dfsg+~cs87.31.26-4) ... Setting up node-react (18.2.0+dfsg+~cs87.31.26-4) ...

$ cat /usr/share/nodejs/react-is/index.js 'use strict';

if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react-is.production.min.js'); } else { module.exports = require('./cjs/react-is.development.js'); }

markerikson commented 10 months ago

Why in the world are you trying to install React as a Linux package?

Also, the React team is definitely not responsible for any repackaging of React into a Linux package - they only publish to NPM.

ppetrov75 commented 10 months ago

Thank you for answering.

I install it as a package because in Ubuntu it comes as a *.deb file and therefore it is possible to install it separately as a package and build from source.

I see contacts of maintainers of the package. So I'll write them. Maintainer: Debian Javascript Maintainers pkg-javascript-devel@lists.alioth.debian.org Uploaders: Pirate Praveen praveen@debian.org

Thank you.

github-actions[bot] commented 6 months ago

This issue has been automatically marked as stale. If this issue is still affecting you, please leave any comment (for example, "bump"), and we'll keep it open. We are sorry that we haven't been able to prioritize it yet. If you have any new additional information, please include it with your comment!

github-actions[bot] commented 6 months ago

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please create a new issue with up-to-date information. Thank you!