gulpfile.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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/server/src'));
  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/server/src/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. function buildAndCopyAdminUi() {
  49. return src(['../mock-data/assets/**/*']).pipe(dest('../dist/cli/assets/images'));
  50. }
  51. export const build = parallel(
  52. copySchemas,
  53. copyEmailTemplates,
  54. copyI18nMessages,
  55. copyCliAssets,
  56. copyCliImages,
  57. copyCliProductData,
  58. copyCliInitialData,
  59. series(buildAdminUi, copyAdminUi),
  60. );