anchor.diff:      cp -rf $SOURCE_DIR/dist/* $WWW_DIR && \
       rm -rf $SOURCE_DIR && \
       apt-get -y --auto-remove purge git nodejs nodejs-legacy npm && \
  +    apt-get -y autoremove && \
       apt-get -y clean && \
       rm -rf /var/lib/apt/lists/*
   
  
positive.code: ADD package.json $SOURCE_DIR/
  ADD README.md $SOURCE_DIR/
  
  # Add Git version information to it's own json file app-version.json
  RUN mkdir -p $SOURCE_DIR/.git
  ADD .git/HEAD $SOURCE_DIR/.git/HEAD
  ADD .git/refs $SOURCE_DIR/.git/refs
  RUN cd $SOURCE_DIR && \
      export GITREF=$(cat .git/HEAD | cut -d" " -f2) && \
      export GITSHA1=$(cat .git/$GITREF) && \
      echo "{\"git\": {\"sha1\": \"$GITSHA1\", \"ref\": \"$GITREF\"}}" > $WWW_DIR/app-version.json && \
      cd $SOURCE_DIR && \
      rm -rf $SOURCE_DIR/.git
  
  ############################################################
  # This is written so compact, to reduce the size of the
  # final container and its layers. We have to install build
  # dependencies, build the app, deploy the app to the web
  # root, remove the source code, and then uninstall the build
  # dependencies. When packed into one RUN instruction, the
  # resulting layer will hopefully only be comprised of the
  # installed app artifacts.
  ############################################################
  
  RUN apt-get -y install \
        git \
        nodejs \
        nodejs-legacy \
        npm \
        --no-install-recommends && \
      git config --global url."https://".insteadOf git:// && \
      cd $SOURCE_DIR && \
      npm install && \
  
negative.code: RUN echo "Acquire::http {No-Cache=True;};" > /etc/apt/apt.conf.d/no-cache
  
  ############################################################
  
  # Create dirs
  RUN mkdir -p  $SOURCE_DIR/dist \
                $SOURCE_DIR/app \
                $SOURCE_DIR/test \
                $SOURCE_DIR/.git 
  
  # Add dirs
  ADD app $SOURCE_DIR/app
  