├── .verb.md ├── .travis.yml ├── .gitattributes ├── .gitignore ├── .editorconfig ├── index.js ├── LICENSE ├── package.json ├── test.js ├── README.md ├── .eslintrc.json └── yarn.lock /.verb.md: -------------------------------------------------------------------------------- 1 | ## Usage 2 | 3 | ```js 4 | var regex = require('{%= name %}')(); 5 | 6 | regex.match('match words.'); 7 | //=> ['match', 'words'] 8 | regex.match('match words, again.'); 9 | //=> ['match', 'words', 'again'] 10 | ``` 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | - "0.12" 8 | - "0.10" 9 | matrix: 10 | fast_finish: true 11 | allow_failures: 12 | - node_js: "4" 13 | - node_js: "0.10" 14 | - node_js: "0.12" 15 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Enforce Unix newlines 2 | *.* text eol=lf 3 | *.css text eol=lf 4 | *.html text eol=lf 5 | *.js text eol=lf 6 | *.json text eol=lf 7 | *.less text eol=lf 8 | *.md text eol=lf 9 | *.yml text eol=lf 10 | 11 | *.jpg binary 12 | *.gif binary 13 | *.png binary 14 | *.jpeg binary -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # always ignore files 2 | *.DS_Store 3 | *.sublime-* 4 | 5 | # test related, or directories generated by tests 6 | test/actual 7 | actual 8 | coverage 9 | 10 | # npm 11 | node_modules 12 | npm-debug.log 13 | 14 | # misc 15 | _gh_pages 16 | bower_components 17 | vendor 18 | temp 19 | tmp 20 | TODO.md 21 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | indent_size = 2 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [{**/{actual,fixtures,expected,templates}/**,*.md}] 12 | trim_trailing_whitespace = false 13 | insert_final_newline = false -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * word-regex 3 | * 4 | * Copyright (c) 2015 Jon Schlinkert. 5 | * Licensed under the MIT license. 6 | */ 7 | 8 | 'use strict'; 9 | 10 | // Modified from: https://github.com/lepture/editor/blob/master/src/intro.js#L343 11 | module.exports = function () { 12 | return /[a-zA-Z0-9_'\u0392-\u03c9\u0400-\u04FF\u0027]+|[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|[\u00E4\u00C4\u00E5\u00C5\u00F6\u00D6]+|[\u0531-\u0556\u0561-\u0586\u0559\u055A\u055B]+|\w+/g; 13 | }; 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2016, Jon Schlinkert 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "word-regex", 3 | "description": "Regular expression for matching words in a string. Support for english, CJK and Cyrillic.", 4 | "version": "0.1.3", 5 | "homepage": "https://github.com/regexps/word-regex", 6 | "author": "Jon Schlinkert (https://github.com/jonschlinkert)", 7 | "repository": "regexps/word-regex", 8 | "bugs": { 9 | "url": "https://github.com/regexps/word-regex/issues" 10 | }, 11 | "license": "MIT", 12 | "files": [ 13 | "index.js" 14 | ], 15 | "main": "index.js", 16 | "engines": { 17 | "node": ">=0.10.0" 18 | }, 19 | "scripts": { 20 | "test": "mocha" 21 | }, 22 | "devDependencies": { 23 | "gulp-format-md": "^0.1.11", 24 | "mocha": "^3.2.0" 25 | }, 26 | "keywords": [ 27 | "count", 28 | "detect", 29 | "exec", 30 | "expression", 31 | "find", 32 | "match", 33 | "regex", 34 | "regexp", 35 | "regular", 36 | "split", 37 | "test", 38 | "word", 39 | "words" 40 | ], 41 | "verb": { 42 | "related": { 43 | "list": [ 44 | "copyright-regex", 45 | "is-equal-regex", 46 | "todo-regex", 47 | "whitespace-regex" 48 | ] 49 | }, 50 | "toc": false, 51 | "layout": "default", 52 | "tasks": [ 53 | "readme" 54 | ], 55 | "plugins": [ 56 | "gulp-format-md" 57 | ], 58 | "lint": { 59 | "reflinks": true 60 | }, 61 | "reflinks": [ 62 | "verb", 63 | "verb-generate-readme" 64 | ] 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('mocha'); 4 | var assert = require('assert'); 5 | var wordRegex = require('./'); 6 | 7 | function match(str) { 8 | return str.match(wordRegex()); 9 | } 10 | 11 | function wordcount(str) { 12 | var m = match(str); 13 | return m ? m.length : 0; 14 | } 15 | 16 | describe('wordRegex', function () { 17 | it('should match words in a string:', function () { 18 | assert.deepEqual(match('foo bar baz'), ['foo', 'bar', 'baz']); 19 | assert.deepEqual(match('foo baz'), ['foo', 'baz']); 20 | }); 21 | 22 | it('should count the words in a string.', function () { 23 | assert.strictEqual(wordcount('Count the words in string.'), 5); 24 | assert.strictEqual(wordcount('Count the words in string, again.'), 6); 25 | }); 26 | 27 | it('should count contractions in a string as one word.', function () { 28 | assert.strictEqual(wordcount('You can\'t count contractions as two words.'), 7); 29 | }); 30 | 31 | it('should count the words in a cyrillic string.', function () { 32 | assert.strictEqual(wordcount('Тест стринг кирилица.'), 3) 33 | }); 34 | 35 | it('should count the words in mixed latin and cyrillic string', function () { 36 | assert.strictEqual(wordcount('Тест mixed стринг кирилица and latin string.'), 7) 37 | }); 38 | 39 | it('should count the words in mixed chinese (traditional) and latin string', function () { 40 | assert.strictEqual(wordcount('We are 我們是 朋友 from Bulgaria'), 6); 41 | }); 42 | 43 | it('should count the words in korean-latin-cyrillic string', function () { 44 | assert.strictEqual(wordcount('I am from България, and speak 한국어 언어'), 8); 45 | }); 46 | 47 | it('should count the words in swedish string', function() { 48 | assert.strictEqual(wordcount('Island is ö, stream is å and then we have ä. ÅÄÖ!'), 12); 49 | }) 50 | 51 | it('should count the words in armenian string with apostrophe', function() { 52 | assert.strictEqual(wordcount('Լինում է, չի լինում մի խեղճ մարդանունը Նազար: Էս Նազարը մի անշնորհք ու ալարկոտ մարդ է լինում: Էնքան էլ վախկոտ, էնքան էլ վախկոտ, որ մենակ ոտը ոտի առաջ չէր դնիլ, թեկուզ սպանեիր: Օրը մինչև իրիկուն կնկա կողքը կտրած նրա հետ էր դուրս գնալիս դուրս էր գնում, տուն գալիս` տուն գալի: Դրա համար էլ անունը դնում են վախկոտ Նազար: Ժաննա դ՚Արկ'), 60); 53 | }) 54 | }); 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # word-regex [![NPM version](https://img.shields.io/npm/v/word-regex.svg?style=flat)](https://www.npmjs.com/package/word-regex) [![NPM monthly downloads](https://img.shields.io/npm/dm/word-regex.svg?style=flat)](https://npmjs.org/package/word-regex) [![NPM total downloads](https://img.shields.io/npm/dt/word-regex.svg?style=flat)](https://npmjs.org/package/word-regex) [![Linux Build Status](https://img.shields.io/travis/regexhq/word-regex.svg?style=flat&label=Travis)](https://travis-ci.org/regexhq/word-regex) 2 | 3 | > Regular expression for matching words in a string. Support for english, CJK and Cyrillic. 4 | 5 | ## Install 6 | 7 | Install with [npm](https://www.npmjs.com/): 8 | 9 | ```sh 10 | $ npm install --save word-regex 11 | ``` 12 | 13 | ## Usage 14 | 15 | ```js 16 | var regex = require('word-regex')(); 17 | 18 | 'match words.'.match(regex); 19 | //=> ['match', 'words'] 20 | 'match words, again.'.match(regex); 21 | //=> ['match', 'words', 'again'] 22 | ``` 23 | 24 | ## About 25 | 26 | ### Related projects 27 | 28 | * [copyright-regex](https://www.npmjs.com/package/copyright-regex): Regex for matching and parsing copyright statements. | [homepage](https://github.com/regexps/copyright-regex "Regex for matching and parsing copyright statements.") 29 | * [is-equal-regex](https://www.npmjs.com/package/is-equal-regex): Returns true if regular expression A is equal to regex B. Compares the expression and… [more](https://github.com/jonschlinkert/is-equal-regex) | [homepage](https://github.com/jonschlinkert/is-equal-regex "Returns true if regular expression A is equal to regex B. Compares the expression and flags.") 30 | * [todo-regex](https://www.npmjs.com/package/todo-regex): Regular expression for matching TODO statements in a string. | [homepage](https://github.com/regexps/todo-regex "Regular expression for matching TODO statements in a string.") 31 | * [whitespace-regex](https://www.npmjs.com/package/whitespace-regex): Regular expression for matching the whitespace in a string. | [homepage](https://github.com/regexps/whitespace-regex "Regular expression for matching the whitespace in a string.") 32 | 33 | ### Contributing 34 | 35 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). 36 | 37 | ### Building docs 38 | 39 | _(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ 40 | 41 | To generate the readme and API documentation with [verb](https://github.com/verbose/verb): 42 | 43 | ```sh 44 | $ npm install -g verb verb-generate-readme && verb 45 | ``` 46 | 47 | ### Running tests 48 | 49 | Install dev dependencies: 50 | 51 | ```sh 52 | $ npm install -d && npm test 53 | ``` 54 | 55 | ### Author 56 | 57 | **Jon Schlinkert** 58 | 59 | * [github/jonschlinkert](https://github.com/jonschlinkert) 60 | * [twitter/jonschlinkert](http://twitter.com/jonschlinkert) 61 | 62 | ### License 63 | 64 | Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). 65 | Released under the [MIT license](https://github.com/regexps/word-regex/blob/master/LICENSE). 66 | 67 | *** 68 | 69 | _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on December 07, 2016._ 70 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "ecmaFeatures": { 3 | "modules": true, 4 | "experimentalObjectRestSpread": true 5 | }, 6 | 7 | "env": { 8 | "browser": false, 9 | "es6": true, 10 | "node": true, 11 | "mocha": true 12 | }, 13 | 14 | "globals": { 15 | "document": false, 16 | "navigator": false, 17 | "window": false 18 | }, 19 | 20 | "rules": { 21 | "accessor-pairs": 2, 22 | "arrow-spacing": [2, { "before": true, "after": true }], 23 | "block-spacing": [2, "always"], 24 | "brace-style": [2, "1tbs", { "allowSingleLine": true }], 25 | "comma-dangle": [2, "never"], 26 | "comma-spacing": [2, { "before": false, "after": true }], 27 | "comma-style": [2, "last"], 28 | "constructor-super": 2, 29 | "curly": [2, "multi-line"], 30 | "dot-location": [2, "property"], 31 | "eol-last": 2, 32 | "eqeqeq": [2, "allow-null"], 33 | "generator-star-spacing": [2, { "before": true, "after": true }], 34 | "handle-callback-err": [2, "^(err|error)$" ], 35 | "indent": [2, 2, { "SwitchCase": 1 }], 36 | "key-spacing": [2, { "beforeColon": false, "afterColon": true }], 37 | "keyword-spacing": [2, { "before": true, "after": true }], 38 | "new-cap": [2, { "newIsCap": true, "capIsNew": false }], 39 | "new-parens": 2, 40 | "no-array-constructor": 2, 41 | "no-caller": 2, 42 | "no-class-assign": 2, 43 | "no-cond-assign": 2, 44 | "no-const-assign": 2, 45 | "no-control-regex": 2, 46 | "no-debugger": 2, 47 | "no-delete-var": 2, 48 | "no-dupe-args": 2, 49 | "no-dupe-class-members": 2, 50 | "no-dupe-keys": 2, 51 | "no-duplicate-case": 2, 52 | "no-empty-character-class": 2, 53 | "no-eval": 2, 54 | "no-ex-assign": 2, 55 | "no-extend-native": 2, 56 | "no-extra-bind": 2, 57 | "no-extra-boolean-cast": 2, 58 | "no-extra-parens": [2, "functions"], 59 | "no-fallthrough": 2, 60 | "no-floating-decimal": 2, 61 | "no-func-assign": 2, 62 | "no-implied-eval": 2, 63 | "no-inner-declarations": [2, "functions"], 64 | "no-invalid-regexp": 2, 65 | "no-irregular-whitespace": 2, 66 | "no-iterator": 2, 67 | "no-label-var": 2, 68 | "no-labels": 2, 69 | "no-lone-blocks": 2, 70 | "no-mixed-spaces-and-tabs": 2, 71 | "no-multi-spaces": 2, 72 | "no-multi-str": 2, 73 | "no-multiple-empty-lines": [2, { "max": 1 }], 74 | "no-native-reassign": 0, 75 | "no-negated-in-lhs": 2, 76 | "no-new": 2, 77 | "no-new-func": 2, 78 | "no-new-object": 2, 79 | "no-new-require": 2, 80 | "no-new-wrappers": 2, 81 | "no-obj-calls": 2, 82 | "no-octal": 2, 83 | "no-octal-escape": 2, 84 | "no-proto": 0, 85 | "no-redeclare": 2, 86 | "no-regex-spaces": 2, 87 | "no-return-assign": 2, 88 | "no-self-compare": 2, 89 | "no-sequences": 2, 90 | "no-shadow-restricted-names": 2, 91 | "no-spaced-func": 2, 92 | "no-sparse-arrays": 2, 93 | "no-this-before-super": 2, 94 | "no-throw-literal": 2, 95 | "no-trailing-spaces": 0, 96 | "no-undef": 2, 97 | "no-undef-init": 2, 98 | "no-unexpected-multiline": 2, 99 | "no-unneeded-ternary": [2, { "defaultAssignment": false }], 100 | "no-unreachable": 2, 101 | "no-unused-vars": [2, { "vars": "all", "args": "none" }], 102 | "no-useless-call": 0, 103 | "no-with": 2, 104 | "one-var": [0, { "initialized": "never" }], 105 | "operator-linebreak": [0, "after", { "overrides": { "?": "before", ":": "before" } }], 106 | "padded-blocks": [0, "never"], 107 | "quotes": [2, "single", "avoid-escape"], 108 | "radix": 2, 109 | "semi": [2, "always"], 110 | "semi-spacing": [2, { "before": false, "after": true }], 111 | "space-before-blocks": [2, "always"], 112 | "space-before-function-paren": [2, "never"], 113 | "space-in-parens": [2, "never"], 114 | "space-infix-ops": 2, 115 | "space-unary-ops": [2, { "words": true, "nonwords": false }], 116 | "spaced-comment": [0, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }], 117 | "use-isnan": 2, 118 | "valid-typeof": 2, 119 | "wrap-iife": [2, "any"], 120 | "yoda": [2, "never"] 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | argparse@~0.1.15: 6 | version "0.1.16" 7 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" 8 | dependencies: 9 | underscore "~1.7.0" 10 | underscore.string "~2.4.0" 11 | 12 | array-slice@^0.2.3: 13 | version "0.2.3" 14 | resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" 15 | 16 | autolinker@~0.15.0: 17 | version "0.15.3" 18 | resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" 19 | 20 | balanced-match@^0.4.1: 21 | version "0.4.2" 22 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 23 | 24 | brace-expansion@^1.0.0: 25 | version "1.1.6" 26 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 27 | dependencies: 28 | balanced-match "^0.4.1" 29 | concat-map "0.0.1" 30 | 31 | browser-stdout@1.3.0: 32 | version "1.3.0" 33 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 34 | 35 | buffer-shims@^1.0.0: 36 | version "1.0.0" 37 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 38 | 39 | commander@2.9.0: 40 | version "2.9.0" 41 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 42 | dependencies: 43 | graceful-readlink ">= 1.0.0" 44 | 45 | concat-map@0.0.1: 46 | version "0.0.1" 47 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 48 | 49 | core-util-is@~1.0.0: 50 | version "1.0.2" 51 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 52 | 53 | debug@2.2.0: 54 | version "2.2.0" 55 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 56 | dependencies: 57 | ms "0.7.1" 58 | 59 | define-property@^0.2.5: 60 | version "0.2.5" 61 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 62 | dependencies: 63 | is-descriptor "^0.1.0" 64 | 65 | diff@1.4.0: 66 | version "1.4.0" 67 | resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 68 | 69 | escape-string-regexp@1.0.5: 70 | version "1.0.5" 71 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 72 | 73 | expand-range@^1.8.1: 74 | version "1.8.2" 75 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 76 | dependencies: 77 | fill-range "^2.1.0" 78 | 79 | extend-shallow@^2.0.1: 80 | version "2.0.1" 81 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 82 | dependencies: 83 | is-extendable "^0.1.0" 84 | 85 | fill-range@^2.1.0: 86 | version "2.2.3" 87 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 88 | dependencies: 89 | is-number "^2.1.0" 90 | isobject "^2.0.0" 91 | randomatic "^1.1.3" 92 | repeat-element "^1.1.2" 93 | repeat-string "^1.5.2" 94 | 95 | fs.realpath@^1.0.0: 96 | version "1.0.0" 97 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 98 | 99 | gfm-code-block-regex@^0.2.1: 100 | version "0.2.3" 101 | resolved "https://registry.yarnpkg.com/gfm-code-block-regex/-/gfm-code-block-regex-0.2.3.tgz#0b9fe68acf2c5a5022fd6d2d418a634f6e97c110" 102 | 103 | gfm-code-blocks@^0.3.0: 104 | version "0.3.0" 105 | resolved "https://registry.yarnpkg.com/gfm-code-blocks/-/gfm-code-blocks-0.3.0.tgz#111c18ccbb2029b846115090caa07d2fd90fc66f" 106 | dependencies: 107 | gfm-code-block-regex "^0.2.1" 108 | 109 | glob@7.0.5: 110 | version "7.0.5" 111 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" 112 | dependencies: 113 | fs.realpath "^1.0.0" 114 | inflight "^1.0.4" 115 | inherits "2" 116 | minimatch "^3.0.2" 117 | once "^1.3.0" 118 | path-is-absolute "^1.0.0" 119 | 120 | "graceful-readlink@>= 1.0.0": 121 | version "1.0.1" 122 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 123 | 124 | growl@1.9.2: 125 | version "1.9.2" 126 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 127 | 128 | gulp-format-md@^0.1.11: 129 | version "0.1.11" 130 | resolved "https://registry.yarnpkg.com/gulp-format-md/-/gulp-format-md-0.1.11.tgz#fd11119a01a0f9b6dcefa3a758b5d559448937ee" 131 | dependencies: 132 | extend-shallow "^2.0.1" 133 | lazy-cache "^2.0.1" 134 | pretty-remarkable "^0.3.10" 135 | remarkable "^1.7.0" 136 | sections "^0.1.9" 137 | through2 "^2.0.1" 138 | 139 | has-flag@^1.0.0: 140 | version "1.0.0" 141 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 142 | 143 | inflight@^1.0.4: 144 | version "1.0.6" 145 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 146 | dependencies: 147 | once "^1.3.0" 148 | wrappy "1" 149 | 150 | inherits@2, inherits@~2.0.1: 151 | version "2.0.3" 152 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 153 | 154 | is-accessor-descriptor@^0.1.6: 155 | version "0.1.6" 156 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 157 | dependencies: 158 | kind-of "^3.0.2" 159 | 160 | is-buffer@^1.0.2: 161 | version "1.1.4" 162 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 163 | 164 | is-data-descriptor@^0.1.4: 165 | version "0.1.4" 166 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 167 | dependencies: 168 | kind-of "^3.0.2" 169 | 170 | is-descriptor@^0.1.0: 171 | version "0.1.4" 172 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.4.tgz#c2cfa0d85099a90df94af5b7eb7ee1c7e1413186" 173 | dependencies: 174 | is-accessor-descriptor "^0.1.6" 175 | is-data-descriptor "^0.1.4" 176 | kind-of "^3.0.2" 177 | lazy-cache "^1.0.3" 178 | 179 | is-extendable@^0.1.0: 180 | version "0.1.1" 181 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 182 | 183 | is-number@^2.0.2, is-number@^2.1.0: 184 | version "2.1.0" 185 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 186 | dependencies: 187 | kind-of "^3.0.2" 188 | 189 | isarray@1.0.0, isarray@~1.0.0: 190 | version "1.0.0" 191 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 192 | 193 | isobject@^2.0.0: 194 | version "2.1.0" 195 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 196 | dependencies: 197 | isarray "1.0.0" 198 | 199 | json3@3.3.2: 200 | version "3.3.2" 201 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 202 | 203 | kind-of@^3.0.2: 204 | version "3.1.0" 205 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" 206 | dependencies: 207 | is-buffer "^1.0.2" 208 | 209 | lazy-cache@^1.0.3: 210 | version "1.0.4" 211 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 212 | 213 | lazy-cache@^2.0.1: 214 | version "2.0.2" 215 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" 216 | dependencies: 217 | set-getter "^0.1.0" 218 | 219 | list-item@^1.1.1: 220 | version "1.1.1" 221 | resolved "https://registry.yarnpkg.com/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" 222 | dependencies: 223 | expand-range "^1.8.1" 224 | extend-shallow "^2.0.1" 225 | is-number "^2.1.0" 226 | repeat-string "^1.5.2" 227 | 228 | lodash._baseassign@^3.0.0: 229 | version "3.2.0" 230 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 231 | dependencies: 232 | lodash._basecopy "^3.0.0" 233 | lodash.keys "^3.0.0" 234 | 235 | lodash._basecopy@^3.0.0: 236 | version "3.0.1" 237 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 238 | 239 | lodash._basecreate@^3.0.0: 240 | version "3.0.3" 241 | resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" 242 | 243 | lodash._getnative@^3.0.0: 244 | version "3.9.1" 245 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 246 | 247 | lodash._isiterateecall@^3.0.0: 248 | version "3.0.9" 249 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 250 | 251 | lodash.create@3.1.1: 252 | version "3.1.1" 253 | resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" 254 | dependencies: 255 | lodash._baseassign "^3.0.0" 256 | lodash._basecreate "^3.0.0" 257 | lodash._isiterateecall "^3.0.0" 258 | 259 | lodash.isarguments@^3.0.0: 260 | version "3.1.0" 261 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 262 | 263 | lodash.isarray@^3.0.0: 264 | version "3.0.4" 265 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 266 | 267 | lodash.keys@^3.0.0: 268 | version "3.1.2" 269 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 270 | dependencies: 271 | lodash._getnative "^3.0.0" 272 | lodash.isarguments "^3.0.0" 273 | lodash.isarray "^3.0.0" 274 | 275 | markdown-utils@^0.7.3: 276 | version "0.7.3" 277 | resolved "https://registry.yarnpkg.com/markdown-utils/-/markdown-utils-0.7.3.tgz#4c583a31e251d69b313aceb3802a4f5d1b0f1e76" 278 | dependencies: 279 | array-slice "^0.2.3" 280 | is-number "^2.1.0" 281 | list-item "^1.1.1" 282 | to-gfm-code-block "^0.1.1" 283 | 284 | minimatch@^3.0.2: 285 | version "3.0.3" 286 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 287 | dependencies: 288 | brace-expansion "^1.0.0" 289 | 290 | minimist@0.0.8: 291 | version "0.0.8" 292 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 293 | 294 | mkdirp@0.5.1: 295 | version "0.5.1" 296 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 297 | dependencies: 298 | minimist "0.0.8" 299 | 300 | mocha@^3.2.0: 301 | version "3.2.0" 302 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" 303 | dependencies: 304 | browser-stdout "1.3.0" 305 | commander "2.9.0" 306 | debug "2.2.0" 307 | diff "1.4.0" 308 | escape-string-regexp "1.0.5" 309 | glob "7.0.5" 310 | growl "1.9.2" 311 | json3 "3.3.2" 312 | lodash.create "3.1.1" 313 | mkdirp "0.5.1" 314 | supports-color "3.1.2" 315 | 316 | ms@0.7.1: 317 | version "0.7.1" 318 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 319 | 320 | once@^1.3.0: 321 | version "1.4.0" 322 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 323 | dependencies: 324 | wrappy "1" 325 | 326 | path-is-absolute@^1.0.0: 327 | version "1.0.1" 328 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 329 | 330 | pretty-remarkable@^0.3.10: 331 | version "0.3.10" 332 | resolved "https://registry.yarnpkg.com/pretty-remarkable/-/pretty-remarkable-0.3.10.tgz#2da4c692ed8b9a260e0477480a0f794fe1c641c9" 333 | dependencies: 334 | lazy-cache "^2.0.1" 335 | list-item "^1.1.1" 336 | markdown-utils "^0.7.3" 337 | repeat-string "^1.5.4" 338 | 339 | process-nextick-args@~1.0.6: 340 | version "1.0.7" 341 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 342 | 343 | randomatic@^1.1.3: 344 | version "1.1.6" 345 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" 346 | dependencies: 347 | is-number "^2.0.2" 348 | kind-of "^3.0.2" 349 | 350 | readable-stream@^2.1.5: 351 | version "2.2.2" 352 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" 353 | dependencies: 354 | buffer-shims "^1.0.0" 355 | core-util-is "~1.0.0" 356 | inherits "~2.0.1" 357 | isarray "~1.0.0" 358 | process-nextick-args "~1.0.6" 359 | string_decoder "~0.10.x" 360 | util-deprecate "~1.0.1" 361 | 362 | remarkable@^1.7.0: 363 | version "1.7.1" 364 | resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" 365 | dependencies: 366 | argparse "~0.1.15" 367 | autolinker "~0.15.0" 368 | 369 | repeat-element@^1.1.2: 370 | version "1.1.2" 371 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 372 | 373 | repeat-string@^1.5.2, repeat-string@^1.5.4: 374 | version "1.6.1" 375 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 376 | 377 | sections@^0.1.9: 378 | version "0.1.9" 379 | resolved "https://registry.yarnpkg.com/sections/-/sections-0.1.9.tgz#fc6e8423bea1c56ca1132835a5681dd73246dfc5" 380 | dependencies: 381 | define-property "^0.2.5" 382 | gfm-code-blocks "^0.3.0" 383 | 384 | set-getter@^0.1.0: 385 | version "0.1.0" 386 | resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" 387 | dependencies: 388 | to-object-path "^0.3.0" 389 | 390 | string_decoder@~0.10.x: 391 | version "0.10.31" 392 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 393 | 394 | supports-color@3.1.2: 395 | version "3.1.2" 396 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 397 | dependencies: 398 | has-flag "^1.0.0" 399 | 400 | through2@^2.0.1: 401 | version "2.0.3" 402 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 403 | dependencies: 404 | readable-stream "^2.1.5" 405 | xtend "~4.0.1" 406 | 407 | to-gfm-code-block@^0.1.1: 408 | version "0.1.1" 409 | resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82" 410 | 411 | to-object-path@^0.3.0: 412 | version "0.3.0" 413 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 414 | dependencies: 415 | kind-of "^3.0.2" 416 | 417 | underscore.string@~2.4.0: 418 | version "2.4.0" 419 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" 420 | 421 | underscore@~1.7.0: 422 | version "1.7.0" 423 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" 424 | 425 | util-deprecate@~1.0.1: 426 | version "1.0.2" 427 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 428 | 429 | wrappy@1: 430 | version "1.0.2" 431 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 432 | 433 | xtend@~4.0.1: 434 | version "4.0.1" 435 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 436 | --------------------------------------------------------------------------------