@gunshi/plugin-renderer 0.29.3 → 0.29.4

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 (2) hide show
  1. package/lib/index.js +14 -37
  2. package/package.json +8 -8
package/lib/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ANONYMOUS_COMMAND_NAME, plugin } from "@gunshi/plugin";
2
-
3
2
  //#region ../../node_modules/.pnpm/args-tokens@0.24.3/node_modules/args-tokens/lib/utils.js
4
3
  /**
5
4
  * Entry point of utils.
@@ -21,7 +20,6 @@ import { ANONYMOUS_COMMAND_NAME, plugin } from "@gunshi/plugin";
21
20
  function kebabnize(str) {
22
21
  return str.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? "-" : "") + match.toLowerCase());
23
22
  }
24
-
25
23
  //#endregion
26
24
  //#region ../gunshi/src/utils.ts
27
25
  /**
@@ -100,20 +98,8 @@ function deepFreeze(obj, ignores = []) {
100
98
  }
101
99
  return Object.freeze(obj);
102
100
  }
103
-
104
- //#endregion
105
- //#region ../shared/src/constants.ts
106
- /**
107
- * @author kazuya kawaguchi (a.k.a. kazupon)
108
- * @license MIT
109
- */
110
- const BUILT_IN_PREFIX = "_";
111
- const PLUGIN_PREFIX = "g";
112
- const ARG_PREFIX = "arg";
113
- const BUILT_IN_KEY_SEPARATOR = ":";
114
- const BUILD_IN_PREFIX_AND_KEY_SEPARATOR = `${BUILT_IN_PREFIX}${BUILT_IN_KEY_SEPARATOR}`;
115
- const ARG_PREFIX_AND_KEY_SEPARATOR = `${ARG_PREFIX}${BUILT_IN_KEY_SEPARATOR}`;
116
- const ARG_NEGATABLE_PREFIX = "no-";
101
+ const BUILD_IN_PREFIX_AND_KEY_SEPARATOR = `_:`;
102
+ const ARG_PREFIX_AND_KEY_SEPARATOR = `arg:`;
117
103
  const COMMON_ARGS = {
118
104
  help: {
119
105
  type: "boolean",
@@ -126,7 +112,6 @@ const COMMON_ARGS = {
126
112
  description: "Display this version"
127
113
  }
128
114
  };
129
-
130
115
  //#endregion
131
116
  //#region ../resources/locales/en-US.json
132
117
  var NEGATABLE = "Negatable of";
@@ -145,7 +130,6 @@ var en_US_default = {
145
130
  help: "Display this help message",
146
131
  version: "Display this version"
147
132
  };
148
-
149
133
  //#endregion
150
134
  //#region ../shared/src/utils.ts
151
135
  /**
@@ -163,7 +147,7 @@ var en_US_default = {
163
147
  * @returns Prefixed built-in key.
164
148
  */
165
149
  function resolveBuiltInKey(key) {
166
- return `${BUILT_IN_PREFIX}${BUILT_IN_KEY_SEPARATOR}${key}`;
150
+ return `_:${key}`;
167
151
  }
168
152
  /**
169
153
  * Resolve a namespaced key for argument resources.
@@ -178,7 +162,7 @@ function resolveBuiltInKey(key) {
178
162
  * @returns Prefixed argument key.
179
163
  */
180
164
  function resolveArgKey(key, name) {
181
- return `${name ? `${name}${BUILT_IN_KEY_SEPARATOR}` : ""}${ARG_PREFIX}${BUILT_IN_KEY_SEPARATOR}${key}`;
165
+ return `${name ? `${name}:` : ""}arg:${key}`;
182
166
  }
183
167
  /**
184
168
  * Resolve a namespaced key for non-built-in resources.
@@ -192,7 +176,7 @@ function resolveArgKey(key, name) {
192
176
  * @returns Prefixed non-built-in key.
193
177
  */
194
178
  function resolveKey(key, name) {
195
- return `${name ? `${name}${BUILT_IN_KEY_SEPARATOR}` : ""}${key}`;
179
+ return `${name ? `${name}:` : ""}${key}`;
196
180
  }
197
181
  /**
198
182
  * Resolve command examples.
@@ -215,7 +199,7 @@ async function resolveExamples$1(ctx, examples) {
215
199
  * @returns A namespaced key for the plugin.
216
200
  */
217
201
  function namespacedId(id) {
218
- return `${PLUGIN_PREFIX}${BUILT_IN_KEY_SEPARATOR}${id}`;
202
+ return `g:${id}`;
219
203
  }
220
204
  /**
221
205
  * Generate a short and long option pair for command arguments.
@@ -230,7 +214,6 @@ function makeShortLongOptionPair(schema, name, toKebab) {
230
214
  if (schema.short) key = `-${schema.short}, ${key}`;
231
215
  return key;
232
216
  }
233
-
234
217
  //#endregion
235
218
  //#region ../shared/src/localization.ts
236
219
  /**
@@ -259,8 +242,8 @@ function localizable(ctx, cmd, translate) {
259
242
  if (key.startsWith(namaspacedArgKey)) {
260
243
  let argKey = key.slice(namaspacedArgKey.length);
261
244
  let negatable = false;
262
- if (argKey.startsWith(ARG_NEGATABLE_PREFIX)) {
263
- argKey = argKey.slice(ARG_NEGATABLE_PREFIX.length);
245
+ if (argKey.startsWith("no-")) {
246
+ argKey = argKey.slice(3);
264
247
  negatable = true;
265
248
  }
266
249
  const schema = ctx.args[argKey];
@@ -273,7 +256,6 @@ function localizable(ctx, cmd, translate) {
273
256
  }
274
257
  return localize;
275
258
  }
276
-
277
259
  //#endregion
278
260
  //#region src/header.ts
279
261
  /**
@@ -286,7 +268,6 @@ function renderHeader(ctx) {
286
268
  const title = ctx.env.description || ctx.env.name || "";
287
269
  return Promise.resolve(title ? `${title} (${ctx.env.name || ""}${ctx.env.version ? ` v${ctx.env.version}` : ""})` : title);
288
270
  }
289
-
290
271
  //#endregion
291
272
  //#region src/types.ts
292
273
  /**
@@ -297,7 +278,6 @@ function renderHeader(ctx) {
297
278
  * The unique identifier for usage renderer plugin.
298
279
  */
299
280
  const pluginId = namespacedId("renderer");
300
-
301
281
  //#endregion
302
282
  //#region src/usage.ts
303
283
  /**
@@ -533,14 +513,14 @@ function getOptionalArgsPairs(ctx) {
533
513
  acc[name] = key;
534
514
  if (schema.type === "boolean" && schema.negatable && !COMMON_ARGS_KEYS.includes(name)) {
535
515
  const displayName = ctx.toKebab || schema.toKebab ? kebabnize(name) : name;
536
- acc[`${ARG_NEGATABLE_PREFIX}${name}`] = `--${ARG_NEGATABLE_PREFIX}${displayName}`;
516
+ acc[`no-${name}`] = `--no-${displayName}`;
537
517
  }
538
518
  return acc;
539
519
  }, Object.create(null));
540
520
  }
541
- const resolveNegatableKey = (key) => key.split(ARG_NEGATABLE_PREFIX)[1];
521
+ const resolveNegatableKey = (key) => key.split("no-")[1];
542
522
  function resolveNegatableType(key, ctx) {
543
- return ctx.args[key.startsWith(ARG_NEGATABLE_PREFIX) ? resolveNegatableKey(key) : key].type;
523
+ return ctx.args[key.startsWith("no-") ? resolveNegatableKey(key) : key].type;
544
524
  }
545
525
  async function generateDefaultDisplayValue(ctx, schema) {
546
526
  return `${await ctx.extensions[pluginId].text(resolveBuiltInKey("DEFAULT"))}: ${schema.default}`;
@@ -568,14 +548,14 @@ async function generateOptionalArgsUsage(ctx, optionsPairs) {
568
548
  const optionSchemaMaxLength = ctx.env.usageOptionType ? Math.max(...Object.entries(optionsPairs).map(([key]) => resolveNegatableType(key, ctx).length)) : 0;
569
549
  return (await Promise.all(Object.entries(optionsPairs).map(async ([key, value]) => {
570
550
  let rawDesc = await ctx.extensions[pluginId].text(resolveArgKey(key, ctx.name));
571
- if (!rawDesc && key.startsWith(ARG_NEGATABLE_PREFIX)) {
551
+ if (!rawDesc && key.startsWith("no-")) {
572
552
  const name = resolveNegatableKey(key);
573
553
  const schema = ctx.args[name];
574
554
  const optionKey = makeShortLongOptionPair(schema, name, ctx.toKebab);
575
555
  rawDesc = `${await ctx.extensions[pluginId].text(resolveBuiltInKey("NEGATABLE"))} ${optionKey}`;
576
556
  }
577
557
  const optionsSchema = ctx.env.usageOptionType ? `[${resolveNegatableType(key, ctx)}] ` : "";
578
- const valueDesc = key.startsWith(ARG_NEGATABLE_PREFIX) ? "" : await resolveDisplayValue(ctx, key);
558
+ const valueDesc = key.startsWith("no-") ? "" : await resolveDisplayValue(ctx, key);
579
559
  const desc = `${optionsSchema ? optionsSchema.padEnd(optionSchemaMaxLength + 3) : ""}${rawDesc}`;
580
560
  const descLength = desc.length + valueDesc.length;
581
561
  const option = `${value.padEnd((descLength > 0 ? optionsMaxLength : 0) + ctx.env.middleMargin)}${desc}${valueDesc ? ` ${valueDesc}` : ""}`;
@@ -602,7 +582,6 @@ function generatePositionalSymbols(args) {
602
582
  return elements.join(" ");
603
583
  }).join(" ") : "";
604
584
  }
605
-
606
585
  //#endregion
607
586
  //#region src/validation.ts
608
587
  /**
@@ -617,7 +596,6 @@ function renderValidationErrors(_ctx, error) {
617
596
  for (const err of error.errors) messages.push(err.message);
618
597
  return Promise.resolve(messages.join("\n"));
619
598
  }
620
-
621
599
  //#endregion
622
600
  //#region src/index.ts
623
601
  /**
@@ -693,6 +671,5 @@ function renderer() {
693
671
  }
694
672
  });
695
673
  }
696
-
697
674
  //#endregion
698
- export { renderer as default, pluginId, renderHeader, renderUsage, renderValidationErrors };
675
+ export { renderer as default, pluginId, renderHeader, renderUsage, renderValidationErrors };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gunshi/plugin-renderer",
3
3
  "description": "usage renderer plugin for gunshi",
4
- "version": "0.29.3",
4
+ "version": "0.29.4",
5
5
  "author": {
6
6
  "name": "kazuya kawaguchi",
7
7
  "email": "kawakazu80@gmail.com"
@@ -53,20 +53,20 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@gunshi/plugin": "0.29.3"
56
+ "@gunshi/plugin": "0.29.4"
57
57
  },
58
58
  "peerDependencies": {
59
- "@gunshi/plugin-i18n": "0.29.3"
59
+ "@gunshi/plugin-i18n": "0.29.4"
60
60
  },
61
61
  "devDependencies": {
62
- "deno": "^2.7.4",
63
- "jsr": "^0.13.5",
62
+ "deno": "^2.7.11",
63
+ "jsr": "^0.14.3",
64
64
  "jsr-exports-lint": "^0.4.2",
65
65
  "publint": "^0.3.18",
66
66
  "tsdown": "0.15.12",
67
- "typedoc": "^0.28.17",
68
- "typedoc-plugin-markdown": "^4.10.0",
69
- "@gunshi/shared": "0.29.3"
67
+ "typedoc": "^0.28.18",
68
+ "typedoc-plugin-markdown": "^4.11.0",
69
+ "@gunshi/shared": "0.29.4"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsdown",