anchor.diff:    # If there's a namespace, by default it will be prepended to the package
     # name. Otherwise, a prefix can be given explicitly.
     namePrefix ? (if namespace == null then "" else "${namespace}-"),
  -
  -  # List of names of circular dependencies (dependencies which
  -  # reflexively depend on this package).
  -  circularDependencies ? [],
   
     # List of (runtime) dependencies.
     deps ? [],
  
positive.code: 
      patchPhase = ''
        runHook prePatch
        patchShebangs $PWD
  
        # Ensure that the package name matches what is in the package.json.
        node ${./checkPackageJson.js} checkPackageName ${fullName}
  
negative.code:         runHook preShellHook
          runHook setVariables
          export PATH=${npm}/bin:${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH
          rm -rf $TMPDIR/$UNIQNAME
          mkdir -p $TMPDIR/$UNIQNAME
          (
            cd $TMPDIR/$UNIQNAME
            eval "$configurePhase"
          )
          echo "Installed $fullName dependencies in temporary directory" \
               "$TMPDIR/$UNIQNAME"
          export PATH=$TMPDIR/$UNIQNAME/node_modules/.bin:$PATH
          NODE_MODULES=$TMPDIR/$UNIQNAME/node_modules
          export NODE_PATH=$NODE_MODULES:$NODE_PATH
          # Check if the current directory contains the package.json for
          # this package.
          if python -c "import json; assert json.load(open('package.json'))['name'] == '$fullName'" 2>/dev/null; then
            echo "Symlinking current directory into node modules folder..."
            mkdir -p $(dirname $NODE_MODULES/$fullName)
            ln -s $(pwd) $NODE_MODULES/$fullName
            if echo "require('$fullName')" | node; then
              echo "Successfully set up $fullName in local environment."
            else
              echo "WARNING: could not set up $fullName in local environment."
            fi
          else
            echo "WARNING: you are not in the directory for package $fullName," \
                 "so the shell hook can't symlink the local source code into" \
                 "the temporary node_modules directory. This might, for" \
                 "example, prevent you from being able to" \
                 "\`require('$fullName')\` in a node REPL. You might need to" \
                 "do something manually to set this up; for example if this" \
                 "package's source is a tarball, the command" '`tar -xf $src;' \
                 'ln -s $PWD/package $NODE_MODULES/$fullName` might work.'
          fi
          runHook postShellHook
        '';
  
        meta = {
          maintainers = [ stdenv.lib.maintainers.offline ];
  