Module embedex - v0.3.2

embedex

Embed shared text and code snippets from source files into destination files that appear on hover in IDEs. For example:

  • Embed TypeScript examples into TypeDoc comments and your README.
  • Embed a Markdown snippet into multiple JSDoc comments.

embedex helps ensure a single source of truth while keeping sources runnable, linted, tested, and up-to-date with the code they are documenting.

Install as a dev dependency in your project:

npm install --save-dev embedex

Or globally:

npm install --global embedex
  1. Add a source file to the ./examples directory (configurable). The first line is a comma-separated list of destination file paths to embed the source's file contents into. ./examples/greeter.ts:

    // README.md,src/greeter.ts
    import { greet } from "@my-scope/greeter";

    greet("world");
  2. In the destination file, add an <embedex source="..."></embedex> tag that includes the source file's path.

    • ./README.md:

      # greeter

      Greets a person by name.

      <embedex source="examples/greeter.ts">
      </embedex>
    • ./src/greeter.ts:

      /**
      * Greets a person by name.
      *
      * @example
      * <embedex source="examples/greeter.ts">
      * </embedex>
      */
      function greet(name: string) {
      console.log(`Hello, ${name}!`);
      }
  3. Run npx embedex.

  4. The source is embedded!

    • ./README.md:

      # greeter

      Greets a person by name.

      <embedex source="examples/greeter.ts">

      ```ts
      import { greet } from "@my-scope/greeter";

      greet("world");
      ```

      </embedex>
    • ./src/greeter.ts:

      /**
      * Greets a person by name.
      *
      * @example
      * <embedex source="examples/greeter.ts">
      *
      * ```ts
      * import { greet } from "@my-scope/greeter";
      *
      * greet("world");
      * ```
      *
      * </embedex>
      */
      function greet(name: string) {
      console.log(`Hello, ${name}!`);
      }
Usage: embedex [options]

Embed shared text and code snippets from source files into destination files.

Options:
-V, --version output the version number
-s, --sourcesGlob <pattern> sources glob pattern (default: "examples/**/*.{md,ts}")
-c, --check verify if sources are correctly embedded without making changes,
exits with non-zero code if updates are needed; useful for CI/CD
pipelines (default: false)
-v, --verbose show verbose output (default: false)
-h, --help display help for command

See package.json scripts for a list of commands.

Interfaces

EmbedParams
EmbedResult
Result

Type Aliases

Code
DestinationPath
Embed
NoChange
NoMatch
SourcePath
Updated

Functions

embed