Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/is-regex')
-rw-r--r--node_modules/is-regex/.editorconfig20
-rw-r--r--node_modules/is-regex/.github/workflows/rebase.yml15
-rw-r--r--node_modules/is-regex/.jscs.json176
-rw-r--r--node_modules/is-regex/.npmignore15
-rw-r--r--node_modules/is-regex/.travis.yml167
-rw-r--r--node_modules/is-regex/CHANGELOG.md185
-rw-r--r--node_modules/is-regex/Makefile61
-rw-r--r--node_modules/is-regex/index.js70
-rw-r--r--node_modules/is-regex/package.json186
-rw-r--r--node_modules/is-regex/test/index.js (renamed from node_modules/is-regex/test.js)51
10 files changed, 399 insertions, 547 deletions
diff --git a/node_modules/is-regex/.editorconfig b/node_modules/is-regex/.editorconfig
new file mode 100644
index 000000000..bc228f826
--- /dev/null
+++ b/node_modules/is-regex/.editorconfig
@@ -0,0 +1,20 @@
+root = true
+
+[*]
+indent_style = tab
+indent_size = 4
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+max_line_length = 150
+
+[CHANGELOG.md]
+indent_style = space
+indent_size = 2
+
+[*.json]
+max_line_length = off
+
+[Makefile]
+max_line_length = off
diff --git a/node_modules/is-regex/.github/workflows/rebase.yml b/node_modules/is-regex/.github/workflows/rebase.yml
new file mode 100644
index 000000000..436cb79dc
--- /dev/null
+++ b/node_modules/is-regex/.github/workflows/rebase.yml
@@ -0,0 +1,15 @@
+name: Automatic Rebase
+
+on: [pull_request]
+
+jobs:
+ _:
+ name: "Automatic Rebase"
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - uses: ljharb/rebase@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/node_modules/is-regex/.jscs.json b/node_modules/is-regex/.jscs.json
deleted file mode 100644
index 3d099c4b1..000000000
--- a/node_modules/is-regex/.jscs.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "es3": true,
-
- "additionalRules": [],
-
- "requireSemicolons": true,
-
- "disallowMultipleSpaces": true,
-
- "disallowIdentifierNames": [],
-
- "requireCurlyBraces": {
- "allExcept": [],
- "keywords": ["if", "else", "for", "while", "do", "try", "catch"]
- },
-
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
- "disallowSpaceAfterKeywords": [],
-
- "disallowSpaceBeforeComma": true,
- "disallowSpaceAfterComma": false,
- "disallowSpaceBeforeSemicolon": true,
-
- "disallowNodeTypes": [
- "DebuggerStatement",
- "ForInStatement",
- "LabeledStatement",
- "SwitchCase",
- "SwitchStatement",
- "WithStatement"
- ],
-
- "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
- "requireSpaceBetweenArguments": true,
-
- "disallowSpacesInsideParentheses": true,
-
- "disallowSpacesInsideArrayBrackets": true,
-
- "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
- "disallowSpaceAfterObjectKeys": true,
-
- "requireCommaBeforeLineBreak": true,
-
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "requireSpaceAfterPrefixUnaryOperators": [],
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "requireSpaceBeforePostfixUnaryOperators": [],
-
- "disallowSpaceBeforeBinaryOperators": [],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
- "disallowSpaceAfterBinaryOperators": [],
-
- "disallowImplicitTypeConversion": ["binary", "string"],
-
- "disallowKeywords": ["with", "eval"],
-
- "requireKeywordsOnNewLine": [],
- "disallowKeywordsOnNewLine": ["else"],
-
- "requireLineFeedAtFileEnd": true,
-
- "disallowTrailingWhitespace": true,
-
- "disallowTrailingComma": true,
-
- "excludeFiles": ["node_modules/**", "vendor/**"],
-
- "disallowMultipleLineStrings": true,
-
- "requireDotNotation": { "allExcept": ["keywords"] },
-
- "requireParenthesesAroundIIFE": true,
-
- "validateLineBreaks": "LF",
-
- "validateQuoteMarks": {
- "escape": true,
- "mark": "'"
- },
-
- "disallowOperatorBeforeLineBreak": [],
-
- "requireSpaceBeforeKeywords": [
- "do",
- "for",
- "if",
- "else",
- "switch",
- "case",
- "try",
- "catch",
- "finally",
- "while",
- "with",
- "return"
- ],
-
- "validateAlignedFunctionParameters": {
- "lineBreakAfterOpeningBraces": true,
- "lineBreakBeforeClosingBraces": true
- },
-
- "requirePaddingNewLinesBeforeExport": true,
-
- "validateNewlineAfterArrayElements": {
- "maximum": 1
- },
-
- "requirePaddingNewLinesAfterUseStrict": true,
-
- "disallowArrowFunctions": true,
-
- "disallowMultiLineTernary": true,
-
- "validateOrderInObjectKeys": "asc-insensitive",
-
- "disallowIdenticalDestructuringNames": true,
-
- "disallowNestedTernaries": { "maxLevel": 1 },
-
- "requireSpaceAfterComma": { "allExcept": ["trailing"] },
- "requireAlignedMultilineParams": false,
-
- "requireSpacesInGenerator": {
- "afterStar": true
- },
-
- "disallowSpacesInGenerator": {
- "beforeStar": true
- },
-
- "disallowVar": false,
-
- "requireArrayDestructuring": false,
-
- "requireEnhancedObjectLiterals": false,
-
- "requireObjectDestructuring": false,
-
- "requireEarlyReturn": false,
-
- "requireCapitalizedConstructorsNew": {
- "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
- },
-
- "requireImportAlphabetized": false,
-
- "requireSpaceBeforeObjectValues": true,
- "requireSpaceBeforeDestructuredValues": true,
-
- "disallowSpacesInsideTemplateStringPlaceholders": true,
-
- "disallowArrayDestructuringReturn": false,
-
- "requireNewlineBeforeSingleStatementsInIf": false,
-
- "disallowUnusedVariables": true,
-
- "requireSpacesInsideImportedObjectBraces": true,
-
- "requireUseStrict": true
-}
-
diff --git a/node_modules/is-regex/.npmignore b/node_modules/is-regex/.npmignore
deleted file mode 100644
index a72b52ebe..000000000
--- a/node_modules/is-regex/.npmignore
+++ /dev/null
@@ -1,15 +0,0 @@
-lib-cov
-*.seed
-*.log
-*.csv
-*.dat
-*.out
-*.pid
-*.gz
-
-pids
-logs
-results
-
-npm-debug.log
-node_modules
diff --git a/node_modules/is-regex/.travis.yml b/node_modules/is-regex/.travis.yml
index 41137a89a..2d1c1d25f 100644
--- a/node_modules/is-regex/.travis.yml
+++ b/node_modules/is-regex/.travis.yml
@@ -1,165 +1,12 @@
+version: ~> 1.0
language: node_js
os:
- linux
-node_js:
- - "7.5"
- - "6.9"
- - "5.12"
- - "4.7"
- - "iojs-v3.3"
- - "iojs-v2.5"
- - "iojs-v1.8"
- - "0.12"
- - "0.10"
- - "0.8"
-before_install:
- - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
-script:
- - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
- - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
- - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
- - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
-sudo: false
-env:
- - TEST=true
+import:
+ - ljharb/travis-ci:node/all.yml
+ - ljharb/travis-ci:node/pretest.yml
+ - ljharb/travis-ci:node/posttest.yml
+ - ljharb/travis-ci:node/coverage.yml
matrix:
- fast_finish: true
- include:
- - node_js: "node"
- env: PRETEST=true
- - node_js: "node"
- env: POSTTEST=true
- - node_js: "7.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.8"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "6.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.11"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.10"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.8"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "5.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "4.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v3.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v2.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.7"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.5"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.3"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.2"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.1"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "iojs-v1.0"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.11"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.9"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.6"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "0.4"
- env: TEST=true ALLOW_FAILURE=true
- - node_js: "7"
- env: TEST=true
- os: osx
- - node_js: "6"
- env: TEST=true
- os: osx
- - node_js: "5"
- env: TEST=true
- os: osx
- - node_js: "4"
- env: TEST=true
- os: osx
- - node_js: "iojs"
- env: TEST=true
- os: osx
- - node_js: "0.12"
- env: TEST=true
- os: osx
- - node_js: "0.10"
- env: TEST=true
- os: osx
- - node_js: "0.8"
- env: TEST=true
- os: osx
allow_failures:
- - os: osx
- - env: TEST=true ALLOW_FAILURE=true
+ - env: COVERAGE=true
diff --git a/node_modules/is-regex/CHANGELOG.md b/node_modules/is-regex/CHANGELOG.md
index 6d7380002..80f71b3df 100644
--- a/node_modules/is-regex/CHANGELOG.md
+++ b/node_modules/is-regex/CHANGELOG.md
@@ -1,27 +1,158 @@
-1.0.4 / 2016-02-18
-=================
- * [Fix] ensure that `lastIndex` is not mutated (#3)
- * [Refactor] when try/catch is needed, bail early if the value lacks an own `lastIndex` data property
- * [Refactor] use an early return instead of a ternary
- * [Refactor] bail earlier when the value is falsy
- * Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
- * [Dev Deps] update `tape`, `jscs`, `editorconfig-tools`, `eslint`, `semver`, `replace`, `nsp`, `covert`, `@ljharb/eslint-config`
- * [Tests] on all the node and io.js versions; improve test matri
- * [Tests] Fix tests for faked @@toStringTag
-
-1.0.3 / 2015-01-29
-=================
- * If @@toStringTag is not present, use the old-school Object#toString test.
-
-1.0.2 / 2015-01-29
-=================
- * Improve optimization by separating the try/catch, and bailing out early when not typeof "object".
-
-1.0.1 / 2015-01-28
-=================
- * Update `jscs`, `tape`, `covert`
- * Use RegExp#exec to test if something is a regex, which works even with ES6 @@toStringTag.
-
-1.0.0 / 2014-05-19
-=================
- * Initial release.
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
+
+## [v1.1.0](https://github.com/inspect-js/is-regex/compare/v1.0.5...v1.1.0) - 2020-06-04
+
+### Commits
+
+- [New] use `badStringifier`‑based RegExp detection [`31eff67`](https://github.com/inspect-js/is-regex/commit/31eff673243d65c3d6c05848c0eb52f5380f1be3)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`fc91458`](https://github.com/inspect-js/is-regex/commit/fc914588187b8bb00d8d792c84f06a6e15d883c1)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`; add `safe-publish-latest` [`d43ed83`](https://github.com/inspect-js/is-regex/commit/d43ed83db54ea727bb0b1b77a50af79d1edb8a6d)
+- [Dev Deps] update `auto-changelog`, `tape`; add `aud` [`56647d1`](https://github.com/inspect-js/is-regex/commit/56647d196be34ef3c118ad67726e75169fbcb875)
+- [meta] only run `aud` on prod deps [`e0865b8`](https://github.com/inspect-js/is-regex/commit/e0865b8360b0ac1b9d17b7b81ae5f339e5c9036b)
+
+## [v1.0.5](https://github.com/inspect-js/is-regex/compare/v1.0.4...v1.0.5) - 2019-12-15
+
+### Commits
+
+- [Tests] use shared travis-ci configs [`af728b2`](https://github.com/inspect-js/is-regex/commit/af728b21c5cc9e41234fb4015594bffdcfff597c)
+- [Tests] remove `jscs` [`1b8cfe8`](https://github.com/inspect-js/is-regex/commit/1b8cfe8cfb14820c196775f19d370276e4034791)
+- [meta] add `auto-changelog` [`c3131d8`](https://github.com/inspect-js/is-regex/commit/c3131d8ab5d06ea5fa05a4bb2ad28bbfb81668ad)
+- [Tests] up to `node` `v8.1`, `v7.10`, `v6.11`, `v4.8`; newer npm fails on older nodes [`660b658`](https://github.com/inspect-js/is-regex/commit/660b6585d1a9607dbdae879b70ce2f6a5684616c)
+- [Tests] up to `node` `v9.3`, `v8.9`, `v6.12`; use `nvm install-latest-npm`; pin included builds to LTS [`7c25218`](https://github.com/inspect-js/is-regex/commit/7c25218d540ab17c18e4ae333677c5725806a778)
+- [Tests] up to `node` `v12.10`, `v11.15`, `v10.16`, `v8.16`, `v6.17` [`fa95547`](https://github.com/inspect-js/is-regex/commit/fa955478950a5ba0a920010d5daaa29487500b30)
+- [meta] remove unused Makefile and associated utilities [`9fd2a29`](https://github.com/inspect-js/is-regex/commit/9fd2a29dc57ed125f3d61e94f6254a9dd8ee0044)
+- [Tests] up to `node` `v11.3`, `v10.14`, `v8.14`, `v6.15` [`7f2ac41`](https://github.com/inspect-js/is-regex/commit/7f2ac41ef5dc4d53bfe2fb1c24486c688a2537bd)
+- [Tests] up to `node` `v10.0`, `v9.11`, `v8.11`, `v6.14`, `v4.9` [`6fa2b0f`](https://github.com/inspect-js/is-regex/commit/6fa2b0fe171a5b02086a06679a92d989e83a8b8e)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`697e1de`](https://github.com/inspect-js/is-regex/commit/697e1de1c9e69f08e591cc0040d81fdbbde6fe4e)
+- [actions] add automatic rebasing / merge commit blocking [`ad86dc9`](https://github.com/inspect-js/is-regex/commit/ad86dc97a52e4f66fbfb3b8c9c78da3963588b54)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `jscs`, `nsp`, `replace`, `semver`, `tape` [`5c99c8e`](https://github.com/inspect-js/is-regex/commit/5c99c8e384d5ce2ef434be5853c301477cf35456)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `replace`, `semver`, `tape` [`bb63686`](https://github.com/inspect-js/is-regex/commit/bb63686a9d0fc586d121549cf484da95edec3b0a)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config@`, `replace`, `semver`, `tape` [`ddf3670`](https://github.com/inspect-js/is-regex/commit/ddf36705e5f7bd29832721e4a23abf06195032c6)
+- [Dev Deps] update `tape`, `nsp`, `eslint`, `@ljharb/eslint-config` [`e7b5a62`](https://github.com/inspect-js/is-regex/commit/e7b5a626eef3b9648c7d52d4620ce2e2a98a9ab8)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`c803db5`](https://github.com/inspect-js/is-regex/commit/c803db5cd94cf9e0a559617adbc1e4c9d22007ff)
+- [Tests] switch from `nsp` to `npm audit` [`b7239be`](https://github.com/inspect-js/is-regex/commit/b7239be9da263a0f7066f79d087eaf700a9613e9)
+- [Dev Deps] update `eslint`, `nsp`, `semver`, `tape` [`347ee6c`](https://github.com/inspect-js/is-regex/commit/347ee6c67ba0f56b03f21a5abe743658f6515963)
+- Only apps should have lockfiles. [`3866575`](https://github.com/inspect-js/is-regex/commit/38665755ecf028061f15816059e26023890a0dc7)
+- [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`d099a39`](https://github.com/inspect-js/is-regex/commit/d099a3943eb7e156a3e64fb8b74e11d7c83a4bec)
+- [meta] add `funding` field [`741aecd`](https://github.com/inspect-js/is-regex/commit/741aecd92cd49868b3606c8cc99ce299e5f3c7d5)
+- [Tests] use `eclint` instead of `editorconfig-tools` [`bc6aa75`](https://github.com/inspect-js/is-regex/commit/bc6aa7539e506788709b96f7bf3d7549850a81c3)
+- [Tests] on `node` `v10.1` [`262226f`](https://github.com/inspect-js/is-regex/commit/262226f08fa34dff9a8dffd16daabb3dc6e262eb)
+- [Dev Deps] update `eslint` [`31fd719`](https://github.com/inspect-js/is-regex/commit/31fd719dd59a6111ca710cdb0d19a8adadf9b8c6)
+- [Deps] update `has` [`e9e25a3`](https://github.com/inspect-js/is-regex/commit/e9e25a3de7e89faaa6aadf5010477074140e8218)
+- [Dev Deps] update `replace` [`aeeb968`](https://github.com/inspect-js/is-regex/commit/aeeb968bf5a4fc07f0fa6905f2c699fc563b6c32)
+- [Tests] set audit level [`2a6290e`](https://github.com/inspect-js/is-regex/commit/2a6290e78b58bf14b734d7998fe53b4a84db5e44)
+- [Tests] remove `nsp` [`fc74c2b`](https://github.com/inspect-js/is-regex/commit/fc74c2bb6970a7f3280abe6eff3b492d77d89c9f)
+
+## [v1.0.4](https://github.com/inspect-js/is-regex/compare/v1.0.3...v1.0.4) - 2017-02-18
+
+### Fixed
+
+- [Fix] ensure that `lastIndex` is not mutated [`#3`](https://github.com/inspect-js/is-regex/issues/3)
+
+### Commits
+
+- Update `eslint`, `tape`, `semver`; use my personal shared `eslint` config [`c4a41c3`](https://github.com/inspect-js/is-regex/commit/c4a41c3a8203a3919b01cd0d1b577daadf30a452)
+- [Tests] on all node minors; improve test matrix [`58d7508`](https://github.com/inspect-js/is-regex/commit/58d7508a36eb92bd76717486b9e78bde502ffe3e)
+- [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` [`7290076`](https://github.com/inspect-js/is-regex/commit/729007606e9ed162953d1f5812c37eb06c554ec2)
+- Update `covert`, `jscs`, `eslint`, `semver` [`dabc729`](https://github.com/inspect-js/is-regex/commit/dabc729cfc4458264c6f7642004d41dd5c214bfd)
+- Update `eslint` [`a946b05`](https://github.com/inspect-js/is-regex/commit/a946b051159396b4311c564880f96e3d00e8b8e2)
+- Update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config` [`1744dde`](https://github.com/inspect-js/is-regex/commit/1744dde77526841f216fa2c1c866c5a82b1638c0)
+- [Refactor] when try/catch is needed, bail early if the value lacks an own `lastIndex` data property. [`288ad93`](https://github.com/inspect-js/is-regex/commit/288ad93dbfed9f6828de20de67105ee6d6504425)
+- Update `editorconfig-tools`, `eslint`, `semver`, `replace` [`4d895c6`](https://github.com/inspect-js/is-regex/commit/4d895c68a0cdbb5803185928963c15147aad0404)
+- Update `eslint`, `tape`, `semver` [`f387f03`](https://github.com/inspect-js/is-regex/commit/f387f03b260b56372bfca301d4e79c4067633854)
+- All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`. [`55e480f`](https://github.com/inspect-js/is-regex/commit/55e480f407cafb6c21a6c32aef04ccaa3ba4216c)
+- [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver` [`89d9528`](https://github.com/inspect-js/is-regex/commit/89d95285b364913ebcd8ac7e0872570fe009a5d3)
+- [Dev Deps] update `jscs` [`eb222a8`](https://github.com/inspect-js/is-regex/commit/eb222a8435e59909354f3700fd4880e4ce1cb13e)
+- [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`c65429c`](https://github.com/inspect-js/is-regex/commit/c65429cea0366508c10ad2ab773af7b83a34fc81)
+- Update `nsp`, `eslint` [`c60fbd8`](https://github.com/inspect-js/is-regex/commit/c60fbd8680f7fb3508ec3c5be8ebb788672516c8)
+- Update `eslint`, `semver` [`6a62116`](https://github.com/inspect-js/is-regex/commit/6a621168c63616bf004ca8b1f885b4eb8a58a3e5)
+- [Tests] on `node` `v7.5`, `v4.7` [`e764651`](https://github.com/inspect-js/is-regex/commit/e764651336f5da5e239e9fe8869f3a3201c19d2b)
+- Test up to `io.js` `v2.1` [`3bf326a`](https://github.com/inspect-js/is-regex/commit/3bf326a9bcd530fd16c9fc806e249a68e25ab7e3)
+- Test on the latest `io.js` versions. [`693d047`](https://github.com/inspect-js/is-regex/commit/693d0477631c5d7671f6c99eca5594ffffa75771)
+- [Refactor] use an early return instead of a ternary. [`31eaca2`](https://github.com/inspect-js/is-regex/commit/31eaca28b7d0aaac0599fe7a569b93b842f8ab16)
+- Test on `io.js` `v2.2` [`c18c55a`](https://github.com/inspect-js/is-regex/commit/c18c55aee6358d70531f935e98851e42b698d93c)
+- Run `travis-ci` tests on `iojs` and `node` v0.12; speed up builds; allow 0.8 failures. [`a1c237d`](https://github.com/inspect-js/is-regex/commit/a1c237d35f880fe0bcbc9275254611a6a2300aaf)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`aa3ea0f`](https://github.com/inspect-js/is-regex/commit/aa3ea0f148af31d75f7ef8a800412729d82def04)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`d97831d`](https://github.com/inspect-js/is-regex/commit/d97831d0e2ccd3d00d1f7354b7f81e2575f90953)
+- [Dev Deps] Update `tape`, `eslint` [`95e6def`](https://github.com/inspect-js/is-regex/commit/95e6defe3178c45dc9df16e474e558979d5f5c05)
+- Update `eslint`, `nsp` [`3844c93`](https://github.com/inspect-js/is-regex/commit/3844c935cfe7c52fae0dc74d27e884c417cb4616)
+- Update `tape`, `jscs` [`0d6dac8`](https://github.com/inspect-js/is-regex/commit/0d6dac818ed251910171965932f021291919e770)
+- Fix tests for faked @@toStringTag [`2ebef9f`](https://github.com/inspect-js/is-regex/commit/2ebef9f0759843e9a063de7a512b46e3e7daea7e)
+- Test up to `io.js` `v3.0` [`ec1d2d4`](https://github.com/inspect-js/is-regex/commit/ec1d2d44481fa0fa11448527da8030c99fe47a12)
+- [Refactor] bail earlier when the value is falsy. [`a9e333e`](https://github.com/inspect-js/is-regex/commit/a9e333e2ac8912ca05b7e31d30e4eea683c0da4b)
+- [Dev Deps] update `tape` [`8cdcaae`](https://github.com/inspect-js/is-regex/commit/8cdcaae07be8c790cdb99849e6076ea7702a4c84)
+- Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. [`281c4ef`](https://github.com/inspect-js/is-regex/commit/281c4efeb71c86dd380e741bcaee3f7dbf956151)
+- Test on `io.js` `v2.4` [`4d54c68`](https://github.com/inspect-js/is-regex/commit/4d54c68a81b5332a3b76259d8aa8f514be5efd13)
+- Test on `io.js` `v2.3` [`23170f5`](https://github.com/inspect-js/is-regex/commit/23170f5cae632d0377de73bd2febc53db8aebbc9)
+- Test on `iojs-v1.6` [`4487ad0`](https://github.com/inspect-js/is-regex/commit/4487ad0194a5684223bfa2690da4e0a441f7132a)
+
+## [v1.0.3](https://github.com/inspect-js/is-regex/compare/v1.0.2...v1.0.3) - 2015-01-30
+
+### Commits
+
+- Update npm run scripts. [`dc528dd`](https://github.com/inspect-js/is-regex/commit/dc528dd25e775089bc0a3f5a8f7ae7ffc4cdf52a)
+- Add toStringTag tests. [`f48a83a`](https://github.com/inspect-js/is-regex/commit/f48a83a78720b78ab60ca586c16f6f3dbcfec825)
+- If @@toStringTag is not present, use the old-school Object#toString test. [`50b0ffd`](https://github.com/inspect-js/is-regex/commit/50b0ffd9c7fdbd54aee8cde1b07e680ae84f6a0d)
+
+## [v1.0.2](https://github.com/inspect-js/is-regex/compare/v1.0.1...v1.0.2) - 2015-01-29
+
+### Commits
+
+- `make release` [`a1de7ec`](https://github.com/inspect-js/is-regex/commit/a1de7eca4cecc8015fd27804669f8fc61bd16a68)
+- Improve optimization by separating the try/catch, and bailing out early when not typeof "object". [`5ab7632`](https://github.com/inspect-js/is-regex/commit/5ab76322a348487fa8b16761e83f6824c3c27d11)
+
+## [v1.0.1](https://github.com/inspect-js/is-regex/compare/v1.0.0...v1.0.1) - 2015-01-28
+
+### Commits
+
+- Using my standard jscs.json file [`1f1733a`](https://github.com/inspect-js/is-regex/commit/1f1733ac8433cdcceb25356f86b74136a4477cb9)
+- Adding `npm run lint` [`51ea70f`](https://github.com/inspect-js/is-regex/commit/51ea70fa7e461d022f611c195f343ea8d0333d71)
+- Use RegExp#exec to test if something is a regex, which works even with ES6 @@toStringTag. [`042c8c7`](https://github.com/inspect-js/is-regex/commit/042c8c734faade9015932b61f1e8ea4f3a93b1b3)
+- Adding license and downloads badges [`366d619`](https://github.com/inspect-js/is-regex/commit/366d61965d3a4119126e78e09b2166bbcddd0c5a)
+- Use SVG badges instead of PNG [`6a32e4f`](https://github.com/inspect-js/is-regex/commit/6a32e4fc87d7d3a3787b800dd033c9293aead6df)
+- Update `tape`, `jscs` [`f1b9462`](https://github.com/inspect-js/is-regex/commit/f1b9462f86d1b69de07176e7f277f668757ba964)
+- Update `jscs` [`1bff23f`](https://github.com/inspect-js/is-regex/commit/1bff23ff0fe88c8263e8bf04cf99e290af96d5b0)
+- Update `tape`, `jscs` [`c22ea2e`](https://github.com/inspect-js/is-regex/commit/c22ea2e7967f45618deed01ff5ea483f918be216)
+- Update `tape`, `jscs` [`b0479db`](https://github.com/inspect-js/is-regex/commit/b0479db99a1b1b872d1618fb0a71f0c74a78b29b)
+- Use consistent quotes [`1a6e347`](https://github.com/inspect-js/is-regex/commit/1a6e34730d9270f3f20519139faa4c4e6ec2e1f5)
+- Make travis builds faster. [`090a4ea`](https://github.com/inspect-js/is-regex/commit/090a4ea7c5fa709d108d596e3bc304e6ce973dec)
+- Update `tape` [`7d76129`](https://github.com/inspect-js/is-regex/commit/7d7612928bdd43230fbd835db71797249ca24f35)
+- Lock covert to v1.0.0. [`9a90b03`](https://github.com/inspect-js/is-regex/commit/9a90b03fb390e66f874223a34c58ba2bb109edd3)
+- Updating tape [`bfbc7f5`](https://github.com/inspect-js/is-regex/commit/bfbc7f593a007acd0411152bbb55f724dc4ca935)
+- Updating jscs [`13ad511`](https://github.com/inspect-js/is-regex/commit/13ad511d80cd67300c2c0c5387fc4b3b423e2768)
+- Updating jscs [`cda1945`](https://github.com/inspect-js/is-regex/commit/cda1945d603dfe99e24d5a909a931d366451bc4d)
+- Updating jscs [`de96c99`](https://github.com/inspect-js/is-regex/commit/de96c99d4bf5787df671de6df9138b6547a6545b)
+- Running linter as part of tests [`2cb6567`](https://github.com/inspect-js/is-regex/commit/2cb656733b1ed0af14ad11fb584006d22de0c69d)
+- Updating covert [`a56ae74`](https://github.com/inspect-js/is-regex/commit/a56ae74ec8d5f0473295a8b10519a18580f16624)
+- Updating tape [`ffe47f7`](https://github.com/inspect-js/is-regex/commit/ffe47f7fe9cf6d16896b4bdc286bd1d0805d5c49)
+
+## [v1.0.0](https://github.com/inspect-js/is-regex/compare/v0.0.0...v1.0.0) - 2014-05-19
+
+### Commits
+
+- Make sure old and unstable nodes don't break Travis [`05da747`](https://github.com/inspect-js/is-regex/commit/05da7478f960dc131ec3ad864e27e8c6b7d74a80)
+- toString is a reserved var name in old Opera [`885c48c`](https://github.com/inspect-js/is-regex/commit/885c48c120f921a55f1842b0607d3e7875379821)
+- Updating deps [`2ca0e79`](https://github.com/inspect-js/is-regex/commit/2ca0e79a2443ca34d85e8b2ea2e26f55855b74a7)
+- Updating tape. [`9678435`](https://github.com/inspect-js/is-regex/commit/96784355611deb0c23b9064be774216d76e3e457)
+- Updating covert [`c3bb898`](https://github.com/inspect-js/is-regex/commit/c3bb8985a422e3e0c81f9c43899b6c19a72c755f)
+- Updating tape [`7811708`](https://github.com/inspect-js/is-regex/commit/78117089688258b8f939b397b37897b5b3e30f74)
+- Testing on node 0.6 again [`dec36ae`](https://github.com/inspect-js/is-regex/commit/dec36ae58a39a3f80e832b702c3e19406363c160)
+- Run code coverage as part of tests [`e6f4ebe`](https://github.com/inspect-js/is-regex/commit/e6f4ebec26894543747603f2cb360e839f2ca290)
+
+## v0.0.0 - 2014-01-15
+
+### Commits
+
+- package.json [`aa60d43`](https://github.com/inspect-js/is-regex/commit/aa60d43d2c8adb9fdd47f5898e5e1e570bd238d8)
+- read me [`861e944`](https://github.com/inspect-js/is-regex/commit/861e944de88e84010eaa662ea9ea9f17c90cff8c)
+- Initial commit [`d0cdd71`](https://github.com/inspect-js/is-regex/commit/d0cdd71a637d8490b7ee3eaaf75c7e31d0f9242f)
+- Tests. [`b533f74`](https://github.com/inspect-js/is-regex/commit/b533f741a88dff002790fb7af054b2a74e72d4da)
+- Implementation. [`3c9a8c0`](https://github.com/inspect-js/is-regex/commit/3c9a8c06994003cdfffeb3620f251f4c4cae7755)
+- Travis CI [`742c440`](https://github.com/inspect-js/is-regex/commit/742c4407015f9108875fd108fde137f5245e9e7a)
diff --git a/node_modules/is-regex/Makefile b/node_modules/is-regex/Makefile
deleted file mode 100644
index b9e4fe1aa..000000000
--- a/node_modules/is-regex/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Since we rely on paths relative to the makefile location, abort if make isn't being run from there.
-$(if $(findstring /,$(MAKEFILE_LIST)),$(error Please only invoke this makefile from the directory it resides in))
-
- # The files that need updating when incrementing the version number.
-VERSIONED_FILES := *.js *.json README*
-
-
-# Add the local npm packages' bin folder to the PATH, so that `make` can find them, when invoked directly.
-# Note that rather than using `$(npm bin)` the 'node_modules/.bin' path component is hard-coded, so that invocation works even from an environment
-# where npm is (temporarily) unavailable due to having deactivated an nvm instance loaded into the calling shell in order to avoid interference with tests.
-export PATH := $(shell printf '%s' "$$PWD/node_modules/.bin:$$PATH")
-UTILS := semver
-# Make sure that all required utilities can be located.
-UTIL_CHECK := $(or $(shell PATH="$(PATH)" which $(UTILS) >/dev/null && echo 'ok'),$(error Did you forget to run `npm install` after cloning the repo? At least one of the required supporting utilities not found: $(UTILS)))
-
-# Default target (by virtue of being the first non '.'-prefixed in the file).
-.PHONY: _no-target-specified
-_no-target-specified:
- $(error Please specify the target to make - `make list` shows targets. Alternatively, use `npm test` to run the default tests; `npm run` shows all tests)
-
-# Lists all targets defined in this makefile.
-.PHONY: list
-list:
- @$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | command grep -v -e '^[^[:alnum:]]' -e '^$@$$command ' | sort
-
-# All-tests target: invokes the specified test suites for ALL shells defined in $(SHELLS).
-.PHONY: test
-test:
- @npm test
-
-.PHONY: _ensure-tag
-_ensure-tag:
-ifndef TAG
- $(error Please invoke with `make TAG=<new-version> release`, where <new-version> is either an increment specifier (patch, minor, major, prepatch, preminor, premajor, prerelease), or an explicit major.minor.patch version number)
-endif
-
-CHANGELOG_ERROR = $(error No CHANGELOG specified)
-.PHONY: _ensure-changelog
-_ensure-changelog:
- @ (git status -sb --porcelain | command grep -E '^( M|[MA] ) CHANGELOG.md' > /dev/null) || (echo no CHANGELOG.md specified && exit 2)
-
-# Ensures that the git workspace is clean.
-.PHONY: _ensure-clean
-_ensure-clean:
- @[ -z "$$((git status --porcelain --untracked-files=no || echo err) | command grep -v 'CHANGELOG.md')" ] || { echo "Workspace is not clean; please commit changes first." >&2; exit 2; }
-
-# Makes a release; invoke with `make TAG=<versionOrIncrementSpec> release`.
-.PHONY: release
-release: _ensure-tag _ensure-changelog _ensure-clean
- @old_ver=`git describe --abbrev=0 --tags --match 'v[0-9]*.[0-9]*.[0-9]*'` || { echo "Failed to determine current version." >&2; exit 1; }; old_ver=$${old_ver#v}; \
- new_ver=`echo "$(TAG)" | sed 's/^v//'`; new_ver=$${new_ver:-patch}; \
- if printf "$$new_ver" | command grep -q '^[0-9]'; then \
- semver "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be major.minor.patch' >&2; exit 2; }; \
- semver -r "> $$old_ver" "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be HIGHER than current one.' >&2; exit 2; } \
- else \
- new_ver=`semver -i "$$new_ver" "$$old_ver"` || { echo 'Invalid version-increment specifier: $(TAG)' >&2; exit 2; } \
- fi; \
- printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \
- replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
- git commit -m "v$$new_ver" $(VERSIONED_FILES) CHANGELOG.md && \
- git tag -a -m "v$$new_ver" "v$$new_ver"
diff --git a/node_modules/is-regex/index.js b/node_modules/is-regex/index.js
index be6513390..b66d13e31 100644
--- a/node_modules/is-regex/index.js
+++ b/node_modules/is-regex/index.js
@@ -1,39 +1,49 @@
'use strict';
-var has = require('has');
-var regexExec = RegExp.prototype.exec;
-var gOPD = Object.getOwnPropertyDescriptor;
-
-var tryRegexExecCall = function tryRegexExec(value) {
- try {
- var lastIndex = value.lastIndex;
- value.lastIndex = 0;
-
- regexExec.call(value);
- return true;
- } catch (e) {
- return false;
- } finally {
- value.lastIndex = lastIndex;
+var hasSymbols = require('has-symbols')();
+var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';
+var regexExec;
+var isRegexMarker;
+var badStringifier;
+
+if (hasToStringTag) {
+ regexExec = Function.call.bind(RegExp.prototype.exec);
+ isRegexMarker = {};
+
+ var throwRegexMarker = function () {
+ throw isRegexMarker;
+ };
+ badStringifier = {
+ toString: throwRegexMarker,
+ valueOf: throwRegexMarker
+ };
+
+ if (typeof Symbol.toPrimitive === 'symbol') {
+ badStringifier[Symbol.toPrimitive] = throwRegexMarker;
}
-};
+}
+
var toStr = Object.prototype.toString;
var regexClass = '[object RegExp]';
-var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-module.exports = function isRegex(value) {
- if (!value || typeof value !== 'object') {
- return false;
- }
- if (!hasToStringTag) {
- return toStr.call(value) === regexClass;
- }
+module.exports = hasToStringTag
+ // eslint-disable-next-line consistent-return
+ ? function isRegex(value) {
+ if (!value || typeof value !== 'object') {
+ return false;
+ }
- var descriptor = gOPD(value, 'lastIndex');
- var hasLastIndexDataProperty = descriptor && has(descriptor, 'value');
- if (!hasLastIndexDataProperty) {
- return false;
+ try {
+ regexExec(value, badStringifier);
+ } catch (e) {
+ return e === isRegexMarker;
+ }
}
+ : function isRegex(value) {
+ // In older browsers, typeof regex incorrectly returns 'function'
+ if (!value || (typeof value !== 'object' && typeof value !== 'function')) {
+ return false;
+ }
- return tryRegexExecCall(value);
-};
+ return toStr.call(value) === regexClass;
+ };
diff --git a/node_modules/is-regex/package.json b/node_modules/is-regex/package.json
index 697123805..1b12c21c7 100644
--- a/node_modules/is-regex/package.json
+++ b/node_modules/is-regex/package.json
@@ -1,77 +1,111 @@
{
- "name": "is-regex",
- "version": "1.0.4",
- "description": "Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag",
- "author": "Jordan Harband",
- "license": "MIT",
- "main": "index.js",
- "scripts": {
- "pretest": "npm run lint",
- "test": "npm run tests-only",
- "tests-only": "node --harmony --es-staging test.js",
- "posttest": "npm run security",
- "coverage": "covert test.js",
- "coverage-quiet": "covert test.js --quiet",
- "lint": "npm run jscs && npm run eslint",
- "jscs": "jscs *.js",
- "eslint": "eslint test.js *.js",
- "eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
- "security": "nsp check"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/ljharb/is-regex.git"
- },
- "bugs": {
- "url": "https://github.com/ljharb/is-regex/issues"
- },
- "homepage": "https://github.com/ljharb/is-regex",
- "keywords": [
- "regex",
- "regexp",
- "is",
- "regular expression",
- "regular",
- "expression"
- ],
- "dependencies": {
- "has": "^1.0.1"
- },
- "devDependencies": {
- "tape": "^4.6.3",
- "covert": "^1.1.0",
- "jscs": "^3.0.7",
- "editorconfig-tools": "^0.1.1",
- "nsp": "^2.6.2",
- "eslint": "^3.15.0",
- "@ljharb/eslint-config": "^11.0.0",
- "semver": "^5.3.0",
- "replace": "^0.3.0"
- },
- "testling": {
- "files": "test.js",
- "browsers": [
- "iexplore/6.0..latest",
- "firefox/3.0..6.0",
- "firefox/15.0..latest",
- "firefox/nightly",
- "chrome/4.0..10.0",
- "chrome/20.0..latest",
- "chrome/canary",
- "opera/10.0..12.0",
- "opera/15.0..latest",
- "opera/next",
- "safari/4.0..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2"
- ]
- },
- "engines": {
- "node": ">= 0.4"
- }
-
-,"_resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz"
-,"_integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE="
-,"_from": "is-regex@1.0.4"
-} \ No newline at end of file
+ "_from": "is-regex@^1.1.0",
+ "_id": "is-regex@1.1.0",
+ "_inBundle": false,
+ "_integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+ "_location": "/is-regex",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "is-regex@^1.1.0",
+ "name": "is-regex",
+ "escapedName": "is-regex",
+ "rawSpec": "^1.1.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.1.0"
+ },
+ "_requiredBy": [
+ "/deep-equal",
+ "/es-abstract"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+ "_shasum": "ece38e389e490df0dc21caea2bd596f987f767ff",
+ "_spec": "is-regex@^1.1.0",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/es-abstract",
+ "author": {
+ "name": "Jordan Harband",
+ "email": "ljharb@gmail.com"
+ },
+ "auto-changelog": {
+ "output": "CHANGELOG.md",
+ "template": "keepachangelog",
+ "unreleased": false,
+ "commitLimit": false,
+ "backfillLimit": false
+ },
+ "bugs": {
+ "url": "https://github.com/ljharb/is-regex/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "has-symbols": "^1.0.1"
+ },
+ "deprecated": false,
+ "description": "Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag",
+ "devDependencies": {
+ "@ljharb/eslint-config": "^17.1.0",
+ "aud": "^1.1.2",
+ "auto-changelog": "^2.0.0",
+ "covert": "^1.1.1",
+ "eclint": "^2.8.1",
+ "eslint": "^7.1.0",
+ "foreach": "^2.0.5",
+ "safe-publish-latest": "^1.1.4",
+ "tape": "^5.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "homepage": "https://github.com/ljharb/is-regex",
+ "keywords": [
+ "regex",
+ "regexp",
+ "is",
+ "regular expression",
+ "regular",
+ "expression"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "is-regex",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/ljharb/is-regex.git"
+ },
+ "scripts": {
+ "coverage": "covert test/index.js",
+ "eccheck": "eclint check *.js **/*.js > /dev/null",
+ "lint": "eslint .",
+ "posttest": "npx aud --production",
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
+ "prepublish": "safe-publish-latest",
+ "pretest": "npm run lint",
+ "test": "npm run tests-only",
+ "tests-only": "node --harmony --es-staging test",
+ "version": "auto-changelog && git add CHANGELOG.md"
+ },
+ "testling": {
+ "files": "test.js",
+ "browsers": [
+ "iexplore/6.0..latest",
+ "firefox/3.0..6.0",
+ "firefox/15.0..latest",
+ "firefox/nightly",
+ "chrome/4.0..10.0",
+ "chrome/20.0..latest",
+ "chrome/canary",
+ "opera/10.0..12.0",
+ "opera/15.0..latest",
+ "opera/next",
+ "safari/4.0..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2"
+ ]
+ },
+ "version": "1.1.0"
+}
diff --git a/node_modules/is-regex/test.js b/node_modules/is-regex/test/index.js
index 8d390038d..2ca2147f1 100644
--- a/node_modules/is-regex/test.js
+++ b/node_modules/is-regex/test/index.js
@@ -1,8 +1,10 @@
'use strict';
+var hasSymbols = require('has-symbols')();
+var hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';
+var forEach = require('foreach');
var test = require('tape');
-var isRegex = require('./');
-var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+var isRegex = require('..');
test('not regexes', function (t) {
t.notOk(isRegex(), 'undefined is not regex');
@@ -56,3 +58,48 @@ test('does not mutate regexes', function (t) {
t.end();
});
+
+test('does not perform operations observable to Proxies', { skip: typeof Proxy !== 'function' }, function (t) {
+ var Handler = function () {
+ this.trapCalls = 0;
+ };
+
+ forEach([
+ 'defineProperty',
+ 'deleteProperty',
+ 'get',
+ 'getOwnPropertyDescriptor',
+ 'getPrototypeOf',
+ 'has',
+ 'isExtensible',
+ 'ownKeys',
+ 'preventExtensions',
+ 'set',
+ 'setPrototypeOf'
+ ], function (trapName) {
+ Handler.prototype[trapName] = function () {
+ this.trapCalls += 1;
+ return Reflect[trapName].apply(Reflect, arguments);
+ };
+ });
+
+ t.test('proxy of object', function (st) {
+ var handler = new Handler();
+ var proxy = new Proxy({ lastIndex: 0 }, handler);
+
+ st.equal(isRegex(proxy), false, 'proxy of plain object is not regex');
+ st.equal(handler.trapCalls, 0, 'no proxy traps were triggered');
+ st.end();
+ });
+
+ t.test('proxy of RegExp instance', function (st) {
+ var handler = new Handler();
+ var proxy = new Proxy(/a/, handler);
+
+ st.equal(isRegex(proxy), false, 'proxy of RegExp instance is not regex');
+ st.equal(handler.trapCalls, 0, 'no proxy traps were triggered');
+ st.end();
+ });
+
+ t.end();
+});