| 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 | // 19.3.0 |
| 11 | // |
| 12 | // The @canary channel appends additional information, with the scheme |
| 13 | // <version>-<label>-<commit_sha>, e.g.: |
| 14 | // |
| 15 | // 19.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 = '19.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 .github/workflows/runtime_prereleases_*.yml. |
| 29 | const canaryChannelLabel = 'canary'; |
| 30 | |
| 31 | // If the canaryChannelLabel is "rc", the build pipeline will use this to build |
| 32 | // an RC version of the packages. |
| 33 | const rcNumber = 0; |
| 34 | |
| 35 | const stablePackages = { |
| 36 | 'eslint-plugin-react-hooks': '7.1.1', |
| 37 | 'jest-react': '0.18.0', |
| 38 | react: ReactVersion, |
| 39 | 'react-art': ReactVersion, |
| 40 | 'react-dom': ReactVersion, |
| 41 | 'react-server-dom-webpack': ReactVersion, |
| 42 | 'react-server-dom-turbopack': ReactVersion, |
| 43 | 'react-server-dom-parcel': ReactVersion, |
| 44 | 'react-is': ReactVersion, |
| 45 | 'react-reconciler': '0.34.0', |
| 46 | 'react-refresh': '0.19.0', |
| 47 | 'react-test-renderer': ReactVersion, |
| 48 | 'use-subscription': '1.13.0', |
| 49 | 'use-sync-external-store': '1.7.0', |
| 50 | scheduler: '0.28.0', |
| 51 | }; |
| 52 | |
| 53 | // These packages do not exist in the @canary or @latest channel, only |
| 54 | // @experimental. We don't use semver, just the commit sha, so this is just a |
| 55 | // list of package names instead of a map. |
| 56 | const experimentalPackages = ['react-markup']; |
| 57 | |
| 58 | module.exports = { |
| 59 | ReactVersion, |
| 60 | canaryChannelLabel, |
| 61 | rcNumber, |
| 62 | stablePackages, |
| 63 | experimentalPackages, |
| 64 | }; |