function isSelfUpdatable
isSelfUpdatable(channel: InstallChannel): boolean

Whether this channel's updater is qunitx's to run.

True for the two that install a user-level qunitx someone asked to upgrade and nothing else depends on: the JSR launcher's shim, and a global npm install. Running their updater is exactly what upgrade was asked to do, and neither touches a file this process is reading — deno install rewrites the shim and caches a NEW version beside the running one.

False for the rest, and for different reasons. A project dependency is a change to someone's repository, which is theirs to make (--write-manifest bumps the range for them). A deno-cache run installed nothing, so there is nothing to replace. A source checkout is a git working tree, where git pull can conflict, rebase, or land on the wrong branch.

import * as Channel from './channel.ts';

Channel.isSelfUpdatable({ kind: 'npm-global', prefix: '/usr/lib' }); // true
Channel.isSelfUpdatable({ kind: 'source', entry: '/repo/cli.ts' }); // false

Parameters

Return Type

boolean

Usage

import { isSelfUpdatable } from "lib/commands/upgrade/channel.ts";