@visulima/cerebro 1.1.58 → 2.0.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 (42) hide show
  1. package/CHANGELOG.md +79 -1
  2. package/LICENSE.md +1360 -7
  3. package/README.md +74 -5
  4. package/dist/commands/completion-command.d.ts +6 -0
  5. package/dist/commands/completion-command.js +5 -0
  6. package/dist/commands/help-command.d.ts +12 -0
  7. package/dist/commands/help-command.js +1 -0
  8. package/dist/commands/readme-command.d.ts +6 -0
  9. package/dist/commands/readme-command.js +45 -0
  10. package/dist/commands/version-command.d.ts +6 -0
  11. package/dist/commands/version-command.js +1 -0
  12. package/dist/index.d.ts +39 -141
  13. package/dist/index.js +1 -0
  14. package/dist/logger/create-pail-logger.d.ts +5 -0
  15. package/dist/logger/create-pail-logger.js +1 -0
  16. package/dist/packem_chunks/has-new-version.js +1 -0
  17. package/dist/packem_shared/Cerebro-UuSm4ZWa.js +4 -0
  18. package/dist/packem_shared/VERBOSITY_QUIET-XPultrIA.js +1 -0
  19. package/dist/packem_shared/VisulimaError--04oA1Oy.js +76 -0
  20. package/dist/packem_shared/cerebro-error-BnJTixb2.js +1 -0
  21. package/dist/packem_shared/help-command-C_CdZQSd.js +1 -0
  22. package/dist/packem_shared/index-DQ3pvLQH.js +6 -0
  23. package/dist/packem_shared/index.d-BkzZomTF.d.ts +65 -0
  24. package/dist/packem_shared/isVisulimaError-jVZgumOU-C4fgdbWg.js +1 -0
  25. package/dist/packem_shared/plugin-manager-BjEuiNxv.d.ts +147 -0
  26. package/dist/packem_shared/renderError-ZMlMvw1N-eVUSdl6c.js +24 -0
  27. package/dist/packem_shared/runtime-process-G-n-wOub.js +1 -0
  28. package/dist/plugins/error-handler-plugin.d.ts +15 -0
  29. package/dist/plugins/error-handler-plugin.js +1 -0
  30. package/dist/plugins/runtime-version-check-plugin.d.ts +18 -0
  31. package/dist/plugins/runtime-version-check-plugin.js +1 -0
  32. package/dist/plugins/update-notifier/update-notifier-plugin.d.ts +21 -0
  33. package/dist/plugins/update-notifier/update-notifier-plugin.js +1 -0
  34. package/package.json +63 -27
  35. package/dist/index.cjs +0 -1
  36. package/dist/index.d.cts +0 -158
  37. package/dist/index.d.mts +0 -158
  38. package/dist/index.mjs +0 -1
  39. package/dist/packem_chunks/has-new-version.cjs +0 -1
  40. package/dist/packem_chunks/has-new-version.mjs +0 -1
  41. package/dist/packem_shared/default-BkkIk32s.mjs +0 -10
  42. package/dist/packem_shared/default-DpvcDeMt.cjs +0 -10
@@ -0,0 +1,18 @@
1
+ import { P as Plugin } from '../packem_shared/plugin-manager-BjEuiNxv.js';
2
+ import '@visulima/tabular';
3
+
4
+ type RuntimeType = "bun" | "deno" | "node";
5
+ type RuntimeVersionRequirement = {
6
+ minVersion: number;
7
+ };
8
+ type RuntimeVersionCheckOptions = {
9
+ runtimes?: {
10
+ bun?: RuntimeVersionRequirement;
11
+ deno?: RuntimeVersionRequirement;
12
+ node?: RuntimeVersionRequirement;
13
+ };
14
+ };
15
+ declare const runtimeVersionCheckPlugin: (options?: RuntimeVersionCheckOptions) => Plugin;
16
+
17
+ export { runtimeVersionCheckPlugin };
18
+ export type { RuntimeType, RuntimeVersionCheckOptions, RuntimeVersionRequirement };
@@ -0,0 +1 @@
1
+ var a=Object.defineProperty;var p=(r,t)=>a(r,"name",{value:t,configurable:!0});import{d as v,e as d,g as y}from"../packem_shared/runtime-process-G-n-wOub.js";var g=Object.defineProperty,n=p((r,t)=>g(r,"name",{value:t,configurable:!0}),"o");const s=n(r=>{if(!r||typeof r!="string")return 0;const t=r.split(".");if(t.length===0||!t[0])return 0;const e=Number.parseInt(t[0],10);return Number.isNaN(e)?0:e},"parseMajorVersion"),h=n(r=>!r||typeof r!="string"?"":r.replace("v",""),"extractNodeVersion"),l=n(()=>{if(typeof Bun<"u"){const e=Bun.version||"";return{major:s(e),type:"bun",version:e}}if(typeof Deno<"u"){const e=Deno.version?.deno||"";return{major:s(e),type:"deno",version:e}}const r=y().node??"",t=h(r);return{major:s(t),type:"node",version:t}},"detectRuntime"),b=n((r={})=>({description:"Checks if the current runtime version meets the minimum requirement",init:n(async t=>{const e=l(),c={bun:1,deno:1,node:18};let o;try{const u=v().CEREBRO_MIN_NODE_VERSION,m=u===void 0?void 0:Number.parseInt(u,10);o=Number.isNaN(m)?void 0:m}catch{o=void 0}let i;r.runtimes?.[e.type]?.minVersion!==void 0?i=r.runtimes[e.type].minVersion:e.type==="node"&&o!==void 0?i=o:i=c[e.type],e.major<i&&(t.logger.error(`cerebro requires ${e.type} version ${i} or higher. You have ${e.type} ${e.version}. Read our version support policy: https://github.com/visulima/visulima#supported-runtimes`),d(1)),t.logger.debug(`Runtime version check passed: ${e.type} ${e.version} >= ${i}`)},"init"),name:"runtime-version-check",version:"1.0.0"}),"runtimeVersionCheckPlugin");export{b as runtimeVersionCheckPlugin};
@@ -0,0 +1,21 @@
1
+ import { P as Plugin } from '../../packem_shared/plugin-manager-BjEuiNxv.js';
2
+ import '@visulima/tabular';
3
+
4
+ type UpdateNotifierOptions = {
5
+ alwaysRun?: boolean;
6
+ debug?: boolean;
7
+ distTag?: string;
8
+ pkg: {
9
+ name: string;
10
+ version: string;
11
+ };
12
+ registryUrl?: string;
13
+ shouldNotifyInNpmScript?: boolean;
14
+ updateCheckInterval?: number;
15
+ };
16
+
17
+ type UpdateNotifierPluginOptions = Partial<Omit<UpdateNotifierOptions, "debug" | "pkg">>;
18
+ declare const updateNotifierPlugin: (options?: UpdateNotifierPluginOptions) => Plugin;
19
+
20
+ export { updateNotifierPlugin };
21
+ export type { UpdateNotifierPluginOptions };
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty;var I=(t,r)=>m(t,"name",{value:r,configurable:!0});import{d as A}from"../../packem_shared/runtime-process-G-n-wOub.js";var i={},c,U;function l(){return U||(U=1,c=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]),c}I(l,"requireVendors");var L;function d(){return L||(L=1,(function(t){var r=Object.defineProperty,E=I((n,a)=>r(n,"name",{value:a,configurable:!0}),"t");const s=l(),e=process.env;Object.defineProperty(t,"_vendors",{value:s.map(function(n){return n.constant})}),t.name=null,t.isPR=null,t.id=null,e.CI!=="false"&&s.forEach(function(n){const a=(Array.isArray(n.env)?n.env:[n.env]).every(function(R){return o(R)});t[n.constant]=a,a&&(t.name=n.name,t.isPR=_(n),t.id=n.constant)}),t.isCI=!!(e.CI!=="false"&&(e.BUILD_ID||e.BUILD_NUMBER||e.CI||e.CI_APP_ID||e.CI_BUILD_ID||e.CI_BUILD_NUMBER||e.CI_NAME||e.CONTINUOUS_INTEGRATION||e.RUN_ID||t.name));function o(n){return typeof n=="string"?!!e[n]:"env"in n?e[n.env]&&e[n.env].includes(n.includes):"any"in n?n.any.some(function(a){return!!e[a]}):Object.keys(n).every(function(a){return e[a]===n[a]})}I(o,"checkEnv"),E(o,"checkEnv");function _(n){switch(typeof n.pr){case"string":return!!e[n.pr];case"object":return"env"in n.pr?"any"in n.pr?n.pr.any.some(function(a){return e[n.pr.env]===a}):n.pr.env in e&&e[n.pr.env]!==n.pr.ne:"any"in n.pr?n.pr.any.some(function(a){return!!e[a]}):o(n.pr);default:return null}}I(_,"checkPR"),E(_,"checkPR")})(i)),i}I(d,"requireCiInfo");var P=d(),O=Object.defineProperty,C=I((t,r)=>O(t,"name",{value:r,configurable:!0}),"i");const f=C((t={})=>({beforeCommand:C(async r=>{const{logger:E,runtime:s}=r,e=s.getPackageName(),o=s.getPackageVersion();if(!e||!o){E.debug("Update notifier: package name or version not provided, skipping...");return}const _=A(),n={alwaysRun:!1,debug:_.CEREBRO_OUTPUT_LEVEL==="256",distTag:"latest",pkg:{name:e,version:o},updateCheckInterval:1e3*60*60*24,...t};if(!(n.alwaysRun||!(_.NO_UPDATE_NOTIFIER||_.NODE_ENV==="test"||r.argv.includes("--no-update-notifier")||P.isCI))){E.debug("Update notifier: skipping check (disabled by environment or flags)");return}(E?.raw??E.log)("Checking for updates...");try{const a=await(await import("../../packem_chunks/has-new-version.js").then(R=>R.default))(n);if(a){const[{boxen:R},{dim:v,green:u,reset:T,yellow:D}]=await Promise.all([import("@visulima/boxen"),import("@visulima/colorize")]),p=`Update available ${v(o.toString())}${T(" → ")}${u(a)}`;E.error(R(p,{borderColor:C(S=>D(S),"borderColor"),borderStyle:"round",margin:1,padding:1,textAlignment:"center"}))}}catch(a){E.debug("Update notifier: failed to check for updates",a)}},"beforeCommand"),description:"Checks for package updates and notifies users",name:"update-notifier",version:"1.0.0"}),"updateNotifierPlugin");export{f as updateNotifierPlugin};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@visulima/cerebro",
3
- "version": "1.1.58",
4
- "description": "A delightful toolkit for building Node-powered CLIs.",
3
+ "version": "2.0.1",
4
+ "description": "A delightful toolkit for building cross-runtime CLIs for Node.js, Deno, and Bun.",
5
5
  "keywords": [
6
6
  "command",
7
7
  "line",
@@ -58,27 +58,43 @@
58
58
  "type": "module",
59
59
  "exports": {
60
60
  ".": {
61
- "import": {
62
- "types": "./dist/index.d.mts",
63
- "default": "./dist/index.mjs"
64
- },
65
- "require": {
66
- "types": "./dist/index.d.cts",
67
- "default": "./dist/index.cjs"
68
- }
61
+ "types": "./dist/index.d.ts",
62
+ "default": "./dist/index.js"
63
+ },
64
+ "./command/help": {
65
+ "types": "./dist/commands/help-command.d.ts",
66
+ "default": "./dist/commands/help-command.js"
67
+ },
68
+ "./command/version": {
69
+ "types": "./dist/commands/version-command.d.ts",
70
+ "default": "./dist/commands/version-command.js"
71
+ },
72
+ "./command/completion": {
73
+ "types": "./dist/commands/completion-command.d.ts",
74
+ "default": "./dist/commands/completion-command.js"
75
+ },
76
+ "./command/readme-generator": {
77
+ "types": "./dist/commands/readme-command.d.ts",
78
+ "default": "./dist/commands/readme-command.js"
79
+ },
80
+ "./plugins/error-handler": {
81
+ "types": "./dist/plugins/error-handler-plugin.d.ts",
82
+ "default": "./dist/plugins/error-handler-plugin.js"
83
+ },
84
+ "./plugins/runtime-version-check": {
85
+ "types": "./dist/plugins/runtime-version-check-plugin.d.ts",
86
+ "default": "./dist/plugins/runtime-version-check-plugin.js"
87
+ },
88
+ "./plugins/update-notifier": {
89
+ "types": "./dist/plugins/update-notifier/update-notifier-plugin.d.ts",
90
+ "default": "./dist/plugins/update-notifier/update-notifier-plugin.js"
91
+ },
92
+ "./logger/pail": {
93
+ "types": "./dist/logger/create-pail-logger.d.ts",
94
+ "default": "./dist/logger/create-pail-logger.js"
69
95
  },
70
96
  "./package.json": "./package.json"
71
97
  },
72
- "main": "dist/index.cjs",
73
- "module": "dist/index.mjs",
74
- "types": "dist/index.d.ts",
75
- "typesVersions": {
76
- ">=5.0": {
77
- ".": [
78
- "./dist/index.d.ts"
79
- ]
80
- }
81
- },
82
98
  "files": [
83
99
  "dist",
84
100
  "README.md",
@@ -86,16 +102,36 @@
86
102
  "LICENSE.md"
87
103
  ],
88
104
  "dependencies": {
89
- "@visulima/boxen": "2.0.6",
90
- "@visulima/colorize": "1.4.25",
91
- "@visulima/find-cache-dir": "2.0.2",
92
- "@visulima/pail": "3.0.2",
93
- "cli-table3": "^0.6.5",
94
- "command-line-args": "^6.0.1",
105
+ "@visulima/colorize": "1.4.26",
106
+ "@visulima/tabular": "3.1.0",
95
107
  "fastest-levenshtein": "^1.0.16"
96
108
  },
109
+ "peerDependencies": {
110
+ "@bomb.sh/tab": "^0.0.7",
111
+ "github-slugger": "2.0.0",
112
+ "@visulima/boxen": "2.0.7",
113
+ "@visulima/find-cache-dir": "2.0.3",
114
+ "@visulima/pail": "3.0.3"
115
+ },
116
+ "peerDependenciesMeta": {
117
+ "@bomb.sh/tab": {
118
+ "optional": true
119
+ },
120
+ "@visulima/find-cache-dir": {
121
+ "optional": true
122
+ },
123
+ "@visulima/boxen": {
124
+ "optional": true
125
+ },
126
+ "@visulima/pail": {
127
+ "optional": true
128
+ },
129
+ "github-slugger": {
130
+ "optional": true
131
+ }
132
+ },
97
133
  "engines": {
98
- "node": ">=18.0.0 <=25.x"
134
+ "node": ">=20.19 <=25.x"
99
135
  },
100
136
  "os": [
101
137
  "darwin",
package/dist/index.cjs DELETED
@@ -1 +0,0 @@
1
- "use strict";const e=require("./packem_shared/default-DpvcDeMt.cjs");module.exports=e.Cli;
package/dist/index.d.cts DELETED
@@ -1,158 +0,0 @@
1
- import { OptionDefinition as OptionDefinition$1 } from 'command-line-args';
2
- import { TableConstructorOptions } from 'cli-table3';
3
- import { Pail } from '@visulima/pail/server';
4
- import { ConstructorOptions } from '@visulima/pail';
5
-
6
- type UpdateNotifierOptions = {
7
- alwaysRun?: boolean;
8
- debug?: boolean;
9
- distTag?: string;
10
- pkg: {
11
- name: string;
12
- version: string;
13
- };
14
- registryUrl?: string;
15
- shouldNotifyInNpmScript?: boolean;
16
- updateCheckInterval?: number;
17
- };
18
-
19
- interface Content {
20
- content?: string[] | string[][] | string | {
21
- data: string[];
22
- options: TableConstructorOptions;
23
- };
24
- header?: string;
25
- raw?: boolean;
26
- }
27
-
28
- type Options = Record<string, any>;
29
-
30
- interface Toolbox extends Cerebro.ExtensionOverrides {
31
- argument: string[];
32
- argv: Record<string, any>;
33
- command: Command;
34
- commandName: string;
35
- logger: Pail;
36
- options: Options;
37
- runtime: Cli$1;
38
- }
39
-
40
- type TypeConstructor<T> = (value: any) => T extends (infer R)[] ? R | undefined : T | undefined;
41
- type MultiplePropertyOptions<T> = any[] extends T ? {
42
- lazyMultiple: true;
43
- } | {
44
- multiple: true;
45
- } : unknown;
46
- type OptionDefinition<T> = MultiplePropertyOptions<T> & Omit<OptionDefinition$1, "type|defaultValue"> & {
47
- conflicts?: string[] | string;
48
- defaultValue?: T | undefined;
49
- description?: string | undefined;
50
- hidden?: boolean;
51
- implies?: Record<string, any>;
52
- required?: boolean;
53
- type?: TypeConstructor<T> | undefined;
54
- typeLabel?: string | undefined;
55
- };
56
- type ArgumentDefinition<T = any> = Omit<OptionDefinition<T>, "multiple|lazyMultiple|defaultOption|alias|group|defaultValue">;
57
- interface Command<O extends OptionDefinition<any> = any, TContext extends Toolbox = Toolbox> {
58
- alias?: string[] | string;
59
- argument?: ArgumentDefinition;
60
- commandPath?: string[];
61
- description?: string;
62
- examples?: string[] | string[][];
63
- execute: ((toolbox: TContext) => Promise<void>) | ((toolbox: TContext) => void);
64
- file?: string;
65
- group?: string;
66
- hidden?: boolean;
67
- name: string;
68
- options?: (O | OptionDefinition<boolean[]> | OptionDefinition<boolean> | OptionDefinition<number[]> | OptionDefinition<number> | OptionDefinition<string[]> | OptionDefinition<string>)[];
69
- usage?: Content[];
70
- }
71
-
72
- type ExtensionSetup = (toolbox: Toolbox) => Promise<void> | void;
73
- interface Extension {
74
- description?: string;
75
- execute: ExtensionSetup;
76
- file?: string;
77
- name: string;
78
- }
79
-
80
- type CommandSection = {
81
- footer?: string;
82
- header?: string;
83
- };
84
- type CliRunOptions = {
85
- [key: string]: any;
86
- shouldExitProcess?: boolean;
87
- };
88
- interface Cli$1 {
89
- addCommand: <OD extends OptionDefinition<any> = any>(command: Command<OD>) => this;
90
- addExtension: (extension: Extension) => this;
91
- enableUpdateNotifier: ({ alwaysRun, distTag, updateCheckInterval }: Partial<Omit<UpdateNotifierOptions, "debug | pkg">>) => this;
92
- getCliName: () => string;
93
- getCommands: () => Map<string, Command>;
94
- getCommandSection: () => CommandSection;
95
- getCwd: () => string;
96
- getPackageName: () => string | undefined;
97
- getPackageVersion: () => string | undefined;
98
- run: (extraOptions: CliRunOptions) => Promise<void>;
99
- setCommandSection: (commandSection: CommandSection) => this;
100
- setDefaultCommand: (commandName: string) => this;
101
- }
102
-
103
- declare global {
104
- namespace Cerebro {
105
- interface ExtensionOverrides {
106
- }
107
- }
108
- }
109
-
110
- type CliOptions = {
111
- argv?: string[];
112
- cwd?: string;
113
- logger?: ConstructorOptions<string, string>;
114
- packageName?: string;
115
- packageVersion?: string;
116
- };
117
- declare class Cli implements Cli$1 {
118
- private readonly logger;
119
- private readonly argv;
120
- private readonly cwd;
121
- private readonly cliName;
122
- private readonly packageVersion;
123
- private readonly packageName;
124
- private readonly extensions;
125
- private readonly commands;
126
- private defaultCommand;
127
- private updateNotifierOptions;
128
- private commandSection;
129
- constructor(cliName: string, options?: CliOptions);
130
- setCommandSection(commandSection: CommandSection): this;
131
- getCommandSection(): CommandSection;
132
- setDefaultCommand(commandName: string): this;
133
- addCommand<OD extends OptionDefinition<any> = any>(command: Command<OD>): this;
134
- addExtension(extension: Extension): this;
135
- enableUpdateNotifier(options?: Partial<Omit<UpdateNotifierOptions, "debug | pkg">>): this;
136
- getCliName(): string;
137
- getPackageVersion(): string | undefined;
138
- getPackageName(): string | undefined;
139
- getCommands(): Map<string, Command>;
140
- getCwd(): string;
141
- run(extraOptions?: CliRunOptions): Promise<void>;
142
- private validateDoubleOptions;
143
- private addCoreExtensions;
144
- private prepareToolboxResult;
145
- private updateNotifier;
146
- private validateCommandOptions;
147
- private validateCommandArgsForConflicts;
148
- private addNegatableOption;
149
- private registerExtensions;
150
- private mapNegatableOptions;
151
- private mapImpliesOptions;
152
- }
153
-
154
- type OutputType = 1 | 2 | 4;
155
- type VERBOSITY_LEVEL = 16 | 32 | 64 | 128 | 256;
156
-
157
- export = Cli;
158
- export type { ArgumentDefinition, Cli$1 as Cli, CliOptions, Command, Extension, OptionDefinition, OutputType, Toolbox, VERBOSITY_LEVEL };
package/dist/index.d.mts DELETED
@@ -1,158 +0,0 @@
1
- import { OptionDefinition as OptionDefinition$1 } from 'command-line-args';
2
- import { TableConstructorOptions } from 'cli-table3';
3
- import { Pail } from '@visulima/pail/server';
4
- import { ConstructorOptions } from '@visulima/pail';
5
-
6
- type UpdateNotifierOptions = {
7
- alwaysRun?: boolean;
8
- debug?: boolean;
9
- distTag?: string;
10
- pkg: {
11
- name: string;
12
- version: string;
13
- };
14
- registryUrl?: string;
15
- shouldNotifyInNpmScript?: boolean;
16
- updateCheckInterval?: number;
17
- };
18
-
19
- interface Content {
20
- content?: string[] | string[][] | string | {
21
- data: string[];
22
- options: TableConstructorOptions;
23
- };
24
- header?: string;
25
- raw?: boolean;
26
- }
27
-
28
- type Options = Record<string, any>;
29
-
30
- interface Toolbox extends Cerebro.ExtensionOverrides {
31
- argument: string[];
32
- argv: Record<string, any>;
33
- command: Command;
34
- commandName: string;
35
- logger: Pail;
36
- options: Options;
37
- runtime: Cli$1;
38
- }
39
-
40
- type TypeConstructor<T> = (value: any) => T extends (infer R)[] ? R | undefined : T | undefined;
41
- type MultiplePropertyOptions<T> = any[] extends T ? {
42
- lazyMultiple: true;
43
- } | {
44
- multiple: true;
45
- } : unknown;
46
- type OptionDefinition<T> = MultiplePropertyOptions<T> & Omit<OptionDefinition$1, "type|defaultValue"> & {
47
- conflicts?: string[] | string;
48
- defaultValue?: T | undefined;
49
- description?: string | undefined;
50
- hidden?: boolean;
51
- implies?: Record<string, any>;
52
- required?: boolean;
53
- type?: TypeConstructor<T> | undefined;
54
- typeLabel?: string | undefined;
55
- };
56
- type ArgumentDefinition<T = any> = Omit<OptionDefinition<T>, "multiple|lazyMultiple|defaultOption|alias|group|defaultValue">;
57
- interface Command<O extends OptionDefinition<any> = any, TContext extends Toolbox = Toolbox> {
58
- alias?: string[] | string;
59
- argument?: ArgumentDefinition;
60
- commandPath?: string[];
61
- description?: string;
62
- examples?: string[] | string[][];
63
- execute: ((toolbox: TContext) => Promise<void>) | ((toolbox: TContext) => void);
64
- file?: string;
65
- group?: string;
66
- hidden?: boolean;
67
- name: string;
68
- options?: (O | OptionDefinition<boolean[]> | OptionDefinition<boolean> | OptionDefinition<number[]> | OptionDefinition<number> | OptionDefinition<string[]> | OptionDefinition<string>)[];
69
- usage?: Content[];
70
- }
71
-
72
- type ExtensionSetup = (toolbox: Toolbox) => Promise<void> | void;
73
- interface Extension {
74
- description?: string;
75
- execute: ExtensionSetup;
76
- file?: string;
77
- name: string;
78
- }
79
-
80
- type CommandSection = {
81
- footer?: string;
82
- header?: string;
83
- };
84
- type CliRunOptions = {
85
- [key: string]: any;
86
- shouldExitProcess?: boolean;
87
- };
88
- interface Cli$1 {
89
- addCommand: <OD extends OptionDefinition<any> = any>(command: Command<OD>) => this;
90
- addExtension: (extension: Extension) => this;
91
- enableUpdateNotifier: ({ alwaysRun, distTag, updateCheckInterval }: Partial<Omit<UpdateNotifierOptions, "debug | pkg">>) => this;
92
- getCliName: () => string;
93
- getCommands: () => Map<string, Command>;
94
- getCommandSection: () => CommandSection;
95
- getCwd: () => string;
96
- getPackageName: () => string | undefined;
97
- getPackageVersion: () => string | undefined;
98
- run: (extraOptions: CliRunOptions) => Promise<void>;
99
- setCommandSection: (commandSection: CommandSection) => this;
100
- setDefaultCommand: (commandName: string) => this;
101
- }
102
-
103
- declare global {
104
- namespace Cerebro {
105
- interface ExtensionOverrides {
106
- }
107
- }
108
- }
109
-
110
- type CliOptions = {
111
- argv?: string[];
112
- cwd?: string;
113
- logger?: ConstructorOptions<string, string>;
114
- packageName?: string;
115
- packageVersion?: string;
116
- };
117
- declare class Cli implements Cli$1 {
118
- private readonly logger;
119
- private readonly argv;
120
- private readonly cwd;
121
- private readonly cliName;
122
- private readonly packageVersion;
123
- private readonly packageName;
124
- private readonly extensions;
125
- private readonly commands;
126
- private defaultCommand;
127
- private updateNotifierOptions;
128
- private commandSection;
129
- constructor(cliName: string, options?: CliOptions);
130
- setCommandSection(commandSection: CommandSection): this;
131
- getCommandSection(): CommandSection;
132
- setDefaultCommand(commandName: string): this;
133
- addCommand<OD extends OptionDefinition<any> = any>(command: Command<OD>): this;
134
- addExtension(extension: Extension): this;
135
- enableUpdateNotifier(options?: Partial<Omit<UpdateNotifierOptions, "debug | pkg">>): this;
136
- getCliName(): string;
137
- getPackageVersion(): string | undefined;
138
- getPackageName(): string | undefined;
139
- getCommands(): Map<string, Command>;
140
- getCwd(): string;
141
- run(extraOptions?: CliRunOptions): Promise<void>;
142
- private validateDoubleOptions;
143
- private addCoreExtensions;
144
- private prepareToolboxResult;
145
- private updateNotifier;
146
- private validateCommandOptions;
147
- private validateCommandArgsForConflicts;
148
- private addNegatableOption;
149
- private registerExtensions;
150
- private mapNegatableOptions;
151
- private mapImpliesOptions;
152
- }
153
-
154
- type OutputType = 1 | 2 | 4;
155
- type VERBOSITY_LEVEL = 16 | 32 | 64 | 128 | 256;
156
-
157
- export { Cli as default };
158
- export type { ArgumentDefinition, Cli$1 as Cli, CliOptions, Command, Extension, OptionDefinition, OutputType, Toolbox, VERBOSITY_LEVEL };
package/dist/index.mjs DELETED
@@ -1 +0,0 @@
1
- import{Cli as f}from"./packem_shared/default-BkkIk32s.mjs";export{f as default};
@@ -1 +0,0 @@
1
- "use strict";var Kt=Object.defineProperty;var P=(s,a)=>Kt(s,"name",{value:a,configurable:!0});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("node:fs"),Qt=require("@visulima/find-cache-dir"),Xt=require("node:https");var Yt=Object.defineProperty,en=P((s,a)=>Yt(s,"name",{value:a,configurable:!0}),"o$1");const tn=en((s,a)=>{const u=s.split(".").map(Number),f=a.split(".").map(Number);for(const[g,d]of u.entries()){if(d>f[g])return!0;if(d<f[g])return!1}return!1},"semverGt");var nn=Object.defineProperty,rn=P((s,a)=>nn(s,"name",{value:a,configurable:!0}),"$e"),on=Object.defineProperty,V=rn((s,a)=>on(s,"name",{value:a,configurable:!0}),"W"),sn=Object.defineProperty,l=V((s,a)=>sn(s,"name",{value:a,configurable:!0}),"u$1");let xe=l(()=>{var s=(()=>{var a=Object.defineProperty,u=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,d=l((e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},"ne"),$=l((e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of f(t))!g.call(e,r)&&r!==n&&a(e,r,{get:l(()=>t[r],"get"),enumerable:!(o=u(t,r))||o.enumerable});return e},"ae"),x=l(e=>$(a({},"__esModule",{value:!0}),e),"oe"),b={};d(b,{zeptomatch:l(()=>de,"zeptomatch")});var K=l(e=>{const t=new Set,n=[e];for(let o=0;o<n.length;o++){const r=n[o];if(t.has(r))continue;t.add(r);const{children:i}=r;if(i?.length)for(let c=0,h=i.length;c<h;c++)n.push(i[c])}return Array.from(t)},"M"),je=l(e=>{let t="";const n=K(e);for(let o=0,r=n.length;o<r;o++){const i=n[o];if(!i.regex)continue;const c=i.regex.flags;if(t||(t=c),t!==c)throw new Error(`Inconsistent RegExp flags used: "${t}" and "${c}"`)}return t},"se"),Q=l((e,t,n)=>{const o=n.get(e);if(o!==void 0)return o;const r=e.partial??t;let i="";if(e.regex&&(i+=r?"(?:$|":"",i+=e.regex.source),e.children?.length){const c=Oe(e.children.map(h=>Q(h,t,n)).filter(Boolean));if(c?.length){const h=e.children.some(N=>!N.regex||!(N.partial??t)),v=c.length>1||r&&(!i.length||h);i+=v?r?"(?:$|":"(?:":"",i+=c.join("|"),i+=v?")":""}}return e.regex&&(i+=r?")":""),n.set(e,i),i},"O"),ke=l((e,t)=>{const n=new Map,o=K(e);for(let r=o.length-1;r>=0;r--){const i=Q(o[r],t,n);if(!(r>0))return i}return""},"ie"),Oe=l(e=>Array.from(new Set(e)),"ue"),q=l((e,t,n)=>q.compile(e,n).test(t),"R");q.compile=(e,t)=>{const n=t?.partial??!1,o=ke(e,n),r=je(e);return new RegExp(`^(?:${o})$`,r)};var Me=q,Ae=l((e,t)=>{const n=Me.compile(e,t),o=`${n.source.slice(0,-1)}[\\\\/]?$`,r=n.flags;return new RegExp(o,r)},"le"),Ee=Ae,ze=l(e=>{const t=e.map(o=>o.source).join("|")||"$^",n=e[0]?.flags;return new RegExp(t,n)},"ve"),Se=ze,X=l(e=>Array.isArray(e),"j"),C=l(e=>typeof e=="function","_"),_e=l(e=>e.length===0,"he"),Pe=(()=>{const{toString:e}=Function.prototype,t=/(?:^\(\s*(?:[^,.()]|\.(?!\.\.))*\s*\)\s*=>|^\s*[a-zA-Z$_][a-zA-Z0-9$_]*\s*=>)/;return n=>(n.length===0||n.length===1)&&t.test(e.call(n))})(),Ce=l(e=>typeof e=="number","de"),Ie=l(e=>typeof e=="object"&&e!==null,"xe"),Ne=l(e=>e instanceof RegExp,"me"),Re=(()=>{const e=/\\\(|\((?!\?(?::|=|!|<=|<!))/;return t=>e.test(t.source)})(),Ue=(()=>{const e=/^[a-zA-Z0-9_-]+$/;return t=>e.test(t.source)&&!t.flags.includes("i")})(),Y=l(e=>typeof e=="string","A"),k=l(e=>e===void 0,"f"),Be=l(e=>{const t=new Map;return n=>{const o=t.get(n);if(o!==void 0)return o;const r=e(n);return t.set(n,r),r}},"ye"),ee=l((e,t,n={})=>{const o={cache:{},input:e,index:0,indexBacktrackMax:0,options:n,output:[]},r=O(t)(o),i=Math.max(o.index,o.indexBacktrackMax);if(r&&o.index===e.length)return o.output;throw new Error(`Failed to parse at index ${i}`)},"I"),p=l((e,t)=>X(e)?Le(e,t):Y(e)?te(e,t):qe(e,t),"i"),Le=l((e,t)=>{const n={};for(const o of e){if(o.length!==1)throw new Error(`Invalid character: "${o}"`);const r=o.charCodeAt(0);n[r]=!0}return o=>{const r=o.input;let i=o.index,c=i;for(;c<r.length&&r.charCodeAt(c)in n;)c+=1;if(c>i){if(!k(t)&&!o.options.silent){const h=r.slice(i,c),v=C(t)?t(h,r,`${i}`):t;k(v)||o.output.push(v)}o.index=c}return!0}},"we"),qe=l((e,t)=>{if(Ue(e))return te(e.source,t);{const n=e.source,o=e.flags.replace(/y|$/,"y"),r=new RegExp(n,o);return Re(e)&&C(t)&&!Pe(t)?We(r,t):Ze(r,t)}},"$e"),We=l((e,t)=>n=>{const o=n.index,r=n.input;e.lastIndex=o;const i=e.exec(r);if(i){const c=e.lastIndex;if(!n.options.silent){const h=t(...i,r,`${o}`);k(h)||n.output.push(h)}return n.index=c,!0}else return!1},"Ee"),Ze=l((e,t)=>n=>{const o=n.index,r=n.input;if(e.lastIndex=o,e.test(r)){const i=e.lastIndex;if(!k(t)&&!n.options.silent){const c=C(t)?t(r.slice(o,i),r,`${o}`):t;k(c)||n.output.push(c)}return n.index=i,!0}else return!1},"Ce"),te=l((e,t)=>n=>{const o=n.index,r=n.input;if(r.startsWith(e,o)){if(!k(t)&&!n.options.silent){const i=C(t)?t(e,r,`${o}`):t;k(i)||n.output.push(i)}return n.index+=e.length,!0}else return!1},"F"),W=l((e,t,n,o)=>{const r=O(e),i=t>1;return D(Z(re(c=>{let h=0;for(;h<n;){const v=c.index;if(!r(c)||(h+=1,c.index===v))break}return h>=t},i),o))},"k"),ne=l((e,t)=>W(e,0,1,t),"L"),L=l((e,t)=>W(e,0,1/0,t),"$"),De=l((e,t)=>W(e,1,1/0,t),"Re"),z=l((e,t)=>{const n=e.map(O);return D(Z(re(o=>{for(let r=0,i=n.length;r<i;r++)if(!n[r](o))return!1;return!0}),t))},"x"),w=l((e,t)=>{const n=e.map(O);return D(Z(o=>{for(let r=0,i=n.length;r<i;r++)if(n[r](o))return!0;return!1},t))},"p"),re=l((e,t=!0,n=!1)=>{const o=O(e);return t?r=>{const i=r.index,c=r.output.length,h=o(r);return!h&&!n&&(r.indexBacktrackMax=Math.max(r.indexBacktrackMax,r.index)),(!h||n)&&(r.index=i,r.output.length!==c&&(r.output.length=c)),h}:o},"q"),Z=l((e,t)=>{const n=O(e);return t?o=>{if(o.options.silent)return n(o);const r=o.output.length;if(n(o)){const i=o.output.splice(r,1/0),c=t(i);return k(c)||o.output.push(c),!0}else return!1}:n},"B"),D=(()=>{let e=0;return t=>{const n=O(t),o=e+=1;return r=>{var i;if(r.options.memoization===!1)return n(r);const c=r.index,h=(i=r.cache)[o]||(i[o]={indexMax:-1,queue:[]}),v=h.queue;if(c<=h.indexMax){const R=h.store||(h.store=new Map);if(v.length){for(let _=0,Tt=v.length;_<Tt;_+=2){const Vt=v[_*2],Ht=v[_*2+1];R.set(Vt,Ht)}v.length=0}const j=R.get(c);if(j===!1)return!1;if(Ce(j))return r.index=j,!0;if(j)return r.index=j.index,j.output?.length&&r.output.push(...j.output),!0}const N=r.output.length,Jt=n(r);if(h.indexMax=Math.max(h.indexMax,c),Jt){const R=r.index,j=r.output.length;if(j>N){const _=r.output.slice(N,j);v.push(c,{index:R,output:_})}else v.push(c,R);return!0}else return v.push(c,!1),!1}}})(),oe=l(e=>{let t;return n=>(t||(t=O(e())),t(n))},"G"),O=Be(e=>{if(C(e))return _e(e)?oe(e):e;if(Y(e)||Ne(e))return p(e);if(X(e))return z(e);if(Ie(e))return w(Object.values(e));throw new Error("Invalid rule")}),A=l(e=>e,"d"),Fe=l(e=>typeof e=="string","ke"),Ge=l(e=>{const t=new WeakMap,n=new WeakMap;return(o,r)=>{const i=r?.partial?n:t,c=i.get(o);if(c!==void 0)return c;const h=e(o,r);return i.set(o,h),h}},"Be"),Je=l(e=>{const t={},n={};return(o,r)=>{const i=r?.partial?n:t;return i[o]??(i[o]=e(o,r))}},"Pe"),Te=p(/\\./,A),Ve=p(/./,A),He=p(/\*\*\*+/,"*"),Ke=p(/([^/{[(!])\*\*/,(e,t)=>`${t}*`),Qe=p(/(^|.)\*\*(?=[^*/)\]}])/,(e,t)=>`${t}*`),Xe=L(w([Te,He,Ke,Qe,Ve])),Ye=Xe,et=l(e=>ee(e,Ye,{memoization:!1}).join(""),"Ie"),tt=et,se="abcdefghijklmnopqrstuvwxyz",nt=l(e=>{let t="";for(;e>0;){const n=(e-1)%26;t=se[n]+t,e=Math.floor((e-1)/26)}return t},"Le"),ae=l(e=>{let t=0;for(let n=0,o=e.length;n<o;n++)t=t*26+se.indexOf(e[n])+1;return t},"V"),F=l((e,t)=>{if(t<e)return F(t,e);const n=[];for(;e<=t;)n.push(e++);return n},"b"),rt=l((e,t,n)=>F(e,t).map(o=>String(o).padStart(n,"0")),"qe"),ue=l((e,t)=>F(ae(e),ae(t)).map(nt),"W"),m=l(e=>({partial:!1,regex:new RegExp(e,"s"),children:[]}),"c"),I=l(e=>({children:e}),"y"),S=(()=>{const e=l((t,n,o)=>{if(o.has(t))return;o.add(t);const{children:r}=t;if(!r.length)r.push(n);else for(let i=0,c=r.length;i<c;i++)e(r[i],n,o)},"e");return t=>{if(!t.length)return I([]);for(let n=t.length-1;n>=1;n--){const o=new Set,r=t[n-1],i=t[n];e(r,i,o)}return t[0]}})(),M=l(()=>({regex:new RegExp("[\\\\/]","s"),children:[]}),"g"),ot=p(/\\./,m),st=p(/[$.*+?^(){}[\]\|]/,e=>m(`\\${e}`)),at=p(/[\\\/]/,M),ut=p(/[^$.*+?^(){}[\]\|\\\/]+/,m),it=p(/^(?:!!)*!(.*)$/,(e,t)=>m(`(?!^${de.compile(t).source}$).*?`)),lt=p(/^(!!)+/),ct=w([it,lt]),ft=p(/\/(\*\*\/)+/,()=>I([S([M(),m(".+?"),M()]),M()])),pt=p(/^(\*\*\/)+/,()=>I([m("^"),S([m(".*?"),M()])])),ht=p(/\/(\*\*)$/,()=>I([S([M(),m(".*?")]),m("$")])),gt=p(/\*\*/,()=>m(".*?")),ie=w([ft,pt,ht,gt]),dt=p(/\*\/(?!\*\*\/|\*$)/,()=>S([m("[^\\\\/]*?"),M()])),xt=p(/\*/,()=>m("[^\\\\/]*")),le=w([dt,xt]),ce=p("?",()=>m("[^\\\\/]")),mt=p("[",A),$t=p("]",A),vt=p(/[!^]/,"^\\\\/"),yt=p(/[a-z]-[a-z]|[0-9]-[0-9]/i,A),bt=p(/\\./,A),wt=p(/[$.*+?^(){}[\|]/,e=>`\\${e}`),jt=p(/[\\\/]/,"\\\\/"),kt=p(/[^$.*+?^(){}[\]\|\\\/]+/,A),Ot=w([bt,wt,jt,yt,kt]),fe=z([mt,ne(vt),L(Ot),$t],e=>m(e.join(""))),Mt=p("{","(?:"),At=p("}",")"),Et=p(/(\d+)\.\.(\d+)/,(e,t,n)=>rt(+t,+n,Math.min(t.length,n.length)).join("|")),zt=p(/([a-z]+)\.\.([a-z]+)/,(e,t,n)=>ue(t,n).join("|")),St=p(/([A-Z]+)\.\.([A-Z]+)/,(e,t,n)=>ue(t.toLowerCase(),n.toLowerCase()).join("|").toUpperCase()),_t=w([Et,zt,St]),pe=z([Mt,_t,At],e=>m(e.join(""))),Pt=p("{"),Ct=p("}"),It=p(","),Nt=p(/\\./,m),Rt=p(/[$.*+?^(){[\]\|]/,e=>m(`\\${e}`)),Ut=p(/[\\\/]/,M),Bt=p(/[^$.*+?^(){}[\]\|\\\/,]+/,m),Lt=oe(()=>ge),qt=p("",()=>m("(?:)")),Wt=De(w([ie,le,ce,fe,pe,Lt,Nt,Rt,Ut,Bt]),S),he=w([Wt,qt]),ge=z([Pt,ne(z([he,L(z([It,he]))])),Ct],I),Zt=L(w([ct,ie,le,ce,fe,pe,ge,ot,st,at,ut]),S),Dt=Zt,Ft=l(e=>ee(e,Dt,{memoization:!1})[0],"kr"),Gt=Ft,G=l((e,t,n)=>G.compile(e,n).test(t),"N");G.compile=(()=>{const e=Je((n,o)=>Ee(Gt(tt(n)),o)),t=Ge((n,o)=>Se(n.map(r=>e(r,o))));return(n,o)=>Fe(n)?e(n,o):t(n,o)})();var de=G;return x(b)})();return s.default||s},"_lazyMatch"),J;const an=l((s,a)=>(J||(J=xe(),xe=null),J(s,a)),"default");var un=Object.defineProperty,ln=V((s,a)=>un(s,"name",{value:a,configurable:!0}),"t");const cn=/^[A-Z]:\//i,E=ln((s="")=>s&&s.replaceAll("\\","/").replace(cn,a=>a.toUpperCase()),"normalizeWindowsPath");var fn=Object.defineProperty,y=V((s,a)=>fn(s,"name",{value:a,configurable:!0}),"r");const pn=/^[/\\]{2}/,hn=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,$e=/^[A-Z]:$/i,me=/^\/([A-Z]:)?$/i,gn=/.(\.[^./]+)$/,dn=/^[/\\]|^[a-z]:[/\\]/i,xn=y(()=>typeof process.cwd=="function"?process.cwd().replaceAll("\\","/"):"/","cwd"),ve=y((s,a)=>{let u="",f=0,g=-1,d=0,$;for(let x=0;x<=s.length;++x){if(x<s.length)$=s[x];else{if($==="/")break;$="/"}if($==="/"){if(!(g===x-1||d===1))if(d===2){if(u.length<2||f!==2||!u.endsWith(".")||u.at(-2)!=="."){if(u.length>2){const b=u.lastIndexOf("/");b===-1?(u="",f=0):(u=u.slice(0,b),f=u.length-1-u.lastIndexOf("/")),g=x,d=0;continue}else if(u.length>0){u="",f=0,g=x,d=0;continue}}a&&(u+=u.length>0?"/..":"..",f=2)}else u.length>0?u+=`/${s.slice(g+1,x)}`:u=s.slice(g+1,x),f=x-g-1;g=x,d=0}else $==="."&&d!==-1?++d:d=-1}return u},"normalizeString"),B=y(s=>hn.test(s),"isAbsolute"),ye=y(function(s){if(s.length===0)return".";s=E(s);const a=pn.exec(s),u=B(s),f=s.at(-1)==="/";return s=ve(s,!u),s.length===0?u?"/":f?"./":".":(f&&(s+="/"),$e.test(s)&&(s+="/"),a?u?`//${s}`:`//./${s}`:u&&!B(s)?`/${s}`:s)},"normalize"),mn=y((...s)=>{let a="";for(const u of s)if(u)if(a.length>0){const f=a[a.length-1]==="/",g=u[0]==="/";f&&g?a+=u.slice(1):a+=f||g?u:`/${u}`}else a+=u;return ye(a)},"join"),T=y(function(...s){s=s.map(f=>E(f));let a="",u=!1;for(let f=s.length-1;f>=-1&&!u;f--){const g=f>=0?s[f]:xn();!g||g.length===0||(a=`${g}/${a}`,u=B(g))}return a=ve(a,!u),u&&!B(a)?`/${a}`:a.length>0?a:"."},"resolve");y(function(s){return E(s)},"toNamespacedPath");const $n=y(function(s){return gn.exec(E(s))?.[1]??""},"extname");y(function(s,a){const u=T(s).replace(me,"$1").split("/"),f=T(a).replace(me,"$1").split("/");if(f[0][1]===":"&&u[0][1]===":"&&u[0]!==f[0])return f.join("/");const g=[...u];for(const d of g){if(f[0]!==d)break;u.shift(),f.shift()}return[...u.map(()=>".."),...f].join("/")},"relative");const be=y(s=>{const a=E(s).replace(/\/$/,"").split("/").slice(0,-1);return a.length===1&&$e.test(a[0])&&(a[0]+="/"),a.join("/")||(B(s)?"/":".")},"dirname");y(function(s){const a=[s.root,s.dir,s.base??s.name+s.ext].filter(Boolean);return E(s.root?T(...a):a.join("/"))},"format");const vn=y((s,a)=>{const u=E(s).split("/").pop();return a&&u.endsWith(a)?u.slice(0,-a.length):u},"basename");y(function(s){const a=dn.exec(s)?.[0]?.replaceAll("\\","/")??"",u=vn(s),f=$n(u);return{base:u,dir:be(s),ext:f,name:u.slice(0,u.length-f.length),root:a}},"parse");y((s,a)=>an(a,ye(s)),"matchesGlob");var yn=Object.defineProperty,H=P((s,a)=>yn(s,"name",{value:a,configurable:!0}),"r");const bn="last-update-check.json",we=H(s=>{const a=Qt.findCacheDirSync(s);if(a===void 0)throw new Error("Could not find cache directory");return mn(a,bn)},"getConfigFile"),wn=H(s=>{const a=we(s);try{if(!U.existsSync(a))return;const{lastUpdateCheck:u}=JSON.parse(U.readFileSync(a,"utf8"));return u}catch{return}},"getLastUpdate"),jn=H(s=>{const a=we(s),u=be(a);U.existsSync(u)||U.mkdirSync(u,{recursive:!0}),U.writeFileSync(a,JSON.stringify({lastUpdateCheck:Date.now()}))},"saveLastUpdate");var kn=Object.defineProperty,On=P((s,a)=>kn(s,"name",{value:a,configurable:!0}),"g");const Mn=On(async(s,a,u)=>{const f=u.replace("__NAME__",s);return await new Promise((g,d)=>{Xt.get(f,$=>{let x="";$.on("data",b=>x+=b),$.on("end",()=>{try{const b=JSON.parse(x)[a];b||d(new Error("Error getting version")),g(b)}catch{d(new Error("Could not parse version response"))}})}).on("error",$=>d($))})},"getDistributionVersion");var An=Object.defineProperty,En=P((s,a)=>An(s,"name",{value:a,configurable:!0}),"i");const zn=En(async({alwaysRun:s,debug:a,distTag:u="latest",pkg:f,registryUrl:g="https://registry.npmjs.org/-/package/__NAME__/dist-tags",updateCheckInterval:d=1e3*60*60*24})=>{const $=wn(f.name);if(s||!$||$<Date.now()-d){const x=await Mn(f.name,u,g);if(jn(f.name),tn(x,f.version))return x;a&&console.error(`Latest version (${x}) not newer than current version (${f.version})`)}else a&&console.error(`Too recent to check for a new update. simpleUpdateNotifier() interval set to ${d}ms but only ${Date.now()-$}ms since last check.`);return null},"hasNewVersion");exports.default=zn;
@@ -1 +0,0 @@
1
- var Xt=Object.defineProperty;var A=(o,a)=>Xt(o,"name",{value:a,configurable:!0});import{createRequire as Yt}from"node:module";import{findCacheDirSync as on}from"@visulima/find-cache-dir";const en=Yt(import.meta.url),B=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,$e=A(o=>{if(typeof B<"u"&&B.versions&&B.versions.node){const[a,i]=B.versions.node.split(".").map(Number);if(a>22||a===22&&i>=3||a===20&&i>=16)return B.getBuiltinModule(o)}return en(o)},"__cjs_getBuiltinModule"),{existsSync:ve,mkdirSync:tn,writeFileSync:nn,readFileSync:rn}=$e("node:fs"),{get:sn}=$e("node:https");var an=Object.defineProperty,cn=A((o,a)=>an(o,"name",{value:a,configurable:!0}),"o$1");const un=cn((o,a)=>{const i=o.split(".").map(Number),f=a.split(".").map(Number);for(const[h,d]of i.entries()){if(d>f[h])return!0;if(d<f[h])return!1}return!1},"semverGt");var ln=Object.defineProperty,fn=A((o,a)=>ln(o,"name",{value:a,configurable:!0}),"$e"),pn=Object.defineProperty,V=fn((o,a)=>pn(o,"name",{value:a,configurable:!0}),"W"),gn=Object.defineProperty,u=V((o,a)=>gn(o,"name",{value:a,configurable:!0}),"u$1");let me=u(()=>{var o=(()=>{var a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,h=Object.prototype.hasOwnProperty,d=u((e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},"ne"),$=u((e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of f(t))!h.call(e,r)&&r!==n&&a(e,r,{get:u(()=>t[r],"get"),enumerable:!(s=i(t,r))||s.enumerable});return e},"ae"),m=u(e=>$(a({},"__esModule",{value:!0}),e),"oe"),y={};d(y,{zeptomatch:u(()=>de,"zeptomatch")});var K=u(e=>{const t=new Set,n=[e];for(let s=0;s<n.length;s++){const r=n[s];if(t.has(r))continue;t.add(r);const{children:c}=r;if(c?.length)for(let l=0,g=c.length;l<g;l++)n.push(c[l])}return Array.from(t)},"M"),ke=u(e=>{let t="";const n=K(e);for(let s=0,r=n.length;s<r;s++){const c=n[s];if(!c.regex)continue;const l=c.regex.flags;if(t||(t=l),t!==l)throw new Error(`Inconsistent RegExp flags used: "${t}" and "${l}"`)}return t},"se"),Q=u((e,t,n)=>{const s=n.get(e);if(s!==void 0)return s;const r=e.partial??t;let c="";if(e.regex&&(c+=r?"(?:$|":"",c+=e.regex.source),e.children?.length){const l=Oe(e.children.map(g=>Q(g,t,n)).filter(Boolean));if(l?.length){const g=e.children.some(N=>!N.regex||!(N.partial??t)),v=l.length>1||r&&(!c.length||g);c+=v?r?"(?:$|":"(?:":"",c+=l.join("|"),c+=v?")":""}}return e.regex&&(c+=r?")":""),n.set(e,c),c},"O"),Me=u((e,t)=>{const n=new Map,s=K(e);for(let r=s.length-1;r>=0;r--){const c=Q(s[r],t,n);if(!(r>0))return c}return""},"ie"),Oe=u(e=>Array.from(new Set(e)),"ue"),q=u((e,t,n)=>q.compile(e,n).test(t),"R");q.compile=(e,t)=>{const n=t?.partial??!1,s=Me(e,n),r=ke(e);return new RegExp(`^(?:${s})$`,r)};var Ae=q,Ee=u((e,t)=>{const n=Ae.compile(e,t),s=`${n.source.slice(0,-1)}[\\\\/]?$`,r=n.flags;return new RegExp(s,r)},"le"),ze=Ee,Pe=u(e=>{const t=e.map(s=>s.source).join("|")||"$^",n=e[0]?.flags;return new RegExp(t,n)},"ve"),Se=Pe,X=u(e=>Array.isArray(e),"j"),C=u(e=>typeof e=="function","_"),Ce=u(e=>e.length===0,"he"),Ie=(()=>{const{toString:e}=Function.prototype,t=/(?:^\(\s*(?:[^,.()]|\.(?!\.\.))*\s*\)\s*=>|^\s*[a-zA-Z$_][a-zA-Z0-9$_]*\s*=>)/;return n=>(n.length===0||n.length===1)&&t.test(e.call(n))})(),Ne=u(e=>typeof e=="number","de"),Re=u(e=>typeof e=="object"&&e!==null,"xe"),Be=u(e=>e instanceof RegExp,"me"),Ue=(()=>{const e=/\\\(|\((?!\?(?::|=|!|<=|<!))/;return t=>e.test(t.source)})(),Le=(()=>{const e=/^[a-zA-Z0-9_-]+$/;return t=>e.test(t.source)&&!t.flags.includes("i")})(),Y=u(e=>typeof e=="string","A"),_=u(e=>e===void 0,"f"),qe=u(e=>{const t=new Map;return n=>{const s=t.get(n);if(s!==void 0)return s;const r=e(n);return t.set(n,r),r}},"ye"),ee=u((e,t,n={})=>{const s={cache:{},input:e,index:0,indexBacktrackMax:0,options:n,output:[]},r=k(t)(s),c=Math.max(s.index,s.indexBacktrackMax);if(r&&s.index===e.length)return s.output;throw new Error(`Failed to parse at index ${c}`)},"I"),p=u((e,t)=>X(e)?We(e,t):Y(e)?te(e,t):Ze(e,t),"i"),We=u((e,t)=>{const n={};for(const s of e){if(s.length!==1)throw new Error(`Invalid character: "${s}"`);const r=s.charCodeAt(0);n[r]=!0}return s=>{const r=s.input;let c=s.index,l=c;for(;l<r.length&&r.charCodeAt(l)in n;)l+=1;if(l>c){if(!_(t)&&!s.options.silent){const g=r.slice(c,l),v=C(t)?t(g,r,`${c}`):t;_(v)||s.output.push(v)}s.index=l}return!0}},"we"),Ze=u((e,t)=>{if(Le(e))return te(e.source,t);{const n=e.source,s=e.flags.replace(/y|$/,"y"),r=new RegExp(n,s);return Ue(e)&&C(t)&&!Ie(t)?De(r,t):Fe(r,t)}},"$e"),De=u((e,t)=>n=>{const s=n.index,r=n.input;e.lastIndex=s;const c=e.exec(r);if(c){const l=e.lastIndex;if(!n.options.silent){const g=t(...c,r,`${s}`);_(g)||n.output.push(g)}return n.index=l,!0}else return!1},"Ee"),Fe=u((e,t)=>n=>{const s=n.index,r=n.input;if(e.lastIndex=s,e.test(r)){const c=e.lastIndex;if(!_(t)&&!n.options.silent){const l=C(t)?t(r.slice(s,c),r,`${s}`):t;_(l)||n.output.push(l)}return n.index=c,!0}else return!1},"Ce"),te=u((e,t)=>n=>{const s=n.index,r=n.input;if(r.startsWith(e,s)){if(!_(t)&&!n.options.silent){const c=C(t)?t(e,r,`${s}`):t;_(c)||n.output.push(c)}return n.index+=e.length,!0}else return!1},"F"),W=u((e,t,n,s)=>{const r=k(e),c=t>1;return D(Z(re(l=>{let g=0;for(;g<n;){const v=l.index;if(!r(l)||(g+=1,l.index===v))break}return g>=t},c),s))},"k"),ne=u((e,t)=>W(e,0,1,t),"L"),L=u((e,t)=>W(e,0,1/0,t),"$"),Te=u((e,t)=>W(e,1,1/0,t),"Re"),z=u((e,t)=>{const n=e.map(k);return D(Z(re(s=>{for(let r=0,c=n.length;r<c;r++)if(!n[r](s))return!1;return!0}),t))},"x"),w=u((e,t)=>{const n=e.map(k);return D(Z(s=>{for(let r=0,c=n.length;r<c;r++)if(n[r](s))return!0;return!1},t))},"p"),re=u((e,t=!0,n=!1)=>{const s=k(e);return t?r=>{const c=r.index,l=r.output.length,g=s(r);return!g&&!n&&(r.indexBacktrackMax=Math.max(r.indexBacktrackMax,r.index)),(!g||n)&&(r.index=c,r.output.length!==l&&(r.output.length=l)),g}:s},"q"),Z=u((e,t)=>{const n=k(e);return t?s=>{if(s.options.silent)return n(s);const r=s.output.length;if(n(s)){const c=s.output.splice(r,1/0),l=t(c);return _(l)||s.output.push(l),!0}else return!1}:n},"B"),D=(()=>{let e=0;return t=>{const n=k(t),s=e+=1;return r=>{var c;if(r.options.memoization===!1)return n(r);const l=r.index,g=(c=r.cache)[s]||(c[s]={indexMax:-1,queue:[]}),v=g.queue;if(l<=g.indexMax){const R=g.store||(g.store=new Map);if(v.length){for(let S=0,Ht=v.length;S<Ht;S+=2){const Kt=v[S*2],Qt=v[S*2+1];R.set(Kt,Qt)}v.length=0}const j=R.get(l);if(j===!1)return!1;if(Ne(j))return r.index=j,!0;if(j)return r.index=j.index,j.output?.length&&r.output.push(...j.output),!0}const N=r.output.length,Vt=n(r);if(g.indexMax=Math.max(g.indexMax,l),Vt){const R=r.index,j=r.output.length;if(j>N){const S=r.output.slice(N,j);v.push(l,{index:R,output:S})}else v.push(l,R);return!0}else return v.push(l,!1),!1}}})(),oe=u(e=>{let t;return n=>(t||(t=k(e())),t(n))},"G"),k=qe(e=>{if(C(e))return Ce(e)?oe(e):e;if(Y(e)||Be(e))return p(e);if(X(e))return z(e);if(Re(e))return w(Object.values(e));throw new Error("Invalid rule")}),O=u(e=>e,"d"),Ge=u(e=>typeof e=="string","ke"),Je=u(e=>{const t=new WeakMap,n=new WeakMap;return(s,r)=>{const c=r?.partial?n:t,l=c.get(s);if(l!==void 0)return l;const g=e(s,r);return c.set(s,g),g}},"Be"),Ve=u(e=>{const t={},n={};return(s,r)=>{const c=r?.partial?n:t;return c[s]??(c[s]=e(s,r))}},"Pe"),He=p(/\\./,O),Ke=p(/./,O),Qe=p(/\*\*\*+/,"*"),Xe=p(/([^/{[(!])\*\*/,(e,t)=>`${t}*`),Ye=p(/(^|.)\*\*(?=[^*/)\]}])/,(e,t)=>`${t}*`),et=L(w([He,Qe,Xe,Ye,Ke])),tt=et,nt=u(e=>ee(e,tt,{memoization:!1}).join(""),"Ie"),rt=nt,se="abcdefghijklmnopqrstuvwxyz",ot=u(e=>{let t="";for(;e>0;){const n=(e-1)%26;t=se[n]+t,e=Math.floor((e-1)/26)}return t},"Le"),ae=u(e=>{let t=0;for(let n=0,s=e.length;n<s;n++)t=t*26+se.indexOf(e[n])+1;return t},"V"),F=u((e,t)=>{if(t<e)return F(t,e);const n=[];for(;e<=t;)n.push(e++);return n},"b"),st=u((e,t,n)=>F(e,t).map(s=>String(s).padStart(n,"0")),"qe"),ie=u((e,t)=>F(ae(e),ae(t)).map(ot),"W"),x=u(e=>({partial:!1,regex:new RegExp(e,"s"),children:[]}),"c"),I=u(e=>({children:e}),"y"),P=(()=>{const e=u((t,n,s)=>{if(s.has(t))return;s.add(t);const{children:r}=t;if(!r.length)r.push(n);else for(let c=0,l=r.length;c<l;c++)e(r[c],n,s)},"e");return t=>{if(!t.length)return I([]);for(let n=t.length-1;n>=1;n--){const s=new Set,r=t[n-1],c=t[n];e(r,c,s)}return t[0]}})(),M=u(()=>({regex:new RegExp("[\\\\/]","s"),children:[]}),"g"),at=p(/\\./,x),it=p(/[$.*+?^(){}[\]\|]/,e=>x(`\\${e}`)),ct=p(/[\\\/]/,M),ut=p(/[^$.*+?^(){}[\]\|\\\/]+/,x),lt=p(/^(?:!!)*!(.*)$/,(e,t)=>x(`(?!^${de.compile(t).source}$).*?`)),ft=p(/^(!!)+/),pt=w([lt,ft]),gt=p(/\/(\*\*\/)+/,()=>I([P([M(),x(".+?"),M()]),M()])),ht=p(/^(\*\*\/)+/,()=>I([x("^"),P([x(".*?"),M()])])),dt=p(/\/(\*\*)$/,()=>I([P([M(),x(".*?")]),x("$")])),mt=p(/\*\*/,()=>x(".*?")),ce=w([gt,ht,dt,mt]),xt=p(/\*\/(?!\*\*\/|\*$)/,()=>P([x("[^\\\\/]*?"),M()])),$t=p(/\*/,()=>x("[^\\\\/]*")),ue=w([xt,$t]),le=p("?",()=>x("[^\\\\/]")),vt=p("[",O),bt=p("]",O),yt=p(/[!^]/,"^\\\\/"),wt=p(/[a-z]-[a-z]|[0-9]-[0-9]/i,O),jt=p(/\\./,O),_t=p(/[$.*+?^(){}[\|]/,e=>`\\${e}`),kt=p(/[\\\/]/,"\\\\/"),Mt=p(/[^$.*+?^(){}[\]\|\\\/]+/,O),Ot=w([jt,_t,kt,wt,Mt]),fe=z([vt,ne(yt),L(Ot),bt],e=>x(e.join(""))),At=p("{","(?:"),Et=p("}",")"),zt=p(/(\d+)\.\.(\d+)/,(e,t,n)=>st(+t,+n,Math.min(t.length,n.length)).join("|")),Pt=p(/([a-z]+)\.\.([a-z]+)/,(e,t,n)=>ie(t,n).join("|")),St=p(/([A-Z]+)\.\.([A-Z]+)/,(e,t,n)=>ie(t.toLowerCase(),n.toLowerCase()).join("|").toUpperCase()),Ct=w([zt,Pt,St]),pe=z([At,Ct,Et],e=>x(e.join(""))),It=p("{"),Nt=p("}"),Rt=p(","),Bt=p(/\\./,x),Ut=p(/[$.*+?^(){[\]\|]/,e=>x(`\\${e}`)),Lt=p(/[\\\/]/,M),qt=p(/[^$.*+?^(){}[\]\|\\\/,]+/,x),Wt=oe(()=>he),Zt=p("",()=>x("(?:)")),Dt=Te(w([ce,ue,le,fe,pe,Wt,Bt,Ut,Lt,qt]),P),ge=w([Dt,Zt]),he=z([It,ne(z([ge,L(z([Rt,ge]))])),Nt],I),Ft=L(w([pt,ce,ue,le,fe,pe,he,at,it,ct,ut]),P),Tt=Ft,Gt=u(e=>ee(e,Tt,{memoization:!1})[0],"kr"),Jt=Gt,T=u((e,t,n)=>T.compile(e,n).test(t),"N");T.compile=(()=>{const e=Ve((n,s)=>ze(Jt(rt(n)),s)),t=Je((n,s)=>Se(n.map(r=>e(r,s))));return(n,s)=>Ge(n)?e(n,s):t(n,s)})();var de=T;return m(y)})();return o.default||o},"_lazyMatch"),G;const hn=u((o,a)=>(G||(G=me(),me=null),G(o,a)),"default");var dn=Object.defineProperty,mn=V((o,a)=>dn(o,"name",{value:a,configurable:!0}),"t");const xn=/^[A-Z]:\//i,E=mn((o="")=>o&&o.replaceAll("\\","/").replace(xn,a=>a.toUpperCase()),"normalizeWindowsPath");var $n=Object.defineProperty,b=V((o,a)=>$n(o,"name",{value:a,configurable:!0}),"r");const vn=/^[/\\]{2}/,bn=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,be=/^[A-Z]:$/i,xe=/^\/([A-Z]:)?$/i,yn=/.(\.[^./]+)$/,wn=/^[/\\]|^[a-z]:[/\\]/i,jn=b(()=>typeof process.cwd=="function"?process.cwd().replaceAll("\\","/"):"/","cwd"),ye=b((o,a)=>{let i="",f=0,h=-1,d=0,$;for(let m=0;m<=o.length;++m){if(m<o.length)$=o[m];else{if($==="/")break;$="/"}if($==="/"){if(!(h===m-1||d===1))if(d===2){if(i.length<2||f!==2||!i.endsWith(".")||i.at(-2)!=="."){if(i.length>2){const y=i.lastIndexOf("/");y===-1?(i="",f=0):(i=i.slice(0,y),f=i.length-1-i.lastIndexOf("/")),h=m,d=0;continue}else if(i.length>0){i="",f=0,h=m,d=0;continue}}a&&(i+=i.length>0?"/..":"..",f=2)}else i.length>0?i+=`/${o.slice(h+1,m)}`:i=o.slice(h+1,m),f=m-h-1;h=m,d=0}else $==="."&&d!==-1?++d:d=-1}return i},"normalizeString"),U=b(o=>bn.test(o),"isAbsolute"),we=b(function(o){if(o.length===0)return".";o=E(o);const a=vn.exec(o),i=U(o),f=o.at(-1)==="/";return o=ye(o,!i),o.length===0?i?"/":f?"./":".":(f&&(o+="/"),be.test(o)&&(o+="/"),a?i?`//${o}`:`//./${o}`:i&&!U(o)?`/${o}`:o)},"normalize"),_n=b((...o)=>{let a="";for(const i of o)if(i)if(a.length>0){const f=a[a.length-1]==="/",h=i[0]==="/";f&&h?a+=i.slice(1):a+=f||h?i:`/${i}`}else a+=i;return we(a)},"join"),J=b(function(...o){o=o.map(f=>E(f));let a="",i=!1;for(let f=o.length-1;f>=-1&&!i;f--){const h=f>=0?o[f]:jn();!h||h.length===0||(a=`${h}/${a}`,i=U(h))}return a=ye(a,!i),i&&!U(a)?`/${a}`:a.length>0?a:"."},"resolve");b(function(o){return E(o)},"toNamespacedPath");const kn=b(function(o){return yn.exec(E(o))?.[1]??""},"extname");b(function(o,a){const i=J(o).replace(xe,"$1").split("/"),f=J(a).replace(xe,"$1").split("/");if(f[0][1]===":"&&i[0][1]===":"&&i[0]!==f[0])return f.join("/");const h=[...i];for(const d of h){if(f[0]!==d)break;i.shift(),f.shift()}return[...i.map(()=>".."),...f].join("/")},"relative");const je=b(o=>{const a=E(o).replace(/\/$/,"").split("/").slice(0,-1);return a.length===1&&be.test(a[0])&&(a[0]+="/"),a.join("/")||(U(o)?"/":".")},"dirname");b(function(o){const a=[o.root,o.dir,o.base??o.name+o.ext].filter(Boolean);return E(o.root?J(...a):a.join("/"))},"format");const Mn=b((o,a)=>{const i=E(o).split("/").pop();return a&&i.endsWith(a)?i.slice(0,-a.length):i},"basename");b(function(o){const a=wn.exec(o)?.[0]?.replaceAll("\\","/")??"",i=Mn(o),f=kn(i);return{base:i,dir:je(o),ext:f,name:i.slice(0,i.length-f.length),root:a}},"parse");b((o,a)=>hn(a,we(o)),"matchesGlob");var On=Object.defineProperty,H=A((o,a)=>On(o,"name",{value:a,configurable:!0}),"r");const An="last-update-check.json",_e=H(o=>{const a=on(o);if(a===void 0)throw new Error("Could not find cache directory");return _n(a,An)},"getConfigFile"),En=H(o=>{const a=_e(o);try{if(!ve(a))return;const{lastUpdateCheck:i}=JSON.parse(rn(a,"utf8"));return i}catch{return}},"getLastUpdate"),zn=H(o=>{const a=_e(o),i=je(a);ve(i)||tn(i,{recursive:!0}),nn(a,JSON.stringify({lastUpdateCheck:Date.now()}))},"saveLastUpdate");var Pn=Object.defineProperty,Sn=A((o,a)=>Pn(o,"name",{value:a,configurable:!0}),"g");const Cn=Sn(async(o,a,i)=>{const f=i.replace("__NAME__",o);return await new Promise((h,d)=>{sn(f,$=>{let m="";$.on("data",y=>m+=y),$.on("end",()=>{try{const y=JSON.parse(m)[a];y||d(new Error("Error getting version")),h(y)}catch{d(new Error("Could not parse version response"))}})}).on("error",$=>d($))})},"getDistributionVersion");var In=Object.defineProperty,Nn=A((o,a)=>In(o,"name",{value:a,configurable:!0}),"i");const Ln=Nn(async({alwaysRun:o,debug:a,distTag:i="latest",pkg:f,registryUrl:h="https://registry.npmjs.org/-/package/__NAME__/dist-tags",updateCheckInterval:d=1e3*60*60*24})=>{const $=En(f.name);if(o||!$||$<Date.now()-d){const m=await Cn(f.name,i,h);if(zn(f.name),un(m,f.version))return m;a&&console.error(`Latest version (${m}) not newer than current version (${f.version})`)}else a&&console.error(`Too recent to check for a new update. simpleUpdateNotifier() interval set to ${d}ms but only ${Date.now()-$}ms since last check.`);return null},"hasNewVersion");export{Ln as default};