@nmakarov/cli-toolkit 0.16.0 → 0.21.0

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 (49) hide show
  1. package/README.md +9 -0
  2. package/dist/cli-runner.cjs +5335 -0
  3. package/dist/cli-runner.cjs.map +1 -0
  4. package/dist/cli-runner.js +5318 -0
  5. package/dist/cli-runner.js.map +1 -0
  6. package/dist/db.cjs +1 -1
  7. package/dist/db.cjs.map +1 -1
  8. package/dist/db.js +1 -1
  9. package/dist/db.js.map +1 -1
  10. package/dist/filedatabase.cjs +94 -13
  11. package/dist/filedatabase.cjs.map +1 -1
  12. package/dist/filedatabase.js +94 -13
  13. package/dist/filedatabase.js.map +1 -1
  14. package/dist/http-client2.cjs +1375 -11
  15. package/dist/http-client2.cjs.map +1 -1
  16. package/dist/http-client2.js +1365 -11
  17. package/dist/http-client2.js.map +1 -1
  18. package/dist/index.cjs +1639 -30
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.js +1608 -29
  21. package/dist/index.js.map +1 -1
  22. package/dist/init.cjs +25 -7
  23. package/dist/init.cjs.map +1 -1
  24. package/dist/init.js +25 -7
  25. package/dist/init.js.map +1 -1
  26. package/dist/logger.cjs +9 -6
  27. package/dist/logger.cjs.map +1 -1
  28. package/dist/logger.js +9 -6
  29. package/dist/logger.js.map +1 -1
  30. package/dist/mock-server.cjs +192 -343
  31. package/dist/mock-server.cjs.map +1 -1
  32. package/dist/mock-server.js +190 -343
  33. package/dist/mock-server.js.map +1 -1
  34. package/dist/params.cjs +16 -1
  35. package/dist/params.cjs.map +1 -1
  36. package/dist/params.js +16 -1
  37. package/dist/params.js.map +1 -1
  38. package/dist/tasks.cjs +2666 -0
  39. package/dist/tasks.cjs.map +1 -0
  40. package/dist/tasks.js +2600 -0
  41. package/dist/tasks.js.map +1 -0
  42. package/dist/utils.cjs +15 -2
  43. package/dist/utils.cjs.map +1 -1
  44. package/dist/utils.js +12 -1
  45. package/dist/utils.js.map +1 -1
  46. package/package.json +20 -5
  47. package/scripts/ssm/parse-cli.ts +35 -0
  48. package/scripts/ssm/ssm-admin.ts +151 -0
  49. package/scripts/ssm/ssm-pull.ts +150 -0
package/dist/init.cjs CHANGED
@@ -1942,7 +1942,7 @@ var Params = class _Params {
1942
1942
  throw new ParamError(`default value "${defValObj.value}" type mismatch`);
1943
1943
  }
1944
1944
  type = type.default(defValObj.value);
1945
- } else if (str.match(/required/)) {
1945
+ } else if (str.match(/\s*required\s*/)) {
1946
1946
  type = type.required();
1947
1947
  } else {
1948
1948
  type = type.optional();
@@ -2018,6 +2018,8 @@ var Params = class _Params {
2018
2018
  /**
2019
2019
  * Get all parameters from definitions (main script).
2020
2020
  * Same as getAllForModule("script", defs). Processes left-to-right for cross-parameter references.
2021
+ * Libraries should use {@link getAllForModule} with an explicit module name (or {@link runWithModule}
2022
+ * around {@link get}) so --showUsedParams groups usage correctly.
2021
2023
  */
2022
2024
  getAll(defs) {
2023
2025
  return this.getAllForModule("script", defs);
@@ -2054,6 +2056,19 @@ var Params = class _Params {
2054
2056
  this._currentModule = prev;
2055
2057
  }
2056
2058
  }
2059
+ /**
2060
+ * Run a callback with {@link _currentModule} set so single {@link get} calls are tracked
2061
+ * under the same module (for --showUsedParams / getFiguredByModule).
2062
+ */
2063
+ runWithModule(moduleName, fn) {
2064
+ const prev = this._currentModule;
2065
+ this._currentModule = moduleName;
2066
+ try {
2067
+ return fn();
2068
+ } finally {
2069
+ this._currentModule = prev;
2070
+ }
2071
+ }
2057
2072
  /**
2058
2073
  * Infer module name from call stack: first caller outside params/index gives path like .../src/<moduleName>/...
2059
2074
  */
@@ -2152,6 +2167,7 @@ var ALL_LEVELS = [
2152
2167
  "response",
2153
2168
  "progress"
2154
2169
  ];
2170
+ var DEFAULT_LEVELS = ALL_LEVELS.filter((l) => l !== "silly");
2155
2171
  var MAX_LEVEL_LENGTH = Math.max(...ALL_LEVELS.map((level) => level.toUpperCase().length));
2156
2172
  var LEVEL_COLORS = {
2157
2173
  error: import_chalk.default.red.bold,
@@ -2237,7 +2253,7 @@ var Logger = class _Logger {
2237
2253
  silent: false,
2238
2254
  showLevel: false,
2239
2255
  timestamp: false,
2240
- levels: ALL_LEVELS,
2256
+ levels: DEFAULT_LEVELS,
2241
2257
  progressTimes: false,
2242
2258
  progressThrottle: void 0
2243
2259
  };
@@ -2397,15 +2413,17 @@ var Logger = class _Logger {
2397
2413
  }
2398
2414
  normalizeLevels(levels) {
2399
2415
  if (!levels || !levels.length) {
2400
- return ALL_LEVELS;
2416
+ return DEFAULT_LEVELS;
2401
2417
  }
2402
- const includes = levels.filter((level) => !level.startsWith("-"));
2403
- const excludes = levels.filter((level) => level.startsWith("-")).map((level) => level.slice(1));
2404
- const unknown = [...includes, ...excludes].filter((level) => !ALL_LEVELS.includes(level));
2418
+ const tokens = levels.map((t) => String(t).trim()).filter(Boolean);
2419
+ const explicitIncludes = tokens.filter((t) => !t.startsWith("+") && !t.startsWith("-")).map((t) => t);
2420
+ const addIncludes = tokens.filter((t) => t.startsWith("+")).map((t) => t.slice(1));
2421
+ const excludes = tokens.filter((t) => t.startsWith("-")).map((t) => t.slice(1));
2422
+ const unknown = [...explicitIncludes, ...addIncludes, ...excludes].filter((level) => !ALL_LEVELS.includes(level));
2405
2423
  if (unknown.length) {
2406
2424
  console.warn(`[Logger] Unknown level(s): ${unknown.join(", ")}`);
2407
2425
  }
2408
- const base = includes.length ? includes : ALL_LEVELS;
2426
+ const base = explicitIncludes.length ? explicitIncludes : Array.from(/* @__PURE__ */ new Set([...DEFAULT_LEVELS, ...addIncludes]));
2409
2427
  return base.filter((level) => !excludes.includes(level));
2410
2428
  }
2411
2429
  isValidMode(mode) {