@qraft/asyncapi-plugin 1.0.0-beta.6 → 1.0.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/_vendor/@stoplight/json-ref-resolver/crawler.js +1 -1
  3. package/dist/_vendor/@stoplight/json-ref-resolver/runner.js +2 -2
  4. package/dist/_vendor/@stoplight/spectral-core/_vendor/brace-expansion/index.js +13 -10
  5. package/dist/_vendor/@stoplight/spectral-core/_vendor/brace-expansion/index.js.map +1 -1
  6. package/dist/_vendor/@stoplight/spectral-core/_vendor/minimatch/minimatch.js +160 -102
  7. package/dist/_vendor/@stoplight/spectral-core/_vendor/minimatch/minimatch.js.map +1 -1
  8. package/dist/_vendor/@stoplight/spectral-core/dist/document.js +2 -2
  9. package/dist/_vendor/@stoplight/spectral-core/dist/documentInventory.js +2 -2
  10. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/rule.js +2 -2
  11. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/ruleset.js +2 -2
  12. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/utils/guards.js +1 -1
  13. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/assertions.js +1 -1
  14. package/dist/_vendor/@stoplight/spectral-core/dist/ruleset/validation/validators/alias.js +1 -1
  15. package/dist/_vendor/@stoplight/spectral-core/dist/runner/runner.js +1 -1
  16. package/dist/_vendor/@stoplight/spectral-core/dist/spectral.js +1 -1
  17. package/dist/_vendor/@stoplight/spectral-formats/dist/arazzo.js +1 -1
  18. package/dist/_vendor/@stoplight/spectral-formats/dist/asyncapi.js +1 -1
  19. package/dist/_vendor/@stoplight/spectral-formats/dist/jsonSchema.js +1 -1
  20. package/dist/_vendor/@stoplight/spectral-formats/dist/openapi.js +1 -1
  21. package/dist/_vendor/@stoplight/spectral-functions/dist/length.js +1 -1
  22. package/dist/_vendor/@stoplight/spectral-functions/dist/unreferencedReusableObject.js +1 -1
  23. package/dist/_vendor/@stoplight/spectral-parsers/dist/json.js +1 -1
  24. package/dist/_vendor/@stoplight/spectral-runtime/dist/reader.js +1 -1
  25. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/decodeSegmentFragment.js +1 -1
  26. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/index.js +1 -1
  27. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printPath.js +1 -1
  28. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/printValue.js +1 -1
  29. package/dist/_vendor/@stoplight/spectral-runtime/dist/utils/refs.js +2 -2
  30. package/dist/_vendor/@stoplight/yaml/index.js +1 -1
  31. package/dist/_vendor/ajv/dist/refs/json-schema-2020-12/index.js +1 -1
  32. package/dist/_vendor/ajv/dist/vocabularies/applicator/index.js +1 -1
  33. package/dist/_vendor/ajv/dist/vocabularies/core/index.js +1 -1
  34. package/dist/_vendor/ajv/dist/vocabularies/dynamic/index.js +1 -1
  35. package/dist/_vendor/ajv/dist/vocabularies/format/index.js +1 -1
  36. package/dist/_vendor/ajv/dist/vocabularies/unevaluated/index.js +1 -1
  37. package/dist/_vendor/ajv/dist/vocabularies/validation/index.js +1 -1
  38. package/dist/_vendor/fast-uri/index.js +180 -83
  39. package/dist/_vendor/fast-uri/index.js.map +1 -1
  40. package/dist/_vendor/fast-uri/lib/schemes.js +163 -82
  41. package/dist/_vendor/fast-uri/lib/schemes.js.map +1 -1
  42. package/dist/_vendor/fast-uri/lib/utils.js +327 -128
  43. package/dist/_vendor/fast-uri/lib/utils.js.map +1 -1
  44. package/dist/_vendor/lodash/lodash.js +38 -27
  45. package/dist/_vendor/lodash/lodash.js.map +1 -1
  46. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/fast-paths/index.js +1 -1
  47. package/dist/_vendor/nimma/dist/legacy/cjs/codegen/optimizer/index.js +1 -1
  48. package/dist/_vendor/safe-stable-stringify/index.js.map +1 -0
  49. package/dist/_vendor/safe-stable-stringify/stable.js.map +1 -0
  50. package/dist/_virtual/index.es.js +3 -3
  51. package/dist/_virtual/index.es2.js +3 -3
  52. package/dist/_virtual/index25.js +2 -2
  53. package/dist/_virtual/index26.js +2 -2
  54. package/dist/_virtual/index27.js +2 -2
  55. package/dist/_virtual/index28.js +2 -2
  56. package/dist/_virtual/index29.js +1 -1
  57. package/dist/_virtual/index38.js +2 -2
  58. package/dist/_virtual/index39.js +2 -2
  59. package/dist/_virtual/index54.js +2 -2
  60. package/dist/_virtual/index55.js +2 -2
  61. package/dist/_virtual/index56.js +2 -2
  62. package/dist/_virtual/index57.js +2 -2
  63. package/dist/_virtual/index59.js +2 -2
  64. package/dist/packageVersion.d.ts +1 -1
  65. package/dist/packageVersion.js +1 -1
  66. package/dist/packageVersion.js.map +1 -1
  67. package/package.json +4 -4
  68. package/src/packageVersion.ts +1 -1
  69. package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/index.js.map +0 -1
  70. package/dist/_vendor/@stoplight/json/_vendor/safe-stable-stringify/stable.js.map +0 -1
  71. package/dist/_vendor/fast-uri/lib/scopedChars.js +0 -40
  72. package/dist/_vendor/fast-uri/lib/scopedChars.js.map +0 -1
  73. /package/dist/_vendor/{@stoplight/json/_vendor/safe-stable-stringify → safe-stable-stringify}/index.js +0 -0
  74. /package/dist/_vendor/{@stoplight/json/_vendor/safe-stable-stringify → safe-stable-stringify}/stable.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @qraft/asyncapi-plugin
2
2
 
3
+ ## 1.0.0-beta.8
4
+
5
+ ### Patch Changes
6
+
7
+ - @qraft/plugin@1.0.0-beta.8
8
+
9
+ ## 1.0.0-beta.7
10
+
11
+ ### Patch Changes
12
+
13
+ - @qraft/plugin@1.0.0-beta.7
14
+
3
15
  ## 1.0.0-beta.6
4
16
 
5
17
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  import { __exports as crawler } from '../../../_virtual/crawler.js';
2
- import require$$2 from '../../../_virtual/index.es.js';
2
+ import require$$2 from '../../../_virtual/index.es2.js';
3
3
  import { __require as requireDep_graph } from '../../dependency-graph/lib/dep_graph.js';
4
4
  import { __require as requireGet } from '../../lodash/get.js';
5
5
  import { __require as requireUtils } from './utils.js';
@@ -1,7 +1,7 @@
1
1
  import { __exports as runner } from '../../../_virtual/runner2.js';
2
2
  import require$$0 from '../../../_virtual/tslib.es6.js';
3
- import require$$2 from '../../../_virtual/index.es.js';
4
- import require$$1 from '../../../_virtual/index.es2.js';
3
+ import require$$2 from '../../../_virtual/index.es2.js';
4
+ import require$$1 from '../../../_virtual/index.es.js';
5
5
  import { __require as requireDep_graph } from '../../dependency-graph/lib/dep_graph.js';
6
6
  import { __require as requireDist } from '../../immer/dist/index.js';
7
7
  import { __require as requireGet } from '../../lodash/get.js';
@@ -71,10 +71,13 @@ function requireBraceExpansion () {
71
71
  return parts;
72
72
  }
73
73
 
74
- function expandTop(str) {
74
+ function expandTop(str, options) {
75
75
  if (!str)
76
76
  return [];
77
77
 
78
+ options = options || {};
79
+ var max = options.max == null ? Infinity : options.max;
80
+
78
81
  // I don't know why Bash 4.3 does this, but it does.
79
82
  // Anything starting with {} will have the first two bytes preserved
80
83
  // but *only* at the top level, so {},a}b will not expand to anything,
@@ -85,7 +88,7 @@ function requireBraceExpansion () {
85
88
  str = '\\{\\}' + str.substr(2);
86
89
  }
87
90
 
88
- return expand(escapeBraces(str), true).map(unescapeBraces);
91
+ return expand(escapeBraces(str), max, true).map(unescapeBraces);
89
92
  }
90
93
 
91
94
  function embrace(str) {
@@ -102,7 +105,7 @@ function requireBraceExpansion () {
102
105
  return i >= y;
103
106
  }
104
107
 
105
- function expand(str, isTop) {
108
+ function expand(str, max, isTop) {
106
109
  var expansions = [];
107
110
 
108
111
  var m = balanced('{', '}', str);
@@ -116,7 +119,7 @@ function requireBraceExpansion () {
116
119
  // {a},b}
117
120
  if (m.post.match(/,(?!,).*\}/)) {
118
121
  str = m.pre + '{' + m.body + escClose + m.post;
119
- return expand(str);
122
+ return expand(str, max, true);
120
123
  }
121
124
  return [str];
122
125
  }
@@ -128,10 +131,10 @@ function requireBraceExpansion () {
128
131
  n = parseCommaParts(m.body);
129
132
  if (n.length === 1) {
130
133
  // x{{a,b}}y ==> x{a}y x{b}y
131
- n = expand(n[0], false).map(embrace);
134
+ n = expand(n[0], max, false).map(embrace);
132
135
  if (n.length === 1) {
133
136
  var post = m.post.length
134
- ? expand(m.post, false)
137
+ ? expand(m.post, max, false)
135
138
  : [''];
136
139
  return post.map(function(p) {
137
140
  return m.pre + n[0] + p;
@@ -146,7 +149,7 @@ function requireBraceExpansion () {
146
149
  // no need to expand pre, since it is guaranteed to be free of brace-sets
147
150
  var pre = m.pre;
148
151
  var post = m.post.length
149
- ? expand(m.post, false)
152
+ ? expand(m.post, max, false)
150
153
  : [''];
151
154
 
152
155
  var N;
@@ -156,7 +159,7 @@ function requireBraceExpansion () {
156
159
  var y = numeric(n[1]);
157
160
  var width = Math.max(n[0].length, n[1].length);
158
161
  var incr = n.length == 3
159
- ? Math.abs(numeric(n[2]))
162
+ ? Math.max(Math.abs(numeric(n[2])), 1)
160
163
  : 1;
161
164
  var test = lte;
162
165
  var reverse = y < x;
@@ -190,11 +193,11 @@ function requireBraceExpansion () {
190
193
  N.push(c);
191
194
  }
192
195
  } else {
193
- N = concatMap(n, function(el) { return expand(el, false) });
196
+ N = concatMap(n, function(el) { return expand(el, max, false) });
194
197
  }
195
198
 
196
199
  for (var j = 0; j < N.length; j++) {
197
- for (var k = 0; k < post.length; k++) {
200
+ for (var k = 0; k < post.length && expansions.length < max; k++) {
198
201
  var expansion = pre + N[j] + post[k];
199
202
  if (!isTop || isSequence || expansion)
200
203
  expansions.push(expansion);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/@stoplight/spectral-core/node_modules/brace-expansion/index.js"],"sourcesContent":["var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str) {\n if (!str)\n return [];\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,(?!,).*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.abs(numeric(n[2]))\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n\n"],"names":["require$$0","require$$1"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/@stoplight/spectral-core/node_modules/brace-expansion/index.js"],"sourcesContent":["var concatMap = require('concat-map');\nvar balanced = require('balanced-match');\n\nmodule.exports = expandTop;\n\nvar escSlash = '\\0SLASH'+Math.random()+'\\0';\nvar escOpen = '\\0OPEN'+Math.random()+'\\0';\nvar escClose = '\\0CLOSE'+Math.random()+'\\0';\nvar escComma = '\\0COMMA'+Math.random()+'\\0';\nvar escPeriod = '\\0PERIOD'+Math.random()+'\\0';\n\nfunction numeric(str) {\n return parseInt(str, 10) == str\n ? parseInt(str, 10)\n : str.charCodeAt(0);\n}\n\nfunction escapeBraces(str) {\n return str.split('\\\\\\\\').join(escSlash)\n .split('\\\\{').join(escOpen)\n .split('\\\\}').join(escClose)\n .split('\\\\,').join(escComma)\n .split('\\\\.').join(escPeriod);\n}\n\nfunction unescapeBraces(str) {\n return str.split(escSlash).join('\\\\')\n .split(escOpen).join('{')\n .split(escClose).join('}')\n .split(escComma).join(',')\n .split(escPeriod).join('.');\n}\n\n\n// Basically just str.split(\",\"), but handling cases\n// where we have nested braced sections, which should be\n// treated as individual members, like {a,{b,c},d}\nfunction parseCommaParts(str) {\n if (!str)\n return [''];\n\n var parts = [];\n var m = balanced('{', '}', str);\n\n if (!m)\n return str.split(',');\n\n var pre = m.pre;\n var body = m.body;\n var post = m.post;\n var p = pre.split(',');\n\n p[p.length-1] += '{' + body + '}';\n var postParts = parseCommaParts(post);\n if (post.length) {\n p[p.length-1] += postParts.shift();\n p.push.apply(p, postParts);\n }\n\n parts.push.apply(parts, p);\n\n return parts;\n}\n\nfunction expandTop(str, options) {\n if (!str)\n return [];\n\n options = options || {};\n var max = options.max == null ? Infinity : options.max;\n\n // I don't know why Bash 4.3 does this, but it does.\n // Anything starting with {} will have the first two bytes preserved\n // but *only* at the top level, so {},a}b will not expand to anything,\n // but a{},b}c will be expanded to [a}c,abc].\n // One could argue that this is a bug in Bash, but since the goal of\n // this module is to match Bash's rules, we escape a leading {}\n if (str.substr(0, 2) === '{}') {\n str = '\\\\{\\\\}' + str.substr(2);\n }\n\n return expand(escapeBraces(str), max, true).map(unescapeBraces);\n}\n\nfunction identity(e) {\n return e;\n}\n\nfunction embrace(str) {\n return '{' + str + '}';\n}\nfunction isPadded(el) {\n return /^-?0\\d/.test(el);\n}\n\nfunction lte(i, y) {\n return i <= y;\n}\nfunction gte(i, y) {\n return i >= y;\n}\n\nfunction expand(str, max, isTop) {\n var expansions = [];\n\n var m = balanced('{', '}', str);\n if (!m || /\\$$/.test(m.pre)) return [str];\n\n var isNumericSequence = /^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(m.body);\n var isAlphaSequence = /^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(m.body);\n var isSequence = isNumericSequence || isAlphaSequence;\n var isOptions = m.body.indexOf(',') >= 0;\n if (!isSequence && !isOptions) {\n // {a},b}\n if (m.post.match(/,(?!,).*\\}/)) {\n str = m.pre + '{' + m.body + escClose + m.post;\n return expand(str, max, true);\n }\n return [str];\n }\n\n var n;\n if (isSequence) {\n n = m.body.split(/\\.\\./);\n } else {\n n = parseCommaParts(m.body);\n if (n.length === 1) {\n // x{{a,b}}y ==> x{a}y x{b}y\n n = expand(n[0], max, false).map(embrace);\n if (n.length === 1) {\n var post = m.post.length\n ? expand(m.post, max, false)\n : [''];\n return post.map(function(p) {\n return m.pre + n[0] + p;\n });\n }\n }\n }\n\n // at this point, n is the parts, and we know it's not a comma set\n // with a single entry.\n\n // no need to expand pre, since it is guaranteed to be free of brace-sets\n var pre = m.pre;\n var post = m.post.length\n ? expand(m.post, max, false)\n : [''];\n\n var N;\n\n if (isSequence) {\n var x = numeric(n[0]);\n var y = numeric(n[1]);\n var width = Math.max(n[0].length, n[1].length)\n var incr = n.length == 3\n ? Math.max(Math.abs(numeric(n[2])), 1)\n : 1;\n var test = lte;\n var reverse = y < x;\n if (reverse) {\n incr *= -1;\n test = gte;\n }\n var pad = n.some(isPadded);\n\n N = [];\n\n for (var i = x; test(i, y); i += incr) {\n var c;\n if (isAlphaSequence) {\n c = String.fromCharCode(i);\n if (c === '\\\\')\n c = '';\n } else {\n c = String(i);\n if (pad) {\n var need = width - c.length;\n if (need > 0) {\n var z = new Array(need + 1).join('0');\n if (i < 0)\n c = '-' + z + c.slice(1);\n else\n c = z + c;\n }\n }\n }\n N.push(c);\n }\n } else {\n N = concatMap(n, function(el) { return expand(el, max, false) });\n }\n\n for (var j = 0; j < N.length; j++) {\n for (var k = 0; k < post.length && expansions.length < max; k++) {\n var expansion = pre + N[j] + post[k];\n if (!isTop || isSequence || expansion)\n expansions.push(expansion);\n }\n }\n\n return expansions;\n}\n"],"names":["require$$0","require$$1"],"mappings":"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","x_google_ignoreList":[0]}
@@ -150,6 +150,8 @@ function requireMinimatch () {
150
150
  }
151
151
 
152
152
  this.options = options;
153
+ this.maxGlobstarRecursion = options.maxGlobstarRecursion !== undefined
154
+ ? options.maxGlobstarRecursion : 200;
153
155
  this.set = [];
154
156
  this.pattern = pattern;
155
157
  this.regexp = null;
@@ -398,6 +400,9 @@ function requireMinimatch () {
398
400
  continue
399
401
  }
400
402
 
403
+ // coalesce consecutive non-globstar * characters
404
+ if (c === '*' && stateChar === '*') continue
405
+
401
406
  // if we already have a stateChar, then it means
402
407
  // that there was something like ** or +? in there.
403
408
  // Handle the stateChar, then proceed with this one.
@@ -792,109 +797,173 @@ function requireMinimatch () {
792
797
  // out of pattern, then that's fine, as long as all
793
798
  // the parts match.
794
799
  Minimatch.prototype.matchOne = function (file, pattern, partial) {
795
- var options = this.options;
800
+ if (pattern.indexOf(GLOBSTAR) !== -1) {
801
+ return this._matchGlobstar(file, pattern, partial, 0, 0)
802
+ }
803
+ return this._matchOne(file, pattern, partial, 0, 0)
804
+ };
796
805
 
797
- this.debug('matchOne',
798
- { 'this': this, file: file, pattern: pattern });
806
+ Minimatch.prototype._matchGlobstar = function (file, pattern, partial, fileIndex, patternIndex) {
807
+ var i;
799
808
 
800
- this.debug('matchOne', file.length, pattern.length);
809
+ // find first globstar from patternIndex
810
+ var firstgs = -1;
811
+ for (i = patternIndex; i < pattern.length; i++) {
812
+ if (pattern[i] === GLOBSTAR) { firstgs = i; break }
813
+ }
801
814
 
802
- for (var fi = 0,
803
- pi = 0,
804
- fl = file.length,
805
- pl = pattern.length
806
- ; (fi < fl) && (pi < pl)
807
- ; fi++, pi++) {
808
- this.debug('matchOne loop');
809
- var p = pattern[pi];
810
- var f = file[fi];
815
+ // find last globstar
816
+ var lastgs = -1;
817
+ for (i = pattern.length - 1; i >= 0; i--) {
818
+ if (pattern[i] === GLOBSTAR) { lastgs = i; break }
819
+ }
811
820
 
812
- this.debug(pattern, p, f);
821
+ var head = pattern.slice(patternIndex, firstgs);
822
+ var body = partial ? pattern.slice(firstgs + 1) : pattern.slice(firstgs + 1, lastgs);
823
+ var tail = partial ? [] : pattern.slice(lastgs + 1);
813
824
 
814
- // should be impossible.
815
- // some invalid regexp stuff in the set.
816
- /* istanbul ignore if */
817
- if (p === false) return false
818
-
819
- if (p === GLOBSTAR) {
820
- this.debug('GLOBSTAR', [pattern, p, f]);
821
-
822
- // "**"
823
- // a/**/b/**/c would match the following:
824
- // a/b/x/y/z/c
825
- // a/x/y/z/b/c
826
- // a/b/x/b/x/c
827
- // a/b/c
828
- // To do this, take the rest of the pattern after
829
- // the **, and see if it would match the file remainder.
830
- // If so, return success.
831
- // If not, the ** "swallows" a segment, and try again.
832
- // This is recursively awful.
833
- //
834
- // a/**/b/**/c matching a/b/x/y/z/c
835
- // - a matches a
836
- // - doublestar
837
- // - matchOne(b/x/y/z/c, b/**/c)
838
- // - b matches b
839
- // - doublestar
840
- // - matchOne(x/y/z/c, c) -> no
841
- // - matchOne(y/z/c, c) -> no
842
- // - matchOne(z/c, c) -> no
843
- // - matchOne(c, c) yes, hit
844
- var fr = fi;
845
- var pr = pi + 1;
846
- if (pr === pl) {
847
- this.debug('** at the end');
848
- // a ** at the end will just swallow the rest.
849
- // We have found a match.
850
- // however, it will not swallow /.x, unless
851
- // options.dot is set.
852
- // . and .. are *never* matched by **, for explosively
853
- // exponential reasons.
854
- for (; fi < fl; fi++) {
855
- if (file[fi] === '.' || file[fi] === '..' ||
856
- (!options.dot && file[fi].charAt(0) === '.')) return false
857
- }
858
- return true
825
+ // check the head
826
+ if (head.length) {
827
+ var fileHead = file.slice(fileIndex, fileIndex + head.length);
828
+ if (!this._matchOne(fileHead, head, partial, 0, 0)) {
829
+ return false
830
+ }
831
+ fileIndex += head.length;
832
+ }
833
+
834
+ // check the tail
835
+ var fileTailMatch = 0;
836
+ if (tail.length) {
837
+ if (tail.length + fileIndex > file.length) return false
838
+
839
+ var tailStart = file.length - tail.length;
840
+ if (this._matchOne(file, tail, partial, tailStart, 0)) {
841
+ fileTailMatch = tail.length;
842
+ } else {
843
+ // affordance for stuff like a/**/* matching a/b/
844
+ if (file[file.length - 1] !== '' ||
845
+ fileIndex + tail.length === file.length) {
846
+ return false
847
+ }
848
+ tailStart--;
849
+ if (!this._matchOne(file, tail, partial, tailStart, 0)) {
850
+ return false
859
851
  }
852
+ fileTailMatch = tail.length + 1;
853
+ }
854
+ }
860
855
 
861
- // ok, let's see if we can swallow whatever we can.
862
- while (fr < fl) {
863
- var swallowee = file[fr];
864
-
865
- this.debug('\nglobstar while', file, fr, pattern, pr, swallowee);
866
-
867
- // XXX remove this slice. Just pass the start index.
868
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
869
- this.debug('globstar found match!', fr, fl, swallowee);
870
- // found a match.
871
- return true
872
- } else {
873
- // can't swallow "." or ".." ever.
874
- // can only swallow ".foo" when explicitly asked.
875
- if (swallowee === '.' || swallowee === '..' ||
876
- (!options.dot && swallowee.charAt(0) === '.')) {
877
- this.debug('dot detected!', file, fr, pattern, pr);
878
- break
879
- }
880
-
881
- // ** swallows a segment, and continue.
882
- this.debug('globstar swallow a segment, and continue');
883
- fr++;
884
- }
856
+ // if body is empty (single ** between head and tail)
857
+ if (!body.length) {
858
+ var sawSome = !!fileTailMatch;
859
+ for (i = fileIndex; i < file.length - fileTailMatch; i++) {
860
+ var f = String(file[i]);
861
+ sawSome = true;
862
+ if (f === '.' || f === '..' ||
863
+ (!this.options.dot && f.charAt(0) === '.')) {
864
+ return false
885
865
  }
866
+ }
867
+ return partial || sawSome
868
+ }
869
+
870
+ // split body into segments at each GLOBSTAR
871
+ var bodySegments = [[[], 0]];
872
+ var currentBody = bodySegments[0];
873
+ var nonGsParts = 0;
874
+ var nonGsPartsSums = [0];
875
+ for (var bi = 0; bi < body.length; bi++) {
876
+ var b = body[bi];
877
+ if (b === GLOBSTAR) {
878
+ nonGsPartsSums.push(nonGsParts);
879
+ currentBody = [[], 0];
880
+ bodySegments.push(currentBody);
881
+ } else {
882
+ currentBody[0].push(b);
883
+ nonGsParts++;
884
+ }
885
+ }
886
+
887
+ var idx = bodySegments.length - 1;
888
+ var fileLength = file.length - fileTailMatch;
889
+ for (var si = 0; si < bodySegments.length; si++) {
890
+ bodySegments[si][1] = fileLength -
891
+ (nonGsPartsSums[idx--] + bodySegments[si][0].length);
892
+ }
893
+
894
+ return !!this._matchGlobStarBodySections(
895
+ file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch
896
+ )
897
+ };
886
898
 
887
- // no match was found.
888
- // However, in partial mode, we can't say this is necessarily over.
889
- // If there's more *pattern* left, then
890
- /* istanbul ignore if */
891
- if (partial) {
892
- // ran out of file
893
- this.debug('\n>>> no match, partial?', file, fr, pattern, pr);
894
- if (fr === fl) return true
899
+ // return false for "nope, not matching"
900
+ // return null for "not matching, cannot keep trying"
901
+ Minimatch.prototype._matchGlobStarBodySections = function (
902
+ file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail
903
+ ) {
904
+ var bs = bodySegments[bodyIndex];
905
+ if (!bs) {
906
+ // just make sure there are no bad dots
907
+ for (var i = fileIndex; i < file.length; i++) {
908
+ sawTail = true;
909
+ var f = file[i];
910
+ if (f === '.' || f === '..' ||
911
+ (!this.options.dot && f.charAt(0) === '.')) {
912
+ return false
895
913
  }
914
+ }
915
+ return sawTail
916
+ }
917
+
918
+ var body = bs[0];
919
+ var after = bs[1];
920
+ while (fileIndex <= after) {
921
+ var m = this._matchOne(
922
+ file.slice(0, fileIndex + body.length),
923
+ body,
924
+ partial,
925
+ fileIndex,
926
+ 0
927
+ );
928
+ // if limit exceeded, no match. intentional false negative,
929
+ // acceptable break in correctness for security.
930
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
931
+ var sub = this._matchGlobStarBodySections(
932
+ file, bodySegments,
933
+ fileIndex + body.length, bodyIndex + 1,
934
+ partial, globStarDepth + 1, sawTail
935
+ );
936
+ if (sub !== false) {
937
+ return sub
938
+ }
939
+ }
940
+ var f = file[fileIndex];
941
+ if (f === '.' || f === '..' ||
942
+ (!this.options.dot && f.charAt(0) === '.')) {
896
943
  return false
897
944
  }
945
+ fileIndex++;
946
+ }
947
+ return partial || null
948
+ };
949
+
950
+ Minimatch.prototype._matchOne = function (file, pattern, partial, fileIndex, patternIndex) {
951
+ var fi, pi, fl, pl;
952
+ for (
953
+ fi = fileIndex, pi = patternIndex, fl = file.length, pl = pattern.length
954
+ ; (fi < fl) && (pi < pl)
955
+ ; fi++, pi++
956
+ ) {
957
+ this.debug('matchOne loop');
958
+ var p = pattern[pi];
959
+ var f = file[fi];
960
+
961
+ this.debug(pattern, p, f);
962
+
963
+ // should be impossible.
964
+ // some invalid regexp stuff in the set.
965
+ /* istanbul ignore if */
966
+ if (p === false || p === GLOBSTAR) return false
898
967
 
899
968
  // something other than **
900
969
  // non-magic patterns just have to match exactly
@@ -911,17 +980,6 @@ function requireMinimatch () {
911
980
  if (!hit) return false
912
981
  }
913
982
 
914
- // Note: ending in / means that we'll get a final ""
915
- // at the end of the pattern. This can only match a
916
- // corresponding "" at the end of the file.
917
- // If the file ends in /, then it can only match a
918
- // a pattern that ends in /, unless the pattern just
919
- // doesn't have any more for it. But, a/b/ should *not*
920
- // match "a/b/*", even though "" matches against the
921
- // [^/]*? pattern, except in partial mode, where it might
922
- // simply not be reached yet.
923
- // However, a/b/ should still satisfy a/*
924
-
925
983
  // now either we fell off the end of the pattern, or we're done.
926
984
  if (fi === fl && pi === pl) {
927
985
  // ran out of pattern and filename at the same time.