@baicie/ncu 0.1.30 → 0.1.31

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.
@@ -1,2 +1,2 @@
1
- function e({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const t=e();function n(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(t,``)}export{n as default};
1
+ function e({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const t=e();function n(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(t,``)}export{n as default};
2
2
  //# sourceMappingURL=strip-ansi.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"strip-ansi.mjs","names":[],"sources":["../../../node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js","../../../node_modules/.pnpm/strip-ansi@7.1.2/node_modules/strip-ansi/index.js"],"sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n"],"x_google_ignoreList":[0,1],"mappings":"AAAA,SAAwB,EAAU,CAAC,YAAY,IAAS,EAAE,CAAE,CAY3D,OAAW,OAFK,gJAEW,EAAY,IAAA,GAAY,IAAI,CCVxD,MAAM,EAAQ,GAAW,CAEzB,SAAwB,EAAU,EAAQ,CACzC,GAAI,OAAO,GAAW,SACrB,MAAU,UAAU,gCAAgC,OAAO,EAAO,IAAI,CAMvE,OAAO,EAAO,QAAQ,EAAO,GAAG"}
1
+ {"version":3,"file":"strip-ansi.mjs","names":[],"sources":["../../../node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js","../../../node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js"],"sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\t// Valid string terminator sequences are BEL, ESC\\, and 0x9c\n\tconst ST = '(?:\\\\u0007|\\\\u001B\\\\u005C|\\\\u009C)';\n\n\t// OSC sequences only: ESC ] ... ST (non-greedy until the first ST)\n\tconst osc = `(?:\\\\u001B\\\\][\\\\s\\\\S]*?${ST})`;\n\n\t// CSI and related: ESC/C1, optional intermediates, optional params (supports ; and :) then final byte\n\tconst csi = '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:\\\\d{1,4}(?:[;:]\\\\d{0,4})*)?[\\\\dA-PR-TZcf-nq-uy=><~]';\n\n\tconst pattern = `${osc}|${csi}`;\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","import ansiRegex from 'ansi-regex';\n\nconst regex = ansiRegex();\n\nexport default function stripAnsi(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(`Expected a \\`string\\`, got \\`${typeof string}\\``);\n\t}\n\n\t// Fast path: ANSI codes require ESC (7-bit) or CSI (8-bit) introducer\n\tif (!string.includes('\\u001B') && !string.includes('\\u009B')) {\n\t\treturn string;\n\t}\n\n\t// Even though the regex is global, we don't need to reset the `.lastIndex`\n\t// because unlike `.exec()` and `.test()`, `.replace()` does it automatically\n\t// and doing it manually has a performance penalty.\n\treturn string.replace(regex, '');\n}\n"],"x_google_ignoreList":[0,1],"mappings":"AAAA,SAAwB,EAAU,CAAC,YAAY,IAAS,EAAE,CAAE,CAY3D,OAAW,OAFK,gJAEW,EAAY,IAAA,GAAY,IAAI,CCVxD,MAAM,EAAQ,GAAW,CAEzB,SAAwB,EAAU,EAAQ,CACzC,GAAI,OAAO,GAAW,SACrB,MAAU,UAAU,gCAAgC,OAAO,EAAO,IAAI,CAWvE,MAPI,CAAC,EAAO,SAAS,OAAS,EAAI,CAAC,EAAO,SAAS,IAAS,CACpD,EAMD,EAAO,QAAQ,EAAO,GAAG"}
package/dist/esm/cli.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  import{a as e,c as t,i as n,l as r,o as i,r as a,s as o,t as s,u as c}from"./chunks/src.mjs";import l from"semver";import{Help as u,Option as d,program as f}from"commander";import p from"rfdc";const m=`Output the version number of npm-check-updates.`,h=e=>e.replace(/`/g,``),g=p();(async()=>{let{default:p}=await import(`update-notifier`),_=p({pkg:r});if(_.update&&_.update.latest!==c){let{default:e}=await import(`chalk`),n=l.parse(_.update.current)?.major,r=l.parse(_.update.latest)?.major,i=(n&&r&&r>=n?Array(r-n).fill(0).map((e,t)=>n+t+1):[]).map(e=>`${t??``}/releases/tag/v${e}.0.0`),a=`${t??``}/compare/v${_.update.current}...v${_.update.latest}`;_.notify({defer:!1,isGlobal:!0,message:`Update available ${e.dim(`{currentVersion}`)}${e.reset(` → `)}${_.update.type===`major`?e.red(`{latestVersion}`):_.update.type===`minor`?e.yellow(`{latestVersion}`):e.green(`{latestVersion}`)}
3
3
  Run ${e.cyan(`{updateCommand}`)} to update
4
4
  ${e.dim.underline(_.update.type===`major`?i.map(t=>e.dim.underline(t)).join(`
5
- `):a)}`})}let v=process.argv.slice(2),y=v.findIndex(e=>e===`--help`||e===`-h`);if(y!==-1&&v[y+1]){let t=v[y+1].replace(/^-*/,``);t===`help`||t===`h`?console.info(`Would you like some help with your help?`):(await o(),[...v.slice(0,y),...v.slice(y+1)].forEach(t=>{let n=t.replace(/^-*/,``),r=e.find(e=>n===e.long||n===e.short||n===`no-${e.long}`&&e.type===`boolean`);r?console.info(i(r)+`
6
- `):n===`version`||n===`v`||n===`V`?console.info(i({long:`version`,short:`v`,description:m,type:`string`})+`
7
- `):console.info(`Unknown option: ${t}`)})),process.exit(0)}let b=new Set(e.filter(e=>e.cli===!1).map(e=>`--${e.long}`));f.description(`[filter] is a list or regex of package names to check (all others will be ignored).`).usage(`[options] [filter]`).configureHelp({optionTerm:e=>e.long&&b.has(e.long)?e.long.replace(`--`,``)+`*`:e.long===`--version`?`-v, -V, --version`:e.flags.replace(`[bool]`,``),optionDescription:e=>e.long===`--version`?m:e.long===`--help`?`You're lookin' at it. Run "ncu --help <option>" for a specific option.`:u.prototype.optionDescription(e)}).addOption(new d(`-v, --versionAlias`).hideHelp()).on(`option:versionAlias`,()=>{console.info(c),process.exit(0)}),e.forEach(({long:e,short:t,arg:n,description:r,default:i,help:a,parse:o,type:s})=>{let c=`${t?`-${t}, `:``}--${e}${n?` <${n}>`:``}`,l=`${h(r)}${a?` Run "ncu --help ${e}" for details.`:``}`;f.option(c,l,o||i,o?i:void 0),s===`boolean`&&f.addOption(new d(`--no-${e}`).default(!1).hideHelp())}),f.version(c);let x=g(f._optionValues);f.allowExcessArguments(!0),f.parse(process.argv);let S=f.opts(),C=process.argv.slice(2),{color:w,configFileName:T,configFilePath:E,global:D,packageFile:O,mergeConfig:k}=S;await o(w);let A=!process.env.NCU_TESTS||E||k?await n({configFileName:T,configFilePath:E,global:D,packageFile:O,options:{...S,cli:!0}}):null,j=(A?.args||[]).filter((e,t,n)=>(typeof e!=`string`||!e.startsWith(`-`)||!C.includes(e))&&(typeof n[t-1]!=`string`||!n[t-1].startsWith(`-`)||!C.includes(n[t-1]))),M=[...process.argv.slice(0,2),...j,...C];f._optionValues=x,f.parse(M);let N=f.opts();s({...A&&Object.keys(A.config).length>0?{rcConfigPath:A.filePath}:null,...a(f.opts(),e=>e!==void 0),args:f.args,...N.filter?{filter:N.filter}:null,...N.reject?{reject:N.reject}:null},{cli:!0})})();
5
+ `):a)}`})}let v=process.argv.slice(2),y=v.findIndex(e=>e===`--help`||e===`-h`);if(y!==-1&&v[y+1]){let t=v[y+1].replace(/^-*/,``);t===`help`||t===`h`?console.info(`Would you like some help with your help?`):(await o(),[...v.slice(0,y),...v.slice(y+1)].forEach(t=>{let n=t.replace(/^-*/,``),r=e.find(e=>n===e.long||n===e.short||n===`no-${e.long}`&&e.type===`boolean`);console.info(r?i(r)+`
6
+ `:n===`version`||n===`v`||n===`V`?i({long:`version`,short:`v`,description:m,type:`string`})+`
7
+ `:`Unknown option: ${t}`)})),process.exit(0)}let b=new Set(e.filter(e=>e.cli===!1).map(e=>`--${e.long}`));f.description(`[filter] is a list or regex of package names to check (all others will be ignored).`).usage(`[options] [filter]`).configureHelp({optionTerm:e=>e.long&&b.has(e.long)?e.long.replace(`--`,``)+`*`:e.long===`--version`?`-v, -V, --version`:e.flags.replace(`[bool]`,``),optionDescription:e=>e.long===`--version`?m:e.long===`--help`?`You're lookin' at it. Run "ncu --help <option>" for a specific option.`:u.prototype.optionDescription(e)}).addOption(new d(`-v, --versionAlias`).hideHelp()).on(`option:versionAlias`,()=>{console.info(c),process.exit(0)}),e.forEach(({long:e,short:t,arg:n,description:r,default:i,help:a,parse:o,type:s})=>{let c=`${t?`-${t}, `:``}--${e}${n?` <${n}>`:``}`,l=`${h(r)}${a?` Run "ncu --help ${e}" for details.`:``}`;f.option(c,l,o||i,o?i:void 0),s===`boolean`&&f.addOption(new d(`--no-${e}`).default(!1).hideHelp())}),f.version(c);let x=g(f._optionValues);f.allowExcessArguments(!0),f.parse(process.argv);let S=f.opts(),C=process.argv.slice(2),{color:w,configFileName:T,configFilePath:E,global:D,packageFile:O,mergeConfig:k}=S;await o(w);let A=!process.env.NCU_TESTS||E||k?await n({configFileName:T,configFilePath:E,global:D,packageFile:O,options:{...S,cli:!0}}):null,j=(A?.args||[]).filter((e,t,n)=>(typeof e!=`string`||!e.startsWith(`-`)||!C.includes(e))&&(typeof n[t-1]!=`string`||!n[t-1].startsWith(`-`)||!C.includes(n[t-1]))),M=[...process.argv.slice(0,2),...j,...C];f._optionValues=x,f.parse(M);let N=f.opts();s({...A&&Object.keys(A.config).length>0?{rcConfigPath:A.filePath}:null,...a(f.opts(),e=>e!==void 0),args:f.args,...N.filter?{filter:N.filter}:null,...N.reject?{reject:N.reject}:null},{cli:!0})})();
8
8
  //# sourceMappingURL=cli.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.mjs","names":["pkg.version","pkg.homepage","cliOptions"],"sources":["../../src/bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Help, Option, program } from 'commander'\nimport createCloneDeep from 'rfdc'\nimport semver from 'semver'\nimport pkg from '../../package.json'\nimport cliOptions, { renderExtendedHelp } from '../cli-options'\nimport ncu from '../index'\nimport { chalkInit } from '../lib/chalk'\n// async global contexts are only available in esm modules -> function\nimport getNcuRc from '../lib/getNcuRc'\nimport { pickBy } from '../lib/pick'\n\nconst optionVersionDescription = 'Output the version number of npm-check-updates.'\n\n/** Removes inline code ticks. */\nconst uncode = (s: string) => s.replace(/`/g, '')\n\nconst cloneDeep = createCloneDeep()\n\n;(async () => {\n // importing update-notifier dynamically as esm modules are only allowed to be dynamically imported inside of cjs modules\n const { default: updateNotifier } = await import('update-notifier')\n\n // check if a new version of ncu is available and print an update notification\n //\n // For testing from specific versions, use:\n //\n // updateNotifier({\n // pkg: {\n // name: 'npm-check-updates',\n // version: x.y.z\n // },\n // updateCheckInterval: 0\n // })\n\n const notifier = updateNotifier({ pkg })\n if (notifier.update && notifier.update.latest !== pkg.version) {\n const { default: chalk } = await import('chalk')\n\n // generate release urls for all the major versions from the current version up to the latest\n const currentMajor = semver.parse(notifier.update.current)?.major\n const latestMajor = semver.parse(notifier.update.latest)?.major\n const majorVersions =\n // Greater than or equal to (>=) will always return false if either operant is NaN or undefined.\n // Without this condition, it can result in a RangeError: Invalid array length.\n // See: https://github.com/raineorshine/npm-check-updates/issues/1200\n currentMajor && latestMajor && latestMajor >= currentMajor\n ? new Array(latestMajor - currentMajor).fill(0).map((x, i) => currentMajor + i + 1)\n : []\n const releaseUrls = majorVersions.map(majorVersion => `${pkg.homepage ?? ''}/releases/tag/v${majorVersion}.0.0`)\n\n // for non-major updates, generate a URL to view all commits since the current version\n const compareUrl = `${pkg.homepage ?? ''}/compare/v${notifier.update.current}...v${notifier.update.latest}`\n\n notifier.notify({\n defer: false,\n isGlobal: true,\n message: `Update available ${chalk.dim('{currentVersion}')}${chalk.reset(' → ')}${\n notifier.update.type === 'major'\n ? chalk.red('{latestVersion}')\n : notifier.update.type === 'minor'\n ? chalk.yellow('{latestVersion}')\n : chalk.green('{latestVersion}')\n }\nRun ${chalk.cyan('{updateCommand}')} to update\n${chalk.dim.underline(\n notifier.update.type === 'major' ? releaseUrls.map(url => chalk.dim.underline(url)).join('\\n') : compareUrl,\n)}`,\n })\n }\n\n // manually detect option-specific help\n // https://github.com/raineorshine/npm-check-updates/issues/787\n const rawArgs = process.argv.slice(2)\n const indexHelp = rawArgs.findIndex(arg => arg === '--help' || arg === '-h')\n if (indexHelp !== -1 && rawArgs[indexHelp + 1]) {\n const helpOption = rawArgs[indexHelp + 1].replace(/^-*/, '')\n if (helpOption === 'help' || helpOption === 'h') {\n console.info('Would you like some help with your help?')\n } else {\n await chalkInit()\n const nonHelpArgs = [...rawArgs.slice(0, indexHelp), ...rawArgs.slice(indexHelp + 1)]\n nonHelpArgs.forEach(arg => {\n // match option by long or short\n const query = arg.replace(/^-*/, '')\n const option = cliOptions.find(\n option =>\n query === option.long ||\n query === option.short ||\n (query === `no-${option.long}` && option.type === 'boolean'),\n )\n if (option) {\n console.info(renderExtendedHelp(option) + '\\n')\n } else if (query === 'version' || query === 'v' || query === 'V') {\n console.info(\n renderExtendedHelp({\n long: 'version',\n short: 'v',\n description: optionVersionDescription,\n // do not pass boolean or it will print --no-version\n type: 'string',\n }) + '\\n',\n )\n } else {\n console.info(`Unknown option: ${arg}`)\n }\n })\n }\n process.exit(0)\n }\n\n // a set of options that only work in an rc config file, not on the command line\n const noCli = new Set(cliOptions.filter(option => option.cli === false).map(option => `--${option.long}`))\n\n // start commander program\n program\n .description('[filter] is a list or regex of package names to check (all others will be ignored).')\n .usage('[options] [filter]')\n // See: boolean optional arg below\n .configureHelp({\n optionTerm: option =>\n option.long && noCli.has(option.long)\n ? option.long.replace('--', '') + '*'\n : option.long === '--version'\n ? // add -v to version help to cover the alias added below\n '-v, -V, --version'\n : option.flags.replace('[bool]', ''),\n optionDescription: option =>\n option.long === '--version'\n ? optionVersionDescription\n : option.long === '--help'\n ? `You're lookin' at it. Run \"ncu --help <option>\" for a specific option.`\n : Help.prototype.optionDescription(option),\n })\n // add hidden -v alias for --V/--version\n .addOption(new Option('-v, --versionAlias').hideHelp())\n .on('option:versionAlias', () => {\n console.info(pkg.version)\n process.exit(0)\n })\n\n // add cli options\n cliOptions.forEach(({ long, short, arg, description, default: defaultValue, help, parse, type }) => {\n const flags = `${short ? `-${short}, ` : ''}--${long}${arg ? ` <${arg}>` : ''}`\n // format description for cli by removing inline code ticks\n // point to help in description if extended help text is available\n const descriptionFormatted = `${uncode(description)}${help ? ` Run \"ncu --help ${long}\" for details.` : ''}`\n\n // handle 3rd/4th argument polymorphism\n program.option(flags, descriptionFormatted, parse || defaultValue, parse ? defaultValue : undefined)\n\n // add --no- prefixed boolean options\n // necessary for overriding booleans set to true in the ncurc\n if (type === 'boolean') {\n program.addOption(new Option(`--no-${long}`).default(false).hideHelp())\n }\n })\n\n // set version option at the end\n program.version(pkg.version)\n\n // commander mutates its optionValues with program.parse\n // In order to call program.parse again and parse the rc file options, we need to clear commander's internal optionValues\n // Otherwise array options will be duplicated\n const defaultOptionValues = cloneDeep((program as any)._optionValues)\n program.allowExcessArguments(true)\n program.parse(process.argv)\n\n const programOpts = program.opts()\n const programArgs = process.argv.slice(2)\n\n const { color, configFileName, configFilePath, global, packageFile, mergeConfig } = programOpts\n\n // Force color on all chalk instances.\n // See: /src/lib/chalk.ts\n await chalkInit(color)\n\n // load .ncurc\n // Do not load when tests are running (can be overridden if configFilePath is set explicitly, or --mergeConfig option specified)\n const rcResult =\n !process.env.NCU_TESTS || configFilePath || mergeConfig\n ? await getNcuRc({\n configFileName,\n configFilePath,\n global,\n packageFile,\n options: { ...programOpts, cli: true },\n })\n : null\n\n // override rc args with program args\n const rcArgs = (rcResult?.args || []).filter(\n (arg, i, args) =>\n (typeof arg !== 'string' || !arg.startsWith('-') || !programArgs.includes(arg)) &&\n (typeof args[i - 1] !== 'string' || !args[i - 1].startsWith('-') || !programArgs.includes(args[i - 1])),\n )\n\n // insert config arguments into command line arguments so they can all be parsed by commander\n const combinedArguments = [...process.argv.slice(0, 2), ...rcArgs, ...programArgs]\n\n // See defaultOptionValues comment above\n ;(program as any)._optionValues = defaultOptionValues\n program.parse(combinedArguments)\n const combinedProgramOpts = program.opts()\n\n // filter out undefined program options and combine cli options with config file options\n const options = {\n ...(rcResult && Object.keys(rcResult.config).length > 0 ? { rcConfigPath: rcResult.filePath } : null),\n ...pickBy(program.opts(), (value: unknown) => value !== undefined),\n args: program.args,\n ...(combinedProgramOpts.filter ? { filter: combinedProgramOpts.filter } : null),\n ...(combinedProgramOpts.reject ? { reject: combinedProgramOpts.reject } : null),\n }\n\n // NOTE: Options handling and defaults go in initOptions in index.js\n\n ncu(options, { cli: true })\n})()\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli.mjs","names":["pkg.version","pkg.homepage","cliOptions"],"sources":["../../src/bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Help, Option, program } from 'commander'\nimport createCloneDeep from 'rfdc'\nimport semver from 'semver'\nimport pkg from '../../package.json'\nimport cliOptions, { renderExtendedHelp } from '../cli-options'\nimport ncu from '../index'\nimport { chalkInit } from '../lib/chalk'\n// async global contexts are only available in esm modules -> function\nimport getNcuRc from '../lib/getNcuRc'\nimport { pickBy } from '../lib/pick'\n\nconst optionVersionDescription = 'Output the version number of npm-check-updates.'\n\n/** Removes inline code ticks. */\nconst uncode = (s: string) => s.replace(/`/g, '')\n\nconst cloneDeep = createCloneDeep()\n\n;(async () => {\n // importing update-notifier dynamically as esm modules are only allowed to be dynamically imported inside of cjs modules\n const { default: updateNotifier } = await import('update-notifier')\n\n // check if a new version of ncu is available and print an update notification\n //\n // For testing from specific versions, use:\n //\n // updateNotifier({\n // pkg: {\n // name: 'npm-check-updates',\n // version: x.y.z\n // },\n // updateCheckInterval: 0\n // })\n\n const notifier = updateNotifier({ pkg })\n if (notifier.update && notifier.update.latest !== pkg.version) {\n const { default: chalk } = await import('chalk')\n\n // generate release urls for all the major versions from the current version up to the latest\n const currentMajor = semver.parse(notifier.update.current)?.major\n const latestMajor = semver.parse(notifier.update.latest)?.major\n const majorVersions =\n // Greater than or equal to (>=) will always return false if either operant is NaN or undefined.\n // Without this condition, it can result in a RangeError: Invalid array length.\n // See: https://github.com/raineorshine/npm-check-updates/issues/1200\n currentMajor && latestMajor && latestMajor >= currentMajor\n ? new Array(latestMajor - currentMajor).fill(0).map((x, i) => currentMajor + i + 1)\n : []\n const releaseUrls = majorVersions.map(majorVersion => `${pkg.homepage ?? ''}/releases/tag/v${majorVersion}.0.0`)\n\n // for non-major updates, generate a URL to view all commits since the current version\n const compareUrl = `${pkg.homepage ?? ''}/compare/v${notifier.update.current}...v${notifier.update.latest}`\n\n notifier.notify({\n defer: false,\n isGlobal: true,\n message: `Update available ${chalk.dim('{currentVersion}')}${chalk.reset(' → ')}${\n notifier.update.type === 'major'\n ? chalk.red('{latestVersion}')\n : notifier.update.type === 'minor'\n ? chalk.yellow('{latestVersion}')\n : chalk.green('{latestVersion}')\n }\nRun ${chalk.cyan('{updateCommand}')} to update\n${chalk.dim.underline(\n notifier.update.type === 'major' ? releaseUrls.map(url => chalk.dim.underline(url)).join('\\n') : compareUrl,\n)}`,\n })\n }\n\n // manually detect option-specific help\n // https://github.com/raineorshine/npm-check-updates/issues/787\n const rawArgs = process.argv.slice(2)\n const indexHelp = rawArgs.findIndex(arg => arg === '--help' || arg === '-h')\n if (indexHelp !== -1 && rawArgs[indexHelp + 1]) {\n const helpOption = rawArgs[indexHelp + 1].replace(/^-*/, '')\n if (helpOption === 'help' || helpOption === 'h') {\n console.info('Would you like some help with your help?')\n } else {\n await chalkInit()\n const nonHelpArgs = [...rawArgs.slice(0, indexHelp), ...rawArgs.slice(indexHelp + 1)]\n nonHelpArgs.forEach(arg => {\n // match option by long or short\n const query = arg.replace(/^-*/, '')\n const option = cliOptions.find(\n option =>\n query === option.long ||\n query === option.short ||\n (query === `no-${option.long}` && option.type === 'boolean'),\n )\n if (option) {\n console.info(renderExtendedHelp(option) + '\\n')\n } else if (query === 'version' || query === 'v' || query === 'V') {\n console.info(\n renderExtendedHelp({\n long: 'version',\n short: 'v',\n description: optionVersionDescription,\n // do not pass boolean or it will print --no-version\n type: 'string',\n }) + '\\n',\n )\n } else {\n console.info(`Unknown option: ${arg}`)\n }\n })\n }\n process.exit(0)\n }\n\n // a set of options that only work in an rc config file, not on the command line\n const noCli = new Set(cliOptions.filter(option => option.cli === false).map(option => `--${option.long}`))\n\n // start commander program\n program\n .description('[filter] is a list or regex of package names to check (all others will be ignored).')\n .usage('[options] [filter]')\n // See: boolean optional arg below\n .configureHelp({\n optionTerm: option =>\n option.long && noCli.has(option.long)\n ? option.long.replace('--', '') + '*'\n : option.long === '--version'\n ? // add -v to version help to cover the alias added below\n '-v, -V, --version'\n : option.flags.replace('[bool]', ''),\n optionDescription: option =>\n option.long === '--version'\n ? optionVersionDescription\n : option.long === '--help'\n ? `You're lookin' at it. Run \"ncu --help <option>\" for a specific option.`\n : Help.prototype.optionDescription(option),\n })\n // add hidden -v alias for --V/--version\n .addOption(new Option('-v, --versionAlias').hideHelp())\n .on('option:versionAlias', () => {\n console.info(pkg.version)\n process.exit(0)\n })\n\n // add cli options\n cliOptions.forEach(({ long, short, arg, description, default: defaultValue, help, parse, type }) => {\n const flags = `${short ? `-${short}, ` : ''}--${long}${arg ? ` <${arg}>` : ''}`\n // format description for cli by removing inline code ticks\n // point to help in description if extended help text is available\n const descriptionFormatted = `${uncode(description)}${help ? ` Run \"ncu --help ${long}\" for details.` : ''}`\n\n // handle 3rd/4th argument polymorphism\n program.option(flags, descriptionFormatted, parse || defaultValue, parse ? defaultValue : undefined)\n\n // add --no- prefixed boolean options\n // necessary for overriding booleans set to true in the ncurc\n if (type === 'boolean') {\n program.addOption(new Option(`--no-${long}`).default(false).hideHelp())\n }\n })\n\n // set version option at the end\n program.version(pkg.version)\n\n // commander mutates its optionValues with program.parse\n // In order to call program.parse again and parse the rc file options, we need to clear commander's internal optionValues\n // Otherwise array options will be duplicated\n const defaultOptionValues = cloneDeep((program as any)._optionValues)\n program.allowExcessArguments(true)\n program.parse(process.argv)\n\n const programOpts = program.opts()\n const programArgs = process.argv.slice(2)\n\n const { color, configFileName, configFilePath, global, packageFile, mergeConfig } = programOpts\n\n // Force color on all chalk instances.\n // See: /src/lib/chalk.ts\n await chalkInit(color)\n\n // load .ncurc\n // Do not load when tests are running (can be overridden if configFilePath is set explicitly, or --mergeConfig option specified)\n const rcResult =\n !process.env.NCU_TESTS || configFilePath || mergeConfig\n ? await getNcuRc({\n configFileName,\n configFilePath,\n global,\n packageFile,\n options: { ...programOpts, cli: true },\n })\n : null\n\n // override rc args with program args\n const rcArgs = (rcResult?.args || []).filter(\n (arg, i, args) =>\n (typeof arg !== 'string' || !arg.startsWith('-') || !programArgs.includes(arg)) &&\n (typeof args[i - 1] !== 'string' || !args[i - 1].startsWith('-') || !programArgs.includes(args[i - 1])),\n )\n\n // insert config arguments into command line arguments so they can all be parsed by commander\n const combinedArguments = [...process.argv.slice(0, 2), ...rcArgs, ...programArgs]\n\n // See defaultOptionValues comment above\n ;(program as any)._optionValues = defaultOptionValues\n program.parse(combinedArguments)\n const combinedProgramOpts = program.opts()\n\n // filter out undefined program options and combine cli options with config file options\n const options = {\n ...(rcResult && Object.keys(rcResult.config).length > 0 ? { rcConfigPath: rcResult.filePath } : null),\n ...pickBy(program.opts(), (value: unknown) => value !== undefined),\n args: program.args,\n ...(combinedProgramOpts.filter ? { filter: combinedProgramOpts.filter } : null),\n ...(combinedProgramOpts.reject ? { reject: combinedProgramOpts.reject } : null),\n }\n\n // NOTE: Options handling and defaults go in initOptions in index.js\n\n ncu(options, { cli: true })\n})()\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baicie/ncu",
3
- "version": "0.1.30",
3
+ "version": "0.1.31",
4
4
  "author": "Tomas Junnonen <tomas1@gmail.com>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -83,7 +83,7 @@
83
83
  "picomatch": "^4.0.3",
84
84
  "progress": "^2.0.3",
85
85
  "prompts-ncu": "^3.0.2",
86
- "rc-config-loader": "^4.1.3",
86
+ "rc-config-loader": "^4.1.4",
87
87
  "rfdc": "^1.4.1",
88
88
  "semver": "^7.7.4",
89
89
  "semver-utils": "^1.1.4",
@@ -96,7 +96,7 @@
96
96
  "@baicie/scripts": "^0.1.2",
97
97
  "@eslint/js": "^10.0.1",
98
98
  "@trivago/prettier-plugin-sort-imports": "^6.0.2",
99
- "@types/bun": "^1.3.9",
99
+ "@types/bun": "^1.3.11",
100
100
  "@types/chai": "^5.2.3",
101
101
  "@types/chai-as-promised": "^8.0.2",
102
102
  "@types/chai-string": "^1.4.5",
@@ -107,7 +107,7 @@
107
107
  "@types/jsonlines": "^0.1.5",
108
108
  "@types/lodash": "^4.17.24",
109
109
  "@types/mocha": "^10.0.10",
110
- "@types/node": "^25.3.0",
110
+ "@types/node": "^25.5.0",
111
111
  "@types/npm-registry-fetch": "^8.0.9",
112
112
  "@types/parse-github-url": "^1.0.3",
113
113
  "@types/picomatch": "^4.0.2",
@@ -117,44 +117,44 @@
117
117
  "@types/semver-utils": "^1.1.3",
118
118
  "@types/sinon": "^21.0.0",
119
119
  "@types/update-notifier": "^6.0.8",
120
- "@typescript-eslint/eslint-plugin": "^8.56.1",
121
- "@typescript-eslint/parser": "^8.56.1",
120
+ "@typescript-eslint/eslint-plugin": "^8.57.1",
121
+ "@typescript-eslint/parser": "^8.57.1",
122
122
  "chai": "^6.2.2",
123
123
  "chai-as-promised": "^8.0.2",
124
124
  "chai-string": "^1.6.0",
125
125
  "cross-env": "^10.1.0",
126
- "eslint": "^10.0.2",
126
+ "eslint": "^10.1.0",
127
127
  "eslint-config-prettier": "^10.1.8",
128
128
  "eslint-config-raine": "^0.5.0",
129
129
  "eslint-config-standard": "^17.1.0",
130
130
  "eslint-plugin-import": "^2.32.0",
131
- "eslint-plugin-jsdoc": "^62.7.0",
131
+ "eslint-plugin-jsdoc": "^62.8.0",
132
132
  "eslint-plugin-n": "^17.24.0",
133
133
  "eslint-plugin-promise": "^7.2.1",
134
- "lint-staged": "^16.2.7",
135
- "markdownlint-cli": "^0.47.0",
134
+ "lint-staged": "^16.4.0",
135
+ "markdownlint-cli": "^0.48.0",
136
136
  "mocha": "^11.7.5",
137
137
  "npm-run-all": "^4.1.5",
138
138
  "prettier": "^3.8.1",
139
139
  "rimraf": "^6.1.3",
140
- "rolldown": "1.0.0-rc.5",
141
- "rolldown-plugin-dts": "^0.22.1",
140
+ "rolldown": "1.0.0-rc.10",
141
+ "rolldown-plugin-dts": "^0.22.5",
142
142
  "rollup-plugin-node-externals": "^8.1.2",
143
- "rollup-plugin-visualizer": "^7.0.0",
143
+ "rollup-plugin-visualizer": "^7.0.1",
144
144
  "should": "^13.2.3",
145
145
  "simple-git-hooks": "^2.13.1",
146
- "sinon": "^21.0.1",
146
+ "sinon": "^21.0.3",
147
147
  "source-map-support": "^0.5.21",
148
- "strip-ansi": "^7.1.2",
148
+ "strip-ansi": "^7.2.0",
149
149
  "ts-node": "^10.9.2",
150
150
  "tsx": "^4.21.0",
151
151
  "typescript": "^5.9.3",
152
- "typescript-eslint": "^8.56.1",
152
+ "typescript-eslint": "^8.57.1",
153
153
  "typescript-json-schema": "^0.67.1",
154
- "verdaccio": "^6.2.7",
155
- "vite": "^7.3.1",
154
+ "verdaccio": "^6.3.2",
155
+ "vite": "^8.0.1",
156
156
  "vite-bundle-analyzer": "^1.3.6",
157
- "vite-node": "^5.3.0",
157
+ "vite-node": "^6.0.0",
158
158
  "vite-plugin-dts": "^4.5.4",
159
159
  "yarn": "^1.22.22"
160
160
  },