testHooksAreNeverApps

tcmts.cli.pages.testHooksAreNeverApps · #iaysjbtu · term

A definition named as a React hook by every name (use and a capital or digit) is one, and so never an app; a component, an entry point, a word that starts with "use", or a definition without a name isn't.

import { isHook } from "#codebase/tcmts/cli/pages";
import assert from "node:assert/strict";

export const testHooksAreNeverApps = () => {
  assert.equal(isHook(["tcmts.react.useNavigating"]), true);
  assert.equal(isHook(["lib.react.useAppUpdate", "app.use2"]), true);
  assert.equal(isHook(["app.useNavigating", "app.Navigating"]), false);
  assert.equal(isHook(["tcmts.registry.App"]), false);
  assert.equal(isHook(["polls.main"]), false);
  assert.equal(isHook(["app.user"]), false);
  assert.equal(isHook([]), false);
}

uses