{"_id":"lnk","_rev":"14-2f04f3ce60d8182ab95c1bf136c23038","name":"lnk","description":"Create links between files cross-platform","dist-tags":{"latest":"1.1.0"},"versions":{"0.4.2":{"name":"lnk","version":"0.4.2","description":"Create links between files","keywords":["link","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink","cli"],"license":"MIT","homepage":"https://github.com/schnittstabil/lnk","author":{"name":"Michael Mayer","email":"michael@schnittstabil.de"},"repository":{"type":"git","url":"https://github.com/schnittstabil/lnk.git"},"bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"main":"index.js","bin":{"lnk":"./cli.js"},"config":{"ghooks":{"pre-commit":"npm run -s lint","pre-push":"npm run pre-push"}},"scripts":{"test":"mocha","travis":"npm run pre-push && npm run upload-coveralls","pre-push":"npm run cover && istanbul check-coverage && npm run lint","cover":"npm run clean-cover && istanbul cover node_modules/mocha/bin/_mocha -- -R spec","upload-coveralls":"cat coverage/lcov.info | coveralls","lint":"npm -s run lint-js && npm -s run jscs && npm -s run lint-ec","lint-js":"globstar -n -- eslint \"*.js\" \"test/**/*.js\"","jscs":"jscs .","lint-ec":"globstar -n -- editorconfig-tools check \"*.js\" \"test/**/*.js\" \"*.json\" \"*.md\" \".*.yml\"","watch-tasks":"npm -s run test && npm -s run lint","watch":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run watch-tasks","watch-lint":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run lint","clean-temp":"rimraf temp","clean-cover":"rimraf coverage"},"devDependencies":{"coveralls":"^2.11.2","del":"^1.1.1","eslint":"^0.16.2","gazer-color":"0.0.3","ghooks":"^0.2.5","istanbul":"^0.3.6","jscs":"^1.11.3","mocha":"^2.1.0","mocha-lcov-reporter":"0.0.2","rewire":"^2.3.1","uuid":"^2.0.1"},"dependencies":{"array-series":"^0.1.5","each-async":"^1.1.1","editorconfig-tools":"^0.1.1","globstar":"^1.0.0","mkdirp":"^0.5.0","npmlog":"^1.1.0","object-assign":"^2.0.0","path-is-absolute":"^1.0.0","rimraf":"^2.2.8","yargs":"^3.4.5"},"gitHead":"93b621ba0417908bab48b7c4b845835bf4ca245f","_id":"lnk@0.4.2","_shasum":"36f5928738b5190f38cd95c2729c1655da3ac5eb","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"36f5928738b5190f38cd95c2729c1655da3ac5eb","tarball":"https://registry.npmjs.org/lnk/-/lnk-0.4.2.tgz","integrity":"sha512-xq/K/7JU0RO7j3/WUrWWTcrBWo3aqg9zvNRuj04Tk+8DffZlA+n51lLOrfQm2xSnmQqyhq9db7csQZ5igB1vYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmX7GJrGfM2DQifgooYJ7sTuVCJ7NS94OBYJ5GpdqjGgIgWtbySCO7bnAD2vB9zUMHdxQxNc5mbL1wUq0Iy10r19U="}]}},"0.4.3":{"name":"lnk","version":"0.4.3","description":"Create links between files","keywords":["link","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink","cli"],"license":"MIT","homepage":"https://github.com/schnittstabil/lnk","author":{"name":"Michael Mayer","email":"michael@schnittstabil.de"},"repository":{"type":"git","url":"https://github.com/schnittstabil/lnk.git"},"bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"main":"index.js","bin":{"lnk":"./cli.js"},"config":{"ghooks":{"pre-commit":"npm run -s lint","pre-push":"npm run pre-push"}},"scripts":{"test":"mocha","travis":"npm run pre-push && npm run upload-coveralls","pre-push":"npm run cover && istanbul check-coverage && npm run lint","cover":"npm run clean-cover && istanbul cover node_modules/mocha/bin/_mocha -- -R spec","upload-coveralls":"cat coverage/lcov.info | coveralls","lint":"npm -s run lint-js && npm -s run jscs && npm -s run lint-ec","lint-js":"globstar -n -- eslint \"*.js\" \"test/**/*.js\"","jscs":"jscs .","lint-ec":"globstar -n -- editorconfig-tools check \"*.js\" \"test/**/*.js\" \"*.json\" \"*.md\" \".*.yml\"","watch-tasks":"npm -s run test && npm -s run lint","watch":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run watch-tasks","watch-lint":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run lint","clean-temp":"rimraf temp","clean-cover":"rimraf coverage"},"devDependencies":{"coveralls":"^2.11.2","del":"^1.1.1","eslint":"^0.16.2","gazer-color":"0.0.3","ghooks":"^0.2.5","istanbul":"^0.3.6","jscs":"^1.11.3","mocha":"^2.1.0","mocha-lcov-reporter":"0.0.2","rewire":"^2.3.1","uuid":"^2.0.1"},"dependencies":{"array-series":"^0.1.5","each-async":"^1.1.1","editorconfig-tools":"^0.1.1","globstar":"^1.0.0","mkdirp":"^0.5.0","npmlog":"^1.1.0","object-assign":"^2.0.0","path-is-absolute":"^1.0.0","rimraf":"^2.2.8","yargs":"^3.4.5"},"gitHead":"f66f7103d32c1e4bb9fd02e88c4848953e5e5fae","_id":"lnk@0.4.3","_shasum":"a01e99e955849062fe4043b94ba4289f76106d12","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"a01e99e955849062fe4043b94ba4289f76106d12","tarball":"https://registry.npmjs.org/lnk/-/lnk-0.4.3.tgz","integrity":"sha512-Z6FJrwp1h+Xh3yR0eJ8ZraZE7C4WE3XNH7JUAvZ5X30NdKZc3RgrdmlSrfN+ds4K/u20ly2V2+mJqNmvvxjK/A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSrc4/EQ9cJHqyZbBAo3OMcQo8GPtXQAqD5wq8qWZ+hwIgDRnA8dBg+wMbsO4IiGTfIRR5TryKuR57Gc1MoJb3Z3c="}]}},"0.4.4":{"name":"lnk","version":"0.4.4","description":"Create links between files","keywords":["link","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink","cli"],"license":"MIT","homepage":"https://github.com/schnittstabil/lnk","author":{"name":"Michael Mayer","email":"michael@schnittstabil.de"},"repository":{"type":"git","url":"https://github.com/schnittstabil/lnk.git"},"bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"main":"index.js","bin":{"lnk":"./cli.js"},"config":{"ghooks":{"pre-commit":"npm run -s lint","pre-push":"npm run pre-push"}},"scripts":{"test":"mocha","travis":"npm run pre-push && npm run upload-coveralls","pre-push":"npm run cover && istanbul check-coverage && npm run lint","cover":"npm run clean-cover && istanbul cover node_modules/mocha/bin/_mocha -- -R spec","upload-coveralls":"cat coverage/lcov.info | coveralls","lint":"npm -s run lint-js && npm -s run jscs && npm -s run lint-ec","lint-js":"globstar -n -- eslint \"*.js\" \"test/**/*.js\"","jscs":"jscs .","lint-ec":"globstar -n -- editorconfig-tools check \"*.js\" \"test/**/*.js\" \"*.json\" \"*.md\" \".*.yml\"","watch-tasks":"npm -s run test && npm -s run lint","watch":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run watch-tasks","watch-lint":"gazer-color -p \"*.*\" -p \"test/**/*\" -- npm -s run lint","clean-temp":"rimraf temp","clean-cover":"rimraf coverage"},"devDependencies":{"coveralls":"^2.11.2","del":"^1.1.1","eslint":"^0.17.1","editorconfig-tools":"^0.1.1","gazer-color":"0.0.3","ghooks":"^0.3.0","globstar":"^1.0.0","istanbul":"^0.3.6","jscs":"^1.11.3","mocha":"^2.1.0","mocha-lcov-reporter":"0.0.2","rewire":"^2.3.1","uuid":"^2.0.1"},"dependencies":{"array-series":"^0.1.5","each-async":"^1.1.1","mkdirp":"^0.5.0","npmlog":"^1.1.0","object-assign":"^2.0.0","path-is-absolute":"^1.0.0","rimraf":"^2.2.8","yargs":"^3.4.5"},"gitHead":"fa1f6a9c5994ead42940f47cf7768edef36f7d3b","_id":"lnk@0.4.4","_shasum":"d28ee84bdabe2ef0d88b588142f1e1484d317d13","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"d28ee84bdabe2ef0d88b588142f1e1484d317d13","tarball":"https://registry.npmjs.org/lnk/-/lnk-0.4.4.tgz","integrity":"sha512-bKtBfvw/fZ8LWugj0aGHTWD9k9vsBUe7DwXNEANWqhhRee85+2YtcCUr+KWxpV8roiO9UcJZrBTw9xjM0mU2YQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCC515YHMEDkTUUJlE886oVQl4+twW4/JPokdcZ4iRIPAIhAOvHmbNJbq1AzxF9kvSuNpBChY85qbRY6B1fUmOUAp+n"}]}},"1.0.0":{"name":"lnk","version":"1.0.0","description":"Create links between files cross-platform","license":"MIT","repository":{"type":"git","url":"git+https://github.com/schnittstabil/lnk.git"},"keywords":["link","cross-platform","windows","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink"],"author":{"name":"Michael Mayer","email":"michael@schnittstabil.de","url":"schnittstabil.de"},"engines":{"node":">=4"},"dependencies":{"arrify":"^1.0.1","mkdirp":"^0.5.0","path-is-absolute":"^1.0.0","pify":"^2.3","rimraf":"^2.5.4"},"devDependencies":{"ava":"^0.16","coveralls":"^2.11","execa":"^0.4.0","nyc":"^8.3.0","rewire":"^2.3","uuid":"^2.0","xo":"^0.16.0"},"main":"index.js","bin":{"lnk":"./index.js"},"files":["cli.js","index.js","link.js"],"scripts":{"test":"xo && nyc ava","clean":"rimraf .nyc_output/ coverage/","coverage-html":"nyc ava && nyc report --reporter=html"},"gitHead":"7412e6f3bdd206f476c50168b7add6d77ea9cdf3","bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"homepage":"https://github.com/schnittstabil/lnk#readme","_id":"lnk@1.0.0","_shasum":"9d45cb107954e8823b3777a4fbb54c444d120eac","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"9d45cb107954e8823b3777a4fbb54c444d120eac","tarball":"https://registry.npmjs.org/lnk/-/lnk-1.0.0.tgz","integrity":"sha512-Ahb3prp599gt0eYbvOA5KeswxpOD60YfPqqrixAEDFDy3qKOzHgBmveC30wKpRTbe7t/HWGBBmQyUFJbbSv6aQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6bLDMyaWv4PP0QXOgHBLCwRV3Ig9N+Sv6dwEDX4UQDAIhAJMRPH3tnDkoMALI+E+H2irVhEk35tvg12Vf7f/XDvys"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/lnk-1.0.0.tgz_1475163754360_0.8061359093990177"}},"1.0.1":{"name":"lnk","version":"1.0.1","description":"Create links between files cross-platform","license":"MIT","repository":{"type":"git","url":"git+https://github.com/schnittstabil/lnk.git"},"keywords":["link","cross-platform","windows","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink"],"author":{"name":"Michael Mayer","email":"michael@schnittstabil.de","url":"schnittstabil.de"},"engines":{"node":">=4"},"dependencies":{"arrify":"^1.0.1","mkdirp":"^0.5.0","path-is-absolute":"^1.0.0","pify":"^2.3","rimraf":"^2.5.4"},"devDependencies":{"ava":"*","coveralls":"^2.11","execa":"*","nyc":"^8.3.0","rewire":"^2.3","uuid":"^2.0","xo":"*"},"files":["index.js","link.js"],"scripts":{"test":"xo && nyc ava","clean":"rimraf .nyc_output/ coverage/","coverage-html":"nyc ava && nyc report --reporter=html"},"gitHead":"71ab695fc9313f4a727fe954e1a8c1823215ea04","bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"homepage":"https://github.com/schnittstabil/lnk#readme","_id":"lnk@1.0.1","_shasum":"d07ff1740c133d8c49c4e86dd43c3cdbc63f133c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"d07ff1740c133d8c49c4e86dd43c3cdbc63f133c","tarball":"https://registry.npmjs.org/lnk/-/lnk-1.0.1.tgz","integrity":"sha512-2egifDZo2fpBFZYf2aeSwAHeXt5n3i1cZfnM4MjZfrM0x2iy2ZvJ2VwvIM2iFFstLVOFvD3sC9GplWVs00MArA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEIaNlN/j0L0KPwQKLtStRt+SH9KKkW/SF9lI5xSF5ifAiEAzio3Kcca1PO+RRlCIUyDR3Cil7WMrPwgPagxxn5YTns="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lnk-1.0.1.tgz_1476975649210_0.9869917032774538"}},"1.1.0":{"name":"lnk","version":"1.1.0","description":"Create links between files cross-platform","license":"MIT","repository":{"type":"git","url":"git+https://github.com/schnittstabil/lnk.git"},"keywords":["link","cross-platform","windows","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink"],"author":{"name":"Michael Mayer","email":"michael@schnittstabil.de","url":"schnittstabil.de"},"engines":{"node":">=4"},"dependencies":{"arrify":"^1.0.1","mkdirp":"^0.5.0","pify":"^2.3","rimraf":"^2.5.4"},"devDependencies":{"ava":"*","chalk":"^1.1.3","coveralls":"^2.11","execa":"*","globby":"^6.1.0","nyc":"^10.0","rewire":"^2.3","uuid":"^3.0","xo":"*"},"files":["assert-save-overwrite.js","index.js","link.js","options.js"],"scripts":{"test":"xo && nyc ava && test/_usage.js && test/_globby-usage.js && test/_rename-basic-usage.js && test/_rename-sophisticated-usage.js","clean":"rimraf .nyc_output/ coverage/ temp/","coverage-html":"nyc ava && nyc report --reporter=html"},"gitHead":"eaa14ca5d34d2727641849d57508ef8af650b26e","bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"homepage":"https://github.com/schnittstabil/lnk#readme","_id":"lnk@1.1.0","_shasum":"acee59b91ca9a0a8fc12a3dbc53b9edc5f353dd7","_from":".","_npmVersion":"2.15.8","_nodeVersion":"4.4.7","_npmUser":{"name":"schnittstabil","email":"michael@schnittstabil.de"},"maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"dist":{"shasum":"acee59b91ca9a0a8fc12a3dbc53b9edc5f353dd7","tarball":"https://registry.npmjs.org/lnk/-/lnk-1.1.0.tgz","integrity":"sha512-m3q+8W+stYiJYCBwefzrU+inN9h2KxofWuxhNH1iS+MdG9MIKfDpBtbmmIKstVwussx48PXALwonyzuzZUXjQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4RP79P80DjVnhcBt/528diYmb9VWj48TVufqC58yKgAiEA5mdJSOJMGXyL6y+Y2ebJS9iCbE+IYPuFzzRqkNZvIQg="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/lnk-1.1.0.tgz_1483823829614_0.6444060781504959"}}},"readme":"# lnk [![Build Status](https://travis-ci.org/schnittstabil/lnk.svg?branch=master)](https://travis-ci.org/schnittstabil/lnk) [![Build status](https://ci.appveyor.com/api/projects/status/ga62hvxd522ul7bs?svg=true)](https://ci.appveyor.com/project/schnittstabil/lnk) [![Coverage Status](https://coveralls.io/repos/schnittstabil/lnk/badge.svg?branch=master)](https://coveralls.io/r/schnittstabil/lnk?branch=master) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo)\n\n> Create links between files cross-platform\n\n## Why\n\n* Promise interface\n* Create _hard links_, _directory junctions_ and _symbolic links_ depending on the platform\n\n## Install\n\n```sh\n$ npm install lnk --save\n```\n\n## Usage\n\n```\n$ tree\n.\n└── assets\n    ├── favicon.ico\n    └── style\n        ├── app.css\n        └── vendor.css\n\n2 directories, 3 files\n```\n\n```js\nconst lnk = require('lnk');\n\nlnk(['assets/favicon.ico', 'assets/style'], 'dist')\n\t.then(() => console.log('done'));\n```\n\n```\n$ tree\n.\n├── assets\n│   ├── favicon.ico\n│   └── style\n│       ├── app.css\n│       └── vendor.css\n└── dist\n    ├── favicon.ico              // hard link to assets/favicon.ico\n    └── style -> ../assets/style // symlink; directory junction on windows\n\n4 directories, 4 files\n```\n\n\n## Glob support\n\n`lnk` don't support globbing by itself, `lnk` supports arrays of targets and Promises which resolve to these though:\n\n```js\nconst lnk = require('lnk');\nconst globby = require('globby');  // npm install globby\n\nlnk(globby('assets/*'), 'dist')\n\t.then(() => console.log('done'));\n```\n\n\n## API\n\n`lnk` provides a cross-platform convenience wrapper for the [`fs.link`](https://nodejs.org/api/fs.html#fs_fs_link_existingpath_newpath_callback) and [`fs.symlink`](https://nodejs.org/api/fs.html#fs_fs_symlink_target_path_type_callback) functions.\n\n### lnk(targets, directory, [opts])\n\nReturns a `Promise`.\n\n### lnk.sync (targets, directory, [opts])\n\nSynchronous version of `lnk`.\n\n#### targets\nType: `string|string[]`\n\nTargets of the links. `lnk()` additionally supports `Promise<string|string[]>`.\n\n#### directory\nType: `string`\n\nDestination directory.\n\n#### opts\nType: `object`\n\n##### cwd\nType: `string`<br>\nDefault: `process.cwd()`\n\nThe current working directory for `targets` and `directory`.\n\n##### force\nType: `boolean`<br>\nDefault: `false`\n\nOverwrite existing files.\n\n##### type\nType: `string`<br>\nValues: `'default'`, `'hard'`, `'symbolic'`, `'junction'` or `'directory'`<br>\nDefault: `'default'`\n\nBy `'default'`, `lnk` tries to create hard links, if this fails for a target because\nit is a directory `lnk` tries to create a directory junction (symbolic link on\nmodern OSs) for this target.\n\n##### parents\nType: `boolean`<br>\nDefault: `false`\n\nUse full source file name under `directory`.\n\n```js\n// w/o parents:\nlnk('assets/style/foo.css', 'dist/assets/style', ...);\n\n// w/ parents:\nlnk('assets/style/foo.css', 'dist', {parents: true}, ...);\n```\n\n##### rename\nType: `string|object|function(object):(string|object)`\n\nFilepath or function mapping a [_path object_](https://nodejs.org/api/path.html#path_path_parse_path) to a filename or _path object_; used to modify the path of the link before creating.\n\n\n###### Basic Example\n\n```\n$ tree\n.\n└── assets\n    ├── favicon.ICO\n    └── style\n        ├── app.css\n        └── vendor.css\n```\n\n```js\nconst path = require('path');\n\nPromise.all([\n\tlnk('assets/style', 'dist', {rename: 'css'}),\n\tlnk('assets/favicon.ICO', 'dist', {rename: pathOfLink => pathOfLink.base.toLowerCase()})\n]).then(() => console.log('done'));\n```\n\n```\n$ tree\n.\n├── assets\n│   ├── favicon.ICO\n│   └── style\n│       ├── app.css\n│       └── vendor.css\n└── dist\n    ├── css -> ../assets/style // symlink; directory junction on windows\n    └── favicon.ico            // hard link to assets/favicon.ICO\n```\n\n###### Sophisticated Example\n\n```\n$ tree\n.\n└── assets\n    ├── favicon.ico\n    └── style\n        ├── app.css\n        └── vendor.css\n```\n\n```js\nconst rename = pathOfLink => Object.assign(pathOfLink, {\n\tdir: path.join(pathOfLink.dir, '42'),\n\tbase: `prefix-${pathOfLink.name}` + pathOfLink.ext.toLowerCase()\n});\n\nlnk(['assets/favicon.ico', 'assets/style'], 'dist', {rename})\n\t.then(() => console.log('done'));\n```\n\n```\n$ tree\n.\n├── assets\n│   ├── favicon.ico\n│   └── style\n│       ├── app.css\n│       └── vendor.css\n└── dist\n    └── 42\n        ├── prefix-favicon.ico                 // hard link to assets/favicon.ico\n        └── prefix-style -> ../../assets/style // symlink; directory junction on windows\n```\n\n##### log\nType: `function`<br>\nDefault: `(level, prefix, message) => {}`\n\nA logger function, you may want to use `console.log` or `npmlog.log`, see [npmlog documentation](https://github.com/npm/npmlog) for details.\n\n## Related\n\n* [lnk-cli](https://github.com/schnittstabil/lnk-cli) – CLI version of this project\n* [globby](https://github.com/sindresorhus/globby) – if you need `glob` support for multiple patterns\n* [cpy](https://github.com/sindresorhus/cpy) – if you need to copy multiple files\n* [del](https://github.com/sindresorhus/del) – if you need to delete files and folders\n\n\n## License\n\nMIT © [Michael Mayer](http://schnittstabil.de)\n","maintainers":[{"name":"schnittstabil","email":"michael@schnittstabil.de"}],"time":{"modified":"2022-06-19T13:10:05.323Z","created":"2015-03-21T22:16:08.128Z","0.4.2":"2015-03-21T22:16:08.128Z","0.4.3":"2015-03-21T22:45:07.434Z","0.4.4":"2015-03-21T23:03:36.581Z","1.0.0":"2016-09-29T15:42:35.295Z","1.0.1":"2016-10-20T15:00:49.804Z","1.1.0":"2017-01-07T21:17:10.357Z"},"homepage":"https://github.com/schnittstabil/lnk#readme","keywords":["link","cross-platform","windows","symlink","linkSync","symlinkSync","hard","hardlink","soft","softlink","junction","directory","directory link","fs","file","ln","mklink"],"repository":{"type":"git","url":"git+https://github.com/schnittstabil/lnk.git"},"author":{"name":"Michael Mayer","email":"michael@schnittstabil.de","url":"schnittstabil.de"},"bugs":{"url":"https://github.com/schnittstabil/lnk/issues"},"license":"MIT","readmeFilename":"readme.md","users":{"schnittstabil":true,"tinyhill":true,"twinraven":true}}