Coder Social home page Coder Social logo

grunt-contrib-symlink's Introduction

grunt-contrib-symlink v1.0.0 Build Status: Linux

Create symbolic links.

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-contrib-symlink --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-contrib-symlink');

Symlink task

Run this task with the grunt symlink command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide. Pay special attention to the Building the files object dynamically section, which explains how to create many src-dest file mappings all at once.

Note that the (Windows feature only) symlink mode (file, dir) is determined automatically based on the src file type, but takes into account dirmode parameter and allows using junctions instead of dir symlinks.

Usage Examples

symlink: {
  options: {
    // Enable having dir symlink or junction for Windows
    dirmode: 'dir'
    // Enable overwrite to delete symlinks before recreating them
    overwrite: false,
    // Enable force to overwrite symlinks outside the current working directory
    force: false
  },
  // The "build/target.txt" symlink will be created and linked to
  // "source/target.txt". It should appear like this in a file listing:
  // build/target.txt -> ../source/target.txt
  explicit: {
    src: 'source/target.txt',
    dest: 'build/target.txt'
  },
  // These examples using "expand" to generate src-dest file mappings:
  // http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically
  expanded: {
    files: [
      // All child files and directories in "source", starting with "foo-" will
      // be symlinked into the "build" directory, with the leading "source"
      // stripped off.
      {
        expand: true,
        overwrite: false,
        cwd: 'source',
        src: ['foo-*'],
        dest: 'build'
      },
      // All child directories in "source" will be symlinked (or junctioned on Windows only) into the "build"
      // directory, with the leading "source" stripped off.
      {
        expand: true,
        overwrite: false,
        dirmode: 'junction',
        cwd: 'source',
        src: ['*'],
        dest: 'build',
        filter: 'isDirectory'
      }
    ]
  },
}

CLI overwrite option

To override the overwrite option via the CLI pass it as an option

  grunt symlink --overwrite

Usage tips on Microsoft Windows

Make sure your command prompt has administrative privileges for standard symlinks, otherwise the task will not work. Junctions does not require administrative privileges but due to bug in old version of node (v0.10) they are required.

Release History

  • 2016-02-28   v1.0.0   Added force option when overwriting a symlink outside the current working directory.
  • 2014-02-01   v0.3.0   Fixed symlinking to '.' Add Windows usage hints. Added error logging and force failure when unable to create a symlink
  • 2013-07-26   v0.2.0   Initial release as rewritten, officially-maintained, contrib plugin.
  • 2012-12-21   v0.1.1   Unofficial release.
  • 2012-12-20   v0.1.0   Unofficial release.

Task submitted by "Cowboy" Ben Alman

This file was generated on Sun Feb 28 2016 20:26:42.

grunt-contrib-symlink's People

Contributors

bobholt avatar cowboy avatar ehmicky avatar forivall avatar kolipka avatar shama avatar sindresorhus avatar vladikoff avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.