gulpfile.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { exec } from 'child_process';
  2. import { dest, parallel, series, src } from 'gulp';
  3. import path from 'path';
  4. // tslint:disable:no-console
  5. function copySchemas() {
  6. return src(['../src/**/*.graphql']).pipe(dest('../dist/server/src'));
  7. }
  8. function copyEmailTemplates() {
  9. return src(['../src/email/templates/**/*']).pipe(dest('../dist/cli/assets/email-templates'));
  10. }
  11. function copyCliAssets() {
  12. return src(['../cli/assets/**/*']).pipe(dest('../dist/cli/assets'));
  13. }
  14. function copyCliImages() {
  15. return src(['../mock-data/assets/**/*']).pipe(dest('../dist/cli/assets/images'));
  16. }
  17. function buildAdminUi() {
  18. return exec(
  19. 'yarn build --prod=true',
  20. {
  21. cwd: path.join(__dirname, '../../admin-ui'),
  22. },
  23. error => {
  24. if (error) {
  25. console.log(error);
  26. }
  27. },
  28. );
  29. }
  30. function copyAdminUi() {
  31. return src(['../../admin-ui/dist/vendure-admin/**/*']).pipe(dest('../dist/admin-ui'));
  32. }
  33. function buildAndCopyAdminUi() {
  34. return src(['../mock-data/assets/**/*']).pipe(dest('../dist/cli/assets/images'));
  35. }
  36. export const build = parallel(
  37. copySchemas,
  38. copyEmailTemplates,
  39. copyCliAssets,
  40. copyCliImages,
  41. series(buildAdminUi, copyAdminUi),
  42. );