gulpfile.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import { exec } from 'child_process';
  2. import fs from 'fs-extra';
  3. import { dest, parallel, series, src } from 'gulp';
  4. import path from 'path';
  5. import { initialData } from '../mock-data/data-sources/initial-data';
  6. // tslint:disable:no-console
  7. function copySchemas() {
  8. return src(['../src/**/*.graphql']).pipe(dest('../dist'));
  9. }
  10. function copyEmailTemplates() {
  11. return src(['../src/email/templates/**/*']).pipe(dest('../dist/cli/assets/email-templates'));
  12. }
  13. function copyI18nMessages() {
  14. return src(['../src/i18n/messages/**/*']).pipe(dest('../dist/i18n/messages'));
  15. }
  16. function copyCliAssets() {
  17. return src(['../cli/assets/**/*']).pipe(dest('../dist/cli/assets'));
  18. }
  19. function copyCliImages() {
  20. return src(['../mock-data/assets/**/*']).pipe(dest('../dist/cli/assets/images'));
  21. }
  22. function copyCliProductData() {
  23. return src(['../mock-data/data-sources/products.csv']).pipe(dest('../dist/cli/assets'));
  24. }
  25. function copyCliInitialData() {
  26. return fs.outputFile(
  27. '../dist/cli/assets/initial-data.json',
  28. JSON.stringify(initialData, null, 2),
  29. 'utf-8',
  30. );
  31. }
  32. function buildAdminUi() {
  33. return exec(
  34. 'yarn build --prod=true',
  35. {
  36. cwd: path.join(__dirname, '../../../admin-ui'),
  37. },
  38. error => {
  39. if (error) {
  40. console.log(error);
  41. }
  42. },
  43. );
  44. }
  45. function copyAdminUi() {
  46. return src(['../../../admin-ui/dist/vendure-admin/**/*']).pipe(dest('../dist/admin-ui'));
  47. }
  48. export const build = parallel(
  49. copySchemas,
  50. copyEmailTemplates,
  51. copyI18nMessages,
  52. copyCliAssets,
  53. copyCliImages,
  54. copyCliProductData,
  55. copyCliInitialData,
  56. // series(buildAdminUi, copyAdminUi),
  57. );