Hi Dave,

If we set 'NODE_ENV' to 'production' variable in definePlugin, the React
will always build in production mode.

Please find an attached patch.

Thanks,
Surinder



On Wed, Sep 13, 2017 at 4:36 PM, Dave Page <dp...@pgadmin.org> wrote:

>
>
> On Wed, Sep 13, 2017 at 10:34 AM, Surinder Kumar <
> surinder.ku...@enterprisedb.com> wrote:
>
>> On Wed, Sep 13, 2017 at 2:52 PM, Dave Page <dp...@pgadmin.org> wrote:
>>
>>>
>>>
>>> On Wed, Sep 13, 2017 at 10:06 AM, Surinder Kumar <
>>> surinder.ku...@enterprisedb.com> wrote:
>>>
>>>>
>>>> ​
>>>> On Wed, Sep 13, 2017 at 2:18 PM, Dave Page <dp...@pgadmin.org> wrote:
>>>>
>>>>> Thanks, committed - though I did add a bundle-dev target to the
>>>>> Makefile for convenience.
>>>>>
>>>>> I'm a little concerned though that the query history still doesn't
>>>>> work in dev mode. Is that fixable?
>>>>>
>>>> ​That's an issue with ReactJS and I had logged a ticket​
>>>>
>>>> ​on their repository but didn't get any response from them.
>>>> The solution is pass `production` flag in place of `envType` in `dev`
>>>> mode too.
>>>>
>>>> const definePlugin = new webpack.DefinePlugin({
>>>> ​  ​
>>>> 'process.env': {
>>>> ​     ​
>>>> 'NODE_ENV': JSON.stringify(envType),
>>>> ​ // In dev mode envType is `development`​
>>>>
>>>> ​  ​
>>>> },
>>>> });
>>>>
>>>
>>> What would be the effect of that? No source map being generated for
>>> React?
>>>
>> ​Only React is using definePlugin's '
>> NODE_ENV'
>> ​ variable​
>> for writing debug-only statements in React code.
>> ​ It will have no effect on functionality. It is used to reduce React
>> bundle size by eliminating debug-only code when run in `production` mode.
>>
>> React code is like:
>>
>> function implementSomeReactBehavior() {
>>     // do actual work part 1
>>
>>     if(process.env.NODE_ENV !== "production") {
>>         // do debug-only work, like recording perf stats
>>     }
>>
>>     // do actual work part 2
>> }
>>
>>
>> We are not generating source maps for vendor libraries including React.
>> We generate source maps for pgAdmin4 modules only for debugging purpose.
>>
>
> OK, in that case can you please tweak our build so React is always in prod
> mode, regardless of everything else? We really shouldn't have things that
> only work in one mode.
>
> Thanks!
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

Attachment: build_react_always_in_prod.patch
Description: Binary data

Reply via email to