public function setup_assets() {
		$suffix = $this->get_assets_suffix();

		if ( ! is_admin() ) {
			if ( ! empty( $this->jquery_uri ) ) {
				$this->update_jquery();
			}
			$remove_emoji_exists = array_key_exists( 'remove_emoji', $this->options );
			if ( ! $remove_emoji_exists ||
				( $remove_emoji_exists && $this->options['remove_emoji'] )
			) {
				$this->remove_emoji();
			}
		}

		// Load the JS files.
		if ( apply_filters( self::HOOK_PREFIX . 'include_js', true ) ) {
			$handle = sprintf( '%s-%s', $this->environment, 'js' );
			wp_register_script( $handle, str_replace( '.js', $suffix, $this->js_uri ) . '.js', [], $this->js_version, true );
			$localize_script = apply_filters( self::HOOK_PREFIX . 'localize_script', 'lean_localize_js' );
			$localize_data = apply_filters( self::HOOK_PREFIX . 'localize_data', [] );
			wp_localize_script( $handle, $localize_script, $localize_data );
			wp_enqueue_script( $handle );
		}

		// Load the CSS files.
		if ( apply_filters( self::HOOK_PREFIX . 'include_css', true ) ) {
			wp_enqueue_style(
				sprintf( '%s-%s', $this->environment, 'style' ),
				str_replace( '.css', $suffix, $this->css_uri ) . '.css',
				array(),
				$this->css_version,
				'all'
			);
		}

		if ( $this->load_comments ) {
			$this->load_comments_assets();
		}
	}