Giter Club home page Giter Club logo

node-re2's Introduction

Star History Chart

The download stats of my top NPM packages:

stream-json stream-chain re2
NPM Downloads NPM Downloads NPM Downloads

To support my open source work you can buy me a coffee:
Buy Me A Coffee

Or sponsor me here on GitHub.

node-re2's People

Contributors

aaharu avatar bannerbomb avatar bensalilijames avatar containmentbreach avatar davisjam avatar dependabot[bot] avatar exter-n avatar greenkeeper[bot] avatar jamiemagee avatar kachick avatar kannan-at avatar le0pard avatar louis-brann avatar malte-v avatar nopcoder avatar qix avatar sergei-dyshel avatar snyk-bot avatar spalger avatar stefanor avatar styfle avatar uhop avatar zotanmew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

node-re2's Issues

Non-standard behavior of `source`

While it was always like that, we may preserve the original (non-translated) source, and expose the translated one as a custom non-standard property.

Exposing RE2::Set

The RE2::Set class allows to match a string against several regular expressions in a single pass, seemingly more efficiently than piping all the regexes together :
https://github.com/google/re2/blob/f2cc1aeb5de463c45d020c446cbcb028385b49f3/re2/set.h#L21-L23

It could be exposed to JavaScript code by :

  • accepting an Array of patterns as the first parameter of the constructor ;
  • adding functionality to the matching methods to use RE2::Set to identify which one of the patterns matches (it doesn't seem to go further than that), and then use regular RE2s corresponding to the identified patterns to get more information ;
  • in .exec(), returning the index of the pattern which matched and/or the pattern itself as properties of the returned array (maybe with Symbol keys, to eliminate the risks of name collisions with future properties that could be defined by the ECMAScript spec) ;
  • returning the piped patterns in the source property, for compatibility ;
  • exposing a new sources property (or a property with a Symbol key) containing the individual patterns ;
  • either returning an array of the translated patterns in the internalSource property, or applying the same process as for the source property.

Use cases could be optimizing anything that boils down to this kind of code :

let match;
if ((match = re1.exec(str)) !== null) {
    // …
} else if ((match = re2.exec(str)) !== null) {
    // …
} else if ((match = re3.exec(str)) !== null) {
    // …
} /* potentially lots of other cases */ else {
    // …
}

For example, a HTTP router, a lexer …

What do you think about such a feature?

Can't install on Freebsd 10.03-RELEASE-p3

[someuser@s6]:<~>$ npm install re2
> [email protected] install /usr/home/someuser/node_modules/re2
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gmake: Wejście do katalogu '/usr/home/someuser/node_modules/re2/build'
  CXX(target) Release/obj.target/re2/lib/addon.o
In file included from ../lib/addon.cc:1:
In file included from ../lib/./wrapped_re2.h:6:
In file included from ../../nan/nan.h:1737:
../../nan/nan_string_bytes.h:268:14: warning: unused variable 'written' [-Wunused-variable]
      size_t written = base64_encode(buf, buflen, dst, dlen);
             ^
../../nan/nan_string_bytes.h:285:14: warning: unused variable 'written' [-Wunused-variable]
      size_t written = hex_encode(buf, buflen, dst, dlen);
             ^
../lib/addon.cc:73:18: error: cannot initialize a member subobject of type 'void (*)(v8::Handle<v8::Object>)' with an lvalue of type
      'void (Handle<v8::Object>, Handle<v8::Object>)': different number of parameters (1 vs 2)
NODE_MODULE(re2, Initialize)
                 ^~~~~~~~~~
/home/someuser/.node-gyp/0.8.25/src/node.h:235:7: note: expanded from macro 'NODE_MODULE'
      regfunc,                                                        \
      ^
In file included from ../lib/addon.cc:1:
In file included from ../lib/./wrapped_re2.h:5:
In file included from /home/someuser/.node-gyp/0.8.25/src/node.h:62:
/home/someuser/.node-gyp/0.8.25/deps/v8/include/v8.h:202:5: error: assigning to 'v8::Object *volatile' from incompatible type
      'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/home/someuser/.node-gyp/0.8.25/deps/v8/include/v8.h:145:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../lib/addon.cc:24:32: note: in instantiation of function template specialization 'v8::Handle<v8::Object>::Handle<v8::Value>' requested
      here
                char* s = node::Buffer::Data(info[0]);
                                             ^
2 warnings and 2 errors generated.
gmake: *** [re2.target.mk:131: Release/obj.target/re2/lib/addon.o] Błąd 1
gmake: Opuszczenie katalogu '/usr/home/someuser/node_modules/re2/build'
gyp ERR! build error
gyp ERR! stack Error: `gmake` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/home/someuser/.nvm/v0.8.25/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:2       3)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:686:10)
gyp ERR! System FreeBSD 10.3-RELEASE-p3
gyp ERR! command "node" "/usr/home/someuser/.nvm/v0.8.25/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/home/someuser/node_modules/re2
gyp ERR! node -v v0.8.25
gyp ERR! node-gyp -v v3.3.0
gyp ERR! not ok
/usr/home/someuser

cannot install re2 in my node js service

npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm WARN package.json [email protected] No README.md file found!
npm http GET https://registry.npmjs.org/re2
npm http GET https://registry.npmjs.org/re2
npm http GET https://registry.npmjs.org/re2
npm ERR! Error: unable to get local issuer certificate
npm ERR!     at TLSSocket.<anonymous> (_tls_wrap.js:1105:38)
npm ERR!     at emitNone (events.js:106:13)
npm ERR!     at TLSSocket.emit (events.js:208:7)
npm ERR!     at TLSSocket._finishInit (_tls_wrap.js:639:8)
npm ERR!     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:469:38)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "re2"
npm ERR! cwd C:\www\math
npm ERR! node -v v8.11.3
npm ERR! npm -v 1.1.48
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\www\math\npm-debug.log
npm ERR! not ok code 0``
`0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install',
1 verbose cli   're2' ]
2 info using [email protected]
3 info using [email protected]
4 verbose config file C:\Users\user\.npmrc
5 verbose config file C:\Program Files\nodejs\etc\npmrc
6 verbose config file C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\npmrc
7 verbose read json C:\www\math\package.json
8 warn package.json [email protected] No README.md file found!
9 verbose read json C:\www\math\node_modules\abbrev\package.json
10 verbose read json C:\www\math\node_modules\accepts\package.json
11 verbose read json C:\www\math\node_modules\acorn\package.json
12 verbose read json C:\www\math\node_modules\acorn-jsx\package.json
13 verbose read json C:\www\math\node_modules\ajv\package.json
14 verbose read json C:\www\math\node_modules\ajv-keywords\package.json
15 verbose read json C:\www\math\node_modules\ansi-align\package.json
16 verbose read json C:\www\math\node_modules\ansi-escapes\package.json
17 verbose read json C:\www\math\node_modules\ansi-regex\package.json
18 verbose read json C:\www\math\node_modules\ansi-styles\package.json
19 verbose read json C:\www\math\node_modules\anymatch\package.json
20 verbose read json C:\www\math\node_modules\argparse\package.json
21 verbose read json C:\www\math\node_modules\arr-diff\package.json
22 verbose read json C:\www\math\node_modules\arr-flatten\package.json
23 verbose read json C:\www\math\node_modules\arr-union\package.json
24 verbose read json C:\www\math\node_modules\array-flatten\package.json
25 verbose read json C:\www\math\node_modules\array-union\package.json
26 verbose read json C:\www\math\node_modules\array-uniq\package.json
27 verbose read json C:\www\math\node_modules\array-unique\package.json
28 verbose read json C:\www\math\node_modules\arrify\package.json
29 verbose read json C:\www\math\node_modules\assign-symbols\package.json
30 verbose read json C:\www\math\node_modules\async-each\package.json
31 verbose read json C:\www\math\node_modules\atob\package.json
32 verbose read json C:\www\math\node_modules\babel-code-frame\package.json
33 verbose read json C:\www\math\node_modules\balanced-match\package.json
34 verbose read json C:\www\math\node_modules\base\package.json
35 verbose read json C:\www\math\node_modules\binary-extensions\package.json
36 verbose read json C:\www\math\node_modules\body-parser\package.json
37 verbose read json C:\www\math\node_modules\boxen\package.json
38 verbose read json C:\www\math\node_modules\brace-expansion\package.json
39 verbose read json C:\www\math\node_modules\braces\package.json
40 verbose read json C:\www\math\node_modules\bytes\package.json
41 verbose read json C:\www\math\node_modules\cache-base\package.json
42 verbose read json C:\www\math\node_modules\caller-path\package.json
43 verbose read json C:\www\math\node_modules\callsites\package.json
44 verbose read json C:\www\math\node_modules\capture-stack-trace\package.json
45 verbose read json C:\www\math\node_modules\chalk\package.json
46 verbose read json C:\www\math\node_modules\chardet\package.json
47 verbose read json C:\www\math\node_modules\chokidar\package.json
48 verbose read json C:\www\math\node_modules\ci-info\package.json
49 verbose read json C:\www\math\node_modules\circular-json\package.json
50 verbose read json C:\www\math\node_modules\class-utils\package.json
51 verbose read json C:\www\math\node_modules\cli-boxes\package.json
52 verbose read json C:\www\math\node_modules\cli-cursor\package.json
53 verbose read json C:\www\math\node_modules\cli-width\package.json
54 verbose read json C:\www\math\node_modules\collection-visit\package.json
55 verbose read json C:\www\math\node_modules\color-convert\package.json
56 verbose read json C:\www\math\node_modules\color-name\package.json
57 verbose read json C:\www\math\node_modules\component-emitter\package.json
58 verbose read json C:\www\math\node_modules\concat-map\package.json
59 verbose read json C:\www\math\node_modules\configstore\package.json
60 verbose read json C:\www\math\node_modules\content-disposition\package.json
61 verbose read json C:\www\math\node_modules\content-type\package.json
62 verbose read json C:\www\math\node_modules\cookie\package.json
63 verbose read json C:\www\math\node_modules\cookie-signature\package.json
64 verbose read json C:\www\math\node_modules\copy-descriptor\package.json
65 verbose read json C:\www\math\node_modules\core-util-is\package.json
66 verbose read json C:\www\math\node_modules\create-error-class\package.json
67 verbose read json C:\www\math\node_modules\cross-spawn\package.json
68 verbose read json C:\www\math\node_modules\crypto-random-string\package.json
69 verbose read json C:\www\math\node_modules\debug\package.json
70 verbose read json C:\www\math\node_modules\decode-uri-component\package.json
71 verbose read json C:\www\math\node_modules\deep-extend\package.json
72 verbose read json C:\www\math\node_modules\deep-is\package.json
73 verbose read json C:\www\math\node_modules\define-properties\package.json
74 verbose read json C:\www\math\node_modules\define-property\package.json
75 verbose read json C:\www\math\node_modules\del\package.json
76 verbose read json C:\www\math\node_modules\depd\package.json
77 verbose read json C:\www\math\node_modules\destroy\package.json
78 verbose read json C:\www\math\node_modules\doctrine\package.json
79 verbose read json C:\www\math\node_modules\dot-prop\package.json
80 verbose read json C:\www\math\node_modules\duplexer\package.json
81 verbose read json C:\www\math\node_modules\duplexer3\package.json
82 verbose read json C:\www\math\node_modules\ee-first\package.json
83 verbose read json C:\www\math\node_modules\encodeurl\package.json
84 verbose read json C:\www\math\node_modules\es-abstract\package.json
85 verbose read json C:\www\math\node_modules\es-to-primitive\package.json
86 verbose read json C:\www\math\node_modules\escape-html\package.json
87 verbose read json C:\www\math\node_modules\escape-string-regexp\package.json
88 verbose read json C:\www\math\node_modules\eslint\package.json
89 verbose read json C:\www\math\node_modules\eslint-scope\package.json
90 verbose read json C:\www\math\node_modules\eslint-visitor-keys\package.json
91 verbose read json C:\www\math\node_modules\espree\package.json
92 verbose read json C:\www\math\node_modules\esprima\package.json
93 verbose read json C:\www\math\node_modules\esquery\package.json
94 verbose read json C:\www\math\node_modules\esrecurse\package.json
95 verbose read json C:\www\math\node_modules\estraverse\package.json
96 verbose read json C:\www\math\node_modules\esutils\package.json
97 verbose read json C:\www\math\node_modules\etag\package.json
98 verbose read json C:\www\math\node_modules\event-stream\package.json
99 verbose read json C:\www\math\node_modules\execa\package.json
100 verbose read json C:\www\math\node_modules\expand-brackets\package.json
101 verbose read json C:\www\math\node_modules\express\package.json
102 verbose read json C:\www\math\node_modules\extend-shallow\package.json
103 verbose read json C:\www\math\node_modules\external-editor\package.json
104 verbose read json C:\www\math\node_modules\extglob\package.json
105 verbose read json C:\www\math\node_modules\fast-deep-equal\package.json
106 verbose read json C:\www\math\node_modules\fast-json-stable-stringify\package.json
107 verbose read json C:\www\math\node_modules\fast-levenshtein\package.json
108 verbose read json C:\www\math\node_modules\figures\package.json
109 verbose read json C:\www\math\node_modules\file-entry-cache\package.json
110 verbose read json C:\www\math\node_modules\fill-range\package.json
111 verbose read json C:\www\math\node_modules\finalhandler\package.json
112 verbose read json C:\www\math\node_modules\flat-cache\package.json
113 verbose read json C:\www\math\node_modules\for-in\package.json
114 verbose read json C:\www\math\node_modules\foreach\package.json
115 verbose read json C:\www\math\node_modules\forwarded\package.json
116 verbose read json C:\www\math\node_modules\fragment-cache\package.json
117 verbose read json C:\www\math\node_modules\fresh\package.json
118 verbose read json C:\www\math\node_modules\from\package.json
119 verbose read json C:\www\math\node_modules\fs.realpath\package.json
120 verbose read json C:\www\math\node_modules\function-bind\package.json
121 verbose read json C:\www\math\node_modules\functional-red-black-tree\package.json
122 verbose read json C:\www\math\node_modules\get-stream\package.json
123 verbose read json C:\www\math\node_modules\get-value\package.json
124 verbose read json C:\www\math\node_modules\glob\package.json
125 verbose read json C:\www\math\node_modules\glob-parent\package.json
126 verbose read json C:\www\math\node_modules\global-dirs\package.json
127 verbose read json C:\www\math\node_modules\globals\package.json
128 verbose read json C:\www\math\node_modules\globby\package.json
129 verbose read json C:\www\math\node_modules\got\package.json
130 verbose read json C:\www\math\node_modules\graceful-fs\package.json
131 verbose read json C:\www\math\node_modules\has\package.json
132 verbose read json C:\www\math\node_modules\has-ansi\package.json
133 verbose read json C:\www\math\node_modules\has-flag\package.json
134 verbose read json C:\www\math\node_modules\has-symbols\package.json
135 verbose read json C:\www\math\node_modules\has-value\package.json
136 verbose read json C:\www\math\node_modules\has-values\package.json
137 verbose read json C:\www\math\node_modules\http-errors\package.json
138 verbose read json C:\www\math\node_modules\iconv-lite\package.json
139 verbose read json C:\www\math\node_modules\ignore\package.json
140 verbose read json C:\www\math\node_modules\ignore-by-default\package.json
141 verbose read json C:\www\math\node_modules\import-lazy\package.json
142 verbose read json C:\www\math\node_modules\imurmurhash\package.json
143 verbose read json C:\www\math\node_modules\inflight\package.json
144 verbose read json C:\www\math\node_modules\inherits\package.json
145 verbose read json C:\www\math\node_modules\ini\package.json
146 verbose read json C:\www\math\node_modules\inquirer\package.json
147 verbose read json C:\www\math\node_modules\ipaddr.js\package.json
148 verbose read json C:\www\math\node_modules\is-accessor-descriptor\package.json
149 verbose read json C:\www\math\node_modules\is-binary-path\package.json
150 verbose read json C:\www\math\node_modules\is-buffer\package.json
151 verbose read json C:\www\math\node_modules\is-callable\package.json
152 verbose read json C:\www\math\node_modules\is-ci\package.json
153 verbose read json C:\www\math\node_modules\is-data-descriptor\package.json
154 verbose read json C:\www\math\node_modules\is-date-object\package.json
155 verbose read json C:\www\math\node_modules\is-descriptor\package.json
156 verbose read json C:\www\math\node_modules\is-extendable\package.json
157 verbose read json C:\www\math\node_modules\is-extglob\package.json
158 verbose read json C:\www\math\node_modules\is-glob\package.json
159 verbose read json C:\www\math\node_modules\is-installed-globally\package.json
160 verbose read json C:\www\math\node_modules\is-npm\package.json
161 verbose read json C:\www\math\node_modules\is-number\package.json
162 verbose read json C:\www\math\node_modules\is-obj\package.json
163 verbose read json C:\www\math\node_modules\is-path-cwd\package.json
164 verbose read json C:\www\math\node_modules\is-path-in-cwd\package.json
165 verbose read json C:\www\math\node_modules\is-path-inside\package.json
166 verbose read json C:\www\math\node_modules\is-plain-object\package.json
167 verbose read json C:\www\math\node_modules\is-promise\package.json
168 verbose read json C:\www\math\node_modules\is-redirect\package.json
169 verbose read json C:\www\math\node_modules\is-regex\package.json
170 verbose read json C:\www\math\node_modules\is-resolvable\package.json
171 verbose read json C:\www\math\node_modules\is-retry-allowed\package.json
172 verbose read json C:\www\math\node_modules\is-stream\package.json
173 verbose read json C:\www\math\node_modules\is-symbol\package.json
174 verbose read json C:\www\math\node_modules\is-windows\package.json
175 verbose read json C:\www\math\node_modules\isarray\package.json
176 verbose read json C:\www\math\node_modules\isexe\package.json
177 verbose read json C:\www\math\node_modules\isobject\package.json
178 verbose read json C:\www\math\node_modules\js-tokens\package.json
179 verbose read json C:\www\math\node_modules\js-yaml\package.json
180 verbose read json C:\www\math\node_modules\json-schema-traverse\package.json
181 verbose read json C:\www\math\node_modules\json-stable-stringify-without-jsonify\package.json
182 verbose read json C:\www\math\node_modules\kind-of\package.json
183 verbose read json C:\www\math\node_modules\latest-version\package.json
184 verbose read json C:\www\math\node_modules\levn\package.json
185 verbose read json C:\www\math\node_modules\lodash\package.json
186 verbose read json C:\www\math\node_modules\lodash.debounce\package.json
187 verbose read json C:\www\math\node_modules\lowercase-keys\package.json
188 verbose read json C:\www\math\node_modules\lru-cache\package.json
189 verbose read json C:\www\math\node_modules\make-dir\package.json
190 verbose read json C:\www\math\node_modules\map-cache\package.json
191 verbose read json C:\www\math\node_modules\map-stream\package.json
192 verbose read json C:\www\math\node_modules\map-visit\package.json
193 verbose read json C:\www\math\node_modules\media-typer\package.json
194 verbose read json C:\www\math\node_modules\merge-descriptors\package.json
195 verbose read json C:\www\math\node_modules\method-override\package.json
196 verbose read json C:\www\math\node_modules\methods\package.json
197 verbose read json C:\www\math\node_modules\micromatch\package.json
198 verbose read json C:\www\math\node_modules\mime\package.json
199 verbose read json C:\www\math\node_modules\mime-db\package.json
200 verbose read json C:\www\math\node_modules\mime-types\package.json
201 verbose read json C:\www\math\node_modules\mimic-fn\package.json
202 verbose read json C:\www\math\node_modules\minimatch\package.json
203 verbose read json C:\www\math\node_modules\minimist\package.json
204 verbose read json C:\www\math\node_modules\mixin-deep\package.json
205 verbose read json C:\www\math\node_modules\mkdirp\package.json
206 verbose read json C:\www\math\node_modules\ms\package.json
207 verbose read json C:\www\math\node_modules\mute-stream\package.json
208 verbose read json C:\www\math\node_modules\nanomatch\package.json
209 verbose read json C:\www\math\node_modules\natural-compare\package.json
210 verbose read json C:\www\math\node_modules\negotiator\package.json
211 verbose read json C:\www\math\node_modules\nice-try\package.json
212 verbose read json C:\www\math\node_modules\nodemon\package.json
213 verbose read json C:\www\math\node_modules\nopt\package.json
214 verbose read json C:\www\math\node_modules\normalize-path\package.json
215 verbose read json C:\www\math\node_modules\npm-run-path\package.json
216 verbose read json C:\www\math\node_modules\object-assign\package.json
217 verbose read json C:\www\math\node_modules\object-copy\package.json
218 verbose read json C:\www\math\node_modules\object-keys\package.json
219 verbose read json C:\www\math\node_modules\object-visit\package.json
220 verbose read json C:\www\math\node_modules\object.pick\package.json
221 verbose read json C:\www\math\node_modules\on-finished\package.json
222 verbose read json C:\www\math\node_modules\once\package.json
223 verbose read json C:\www\math\node_modules\onetime\package.json
224 verbose read json C:\www\math\node_modules\optionator\package.json
225 verbose read json C:\www\math\node_modules\os-tmpdir\package.json
226 verbose read json C:\www\math\node_modules\p-finally\package.json
227 verbose read json C:\www\math\node_modules\package-json\package.json
228 verbose read json C:\www\math\node_modules\parseurl\package.json
229 verbose read json C:\www\math\node_modules\pascalcase\package.json
230 verbose read json C:\www\math\node_modules\path-dirname\package.json
231 verbose read json C:\www\math\node_modules\path-is-absolute\package.json
232 verbose read json C:\www\math\node_modules\path-is-inside\package.json
233 verbose read json C:\www\math\node_modules\path-key\package.json
234 verbose read json C:\www\math\node_modules\path-to-regexp\package.json
235 verbose read json C:\www\math\node_modules\pause-stream\package.json
236 verbose read json C:\www\math\node_modules\pify\package.json
237 verbose read json C:\www\math\node_modules\pinkie\package.json
238 verbose read json C:\www\math\node_modules\pinkie-promise\package.json
239 verbose read json C:\www\math\node_modules\pluralize\package.json
240 verbose read json C:\www\math\node_modules\posix-character-classes\package.json
241 verbose read json C:\www\math\node_modules\prelude-ls\package.json
242 verbose read json C:\www\math\node_modules\prepend-http\package.json
243 verbose read json C:\www\math\node_modules\process-nextick-args\package.json
244 verbose read json C:\www\math\node_modules\progress\package.json
245 verbose read json C:\www\math\node_modules\proxy-addr\package.json
246 verbose read json C:\www\math\node_modules\ps-tree\package.json
247 verbose read json C:\www\math\node_modules\pseudomap\package.json
248 verbose read json C:\www\math\node_modules\pstree.remy\package.json
249 verbose read json C:\www\math\node_modules\punycode\package.json
250 verbose read json C:\www\math\node_modules\qs\package.json
251 verbose read json C:\www\math\node_modules\range-parser\package.json
252 verbose read json C:\www\math\node_modules\raw-body\package.json
253 verbose read json C:\www\math\node_modules\rc\package.json
254 verbose read json C:\www\math\node_modules\readable-stream\package.json
255 verbose read json C:\www\math\node_modules\readdirp\package.json
256 verbose read json C:\www\math\node_modules\regex-not\package.json
257 verbose read json C:\www\math\node_modules\regexp.prototype.flags\package.json
258 verbose read json C:\www\math\node_modules\regexpp\package.json
259 verbose read json C:\www\math\node_modules\registry-auth-token\package.json
260 verbose read json C:\www\math\node_modules\registry-url\package.json
261 verbose read json C:\www\math\node_modules\remove-trailing-separator\package.json
262 verbose read json C:\www\math\node_modules\repeat-element\package.json
263 verbose read json C:\www\math\node_modules\repeat-string\package.json
264 verbose read json C:\www\math\node_modules\require-uncached\package.json
265 verbose read json C:\www\math\node_modules\resolve-from\package.json
266 verbose read json C:\www\math\node_modules\resolve-url\package.json
267 verbose read json C:\www\math\node_modules\restore-cursor\package.json
268 verbose read json C:\www\math\node_modules\ret\package.json
269 verbose read json C:\www\math\node_modules\rimraf\package.json
270 verbose read json C:\www\math\node_modules\rootpath\package.json
271 verbose read json C:\www\math\node_modules\run-async\package.json
272 verbose read json C:\www\math\node_modules\rxjs\package.json
273 verbose read json C:\www\math\node_modules\safe-buffer\package.json
274 verbose read json C:\www\math\node_modules\safe-regex\package.json
275 verbose read json C:\www\math\node_modules\semver\package.json
276 verbose read json C:\www\math\node_modules\semver-diff\package.json
277 verbose read json C:\www\math\node_modules\send\package.json
278 verbose read json C:\www\math\node_modules\serve-static\package.json
279 verbose read json C:\www\math\node_modules\set-immediate-shim\package.json
280 verbose read json C:\www\math\node_modules\set-value\package.json
281 verbose read json C:\www\math\node_modules\setprototypeof\package.json
282 verbose read json C:\www\math\node_modules\shebang-command\package.json
283 verbose read json C:\www\math\node_modules\shebang-regex\package.json
284 verbose read json C:\www\math\node_modules\signal-exit\package.json
285 verbose read json C:\www\math\node_modules\slice-ansi\package.json
286 verbose read json C:\www\math\node_modules\snapdragon\package.json
287 verbose read json C:\www\math\node_modules\snapdragon-node\package.json
288 verbose read json C:\www\math\node_modules\snapdragon-util\package.json
289 verbose read json C:\www\math\node_modules\source-map\package.json
290 verbose read json C:\www\math\node_modules\source-map-resolve\package.json
291 verbose read json C:\www\math\node_modules\source-map-url\package.json
292 verbose read json C:\www\math\node_modules\split\package.json
293 verbose read json C:\www\math\node_modules\split-string\package.json
294 verbose read json C:\www\math\node_modules\sprintf-js\package.json
295 verbose read json C:\www\math\node_modules\static-extend\package.json
296 verbose read json C:\www\math\node_modules\statuses\package.json
297 verbose read json C:\www\math\node_modules\stream-combiner\package.json
298 verbose read json C:\www\math\node_modules\string.prototype.matchall\package.json
299 verbose read json C:\www\math\node_modules\string_decoder\package.json
300 verbose read json C:\www\math\node_modules\strip-ansi\package.json
301 verbose read json C:\www\math\node_modules\strip-eof\package.json
302 verbose read json C:\www\math\node_modules\strip-json-comments\package.json
303 verbose read json C:\www\math\node_modules\supports-color\package.json
304 verbose read json C:\www\math\node_modules\symbol-observable\package.json
305 verbose read json C:\www\math\node_modules\table\package.json
306 verbose read json C:\www\math\node_modules\term-size\package.json
307 verbose read json C:\www\math\node_modules\text-table\package.json
308 verbose read json C:\www\math\node_modules\through\package.json
309 verbose read json C:\www\math\node_modules\timed-out\package.json
310 verbose read json C:\www\math\node_modules\tmp\package.json
311 verbose read json C:\www\math\node_modules\to-object-path\package.json
312 verbose read json C:\www\math\node_modules\to-regex\package.json
313 verbose read json C:\www\math\node_modules\to-regex-range\package.json
314 verbose read json C:\www\math\node_modules\touch\package.json
315 verbose read json C:\www\math\node_modules\type-check\package.json
316 verbose read json C:\www\math\node_modules\type-is\package.json
317 verbose read json C:\www\math\node_modules\undefsafe\package.json
318 verbose read json C:\www\math\node_modules\union-value\package.json
319 verbose read json C:\www\math\node_modules\unique-string\package.json
320 verbose read json C:\www\math\node_modules\unpipe\package.json
321 verbose read json C:\www\math\node_modules\unset-value\package.json
322 verbose read json C:\www\math\node_modules\unzip-response\package.json
323 verbose read json C:\www\math\node_modules\upath\package.json
324 verbose read json C:\www\math\node_modules\update-notifier\package.json
325 verbose read json C:\www\math\node_modules\uri-js\package.json
326 verbose read json C:\www\math\node_modules\urix\package.json
327 verbose read json C:\www\math\node_modules\url-parse-lax\package.json
328 verbose read json C:\www\math\node_modules\use\package.json
329 verbose read json C:\www\math\node_modules\util-deprecate\package.json
330 verbose read json C:\www\math\node_modules\utils-merge\package.json
331 verbose read json C:\www\math\node_modules\vary\package.json
332 verbose read json C:\www\math\node_modules\which\package.json
333 verbose read json C:\www\math\node_modules\widest-line\package.json
334 verbose read json C:\www\math\node_modules\wordwrap\package.json
335 verbose read json C:\www\math\node_modules\wrappy\package.json
336 verbose read json C:\www\math\node_modules\write\package.json
337 verbose read json C:\www\math\node_modules\write-file-atomic\package.json
338 verbose read json C:\www\math\node_modules\xdg-basedir\package.json
339 verbose read json C:\www\math\node_modules\yallist\package.json
340 warn package.json [email protected] No README.md file found!
341 warn package.json [email protected] No README.md file found!
342 warn package.json [email protected] No README.md file found!
343 warn package.json [email protected] No README.md file found!
344 warn package.json [email protected] No README.md file found!
345 warn package.json [email protected] No README.md file found!
346 warn package.json [email protected] No README.md file found!
347 verbose from cache C:\www\math\package.json
348 verbose readDependencies using package.json deps
349 verbose cache add [ 're2', null ]
350 silly cache add name=undefined spec="re2" args=["re2",null]
351 verbose parsed url Url {
351 verbose parsed url   protocol: null,
351 verbose parsed url   slashes: null,
351 verbose parsed url   auth: null,
351 verbose parsed url   host: null,
351 verbose parsed url   port: null,
351 verbose parsed url   hostname: null,
351 verbose parsed url   hash: null,
351 verbose parsed url   search: null,
351 verbose parsed url   query: null,
351 verbose parsed url   pathname: 're2',
351 verbose parsed url   path: 're2',
351 verbose parsed url   href: 're2' }
352 silly lockFile af2318e5-re2 re2
353 verbose lock re2 C:\Users\user\AppData\Roaming\npm-cache\af2318e5-re2.lock
354 silly lockFile af2318e5-re2 re2
355 verbose addNamed [ 're2', '' ]
356 verbose addNamed [ null, '' ]
357 silly lockFile 918d60b2-re2 re2@
358 verbose lock re2@ C:\Users\user\AppData\Roaming\npm-cache\918d60b2-re2.lock
359 silly addNameRange { name: 're2', range: '', hasData: false }
360 verbose url raw re2
361 verbose url resolving [ 'https://registry.npmjs.org/', './re2' ]
362 verbose url resolved https://registry.npmjs.org/re2
363 info retry registry request attempt 1 at 23:51:20
364 http GET https://registry.npmjs.org/re2
365 info retry will retry, error on last attempt: Error: unable to get local issuer certificate
366 info retry registry request attempt 2 at 23:51:30
367 http GET https://registry.npmjs.org/re2
368 info retry will retry, error on last attempt: Error: unable to get local issuer certificate
369 info retry registry request attempt 3 at 23:52:30
370 http GET https://registry.npmjs.org/re2
371 silly lockFile 918d60b2-re2 re2@
372 error Error: unable to get local issuer certificate
372 error     at TLSSocket.<anonymous> (_tls_wrap.js:1105:38)
372 error     at emitNone (events.js:106:13)
372 error     at TLSSocket.emit (events.js:208:7)
372 error     at TLSSocket._finishInit (_tls_wrap.js:639:8)
372 error     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:469:38)
373 error If you need help, you may report this log at:
373 error     <http://github.com/isaacs/npm/issues>
373 error or email it to:
373 error     <[email protected]>
374 error System Windows_NT 6.1.7601
375 error command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "re2"
376 error cwd C:\www\math
377 error node -v v8.11.3
378 error npm -v 1.1.48
379 error code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
380 verbose exit [ 1, true ]
`

Lots of warnings on installation

Using [email protected] and npm@3, I get the below output with many, many warnings; while re2 does seem to install, this is at least confusing.

► npm install re2

> [email protected] install /private/tmp/node_modules/re2
> node-gyp rebuild

  CXX(target) Release/obj.target/re2/lib/addon.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/new.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/exec.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/test.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/match.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/replace.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/search.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/split.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/toString.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/accessors.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/lib/util.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/bitstate.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/compile.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/dfa.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/filtered_re2.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/mimics_pcre.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/nfa.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/onepass.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/parse.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/perl_groups.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
../vendor/re2/re2/perl_groups.cc:22:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\d", +1, code1, 1 },
                              ^
../vendor/re2/re2/perl_groups.cc:23:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\D", -1, code1, 1 },
                              ^
../vendor/re2/re2/perl_groups.cc:24:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\s", +1, code2, 2 },
                              ^
../vendor/re2/re2/perl_groups.cc:25:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\S", -1, code2, 2 },
                              ^
../vendor/re2/re2/perl_groups.cc:26:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\w", +1, code3, 4 },
                              ^
../vendor/re2/re2/perl_groups.cc:27:24: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "\\W", -1, code3, 4 },
                              ^
../vendor/re2/re2/perl_groups.cc:87:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:alnum:]", +1, code4, 3 },
                                    ^
../vendor/re2/re2/perl_groups.cc:88:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^alnum:]", -1, code4, 3 },
                                     ^
../vendor/re2/re2/perl_groups.cc:89:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:alpha:]", +1, code5, 2 },
                                    ^
../vendor/re2/re2/perl_groups.cc:90:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^alpha:]", -1, code5, 2 },
                                     ^
../vendor/re2/re2/perl_groups.cc:91:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:ascii:]", +1, code6, 1 },
                                    ^
../vendor/re2/re2/perl_groups.cc:92:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^ascii:]", -1, code6, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:93:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:blank:]", +1, code7, 2 },
                                    ^
../vendor/re2/re2/perl_groups.cc:94:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^blank:]", -1, code7, 2 },
                                     ^
../vendor/re2/re2/perl_groups.cc:95:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:cntrl:]", +1, code8, 2 },
                                    ^
../vendor/re2/re2/perl_groups.cc:96:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^cntrl:]", -1, code8, 2 },
                                     ^
../vendor/re2/re2/perl_groups.cc:97:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:digit:]", +1, code9, 1 },
                                    ^
../vendor/re2/re2/perl_groups.cc:98:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^digit:]", -1, code9, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:99:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:graph:]", +1, code10, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:100:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^graph:]", -1, code10, 1 },
                                      ^
../vendor/re2/re2/perl_groups.cc:101:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:lower:]", +1, code11, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:102:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^lower:]", -1, code11, 1 },
                                      ^
../vendor/re2/re2/perl_groups.cc:103:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:print:]", +1, code12, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:104:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^print:]", -1, code12, 1 },
                                      ^
../vendor/re2/re2/perl_groups.cc:105:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:punct:]", +1, code13, 4 },
                                     ^
../vendor/re2/re2/perl_groups.cc:106:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^punct:]", -1, code13, 4 },
                                      ^
../vendor/re2/re2/perl_groups.cc:107:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:space:]", +1, code14, 2 },
                                     ^
../vendor/re2/re2/perl_groups.cc:108:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^space:]", -1, code14, 2 },
                                      ^
../vendor/re2/re2/perl_groups.cc:109:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:upper:]", +1, code15, 1 },
                                     ^
../vendor/re2/re2/perl_groups.cc:110:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^upper:]", -1, code15, 1 },
                                      ^
../vendor/re2/re2/perl_groups.cc:111:30: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:word:]", +1, code16, 4 },
                                    ^
../vendor/re2/re2/perl_groups.cc:112:31: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^word:]", -1, code16, 4 },
                                     ^
../vendor/re2/re2/perl_groups.cc:113:32: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:xdigit:]", +1, code17, 3 },
                                      ^
../vendor/re2/re2/perl_groups.cc:114:33: warning: missing field 'r32' initializer [-Wmissing-field-initializers]
        { "[:^xdigit:]", -1, code17, 3 },
                                       ^
35 warnings generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/prefilter.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/prefilter_tree.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/prog.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/re2.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/regexp.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/set.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/simplify.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/tostring.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/unicode_casefold.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/re2/unicode_groups.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/arena.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/hash.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/rune.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/stringpiece.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/stringprintf.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/strutil.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  CXX(target) Release/obj.target/re2/vendor/re2/util/valgrind.o
clang: warning: unknown warning option '-Wunused-local-typedefs'
warning: unknown warning option '-Wunused-local-typedefs' [-Wunknown-warning-option]
1 warning generated.
  SOLINK_MODULE(target) Release/re2.node
npm WARN saveError ENOENT: no such file or directory, open '/private/tmp/package.json'
/private/tmp
└─┬ [email protected]
  └── [email protected]

Core Dump when using worker_threads

Hey, I see you have fixed the issue with the worker_threads. However now when using the package without initializing the constructor will cause a core dump.

So first off my node.js version is: v13.10.1
and RE2 version is 1.11.0

#
# Fatal error in , line 0
# Check failed: map->instance_type() == JS_REG_EXP_TYPE || map->instance_type() == JS_OBJECT_TYPE || map->instance_type() == JS_ERROR_TYPE || map->instance_type() == JS_ARRAY_TYPE || map->instance_type() == JS_API_OBJECT_TYPE || map->instance_type() == WASM_GLOBAL_OBJECT_TYPE || map->instance_type() == WASM_INSTANCE_OBJECT_TYPE || map->instance_type() == WASM_MEMORY_OBJECT_TYPE || map->instance_type() == WASM_MODULE_OBJECT_TYPE || map->instance_type() == WASM_TABLE_OBJECT_TYPE || map->instance_type() == JS_SPECIAL_API_OBJECT_TYPE.
#
#
#
#FailureMessage Object: 0x7fffd87c9bf0
 1: 0xa77221  [node]
 2: 0x19ed1d5 V8_Fatal(char const*, ...) [node]
 3: 0xd18ad8 v8::internal::Factory::CopyJSObjectWithAllocationSite(v8::internal::Handle<v8::internal::JSObject>, v8::internal::Handle<v8::internal::AllocationSite>) [node]
 4: 0xd1908b v8::internal::Factory::CopyJSObject(v8::internal::Handle<v8::internal::JSObject>) [node]
 5: 0xb7dc84 v8::internal::ApiNatives::InstantiateObject(v8::internal::Isolate*, v8::internal::Handle<v8::internal::ObjectTemplateInfo>, v8::internal::Handle<v8::internal::JSReceiver>) [node]
 6: 0xbf01f0  [node]
 7: 0xbf126d v8::internal::Builtins::InvokeApiFunction(v8::internal::Isolate*, bool, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Handle<v8::internal::HeapObject>) [node]
 8: 0xcc6ee1  [node]
 9: 0xcc74fd v8::internal::Execution::New(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) [node]
10: 0xb93720 v8::Function::NewInstanceWithSideEffectType(v8::Local<v8::Context>, int, v8::Local<v8::Value>*, v8::SideEffectType) const [node]
11: 0xb939dc v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const [node]
12: 0x7f3685b9f3be WrappedRE2::New(Nan::FunctionCallbackInfo<v8::Value> const&) [/mnt/c/Users/Admin/Desktop/HighlightMajorUpdate/node_modules/re2/build/Release/re2.node]
13: 0x7f3685b9b65f  [/mnt/c/Users/Admin/Desktop/HighlightMajorUpdate/node_modules/re2/build/Release/re2.node]
14: 0xbef09c  [node]
15: 0xbf0ea7 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
16: 0x13da699  [node]
Illegal instruction (core dumped)

A reproducible code is

const RE2 = require('re2');
RE2('test')
const RE2 = require('re2');
RE2(/test/);

the 2 above are examples that will cause a core dump. But it will cause the core dump anytime you try to use it without initializing the constructor, and an example of the code that won't cause a core dump is

const RE2 = require('re2');
new RE2('test');
const RE2 = require('re2');
new RE2(/test/);

False positive when using ^ with /g and lastIndex > 0

While using RegExp, ^ only matches at the beginning of the string :

let re = /^foo/g;
re.exec("foofoo"); // [ 'foo', index: 0, input: 'foofoo' ]
re.exec("foofoo"); // null

While using RE2, ^ matches at .lastIndex :

let re = RE2("^foo", "g");
re.exec("foofoo"); // [ 'foo', index: 0, input: 'foofoo' ]
re.exec("foofoo"); // [ 'foo', index: 3, input: 'foofoo' ]
re.exec("foofoo"); // null

The problem seems to come from an optimization at

node-re2/lib/exec.cc

Lines 45 to 55 in 7dc2814

if (re2->global && re2->lastIndex) {
String::Value s(info[0]->ToString());
if (re2->lastIndex > s.length()) {
re2->lastIndex = 0;
info.GetReturnValue().SetNull();
return;
}
Local<String> t(Nan::New(*s + re2->lastIndex).ToLocalChecked());
buffer.resize(t->Utf8Length() + 1);
t->WriteUtf8(&buffer[0]);
} else {
which only takes the substring starting at .lastIndex, making ^ match at the relocated starting position.

Calling RE2 as a function crashes Node when the constructor would have thrown an exception

For example, the following code :

const RE2 = require('re2');
RE2();

Crashes Node (as of v8.2.1) with the following error :

FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
 1: node::Abort() [node]
 2: 0x123a243 [node]
 3: v8::V8::ToLocalEmpty() [node]
 4: WrappedRE2::New(Nan::FunctionCallbackInfo<v8::Value> const&) [/PATH_TO_RE2/build/Release/re2.node]
 5: 0x7f571d420725 [/PATH_TO_RE2/build/Release/re2.node]
 6: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) [node]
 7: 0xa061ce [node]
 8: 0xa056e8 [node]
 9: 0x2b164e3840bd
Abandon (core dumped)

Python `SyntaxError: invalid syntax` while trying to install

Here's what I got:

error /srv/current/api2/node_modules/re2: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /srv/current/api2/node_modules/re2
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /home/ubuntu/.nix-profile/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack 
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:281:12)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at maybeClose (internal/child_process.js:915:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
gyp ERR! System Linux 4.15.0-1063-aws

My Python version:

$ /home/ubuntu/.nix-profile/bin/python --version
Python 3.7.0

Any idea how I could resolve this?

404 status code downloading SHASUMS.txt

gyp ERR! stack Error: 404 status code downloading SHASUMS.txt
gyp ERR! stack at Request. (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:316:18)

version 1.15.3 broken

> yarn add -E [email protected]
yarn add v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error ~/test/node_modules/re2: Command failed.
Exit code: 127
Command: install-from-cache --artifact build/Release/re2.node --host-var RE2_DOWNLOAD_MIRROR
Arguments:
Directory: ~/test/node_modules/re2
Output:
/bin/sh: 1: install-from-cache: not found
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Support-Request: node:12.18.1-alpine does not compile node-re2

My dockerfile is

FROM node:12.18.1-alpine as re2-builder

WORKDIR /opt

RUN apk add python make g++ \
	&& npm install [email protected]

When building I get this:

Writing to build/Release/re2.node ...

> [email protected] verify-build /opt/node_modules/re2
> node scripts/verify-build.js

internal/modules/cjs/loader.js:1188
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /opt/node_modules/re2/build/Release/re2.node)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:1188:18)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.<anonymous> (/opt/node_modules/re2/re2.js:3:13)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] verify-build: `node scripts/verify-build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] verify-build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-19T21_07_53_335Z-debug.log
Building locally ...

> [email protected] rebuild /opt/node_modules/re2
> node-gyp rebuild
...

Does somebody has a working docker file?

Console flooded with -Wcast-function-type

Building node-re2 locally my console is flooded with -Wcast-function-type warnings. I compared to building re2 from source, which is much more silent. You can see the output here.

It looks like they've fixed these warnings upstream. Is it possible to update from upstream and cut a release?

My local environment is:
node 12.9.1
node-gyp 5.0.2
GCC 9.1.0

Better error reporting

Hi ,

I find some possible security vulnerabilities in this package .

some uncommon inputs for RE2 like arrays and objects cause crash in main node process .

Here is 2 examples :

var regex=new RE2([])

FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Internal field out of bounds
Aborted (core dumped)

var regex=new RE2({})

Segmentation fault (core dumped)

My test platform is ubuntu , node version v6.0.0

Best Regards

No support for the /y (sticky) RegExp flag

ES2015 added a y (sticky) flag to the RegExp class, which has a behavior similar to the g flag, but instead of looking for a match starting from .lastIndex, it looks for a match exactly at .lastIndex, and other small differences (see ECMAScript® 2015 Language Specification – Text Processing – RegExp (Regular Expression) Objects – Properties of the RegExp Prototype Object – RegExp.prototype.exec ( string ) – Runtime Semantics: RegExpExec ( R, S )).

For example, this flag is extremely useful as an optimization for writing parsers.

The RE2 class doesn't support this flag.

RE2 objects silently work like /u RegExp objects

Since ES2015 there is a u flag which changes the way the RegExp engine processes Unicode surrogates and characters from supplementary planes (see ECMAScript® 2015 Language Specification – Text Processing – RegExp (Regular Expression) Objects – Pattern Semantics).

For example, without this flag :

let charRE = /./g;
charRE.exec("😃")[0] === "\uD83D";
charRE.exec("😃")[0] === "\uDE03";
charRE.exec("😃") === null;
let emojiRE = /[😃-😅]/; // SyntaxError, this gets parsed as a character class containing \uD83D, the range from \uDE03 to \uD83D (which is lower, hence the SyntaxError), and \uDE05

With this flag :

let charRE = /./gu;
charRE.exec("😃")[0] === "😃";
charRE.exec("😃") === null;
let emojiRE = /[😃-😅]/u; // OK, this gets parsed as a character class containing the range from \u{1F603} (😃) to \u{1F605} (😅)

(I took emoji as an example because that's probably the most popular use of characters from supplementary planes, but there are many more usages of the feature, see Wikipedia – Plane (Unicode))

The RE2 engine always has the second behavior, but the wrapper class provided by this module silently ignores the u flag in its constructor, doesn't have an unicode property (which is the RegExp property associated to this flag), and doesn't give back the flag when .toString() is called on it.

For the property there would be a simple solution (create it and make it always return true), but modifying the constructor and .toString() would cause many problems, ranging from consistency to backward compatibility breaks :

  • The constructor could either continue silently ignoring it (inconsistency with the property and the behavior) or require it and throw if it is not present (obvious BC break) ;
  • .toString() could either continue not returning it (inconsistency with the property and the behavior) or silently add it (potential BC break for any code that consumes the returned string) … or it could add it if and only if it was passed to the constructor (still a partial inconsistency) ;
  • The property could also be made to return whether the flag was passed to the constructor but it would increase the inconsistency, as the behavior is to always work as if it was passed.

The problem with the BC breaks are that fixing this is probably not a big enough addition to justify bumping the major version, but breaking BC would require it if you follow SemVer.

How to detect backreferences?

I have a small JS script that tries to create an RE2 regex with backreferences. Though it prints errors to stderr, there does not seem to be a way to programmatically determine that the regex contained backreferences.

It looks like the re2.cc code in question sets the RE2's error_ field, so I think exposing the RE2 ok() method would allow the program to realize its mistake.

../vendor/re2/re2.cc:194: Error parsing 'android.+(\w+)build\1$': invalid escape sequence: \1
../vendor/re2/re2.cc:579: Invalid RE2: invalid escape sequence: \1

unrecognized command line option in install

Hello there.

i'm trying to install the module without any special setup, npm i --save re2 but I got this error related to gcc.


> [email protected] install /home/mypc/Desktop/node_modules/re2
> node-gyp rebuild

make: Entering directory '/home/mypc/Desktop/node_modules/re2/build'
  CXX(target) Release/obj.target/re2/lib/addon.o
g++: error: unrecognized command line option ‘-Wimplicit-fallthrough=0’
re2.target.mk:153: recipe for target 'Release/obj.target/re2/lib/addon.o' failed
make: *** [Release/obj.target/re2/lib/addon.o] Error 1
make: Leaving directory '/home/mypc/Desktop/node_modules/re2/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/mypc/.nvm/versions/node/v8.9.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Linux 4.15.0-24-generic
gyp ERR! command "/home/mypc/.nvm/versions/node/v8.9.0/bin/node" "/home/mypc/.nvm/versions/node/v8.9.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/mypc/Desktop/node_modules/re2
gyp ERR! node -v v8.9.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/mypc/.npm/_logs/2018-07-11T22_53_01_875Z-debug.log

Maybe someone stumbled upon this in the past. I don't know if i'm ignoring some required lib.

More info about my system

OS: Ubuntu 16.04.4
Nodejs: v8.9.0
npm: 5.5.1
gcc: (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

best regards

MULTILINE flag fails as separate setting

Not sure why this is not working. This is the test code (after narrowed down the problem):

const RE2 = require('re2');
const str = `  line 1
line 2 (at start of line)
  line 3`;

const pat1 = new RE2("^line", "m"); // DOESN'T WORK
const test1 = str.match(pat1);
const pat2 = new RE2("(?m)^line"); // WORKS
const test2 = str.match(pat2);

console.log(test1 ? 'SUCCESS1' : 'FAILS1', test1); // fails
console.log(test2 ? 'SUCCESS2' : 'FAILS2', test2); // succeeds

Results:

FAILS1 null
SUCCESS2 [
  'line',
  index: 9,
  input: '  line 1\nline 2 (at start of line)\n  line 3',
  groups: undefined
]

This is running node.v14.4.0 on macOS Catalina (v10.15.4).
process.versions.module === 83 so using latest version of darwin lib

Am I doing it wrong? I'm simply trying to match start of lines on multiline strings.

Node 12 compatibility

Hej there 👋

With Node 12 V8 versions changed and the C bindings this library use partially do not seem to exist anymore (or more likely: exist somewhere else):

# Node 10.16.0
❯ node
> process.versions.v8
'6.8.275.32-node.52'

# Node 12.3.1
❯ node
Welcome to Node.js v12.3.1.
Type ".help" for more information.
> process.versions.v8
'7.4.288.27-node.18'
Build errors log

❯ npm install

> [email protected] install /Users/stephan/dev/contentful/node-re2
> node-gyp rebuild

  CXX(target) Release/obj.target/re2/lib/addon.o
In file included from ../lib/addon.cc:1:
../lib/./wrapped_re2.h:14:11: error: no member named 'Handle' in namespace 'v8'
using v8::Handle;
      ~~~~^
../lib/./wrapped_re2.h:62:26: error: no template named 'Handle'
                static void Initialize(Handle<Object> exports, Handle<Object> module);
                                       ^
../lib/./wrapped_re2.h:62:50: error: no template named 'Handle'
                static void Initialize(Handle<Object> exports, Handle<Object> module);
                                                               ^
../lib/addon.cc:25:59: error: too few arguments to function call, single argument 'isolate' was not specified
        info.GetReturnValue().Set(static_cast<int>(s->Utf8Length()));
                                                   ~~~~~~~~~~~~~ ^
/Users/stephan/.node-gyp/12.3.1/include/node/v8.h:2678:3: note: 'Utf8Length' declared here
  int Utf8Length(Isolate* isolate) const;
  ^
../lib/addon.cc:39:18: error: variable has incomplete type 'void'
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                 ^
../lib/addon.cc:39:36: error: 'Object' does not refer to a value
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                   ^
/Users/stephan/.node-gyp/12.3.1/include/node/v8.h:3356:17: note: declared here
class V8_EXPORT Object : public Value {
                ^
../lib/addon.cc:39:29: error: use of undeclared identifier 'Handle'
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                            ^
../lib/addon.cc:39:44: error: use of undeclared identifier 'exports'
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                           ^
../lib/addon.cc:39:60: error: 'Object' does not refer to a value
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                                           ^
/Users/stephan/.node-gyp/12.3.1/include/node/v8.h:3356:17: note: declared here
class V8_EXPORT Object : public Value {
                ^
../lib/addon.cc:39:53: error: use of undeclared identifier 'Handle'
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                                    ^
../lib/addon.cc:39:68: error: use of undeclared identifier 'module'
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                                                   ^
../lib/addon.cc:39:75: error: expected ';' after top level declarator
void WrappedRE2::Initialize(Handle<Object> exports, Handle<Object> module) {
                                                                          ^
                                                                          ;
12 errors generated.
make: *** [Release/obj.target/re2/lib/addon.o] Error 1

I saw #18, but given my limited C++ skills this is a bit out-of-scope for me right now.
If you have some remarks on where to fix the Node 12 compatibility in the current codebase, I'd be up taking a stab on a PR.

Thank you for this library!

Not able to import re2 in Angular project

Issue

Cannot use re2 in angular project.


Steps Followed

  • Create a new angular project or existing project.
  • Install re2 - npm i re2
  • Import in component or service as - import 're2';

Error

Module not found: Error: Can't resolve './build/Release/re2'```

The constructor doesn't support the \u{…} escape in the pattern

The constructor throws a SyntaxError when using the \u{…} escape in the pattern, like this :

let re = RE2("\\u{1F603}"); // SyntaxError: Unsupported regular expression features (check for backreferences, lookahead assertions).

Although the feature is supported with another escape :

RE2("\\x{1F603}").test("\u{1F603}"); // true

TypeError on Symbol.match when using on ReactJS

Hey, I don't know why but when I'm using the RE2 in ReactJS I receive this error when I import the library:

TypeError: Cannot set property 'Symbol(Symbol.match)' of undefined

Using in a clear node project, it works fine, but in React, I only import, save, run and get the error.

Another thing that happens is the replace.cc what get this warning when install in both cases:

C:\projetos\regex-safe>npm install --save re2

> [email protected] install C:\projetos\regex-safe\node_modules\re2
> node-gyp rebuild


C:\projetos\regex-safe\node_modules\re2>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Compilando os projetos desta solução um de cada vez. Para habilitar o build paralelo, adicione a opção "/m".
  addon.cc
  new.cc
  exec.cc
  test.cc
  match.cc
  replace.cc
  search.cc
  split.cc
c:\projetos\regex-safe\node_modules\re2\lib\replace.cc(251): warning C4018: '>': incompatibilidade de signed/unsigned [C:\projetos\regex-safe\node_modules\re2\build\re2.
vcxproj]
c:\projetos\regex-safe\node_modules\re2\lib\replace.cc(399): warning C4018: '>': incompatibilidade de signed/unsigned [C:\projetos\regex-safe\node_modules\re2\build\re2.
vcxproj]
  to_string.cc
  accessors.cc
  util.cc
  bitstate.cc
  compile.cc
  dfa.cc
  filtered_re2.cc
  mimics_pcre.cc
  nfa.cc
  onepass.cc
  parse.cc
  perl_groups.cc
  prefilter.cc
  prefilter_tree.cc
  prog.cc
  re2.cc
  regexp.cc
  set.cc
  simplify.cc
  stringpiece.cc
  tostring.cc
  unicode_casefold.cc
  unicode_groups.cc
  pcre.cc
  rune.cc
  strutil.cc
  win_delay_load_hook.cc
     Criando biblioteca C:\projetos\regex-safe\node_modules\re2\build\Release\re2.lib e objeto C:\projetos\regex-safe\node_modules\re2\build\Release\re2.exp
  re2.vcxproj -> C:\projetos\regex-safe\node_modules\re2\build\Release\\re2.node
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ [email protected]
added 2 packages from 9 contributors and audited 4 packages in 34.136s
found 0 vulnerabilities

Any idea what it might be?

Add typescript types

Is it possible to add typescript types? I've added them to DefinitelyTyped, and they're published under @types/re2, but it would be much easier to incorporate them into re2 directly.

Module did not self-register while using Worker Threads

When trying to use the package in a project that uses Worker Threads causes this error, but if I change to use Child Processes it works perfectly fine.

events.js:170
      throw er; // Unhandled 'error' event
      ^
Error: Module did not self-register.
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:857:18)
    at Module.load (internal/modules/cjs/loader.js:685:32)
    at Function.Module._load (internal/modules/cjs/loader.js:620:12)
    at Module.require (internal/modules/cjs/loader.js:723:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at Object.<anonymous> (/home/bannerbomb/Desktop/Github_Stuff/Discord_Bots/Highlight (copy)/branches/master/node_modules/re2/re2.js:3:11)
    at Module._compile (internal/modules/cjs/loader.js:816:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
    at Module.load (internal/modules/cjs/loader.js:685:32)
    at Function.Module._load (internal/modules/cjs/loader.js:620:12)
Emitted 'error' event at:
    at Worker.[kOnErrorMessage] (internal/worker.js:170:10)
    at Worker.[kOnMessage] (internal/worker.js:180:37)
    at MessagePort.Worker.(anonymous function).on (internal/worker.js:113:57)
    at MessagePort.emit (events.js:193:13)
    at MessagePort.onmessage (internal/worker/io.js:73:8)

I am using npm version 6.12.0
and node version 11.15.0 also tried with 13.7.0

Does not seem to install on win7

inf3rno@inf3rno-PC MINGW64 ~/Desktop/Új mappa
$ npm install re2 --save

> [email protected] install C:\Users\inf3rno\Desktop\Új mappa\node_modules\re2
> node-gyp rebuild


C:\Users\inf3rno\Desktop\▒j mappa\node_modules\re2>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Traceback (most recent call last):
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 50, in <module>
    sys.exit(gyp.script_main())
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 554, in script_main
    return main(sys.argv[1:])
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 547, in main
    return gyp_main(args)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 532, in gyp_main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 2012, in GenerateOutput
    msvs_version)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1847, in _CreateProjectObjects
    guid = _GetGuidOfProject(proj_path, spec)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 914, in _GetGuidOfProject
    guid = guid or MSVSNew.MakeGuid(proj_path)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\MSVSNew.py", line 48, in MakeGuid
    d = hashlib.md5((str(seed) + str(name)).encode('utf-8')).hexdigest().upper()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xda in position 33: ordinal not in range(128)
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\inf3rno\Desktop\Új mappa\node_modules\re2
gyp ERR! node -v v13.8.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\inf3rno\Desktop\Új mappa\package.json'
npm WARN Új mappa No description
npm WARN Új mappa No repository field.
npm WARN Új mappa No README data
npm WARN Új mappa No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\inf3rno\AppData\Roaming\npm-cache\_logs\2020-03-19T13_32_24_702Z-debug.log

Provide a better message for syntax errors

Currently, when you write, for example, new RE2("("), you get a SyntaxError with a generic error message :

node-re2/lib/new.cc

Lines 242 to 244 in 8998306

if (!re2->regexp.ok()) {
return Nan::ThrowSyntaxError("Unsupported regular expression features (check for backreferences, lookahead assertions).");
}

When working on /y, I had to look at the RE2 API and stumbled upon some functions which could be used to change this generic error message into something more useful for debugging.

Git submodules make it difficult to use patched versions of the package.

I needed to make a small patch to node-re2 to get it to install on macOS. My normal procedure is to submit the fix upstream, but also point my "package.json" at a temporary fork so our team can continue working right:

    "re2": "git+ssh://[email protected]/cakoose/node-re2#...",

While this works for most packages, this doesn't work for this package. On npm install:

> node-gyp rebuild

  CXX(target) Release/obj.target/re2/lib/addon.o
In file included from ../lib/addon.cc:1:
../lib/./wrapped_re2.h:8:10: fatal error: 're2/re2.h' file not found
#include <re2/re2.h>
         ^~~~~~~~~~~
1 error generated.
make: *** [Release/obj.target/re2/lib/addon.o] Error 1

I eventually figured out that when NPM installs from a "git+ssh" source, it doesn't automatically import all submodules.

My workaround was to npm publish a scoped package to NPM (@cakoose/re2) and install that. That required a few additional steps, which made it a little more annoying. (Though the most annoying thing was how long it took me to figure out that submodules were the issue.)

I'm not sure the best way forward, I just wanted to bring this issue to your attention. git subtree is an alternative that just copies the remote code into your repo, which is maybe not as elegant, but does eliminate some of the submodule headaches. Or maybe this is not that big a deal :-)

(I do like the idea of Git submodules, but they seem to suffer from poor support in various tools. Even Git itself doesn't support them well; submodules should really be handled automatically by clone and checkout. There was someone working on improving submodules, but I haven't seen any updates in a while: https://github.com/jlehmann/git-submod-enhancements/wiki)

Node v10.3.0

Cannot install for node v10.3.0

npm ERR! code ETARGET
npm ERR! notarget No matching version found for chalk@undefined
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

Node module version error

Node 12.16.3
NVM 0.35.3
macOS 10.15.6
Electron 10.1.1
re2 1.15.4
npm 6.14.4

I get this error in the console with an RSS app I'm working on. I've tried deleting node_modules and package-lock.json then npm i and ./node_modules/.bin/electron-rebuild but that disconnects Chrome DevTools so I can't inspect the app.

Without the rebuild, the app runs but throws the error below in the console.

Node.js 12.16.3 corresponds with Node Module Version 72.

82 lists Electron 10.

Any ideas beyond reverting to an older version of Electron?

Uncaught Error: The module '/Users/xxx/Code/Git/xxx/node_modules/re2/build/Release/re2.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 72. This version of Node.js requires
NODE_MODULE_VERSION 82. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install).
at process.func [as dlopen] (electron/js2c/asar.js:140)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1196)
at Object.func [as .node] (electron/js2c/asar.js:140)
at Module.load (internal/modules/cjs/loader.js:981)
at Module._load (internal/modules/cjs/loader.js:881)
at Function.Module._load (electron/js2c/asar.js:769)
at Module.require (internal/modules/cjs/loader.js:1023)
at require (internal/modules/cjs/helpers.js:77)
at Object. (/Users/xxx/Code/Git/xxx/node_modules/re2/re2.js:3)
at Object. (/Users/xxx/Code/Git/xxx/node_modules/re2/re2.js:26)

Getting RE2.prototype.source crashes Node

While RegExp.prototype.source returns '(?:)' on my machine (with Node v8.2.1), RE2.prototype.source crashes Node completely with the following C++ exception :

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Abandon (core dumped)

It looks like Nan::ObjectWrap::Unwrap<WrappedRE2>(info.This()) returns a corrupt WrappedRE2* when this === RE2.prototype, here :

NAN_GETTER(WrappedRE2::GetSource) {
WrappedRE2* re2 = Nan::ObjectWrap::Unwrap<WrappedRE2>(info.This());
info.GetReturnValue().Set(Nan::New(re2->regexp.pattern()).ToLocalChecked());
}

This problem also impacts all of the RE2.prototype properties, although in a less severe way, for example true === RE2.prototype.global, true === RE2.prototype.ignoreCase, true === RE2.prototype.multiline on my machine while the same properties of RegExp.prototype are all equal to undefined.

Can't import/require

ERROR in ./node_modules/re2/build/Release/re2.node
Module parse failed: Unexpected character '�' (1:0)
You may need an appropriate loader to handle this file type.

Tried to open re2.node then get

the file is not displayed in the editor because it is either binary or uses unsupported

I want to use it with webpack

RE2 not compiling on windows


> [email protected] install C:\www\math\node_modules\re2
> node-gyp rebuild


C:\www\math\node_modules\re2>if not defined npm_config_node_gyp (node "C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  addon.cc
  new.cc
  console.cc
  exec.cc
  test.cc
c:\www\math\node_modules\re2\lib\console.cc(6): fatal error C1083: Cannot open include file: 'unistd.h': No such file or dir
ectory [C:\www\math\node_modules\re2\build\re2.vcxproj]
  match.cc
  replace.cc
c:\www\math\node_modules\re2\lib\replace.cc(230): warning C4018: '>': signed/unsigned mismatch [C:\www\math\node_modules\re2
\build\re2.vcxproj]
c:\www\math\node_modules\re2\lib\replace.cc(348): warning C4018: '>': signed/unsigned mismatch [C:\www\math\node_modules\re2
\build\re2.vcxproj]
  search.cc
  split.cc
c:\www\math\node_modules\re2\lib\split.cc(40): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible
 loss of data [C:\www\math\node_modules\re2\build\re2.vcxproj]
  to_string.cc
  accessors.cc
  util.cc
c:\www\math\node_modules\re2\lib\accessors.cc(132): warning C4244: 'initializing': conversion from 'double' to 'int', possib
le loss of data [C:\www\math\node_modules\re2\build\re2.vcxproj]
  bitstate.cc
  compile.cc
  dfa.cc
  filtered_re2.cc
  mimics_pcre.cc
  nfa.cc
  onepass.cc
  parse.cc
  perl_groups.cc
  prefilter.cc
  prefilter_tree.cc
  prog.cc
  re2.cc
  regexp.cc
  set.cc
  simplify.cc
  stringpiece.cc
  tostring.cc
  unicode_casefold.cc
  unicode_groups.cc
  pcre.cc
  rune.cc
  strutil.cc
  win_delay_load_hook.cc
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\user\\AppData\\Roaming\\nvm\\v8.11.3\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\www\math\node_modules\re2
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\user\AppData\Roaming\npm-cache\_logs\2019-01-14T07_30_25_669Z-debug.log```
the log
```0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install',
1 verbose cli   '--save',
1 verbose cli   're2' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session 30316028db7d7b31
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/re2 2911ms (from cache)
8 silly pacote tag manifest for re2@latest fetched in 9238ms
9 silly install loadIdealTree
10 silly install cloneCurrentTreeToIdealTree
11 silly install loadShrinkwrap
12 silly install loadAllDepsIntoIdealTree
13 silly resolveWithNewModule [email protected] checking installable status
14 silly currentTree [email protected]
14 silly currentTree +-- @babel/[email protected]
14 silly currentTree +-- @babel/[email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree | +-- [email protected]
14 silly currentTree | | `-- [email protected]
14 silly currentTree | `-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree +-- [email protected]
14 silly currentTree `-- [email protected]
15 silly idealTree [email protected]
15 silly idealTree +-- @babel/[email protected]
15 silly idealTree +-- @babel/[email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | | `-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree | +-- [email protected]
15 silly idealTree | | `-- [email protected]
15 silly idealTree | `-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree +-- [email protected]
15 silly idealTree `-- [email protected]
16 silly install generateActionsToTake
17 silly diffTrees action count 69
18 silly diffTrees add [email protected]
19 silly diffTrees add [email protected]
20 silly diffTrees add [email protected]
21 silly diffTrees add [email protected]
22 silly diffTrees add [email protected]
23 silly diffTrees add [email protected]
24 silly diffTrees add [email protected]
25 silly diffTrees add [email protected]
26 silly diffTrees add [email protected]
27 silly diffTrees add [email protected]
28 silly diffTrees add [email protected]
29 silly diffTrees add [email protected]
30 silly diffTrees add [email protected]
31 silly diffTrees add [email protected]
32 silly diffTrees add [email protected]
33 silly diffTrees add [email protected]
34 silly diffTrees add [email protected]
35 silly diffTrees add [email protected]
36 silly diffTrees add [email protected]
37 silly diffTrees add [email protected]
38 silly diffTrees add [email protected]
39 silly diffTrees add [email protected]
40 silly diffTrees add [email protected]
41 silly diffTrees add [email protected]
42 silly diffTrees add [email protected]
43 silly diffTrees add [email protected]
44 silly diffTrees add [email protected]
45 silly diffTrees add [email protected]
46 silly diffTrees add [email protected]
47 silly diffTrees add [email protected]
48 silly diffTrees add [email protected]
49 silly diffTrees add [email protected]
50 silly diffTrees add [email protected]
51 silly diffTrees add [email protected]
52 silly diffTrees add [email protected]
53 silly diffTrees add [email protected]
54 silly diffTrees add [email protected]
55 silly diffTrees add [email protected]
56 silly diffTrees add [email protected]
57 silly diffTrees add [email protected]
58 silly diffTrees add [email protected]
59 silly diffTrees add [email protected]
60 silly diffTrees add [email protected]
61 silly diffTrees add [email protected]
62 silly diffTrees add [email protected]
63 silly diffTrees add [email protected]
64 silly diffTrees add [email protected]
65 silly diffTrees add [email protected]
66 silly diffTrees add [email protected]
67 silly diffTrees add [email protected]
68 silly diffTrees add [email protected]
69 silly diffTrees add [email protected]
70 silly diffTrees add [email protected]
71 silly diffTrees add [email protected]
72 silly diffTrees add [email protected]
73 silly diffTrees add [email protected]
74 silly diffTrees add [email protected]
75 silly diffTrees add [email protected]
76 silly diffTrees add [email protected]
77 silly diffTrees add [email protected]
78 silly diffTrees add [email protected]
79 silly diffTrees add [email protected]
80 silly diffTrees add [email protected]
81 silly diffTrees add [email protected]
82 silly diffTrees add [email protected]
83 silly diffTrees add [email protected]
84 silly diffTrees add [email protected]
85 silly diffTrees add [email protected]
86 silly diffTrees add [email protected]
87 silly decomposeActions action count 420
88 silly decomposeActions preinstall [email protected]
89 silly decomposeActions build [email protected]
90 silly decomposeActions install [email protected]
91 silly decomposeActions postinstall [email protected]
92 silly decomposeActions finalize [email protected]
93 silly decomposeActions refresh-package-json [email protected]
94 silly decomposeActions preinstall [email protected]
95 silly decomposeActions build [email protected]
96 silly decomposeActions install [email protected]
97 silly decomposeActions postinstall [email protected]
98 silly decomposeActions finalize [email protected]
99 silly decomposeActions refresh-package-json [email protected]
100 silly decomposeActions preinstall [email protected]
101 silly decomposeActions build [email protected]
102 silly decomposeActions install [email protected]
103 silly decomposeActions postinstall [email protected]
104 silly decomposeActions finalize [email protected]
105 silly decomposeActions refresh-package-json [email protected]
106 silly decomposeActions preinstall [email protected]
107 silly decomposeActions build [email protected]
108 silly decomposeActions install [email protected]
109 silly decomposeActions postinstall [email protected]
110 silly decomposeActions finalize [email protected]
111 silly decomposeActions refresh-package-json [email protected]
112 silly decomposeActions preinstall [email protected]
113 silly decomposeActions build [email protected]
114 silly decomposeActions install [email protected]
115 silly decomposeActions postinstall [email protected]
116 silly decomposeActions finalize [email protected]
117 silly decomposeActions refresh-package-json [email protected]
118 silly decomposeActions preinstall [email protected]
119 silly decomposeActions build [email protected]
120 silly decomposeActions install [email protected]
121 silly decomposeActions postinstall [email protected]
122 silly decomposeActions finalize [email protected]
123 silly decomposeActions refresh-package-json [email protected]
124 silly decomposeActions preinstall [email protected]
125 silly decomposeActions build [email protected]
126 silly decomposeActions install [email protected]
127 silly decomposeActions postinstall [email protected]
128 silly decomposeActions finalize [email protected]
129 silly decomposeActions refresh-package-json [email protected]
130 silly decomposeActions preinstall [email protected]
131 silly decomposeActions build [email protected]
132 silly decomposeActions install [email protected]
133 silly decomposeActions postinstall [email protected]
134 silly decomposeActions finalize [email protected]
135 silly decomposeActions refresh-package-json [email protected]
136 silly decomposeActions preinstall [email protected]
137 silly decomposeActions build [email protected]
138 silly decomposeActions install [email protected]
139 silly decomposeActions postinstall [email protected]
140 silly decomposeActions finalize [email protected]
141 silly decomposeActions refresh-package-json [email protected]
142 silly decomposeActions preinstall [email protected]
143 silly decomposeActions build [email protected]
144 silly decomposeActions install [email protected]
145 silly decomposeActions postinstall [email protected]
146 silly decomposeActions finalize [email protected]
147 silly decomposeActions refresh-package-json [email protected]
148 silly decomposeActions preinstall [email protected]
149 silly decomposeActions build [email protected]
150 silly decomposeActions install [email protected]
151 silly decomposeActions postinstall [email protected]
152 silly decomposeActions finalize [email protected]
153 silly decomposeActions refresh-package-json [email protected]
154 silly decomposeActions preinstall [email protected]
155 silly decomposeActions build [email protected]
156 silly decomposeActions install [email protected]
157 silly decomposeActions postinstall [email protected]
158 silly decomposeActions finalize [email protected]
159 silly decomposeActions refresh-package-json [email protected]
160 silly decomposeActions preinstall [email protected]
161 silly decomposeActions build [email protected]
162 silly decomposeActions install [email protected]
163 silly decomposeActions postinstall [email protected]
164 silly decomposeActions finalize [email protected]
165 silly decomposeActions refresh-package-json [email protected]
166 silly decomposeActions preinstall [email protected]
167 silly decomposeActions build [email protected]
168 silly decomposeActions install [email protected]
169 silly decomposeActions postinstall [email protected]
170 silly decomposeActions finalize [email protected]
171 silly decomposeActions refresh-package-json [email protected]
172 silly decomposeActions preinstall [email protected]
173 silly decomposeActions build [email protected]
174 silly decomposeActions install [email protected]
175 silly decomposeActions postinstall [email protected]
176 silly decomposeActions finalize [email protected]
177 silly decomposeActions refresh-package-json [email protected]
178 silly decomposeActions preinstall [email protected]
179 silly decomposeActions build [email protected]
180 silly decomposeActions install [email protected]
181 silly decomposeActions postinstall [email protected]
182 silly decomposeActions finalize [email protected]
183 silly decomposeActions refresh-package-json [email protected]
184 silly decomposeActions preinstall [email protected]
185 silly decomposeActions build [email protected]
186 silly decomposeActions install [email protected]
187 silly decomposeActions postinstall [email protected]
188 silly decomposeActions finalize [email protected]
189 silly decomposeActions refresh-package-json [email protected]
190 silly decomposeActions preinstall [email protected]
191 silly decomposeActions build [email protected]
192 silly decomposeActions install [email protected]
193 silly decomposeActions postinstall [email protected]
194 silly decomposeActions finalize [email protected]
195 silly decomposeActions refresh-package-json [email protected]
196 silly decomposeActions preinstall [email protected]
197 silly decomposeActions build [email protected]
198 silly decomposeActions install [email protected]
199 silly decomposeActions postinstall [email protected]
200 silly decomposeActions finalize [email protected]
201 silly decomposeActions refresh-package-json [email protected]
202 silly decomposeActions preinstall [email protected]
203 silly decomposeActions build [email protected]
204 silly decomposeActions install [email protected]
205 silly decomposeActions postinstall [email protected]
206 silly decomposeActions finalize [email protected]
207 silly decomposeActions refresh-package-json [email protected]
208 silly decomposeActions preinstall [email protected]
209 silly decomposeActions build [email protected]
210 silly decomposeActions install [email protected]
211 silly decomposeActions postinstall [email protected]
212 silly decomposeActions finalize [email protected]
213 silly decomposeActions refresh-package-json [email protected]
214 silly decomposeActions preinstall [email protected]
215 silly decomposeActions build [email protected]
216 silly decomposeActions install [email protected]
217 silly decomposeActions postinstall [email protected]
218 silly decomposeActions finalize [email protected]
219 silly decomposeActions refresh-package-json [email protected]
220 silly decomposeActions preinstall [email protected]
221 silly decomposeActions build [email protected]
222 silly decomposeActions install [email protected]
223 silly decomposeActions postinstall [email protected]
224 silly decomposeActions finalize [email protected]
225 silly decomposeActions refresh-package-json [email protected]
226 silly decomposeActions preinstall [email protected]
227 silly decomposeActions build [email protected]
228 silly decomposeActions install [email protected]
229 silly decomposeActions postinstall [email protected]
230 silly decomposeActions finalize [email protected]
231 silly decomposeActions refresh-package-json [email protected]
232 silly decomposeActions preinstall [email protected]
233 silly decomposeActions build [email protected]
234 silly decomposeActions install [email protected]
235 silly decomposeActions postinstall [email protected]
236 silly decomposeActions finalize [email protected]
237 silly decomposeActions refresh-package-json [email protected]
238 silly decomposeActions preinstall [email protected]
239 silly decomposeActions build [email protected]
240 silly decomposeActions install [email protected]
241 silly decomposeActions postinstall [email protected]
242 silly decomposeActions finalize [email protected]
243 silly decomposeActions refresh-package-json [email protected]
244 silly decomposeActions preinstall [email protected]
245 silly decomposeActions build [email protected]
246 silly decomposeActions install [email protected]
247 silly decomposeActions postinstall [email protected]
248 silly decomposeActions finalize [email protected]
249 silly decomposeActions refresh-package-json [email protected]
250 silly decomposeActions preinstall [email protected]
251 silly decomposeActions build [email protected]
252 silly decomposeActions install [email protected]
253 silly decomposeActions postinstall [email protected]
254 silly decomposeActions finalize [email protected]
255 silly decomposeActions refresh-package-json [email protected]
256 silly decomposeActions preinstall [email protected]
257 silly decomposeActions build [email protected]
258 silly decomposeActions install [email protected]
259 silly decomposeActions postinstall [email protected]
260 silly decomposeActions finalize [email protected]
261 silly decomposeActions refresh-package-json [email protected]
262 silly decomposeActions preinstall [email protected]
263 silly decomposeActions build [email protected]
264 silly decomposeActions install [email protected]
265 silly decomposeActions postinstall [email protected]
266 silly decomposeActions finalize [email protected]
267 silly decomposeActions refresh-package-json [email protected]
268 silly decomposeActions preinstall [email protected]
269 silly decomposeActions build [email protected]
270 silly decomposeActions install [email protected]
271 silly decomposeActions postinstall [email protected]
272 silly decomposeActions finalize [email protected]
273 silly decomposeActions refresh-package-json [email protected]
274 silly decomposeActions preinstall [email protected]
275 silly decomposeActions build [email protected]
276 silly decomposeActions install [email protected]
277 silly decomposeActions postinstall [email protected]
278 silly decomposeActions finalize [email protected]
279 silly decomposeActions refresh-package-json [email protected]
280 silly decomposeActions preinstall [email protected]
281 silly decomposeActions build [email protected]
282 silly decomposeActions install [email protected]
283 silly decomposeActions postinstall [email protected]
284 silly decomposeActions finalize [email protected]
285 silly decomposeActions refresh-package-json [email protected]
286 silly decomposeActions preinstall [email protected]
287 silly decomposeActions build [email protected]
288 silly decomposeActions install [email protected]
289 silly decomposeActions postinstall [email protected]
290 silly decomposeActions finalize [email protected]
291 silly decomposeActions refresh-package-json [email protected]
292 silly decomposeActions preinstall [email protected]
293 silly decomposeActions build [email protected]
294 silly decomposeActions install [email protected]
295 silly decomposeActions postinstall [email protected]
296 silly decomposeActions finalize [email protected]
297 silly decomposeActions refresh-package-json [email protected]
298 silly decomposeActions preinstall [email protected]
299 silly decomposeActions build [email protected]
300 silly decomposeActions install [email protected]
301 silly decomposeActions postinstall [email protected]
302 silly decomposeActions finalize [email protected]
303 silly decomposeActions refresh-package-json [email protected]
304 silly decomposeActions preinstall [email protected]
305 silly decomposeActions build [email protected]
306 silly decomposeActions install [email protected]
307 silly decomposeActions postinstall [email protected]
308 silly decomposeActions finalize [email protected]
309 silly decomposeActions refresh-package-json [email protected]
310 silly decomposeActions preinstall [email protected]
311 silly decomposeActions build [email protected]
312 silly decomposeActions install [email protected]
313 silly decomposeActions postinstall [email protected]
314 silly decomposeActions finalize [email protected]
315 silly decomposeActions refresh-package-json [email protected]
316 silly decomposeActions preinstall [email protected]
317 silly decomposeActions build [email protected]
318 silly decomposeActions install [email protected]
319 silly decomposeActions postinstall [email protected]
320 silly decomposeActions finalize [email protected]
321 silly decomposeActions refresh-package-json [email protected]
322 silly decomposeActions preinstall [email protected]
323 silly decomposeActions build [email protected]
324 silly decomposeActions install [email protected]
325 silly decomposeActions postinstall [email protected]
326 silly decomposeActions finalize [email protected]
327 silly decomposeActions refresh-package-json [email protected]
328 silly decomposeActions preinstall [email protected]
329 silly decomposeActions build [email protected]
330 silly decomposeActions install [email protected]
331 silly decomposeActions postinstall [email protected]
332 silly decomposeActions finalize [email protected]
333 silly decomposeActions refresh-package-json [email protected]
334 silly decomposeActions preinstall [email protected]
335 silly decomposeActions build [email protected]
336 silly decomposeActions install [email protected]
337 silly decomposeActions postinstall [email protected]
338 silly decomposeActions finalize [email protected]
339 silly decomposeActions refresh-package-json [email protected]
340 silly decomposeActions preinstall [email protected]
341 silly decomposeActions build [email protected]
342 silly decomposeActions install [email protected]
343 silly decomposeActions postinstall [email protected]
344 silly decomposeActions finalize [email protected]
345 silly decomposeActions refresh-package-json [email protected]
346 silly decomposeActions preinstall [email protected]
347 silly decomposeActions build [email protected]
348 silly decomposeActions install [email protected]
349 silly decomposeActions postinstall [email protected]
350 silly decomposeActions finalize [email protected]
351 silly decomposeActions refresh-package-json [email protected]
352 silly decomposeActions preinstall [email protected]
353 silly decomposeActions build [email protected]
354 silly decomposeActions install [email protected]
355 silly decomposeActions postinstall [email protected]
356 silly decomposeActions finalize [email protected]
357 silly decomposeActions refresh-package-json [email protected]
358 silly decomposeActions preinstall [email protected]
359 silly decomposeActions build [email protected]
360 silly decomposeActions install [email protected]
361 silly decomposeActions postinstall [email protected]
362 silly decomposeActions finalize [email protected]
363 silly decomposeActions refresh-package-json [email protected]
364 silly decomposeActions preinstall [email protected]
365 silly decomposeActions build [email protected]
366 silly decomposeActions install [email protected]
367 silly decomposeActions postinstall [email protected]
368 silly decomposeActions finalize [email protected]
369 silly decomposeActions refresh-package-json [email protected]
370 silly decomposeActions preinstall [email protected]
371 silly decomposeActions build [email protected]
372 silly decomposeActions install [email protected]
373 silly decomposeActions postinstall [email protected]
374 silly decomposeActions finalize [email protected]
375 silly decomposeActions refresh-package-json [email protected]
376 silly decomposeActions preinstall [email protected]
377 silly decomposeActions build [email protected]
378 silly decomposeActions install [email protected]
379 silly decomposeActions postinstall [email protected]
380 silly decomposeActions finalize [email protected]
381 silly decomposeActions refresh-package-json [email protected]
382 silly decomposeActions preinstall [email protected]
383 silly decomposeActions build [email protected]
384 silly decomposeActions install [email protected]
385 silly decomposeActions postinstall [email protected]
386 silly decomposeActions finalize [email protected]
387 silly decomposeActions refresh-package-json [email protected]
388 silly decomposeActions preinstall [email protected]
389 silly decomposeActions build [email protected]
390 silly decomposeActions install [email protected]
391 silly decomposeActions postinstall [email protected]
392 silly decomposeActions finalize [email protected]
393 silly decomposeActions refresh-package-json [email protected]
394 silly decomposeActions preinstall [email protected]
395 silly decomposeActions build [email protected]
396 silly decomposeActions install [email protected]
397 silly decomposeActions postinstall [email protected]
398 silly decomposeActions finalize [email protected]
399 silly decomposeActions refresh-package-json [email protected]
400 silly decomposeActions preinstall [email protected]
401 silly decomposeActions build [email protected]
402 silly decomposeActions install [email protected]
403 silly decomposeActions postinstall [email protected]
404 silly decomposeActions finalize [email protected]
405 silly decomposeActions refresh-package-json [email protected]
406 silly decomposeActions preinstall [email protected]
407 silly decomposeActions build [email protected]
408 silly decomposeActions install [email protected]
409 silly decomposeActions postinstall [email protected]
410 silly decomposeActions finalize [email protected]
411 silly decomposeActions refresh-package-json [email protected]
412 silly decomposeActions preinstall [email protected]
413 silly decomposeActions build [email protected]
414 silly decomposeActions install [email protected]
415 silly decomposeActions postinstall [email protected]
416 silly decomposeActions finalize [email protected]
417 silly decomposeActions refresh-package-json [email protected]
418 silly decomposeActions preinstall [email protected]
419 silly decomposeActions build [email protected]
420 silly decomposeActions install [email protected]
421 silly decomposeActions postinstall [email protected]
422 silly decomposeActions finalize [email protected]
423 silly decomposeActions refresh-package-json [email protected]
424 silly decomposeActions preinstall [email protected]
425 silly decomposeActions build [email protected]
426 silly decomposeActions install [email protected]
427 silly decomposeActions postinstall [email protected]
428 silly decomposeActions finalize [email protected]
429 silly decomposeActions refresh-package-json [email protected]
430 silly decomposeActions preinstall [email protected]
431 silly decomposeActions build [email protected]
432 silly decomposeActions install [email protected]
433 silly decomposeActions postinstall [email protected]
434 silly decomposeActions finalize [email protected]
435 silly decomposeActions refresh-package-json [email protected]
436 silly decomposeActions preinstall [email protected]
437 silly decomposeActions build [email protected]
438 silly decomposeActions install [email protected]
439 silly decomposeActions postinstall [email protected]
440 silly decomposeActions finalize [email protected]
441 silly decomposeActions refresh-package-json [email protected]
442 silly decomposeActions preinstall [email protected]
443 silly decomposeActions build [email protected]
444 silly decomposeActions install [email protected]
445 silly decomposeActions postinstall [email protected]
446 silly decomposeActions finalize [email protected]
447 silly decomposeActions refresh-package-json [email protected]
448 silly decomposeActions preinstall [email protected]
449 silly decomposeActions build [email protected]
450 silly decomposeActions install [email protected]
451 silly decomposeActions postinstall [email protected]
452 silly decomposeActions finalize [email protected]
453 silly decomposeActions refresh-package-json [email protected]
454 silly decomposeActions preinstall [email protected]
455 silly decomposeActions build [email protected]
456 silly decomposeActions install [email protected]
457 silly decomposeActions postinstall [email protected]
458 silly decomposeActions finalize [email protected]
459 silly decomposeActions refresh-package-json [email protected]
460 silly decomposeActions preinstall [email protected]
461 silly decomposeActions build [email protected]
462 silly decomposeActions install [email protected]
463 silly decomposeActions postinstall [email protected]
464 silly decomposeActions finalize [email protected]
465 silly decomposeActions refresh-package-json [email protected]
466 silly decomposeActions preinstall [email protected]
467 silly decomposeActions build [email protected]
468 silly decomposeActions install [email protected]
469 silly decomposeActions postinstall [email protected]
470 silly decomposeActions finalize [email protected]
471 silly decomposeActions refresh-package-json [email protected]
472 silly decomposeActions preinstall [email protected]
473 silly decomposeActions build [email protected]
474 silly decomposeActions install [email protected]
475 silly decomposeActions postinstall [email protected]
476 silly decomposeActions finalize [email protected]
477 silly decomposeActions refresh-package-json [email protected]
478 silly decomposeActions preinstall [email protected]
479 silly decomposeActions build [email protected]
480 silly decomposeActions install [email protected]
481 silly decomposeActions postinstall [email protected]
482 silly decomposeActions finalize [email protected]
483 silly decomposeActions refresh-package-json [email protected]
484 silly decomposeActions fetch [email protected]
485 silly decomposeActions extract [email protected]
486 silly decomposeActions preinstall [email protected]
487 silly decomposeActions build [email protected]
488 silly decomposeActions install [email protected]
489 silly decomposeActions postinstall [email protected]
490 silly decomposeActions finalize [email protected]
491 silly decomposeActions refresh-package-json [email protected]
492 silly decomposeActions fetch [email protected]
493 silly decomposeActions extract [email protected]
494 silly decomposeActions preinstall [email protected]
495 silly decomposeActions build [email protected]
496 silly decomposeActions install [email protected]
497 silly decomposeActions postinstall [email protected]
498 silly decomposeActions finalize [email protected]
499 silly decomposeActions refresh-package-json [email protected]
500 silly decomposeActions fetch [email protected]
501 silly decomposeActions extract [email protected]
502 silly decomposeActions preinstall [email protected]
503 silly decomposeActions build [email protected]
504 silly decomposeActions install [email protected]
505 silly decomposeActions postinstall [email protected]
506 silly decomposeActions finalize [email protected]
507 silly decomposeActions refresh-package-json [email protected]
508 silly install executeActions
509 silly doSerial global-install 420
510 verbose correctMkdir C:\Users\user\AppData\Roaming\npm-cache\_locks correctMkdir not in flight; initializing
511 verbose lock using C:\Users\user\AppData\Roaming\npm-cache\_locks\staging-bc42fd8f13821150.lock for C:\www\math\node_modules\.staging
512 silly doParallel extract 420
513 silly extract [email protected]
514 silly pacote trying re2@https://registry.npmjs.org/re2/-/re2-1.8.3.tgz by hash: sha512-XoRLf+8sA48DF1GvZV3EbpPd84KLWOrxVhV4vwOxf+tzvEOZmo58UqFAcnDeeDid8ZehgVnZNd9WLRDqDmK0vA==
515 silly extract [email protected]
516 silly pacote trying nan@https://registry.npmjs.org/nan/-/nan-2.12.1.tgz by hash: sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==
517 silly extract [email protected]
518 silly pacote trying fsevents@https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz by hash: sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==
519 silly pacote nan@https://registry.npmjs.org/nan/-/nan-2.12.1.tgz extracted to C:\www\math\node_modules\.staging\nan-7a0bb874 by content address 5401ms
520 silly pacote re2@https://registry.npmjs.org/re2/-/re2-1.8.3.tgz extracted to C:\www\math\node_modules\.staging\re2-5cc7fc07 by content address 17359ms
521 silly pacote fsevents@https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz extracted to C:\www\math\node_modules\.staging\fsevents-88fca1da by content address 60300ms
522 silly doReverseSerial unbuild 420
523 silly doSerial remove 420
524 silly doSerial move 420
525 silly doSerial finalize 420
526 silly finalize C:\www\math\node_modules\fsevents\node_modules\abbrev
527 silly finalize C:\www\math\node_modules\fsevents\node_modules\ansi-regex
528 silly finalize C:\www\math\node_modules\fsevents\node_modules\aproba
529 silly finalize C:\www\math\node_modules\fsevents\node_modules\balanced-match
530 silly finalize C:\www\math\node_modules\fsevents\node_modules\chownr
531 silly finalize C:\www\math\node_modules\fsevents\node_modules\code-point-at
532 silly finalize C:\www\math\node_modules\fsevents\node_modules\concat-map
533 silly finalize C:\www\math\node_modules\fsevents\node_modules\brace-expansion
534 silly finalize C:\www\math\node_modules\fsevents\node_modules\console-control-strings
535 silly finalize C:\www\math\node_modules\fsevents\node_modules\core-util-is
536 silly finalize C:\www\math\node_modules\fsevents\node_modules\deep-extend
537 silly finalize C:\www\math\node_modules\fsevents\node_modules\delegates
538 silly finalize C:\www\math\node_modules\fsevents\node_modules\detect-libc
539 silly finalize C:\www\math\node_modules\fsevents\node_modules\fs.realpath
540 silly finalize C:\www\math\node_modules\fsevents\node_modules\has-unicode
541 silly finalize C:\www\math\node_modules\fsevents\node_modules\inherits
542 silly finalize C:\www\math\node_modules\fsevents\node_modules\ini
543 silly finalize C:\www\math\node_modules\fsevents\node_modules\isarray
544 silly finalize C:\www\math\node_modules\fsevents\node_modules\minimatch
545 silly finalize C:\www\math\node_modules\fsevents\node_modules\ignore-walk
546 silly finalize C:\www\math\node_modules\fsevents\node_modules\minimist
547 silly finalize C:\www\math\node_modules\fsevents\node_modules\mkdirp
548 silly finalize C:\www\math\node_modules\fsevents\node_modules\ms
549 silly finalize C:\www\math\node_modules\fsevents\node_modules\debug
550 silly finalize C:\www\math\node_modules\fsevents\node_modules\npm-bundled
551 silly finalize C:\www\math\node_modules\fsevents\node_modules\npm-packlist
552 silly finalize C:\www\math\node_modules\fsevents\node_modules\number-is-nan
553 silly finalize C:\www\math\node_modules\fsevents\node_modules\is-fullwidth-code-point
554 silly finalize C:\www\math\node_modules\fsevents\node_modules\object-assign
555 silly finalize C:\www\math\node_modules\fsevents\node_modules\os-homedir
556 silly finalize C:\www\math\node_modules\fsevents\node_modules\os-tmpdir
557 silly finalize C:\www\math\node_modules\fsevents\node_modules\osenv
558 silly finalize C:\www\math\node_modules\fsevents\node_modules\nopt
559 silly finalize C:\www\math\node_modules\fsevents\node_modules\path-is-absolute
560 silly finalize C:\www\math\node_modules\fsevents\node_modules\process-nextick-args
561 silly finalize C:\www\math\node_modules\fsevents\node_modules\rc\node_modules\minimist
562 silly finalize C:\www\math\node_modules\fsevents\node_modules\safe-buffer
563 silly finalize C:\www\math\node_modules\fsevents\node_modules\safer-buffer
564 silly finalize C:\www\math\node_modules\fsevents\node_modules\iconv-lite
565 silly finalize C:\www\math\node_modules\fsevents\node_modules\sax
566 silly finalize C:\www\math\node_modules\fsevents\node_modules\needle
567 silly finalize C:\www\math\node_modules\fsevents\node_modules\semver
568 silly finalize C:\www\math\node_modules\fsevents\node_modules\set-blocking
569 silly finalize C:\www\math\node_modules\fsevents\node_modules\signal-exit
570 silly finalize C:\www\math\node_modules\fsevents\node_modules\string_decoder
571 silly finalize C:\www\math\node_modules\fsevents\node_modules\strip-ansi
572 silly finalize C:\www\math\node_modules\fsevents\node_modules\string-width
573 silly finalize C:\www\math\node_modules\fsevents\node_modules\strip-json-comments
574 silly finalize C:\www\math\node_modules\fsevents\node_modules\rc
575 silly finalize C:\www\math\node_modules\fsevents\node_modules\util-deprecate
576 silly finalize C:\www\math\node_modules\fsevents\node_modules\readable-stream
577 silly finalize C:\www\math\node_modules\fsevents\node_modules\are-we-there-yet
578 silly finalize C:\www\math\node_modules\fsevents\node_modules\wide-align
579 silly finalize C:\www\math\node_modules\fsevents\node_modules\gauge
580 silly finalize C:\www\math\node_modules\fsevents\node_modules\npmlog
581 silly finalize C:\www\math\node_modules\fsevents\node_modules\wrappy
582 silly finalize C:\www\math\node_modules\fsevents\node_modules\once
583 silly finalize C:\www\math\node_modules\fsevents\node_modules\inflight
584 silly finalize C:\www\math\node_modules\fsevents\node_modules\glob
585 silly finalize C:\www\math\node_modules\fsevents\node_modules\rimraf
586 silly finalize C:\www\math\node_modules\fsevents\node_modules\yallist
587 silly finalize C:\www\math\node_modules\fsevents\node_modules\minipass
588 silly finalize C:\www\math\node_modules\fsevents\node_modules\fs-minipass
589 silly finalize C:\www\math\node_modules\fsevents\node_modules\minizlib
590 silly finalize C:\www\math\node_modules\fsevents\node_modules\tar
591 silly finalize C:\www\math\node_modules\fsevents\node_modules\node-pre-gyp
592 silly finalize C:\www\math\node_modules\nan
593 silly finalize C:\www\math\node_modules\fsevents
594 silly finalize C:\www\math\node_modules\re2
595 silly doParallel refresh-package-json 420
596 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\abbrev
597 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\ansi-regex
598 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\aproba
599 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\balanced-match
600 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\chownr
601 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\code-point-at
602 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\concat-map
603 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\brace-expansion
604 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\console-control-strings
605 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\core-util-is
606 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\deep-extend
607 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\delegates
608 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\detect-libc
609 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\fs.realpath
610 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\has-unicode
611 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\inherits
612 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\ini
613 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\isarray
614 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\minimatch
615 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\ignore-walk
616 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\minimist
617 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\mkdirp
618 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\ms
619 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\debug
620 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\npm-bundled
621 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\npm-packlist
622 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\number-is-nan
623 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\is-fullwidth-code-point
624 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\object-assign
625 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\os-homedir
626 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\os-tmpdir
627 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\osenv
628 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\nopt
629 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\path-is-absolute
630 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\process-nextick-args
631 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\rc\node_modules\minimist
632 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\safe-buffer
633 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\safer-buffer
634 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\iconv-lite
635 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\sax
636 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\needle
637 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\semver
638 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\set-blocking
639 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\signal-exit
640 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\string_decoder
641 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\strip-ansi
642 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\string-width
643 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\strip-json-comments
644 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\rc
645 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\util-deprecate
646 silly refresh-package-json C:\www\math\node_modules\re2
647 silly refresh-package-json C:\www\math\node_modules\fsevents
648 silly refresh-package-json C:\www\math\node_modules\nan
649 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\node-pre-gyp
650 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\tar
651 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\minizlib
652 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\fs-minipass
653 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\minipass
654 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\yallist
655 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\rimraf
656 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\glob
657 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\inflight
658 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\once
659 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\wrappy
660 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\npmlog
661 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\gauge
662 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\wide-align
663 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\are-we-there-yet
664 silly refresh-package-json C:\www\math\node_modules\fsevents\node_modules\readable-stream
665 silly doParallel preinstall 420
666 silly preinstall [email protected]
667 info lifecycle [email protected]~preinstall: [email protected]
668 silly preinstall [email protected]
669 info lifecycle [email protected]~preinstall: [email protected]
670 silly doSerial build 420
671 silly build [email protected]
672 info linkStuff [email protected]
673 silly linkStuff [email protected] has C:\www\math\node_modules as its parent node_modules
674 verbose linkBins [email protected]
675 verbose linkMans [email protected]
676 silly build [email protected]
677 info linkStuff [email protected]
678 silly linkStuff [email protected] has C:\www\math\node_modules as its parent node_modules
679 verbose linkBins [email protected]
680 verbose linkMans [email protected]
681 silly doSerial global-link 420
682 silly doParallel update-linked 420
683 silly doSerial install 420
684 silly install [email protected]
685 info lifecycle [email protected]~install: [email protected]
686 silly install [email protected]
687 info lifecycle [email protected]~install: [email protected]
688 verbose lifecycle [email protected]~install: unsafe-perm in lifecycle true
689 verbose lifecycle [email protected]~install: PATH: C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\www\math\node_modules\re2\node_modules\.bin;C:\www\math\node_modules\.bin;C:\Python27\;C:\Python27\Scripts;C:\Program Files\Python36\Scripts\;C:\Program Files\Python36\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\wamp64\bin\php\php5.6.25;C:\ProgramData\ComposerSetup\bin;C:\Users\user\AppData\Local\Programs\Git\cmd;C:\Users\user\AppData\Local\Programs\Git\mingw64\bin;C:\Users\user\AppData\Local\Programs\Git\usr\bin;C:\Program Files\Microsoft VS Code\bin;C:\Program Files (x86)\Oberthur Technologies\AWP\Dlls;C:\Program Files\Oberthur Technologies\AWP\Dlls;C:\Users\user\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\apache-maven-3.3.9\bin;C:\Users\user\AppData\Roaming\Composer\vendor\bin;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Docker Toolbox;C:\Python27;C:\Users\user\AppData\Roaming\npm;C:\Users\user\AppData\Roaming\nvm;C:\Program Files\nodejs
690 verbose lifecycle [email protected]~install: CWD: C:\www\math\node_modules\re2
691 silly lifecycle [email protected]~install: Args: [ '/d /s /c', 'node-gyp rebuild' ]
692 silly lifecycle [email protected]~install: Returned: code: 1  signal: null
693 info lifecycle [email protected]~install: Failed to exec install script
694 verbose unlock done using C:\Users\user\AppData\Roaming\npm-cache\_locks\staging-bc42fd8f13821150.lock for C:\www\math\node_modules\.staging
695 silly saveTree [email protected]
695 silly saveTree +-- [email protected]
695 silly saveTree | +-- @babel/[email protected]
695 silly saveTree | | `-- @babel/[email protected]
695 silly saveTree | |   +-- [email protected]
695 silly saveTree | |   | +-- [email protected]
695 silly saveTree | |   | | `-- [email protected]
695 silly saveTree | |   | |   `-- [email protected]
695 silly saveTree | |   | +-- [email protected]
695 silly saveTree | |   | `-- [email protected]
695 silly saveTree | |   |   `-- [email protected]
695 silly saveTree | |   +-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | | `-- [email protected]
695 silly saveTree | | | |   +-- [email protected]
695 silly saveTree | | | |   +-- [email protected]
695 silly saveTree | | | |   | +-- [email protected]
695 silly saveTree | | | |   | | `-- [email protected]
695 silly saveTree | | | |   | `-- [email protected]
695 silly saveTree | | | |   +-- [email protected]
695 silly saveTree | | | |   +-- [email protected]
695 silly saveTree | | | |   | `-- [email protected]
695 silly saveTree | | | |   |   +-- [email protected]
695 silly saveTree | | | |   |   `-- [email protected]
695 silly saveTree | | | |   +-- [email protected]
695 silly saveTree | | | |   `-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | |     `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | | `-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | `-- [email protected]
695 silly saveTree +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | `-- [email protected]
695 silly saveTree +-- [email protected]
695 silly saveTree | `-- [email protected]
695 silly saveTree |   `-- [email protected]
695 silly saveTree +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | |   | `-- [email protected]
695 silly saveTree | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | |   `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | | |     +-- [email protected]
695 silly saveTree | | | | | | | | |     `-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | |     +-- [email protected]
695 silly saveTree | | | | | | | |     `-- [email protected]
695 silly saveTree | | | | | | | |       `-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | | | |   | `-- [email protected]
695 silly saveTree | | | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | | | |   | `-- [email protected]
695 silly saveTree | | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | |     +-- [email protected]
695 silly saveTree | | | | | | | |     +-- [email protected]
695 silly saveTree | | | | | | | |     `-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | |   +-- [email protected]
695 silly saveTree | | | | | | | |   `-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | `-- [email protected]
695 silly saveTree | | | | |   +-- [email protected]
695 silly saveTree | | | | |   | `-- [email protected]
695 silly saveTree | | | | |   |   +-- [email protected]
695 silly saveTree | | | | |   |   `-- [email protected]
695 silly saveTree | | | | |   +-- [email protected]
695 silly saveTree | | | | |   | `-- [email protected]
695 silly saveTree | | | | |   |   `-- [email protected]
695 silly saveTree | | | | |   `-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | |   +-- [email protected]
695 silly saveTree | | | | | |   `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | | `-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | +-- [email protected]
695 silly saveTree | | | | | | `-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | `-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | | +-- [email protected]
695 silly saveTree | | | | | `-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | +-- [email protected]
695 silly saveTree | | | | `-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | | `-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | | `-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   |   +-- [email protected]
695 silly saveTree | | |   |   `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | | `-- [email protected]
695 silly saveTree | | |   | |   `-- [email protected]
695 silly saveTree | | |   | |     +-- [email protected]
695 silly saveTree | | |   | |     `-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | `-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   +-- [email protected]
695 silly saveTree | | |   | |   `-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | | +-- [email protected]
695 silly saveTree | | |   | | | +-- [email protected]
695 silly saveTree | | |   | | | | `-- [email protected]
695 silly saveTree | | |   | | | `-- [email protected]
695 silly saveTree | | |   | | |   `-- [email protected]
695 silly saveTree | | |   | | +-- [email protected]
695 silly saveTree | | |   | | `-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | +-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   | `-- [email protected]
695 silly saveTree | | |   |   +-- [email protected]
695 silly saveTree | | |   |   +-- [email protected]
695 silly saveTree | | |   |   | +-- [email protected]
695 silly saveTree | | |   |   | | `-- [email protected]
695 silly saveTree | | |   |   | `-- [email protected]
695 silly saveTree | | |   |   +-- [email protected]
695 silly saveTree | | |   |   `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | |     +-- [email protected]
695 silly saveTree | | |     +-- [email protected]
695 silly saveTree | | |     | `-- [email protected]
695 silly saveTree | | |     |   `-- [email protected]
695 silly saveTree | | |     +-- [email protected]
695 silly saveTree | | |     +-- [email protected]
695 silly saveTree | | |     `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | +-- [email protected]
695 silly saveTree | | | | `-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | +-- [email protected]
695 silly saveTree | | | `-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   +-- [email protected]
695 silly saveTree | | |   `-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | +-- [email protected]
695 silly saveTree | | `-- [email protected]
695 silly saveTree | |   `-- [email protected]
695 silly saveTree | `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | | `-- [email protected]
695 silly saveTree |   | |   +-- [email protected]
695 silly saveTree |   | |   | `-- [email protected]
695 silly saveTree |   | |   |   +-- [email protected]
695 silly saveTree |   | |   |   `-- [email protected]
695 silly saveTree |   | |   +-- [email protected]
695 silly saveTree |   | |   +-- [email protected]
695 silly saveTree |   | |   +-- [email protected]
695 silly saveTree |   | |   +-- [email protected]
695 silly saveTree |   | |   `-- [email protected]
695 silly saveTree |   | `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | | `-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | | `-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | | `-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   | `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   | +-- [email protected]
695 silly saveTree |   | | `-- [email protected]
695 silly saveTree |   | `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   | `-- [email protected]
695 silly saveTree |   |   +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | | `-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | +-- [email protected]
695 silly saveTree |   |   | `-- [email protected]
695 silly saveTree |   |   |   `-- [email protected]
695 silly saveTree |   |   +-- [email protected]
695 silly saveTree |   |   | `-- [email protected]
695 silly saveTree |   |   |   +-- [email protected]
695 silly saveTree |   |   |   `-- [email protected]
695 silly saveTree |   |   `-- [email protected]
695 silly saveTree |   +-- [email protected]
695 silly saveTree |   `-- [email protected]
695 silly saveTree +-- [email protected]
695 silly saveTree `-- [email protected]
696 warn optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
697 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
698 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
698 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
698 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   win32
698 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
699 verbose stack Error: [email protected] install: `node-gyp rebuild`
699 verbose stack Exit status 1
699 verbose stack     at EventEmitter.<anonymous> (C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
699 verbose stack     at emitTwo (events.js:126:13)
699 verbose stack     at EventEmitter.emit (events.js:214:7)
699 verbose stack     at ChildProcess.<anonymous> (C:\Users\user\AppData\Roaming\nvm\v8.11.3\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
699 verbose stack     at emitTwo (events.js:126:13)
699 verbose stack     at ChildProcess.emit (events.js:214:7)
699 verbose stack     at maybeClose (internal/child_process.js:925:16)
699 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
700 verbose pkgid [email protected]
701 verbose cwd C:\www\math
702 verbose Windows_NT 6.1.7601
703 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "--save" "re2"
704 verbose node v8.11.3
705 verbose npm  v5.6.0
706 error code ELIFECYCLE
707 error errno 1
708 error [email protected] install: `node-gyp rebuild`
708 error Exit status 1
709 error Failed at the [email protected] install script.
709 error This is probably not a problem with npm. There is likely additional logging output above.
710 verbose exit [ 1, true ]

Multiple re2 installations cause a SIGABRT failure

I have a somewhat unusual situation with multiple installations of node-re2 in a single node process.

Here's a minimized directory structure that replicates the situation:

test-two-re2s
├── README.md
├── main.js
├── node_modules
│   ├── module-a
│   │   ├── index.js
│   │   ├── node_modules
│   │   │   └── re2
│   │   └── package.json
│   └── module-b
│       ├── index.js
│       ├── node_modules
│       │   └── re2
│       └── package.json
└── package.json

and a tarball of this setup: test-two-re2s.tar.gz

Running a script that requires both instances of re2 causes a SIGABRT:

± node main.js
node(92720,0x108e79dc0) malloc: *** error for object 0x102a484a0: pointer being freed was not allocated
node(92720,0x108e79dc0) malloc: *** set a breakpoint in malloc_error_break to debug
[1]    92720 abort      node main.js

lldb shows this occurs in node::Environment::RunCleanup(), but I don't have a debug build of node handy to examine this further:

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
    frame #0: 0x00007fff6785b33a libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
->  0x7fff6785b33a <+10>: jae    0x7fff6785b344            ; <+20>
    0x7fff6785b33c <+12>: movq   %rax, %rdi
    0x7fff6785b33f <+15>: jmp    0x7fff67855629            ; cerror_nocancel
    0x7fff6785b344 <+20>: retq
Target 0: (node) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
  * frame #0: 0x00007fff6785b33a libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007fff67917e60 libsystem_pthread.dylib`pthread_kill + 430
    frame #2: 0x00007fff677e2808 libsystem_c.dylib`abort + 120
    frame #3: 0x00007fff678d850b libsystem_malloc.dylib`malloc_vreport + 548
    frame #4: 0x00007fff678db40f libsystem_malloc.dylib`malloc_report + 151
    frame #5: 0x000000010003a8cc node`node::Environment::RunCleanup() + 164
    frame #6: 0x00000001000b67ee node`node::NodeMainInstance::Run() + 572
    frame #7: 0x000000010005dc1f node`node::Start(int, char**) + 294
    frame #8: 0x00007fff67713cc9 libdyld.dylib`start + 1
    frame #9: 0x00007fff67713cc9 libdyld.dylib`start + 1
(lldb)

I only ran into this error when upgrading from v1.10.x of node-re2 to v1.15.0.

I can try to rearrange my application's dependency tree to only have one re2 instance in the node process, but I wonder if there's a broader problem with how the module is registered?

Thanks for publishing this module!

Cannot build

I tried to clone and build. I'm using nvm.

(12:34:15) jamie@jamie-Lenovo-K450e /tmp $ git clone [email protected]:uhop/node-re2.git
Cloning into 'node-re2'...
remote: Counting objects: 582, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 582 (delta 0), reused 0 (delta 0), pack-reused 580
Receiving objects: 100% (582/582), 382.73 KiB | 0 bytes/s, done.
Resolving deltas: 100% (324/324), done.
Checking connectivity... done.
(12:34:18) jamie@jamie-Lenovo-K450e /tmp $ cd node-re2
(12:34:20) jamie@jamie-Lenovo-K450e /tmp/node-re2 $ npm install

> [email protected] install /tmp/node-re2
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entering directory '/tmp/node-re2/build'
  CXX(target) Release/obj.target/re2/lib/addon.o
  CXX(target) Release/obj.target/re2/lib/new.o
  CXX(target) Release/obj.target/re2/lib/exec.o
  CXX(target) Release/obj.target/re2/lib/test.o
  CXX(target) Release/obj.target/re2/lib/match.o
  CXX(target) Release/obj.target/re2/lib/replace.o
  CXX(target) Release/obj.target/re2/lib/search.o
  CXX(target) Release/obj.target/re2/lib/split.o
  CXX(target) Release/obj.target/re2/lib/to_string.o
  CXX(target) Release/obj.target/re2/lib/accessors.o
  CXX(target) Release/obj.target/re2/lib/util.o
make: *** No rule to make target 'Release/obj.target/re2/vendor/re2/bitstate.o', needed by 'Release/obj.target/re2.node'.  Stop.
make: Leaving directory '/tmp/node-re2/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/jamie/.nvm/versions/node/v6.10.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.8.0-49-generic
gyp ERR! command "/home/jamie/.nvm/versions/node/v6.10.0/bin/node" "/home/jamie/.nvm/versions/node/v6.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/node-re2
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

npm ERR! Linux 4.8.0-49-generic
npm ERR! argv "/home/jamie/.nvm/versions/node/v6.10.0/bin/node" "/home/jamie/.nvm/versions/node/v6.10.0/bin/npm" "install"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the re2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs re2
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls re2
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /tmp/node-re2/npm-debug.log

npm-debug.log.txt

Add .flags property

The RegExp class supports a flags property which returns the flags passed to the constructor, in a canonicalized order (see ECMAScript® 2015 Language Specification – Text Processing – RegExp (Regular Expression) Objects – Properties of the RegExp Prototype Object – get RegExp.prototype.flags).

The RE2 class doesn't support this property.

As for #21, if this property gets implemented, should it always include the u flag ? Only include it if it was passed to the constructor ? Or never include it ? (it would not pose BC problems as the property currently doesn't exist, as opposed to adding it to .toString())

Does not compile on windows since 1.13

Hi,

the current version does no longer compile on windows with latest node v12 lts.
See pr below for full error.

Most errors looks like: D:\\a\\renovate\\renovate\\node_modules\\re2\\vendor\\re2\\stringpiece.h(138,31): error C2589: '(': illegal token on right side of '::' (compiling source file ..\\lib\\addon.cc)

ref: renovatebot/renovate#6308

.source and .toString() don't do the proper escaping

The RegExp .source property and .toString() method escape the pattern in such a way that new RegExp(re.source, re.flags), eval('/' + re.source + '/' + re.flags) and eval(re.toString()) are all valid, and all give a RegExp with the same characteristics as re (see ECMAScript® 2015 Language Specification – Text Processing – RegExp (Regular Expression) Objects – The RegExp Constructor – Abstract Operations for the RegExp Constructor – Runtime Semantics: EscapeRegExpPattern ( P, F )).

The RE2 class doesn't do this, for example :

let re2 = new RE2('foo/bar', '');
re2.toString(); // '/foo/bar/'
let re = eval(re2.toString()); // SyntaxError: Invalid regular expression flags

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.