Hi

On Tue, Jun 6, 2017 at 9:15 PM, Sarah McAlear <smcal...@pivotal.io> wrote:
> Hello,
>
>> First patch contains changes related to copy row feature which is already
>> in process in another thread. Any reason to add those changes in this patch
>> as this patch is meant to contain infrastructure changes ?
>
>
> As part of introducing React, we are bringing a linter into the codebase.
> The changes to the file you're referring to are formatting changes enforced
> by the linter.

Right - but they also make it a pain to review the code and see what
has actually changed vs. what the linter has reformatted. Can we
separate those changes out easily?

>> Can the changes related to FeatureTest or Jasmine test be separated out in
>> another patch?
>
>
> Great question! Since we test-drove this, the value delivered by each
> individual test represents a behavior. Each piece of functionality in the
> implementation is directly related to their corresponding test(s).
> In this way, the tests belong with the code in the same way as
> documentation.

I totally agree with that. We should always strive to have code, docs
and tests together.

> The new 2 patches are the same as before, without Grunt.

Unfortunately they don't apply cleanly, and break the feature tests:

With the first patch only:

- The patch includes yarn.lock, which is a gitignore'd file.
- karma.conf.js needed manual merging of every hunk.
- When the feature tests run, the browser just flickers whilst it
continually tries to connect to the server, all the time getting
ERR_CONNECTION_REFUSED.

Patch number 2 fails to apply on karma.conf.js, sqleditor.js,
pgadmin_page.py and yarn.lock (which shouldn't be there anyway).

Can you fix/rebase please?

> On Mon, Jun 5, 2017 at 1:30 AM, Surinder Kumar
> <surinder.ku...@enterprisedb.com> wrote:
>>
>> Hi
>>
>> Review comments:
>>
>> 1) First patch contains changes related to copy row feature which is
>> already in process in another thread. Any reason to add those changes in
>> this patch as this patch is meant to contain infrastructure changes ?
>>
>> 2) Can the changes related to FeatureTest or Jasmine test be separated out
>> in another patch?
>>
>>
>> Thanks,
>> Surinder
>>
>>
>> On Thu, Jun 1, 2017 at 1:59 AM, Matthew Kleiman <mklei...@pivotal.io>
>> wrote:
>>>
>>> Hey Surinder,
>>>
>>>> Is it possible to run the task listed above by configuring them in
>>>> "scripts" in package.json file and running concurrently ?
>>>
>>>
>>> That would be cleaner than what we proposed. We could use the yarn run
>>> feature to do just what you are suggesting. It works the same as in npm.
>>> Something like the following:
>>> In package.json -
>>> "scripts": {
>>>   "linter": "eslint pgadmin/static/jsx/**/*.jsx
>>> pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx
>>> regression/javascript/**/*.js *.js"
>>> }
>>>
>>> To call it on the command line -
>>> yarn run linter
>>>
>>> - Matt
>>>
>>> On Wed, May 31, 2017 at 12:35 AM, Surinder Kumar
>>> <surinder.ku...@enterprisedb.com> wrote:
>>>>
>>>> On Wed, May 31, 2017 at 12:01 AM, Joao Pedro De Almeida Pereira
>>>> <jdealmeidapere...@pivotal.io> wrote:
>>>>>>
>>>>>> The motivation is simple - we want a solution that works for the whole
>>>>>> app, can handle debug vs. release execution, pluggable modules, and
>>>>>> installations in read-only directories.
>>>>>
>>>>> With the current configuration of Grunt, all the requirements you
>>>>> mention are available.
>>>>> The tasks on Grunt should only be run under development or before we
>>>>> are creating the installer.
>>>>
>>>>
>>>>>
>>>>> The installer should pick up only the bundled Javascript and should
>>>>> install it in the correct folders, this way there is no need to rewrite or
>>>>> process files in read-only directories of the end user machine.
>>>>>
>>>>>> Per the other thread on the subject (that Joao suggested continuing
>>>>>> discussion on), Surinder is currently looking into flask-webpack. I
>>>>>> spent some time playing with grunt and some other options last week.
>>>>>
>>>>> We should continue the discussion about flask-webpack or Grunt or any
>>>>> other Build system in the other thread, but we need to have some decision
>>>>> because this patch needs a build system.
>>>>> If we remove Grunt from this patch we will need to execute the
>>>>> following command every time the application run:
>>>>>
>>>>> yarn run eslint pgadmin/static/jsx/**/*.jsx
>>>>> pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx
>>>>> regression/javascript/**/*.js *.js && yarn run webpack -- --config
>>>>> webpack.config.js && python web/pgAdmin4
>>>>>
>>>>> And to run the jasmine tests:
>>>>>
>>>>> yarn run eslint pgadmin/static/jsx/**/*.jsx
>>>>> pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx
>>>>> regression/javascript/**/*.js *.js && yarn run karma start
>>>>>
>>>>> And to run the feature tests:
>>>>>
>>>>> yarn run eslint pgadmin/static/jsx/**/*.jsx
>>>>> pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx
>>>>> regression/javascript/**/*.js *.js && yarn run webpack -- --config
>>>>> webpack.config.js && python runtests.py
>>>>>
>>>>> Is this a solution that is acceptable?
>>>>
>>>>
>>>> As per my knowledge, Grunt can run the tasks and bundle the JS and CSS
>>>> files (using r.js which is not preferred). But Webpack can not do both. It
>>>> can only bundle files, it has to be used with either Grunt or Gulp to
>>>> execute tasks.
>>>>
>>>> Is it possible to run the task listed above by configuring them in
>>>> "scripts" in package.json file and running concurrently ?
>>>>
>>>> scripts: {
>>>>  "task-name1": "yarn run eslint filename",
>>>> "task-name2": "yarn run karma start", so on...
>>>> }
>>>>
>>>> and run them using following command:
>>>> npm run task-name1
>>>>
>>>>>
>>>>>
>>>>>> However; this patch is supposed to be about the history tab rewrite.
>>>>>> Whatever solution we use for webpacking/transpiling/linting/minifying
>>>>>> etc, it should be a standalone change as it's decidedly non-trivial.
>>>>>
>>>>> We split this patch into 2 different commits:
>>>>> 1 - Add React and all the tools needed to work with it, this includes
>>>>> Grunt, Webpack and ESLint
>>>>> 2 - Change the history tab
>>>>>
>>>>> Do you want a single commit for each of the following?
>>>>>   React (just adds the React library via yarn)
>>>>>   Webpack (adds Webpack library via yarn and creates the
>>>>> webpack.config.js)
>>>>>   ESLint (adds ESLint library via yarn, creates .eslintrc config file,
>>>>> and corrects all lint errors that previously existed)
>>>>>   Grunt (adds Grunt library via yarn and creates Gruntfile.js config,
>>>>> creating a pipeline of the previous three libraries/tasks)
>>>>>   Our change to History
>>>>>
>>>>> Thanks
>>>>> Joao & Matt
>>>>>
>>>>> On Tue, May 30, 2017 at 10:10 AM, Dave Page <dp...@pgadmin.org> wrote:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> On Tue, May 30, 2017 at 2:47 PM, Matthew Kleiman <mklei...@pivotal.io>
>>>>>> wrote:
>>>>>> > Hi Dave,
>>>>>> >
>>>>>> > We are currently using the Grunt taskrunner to run the following
>>>>>> > tasks:
>>>>>> >
>>>>>> > lint the javascript code
>>>>>> > start javascript tests
>>>>>> > invoke webpack to transpile and bundle js and jsx files
>>>>>> > minify javascript
>>>>>> >
>>>>>> > In order to remove Grunt from the application, we will need some
>>>>>> > other tool
>>>>>> > to execute these listed tasks.
>>>>>> >
>>>>>> > There are other tools available, like Gulp.js, that we could use
>>>>>> > instead of
>>>>>> > Grunt. We would like to understand your motivation for removing
>>>>>> > Grunt so we
>>>>>> > can find a better solution.
>>>>>>
>>>>>> The motivation is simple - we want a solution that works for the whole
>>>>>> app, can handle debug vs. release execution, pluggable modules, and
>>>>>> installations in read-only directories.
>>>>>>
>>>>>> Per the other thread on the subject (that Joao suggested continuing
>>>>>> discussion on), Surinder is currently looking into flask-webpack. I
>>>>>> spent some time playing with grunt and some other options last week.
>>>>>>
>>>>>> However; this patch is supposed to be about the history tab rewrite.
>>>>>> Whatever solution we use for webpacking/transpiling/linting/minifying
>>>>>> etc, it should be a standalone change as it's decidedly non-trivial.
>>>>>>
>>>>>> --
>>>>>> Dave Page
>>>>>> Blog: http://pgsnake.blogspot.com
>>>>>> Twitter: @pgsnake
>>>>>>
>>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>>> The Enterprise PostgreSQL Company
>>>>>
>>>>>
>>>>
>>>
>>
>



-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to