pax_global_header00006660000000000000000000000064131133031010014474gustar00rootroot0000000000000052 comment=688ff7ba4576f64147ff6fc88bff66d34d5fd696 is-dotfile-2.0.0/000077500000000000000000000000001311330310100135325ustar00rootroot00000000000000is-dotfile-2.0.0/.editorconfig000066400000000000000000000004051311330310100162060ustar00rootroot00000000000000root = true [*] indent_style = space end_of_line = lf charset = utf-8 indent_size = 2 trim_trailing_whitespace = true insert_final_newline = true [{**/{actual,fixtures,expected,templates}/**,*.md}] trim_trailing_whitespace = false insert_final_newline = falseis-dotfile-2.0.0/.eslintrc.json000066400000000000000000000071251311330310100163330ustar00rootroot00000000000000{ "ecmaFeatures": { "modules": true, "experimentalObjectRestSpread": true }, "env": { "browser": false, "es6": true, "node": true, "mocha": true }, "globals": { "document": false, "navigator": false, "window": false }, "rules": { "accessor-pairs": 2, "arrow-spacing": [2, { "before": true, "after": true }], "block-spacing": [2, "always"], "brace-style": [2, "1tbs", { "allowSingleLine": true }], "comma-dangle": [2, "never"], "comma-spacing": [2, { "before": false, "after": true }], "comma-style": [2, "last"], "constructor-super": 2, "curly": [2, "multi-line"], "dot-location": [2, "property"], "eol-last": 2, "eqeqeq": [2, "allow-null"], "generator-star-spacing": [2, { "before": true, "after": true }], "handle-callback-err": [2, "^(err|error)$" ], "indent": [2, 2, { "SwitchCase": 1 }], "key-spacing": [2, { "beforeColon": false, "afterColon": true }], "keyword-spacing": [2, { "before": true, "after": true }], "new-cap": [2, { "newIsCap": true, "capIsNew": false }], "new-parens": 2, "no-array-constructor": 2, "no-caller": 2, "no-class-assign": 2, "no-cond-assign": 2, "no-const-assign": 2, "no-control-regex": 2, "no-debugger": 2, "no-delete-var": 2, "no-dupe-args": 2, "no-dupe-class-members": 2, "no-dupe-keys": 2, "no-duplicate-case": 2, "no-empty-character-class": 2, "no-eval": 2, "no-ex-assign": 2, "no-extend-native": 2, "no-extra-bind": 2, "no-extra-boolean-cast": 2, "no-extra-parens": [2, "functions"], "no-fallthrough": 2, "no-floating-decimal": 2, "no-func-assign": 2, "no-implied-eval": 2, "no-inner-declarations": [2, "functions"], "no-invalid-regexp": 2, "no-irregular-whitespace": 2, "no-iterator": 2, "no-label-var": 2, "no-labels": 2, "no-lone-blocks": 2, "no-mixed-spaces-and-tabs": 2, "no-multi-spaces": 2, "no-multi-str": 2, "no-multiple-empty-lines": [2, { "max": 1 }], "no-native-reassign": 0, "no-negated-in-lhs": 2, "no-new": 2, "no-new-func": 2, "no-new-object": 2, "no-new-require": 2, "no-new-wrappers": 2, "no-obj-calls": 2, "no-octal": 2, "no-octal-escape": 2, "no-proto": 0, "no-redeclare": 2, "no-regex-spaces": 2, "no-return-assign": 2, "no-self-compare": 2, "no-sequences": 2, "no-shadow-restricted-names": 2, "no-spaced-func": 2, "no-sparse-arrays": 2, "no-this-before-super": 2, "no-throw-literal": 2, "no-trailing-spaces": 0, "no-undef": 2, "no-undef-init": 2, "no-unexpected-multiline": 2, "no-unneeded-ternary": [2, { "defaultAssignment": false }], "no-unreachable": 2, "no-unused-vars": [2, { "vars": "all", "args": "none" }], "no-useless-call": 0, "no-with": 2, "one-var": [0, { "initialized": "never" }], "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }], "padded-blocks": [0, "never"], "quotes": [2, "single", "avoid-escape"], "radix": 2, "semi": [2, "always"], "semi-spacing": [2, { "before": false, "after": true }], "space-before-blocks": [2, "always"], "space-before-function-paren": [2, "never"], "space-in-parens": [2, "never"], "space-infix-ops": 2, "space-unary-ops": [2, { "words": true, "nonwords": false }], "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], "use-isnan": 2, "valid-typeof": 2, "wrap-iife": [2, "any"], "yoda": [2, "never"] } } is-dotfile-2.0.0/.gitattributes000066400000000000000000000003551311330310100164300ustar00rootroot00000000000000# Enforce Unix newlines *.* text eol=lf *.css text eol=lf *.html text eol=lf *.js text eol=lf *.json text eol=lf *.less text eol=lf *.md text eol=lf *.yml text eol=lf *.jpg binary *.gif binary *.png binary *.jpeg binaryis-dotfile-2.0.0/.gitignore000066400000000000000000000004171311330310100155240ustar00rootroot00000000000000# always ignore files *.DS_Store *.sublime-* # test related, or directories generated by tests test/actual actual coverage .nyc* # npm node_modules npm-debug.log # yarn yarn.lock yarn-error.log # misc _gh_pages _draft _drafts bower_components vendor temp tmp TODO.md is-dotfile-2.0.0/.travis.yml000066400000000000000000000001741311330310100156450ustar00rootroot00000000000000sudo: false os: - linux - osx language: node_js node_js: - node - '7' - '6' - '5' - '4' - '0.12' - '0.10' is-dotfile-2.0.0/.verb.md000066400000000000000000000010071311330310100150660ustar00rootroot00000000000000## Usage To be considered a dotfile, it must be the last filename in the path, like `.gitignore`. Otherwise it's a [dot directory][is-dotdir], like `.git/` and `.github/`. ```js var isDotfile = require('{%= name %}'); ``` **false** All of the following return `false`: ```js isDotfile('a/b/c.js'); isDotfile('/.git/foo'); isDotfile('a/b/c/.git/foo'); //=> false ``` **true** All of the following return `true`: ```js isDotfile('a/b/.gitignore'); isDotfile('.gitignore'); isDotfile('/.gitignore'); //=> true ``` is-dotfile-2.0.0/LICENSE000066400000000000000000000020771311330310100145450ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2015-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. is-dotfile-2.0.0/README.md000066400000000000000000000072471311330310100150230ustar00rootroot00000000000000# is-dotfile [![NPM version](https://img.shields.io/npm/v/is-dotfile.svg?style=flat)](https://www.npmjs.com/package/is-dotfile) [![NPM monthly downloads](https://img.shields.io/npm/dm/is-dotfile.svg?style=flat)](https://npmjs.org/package/is-dotfile) [![NPM total downloads](https://img.shields.io/npm/dt/is-dotfile.svg?style=flat)](https://npmjs.org/package/is-dotfile) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/is-dotfile.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/is-dotfile) > Return true if a file path is (or has) a dotfile. Returns false if the path is a dot directory. ## Install Install with [npm](https://www.npmjs.com/): ```sh $ npm install --save is-dotfile ``` ## Usage To be considered a dotfile, it must be the last filename in the path, like `.gitignore`. Otherwise it's a [dot directory](https://github.com/jonschlinkert/is-dotdir), like `.git/` and `.github/`. ```js var isDotfile = require('is-dotfile'); ``` **false** All of the following return `false`: ```js isDotfile('a/b/c.js'); isDotfile('/.git/foo'); isDotfile('a/b/c/.git/foo'); //=> false ``` **true** All of the following return `true`: ```js isDotfile('a/b/.gitignore'); isDotfile('.gitignore'); isDotfile('/.gitignore'); //=> true ``` ## About ### Related projects * [dotdir-regex](https://www.npmjs.com/package/dotdir-regex): Regex for matching dot-directories, like `.git/` | [homepage](https://github.com/regexps/dotdir-regex "Regex for matching dot-directories, like `.git/`") * [dotfile-regex](https://www.npmjs.com/package/dotfile-regex): Regular expresson for matching dotfiles. | [homepage](https://github.com/regexps/dotfile-regex "Regular expresson for matching dotfiles.") * [is-dotdir](https://www.npmjs.com/package/is-dotdir): Returns true if a path is a dot-directory. | [homepage](https://github.com/jonschlinkert/is-dotdir "Returns true if a path is a dot-directory.") * [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet") ### Contributing Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). ### Contributors | **Commits** | **Contributor** | | --- | --- | | 13 | [jonschlinkert](https://github.com/jonschlinkert) | | 1 | [Lykathia](https://github.com/Lykathia) | ### Building docs _(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ To generate the readme, run the following command: ```sh $ npm install -g verbose/verb#dev verb-generate-readme && verb ``` ### Running tests Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: ```sh $ npm install && npm test ``` ### Author **Jon Schlinkert** * [github/jonschlinkert](https://github.com/jonschlinkert) * [twitter/jonschlinkert](https://twitter.com/jonschlinkert) ### License Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). Released under the [MIT License](LICENSE). *** _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 30, 2017._is-dotfile-2.0.0/benchmark/000077500000000000000000000000001311330310100154645ustar00rootroot00000000000000is-dotfile-2.0.0/benchmark/.gitignore000066400000000000000000000000131311330310100174460ustar00rootroot00000000000000*.DS_Store is-dotfile-2.0.0/benchmark/code/000077500000000000000000000000001311330310100163765ustar00rootroot00000000000000is-dotfile-2.0.0/benchmark/code/index-of.js000066400000000000000000000003571311330310100204520ustar00rootroot00000000000000 module.exports = function(str) { if (str.charCodeAt(0) === 46 /* . */ && str.indexOf('/', 1) === -1) { return true; } var last = str.lastIndexOf('/'); return last !== -1 ? str.charCodeAt(last + 1) === 46 /* . */ : false; }; is-dotfile-2.0.0/benchmark/code/regex.js000077500000000000000000000001701311330310100200470ustar00rootroot00000000000000 var dotfileRe = require('dotfile-regex'); module.exports = function isDotfile(fp) { return dotfileRe().test(fp); }; is-dotfile-2.0.0/benchmark/fixtures/000077500000000000000000000000001311330310100173355ustar00rootroot00000000000000is-dotfile-2.0.0/benchmark/fixtures/is.js000077500000000000000000000000501311330310100203040ustar00rootroot00000000000000module.exports = ['a/b/c/d/.gitignore'];is-dotfile-2.0.0/benchmark/fixtures/long-not.js000066400000000000000000000001431311330310100214260ustar00rootroot00000000000000module.exports = ['a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/foo.gitignore'];is-dotfile-2.0.0/benchmark/fixtures/long.js000066400000000000000000000001401311330310100206250ustar00rootroot00000000000000module.exports = ['a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/a/b/c/d/.gitignore'];is-dotfile-2.0.0/benchmark/fixtures/not.js000077500000000000000000000000421311330310100204720ustar00rootroot00000000000000module.exports = ['a/b/c/d/e.js'];is-dotfile-2.0.0/benchmark/fixtures/start.js000066400000000000000000000000401311330310100210220ustar00rootroot00000000000000module.exports = ['.gitignore'];is-dotfile-2.0.0/benchmark/index.js000077500000000000000000000002571311330310100171400ustar00rootroot00000000000000'use strict'; var Suite = require('benchmarked'); var suite = new Suite({ result: true, fixtures: 'fixtures/*.js', add: 'code/*.js', cwd: __dirname }); suite.run();is-dotfile-2.0.0/index.js000066400000000000000000000004141311330310100151760ustar00rootroot00000000000000/*! * is-dotfile * * Copyright (c) 2015-2017, Jon Schlinkert. * Released under the MIT License. */ var dotfileRegex = require('dotfile-regex'); module.exports = function(str) { return dotfileRegex().test(str); }; is-dotfile-2.0.0/package.json000066400000000000000000000026151311330310100160240ustar00rootroot00000000000000{ "name": "is-dotfile", "description": "Return true if a file path is (or has) a dotfile. Returns false if the path is a dot directory.", "version": "2.0.0", "homepage": "https://github.com/jonschlinkert/is-dotfile", "author": "Jon Schlinkert (https://github.com/jonschlinkert)", "contributors": [ "Evan Lowry (http://exitiumonline.com)", "Jon Schlinkert (http://twitter.com/jonschlinkert)" ], "repository": "jonschlinkert/is-dotfile", "bugs": { "url": "https://github.com/jonschlinkert/is-dotfile/issues" }, "license": "MIT", "files": [ "index.js" ], "main": "index.js", "engines": { "node": ">=0.10.0" }, "scripts": { "test": "mocha" }, "devDependencies": { "benchmarked": "^0.1.3", "dotfile-regex": "^0.1.2", "gulp-format-md": "^0.1.12", "mocha": "*" }, "keywords": [ "detect", "dot", "dotfile", "expression", "file", "filepath", "find", "fs", "is", "match", "path", "regex", "regexp", "regular" ], "verb": { "related": { "list": [ "dotdir-regex", "dotfile-regex", "is-dotdir", "is-glob" ] }, "toc": false, "layout": "default", "tasks": [ "readme" ], "plugins": [ "gulp-format-md" ], "lint": { "reflinks": true } }, "dependencies": { "dotfile-regex": "^0.1.2" } } is-dotfile-2.0.0/test.js000066400000000000000000000015101311330310100150440ustar00rootroot00000000000000/*! * is-dotfile * * Copyright (c) 2015 Jon Schlinkert. * Licensed under the MIT License */ 'use strict'; require('mocha'); var assert = require('assert'); var isDotfile = require('./'); describe('is-dotfile', function() { var truthy = [ 'a/b/c/d/e.js', 'a/b.js', 'a/.git/c/a.js', '.github/contributor.md', '.git/foo', ].forEach(function(filepath) { it('should be false: ' + filepath, function() { assert(!isDotfile(filepath)); }); }); var falsey = [ '.git', '.travis.yml', '.editorconfig', '/.git', 'a/b.c.d/e.js/.git', 'a/.b/c/.gitignore', 'a/.gitignore', 'a/b/c/d/.gitignore', ].forEach(function(filepath) { it('should be true: ' + filepath, function() { assert(isDotfile(filepath)); }); }); });