diff --git a/src/js/_enqueues/admin/common.js b/src/js/_enqueues/admin/common.js
index 58f68d110f..b60191f527 100644
--- a/src/js/_enqueues/admin/common.js
+++ b/src/js/_enqueues/admin/common.js
@@ -16,7 +16,340 @@
 	var $document = $( document ),
 		$window = $( window ),
 		$body = $( document.body ),
-		__ = wp.i18n.__;
+		__ = wp.i18n.__,
+		_x = wp.i18n._x,
+		sprintf = wp.i18n.sprintf;
+
+/**
+ * Throws a warning for a deprecated property.
+ *
+ * @since 5.5.1
+ *
+ * @param {string} propName    The property that was used.
+ * @param {string} version     The version of WordPress that deprecated the property.
+ * @param {string} replacement The property that should have been used.
+ */
+function deprecatedProperty( propName, version, replacement ) {
+	var message;
+
+	if ( 'undefined' !== typeof replacement ) {
+		message = sprintf(
+			/* translators: 1: Deprecated property name, 2: Version number, 3: Alternative property name. */
+			__( '%1$s is deprecated since version %2$s! Use %3$s instead.' ),
+			propName,
+			version,
+			replacement
+		);
+	} else {
+		message = sprintf(
+			/* translators: 1: Deprecated property name, 2: Version number. */
+			__( '%1$s is deprecated since version %2$s with no alternative available.' ),
+			propName,
+			version
+		);
+	}
+
+	window.console.warn( message );
+}
+
+/**
+ * Deprecate all properties on an object.
+ *
+ * @since 5.5.1
+ *
+ * @param {string} name       The name of the object, i.e. commonL10n.
+ * @param {object} l10nObject The object to deprecate the properties on.
+ *
+ * @return {object} The object with all its properties deprecated.
+ */
+function deprecateL10nObject( name, l10nObject ) {
+	var deprecatedObject = {};
+
+	Object.keys( l10nObject ).forEach( function( key ) {
+		var prop = l10nObject[ key ];
+		var propName = name + '.' + key;
+
+		if ( 'object' === typeof prop ) {
+			Object.defineProperty( deprecatedObject, key, { get: function() {
+				deprecatedProperty( propName, '5.5.0', prop.alternative );
+				return prop.func();
+			} } );
+		} else {
+			Object.defineProperty( deprecatedObject, key, { get: function() {
+				deprecatedProperty( propName, '5.5.0', 'wp.i18n' );
+				return prop;
+			} } );
+		}
+	} );
+
+	return deprecatedObject;
+}
+
+window.wp.deprecateL10nObject = deprecateL10nObject;
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.6.0
+ * @deprecated 5.5.0
+ */
+window.commonL10n = window.commonL10n || {
+	warnDelete: __( 'You are about to permanently delete these items from your site.\nThis action cannot be undone.\n\'Cancel\' to stop, \'OK\' to delete.' ),
+	dismiss: __( 'Dismiss this notice.' ),
+	collapseMenu: __( 'Collapse Main menu' ),
+	expandMenu: __( 'Expand Main menu' )
+};
+
+window.commonL10n = deprecateL10nObject( 'commonL10n', window.commonL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.3.0
+ * @deprecated 5.5.0
+ */
+window.wpPointerL10n = window.wpPointerL10n || {
+	dismiss: __( 'Dismiss' )
+};
+
+window.wpPointerL10n = deprecateL10nObject( 'wpPointerL10n', window.wpPointerL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @deprecated 5.5.0
+ */
+window.userProfileL10n = window.userProfileL10n || {
+	warn: __( 'Your new password has not been saved.' ),
+	warnWeak: __( 'Confirm use of weak password' ),
+	show: __( 'Show' ),
+	hide: __( 'Hide' ),
+	cancel: __( 'Cancel' ),
+	ariaShow: __( 'Show password' ),
+	ariaHide: __( 'Hide password' )
+};
+
+window.userProfileL10n = deprecateL10nObject( 'userProfileL10n', window.userProfileL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 4.9.6
+ * @deprecated 5.5.0
+ */
+window.privacyToolsL10n = window.privacyToolsL10n || {
+	noDataFound: __( 'No personal data was found for this user.' ),
+	foundAndRemoved: __( 'All of the personal data found for this user was erased.' ),
+	noneRemoved: __( 'Personal data was found for this user but was not erased.' ),
+	someNotRemoved: __( 'Personal data was found for this user but some of the personal data found was not erased.' ),
+	removalError: __( 'An error occurred while attempting to find and erase personal data.' ),
+	emailSent: __( 'The personal data export link for this user was sent.' ),
+	noExportFile: __( 'No personal data export file was generated.' ),
+	exportError: __( 'An error occurred while attempting to export personal data.' )
+};
+
+window.privacyToolsL10n = deprecateL10nObject( 'privacyToolsL10n', window.privacyToolsL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.6.0
+ * @deprecated 5.5.0
+ */
+window.authcheckL10n = {
+	beforeunload: __( 'Your session has expired. You can log in again from this page or go to the login page.' )
+};
+
+window.authcheckL10n = window.authcheckL10n || deprecateL10nObject( 'authcheckL10n', window.authcheckL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.8.0
+ * @deprecated 5.5.0
+ */
+window.tagsl10n = {
+	noPerm: __( 'Sorry, you are not allowed to do that.' ),
+	broken: __( 'Something went wrong.' )
+};
+
+window.tagsl10n = window.tagsl10n || deprecateL10nObject( 'tagsl10n', window.tagsl10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.adminCommentsL10n = window.adminCommentsL10n || {
+	hotkeys_highlight_first: {
+		alternative: 'window.adminCommentsSettings.hotkeys_highlight_first',
+		func: function() { return window.adminCommentsSettings.hotkeys_highlight_first; }
+	},
+	hotkeys_highlight_last: {
+		alternative: 'window.adminCommentsSettings.hotkeys_highlight_last',
+		func: function() { return window.adminCommentsSettings.hotkeys_highlight_last; }
+	},
+	replyApprove: __( 'Approve and Reply' ),
+	reply: __( 'Reply' ),
+	warnQuickEdit: __( 'Are you sure you want to edit this comment?\nThe changes you made will be lost.' ),
+	warnCommentChanges: __( 'Are you sure you want to do this?\nThe comment changes you made will be lost.' ),
+	docTitleComments: __( 'Comments' ),
+	/* translators: %s: Comments count. */
+	docTitleCommentsCount: __( 'Comments (%s)' )
+};
+
+window.adminCommentsL10n = deprecateL10nObject( 'adminCommentsL10n', window.adminCommentsL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.tagsl10n = window.tagsl10n || {
+	tagDelimiter: _x( ',', 'tag delimiter' ),
+	removeTerm: __( 'Remove term:' ),
+	termSelected: __( 'Term selected.' ),
+	termAdded: __( 'Term added.' ),
+	termRemoved: __( 'Term removed.' )
+};
+
+window.tagsL10n = deprecateL10nObject( 'tagsl10n', window.tagsl10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.5.0
+ * @deprecated 5.5.0
+ */
+window.wpColorPickerL10n = window.wpColorPickerL10n || {
+	clear: __( 'Clear' ),
+	clearAriaLabel: __( 'Clear color' ),
+	defaultString: __( 'Default' ),
+	defaultAriaLabel: __( 'Select default color' ),
+	pick: __( 'Select Color' ),
+	defaultLabel: __( 'Color value' )
+};
+
+window.wpColorPickerL10n = deprecateL10nObject( 'wpColorPickerL10n', window.wpColorPickerL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.7.0
+ * @deprecated 5.5.0
+ */
+window.attachMediaBoxL10n = window.attachMediaBoxL10n || {
+	error: __( 'An error has occurred. Please reload the page and try again.' )
+};
+
+window.attachMediaBoxL10n = deprecateL10nObject( 'attachMediaBoxL10n', window.attachMediaBoxL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @deprecated 5.5.0
+ */
+window.postL10n = window.postL10n || {
+	ok: __( 'OK' ),
+	cancel: __( 'Cancel' ),
+	publishOn: __( 'Publish on:' ),
+	publishOnFuture: __( 'Schedule for:' ),
+	publishOnPast: __( 'Published on:' ),
+	/* translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. */
+	dateFormat: __( '%1$s %2$s, %3$s at %4$s:%5$s' ),
+	showcomm: __( 'Show more comments' ),
+	endcomm: __( 'No more comments found.' ),
+	publish: __( 'Publish' ),
+	schedule: _x( 'Schedule', 'post action/button label' ),
+	update: __( 'Update' ),
+	savePending: __( 'Save as Pending' ),
+	saveDraft: __( 'Save Draft' ),
+	'private': __( 'Private' ),
+	'public': __( 'Public' ),
+	publicSticky: __( 'Public, Sticky' ),
+	password: __( 'Password Protected' ),
+	privatelyPublished: __( 'Privately Published' ),
+	published: __( 'Published' ),
+	saveAlert: __( 'The changes you made will be lost if you navigate away from this page.' ),
+	savingText: __( 'Saving Draft&#8230;' ),
+	permalinkSaved: __( 'Permalink saved' )
+};
+
+window.postL10n = deprecateL10nObject( 'postL10n', window.postL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.7.0
+ * @deprecated 5.5.0
+ */
+window.inlineEditL10n = window.inlineEditL10n || {
+	error: __( 'Error while saving the changes.' ),
+	ntdeltitle: __( 'Remove From Bulk Edit' ),
+	notitle: __( '(no title)' ),
+	comma: _x( ',', 'tag delimiter' ).trim(),
+	saved: __( 'Changes saved.' )
+};
+
+window.inlineEditL10n = deprecateL10nObject( 'inlineEditL10n', window.inlineEditL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @deprecated 5.5.0
+ */
+window.plugininstallL10n = window.plugininstallL10n || {
+	plugin_information: __( 'Plugin:' ),
+	plugin_modal_label: __( 'Plugin details' ),
+	ays: __( 'Are you sure you want to install this plugin?' )
+};
+
+window.plugininstallL10n = deprecateL10nObject( 'plugininstallL10n', window.plugininstallL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @deprecated 5.5.0
+ */
+window.navMenuL10n = window.navMenuL10n || {
+	noResultsFound: __( 'No results found.' ),
+	warnDeleteMenu: __( 'You are about to permanently delete this menu.\n\'Cancel\' to stop, \'OK\' to delete.' ),
+	saveAlert: __( 'The changes you made will be lost if you navigate away from this page.' ),
+	untitled: _x( '(no label)', 'missing menu item navigation label' )
+};
+
+window.navMenuL10n = deprecateL10nObject( 'navMenuL10n', window.navMenuL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.commentL10n = window.commentL10n || {
+	submittedOn: __( 'Submitted on:' ),
+	/* translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. */
+	dateFormat: __( '%1$s %2$s, %3$s at %4$s:%5$s' )
+};
+
+window.commentL10n = deprecateL10nObject( 'commentL10n', window.commentL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @deprecated 5.5.0
+ */
+window.setPostThumbnailL10n = window.setPostThumbnailL10n || {
+	setThumbnail: __( 'Use as featured image' ),
+	saving: __( 'Saving…' ),
+	error: __( 'Could not set that as the thumbnail image. Try a different attachment.' ),
+	done: __( 'Done' )
+};
+
+window.setPostThumbnailL10n = deprecateL10nObject( 'setPostThumbnailL10n', window.setPostThumbnailL10n );
+
 
 /**
  * Removed in 3.3.0, needed for back-compatibility.
diff --git a/src/js/_enqueues/admin/widgets.js b/src/js/_enqueues/admin/widgets.js
index e0dac1f4db..2f71d8766c 100644
--- a/src/js/_enqueues/admin/widgets.js
+++ b/src/js/_enqueues/admin/widgets.js
@@ -744,3 +744,12 @@ window.wpWidgets = {
 $document.ready( function(){ wpWidgets.init(); } );
 
 })(jQuery);
+
+wpWidgets.l10n = wpWidgets.l10n || {
+	save: wp.i18n.__( 'Save' ),
+	saved: wp.i18n.__( 'Saved' ),
+	saveAlert: wp.i18n.__( 'The changes you made will be lost if you navigate away from this page.' ),
+	widgetAdded: wp.i18n.__( 'Widget has been added to the selected sidebar' )
+};
+
+wpWidgets.l10n = window.wp.deprecateL10nObject( 'wpWidgets.l10n', wpWidgets.l10n );
diff --git a/src/js/_enqueues/wp/theme-plugin-editor.js b/src/js/_enqueues/wp/theme-plugin-editor.js
index 9516b0f003..8aec2e2400 100644
--- a/src/js/_enqueues/wp/theme-plugin-editor.js
+++ b/src/js/_enqueues/wp/theme-plugin-editor.js
@@ -1000,3 +1000,21 @@ wp.themePluginEditor = (function( $ ) {
 
 	return component;
 })( jQuery );
+
+wp.themePluginEditor.l10n = wp.themePluginEditor.l10n || {
+	saveAlert: wp.i18n.__( 'The changes you made will be lost if you navigate away from this page.' ),
+	saveError: wp.i18n.__( 'Something went wrong. Your change may not have been saved. Please try again. There is also a chance that you may need to manually fix and upload the file over FTP.' ),
+	lintError: {
+		alternative: 'wp.i18n',
+		func: function() {
+			return {
+				/* translators: %d: Error count. */
+				singular: wp.i18n._n( 'There is %d error which must be fixed before you can update this file.', 'There are %d errors which must be fixed before you can update this file.', 1 ),
+				/* translators: %d: Error count. */
+				plural: wp.i18n._n( 'There is %d error which must be fixed before you can update this file.', 'There are %d errors which must be fixed before you can update this file.', 2 )
+			};
+		}
+	}
+};
+
+wp.themePluginEditor.l10n = window.wp.deprecateL10nObject( 'wp.themePluginEditor.l10n', wp.themePluginEditor.l10n );
diff --git a/src/js/_enqueues/wp/updates.js b/src/js/_enqueues/wp/updates.js
index 48a256bd5e..fc146c6a13 100644
--- a/src/js/_enqueues/wp/updates.js
+++ b/src/js/_enqueues/wp/updates.js
@@ -42,6 +42,106 @@
 	 */
 	wp.updates = {};
 
+	/**
+	 * Removed in 5.5.0, needed for back-compatibility.
+	 *
+	 * @since 4.2.0
+	 * @deprecated 5.5.0
+	 *
+	 * @type {object}
+	 */
+	wp.updates.l10n = {
+		/* translators: %s: Search query. */
+		'searchResults': __( 'Search results for &#8220;%s&#8221;' ),
+		'searchResultsLabel': __( 'Search Results' ),
+		'noPlugins': __( 'You do not appear to have any plugins available at this time.' ),
+		'noItemsSelected': __( 'Please select at least one item to perform this action on.' ),
+		'updating': __( 'Updating...' ), // No ellipsis.
+		'pluginUpdated': _x( 'Updated!', 'plugin' ),
+		'themeUpdated': _x( 'Updated!', 'theme' ),
+		'update': __( 'Update' ),
+		'updateNow': __( 'Update Now' ),
+		/* translators: %s: Plugin name and version. */
+		'pluginUpdateNowLabel': _x( 'Update %s now', 'plugin' ),
+		'updateFailedShort': __( 'Update Failed!' ),
+		/* translators: %s: Error string for a failed update. */
+		'updateFailed': __( 'Update Failed: %s' ),
+		/* translators: %s: Plugin name and version. */
+		'pluginUpdatingLabel': _x( 'Updating %s...', 'plugin' ), // No ellipsis.
+		/* translators: %s: Plugin name and version. */
+		'pluginUpdatedLabel': _x( '%s updated!', 'plugin' ),
+		/* translators: %s: Plugin name and version. */
+		'pluginUpdateFailedLabel': _x( '%s update failed', 'plugin' ),
+		/* translators: Accessibility text. */
+		'updatingMsg': __( 'Updating... please wait.' ), // No ellipsis.
+		/* translators: Accessibility text. */
+		'updatedMsg': __( 'Update completed successfully.' ),
+		/* translators: Accessibility text. */
+		'updateCancel': __( 'Update canceled.' ),
+		'beforeunload': __( 'Updates may not complete if you navigate away from this page.' ),
+		'installNow': __( 'Install Now' ),
+		/* translators: %s: Plugin name. */
+		'pluginInstallNowLabel': _x( 'Install %s now', 'plugin' ),
+		'installing': __( 'Installing...' ),
+		'pluginInstalled': _x( 'Installed!', 'plugin' ),
+		'themeInstalled': _x( 'Installed!', 'theme' ),
+		'installFailedShort': __( 'Installation Failed!' ),
+		/* translators: %s: Error string for a failed installation. */
+		'installFailed': __( 'Installation failed: %s' ),
+		/* translators: %s: Plugin name and version. */
+		'pluginInstallingLabel': _x( 'Installing %s...', 'plugin' ), // No ellipsis.
+		/* translators: %s: Theme name and version. */
+		'themeInstallingLabel': _x( 'Installing %s...', 'theme' ), // No ellipsis.
+		/* translators: %s: Plugin name and version. */
+		'pluginInstalledLabel': _x( '%s installed!', 'plugin' ),
+		/* translators: %s: Theme name and version. */
+		'themeInstalledLabel': _x( '%s installed!', 'theme' ),
+		/* translators: %s: Plugin name and version. */
+		'pluginInstallFailedLabel': _x( '%s installation failed', 'plugin' ),
+		/* translators: %s: Theme name and version. */
+		'themeInstallFailedLabel': _x( '%s installation failed', 'theme' ),
+		'installingMsg': __( 'Installing... please wait.' ),
+		'installedMsg': __( 'Installation completed successfully.' ),
+		/* translators: %s: Activation URL. */
+		'importerInstalledMsg': __( 'Importer installed successfully. <a href="%s">Run importer</a>' ),
+		/* translators: %s: Theme name. */
+		'aysDelete': __( 'Are you sure you want to delete %s?' ),
+		/* translators: %s: Plugin name. */
+		'aysDeleteUninstall': __( 'Are you sure you want to delete %s and its data?' ),
+		'aysBulkDelete': __( 'Are you sure you want to delete the selected plugins and their data?' ),
+		'aysBulkDeleteThemes': __( 'Caution: These themes may be active on other sites in the network. Are you sure you want to proceed?' ),
+		'deleting': __( 'Deleting...' ),
+		/* translators: %s: Error string for a failed deletion. */
+		'deleteFailed': __( 'Deletion failed: %s' ),
+		'pluginDeleted': _x( 'Deleted!', 'plugin' ),
+		'themeDeleted': _x( 'Deleted!', 'theme' ),
+		'livePreview': __( 'Live Preview' ),
+		'activatePlugin': 'plugins-network' === pagenow ? __( 'Network Activate' ) : __( 'Activate' ),
+		'activateTheme': 'plugins-network' === pagenow ? __( 'Network Enable' ) : __( 'Activate' ),
+		/* translators: %s: Plugin name. */
+		'activatePluginLabel': 'plugins-network' === pagenow ? _x( 'Network Activate %s', 'plugin' ) : _x( 'Activate %s', 'plugin' ),
+		/* translators: %s: Theme name. */
+		'activateThemeLabel': 'plugins-network' === pagenow ? _x( 'Network Activate %s', 'theme' ) : _x( 'Activate %s', 'theme' ),
+		'activateImporter': __( 'Run Importer' ),
+		/* translators: %s: Importer name. */
+		'activateImporterLabel': __( 'Run %s' ),
+		'unknownError': __( 'Something went wrong.' ),
+		'connectionError': __( 'Connection lost or the server is busy. Please try again later.' ),
+		'nonceError': __( 'An error has occurred. Please reload the page and try again.' ),
+		/* translators: %s: Number of plugins. */
+		'pluginsFound': __( 'Number of plugins found: %d' ),
+		'noPluginsFound': __( 'No plugins found. Try a different search.' ),
+		'autoUpdatesEnable': __( 'Enable auto-updates' ),
+		'autoUpdatesEnabling': __( 'Enabling...' ),
+		'autoUpdatesEnabled': __( 'Auto-updates enabled' ),
+		'autoUpdatesDisable': __( 'Disable auto-updates' ),
+		'autoUpdatesDisabling': __( 'Disabling...' ),
+		'autoUpdatesDisabled': __( 'Auto-updates disabled' ),
+		'autoUpdatesError': __( 'The request could not be completed.' )
+	};
+
+	wp.updates.l10n = window.wp.deprecateL10nObject( 'wp.updates.l10n', wp.updates.l10n );
+
 	/**
 	 * User nonce for ajax calls.
 	 *
diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php
index 6f59ec8e06..31c524834a 100644
--- a/src/wp-includes/script-loader.php
+++ b/src/wp-includes/script-loader.php
@@ -1013,7 +1013,7 @@ function wp_default_scripts( $scripts ) {
 	$scripts->add( 'htmlhint', '/wp-includes/js/codemirror/htmlhint.js', array(), '0.9.14-xwp' );
 	$scripts->add( 'htmlhint-kses', '/wp-includes/js/codemirror/htmlhint-kses.js', array( 'htmlhint' ) );
 	$scripts->add( 'code-editor', "/wp-admin/js/code-editor$suffix.js", array( 'jquery', 'wp-codemirror', 'underscore' ) );
-	$scripts->add( 'wp-theme-plugin-editor', "/wp-admin/js/theme-plugin-editor$suffix.js", array( 'wp-util', 'wp-sanitize', 'jquery', 'jquery-ui-core', 'wp-a11y', 'underscore' ) );
+	$scripts->add( 'wp-theme-plugin-editor', "/wp-admin/js/theme-plugin-editor$suffix.js", array( 'common', 'wp-util', 'wp-sanitize', 'jquery', 'jquery-ui-core', 'wp-a11y', 'underscore' ) );
 	$scripts->set_translations( 'wp-theme-plugin-editor' );
 
 	$scripts->add( 'wp-playlist', "/wp-includes/js/mediaelement/wp-playlist$suffix.js", array( 'wp-util', 'backbone', 'mediaelement' ), false, 1 );
@@ -1231,7 +1231,7 @@ function wp_default_scripts( $scripts ) {
 
 		$scripts->add( 'admin-gallery', "/wp-admin/js/gallery$suffix.js", array( 'jquery-ui-sortable' ) );
 
-		$scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'wp-a11y' ), false, 1 );
+		$scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'common', 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'wp-a11y' ), false, 1 );
 		$scripts->set_translations( 'admin-widgets' );
 
 		$scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request' ) );
@@ -1261,7 +1261,7 @@ function wp_default_scripts( $scripts ) {
 		$scripts->add( 'privacy-tools', "/wp-admin/js/privacy-tools$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
 		$scripts->set_translations( 'privacy-tools' );
 
-		$scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery', 'wp-util', 'wp-a11y', 'wp-sanitize' ), false, 1 );
+		$scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'common', 'jquery', 'wp-util', 'wp-a11y', 'wp-sanitize' ), false, 1 );
 		$scripts->set_translations( 'updates' );
 		did_action( 'init' ) && $scripts->localize(
 			'updates',
