decidim 0.27.4 → 0.27.6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Rakefile +7 -16
- data/decidim-core/lib/decidim/webpacker/webpack/.modernizrrc +9 -0
- data/decidim.gemspec +65 -0
- data/docs/modules/develop/pages/releases.adoc +4 -0
- data/docs/modules/install/assets/attachments/.gitkeep +0 -0
- data/docs/modules/install/assets/images/.gitkeep +0 -0
- data/docs/modules/install/pages/manual.adoc +5 -1
- data/docs/modules/install/pages/update.adoc +5 -0
- data/docs/modules/install/partials/version_matrix.adoc +13 -0
- data/docs/modules/services/pages/maps.adoc +8 -0
- data/lib/decidim/gem_manager.rb +38 -0
- data/lib/decidim/version.rb +1 -1
- data/package-lock.json +32 -26
- data/packages/browserslist-config/package.json +1 -1
- data/packages/core/package.json +4 -4
- data/packages/dev/package.json +1 -1
- data/packages/elections/package.json +1 -1
- data/packages/eslint-config/package.json +1 -1
- data/packages/stylelint-config/package.json +1 -1
- data/packages/webpacker/package.json +1 -1
- metadata +52 -239
- data/lib/decidim/release_manager.rb.new +0 -43
- data/packages/core/node_modules/diff/CONTRIBUTING.md +0 -39
- data/packages/core/node_modules/diff/LICENSE +0 -31
- data/packages/core/node_modules/diff/README.md +0 -211
- data/packages/core/node_modules/diff/dist/diff.js +0 -1627
- data/packages/core/node_modules/diff/dist/diff.min.js +0 -38
- data/packages/core/node_modules/diff/lib/convert/dmp.js +0 -32
- data/packages/core/node_modules/diff/lib/convert/xml.js +0 -42
- data/packages/core/node_modules/diff/lib/diff/array.js +0 -45
- data/packages/core/node_modules/diff/lib/diff/base.js +0 -307
- data/packages/core/node_modules/diff/lib/diff/character.js +0 -37
- data/packages/core/node_modules/diff/lib/diff/css.js +0 -41
- data/packages/core/node_modules/diff/lib/diff/json.js +0 -163
- data/packages/core/node_modules/diff/lib/diff/line.js +0 -89
- data/packages/core/node_modules/diff/lib/diff/sentence.js +0 -41
- data/packages/core/node_modules/diff/lib/diff/word.js +0 -108
- data/packages/core/node_modules/diff/lib/index.es6.js +0 -1561
- data/packages/core/node_modules/diff/lib/index.js +0 -216
- data/packages/core/node_modules/diff/lib/index.mjs +0 -1561
- data/packages/core/node_modules/diff/lib/patch/apply.js +0 -238
- data/packages/core/node_modules/diff/lib/patch/create.js +0 -272
- data/packages/core/node_modules/diff/lib/patch/merge.js +0 -613
- data/packages/core/node_modules/diff/lib/patch/parse.js +0 -167
- data/packages/core/node_modules/diff/lib/util/array.js +0 -32
- data/packages/core/node_modules/diff/lib/util/distance-iterator.js +0 -57
- data/packages/core/node_modules/diff/lib/util/params.js +0 -24
- data/packages/core/node_modules/diff/package.json +0 -87
- data/packages/core/node_modules/diff/release-notes.md +0 -309
- data/packages/core/node_modules/diff/runtime.js +0 -3
- data/packages/core/package-lock.json +0 -4889
- data/packages/webpacker/node_modules/argparse/CHANGELOG.md +0 -216
- data/packages/webpacker/node_modules/argparse/LICENSE +0 -254
- data/packages/webpacker/node_modules/argparse/README.md +0 -84
- data/packages/webpacker/node_modules/argparse/argparse.js +0 -3707
- data/packages/webpacker/node_modules/argparse/lib/sub.js +0 -67
- data/packages/webpacker/node_modules/argparse/lib/textwrap.js +0 -440
- data/packages/webpacker/node_modules/argparse/package.json +0 -31
- data/packages/webpacker/node_modules/brace-expansion/LICENSE +0 -21
- data/packages/webpacker/node_modules/brace-expansion/README.md +0 -135
- data/packages/webpacker/node_modules/brace-expansion/index.js +0 -203
- data/packages/webpacker/node_modules/brace-expansion/package.json +0 -46
- data/packages/webpacker/node_modules/glob/LICENSE +0 -15
- data/packages/webpacker/node_modules/glob/README.md +0 -1214
- data/packages/webpacker/node_modules/glob/dist/cjs/package.json +0 -4
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.d.ts +0 -3
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.js +0 -270
- data/packages/webpacker/node_modules/glob/dist/cjs/src/bin.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.d.ts +0 -344
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.js +0 -238
- data/packages/webpacker/node_modules/glob/dist/cjs/src/glob.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.d.ts +0 -14
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.js +0 -27
- data/packages/webpacker/node_modules/glob/dist/cjs/src/has-magic.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.d.ts +0 -20
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.js +0 -103
- data/packages/webpacker/node_modules/glob/dist/cjs/src/ignore.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.d.ts +0 -95
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.js +0 -68
- data/packages/webpacker/node_modules/glob/dist/cjs/src/index.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.d.ts +0 -77
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.js +0 -219
- data/packages/webpacker/node_modules/glob/dist/cjs/src/pattern.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.d.ts +0 -59
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.js +0 -309
- data/packages/webpacker/node_modules/glob/dist/cjs/src/processor.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.d.ts +0 -96
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.js +0 -358
- data/packages/webpacker/node_modules/glob/dist/cjs/src/walker.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.d.ts +0 -344
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.js +0 -234
- data/packages/webpacker/node_modules/glob/dist/mjs/glob.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.d.ts +0 -14
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.js +0 -23
- data/packages/webpacker/node_modules/glob/dist/mjs/has-magic.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.d.ts +0 -20
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.js +0 -99
- data/packages/webpacker/node_modules/glob/dist/mjs/ignore.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/index.d.ts +0 -95
- data/packages/webpacker/node_modules/glob/dist/mjs/index.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/index.js +0 -56
- data/packages/webpacker/node_modules/glob/dist/mjs/index.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/package.json +0 -4
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.d.ts +0 -77
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.js +0 -215
- data/packages/webpacker/node_modules/glob/dist/mjs/pattern.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.d.ts +0 -59
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.js +0 -302
- data/packages/webpacker/node_modules/glob/dist/mjs/processor.js.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.d.ts +0 -96
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.d.ts.map +0 -1
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.js +0 -352
- data/packages/webpacker/node_modules/glob/dist/mjs/walker.js.map +0 -1
- data/packages/webpacker/node_modules/glob/package.json +0 -98
- data/packages/webpacker/node_modules/js-yaml/CHANGELOG.md +0 -616
- data/packages/webpacker/node_modules/js-yaml/LICENSE +0 -21
- data/packages/webpacker/node_modules/js-yaml/README.md +0 -246
- data/packages/webpacker/node_modules/js-yaml/bin/js-yaml.js +0 -126
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.js +0 -3874
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
- data/packages/webpacker/node_modules/js-yaml/dist/js-yaml.mjs +0 -3851
- data/packages/webpacker/node_modules/js-yaml/index.js +0 -47
- data/packages/webpacker/node_modules/js-yaml/lib/common.js +0 -59
- data/packages/webpacker/node_modules/js-yaml/lib/dumper.js +0 -965
- data/packages/webpacker/node_modules/js-yaml/lib/exception.js +0 -55
- data/packages/webpacker/node_modules/js-yaml/lib/loader.js +0 -1727
- data/packages/webpacker/node_modules/js-yaml/lib/schema/core.js +0 -11
- data/packages/webpacker/node_modules/js-yaml/lib/schema/default.js +0 -22
- data/packages/webpacker/node_modules/js-yaml/lib/schema/failsafe.js +0 -17
- data/packages/webpacker/node_modules/js-yaml/lib/schema/json.js +0 -19
- data/packages/webpacker/node_modules/js-yaml/lib/schema.js +0 -121
- data/packages/webpacker/node_modules/js-yaml/lib/snippet.js +0 -101
- data/packages/webpacker/node_modules/js-yaml/lib/type/binary.js +0 -125
- data/packages/webpacker/node_modules/js-yaml/lib/type/bool.js +0 -35
- data/packages/webpacker/node_modules/js-yaml/lib/type/float.js +0 -97
- data/packages/webpacker/node_modules/js-yaml/lib/type/int.js +0 -156
- data/packages/webpacker/node_modules/js-yaml/lib/type/map.js +0 -8
- data/packages/webpacker/node_modules/js-yaml/lib/type/merge.js +0 -12
- data/packages/webpacker/node_modules/js-yaml/lib/type/null.js +0 -35
- data/packages/webpacker/node_modules/js-yaml/lib/type/omap.js +0 -44
- data/packages/webpacker/node_modules/js-yaml/lib/type/pairs.js +0 -53
- data/packages/webpacker/node_modules/js-yaml/lib/type/seq.js +0 -8
- data/packages/webpacker/node_modules/js-yaml/lib/type/set.js +0 -29
- data/packages/webpacker/node_modules/js-yaml/lib/type/str.js +0 -8
- data/packages/webpacker/node_modules/js-yaml/lib/type/timestamp.js +0 -88
- data/packages/webpacker/node_modules/js-yaml/lib/type.js +0 -66
- data/packages/webpacker/node_modules/js-yaml/package.json +0 -66
- data/packages/webpacker/node_modules/minimatch/LICENSE +0 -15
- data/packages/webpacker/node_modules/minimatch/README.md +0 -454
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts +0 -2
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +0 -14
- data/packages/webpacker/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.d.ts +0 -19
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.js +0 -589
- data/packages/webpacker/node_modules/minimatch/dist/cjs/ast.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.d.ts +0 -8
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.js +0 -152
- data/packages/webpacker/node_modules/minimatch/dist/cjs/brace-expressions.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.d.ts +0 -12
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.js +0 -22
- data/packages/webpacker/node_modules/minimatch/dist/cjs/escape.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.d.ts +0 -94
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.js +0 -1011
- data/packages/webpacker/node_modules/minimatch/dist/cjs/index.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/package.json +0 -3
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.d.ts +0 -17
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.js +0 -24
- data/packages/webpacker/node_modules/minimatch/dist/cjs/unescape.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts +0 -2
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +0 -10
- data/packages/webpacker/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.d.ts +0 -19
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.js +0 -585
- data/packages/webpacker/node_modules/minimatch/dist/mjs/ast.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.d.ts +0 -8
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.js +0 -148
- data/packages/webpacker/node_modules/minimatch/dist/mjs/brace-expressions.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.d.ts +0 -12
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.js +0 -18
- data/packages/webpacker/node_modules/minimatch/dist/mjs/escape.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.d.ts +0 -94
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.js +0 -995
- data/packages/webpacker/node_modules/minimatch/dist/mjs/index.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/package.json +0 -3
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.d.ts +0 -17
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.d.ts.map +0 -1
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.js +0 -20
- data/packages/webpacker/node_modules/minimatch/dist/mjs/unescape.js.map +0 -1
- data/packages/webpacker/node_modules/minimatch/package.json +0 -86
@@ -1,352 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Single-use utility classes to provide functionality to the {@link Glob}
|
3
|
-
* methods.
|
4
|
-
*
|
5
|
-
* @module
|
6
|
-
*/
|
7
|
-
import { Minipass } from 'minipass';
|
8
|
-
import { Ignore } from './ignore.js';
|
9
|
-
import { Processor } from './processor.js';
|
10
|
-
const makeIgnore = (ignore, opts) => typeof ignore === 'string'
|
11
|
-
? new Ignore([ignore], opts)
|
12
|
-
: Array.isArray(ignore)
|
13
|
-
? new Ignore(ignore, opts)
|
14
|
-
: ignore;
|
15
|
-
/**
|
16
|
-
* basic walking utilities that all the glob walker types use
|
17
|
-
*/
|
18
|
-
export class GlobUtil {
|
19
|
-
path;
|
20
|
-
patterns;
|
21
|
-
opts;
|
22
|
-
seen = new Set();
|
23
|
-
paused = false;
|
24
|
-
aborted = false;
|
25
|
-
#onResume = [];
|
26
|
-
#ignore;
|
27
|
-
#sep;
|
28
|
-
signal;
|
29
|
-
maxDepth;
|
30
|
-
constructor(patterns, path, opts) {
|
31
|
-
this.patterns = patterns;
|
32
|
-
this.path = path;
|
33
|
-
this.opts = opts;
|
34
|
-
this.#sep = !opts.posix && opts.platform === 'win32' ? '\\' : '/';
|
35
|
-
if (opts.ignore) {
|
36
|
-
this.#ignore = makeIgnore(opts.ignore, opts);
|
37
|
-
}
|
38
|
-
// ignore, always set with maxDepth, but it's optional on the
|
39
|
-
// GlobOptions type
|
40
|
-
/* c8 ignore start */
|
41
|
-
this.maxDepth = opts.maxDepth || Infinity;
|
42
|
-
/* c8 ignore stop */
|
43
|
-
if (opts.signal) {
|
44
|
-
this.signal = opts.signal;
|
45
|
-
this.signal.addEventListener('abort', () => {
|
46
|
-
this.#onResume.length = 0;
|
47
|
-
});
|
48
|
-
}
|
49
|
-
}
|
50
|
-
#ignored(path) {
|
51
|
-
return this.seen.has(path) || !!this.#ignore?.ignored?.(path);
|
52
|
-
}
|
53
|
-
#childrenIgnored(path) {
|
54
|
-
return !!this.#ignore?.childrenIgnored?.(path);
|
55
|
-
}
|
56
|
-
// backpressure mechanism
|
57
|
-
pause() {
|
58
|
-
this.paused = true;
|
59
|
-
}
|
60
|
-
resume() {
|
61
|
-
/* c8 ignore start */
|
62
|
-
if (this.signal?.aborted)
|
63
|
-
return;
|
64
|
-
/* c8 ignore stop */
|
65
|
-
this.paused = false;
|
66
|
-
let fn = undefined;
|
67
|
-
while (!this.paused && (fn = this.#onResume.shift())) {
|
68
|
-
fn();
|
69
|
-
}
|
70
|
-
}
|
71
|
-
onResume(fn) {
|
72
|
-
if (this.signal?.aborted)
|
73
|
-
return;
|
74
|
-
/* c8 ignore start */
|
75
|
-
if (!this.paused) {
|
76
|
-
fn();
|
77
|
-
}
|
78
|
-
else {
|
79
|
-
/* c8 ignore stop */
|
80
|
-
this.#onResume.push(fn);
|
81
|
-
}
|
82
|
-
}
|
83
|
-
// do the requisite realpath/stat checking, and return the path
|
84
|
-
// to add or undefined to filter it out.
|
85
|
-
async matchCheck(e, ifDir) {
|
86
|
-
if (ifDir && this.opts.nodir)
|
87
|
-
return undefined;
|
88
|
-
let rpc;
|
89
|
-
if (this.opts.realpath) {
|
90
|
-
rpc = e.realpathCached() || (await e.realpath());
|
91
|
-
if (!rpc)
|
92
|
-
return undefined;
|
93
|
-
e = rpc;
|
94
|
-
}
|
95
|
-
const needStat = e.isUnknown() || this.opts.stat;
|
96
|
-
return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir);
|
97
|
-
}
|
98
|
-
matchCheckTest(e, ifDir) {
|
99
|
-
return e &&
|
100
|
-
(this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&
|
101
|
-
(!ifDir || e.canReaddir()) &&
|
102
|
-
(!this.opts.nodir || !e.isDirectory()) &&
|
103
|
-
!this.#ignored(e)
|
104
|
-
? e
|
105
|
-
: undefined;
|
106
|
-
}
|
107
|
-
matchCheckSync(e, ifDir) {
|
108
|
-
if (ifDir && this.opts.nodir)
|
109
|
-
return undefined;
|
110
|
-
let rpc;
|
111
|
-
if (this.opts.realpath) {
|
112
|
-
rpc = e.realpathCached() || e.realpathSync();
|
113
|
-
if (!rpc)
|
114
|
-
return undefined;
|
115
|
-
e = rpc;
|
116
|
-
}
|
117
|
-
const needStat = e.isUnknown() || this.opts.stat;
|
118
|
-
return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir);
|
119
|
-
}
|
120
|
-
matchFinish(e, absolute) {
|
121
|
-
if (this.#ignored(e))
|
122
|
-
return;
|
123
|
-
const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute;
|
124
|
-
this.seen.add(e);
|
125
|
-
const mark = this.opts.mark && e.isDirectory() ? this.#sep : '';
|
126
|
-
// ok, we have what we need!
|
127
|
-
if (this.opts.withFileTypes) {
|
128
|
-
this.matchEmit(e);
|
129
|
-
}
|
130
|
-
else if (abs) {
|
131
|
-
const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath();
|
132
|
-
this.matchEmit(abs + mark);
|
133
|
-
}
|
134
|
-
else {
|
135
|
-
const rel = this.opts.posix ? e.relativePosix() : e.relative();
|
136
|
-
const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep)
|
137
|
-
? '.' + this.#sep
|
138
|
-
: '';
|
139
|
-
this.matchEmit(!rel ? '.' + mark : pre + rel + mark);
|
140
|
-
}
|
141
|
-
}
|
142
|
-
async match(e, absolute, ifDir) {
|
143
|
-
const p = await this.matchCheck(e, ifDir);
|
144
|
-
if (p)
|
145
|
-
this.matchFinish(p, absolute);
|
146
|
-
}
|
147
|
-
matchSync(e, absolute, ifDir) {
|
148
|
-
const p = this.matchCheckSync(e, ifDir);
|
149
|
-
if (p)
|
150
|
-
this.matchFinish(p, absolute);
|
151
|
-
}
|
152
|
-
walkCB(target, patterns, cb) {
|
153
|
-
/* c8 ignore start */
|
154
|
-
if (this.signal?.aborted)
|
155
|
-
cb();
|
156
|
-
/* c8 ignore stop */
|
157
|
-
this.walkCB2(target, patterns, new Processor(this.opts), cb);
|
158
|
-
}
|
159
|
-
walkCB2(target, patterns, processor, cb) {
|
160
|
-
if (this.#childrenIgnored(target))
|
161
|
-
return cb();
|
162
|
-
if (this.signal?.aborted)
|
163
|
-
cb();
|
164
|
-
if (this.paused) {
|
165
|
-
this.onResume(() => this.walkCB2(target, patterns, processor, cb));
|
166
|
-
return;
|
167
|
-
}
|
168
|
-
processor.processPatterns(target, patterns);
|
169
|
-
// done processing. all of the above is sync, can be abstracted out.
|
170
|
-
// subwalks is a map of paths to the entry filters they need
|
171
|
-
// matches is a map of paths to [absolute, ifDir] tuples.
|
172
|
-
let tasks = 1;
|
173
|
-
const next = () => {
|
174
|
-
if (--tasks === 0)
|
175
|
-
cb();
|
176
|
-
};
|
177
|
-
for (const [m, absolute, ifDir] of processor.matches.entries()) {
|
178
|
-
if (this.#ignored(m))
|
179
|
-
continue;
|
180
|
-
tasks++;
|
181
|
-
this.match(m, absolute, ifDir).then(() => next());
|
182
|
-
}
|
183
|
-
for (const t of processor.subwalkTargets()) {
|
184
|
-
if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
|
185
|
-
continue;
|
186
|
-
}
|
187
|
-
tasks++;
|
188
|
-
const childrenCached = t.readdirCached();
|
189
|
-
if (t.calledReaddir())
|
190
|
-
this.walkCB3(t, childrenCached, processor, next);
|
191
|
-
else {
|
192
|
-
t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true);
|
193
|
-
}
|
194
|
-
}
|
195
|
-
next();
|
196
|
-
}
|
197
|
-
walkCB3(target, entries, processor, cb) {
|
198
|
-
processor = processor.filterEntries(target, entries);
|
199
|
-
let tasks = 1;
|
200
|
-
const next = () => {
|
201
|
-
if (--tasks === 0)
|
202
|
-
cb();
|
203
|
-
};
|
204
|
-
for (const [m, absolute, ifDir] of processor.matches.entries()) {
|
205
|
-
if (this.#ignored(m))
|
206
|
-
continue;
|
207
|
-
tasks++;
|
208
|
-
this.match(m, absolute, ifDir).then(() => next());
|
209
|
-
}
|
210
|
-
for (const [target, patterns] of processor.subwalks.entries()) {
|
211
|
-
tasks++;
|
212
|
-
this.walkCB2(target, patterns, processor.child(), next);
|
213
|
-
}
|
214
|
-
next();
|
215
|
-
}
|
216
|
-
walkCBSync(target, patterns, cb) {
|
217
|
-
/* c8 ignore start */
|
218
|
-
if (this.signal?.aborted)
|
219
|
-
cb();
|
220
|
-
/* c8 ignore stop */
|
221
|
-
this.walkCB2Sync(target, patterns, new Processor(this.opts), cb);
|
222
|
-
}
|
223
|
-
walkCB2Sync(target, patterns, processor, cb) {
|
224
|
-
if (this.#childrenIgnored(target))
|
225
|
-
return cb();
|
226
|
-
if (this.signal?.aborted)
|
227
|
-
cb();
|
228
|
-
if (this.paused) {
|
229
|
-
this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
|
230
|
-
return;
|
231
|
-
}
|
232
|
-
processor.processPatterns(target, patterns);
|
233
|
-
// done processing. all of the above is sync, can be abstracted out.
|
234
|
-
// subwalks is a map of paths to the entry filters they need
|
235
|
-
// matches is a map of paths to [absolute, ifDir] tuples.
|
236
|
-
let tasks = 1;
|
237
|
-
const next = () => {
|
238
|
-
if (--tasks === 0)
|
239
|
-
cb();
|
240
|
-
};
|
241
|
-
for (const [m, absolute, ifDir] of processor.matches.entries()) {
|
242
|
-
if (this.#ignored(m))
|
243
|
-
continue;
|
244
|
-
this.matchSync(m, absolute, ifDir);
|
245
|
-
}
|
246
|
-
for (const t of processor.subwalkTargets()) {
|
247
|
-
if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
|
248
|
-
continue;
|
249
|
-
}
|
250
|
-
tasks++;
|
251
|
-
const children = t.readdirSync();
|
252
|
-
this.walkCB3Sync(t, children, processor, next);
|
253
|
-
}
|
254
|
-
next();
|
255
|
-
}
|
256
|
-
walkCB3Sync(target, entries, processor, cb) {
|
257
|
-
processor = processor.filterEntries(target, entries);
|
258
|
-
let tasks = 1;
|
259
|
-
const next = () => {
|
260
|
-
if (--tasks === 0)
|
261
|
-
cb();
|
262
|
-
};
|
263
|
-
for (const [m, absolute, ifDir] of processor.matches.entries()) {
|
264
|
-
if (this.#ignored(m))
|
265
|
-
continue;
|
266
|
-
this.matchSync(m, absolute, ifDir);
|
267
|
-
}
|
268
|
-
for (const [target, patterns] of processor.subwalks.entries()) {
|
269
|
-
tasks++;
|
270
|
-
this.walkCB2Sync(target, patterns, processor.child(), next);
|
271
|
-
}
|
272
|
-
next();
|
273
|
-
}
|
274
|
-
}
|
275
|
-
export class GlobWalker extends GlobUtil {
|
276
|
-
matches;
|
277
|
-
constructor(patterns, path, opts) {
|
278
|
-
super(patterns, path, opts);
|
279
|
-
this.matches = new Set();
|
280
|
-
}
|
281
|
-
matchEmit(e) {
|
282
|
-
this.matches.add(e);
|
283
|
-
}
|
284
|
-
async walk() {
|
285
|
-
if (this.signal?.aborted)
|
286
|
-
throw this.signal.reason;
|
287
|
-
if (this.path.isUnknown()) {
|
288
|
-
await this.path.lstat();
|
289
|
-
}
|
290
|
-
await new Promise((res, rej) => {
|
291
|
-
this.walkCB(this.path, this.patterns, () => {
|
292
|
-
if (this.signal?.aborted) {
|
293
|
-
rej(this.signal.reason);
|
294
|
-
}
|
295
|
-
else {
|
296
|
-
res(this.matches);
|
297
|
-
}
|
298
|
-
});
|
299
|
-
});
|
300
|
-
return this.matches;
|
301
|
-
}
|
302
|
-
walkSync() {
|
303
|
-
if (this.signal?.aborted)
|
304
|
-
throw this.signal.reason;
|
305
|
-
if (this.path.isUnknown()) {
|
306
|
-
this.path.lstatSync();
|
307
|
-
}
|
308
|
-
// nothing for the callback to do, because this never pauses
|
309
|
-
this.walkCBSync(this.path, this.patterns, () => {
|
310
|
-
if (this.signal?.aborted)
|
311
|
-
throw this.signal.reason;
|
312
|
-
});
|
313
|
-
return this.matches;
|
314
|
-
}
|
315
|
-
}
|
316
|
-
export class GlobStream extends GlobUtil {
|
317
|
-
results;
|
318
|
-
constructor(patterns, path, opts) {
|
319
|
-
super(patterns, path, opts);
|
320
|
-
this.results = new Minipass({
|
321
|
-
signal: this.signal,
|
322
|
-
objectMode: true,
|
323
|
-
});
|
324
|
-
this.results.on('drain', () => this.resume());
|
325
|
-
this.results.on('resume', () => this.resume());
|
326
|
-
}
|
327
|
-
matchEmit(e) {
|
328
|
-
this.results.write(e);
|
329
|
-
if (!this.results.flowing)
|
330
|
-
this.pause();
|
331
|
-
}
|
332
|
-
stream() {
|
333
|
-
const target = this.path;
|
334
|
-
if (target.isUnknown()) {
|
335
|
-
target.lstat().then(() => {
|
336
|
-
this.walkCB(target, this.patterns, () => this.results.end());
|
337
|
-
});
|
338
|
-
}
|
339
|
-
else {
|
340
|
-
this.walkCB(target, this.patterns, () => this.results.end());
|
341
|
-
}
|
342
|
-
return this.results;
|
343
|
-
}
|
344
|
-
streamSync() {
|
345
|
-
if (this.path.isUnknown()) {
|
346
|
-
this.path.lstatSync();
|
347
|
-
}
|
348
|
-
this.walkCBSync(this.path, this.patterns, () => this.results.end());
|
349
|
-
return this.results;
|
350
|
-
}
|
351
|
-
}
|
352
|
-
//# sourceMappingURL=walker.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/walker.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Single-use utility classes to provide functionality to the {@link Glob}\n * methods.\n *\n * @module\n */\nimport { Minipass } from 'minipass'\nimport { Path } from 'path-scurry'\nimport { Ignore, IgnoreLike } from './ignore.js'\n\n// XXX can we somehow make it so that it NEVER processes a given path more than\n// once, enough that the match set tracking is no longer needed? that'd speed\n// things up a lot. Or maybe bring back nounique, and skip it in that case?\n\n// a single minimatch set entry with 1 or more parts\nimport { Pattern } from './pattern.js'\nimport { Processor } from './processor.js'\n\nexport interface GlobWalkerOpts {\n absolute?: boolean\n allowWindowsEscape?: boolean\n cwd?: string | URL\n dot?: boolean\n dotRelative?: boolean\n follow?: boolean\n ignore?: string | string[] | IgnoreLike\n mark?: boolean\n matchBase?: boolean\n // Note: maxDepth here means \"maximum actual Path.depth()\",\n // not \"maximum depth beyond cwd\"\n maxDepth?: number\n nobrace?: boolean\n nocase?: boolean\n nodir?: boolean\n noext?: boolean\n noglobstar?: boolean\n platform?: NodeJS.Platform\n posix?: boolean\n realpath?: boolean\n root?: string\n stat?: boolean\n signal?: AbortSignal\n windowsPathsNoEscape?: boolean\n withFileTypes?: boolean\n}\n\nexport type GWOFileTypesTrue = GlobWalkerOpts & {\n withFileTypes: true\n}\nexport type GWOFileTypesFalse = GlobWalkerOpts & {\n withFileTypes: false\n}\nexport type GWOFileTypesUnset = GlobWalkerOpts & {\n withFileTypes?: undefined\n}\n\nexport type Result<O extends GlobWalkerOpts> = O extends GWOFileTypesTrue\n ? Path\n : O extends GWOFileTypesFalse\n ? string\n : O extends GWOFileTypesUnset\n ? string\n : Path | string\n\nexport type Matches<O extends GlobWalkerOpts> = O extends GWOFileTypesTrue\n ? Set<Path>\n : O extends GWOFileTypesFalse\n ? Set<string>\n : O extends GWOFileTypesUnset\n ? Set<string>\n : Set<Path | string>\n\nexport type MatchStream<O extends GlobWalkerOpts> =\n O extends GWOFileTypesTrue\n ? Minipass<Path, Path>\n : O extends GWOFileTypesFalse\n ? Minipass<string, string>\n : O extends GWOFileTypesUnset\n ? Minipass<string, string>\n : Minipass<Path | string, Path | string>\n\nconst makeIgnore = (\n ignore: string | string[] | IgnoreLike,\n opts: GlobWalkerOpts\n): IgnoreLike =>\n typeof ignore === 'string'\n ? new Ignore([ignore], opts)\n : Array.isArray(ignore)\n ? new Ignore(ignore, opts)\n : ignore\n\n/**\n * basic walking utilities that all the glob walker types use\n */\nexport abstract class GlobUtil<O extends GlobWalkerOpts = GlobWalkerOpts> {\n path: Path\n patterns: Pattern[]\n opts: O\n seen: Set<Path> = new Set<Path>()\n paused: boolean = false\n aborted: boolean = false\n #onResume: (() => any)[] = []\n #ignore?: IgnoreLike\n #sep: '\\\\' | '/'\n signal?: AbortSignal\n maxDepth: number\n\n constructor(patterns: Pattern[], path: Path, opts: O)\n constructor(patterns: Pattern[], path: Path, opts: O) {\n this.patterns = patterns\n this.path = path\n this.opts = opts\n this.#sep = !opts.posix && opts.platform === 'win32' ? '\\\\' : '/'\n if (opts.ignore) {\n this.#ignore = makeIgnore(opts.ignore, opts)\n }\n // ignore, always set with maxDepth, but it's optional on the\n // GlobOptions type\n /* c8 ignore start */\n this.maxDepth = opts.maxDepth || Infinity\n /* c8 ignore stop */\n if (opts.signal) {\n this.signal = opts.signal\n this.signal.addEventListener('abort', () => {\n this.#onResume.length = 0\n })\n }\n }\n\n #ignored(path: Path): boolean {\n return this.seen.has(path) || !!this.#ignore?.ignored?.(path)\n }\n #childrenIgnored(path: Path): boolean {\n return !!this.#ignore?.childrenIgnored?.(path)\n }\n\n // backpressure mechanism\n pause() {\n this.paused = true\n }\n resume() {\n /* c8 ignore start */\n if (this.signal?.aborted) return\n /* c8 ignore stop */\n this.paused = false\n let fn: (() => any) | undefined = undefined\n while (!this.paused && (fn = this.#onResume.shift())) {\n fn()\n }\n }\n onResume(fn: () => any) {\n if (this.signal?.aborted) return\n /* c8 ignore start */\n if (!this.paused) {\n fn()\n } else {\n /* c8 ignore stop */\n this.#onResume.push(fn)\n }\n }\n\n // do the requisite realpath/stat checking, and return the path\n // to add or undefined to filter it out.\n async matchCheck(e: Path, ifDir: boolean): Promise<Path | undefined> {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || (await e.realpath())\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n return this.matchCheckTest(needStat ? await e.lstat() : e, ifDir)\n }\n\n matchCheckTest(e: Path | undefined, ifDir: boolean): Path | undefined {\n return e &&\n (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&\n (!ifDir || e.canReaddir()) &&\n (!this.opts.nodir || !e.isDirectory()) &&\n !this.#ignored(e)\n ? e\n : undefined\n }\n\n matchCheckSync(e: Path, ifDir: boolean): Path | undefined {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || e.realpathSync()\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n return this.matchCheckTest(needStat ? e.lstatSync() : e, ifDir)\n }\n\n abstract matchEmit(p: Result<O>): void\n abstract matchEmit(p: string | Path): void\n\n matchFinish(e: Path, absolute: boolean) {\n if (this.#ignored(e)) return\n const abs =\n this.opts.absolute === undefined ? absolute : this.opts.absolute\n this.seen.add(e)\n const mark = this.opts.mark && e.isDirectory() ? this.#sep : ''\n // ok, we have what we need!\n if (this.opts.withFileTypes) {\n this.matchEmit(e)\n } else if (abs) {\n const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath()\n this.matchEmit(abs + mark)\n } else {\n const rel = this.opts.posix ? e.relativePosix() : e.relative()\n const pre =\n this.opts.dotRelative && !rel.startsWith('..' + this.#sep)\n ? '.' + this.#sep\n : ''\n this.matchEmit(!rel ? '.' + mark : pre + rel + mark)\n }\n }\n\n async match(e: Path, absolute: boolean, ifDir: boolean): Promise<void> {\n const p = await this.matchCheck(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n matchSync(e: Path, absolute: boolean, ifDir: boolean): void {\n const p = this.matchCheckSync(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n walkCB(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() => this.walkCB2(target, patterns, processor, cb))\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const childrenCached = t.readdirCached()\n if (t.calledReaddir())\n this.walkCB3(t, childrenCached, processor, next)\n else {\n t.readdirCB(\n (_, entries) => this.walkCB3(t, entries, processor, next),\n true\n )\n }\n }\n\n next()\n }\n\n walkCB3(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2(target, patterns, processor.child(), next)\n }\n\n next()\n }\n\n walkCBSync(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2Sync(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2Sync(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() =>\n this.walkCB2Sync(target, patterns, processor, cb)\n )\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const children = t.readdirSync()\n this.walkCB3Sync(t, children, processor, next)\n }\n\n next()\n }\n\n walkCB3Sync(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2Sync(target, patterns, processor.child(), next)\n }\n\n next()\n }\n}\n\nexport class GlobWalker<\n O extends GlobWalkerOpts = GlobWalkerOpts\n> extends GlobUtil<O> {\n matches: O extends GWOFileTypesTrue\n ? Set<Path>\n : O extends GWOFileTypesFalse\n ? Set<string>\n : O extends GWOFileTypesUnset\n ? Set<string>\n : Set<Path | string>\n\n constructor(patterns: Pattern[], path: Path, opts: O) {\n super(patterns, path, opts)\n this.matches = new Set() as Matches<O>\n }\n\n matchEmit(e: Result<O>): void\n matchEmit(e: Path | string): void {\n this.matches.add(e)\n }\n\n async walk(): Promise<Matches<O>> {\n if (this.signal?.aborted) throw this.signal.reason\n if (this.path.isUnknown()) {\n await this.path.lstat()\n }\n await new Promise((res, rej) => {\n this.walkCB(this.path, this.patterns, () => {\n if (this.signal?.aborted) {\n rej(this.signal.reason)\n } else {\n res(this.matches)\n }\n })\n })\n return this.matches\n }\n\n walkSync(): Matches<O> {\n if (this.signal?.aborted) throw this.signal.reason\n if (this.path.isUnknown()) {\n this.path.lstatSync()\n }\n // nothing for the callback to do, because this never pauses\n this.walkCBSync(this.path, this.patterns, () => {\n if (this.signal?.aborted) throw this.signal.reason\n })\n return this.matches\n }\n}\n\nexport class GlobStream<\n O extends GlobWalkerOpts = GlobWalkerOpts\n> extends GlobUtil<O> {\n results: O extends GWOFileTypesTrue\n ? Minipass<Path, Path>\n : O extends GWOFileTypesFalse\n ? Minipass<string, string>\n : O extends GWOFileTypesUnset\n ? Minipass<string, string>\n : Minipass<Path | string, Path | string>\n\n constructor(patterns: Pattern[], path: Path, opts: O) {\n super(patterns, path, opts)\n this.results = new Minipass({\n signal: this.signal,\n objectMode: true,\n }) as MatchStream<O>\n this.results.on('drain', () => this.resume())\n this.results.on('resume', () => this.resume())\n }\n\n matchEmit(e: Result<O>): void\n matchEmit(e: Path | string): void {\n this.results.write(e)\n if (!this.results.flowing) this.pause()\n }\n\n stream(): MatchStream<O> {\n const target = this.path\n if (target.isUnknown()) {\n target.lstat().then(() => {\n this.walkCB(target, this.patterns, () => this.results.end())\n })\n } else {\n this.walkCB(target, this.patterns, () => this.results.end())\n }\n return this.results\n }\n\n streamSync(): MatchStream<O> {\n if (this.path.isUnknown()) {\n this.path.lstatSync()\n }\n this.walkCBSync(this.path, this.patterns, () => this.results.end())\n return this.results\n }\n}\n"]}
|
@@ -1,98 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"author": "Isaac Z. Schlueter <i@izs.me> (https://blog.izs.me/)",
|
3
|
-
"name": "glob",
|
4
|
-
"description": "the most correct and second fastest glob implementation in JavaScript",
|
5
|
-
"version": "10.3.3",
|
6
|
-
"bin": "./dist/cjs/src/bin.js",
|
7
|
-
"repository": {
|
8
|
-
"type": "git",
|
9
|
-
"url": "git://github.com/isaacs/node-glob.git"
|
10
|
-
},
|
11
|
-
"main": "./dist/cjs/src/index.js",
|
12
|
-
"module": "./dist/mjs/index.js",
|
13
|
-
"types": "./dist/mjs/index.d.ts",
|
14
|
-
"exports": {
|
15
|
-
".": {
|
16
|
-
"import": {
|
17
|
-
"types": "./dist/mjs/index.d.ts",
|
18
|
-
"default": "./dist/mjs/index.js"
|
19
|
-
},
|
20
|
-
"require": {
|
21
|
-
"types": "./dist/cjs/src/index.d.ts",
|
22
|
-
"default": "./dist/cjs/src/index.js"
|
23
|
-
}
|
24
|
-
}
|
25
|
-
},
|
26
|
-
"files": [
|
27
|
-
"dist"
|
28
|
-
],
|
29
|
-
"scripts": {
|
30
|
-
"preversion": "npm test",
|
31
|
-
"postversion": "npm publish",
|
32
|
-
"prepublishOnly": "git push origin --follow-tags",
|
33
|
-
"preprepare": "rm -rf dist",
|
34
|
-
"prepare": "tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash fixup.sh",
|
35
|
-
"pretest": "npm run prepare",
|
36
|
-
"presnap": "npm run prepare",
|
37
|
-
"test": "c8 tap",
|
38
|
-
"snap": "c8 tap",
|
39
|
-
"format": "prettier --write . --loglevel warn",
|
40
|
-
"typedoc": "typedoc --tsconfig tsconfig-esm.json ./src/*.ts",
|
41
|
-
"prepublish": "npm run benchclean",
|
42
|
-
"profclean": "rm -f v8.log profile.txt",
|
43
|
-
"test-regen": "npm run profclean && TEST_REGEN=1 node --no-warnings --loader ts-node/esm test/00-setup.ts",
|
44
|
-
"prebench": "npm run prepare",
|
45
|
-
"bench": "bash benchmark.sh",
|
46
|
-
"preprof": "npm run prepare",
|
47
|
-
"prof": "bash prof.sh",
|
48
|
-
"benchclean": "node benchclean.js"
|
49
|
-
},
|
50
|
-
"prettier": {
|
51
|
-
"semi": false,
|
52
|
-
"printWidth": 75,
|
53
|
-
"tabWidth": 2,
|
54
|
-
"useTabs": false,
|
55
|
-
"singleQuote": true,
|
56
|
-
"jsxSingleQuote": false,
|
57
|
-
"bracketSameLine": true,
|
58
|
-
"arrowParens": "avoid",
|
59
|
-
"endOfLine": "lf"
|
60
|
-
},
|
61
|
-
"dependencies": {
|
62
|
-
"foreground-child": "^3.1.0",
|
63
|
-
"jackspeak": "^2.0.3",
|
64
|
-
"minimatch": "^9.0.1",
|
65
|
-
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
|
66
|
-
"path-scurry": "^1.10.1"
|
67
|
-
},
|
68
|
-
"devDependencies": {
|
69
|
-
"@types/node": "^20.3.2",
|
70
|
-
"@types/tap": "^15.0.7",
|
71
|
-
"c8": "^7.12.0",
|
72
|
-
"memfs": "^3.4.13",
|
73
|
-
"mkdirp": "^2.1.4",
|
74
|
-
"prettier": "^2.8.3",
|
75
|
-
"rimraf": "^4.1.3",
|
76
|
-
"tap": "^16.3.4",
|
77
|
-
"ts-node": "^10.9.1",
|
78
|
-
"typedoc": "^0.23.24",
|
79
|
-
"typescript": "^4.9.4"
|
80
|
-
},
|
81
|
-
"tap": {
|
82
|
-
"before": "test/00-setup.ts",
|
83
|
-
"coverage": false,
|
84
|
-
"node-arg": [
|
85
|
-
"--no-warnings",
|
86
|
-
"--loader",
|
87
|
-
"ts-node/esm"
|
88
|
-
],
|
89
|
-
"ts": false
|
90
|
-
},
|
91
|
-
"license": "ISC",
|
92
|
-
"funding": {
|
93
|
-
"url": "https://github.com/sponsors/isaacs"
|
94
|
-
},
|
95
|
-
"engines": {
|
96
|
-
"node": ">=16 || 14 >=14.17"
|
97
|
-
}
|
98
|
-
}
|