[ 
https://issues.apache.org/jira/browse/DISPATCH-2339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17525425#comment-17525425
 ] 

ASF GitHub Bot commented on DISPATCH-2339:
------------------------------------------

jiridanek opened a new pull request, #1560:
URL: https://github.com/apache/qpid-dispatch/pull/1560

   Rhea ships with its sources in `lib/` as well as single file in `dist/`. 
Using the `lib/` sources with react-scripts 5 fails
   
   ```
   $ npx react-scripts start
   (node:836641) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] 
DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use 
the 'setupMiddlewares' option.
   (Use `node --trace-deprecation ...` to show where the warning was created)
   (node:836641) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] 
DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please use 
the 'setupMiddlewares' option.
   Starting the development server...
   Failed to compile.
   
   Module not found: Error: Can't resolve 'os' in 
'/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
   BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
modules by default.
   This is no longer the case. Verify if you need this module and configure a 
polyfill for it.
   
   If you want to include a polyfill, you need to:
           - add a fallback 'resolve.fallback: { "os": 
require.resolve("os-browserify/browser") }'
           - install 'os-browserify'
   If you don't want to include a polyfill, you can use an empty module like 
this:
           resolve.fallback: { "os": false }
   ERROR in ./node_modules/rhea/lib/connection.js 36:9-22
   Module not found: Error: Can't resolve 'os' in 
'/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
   
   BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
modules by default.
   This is no longer the case. Verify if you need this module and configure a 
polyfill for it.
   
   If you want to include a polyfill, you need to:
           - add a fallback 'resolve.fallback: { "os": 
require.resolve("os-browserify/browser") }'
           - install 'os-browserify'
   If you don't want to include a polyfill, you can use an empty module like 
this:
           resolve.fallback: { "os": false }
   
   ERROR in ./node_modules/rhea/lib/connection.js 38:11-26
   Module not found: Error: Can't resolve 'path' in 
'/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
   
   BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
modules by default.
   This is no longer the case. Verify if you need this module and configure a 
polyfill for it.
   
   If you want to include a polyfill, you need to:
           - add a fallback 'resolve.fallback: { "path": 
require.resolve("path-browserify") }'
           - install 'path-browserify'
   If you don't want to include a polyfill, you can use an empty module like 
this:
           resolve.fallback: { "path": false }
   
   webpack compiled with 2 errors
   ```
   
   The problem is that while rhea offers browserified bundled `dist/rhea.js` 
file already, but I could not figure out how to import it from the console's 
`connection.js` so that it passes through babel/webpack/whatever and it's 
exports are still visible.
   
   "How do I browserify a file and then include it to be subsequently 
webpacked?"
   
   I gave up on this and instead configured webpack to do the browserification 
the same way as it was with react-scripts 4.




> Update console to React 18 and react-scripts 5
> ----------------------------------------------
>
>                 Key: DISPATCH-2339
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2339
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Console
>    Affects Versions: 1.19.0
>            Reporter: Jiri Daněk
>            Priority: Major
>             Fix For: 1.20.0
>
>
> {noformat}
> $ npx react-scripts start
> (node:836641) [DEP_WEBPACK_DEV_SERVER_ON_AFTER_SETUP_MIDDLEWARE] 
> DeprecationWarning: 'onAfterSetupMiddleware' option is deprecated. Please use 
> the 'setupMiddlewares' option.
> (Use `node --trace-deprecation ...` to show where the warning was created)
> (node:836641) [DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] 
> DeprecationWarning: 'onBeforeSetupMiddleware' option is deprecated. Please 
> use the 'setupMiddlewares' option.
> Starting the development server...
> Failed to compile.
> Module not found: Error: Can't resolve 'os' in 
> '/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
> BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
> modules by default.
> This is no longer the case. Verify if you need this module and configure a 
> polyfill for it.
> If you want to include a polyfill, you need to:
>         - add a fallback 'resolve.fallback: { "os": 
> require.resolve("os-browserify/browser") }'
>         - install 'os-browserify'
> If you don't want to include a polyfill, you can use an empty module like 
> this:
>         resolve.fallback: { "os": false }
> ERROR in ./node_modules/rhea/lib/connection.js 36:9-22
> Module not found: Error: Can't resolve 'os' in 
> '/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
> BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
> modules by default.
> This is no longer the case. Verify if you need this module and configure a 
> polyfill for it.
> If you want to include a polyfill, you need to:
>         - add a fallback 'resolve.fallback: { "os": 
> require.resolve("os-browserify/browser") }'
>         - install 'os-browserify'
> If you don't want to include a polyfill, you can use an empty module like 
> this:
>         resolve.fallback: { "os": false }
> ERROR in ./node_modules/rhea/lib/connection.js 38:11-26
> Module not found: Error: Can't resolve 'path' in 
> '/home/jdanek/repos/qpid/qpid-dispatch/console/react/node_modules/rhea/lib'
> BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core 
> modules by default.
> This is no longer the case. Verify if you need this module and configure a 
> polyfill for it.
> If you want to include a polyfill, you need to:
>         - add a fallback 'resolve.fallback: { "path": 
> require.resolve("path-browserify") }'
>         - install 'path-browserify'
> If you don't want to include a polyfill, you can use an empty module like 
> this:
>         resolve.fallback: { "path": false }
> webpack compiled with 2 errors
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to