-
Notifications
You must be signed in to change notification settings - Fork 331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve and simplify Gulp #2717
Comments
Is there any undocumented work which might be outstanding here? Or should we go ahead and close this sucker? |
@domoscargin I think we're still missing those lost edits that captured why we're keeping Gulp We essentially removed all Gulp usage, then changed our mind with some exceptions Composed build tasks can use Gulp
But since every Gulp task such as Composed build tasks need loggingBut then we realised we lost logging in the terminal so brought some Gulp usage back:
Shared tasks without GulpBut last of all, we split out all the Review app tasks in #3384 which gave us the opportunity to make all shared tasks work without Gulp. We switched to the export your tasks pattern vs using
All our new tasks are now plain async functions: await files.copy('**/*', {
srcPath: join(paths.src, 'govuk/assets'),
destPath: join(paths.app, 'dist/assets')
}) Yet they can still be composed into tasks for Gulp's task.name('copy:assets', () => files.copy('**/*', {
srcPath: join(paths.src, 'govuk/assets'),
destPath: join(paths.app, 'dist/assets')
})) |
I've updated the description to reflect the changes to our approach. And with that, I'm going to call this one done! |
What
Simplify our use of Gulp by reducing its use to task running. Write our own scripts for the actual tasks, which do not rely on Gulp.
Why
Our gulp tasks are complicated and doing too many things: #2243
Additionally, we cannot update a lot of dependencies because of our reliance on
oldie
: #2469We had previously made the decision to move away from Gulp and write our own build scripts.
We essentially removed all Gulp usage, then changed our mind with some exceptions
Composed build tasks can use Gulp
tasks/build/**
for ./dist and ./packageapp/tasks/build/**
for ./app/distBut since every Gulp task such as
npx gulp build:package
has a correspondingnpm run build:package
we chose not to document these in tasks.mdComposed build tasks need logging
But then we realised we lost logging in the terminal so brought some Gulp usage back:
gulp.parallel()
andgulp.series()
for composed build tasks onlygulp.task()
usage to gulpfile.mjs configs onlyShared tasks without Gulp
But last of all, we split out all the Review app tasks in #3384 which gave us the opportunity to make all shared tasks work without Gulp. We switched to the export your tasks pattern vs using
gulp.task()
All our new tasks are now plain async functions:
Yet they can still be composed into tasks for Gulp's
gulp.series()
andgulp.parallel()
etcWho needs to work on this
Developers
Who needs to review this
Developers
Done when
gulp
inheroku
NPM script #2768gulpfile.js
to remove use of Gulp #2716The text was updated successfully, but these errors were encountered: