Repository: JoshuaKGoldberg/create-typescript-app (ts)

Issue:
🐛 Bug: Use wordwrap: false in blockPackageJson description conversion
### Bug Report Checklist

- [X] I have tried restarting my IDE and the issue persists.
- [X] I have pulled the latest `main` branch of the repository.
- [X] I have [searched for related issues](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aissue) and found none that matched my issue.

### Expected

`blockPackageJson` converts `options.description` from potentially HTML to plain text for printing in the `package.json`. This should not wrap across lines - it should be on one line.

### Actual

`wordwrap` defaults to `true`, so this does wrap words:

https://github.com/JoshuaKGoldberg/create-typescript-app/blob/59e6a31b17ab293f71430d078e18b04a05b6acd0/src/next/blocks/blockPackageJson.ts#L48

I see a `\n` added in there for long descriptions.

### Additional Info

Prototyped in #1839.

💖 

Pull request description:
fix: don't wrap words in blockPackageJson description
## PR Checklist

- [x] Addresses an existing open issue: fixes #1873
- [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md) were taken

## Overview

2af82047f897b861a827e1bac4ea8ccf11fa800d shows the `\n` in the test.

💖 

Patch:
diff --git a/src/next/blocks/blockPackageJson.ts b/src/next/blocks/blockPackageJson.ts
index 42e74a1..3629977 100644
--- a/src/next/blocks/blockPackageJson.ts
+++ b/src/next/blocks/blockPackageJson.ts
@@ -45,7 +45,9 @@ export const blockPackageJson = base.createBlock({
 			...options.packageData?.devDependencies,
 			...addons.properties.devDependencies,
 		};
-		const description = htmlToText.convert(options.description);
+		const description = htmlToText.convert(options.description, {
+			wordwrap: false,
+		});
 
 		return {
 			files: {


Test patch:
diff --git a/src/next/blocks/blockPackageJson.test.ts b/src/next/blocks/blockPackageJson.test.ts
index a0b34e4..7e9bf3b 100644
--- a/src/next/blocks/blockPackageJson.test.ts
+++ b/src/next/blocks/blockPackageJson.test.ts
@@ -4,16 +4,19 @@ import { describe, expect, test } from "vitest";
 import { blockPackageJson } from "./blockPackageJson.js";
 import { optionsBase } from "./options.fakes.js";
 
+const options = {
+	...optionsBase,
+	description: `A very very very very very very very very very very very very very very very very long <em><code>HTML-ish</code> description</em> ending with an emoji. 🧵`,
+};
+
 describe("blockPackageJson", () => {
 	test("without addons or mode", () => {
-		const creation = testBlock(blockPackageJson, {
-			options: optionsBase,
-		});
+		const creation = testBlock(blockPackageJson, { options });
 
 		expect(creation).toMatchInlineSnapshot(`
 			{
 			  "files": {
-			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"Test description","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"]}",
+			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"A very very very very very very very very very very very very very very very very long HTML-ish description ending with an emoji. 🧵","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"]}",
 			  },
 			  "scripts": [
 			    {
@@ -30,13 +33,13 @@ describe("blockPackageJson", () => {
 	test("migration mode", () => {
 		const creation = testBlock(blockPackageJson, {
 			mode: "migrate",
-			options: optionsBase,
+			options,
 		});
 
 		expect(creation).toMatchInlineSnapshot(`
 			{
 			  "files": {
-			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"Test description","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"]}",
+			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"A very very very very very very very very very very very very very very very very long HTML-ish description ending with an emoji. 🧵","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"]}",
 			  },
 			  "scripts": [
 			    {
@@ -67,13 +70,13 @@ describe("blockPackageJson", () => {
 					other: true,
 				},
 			},
-			options: optionsBase,
+			options,
 		});
 
 		expect(creation).toMatchInlineSnapshot(`
 			{
 			  "files": {
-			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"Test description","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"],"dependencies":{"is-odd":"1.2.3"},"other":true}",
+			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"A very very very very very very very very very very very very very very very very long HTML-ish description ending with an emoji. 🧵","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"],"dependencies":{"is-odd":"1.2.3"},"other":true}",
 			  },
 			  "scripts": [
 			    {
@@ -102,13 +105,13 @@ describe("blockPackageJson", () => {
 					other: true,
 				},
 			},
-			options: optionsBase,
+			options,
 		});
 
 		expect(creation).toMatchInlineSnapshot(`
 			{
 			  "files": {
-			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"Test description","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"],"dependencies":{"is-odd":"1.2.3"},"devDependencies":{"is-even":"4.5.6"},"other":true}",
+			    "package.json": "{"name":"test-repository","version":"0.0.0","description":"A very very very very very very very very very very very very very very very very long HTML-ish description ending with an emoji. 🧵","repository":{"type":"git","url":"git+https://github.com/test-owner/test-repository.git"},"license":"MIT","author":{"email":"npm@email.com"},"type":"module","main":"lib/index.js","files":["README.md","package.json"],"dependencies":{"is-odd":"1.2.3"},"devDependencies":{"is-even":"4.5.6"},"other":true}",
 			  },
 			  "scripts": [
 			    {