Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

broccoli-tree-walker

webark101MIT1.0.1

Broccoli wrapper over walk-sync and fs-tree-diff

broccoli, broccoli-plugin, broccoli-helper, tree-diff, file-walker

readme

broccoli-tree-walker

Helper base class for Broccoli plugins wraps fs-tree-diff and node-walk-sync providing different methods based off of different file operations.

API

class TreeWalker {
  /**
   * Virtual method `unlink`: Called when you remove the specified file
   */
  virtual unlink(filePath: string, rootPath: string): any

  /**
   * Virtual method `rmdir`: Called when you remove the specified folder
   */
  virtual rmdir(filePath: string, rootPath: string): any

  /**
   * Virtual method `mkdir`: Called when you create the specified folder
   */
  virtual mkdir(filePath: string, rootPath: string): any

  /**
   * Virtual method `create`: Called when you create the specified file
   */
  virtual create(filePath: string, rootPath: string): any

  /**
   * Virtual method `change`: Called when you update the specified file to reflect changes
   */
  virtual change(filePath: string, rootPath: string): any

  /**
   * Virtal method `nodesChanged` Called when a change has been made to one of the input nodes
   */
  virtual nodesChanged(patchResults: Array<FSTree.Patch>): any
}

Options

All options except name and annotation can also be set on the prototype instead of being passed into the constructor.

Example Usage

const TreeWalker = require('broccoli-tree-walker');

class FileWriter extends Walker {
  _fileContents() {
    return `/* some file contents */`;
  }

  create(filePath) {
    const fullFilePath = path.join(this.outputPath, filePath);
    return fs.outputFileSync(fullFilePath, this._someFileContents(filePath));
  }

  unlink(filePath) {
    const fullFilePath = path.join(this.outputPath, filePath);
    return fs.removeSync(fullFilePath);
  }
}

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

1.0.1 (2020-07-25)

1.0.0 (2019-09-09)

Features

  • base walker: inital commit (03fbc5b)