emdash 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +9 -0
  2. package/dist/{apply-Bjfq_b4-.mjs → apply-kC39ev1Z.mjs} +4 -4
  3. package/dist/{apply-Bjfq_b4-.mjs.map → apply-kC39ev1Z.mjs.map} +1 -1
  4. package/dist/astro/index.d.mts +3 -3
  5. package/dist/astro/index.mjs +16 -1
  6. package/dist/astro/index.mjs.map +1 -1
  7. package/dist/astro/middleware/auth.d.mts +3 -3
  8. package/dist/astro/middleware/request-context.mjs +84 -22
  9. package/dist/astro/middleware/request-context.mjs.map +1 -1
  10. package/dist/astro/middleware.mjs +41 -12
  11. package/dist/astro/middleware.mjs.map +1 -1
  12. package/dist/astro/types.d.mts +5 -4
  13. package/dist/astro/types.d.mts.map +1 -1
  14. package/dist/cli/index.mjs +65 -6
  15. package/dist/cli/index.mjs.map +1 -1
  16. package/dist/db/index.mjs +1 -1
  17. package/dist/{index-C1xF3OGh.d.mts → index-CLBc4gw-.d.mts} +42 -11
  18. package/dist/{index-C1xF3OGh.d.mts.map → index-CLBc4gw-.d.mts.map} +1 -1
  19. package/dist/index.d.mts +5 -5
  20. package/dist/index.mjs +9 -9
  21. package/dist/{manifest-schema-Dcl0R6nM.mjs → manifest-schema-CL8DWO9b.mjs} +5 -2
  22. package/dist/manifest-schema-CL8DWO9b.mjs.map +1 -0
  23. package/dist/media/index.d.mts +1 -1
  24. package/dist/media/index.mjs +1 -1
  25. package/dist/media/local-runtime.d.mts +4 -4
  26. package/dist/page/index.d.mts +1 -1
  27. package/dist/{placeholder-CmGAmqeO.d.mts → placeholder-SvFCKbz_.d.mts} +10 -2
  28. package/dist/{placeholder-CmGAmqeO.d.mts.map → placeholder-SvFCKbz_.d.mts.map} +1 -1
  29. package/dist/{placeholder-SmpOx-_v.mjs → placeholder-aiCD8aSZ.mjs} +27 -2
  30. package/dist/placeholder-aiCD8aSZ.mjs.map +1 -0
  31. package/dist/plugins/adapt-sandbox-entry.d.mts +3 -3
  32. package/dist/plugins/adapt-sandbox-entry.mjs +1 -1
  33. package/dist/{query-CS_iSj34.mjs → query-BVYN0PJ6.mjs} +2 -2
  34. package/dist/{query-CS_iSj34.mjs.map → query-BVYN0PJ6.mjs.map} +1 -1
  35. package/dist/{registry-D_w5HW4G.mjs → registry-BNYQKX_d.mjs} +23 -38
  36. package/dist/registry-BNYQKX_d.mjs.map +1 -0
  37. package/dist/{runner-C0hCbYnD.mjs → runner-BraqvGYk.mjs} +251 -158
  38. package/dist/runner-BraqvGYk.mjs.map +1 -0
  39. package/dist/runner-EAtf0ZIe.d.mts.map +1 -1
  40. package/dist/runtime.d.mts +4 -4
  41. package/dist/{search-DG603UrT.mjs → search-C1gg67nN.mjs} +125 -18
  42. package/dist/search-C1gg67nN.mjs.map +1 -0
  43. package/dist/seed/index.d.mts +1 -1
  44. package/dist/seed/index.mjs +3 -3
  45. package/dist/{types-DvhsUmSJ.d.mts → types-BQo5JS0J.d.mts} +15 -2
  46. package/dist/{types-DvhsUmSJ.d.mts.map → types-BQo5JS0J.d.mts.map} +1 -1
  47. package/dist/{types-DY5zk5HN.mjs → types-CiA5Gac0.mjs} +5 -3
  48. package/dist/types-CiA5Gac0.mjs.map +1 -0
  49. package/dist/{types-C4-fAxN3.d.mts → types-DPfzHnjW.d.mts} +13 -2
  50. package/dist/types-DPfzHnjW.d.mts.map +1 -0
  51. package/dist/{validate-CpBtVMsD.d.mts → validate-HtxZeaBi.d.mts} +2 -2
  52. package/dist/{validate-CpBtVMsD.d.mts.map → validate-HtxZeaBi.d.mts.map} +1 -1
  53. package/dist/{validate-O7PWmlnq.mjs → validate-_rsF-Dx_.mjs} +2 -2
  54. package/dist/{validate-O7PWmlnq.mjs.map → validate-_rsF-Dx_.mjs.map} +1 -1
  55. package/package.json +6 -4
  56. package/src/api/handlers/marketplace.ts +7 -4
  57. package/src/api/schemas/schema.ts +12 -0
  58. package/src/astro/integration/index.ts +17 -0
  59. package/src/astro/integration/runtime.ts +13 -0
  60. package/src/astro/integration/virtual-modules.ts +13 -1
  61. package/src/astro/routes/admin.astro +1 -1
  62. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +3 -1
  63. package/src/astro/routes/api/auth/invite/complete.ts +2 -1
  64. package/src/astro/routes/api/auth/passkey/options.ts +2 -1
  65. package/src/astro/routes/api/auth/passkey/register/options.ts +2 -1
  66. package/src/astro/routes/api/auth/passkey/register/verify.ts +2 -1
  67. package/src/astro/routes/api/auth/passkey/verify.ts +2 -1
  68. package/src/astro/routes/api/auth/signup/complete.ts +2 -1
  69. package/src/astro/routes/api/import/wordpress/analyze.ts +24 -3
  70. package/src/astro/routes/api/import/wordpress/execute.ts +5 -1
  71. package/src/astro/routes/api/import/wordpress/prepare.ts +2 -2
  72. package/src/astro/routes/api/media.ts +16 -4
  73. package/src/astro/routes/api/search/index.ts +1 -5
  74. package/src/astro/routes/api/search/suggest.ts +1 -5
  75. package/src/astro/routes/api/setup/admin-verify.ts +2 -1
  76. package/src/astro/routes/api/setup/admin.ts +2 -1
  77. package/src/astro/types.ts +1 -0
  78. package/src/auth/passkey-config.ts +24 -3
  79. package/src/cli/commands/bundle-utils.ts +26 -0
  80. package/src/cli/commands/bundle.ts +15 -0
  81. package/src/cli/commands/content.ts +11 -1
  82. package/src/cli/commands/login.ts +2 -0
  83. package/src/cli/commands/media.ts +5 -1
  84. package/src/cli/commands/menu.ts +3 -1
  85. package/src/cli/commands/schema.ts +7 -1
  86. package/src/cli/commands/search-cmd.ts +2 -1
  87. package/src/cli/commands/taxonomy.ts +4 -1
  88. package/src/cli/output.ts +14 -0
  89. package/src/components/InlinePortableTextEditor.tsx +33 -3
  90. package/src/database/migrations/033_optimize_content_indexes.ts +113 -0
  91. package/src/database/migrations/runner.ts +40 -33
  92. package/src/database/repositories/comment.ts +32 -20
  93. package/src/emdash-runtime.ts +64 -2
  94. package/src/media/placeholder.ts +31 -0
  95. package/src/media/thumbnail.ts +32 -0
  96. package/src/plugins/hooks.ts +91 -0
  97. package/src/plugins/manager.ts +22 -0
  98. package/src/plugins/manifest-schema.ts +3 -0
  99. package/src/plugins/marketplace.ts +25 -12
  100. package/src/plugins/types.ts +24 -0
  101. package/src/schema/registry.ts +23 -27
  102. package/src/schema/types.ts +27 -1
  103. package/src/search/fts-manager.ts +1 -18
  104. package/src/visual-editing/toolbar.ts +84 -22
  105. package/dist/manifest-schema-Dcl0R6nM.mjs.map +0 -1
  106. package/dist/placeholder-SmpOx-_v.mjs.map +0 -1
  107. package/dist/registry-D_w5HW4G.mjs.map +0 -1
  108. package/dist/runner-C0hCbYnD.mjs.map +0 -1
  109. package/dist/search-DG603UrT.mjs.map +0 -1
  110. package/dist/types-C4-fAxN3.d.mts.map +0 -1
  111. package/dist/types-DY5zk5HN.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
- import { f as MediaProvider, p as MediaProviderCapabilities } from "../placeholder-CmGAmqeO.mjs";
1
+ import { f as MediaProvider, p as MediaProviderCapabilities } from "../placeholder-SvFCKbz_.mjs";
2
2
  import { t as Database } from "../types-DRjfYOEv.mjs";
3
- import { Ai as MediaItem, Cr as SandboxRunner, Lr as MediaListResponse, Rr as MediaResponse, _i as ContentResponse, cn as EmDashConfig, gi as ContentListResponse, nn as EmailPipeline, rn as HookPipeline } from "../index-C1xF3OGh.mjs";
3
+ import { Ai as MediaItem, Cr as SandboxRunner, Lr as MediaListResponse, Rr as MediaResponse, _i as ContentResponse, cn as EmDashConfig, gi as ContentListResponse, nn as EmailPipeline, rn as HookPipeline } from "../index-CLBc4gw-.mjs";
4
4
  import "../runner-EAtf0ZIe.mjs";
5
5
  import { r as ContentItem } from "../types-BRuPJGdV.mjs";
6
- import { it as Element, q as ResolvedPlugin } from "../types-DvhsUmSJ.mjs";
7
- import "../validate-CpBtVMsD.mjs";
6
+ import { it as Element, q as ResolvedPlugin } from "../types-BQo5JS0J.mjs";
7
+ import "../validate-HtxZeaBi.mjs";
8
8
  import { d as Storage } from "../types-DaNLHo_T.mjs";
9
9
  import "../index.mjs";
10
10
  import { Kysely } from "kysely";
@@ -18,6 +18,7 @@ interface ManifestCollection {
18
18
  labelSingular: string;
19
19
  supports: string[];
20
20
  hasSeo: boolean;
21
+ urlPattern?: string;
21
22
  fields: Record<string, {
22
23
  kind: string;
23
24
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/astro/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/astro/types.ts"],"mappings":"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"}
@@ -2,24 +2,24 @@
2
2
  import { t as __exportAll } from "../chunk-ClPoSABd.mjs";
3
3
  import { n as createDatabase } from "../connection-B4zVnQIa.mjs";
4
4
  import { s as listTablesLike } from "../dialect-helpers-B9uSp2GJ.mjs";
5
- import { r as runMigrations, t as getMigrationStatus } from "../runner-C0hCbYnD.mjs";
5
+ import { r as runMigrations, t as getMigrationStatus } from "../runner-BraqvGYk.mjs";
6
6
  import { t as ContentRepository } from "../content-D6C2WsZC.mjs";
7
7
  import { i as encodeBase64url } from "../base64-MBPo9ozB.mjs";
8
8
  import "../types-CMMN0pNg.mjs";
9
9
  import { t as MediaRepository } from "../media-DqHVh136.mjs";
10
- import { d as TaxonomyRepository, t as applySeed, u as OptionsRepository } from "../apply-Bjfq_b4-.mjs";
11
- import { n as SchemaRegistry } from "../registry-D_w5HW4G.mjs";
10
+ import { d as TaxonomyRepository, t as applySeed, u as OptionsRepository } from "../apply-kC39ev1Z.mjs";
11
+ import { n as SchemaRegistry } from "../registry-BNYQKX_d.mjs";
12
12
  import "../redirect-DIfIni3r.mjs";
13
13
  import "../byline-CL847F26.mjs";
14
14
  import { i as isI18nEnabled } from "../config-CKE8p9xM.mjs";
15
15
  import "../loader-fz8Q_3EO.mjs";
16
- import { i as pluginManifestSchema } from "../manifest-schema-Dcl0R6nM.mjs";
17
- import { t as validateSeed } from "../validate-O7PWmlnq.mjs";
16
+ import { i as pluginManifestSchema } from "../manifest-schema-CL8DWO9b.mjs";
17
+ import { t as validateSeed } from "../validate-_rsF-Dx_.mjs";
18
18
  import { LocalStorage } from "../storage/local.mjs";
19
19
  import { createHeaderAwareFetch, customHeadersInterceptor, getCachedAccessToken, isAccessRedirect, resolveCustomHeaders, runCloudflaredLogin } from "../client/cf-access.mjs";
20
20
  import { EmDashClient } from "../client/index.mjs";
21
- import { createGzipDecoder, unpackTar } from "modern-tar";
22
21
  import { imageSize } from "image-size";
22
+ import { createGzipDecoder, unpackTar } from "modern-tar";
23
23
  import { basename, dirname, extname, join, resolve } from "node:path";
24
24
  import { createWriteStream, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
25
25
  import { access, copyFile, mkdir, readFile, readdir, rm, stat, symlink, writeFile } from "node:fs/promises";
@@ -292,6 +292,18 @@ function createClientFromArgs(args) {
292
292
  //#endregion
293
293
  //#region src/cli/output.ts
294
294
  /**
295
+ * Redirect consola output to stderr so it doesn't pollute JSON on stdout.
296
+ *
297
+ * Call this early in any command that uses `output()` with `--json`.
298
+ * Safe to call multiple times — only applies the redirect once.
299
+ */
300
+ function configureOutputMode(args) {
301
+ if (args.json || !process.stdout.isTTY) {
302
+ consola$1.options.stdout = process.stderr;
303
+ consola$1.options.stderr = process.stderr;
304
+ }
305
+ }
306
+ /**
295
307
  * Output data as JSON or pretty-printed.
296
308
  *
297
309
  * If stdout is not a TTY or --json is set, outputs JSON.
@@ -405,6 +417,7 @@ const listCommand$4 = defineCommand({
405
417
  ...connectionArgs
406
418
  },
407
419
  async run({ args }) {
420
+ configureOutputMode(args);
408
421
  try {
409
422
  const result = await createClientFromArgs(args).list(args.collection, {
410
423
  status: args.status,
@@ -460,6 +473,7 @@ const getCommand$3 = defineCommand({
460
473
  ...connectionArgs
461
474
  },
462
475
  async run({ args }) {
476
+ configureOutputMode(args);
463
477
  try {
464
478
  const client = createClientFromArgs(args);
465
479
  const item = await client.get(args.collection, args.id, {
@@ -519,6 +533,7 @@ const createCommand$1 = defineCommand({
519
533
  ...connectionArgs
520
534
  },
521
535
  async run({ args }) {
536
+ configureOutputMode(args);
522
537
  try {
523
538
  const data = await readInputData(args);
524
539
  const client = createClientFromArgs(args);
@@ -572,6 +587,7 @@ const updateCommand = defineCommand({
572
587
  ...connectionArgs
573
588
  },
574
589
  async run({ args }) {
590
+ configureOutputMode(args);
575
591
  try {
576
592
  const data = await readInputData(args);
577
593
  const client = createClientFromArgs(args);
@@ -606,6 +622,7 @@ const deleteCommand$2 = defineCommand({
606
622
  ...connectionArgs
607
623
  },
608
624
  async run({ args }) {
625
+ configureOutputMode(args);
609
626
  try {
610
627
  await createClientFromArgs(args).delete(args.collection, args.id);
611
628
  consola$1.success(`Deleted ${args.collection}/${args.id}`);
@@ -634,6 +651,7 @@ const publishCommand$1 = defineCommand({
634
651
  ...connectionArgs
635
652
  },
636
653
  async run({ args }) {
654
+ configureOutputMode(args);
637
655
  try {
638
656
  await createClientFromArgs(args).publish(args.collection, args.id);
639
657
  consola$1.success(`Published ${args.collection}/${args.id}`);
@@ -662,6 +680,7 @@ const unpublishCommand = defineCommand({
662
680
  ...connectionArgs
663
681
  },
664
682
  async run({ args }) {
683
+ configureOutputMode(args);
665
684
  try {
666
685
  await createClientFromArgs(args).unpublish(args.collection, args.id);
667
686
  consola$1.success(`Unpublished ${args.collection}/${args.id}`);
@@ -695,6 +714,7 @@ const scheduleCommand = defineCommand({
695
714
  ...connectionArgs
696
715
  },
697
716
  async run({ args }) {
717
+ configureOutputMode(args);
698
718
  try {
699
719
  await createClientFromArgs(args).schedule(args.collection, args.id, { at: args.at });
700
720
  consola$1.success(`Scheduled ${args.collection}/${args.id} for ${args.at}`);
@@ -723,6 +743,7 @@ const restoreCommand = defineCommand({
723
743
  ...connectionArgs
724
744
  },
725
745
  async run({ args }) {
746
+ configureOutputMode(args);
726
747
  try {
727
748
  await createClientFromArgs(args).restore(args.collection, args.id);
728
749
  consola$1.success(`Restored ${args.collection}/${args.id}`);
@@ -751,6 +772,7 @@ const translationsCommand = defineCommand({
751
772
  ...connectionArgs
752
773
  },
753
774
  async run({ args }) {
775
+ configureOutputMode(args);
754
776
  try {
755
777
  output(await createClientFromArgs(args).translations(args.collection, args.id), args);
756
778
  } catch (error) {
@@ -1792,6 +1814,7 @@ const whoamiCommand = defineCommand({
1792
1814
  }
1793
1815
  },
1794
1816
  async run({ args }) {
1817
+ configureOutputMode(args);
1795
1818
  const baseUrl = args.url || "http://localhost:4321";
1796
1819
  let token = args.token || process.env["EMDASH_TOKEN"];
1797
1820
  let authMethod = token ? "token" : "none";
@@ -1911,6 +1934,7 @@ const listCommand$3 = defineCommand({
1911
1934
  }
1912
1935
  },
1913
1936
  async run({ args }) {
1937
+ configureOutputMode(args);
1914
1938
  const client = createClientFromArgs(args);
1915
1939
  try {
1916
1940
  output(await client.mediaList({
@@ -1946,6 +1970,7 @@ const uploadCommand = defineCommand({
1946
1970
  }
1947
1971
  },
1948
1972
  async run({ args }) {
1973
+ configureOutputMode(args);
1949
1974
  const client = createClientFromArgs(args);
1950
1975
  const filename = basename(args.file);
1951
1976
  consola$1.start(`Uploading ${filename}...`);
@@ -1977,6 +2002,7 @@ const getCommand$2 = defineCommand({
1977
2002
  ...connectionArgs
1978
2003
  },
1979
2004
  async run({ args }) {
2005
+ configureOutputMode(args);
1980
2006
  const client = createClientFromArgs(args);
1981
2007
  try {
1982
2008
  output(await client.mediaGet(args.id), args);
@@ -2000,6 +2026,7 @@ const deleteCommand$1 = defineCommand({
2000
2026
  ...connectionArgs
2001
2027
  },
2002
2028
  async run({ args }) {
2029
+ configureOutputMode(args);
2003
2030
  const client = createClientFromArgs(args);
2004
2031
  try {
2005
2032
  await client.mediaDelete(args.id);
@@ -2038,6 +2065,7 @@ const listCommand$2 = defineCommand({
2038
2065
  },
2039
2066
  args: { ...connectionArgs },
2040
2067
  async run({ args }) {
2068
+ configureOutputMode(args);
2041
2069
  try {
2042
2070
  output(await createClientFromArgs(args).menus(), args);
2043
2071
  } catch (error) {
@@ -2060,6 +2088,7 @@ const getCommand$1 = defineCommand({
2060
2088
  ...connectionArgs
2061
2089
  },
2062
2090
  async run({ args }) {
2091
+ configureOutputMode(args);
2063
2092
  try {
2064
2093
  output(await createClientFromArgs(args).menu(args.name), args);
2065
2094
  } catch (error) {
@@ -2235,6 +2264,22 @@ async function resolveSourceEntry(pluginDir, distPath) {
2235
2264
  const tsxFull = resolve(pluginDir, srcPath.replace(TS_TO_TSX_RE, ".tsx"));
2236
2265
  if (await fileExists$1(tsxFull)) return tsxFull;
2237
2266
  }
2267
+ const TS_SOURCE_EXPORT_RE = /\.(?:ts|tsx|mts|cts|jsx)$/;
2268
+ /**
2269
+ * Find package.json exports that point to source files instead of built output.
2270
+ * Returns an array of `{ exportPath, resolvedPath }` for each offending export.
2271
+ */
2272
+ function findSourceExports(exports) {
2273
+ const issues = [];
2274
+ for (const [exportPath, exportValue] of Object.entries(exports)) {
2275
+ const resolved = typeof exportValue === "string" ? exportValue : exportValue && typeof exportValue === "object" && "import" in exportValue ? exportValue.import : null;
2276
+ if (resolved && TS_SOURCE_EXPORT_RE.test(resolved)) issues.push({
2277
+ exportPath,
2278
+ resolvedPath: resolved
2279
+ });
2280
+ }
2281
+ return issues;
2282
+ }
2238
2283
  /**
2239
2284
  * Recursively calculate the total size of all files in a directory.
2240
2285
  */
@@ -2553,6 +2598,10 @@ const bundleCommand = defineCommand({
2553
2598
  }
2554
2599
  consola.start("Validating bundle...");
2555
2600
  let hasErrors = false;
2601
+ if (pkg.exports) for (const issue of findSourceExports(pkg.exports)) {
2602
+ consola.error(`Export "${issue.exportPath}" points to source (${issue.resolvedPath}). Package exports must point to built files (e.g. dist/*.mjs). Add a build step and update the exports map.`);
2603
+ hasErrors = true;
2604
+ }
2556
2605
  const backendPath = join(bundleDir, "backend.js");
2557
2606
  if (await fileExists$1(backendPath)) {
2558
2607
  const builtins = findNodeBuiltinImports(await readFile(backendPath, "utf-8"));
@@ -3265,6 +3314,7 @@ const listCommand$1 = defineCommand({
3265
3314
  },
3266
3315
  args: { ...connectionArgs },
3267
3316
  async run({ args }) {
3317
+ configureOutputMode(args);
3268
3318
  try {
3269
3319
  output(await createClientFromArgs(args).collections(), args);
3270
3320
  } catch (error) {
@@ -3287,6 +3337,7 @@ const getCommand = defineCommand({
3287
3337
  ...connectionArgs
3288
3338
  },
3289
3339
  async run({ args }) {
3340
+ configureOutputMode(args);
3290
3341
  try {
3291
3342
  output(await createClientFromArgs(args).collection(args.collection), args);
3292
3343
  } catch (error) {
@@ -3322,6 +3373,7 @@ const createCommand = defineCommand({
3322
3373
  ...connectionArgs
3323
3374
  },
3324
3375
  async run({ args }) {
3376
+ configureOutputMode(args);
3325
3377
  try {
3326
3378
  const data = await createClientFromArgs(args).createCollection({
3327
3379
  slug: args.collection,
@@ -3355,6 +3407,7 @@ const deleteCommand = defineCommand({
3355
3407
  ...connectionArgs
3356
3408
  },
3357
3409
  async run({ args }) {
3410
+ configureOutputMode(args);
3358
3411
  try {
3359
3412
  if (!args.force) {
3360
3413
  if (!await consola$1.prompt(`Delete collection "${args.collection}"?`, { type: "confirm" })) {
@@ -3402,6 +3455,7 @@ const addFieldCommand = defineCommand({
3402
3455
  ...connectionArgs
3403
3456
  },
3404
3457
  async run({ args }) {
3458
+ configureOutputMode(args);
3405
3459
  try {
3406
3460
  const data = await createClientFromArgs(args).createField(args.collection, {
3407
3461
  slug: args.field,
@@ -3436,6 +3490,7 @@ const removeFieldCommand = defineCommand({
3436
3490
  ...connectionArgs
3437
3491
  },
3438
3492
  async run({ args }) {
3493
+ configureOutputMode(args);
3439
3494
  try {
3440
3495
  await createClientFromArgs(args).deleteField(args.collection, args.field);
3441
3496
  consola$1.success(`Removed field "${args.field}" from "${args.collection}"`);
@@ -3495,6 +3550,7 @@ const searchCommand = defineCommand({
3495
3550
  ...connectionArgs
3496
3551
  },
3497
3552
  async run({ args }) {
3553
+ configureOutputMode(args);
3498
3554
  try {
3499
3555
  output(await createClientFromArgs(args).search(args.query, {
3500
3556
  collection: args.collection,
@@ -3705,6 +3761,7 @@ const listCommand = defineCommand({
3705
3761
  },
3706
3762
  args: { ...connectionArgs },
3707
3763
  async run({ args }) {
3764
+ configureOutputMode(args);
3708
3765
  try {
3709
3766
  output(await createClientFromArgs(args).taxonomies(), args);
3710
3767
  } catch (error) {
@@ -3736,6 +3793,7 @@ const termsCommand = defineCommand({
3736
3793
  ...connectionArgs
3737
3794
  },
3738
3795
  async run({ args }) {
3796
+ configureOutputMode(args);
3739
3797
  try {
3740
3798
  output(await createClientFromArgs(args).terms(args.name, {
3741
3799
  limit: args.limit ? parseInt(args.limit, 10) : void 0,
@@ -3774,6 +3832,7 @@ const addTermCommand = defineCommand({
3774
3832
  ...connectionArgs
3775
3833
  },
3776
3834
  async run({ args }) {
3835
+ configureOutputMode(args);
3777
3836
  try {
3778
3837
  const client = createClientFromArgs(args);
3779
3838
  const label = args.name;