From 79d1706b5070099d18dfbf613b21997c1c299a2b Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Mon, 4 Mar 2024 02:54:44 -0800 Subject: [PATCH] Omit source/build file snapshots from set-version script tests Summary: Make the snapshot output of this test terser (since `set-version` is a superset of the fully tested `set-rn-version` script). Notably, this removes any instances of `generated` from the snapshot file, which would hide the diff in PRs. Changelog: [Internal] Reviewed By: lunaleaps Differential Revision: D54420338 fbshipit-source-id: e4a94b1fda34efaedf1b309496954be35acd5f98 --- .../__snapshots__/set-version-test.js.snap | 484 +----------------- .../set-version/__tests__/set-version-test.js | 21 +- 2 files changed, 34 insertions(+), 471 deletions(-) diff --git a/scripts/releases/set-version/__tests__/__snapshots__/set-version-test.js.snap b/scripts/releases/set-version/__tests__/__snapshots__/set-version-test.js.snap index d7987634029..8cbe83df332 100644 --- a/scripts/releases/set-version/__tests__/__snapshots__/set-version-test.js.snap +++ b/scripts/releases/set-version/__tests__/__snapshots__/set-version-test.js.snap @@ -43,126 +43,15 @@ exports[`setVersion updates monorepo for nightly: packages/monorepo-pkg-c/packag " `; -exports[`setVersion updates monorepo for nightly: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow strict - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for nightly: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = `"[omitted]"`; -const version: $ReadOnly<{ - major: number, - minor: number, - patch: number, - prerelease: string | null, -}> = { - major: 0, - minor: 81, - patch: 0, - prerelease: 'nightly-29282302-abcd1234', -}; +exports[`setVersion updates monorepo for nightly: packages/react-native/React/Base/RCTVersion.m 1`] = `"[omitted]"`; -module.exports = {version}; -" -`; +exports[`setVersion updates monorepo for nightly: packages/react-native/ReactAndroid/gradle.properties 1`] = `"[omitted]"`; -exports[`setVersion updates monorepo for nightly: packages/react-native/React/Base/RCTVersion.m 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for nightly: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = `"[omitted]"`; -#import \\"RCTVersion.h\\" - -NSString* const RCTVersionMajor = @\\"major\\"; -NSString* const RCTVersionMinor = @\\"minor\\"; -NSString* const RCTVersionPatch = @\\"patch\\"; -NSString* const RCTVersionPrerelease = @\\"prerelease\\"; - - -NSDictionary* RCTGetReactNativeVersion(void) -{ - static NSDictionary* __rnVersion; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^(void){ - __rnVersion = @{ - RCTVersionMajor: @(0), - RCTVersionMinor: @(81), - RCTVersionPatch: @(0), - RCTVersionPrerelease: @\\"nightly-29282302-abcd1234\\", - }; - }); - return __rnVersion; -} -" -`; - -exports[`setVersion updates monorepo for nightly: packages/react-native/ReactAndroid/gradle.properties 1`] = ` -"VERSION_NAME=0.81.0-nightly-29282302-abcd1234 -" -`; - -exports[`setVersion updates monorepo for nightly: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -package com.facebook.react.modules.systeminfo; - -import com.facebook.react.common.MapBuilder; - -import java.util.Map; - -public class ReactNativeVersion { - public static final Map VERSION = MapBuilder.of( - \\"major\\", 0, - \\"minor\\", 81, - \\"patch\\", 0, - \\"prerelease\\", \\"nightly-29282302-abcd1234\\"); -} -" -`; - -exports[`setVersion updates monorepo for nightly: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -#pragma once - -#include -#include - -namespace facebook::react { - -constexpr struct { - int32_t Major = 0; - int32_t Minor = 81; - int32_t Patch = 0; - std::string_view Prerelease = \\"nightly-29282302-abcd1234\\"; -} ReactNativeVersion; - -} // namespace facebook::react -" -`; +exports[`setVersion updates monorepo for nightly: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = `"[omitted]"`; exports[`setVersion updates monorepo for nightly: packages/react-native/package.json 1`] = ` "{ @@ -242,126 +131,15 @@ exports[`setVersion updates monorepo for release-candidate: packages/monorepo-pk " `; -exports[`setVersion updates monorepo for release-candidate: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow strict - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for release-candidate: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = `"[omitted]"`; -const version: $ReadOnly<{ - major: number, - minor: number, - patch: number, - prerelease: string | null, -}> = { - major: 0, - minor: 80, - patch: 0, - prerelease: 'rc.3', -}; +exports[`setVersion updates monorepo for release-candidate: packages/react-native/React/Base/RCTVersion.m 1`] = `"[omitted]"`; -module.exports = {version}; -" -`; +exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactAndroid/gradle.properties 1`] = `"[omitted]"`; -exports[`setVersion updates monorepo for release-candidate: packages/react-native/React/Base/RCTVersion.m 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = `"[omitted]"`; -#import \\"RCTVersion.h\\" - -NSString* const RCTVersionMajor = @\\"major\\"; -NSString* const RCTVersionMinor = @\\"minor\\"; -NSString* const RCTVersionPatch = @\\"patch\\"; -NSString* const RCTVersionPrerelease = @\\"prerelease\\"; - - -NSDictionary* RCTGetReactNativeVersion(void) -{ - static NSDictionary* __rnVersion; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^(void){ - __rnVersion = @{ - RCTVersionMajor: @(0), - RCTVersionMinor: @(80), - RCTVersionPatch: @(0), - RCTVersionPrerelease: @\\"rc.3\\", - }; - }); - return __rnVersion; -} -" -`; - -exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactAndroid/gradle.properties 1`] = ` -"VERSION_NAME=0.80.0-rc.3 -" -`; - -exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -package com.facebook.react.modules.systeminfo; - -import com.facebook.react.common.MapBuilder; - -import java.util.Map; - -public class ReactNativeVersion { - public static final Map VERSION = MapBuilder.of( - \\"major\\", 0, - \\"minor\\", 80, - \\"patch\\", 0, - \\"prerelease\\", \\"rc.3\\"); -} -" -`; - -exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -#pragma once - -#include -#include - -namespace facebook::react { - -constexpr struct { - int32_t Major = 0; - int32_t Minor = 80; - int32_t Patch = 0; - std::string_view Prerelease = \\"rc.3\\"; -} ReactNativeVersion; - -} // namespace facebook::react -" -`; +exports[`setVersion updates monorepo for release-candidate: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = `"[omitted]"`; exports[`setVersion updates monorepo for release-candidate: packages/react-native/package.json 1`] = ` "{ @@ -441,126 +219,15 @@ exports[`setVersion updates monorepo for stable version: packages/monorepo-pkg-c " `; -exports[`setVersion updates monorepo for stable version: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow strict - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for stable version: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = `"[omitted]"`; -const version: $ReadOnly<{ - major: number, - minor: number, - patch: number, - prerelease: string | null, -}> = { - major: 0, - minor: 80, - patch: 1, - prerelease: null, -}; +exports[`setVersion updates monorepo for stable version: packages/react-native/React/Base/RCTVersion.m 1`] = `"[omitted]"`; -module.exports = {version}; -" -`; +exports[`setVersion updates monorepo for stable version: packages/react-native/ReactAndroid/gradle.properties 1`] = `"[omitted]"`; -exports[`setVersion updates monorepo for stable version: packages/react-native/React/Base/RCTVersion.m 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo for stable version: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = `"[omitted]"`; -#import \\"RCTVersion.h\\" - -NSString* const RCTVersionMajor = @\\"major\\"; -NSString* const RCTVersionMinor = @\\"minor\\"; -NSString* const RCTVersionPatch = @\\"patch\\"; -NSString* const RCTVersionPrerelease = @\\"prerelease\\"; - - -NSDictionary* RCTGetReactNativeVersion(void) -{ - static NSDictionary* __rnVersion; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^(void){ - __rnVersion = @{ - RCTVersionMajor: @(0), - RCTVersionMinor: @(80), - RCTVersionPatch: @(1), - RCTVersionPrerelease: [NSNull null], - }; - }); - return __rnVersion; -} -" -`; - -exports[`setVersion updates monorepo for stable version: packages/react-native/ReactAndroid/gradle.properties 1`] = ` -"VERSION_NAME=0.80.1 -" -`; - -exports[`setVersion updates monorepo for stable version: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -package com.facebook.react.modules.systeminfo; - -import com.facebook.react.common.MapBuilder; - -import java.util.Map; - -public class ReactNativeVersion { - public static final Map VERSION = MapBuilder.of( - \\"major\\", 0, - \\"minor\\", 80, - \\"patch\\", 1, - \\"prerelease\\", null); -} -" -`; - -exports[`setVersion updates monorepo for stable version: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -#pragma once - -#include -#include - -namespace facebook::react { - -constexpr struct { - int32_t Major = 0; - int32_t Minor = 80; - int32_t Patch = 1; - std::string_view Prerelease = \\"\\"; -} ReactNativeVersion; - -} // namespace facebook::react -" -`; +exports[`setVersion updates monorepo for stable version: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = `"[omitted]"`; exports[`setVersion updates monorepo for stable version: packages/react-native/package.json 1`] = ` "{ @@ -640,126 +307,15 @@ exports[`setVersion updates monorepo on main after release cut: packages/monorep " `; -exports[`setVersion updates monorepo on main after release cut: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow strict - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo on main after release cut: packages/react-native/Libraries/Core/ReactNativeVersion.js 1`] = `"[omitted]"`; -const version: $ReadOnly<{ - major: number, - minor: number, - patch: number, - prerelease: string | null, -}> = { - major: 1000, - minor: 0, - patch: 0, - prerelease: null, -}; +exports[`setVersion updates monorepo on main after release cut: packages/react-native/React/Base/RCTVersion.m 1`] = `"[omitted]"`; -module.exports = {version}; -" -`; +exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactAndroid/gradle.properties 1`] = `"[omitted]"`; -exports[`setVersion updates monorepo on main after release cut: packages/react-native/React/Base/RCTVersion.m 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ +exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = `"[omitted]"`; -#import \\"RCTVersion.h\\" - -NSString* const RCTVersionMajor = @\\"major\\"; -NSString* const RCTVersionMinor = @\\"minor\\"; -NSString* const RCTVersionPatch = @\\"patch\\"; -NSString* const RCTVersionPrerelease = @\\"prerelease\\"; - - -NSDictionary* RCTGetReactNativeVersion(void) -{ - static NSDictionary* __rnVersion; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^(void){ - __rnVersion = @{ - RCTVersionMajor: @(1000), - RCTVersionMinor: @(0), - RCTVersionPatch: @(0), - RCTVersionPrerelease: [NSNull null], - }; - }); - return __rnVersion; -} -" -`; - -exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactAndroid/gradle.properties 1`] = ` -"VERSION_NAME=1000.0.0 -" -`; - -exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -package com.facebook.react.modules.systeminfo; - -import com.facebook.react.common.MapBuilder; - -import java.util.Map; - -public class ReactNativeVersion { - public static final Map VERSION = MapBuilder.of( - \\"major\\", 1000, - \\"minor\\", 0, - \\"patch\\", 0, - \\"prerelease\\", null); -} -" -`; - -exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = ` -"/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @generated by scripts/releases/set-rn-version.js - */ - -#pragma once - -#include -#include - -namespace facebook::react { - -constexpr struct { - int32_t Major = 1000; - int32_t Minor = 0; - int32_t Patch = 0; - std::string_view Prerelease = \\"\\"; -} ReactNativeVersion; - -} // namespace facebook::react -" -`; +exports[`setVersion updates monorepo on main after release cut: packages/react-native/ReactCommon/cxxreact/ReactNativeVersion.h 1`] = `"[omitted]"`; exports[`setVersion updates monorepo on main after release cut: packages/react-native/package.json 1`] = ` "{ diff --git a/scripts/releases/set-version/__tests__/set-version-test.js b/scripts/releases/set-version/__tests__/set-version-test.js index cb622dfd6ef..5fd12fa2456 100644 --- a/scripts/releases/set-version/__tests__/set-version-test.js +++ b/scripts/releases/set-version/__tests__/set-version-test.js @@ -28,13 +28,20 @@ const writeFileMock = jest.fn().mockImplementation((filePath, content) => { customWriteFileExpect(filePath, content); } - expect(content).toMatchSnapshot( - // Make snapshot names resilient to platform path sep differences - path - .relative(path.join(__dirname, '__fixtures__'), filePath) - .split(path.sep) - .join('/'), - ); + const normalizedFilePath = path + .relative(path.join(__dirname, '__fixtures__'), filePath) + .split(path.sep) + .join('/'); + + if (!filePath.endsWith('package.json')) { + // Updated source and build files are already validated in the tests for + // `set-rn-version.js`. We also want to avoid polluting this test's + // snapshots with \@\generated. + expect('[omitted]').toMatchSnapshot(normalizedFilePath); + return; + } + + expect(content).toMatchSnapshot(normalizedFilePath); }); describe('setVersion', () => {