build.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.eventTypeCheckCompleted = eventTypeCheckCompleted;
  6. exports.eventLintCheckCompleted = eventLintCheckCompleted;
  7. exports.eventBuildCompleted = eventBuildCompleted;
  8. exports.eventBuildOptimize = eventBuildOptimize;
  9. exports.eventBuildFeatureUsage = eventBuildFeatureUsage;
  10. exports.eventPackageUsedInGetServerSideProps = eventPackageUsedInGetServerSideProps;
  11. exports.EVENT_NAME_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS = exports.EVENT_BUILD_FEATURE_USAGE = void 0;
  12. const REGEXP_DIRECTORY_DUNDER = /[\\/]__[^\\/]+(?<![\\/]__(?:tests|mocks))__[\\/]/i;
  13. const REGEXP_DIRECTORY_TESTS = /[\\/]__(tests|mocks)__[\\/]/i;
  14. const REGEXP_FILE_TEST = /\.(?:spec|test)\.[^.]+$/i;
  15. const EVENT_TYPE_CHECK_COMPLETED = "NEXT_TYPE_CHECK_COMPLETED";
  16. function eventTypeCheckCompleted(event) {
  17. return {
  18. eventName: EVENT_TYPE_CHECK_COMPLETED,
  19. payload: event
  20. };
  21. }
  22. const EVENT_LINT_CHECK_COMPLETED = "NEXT_LINT_CHECK_COMPLETED";
  23. function eventLintCheckCompleted(event) {
  24. return {
  25. eventName: EVENT_LINT_CHECK_COMPLETED,
  26. payload: event
  27. };
  28. }
  29. const EVENT_BUILD_COMPLETED = "NEXT_BUILD_COMPLETED";
  30. function eventBuildCompleted(pagePaths, event) {
  31. return {
  32. eventName: EVENT_BUILD_COMPLETED,
  33. payload: {
  34. ...event,
  35. totalPageCount: pagePaths.length,
  36. hasDunderPages: pagePaths.some((path)=>REGEXP_DIRECTORY_DUNDER.test(path)),
  37. hasTestPages: pagePaths.some((path)=>REGEXP_DIRECTORY_TESTS.test(path) || REGEXP_FILE_TEST.test(path))
  38. }
  39. };
  40. }
  41. const EVENT_BUILD_OPTIMIZED = "NEXT_BUILD_OPTIMIZED";
  42. function eventBuildOptimize(pagePaths, event) {
  43. return {
  44. eventName: EVENT_BUILD_OPTIMIZED,
  45. payload: {
  46. ...event,
  47. totalPageCount: pagePaths.length,
  48. hasDunderPages: pagePaths.some((path)=>REGEXP_DIRECTORY_DUNDER.test(path)),
  49. hasTestPages: pagePaths.some((path)=>REGEXP_DIRECTORY_TESTS.test(path) || REGEXP_FILE_TEST.test(path))
  50. }
  51. };
  52. }
  53. const EVENT_BUILD_FEATURE_USAGE = "NEXT_BUILD_FEATURE_USAGE";
  54. exports.EVENT_BUILD_FEATURE_USAGE = EVENT_BUILD_FEATURE_USAGE;
  55. function eventBuildFeatureUsage(telemetryPlugin) {
  56. return telemetryPlugin.usages().map(({ featureName , invocationCount })=>({
  57. eventName: EVENT_BUILD_FEATURE_USAGE,
  58. payload: {
  59. featureName,
  60. invocationCount
  61. }
  62. }));
  63. }
  64. const EVENT_NAME_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS = "NEXT_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS";
  65. exports.EVENT_NAME_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS = EVENT_NAME_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS;
  66. function eventPackageUsedInGetServerSideProps(telemetryPlugin) {
  67. return telemetryPlugin.packagesUsedInServerSideProps().map((packageName)=>({
  68. eventName: EVENT_NAME_PACKAGE_USED_IN_GET_SERVER_SIDE_PROPS,
  69. payload: {
  70. package: packageName
  71. }
  72. }));
  73. }
  74. //# sourceMappingURL=build.js.map