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 <https://yarnpkg.com/lang/en/docs/cli/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 >>> >> >> >