1. 'use strict';
    
  2. 
    
  3. // This module is the single source of truth for versioning packages that we
    
  4. // publish to npm.
    
  5. //
    
  6. // Packages will not be published unless they are added here.
    
  7. //
    
  8. // The @latest channel uses the version as-is, e.g.:
    
  9. //
    
  10. //   18.3.0
    
  11. //
    
  12. // The @canary channel appends additional information, with the scheme
    
  13. // <version>-<label>-<commit_sha>, e.g.:
    
  14. //
    
  15. //   18.3.0-canary-a1c2d3e4
    
  16. //
    
  17. // The @experimental channel doesn't include a version, only a date and a sha, e.g.:
    
  18. //
    
  19. //   0.0.0-experimental-241c4467e-20200129
    
  20. 
    
  21. const ReactVersion = '18.3.0';
    
  22. 
    
  23. // The label used by the @canary channel. Represents the upcoming release's
    
  24. // stability. Most of the time, this will be "canary", but we may temporarily
    
  25. // choose to change it to "alpha", "beta", "rc", etc.
    
  26. //
    
  27. // It only affects the label used in the version string. To customize the
    
  28. // npm dist tags used during publish, refer to .circleci/config.yml.
    
  29. const canaryChannelLabel = 'canary';
    
  30. 
    
  31. const stablePackages = {
    
  32.   'eslint-plugin-react-hooks': '5.0.0',
    
  33.   'jest-react': '0.15.0',
    
  34.   react: ReactVersion,
    
  35.   'react-art': ReactVersion,
    
  36.   'react-dom': ReactVersion,
    
  37.   'react-server-dom-webpack': ReactVersion,
    
  38.   'react-server-dom-turbopack': ReactVersion,
    
  39.   'react-is': ReactVersion,
    
  40.   'react-reconciler': '0.30.0',
    
  41.   'react-refresh': '0.15.0',
    
  42.   'react-test-renderer': ReactVersion,
    
  43.   'use-subscription': '1.9.0',
    
  44.   'use-sync-external-store': '1.3.0',
    
  45.   scheduler: '0.24.0',
    
  46. };
    
  47. 
    
  48. // These packages do not exist in the @canary or @latest channel, only
    
  49. // @experimental. We don't use semver, just the commit sha, so this is just a
    
  50. // list of package names instead of a map.
    
  51. const experimentalPackages = [];
    
  52. 
    
  53. module.exports = {
    
  54.   ReactVersion,
    
  55.   canaryChannelLabel,
    
  56.   stablePackages,
    
  57.   experimentalPackages,
    
  58. };