diff options
author | Marcus Klaas de Vries <[email protected]> | 2019-01-15 14:24:04 +0000 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2019-01-19 12:37:25 +0000 |
commit | afaa26636e4391ebacfc09e9c994c11bab58b834 (patch) | |
tree | 79d66f1d2eb70f3092285ab37f1e21c3832ea8b8 | |
parent | 0a82d9cdc975da27e78839e1a8cb873ba99ae64b (diff) |
Add additional pattern variants
-rw-r--r-- | crates/ra_hir/src/code_model_impl/function/scope.rs | 11 | ||||
-rw-r--r-- | crates/ra_hir/src/expr.rs | 67 | ||||
-rw-r--r-- | crates/ra_hir/src/ty.rs | 5 | ||||
-rw-r--r-- | crates/ra_hir/src/ty/tests.rs | 15 | ||||
-rw-r--r-- | crates/ra_syntax/src/ast/generated.rs | 12 | ||||
-rw-r--r-- | crates/ra_syntax/src/grammar.ron | 4 | ||||
-rw-r--r-- | editors/code/package-lock.json | 90 |
7 files changed, 142 insertions, 62 deletions
diff --git a/crates/ra_hir/src/code_model_impl/function/scope.rs b/crates/ra_hir/src/code_model_impl/function/scope.rs index afca1e9f8..c551e445a 100644 --- a/crates/ra_hir/src/code_model_impl/function/scope.rs +++ b/crates/ra_hir/src/code_model_impl/function/scope.rs | |||
@@ -47,9 +47,11 @@ impl FnScopes { | |||
47 | compute_expr_scopes(body.body_expr(), &body, &mut scopes, root); | 47 | compute_expr_scopes(body.body_expr(), &body, &mut scopes, root); |
48 | scopes | 48 | scopes |
49 | } | 49 | } |
50 | |||
50 | pub fn entries(&self, scope: ScopeId) -> &[ScopeEntry] { | 51 | pub fn entries(&self, scope: ScopeId) -> &[ScopeEntry] { |
51 | &self.scopes[scope].entries | 52 | &self.scopes[scope].entries |
52 | } | 53 | } |
54 | |||
53 | pub fn scope_chain_for<'a>(&'a self, expr: ExprId) -> impl Iterator<Item = ScopeId> + 'a { | 55 | pub fn scope_chain_for<'a>(&'a self, expr: ExprId) -> impl Iterator<Item = ScopeId> + 'a { |
54 | generate(self.scope_for(expr), move |&scope| { | 56 | generate(self.scope_for(expr), move |&scope| { |
55 | self.scopes[scope].parent | 57 | self.scopes[scope].parent |
@@ -76,12 +78,14 @@ impl FnScopes { | |||
76 | entries: vec![], | 78 | entries: vec![], |
77 | }) | 79 | }) |
78 | } | 80 | } |
81 | |||
79 | fn new_scope(&mut self, parent: ScopeId) -> ScopeId { | 82 | fn new_scope(&mut self, parent: ScopeId) -> ScopeId { |
80 | self.scopes.alloc(ScopeData { | 83 | self.scopes.alloc(ScopeData { |
81 | parent: Some(parent), | 84 | parent: Some(parent), |
82 | entries: vec![], | 85 | entries: vec![], |
83 | }) | 86 | }) |
84 | } | 87 | } |
88 | |||
85 | fn add_bindings(&mut self, body: &Body, scope: ScopeId, pat: PatId) { | 89 | fn add_bindings(&mut self, body: &Body, scope: ScopeId, pat: PatId) { |
86 | match &body[pat] { | 90 | match &body[pat] { |
87 | Pat::Bind { name } => self.scopes[scope].entries.push(ScopeEntry { | 91 | Pat::Bind { name } => self.scopes[scope].entries.push(ScopeEntry { |
@@ -91,15 +95,18 @@ impl FnScopes { | |||
91 | p => p.walk_child_pats(|pat| self.add_bindings(body, scope, pat)), | 95 | p => p.walk_child_pats(|pat| self.add_bindings(body, scope, pat)), |
92 | } | 96 | } |
93 | } | 97 | } |
98 | |||
94 | fn add_params_bindings(&mut self, scope: ScopeId, params: &[PatId]) { | 99 | fn add_params_bindings(&mut self, scope: ScopeId, params: &[PatId]) { |
95 | let body = Arc::clone(&self.body); | 100 | let body = Arc::clone(&self.body); |
96 | params | 101 | params |
97 | .into_iter() | 102 | .into_iter() |
98 | .for_each(|pat| self.add_bindings(&body, scope, *pat)); | 103 | .for_each(|pat| self.add_bindings(&body, scope, *pat)); |
99 | } | 104 | } |
105 | |||
100 | fn set_scope(&mut self, node: ExprId, scope: ScopeId) { | 106 | fn set_scope(&mut self, node: ExprId, scope: ScopeId) { |
101 | self.scope_for.insert(node, scope); | 107 | self.scope_for.insert(node, scope); |
102 | } | 108 | } |
109 | |||
103 | fn scope_for(&self, expr: ExprId) -> Option<ScopeId> { | 110 | fn scope_for(&self, expr: ExprId) -> Option<ScopeId> { |
104 | self.scope_for.get(&expr).map(|&scope| scope) | 111 | self.scope_for.get(&expr).map(|&scope| scope) |
105 | } | 112 | } |
@@ -121,6 +128,7 @@ impl ScopeEntryWithSyntax { | |||
121 | pub fn name(&self) -> &Name { | 128 | pub fn name(&self) -> &Name { |
122 | &self.name | 129 | &self.name |
123 | } | 130 | } |
131 | |||
124 | pub fn ptr(&self) -> LocalSyntaxPtr { | 132 | pub fn ptr(&self) -> LocalSyntaxPtr { |
125 | self.ptr | 133 | self.ptr |
126 | } | 134 | } |
@@ -132,6 +140,7 @@ impl ScopesWithSyntaxMapping { | |||
132 | self.scopes.scopes[scope].parent | 140 | self.scopes.scopes[scope].parent |
133 | }) | 141 | }) |
134 | } | 142 | } |
143 | |||
135 | pub fn scope_chain_for_offset<'a>( | 144 | pub fn scope_chain_for_offset<'a>( |
136 | &'a self, | 145 | &'a self, |
137 | offset: TextUnit, | 146 | offset: TextUnit, |
@@ -152,6 +161,7 @@ impl ScopesWithSyntaxMapping { | |||
152 | 161 | ||
153 | generate(scope, move |&scope| self.scopes.scopes[scope].parent) | 162 | generate(scope, move |&scope| self.scopes.scopes[scope].parent) |
154 | } | 163 | } |
164 | |||
155 | // XXX: during completion, cursor might be outside of any particular | 165 | // XXX: during completion, cursor might be outside of any particular |
156 | // expression. Try to figure out the correct scope... | 166 | // expression. Try to figure out the correct scope... |
157 | fn adjust(&self, ptr: LocalSyntaxPtr, original_scope: ScopeId, offset: TextUnit) -> ScopeId { | 167 | fn adjust(&self, ptr: LocalSyntaxPtr, original_scope: ScopeId, offset: TextUnit) -> ScopeId { |
@@ -225,6 +235,7 @@ impl ScopeEntry { | |||
225 | pub fn name(&self) -> &Name { | 235 | pub fn name(&self) -> &Name { |
226 | &self.name | 236 | &self.name |
227 | } | 237 | } |
238 | |||
228 | pub fn pat(&self) -> PatId { | 239 | pub fn pat(&self) -> PatId { |
229 | self.pat | 240 | self.pat |
230 | } | 241 | } |
diff --git a/crates/ra_hir/src/expr.rs b/crates/ra_hir/src/expr.rs index 6e98ebc69..8f7e75309 100644 --- a/crates/ra_hir/src/expr.rs +++ b/crates/ra_hir/src/expr.rs | |||
@@ -329,9 +329,25 @@ impl Expr { | |||
329 | pub struct PatId(RawId); | 329 | pub struct PatId(RawId); |
330 | impl_arena_id!(PatId); | 330 | impl_arena_id!(PatId); |
331 | 331 | ||
332 | /// Close relative to rustc's hir::PatKind | ||
332 | #[derive(Debug, Clone, Eq, PartialEq)] | 333 | #[derive(Debug, Clone, Eq, PartialEq)] |
333 | pub enum Pat { | 334 | pub enum Pat { |
334 | Missing, | 335 | Missing, // do we need this? |
336 | Wild, | ||
337 | Tuple(Vec<PatId>), | ||
338 | Struct, // TODO | ||
339 | Range { | ||
340 | start: ExprId, | ||
341 | end: ExprId, | ||
342 | }, | ||
343 | Box(PatId), | ||
344 | Slice { | ||
345 | prefix: Vec<PatId>, | ||
346 | rest: Option<PatId>, | ||
347 | suffix: Vec<PatId>, | ||
348 | }, | ||
349 | Path(Path), | ||
350 | Lit(ExprId), | ||
335 | Bind { | 351 | Bind { |
336 | name: Name, | 352 | name: Name, |
337 | }, | 353 | }, |
@@ -348,11 +364,25 @@ pub enum Pat { | |||
348 | impl Pat { | 364 | impl Pat { |
349 | pub fn walk_child_pats(&self, mut f: impl FnMut(PatId)) { | 365 | pub fn walk_child_pats(&self, mut f: impl FnMut(PatId)) { |
350 | match self { | 366 | match self { |
351 | Pat::Missing | Pat::Bind { .. } => {} | 367 | Pat::Range { .. } |
352 | Pat::TupleStruct { args, .. } => { | 368 | | Pat::Lit(..) |
369 | | Pat::Path(..) | ||
370 | | Pat::Wild | ||
371 | | Pat::Missing | ||
372 | | Pat::Bind { .. } => {} | ||
373 | Pat::Tuple(args) | Pat::TupleStruct { args, .. } => { | ||
353 | args.iter().map(|pat| *pat).for_each(f); | 374 | args.iter().map(|pat| *pat).for_each(f); |
354 | } | 375 | } |
355 | Pat::Ref { pat, .. } => f(*pat), | 376 | Pat::Ref { pat, .. } | Pat::Box(pat) => f(*pat), |
377 | Pat::Slice { | ||
378 | prefix, | ||
379 | rest, | ||
380 | suffix, | ||
381 | } => { | ||
382 | let total_iter = prefix.iter().chain(rest.iter()).chain(suffix.iter()); | ||
383 | total_iter.map(|pat| *pat).for_each(f); | ||
384 | } | ||
385 | Pat::Struct { .. } => {} // TODO | ||
356 | } | 386 | } |
357 | } | 387 | } |
358 | } | 388 | } |
@@ -745,30 +775,41 @@ impl ExprCollector { | |||
745 | } | 775 | } |
746 | 776 | ||
747 | fn collect_pat(&mut self, pat: &ast::Pat) -> PatId { | 777 | fn collect_pat(&mut self, pat: &ast::Pat) -> PatId { |
748 | let syntax_ptr = LocalSyntaxPtr::new(pat.syntax()); | 778 | let pattern = match pat.kind() { |
749 | match pat.kind() { | ||
750 | ast::PatKind::BindPat(bp) => { | 779 | ast::PatKind::BindPat(bp) => { |
751 | let name = bp | 780 | let name = bp |
752 | .name() | 781 | .name() |
753 | .map(|nr| nr.as_name()) | 782 | .map(|nr| nr.as_name()) |
754 | .unwrap_or_else(Name::missing); | 783 | .unwrap_or_else(Name::missing); |
755 | self.alloc_pat(Pat::Bind { name }, syntax_ptr) | 784 | Pat::Bind { name } |
756 | } | 785 | } |
757 | ast::PatKind::TupleStructPat(p) => { | 786 | ast::PatKind::TupleStructPat(p) => { |
758 | let path = p.path().and_then(Path::from_ast); | 787 | let path = p.path().and_then(Path::from_ast); |
759 | let args = p.args().map(|p| self.collect_pat(p)).collect(); | 788 | let args = p.args().map(|p| self.collect_pat(p)).collect(); |
760 | self.alloc_pat(Pat::TupleStruct { path, args }, syntax_ptr) | 789 | Pat::TupleStruct { path, args } |
761 | } | 790 | } |
762 | ast::PatKind::RefPat(p) => { | 791 | ast::PatKind::RefPat(p) => { |
763 | let pat = self.collect_pat_opt(p.pat()); | 792 | let pat = self.collect_pat_opt(p.pat()); |
764 | let mutability = Mutability::from_mutable(p.is_mut()); | 793 | let mutability = Mutability::from_mutable(p.is_mut()); |
765 | self.alloc_pat(Pat::Ref { pat, mutability }, syntax_ptr) | 794 | Pat::Ref { pat, mutability } |
766 | } | 795 | } |
767 | _ => { | 796 | ast::PatKind::PathPat(p) => { |
768 | // TODO | 797 | let path = p.path().and_then(Path::from_ast); |
769 | self.alloc_pat(Pat::Missing, syntax_ptr) | 798 | path.map(|path| Pat::Path(path)).unwrap_or(Pat::Missing) |
770 | } | 799 | } |
771 | } | 800 | ast::PatKind::TuplePat(p) => { |
801 | let args = p.args().map(|p| self.collect_pat(p)).collect(); | ||
802 | Pat::Tuple(args) | ||
803 | } | ||
804 | ast::PatKind::PlaceholderPat(_) => Pat::Wild, | ||
805 | // TODO: implement | ||
806 | ast::PatKind::FieldPatList(_) | ||
807 | | ast::PatKind::SlicePat(_) | ||
808 | | ast::PatKind::StructPat(_) | ||
809 | | ast::PatKind::RangePat(_) => Pat::Missing, | ||
810 | }; | ||
811 | let syntax_ptr = LocalSyntaxPtr::new(pat.syntax()); | ||
812 | self.alloc_pat(pattern, syntax_ptr) | ||
772 | } | 813 | } |
773 | 814 | ||
774 | fn collect_pat_opt(&mut self, pat: Option<&ast::Pat>) -> PatId { | 815 | fn collect_pat_opt(&mut self, pat: Option<&ast::Pat>) -> PatId { |
diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index c7c063601..854d3e3d9 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs | |||
@@ -1168,6 +1168,8 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
1168 | decl_ty | 1168 | decl_ty |
1169 | }; | 1169 | }; |
1170 | 1170 | ||
1171 | // TODO: walk the pattern here? | ||
1172 | |||
1171 | self.write_pat_ty(*pat, ty); | 1173 | self.write_pat_ty(*pat, ty); |
1172 | } | 1174 | } |
1173 | Statement::Expr(expr) => { | 1175 | Statement::Expr(expr) => { |
@@ -1188,6 +1190,9 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
1188 | for (type_ref, pat) in signature.params().iter().zip(body.params()) { | 1190 | for (type_ref, pat) in signature.params().iter().zip(body.params()) { |
1189 | let ty = self.make_ty(type_ref); | 1191 | let ty = self.make_ty(type_ref); |
1190 | let ty = self.insert_type_vars(ty); | 1192 | let ty = self.insert_type_vars(ty); |
1193 | |||
1194 | // TODO: walk pattern? | ||
1195 | |||
1191 | self.write_pat_ty(*pat, ty); | 1196 | self.write_pat_ty(*pat, ty); |
1192 | } | 1197 | } |
1193 | self.return_ty = { | 1198 | self.return_ty = { |
diff --git a/crates/ra_hir/src/ty/tests.rs b/crates/ra_hir/src/ty/tests.rs index a430cbe88..fc1e5b09c 100644 --- a/crates/ra_hir/src/ty/tests.rs +++ b/crates/ra_hir/src/ty/tests.rs | |||
@@ -358,6 +358,21 @@ fn test(x: &str, y: isize) { | |||
358 | ); | 358 | ); |
359 | } | 359 | } |
360 | 360 | ||
361 | #[test] | ||
362 | fn infer_pattern() { | ||
363 | check_inference( | ||
364 | r#" | ||
365 | fn test(x: &i32) { | ||
366 | let y = x; | ||
367 | let &z = x; | ||
368 | let a = z; | ||
369 | let (c, d) = (1, "hello"); | ||
370 | } | ||
371 | "#, | ||
372 | "pattern.txt", | ||
373 | ); | ||
374 | } | ||
375 | |||
361 | fn infer(content: &str) -> String { | 376 | fn infer(content: &str) -> String { |
362 | let (db, _, file_id) = MockDatabase::with_single_file(content); | 377 | let (db, _, file_id) = MockDatabase::with_single_file(content); |
363 | let source_file = db.source_file(file_id); | 378 | let source_file = db.source_file(file_id); |
diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs index 2d9603d90..2fd146bf1 100644 --- a/crates/ra_syntax/src/ast/generated.rs +++ b/crates/ra_syntax/src/ast/generated.rs | |||
@@ -2285,7 +2285,11 @@ impl AstNode for PathPat { | |||
2285 | } | 2285 | } |
2286 | 2286 | ||
2287 | 2287 | ||
2288 | impl PathPat {} | 2288 | impl PathPat { |
2289 | pub fn path(&self) -> Option<&Path> { | ||
2290 | super::child_opt(self) | ||
2291 | } | ||
2292 | } | ||
2289 | 2293 | ||
2290 | // PathSegment | 2294 | // PathSegment |
2291 | #[derive(Debug, PartialEq, Eq, Hash)] | 2295 | #[derive(Debug, PartialEq, Eq, Hash)] |
@@ -3219,7 +3223,11 @@ impl AstNode for TuplePat { | |||
3219 | } | 3223 | } |
3220 | 3224 | ||
3221 | 3225 | ||
3222 | impl TuplePat {} | 3226 | impl TuplePat { |
3227 | pub fn args(&self) -> impl Iterator<Item = &Pat> { | ||
3228 | super::children(self) | ||
3229 | } | ||
3230 | } | ||
3223 | 3231 | ||
3224 | // TupleStructPat | 3232 | // TupleStructPat |
3225 | #[derive(Debug, PartialEq, Eq, Hash)] | 3233 | #[derive(Debug, PartialEq, Eq, Hash)] |
diff --git a/crates/ra_syntax/src/grammar.ron b/crates/ra_syntax/src/grammar.ron index 2aaad46b1..b524c8aaf 100644 --- a/crates/ra_syntax/src/grammar.ron +++ b/crates/ra_syntax/src/grammar.ron | |||
@@ -490,14 +490,14 @@ Grammar( | |||
490 | "RefPat": ( options: [ "Pat" ]), | 490 | "RefPat": ( options: [ "Pat" ]), |
491 | "BindPat": ( traits: ["NameOwner"] ), | 491 | "BindPat": ( traits: ["NameOwner"] ), |
492 | "PlaceholderPat": (), | 492 | "PlaceholderPat": (), |
493 | "PathPat": (), | 493 | "PathPat": ( options: ["Path"] ), |
494 | "StructPat": (), | 494 | "StructPat": (), |
495 | "FieldPatList": (), | 495 | "FieldPatList": (), |
496 | "TupleStructPat": ( | 496 | "TupleStructPat": ( |
497 | options: ["Path"], | 497 | options: ["Path"], |
498 | collections: [["args", "Pat"]], | 498 | collections: [["args", "Pat"]], |
499 | ), | 499 | ), |
500 | "TuplePat": (), | 500 | "TuplePat": ( collections: [["args", "Pat"]] ), |
501 | "SlicePat": (), | 501 | "SlicePat": (), |
502 | "RangePat": (), | 502 | "RangePat": (), |
503 | 503 | ||
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json index 86313d4cc..a36fb2f1c 100644 --- a/editors/code/package-lock.json +++ b/editors/code/package-lock.json | |||
@@ -183,7 +183,7 @@ | |||
183 | "dependencies": { | 183 | "dependencies": { |
184 | "chalk": { | 184 | "chalk": { |
185 | "version": "1.1.3", | 185 | "version": "1.1.3", |
186 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | 186 | "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", |
187 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", | 187 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", |
188 | "dev": true, | 188 | "dev": true, |
189 | "requires": { | 189 | "requires": { |
@@ -348,7 +348,7 @@ | |||
348 | "dependencies": { | 348 | "dependencies": { |
349 | "readable-stream": { | 349 | "readable-stream": { |
350 | "version": "2.3.6", | 350 | "version": "2.3.6", |
351 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 351 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
352 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 352 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
353 | "dev": true, | 353 | "dev": true, |
354 | "requires": { | 354 | "requires": { |
@@ -363,7 +363,7 @@ | |||
363 | }, | 363 | }, |
364 | "string_decoder": { | 364 | "string_decoder": { |
365 | "version": "1.1.1", | 365 | "version": "1.1.1", |
366 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 366 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
367 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 367 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
368 | "dev": true, | 368 | "dev": true, |
369 | "requires": { | 369 | "requires": { |
@@ -425,7 +425,7 @@ | |||
425 | }, | 425 | }, |
426 | "css-select": { | 426 | "css-select": { |
427 | "version": "1.2.0", | 427 | "version": "1.2.0", |
428 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", | 428 | "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", |
429 | "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", | 429 | "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", |
430 | "dev": true, | 430 | "dev": true, |
431 | "requires": { | 431 | "requires": { |
@@ -461,7 +461,7 @@ | |||
461 | }, | 461 | }, |
462 | "deep-assign": { | 462 | "deep-assign": { |
463 | "version": "1.0.0", | 463 | "version": "1.0.0", |
464 | "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", | 464 | "resolved": "http://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", |
465 | "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", | 465 | "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", |
466 | "dev": true, | 466 | "dev": true, |
467 | "requires": { | 467 | "requires": { |
@@ -507,7 +507,7 @@ | |||
507 | "dependencies": { | 507 | "dependencies": { |
508 | "domelementtype": { | 508 | "domelementtype": { |
509 | "version": "1.1.3", | 509 | "version": "1.1.3", |
510 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", | 510 | "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", |
511 | "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", | 511 | "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", |
512 | "dev": true | 512 | "dev": true |
513 | } | 513 | } |
@@ -540,7 +540,7 @@ | |||
540 | }, | 540 | }, |
541 | "duplexer": { | 541 | "duplexer": { |
542 | "version": "0.1.1", | 542 | "version": "0.1.1", |
543 | "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", | 543 | "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", |
544 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", | 544 | "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", |
545 | "dev": true | 545 | "dev": true |
546 | }, | 546 | }, |
@@ -558,7 +558,7 @@ | |||
558 | "dependencies": { | 558 | "dependencies": { |
559 | "readable-stream": { | 559 | "readable-stream": { |
560 | "version": "2.3.6", | 560 | "version": "2.3.6", |
561 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 561 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
562 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 562 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
563 | "dev": true, | 563 | "dev": true, |
564 | "requires": { | 564 | "requires": { |
@@ -573,7 +573,7 @@ | |||
573 | }, | 573 | }, |
574 | "string_decoder": { | 574 | "string_decoder": { |
575 | "version": "1.1.1", | 575 | "version": "1.1.1", |
576 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 576 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
577 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 577 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
578 | "dev": true, | 578 | "dev": true, |
579 | "requires": { | 579 | "requires": { |
@@ -627,7 +627,7 @@ | |||
627 | }, | 627 | }, |
628 | "event-stream": { | 628 | "event-stream": { |
629 | "version": "3.3.4", | 629 | "version": "3.3.4", |
630 | "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", | 630 | "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", |
631 | "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", | 631 | "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", |
632 | "dev": true, | 632 | "dev": true, |
633 | "requires": { | 633 | "requires": { |
@@ -694,7 +694,7 @@ | |||
694 | "dependencies": { | 694 | "dependencies": { |
695 | "readable-stream": { | 695 | "readable-stream": { |
696 | "version": "2.3.6", | 696 | "version": "2.3.6", |
697 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 697 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
698 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 698 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
699 | "dev": true, | 699 | "dev": true, |
700 | "requires": { | 700 | "requires": { |
@@ -709,7 +709,7 @@ | |||
709 | }, | 709 | }, |
710 | "string_decoder": { | 710 | "string_decoder": { |
711 | "version": "1.1.1", | 711 | "version": "1.1.1", |
712 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 712 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
713 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 713 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
714 | "dev": true, | 714 | "dev": true, |
715 | "requires": { | 715 | "requires": { |
@@ -828,7 +828,7 @@ | |||
828 | "dependencies": { | 828 | "dependencies": { |
829 | "readable-stream": { | 829 | "readable-stream": { |
830 | "version": "2.3.6", | 830 | "version": "2.3.6", |
831 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 831 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
832 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 832 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
833 | "dev": true, | 833 | "dev": true, |
834 | "requires": { | 834 | "requires": { |
@@ -843,7 +843,7 @@ | |||
843 | }, | 843 | }, |
844 | "string_decoder": { | 844 | "string_decoder": { |
845 | "version": "1.1.1", | 845 | "version": "1.1.1", |
846 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 846 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
847 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 847 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
848 | "dev": true, | 848 | "dev": true, |
849 | "requires": { | 849 | "requires": { |
@@ -904,7 +904,7 @@ | |||
904 | }, | 904 | }, |
905 | "readable-stream": { | 905 | "readable-stream": { |
906 | "version": "1.0.34", | 906 | "version": "1.0.34", |
907 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", | 907 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", |
908 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", | 908 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", |
909 | "dev": true, | 909 | "dev": true, |
910 | "requires": { | 910 | "requires": { |
@@ -916,13 +916,13 @@ | |||
916 | }, | 916 | }, |
917 | "string_decoder": { | 917 | "string_decoder": { |
918 | "version": "0.10.31", | 918 | "version": "0.10.31", |
919 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", | 919 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", |
920 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", | 920 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", |
921 | "dev": true | 921 | "dev": true |
922 | }, | 922 | }, |
923 | "through2": { | 923 | "through2": { |
924 | "version": "0.6.5", | 924 | "version": "0.6.5", |
925 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", | 925 | "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", |
926 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", | 926 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", |
927 | "dev": true, | 927 | "dev": true, |
928 | "requires": { | 928 | "requires": { |
@@ -1192,7 +1192,7 @@ | |||
1192 | }, | 1192 | }, |
1193 | "is-obj": { | 1193 | "is-obj": { |
1194 | "version": "1.0.1", | 1194 | "version": "1.0.1", |
1195 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", | 1195 | "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", |
1196 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", | 1196 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", |
1197 | "dev": true | 1197 | "dev": true |
1198 | }, | 1198 | }, |
@@ -1319,7 +1319,7 @@ | |||
1319 | }, | 1319 | }, |
1320 | "kind-of": { | 1320 | "kind-of": { |
1321 | "version": "1.1.0", | 1321 | "version": "1.1.0", |
1322 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", | 1322 | "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", |
1323 | "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", | 1323 | "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", |
1324 | "dev": true | 1324 | "dev": true |
1325 | }, | 1325 | }, |
@@ -1334,7 +1334,7 @@ | |||
1334 | "dependencies": { | 1334 | "dependencies": { |
1335 | "readable-stream": { | 1335 | "readable-stream": { |
1336 | "version": "2.3.6", | 1336 | "version": "2.3.6", |
1337 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 1337 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
1338 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 1338 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
1339 | "dev": true, | 1339 | "dev": true, |
1340 | "requires": { | 1340 | "requires": { |
@@ -1349,7 +1349,7 @@ | |||
1349 | }, | 1349 | }, |
1350 | "string_decoder": { | 1350 | "string_decoder": { |
1351 | "version": "1.1.1", | 1351 | "version": "1.1.1", |
1352 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 1352 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
1353 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 1353 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
1354 | "dev": true, | 1354 | "dev": true, |
1355 | "requires": { | 1355 | "requires": { |
@@ -1384,7 +1384,7 @@ | |||
1384 | }, | 1384 | }, |
1385 | "map-stream": { | 1385 | "map-stream": { |
1386 | "version": "0.1.0", | 1386 | "version": "0.1.0", |
1387 | "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", | 1387 | "resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", |
1388 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", | 1388 | "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", |
1389 | "dev": true | 1389 | "dev": true |
1390 | }, | 1390 | }, |
@@ -1439,13 +1439,13 @@ | |||
1439 | }, | 1439 | }, |
1440 | "minimist": { | 1440 | "minimist": { |
1441 | "version": "0.0.8", | 1441 | "version": "0.0.8", |
1442 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | 1442 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", |
1443 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", | 1443 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", |
1444 | "dev": true | 1444 | "dev": true |
1445 | }, | 1445 | }, |
1446 | "mkdirp": { | 1446 | "mkdirp": { |
1447 | "version": "0.5.1", | 1447 | "version": "0.5.1", |
1448 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", | 1448 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", |
1449 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", | 1449 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", |
1450 | "dev": true, | 1450 | "dev": true, |
1451 | "requires": { | 1451 | "requires": { |
@@ -1618,7 +1618,7 @@ | |||
1618 | "dependencies": { | 1618 | "dependencies": { |
1619 | "readable-stream": { | 1619 | "readable-stream": { |
1620 | "version": "2.3.6", | 1620 | "version": "2.3.6", |
1621 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 1621 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
1622 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 1622 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
1623 | "dev": true, | 1623 | "dev": true, |
1624 | "requires": { | 1624 | "requires": { |
@@ -1633,7 +1633,7 @@ | |||
1633 | }, | 1633 | }, |
1634 | "string_decoder": { | 1634 | "string_decoder": { |
1635 | "version": "1.1.1", | 1635 | "version": "1.1.1", |
1636 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 1636 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
1637 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 1637 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
1638 | "dev": true, | 1638 | "dev": true, |
1639 | "requires": { | 1639 | "requires": { |
@@ -1644,13 +1644,13 @@ | |||
1644 | }, | 1644 | }, |
1645 | "os-homedir": { | 1645 | "os-homedir": { |
1646 | "version": "1.0.2", | 1646 | "version": "1.0.2", |
1647 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", | 1647 | "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", |
1648 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", | 1648 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", |
1649 | "dev": true | 1649 | "dev": true |
1650 | }, | 1650 | }, |
1651 | "os-tmpdir": { | 1651 | "os-tmpdir": { |
1652 | "version": "1.0.2", | 1652 | "version": "1.0.2", |
1653 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", | 1653 | "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", |
1654 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", | 1654 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", |
1655 | "dev": true | 1655 | "dev": true |
1656 | }, | 1656 | }, |
@@ -1666,7 +1666,7 @@ | |||
1666 | }, | 1666 | }, |
1667 | "parse-semver": { | 1667 | "parse-semver": { |
1668 | "version": "1.1.1", | 1668 | "version": "1.1.1", |
1669 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", | 1669 | "resolved": "http://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", |
1670 | "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", | 1670 | "integrity": "sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg=", |
1671 | "dev": true, | 1671 | "dev": true, |
1672 | "requires": { | 1672 | "requires": { |
@@ -1690,7 +1690,7 @@ | |||
1690 | }, | 1690 | }, |
1691 | "path-is-absolute": { | 1691 | "path-is-absolute": { |
1692 | "version": "1.0.1", | 1692 | "version": "1.0.1", |
1693 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | 1693 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", |
1694 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | 1694 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", |
1695 | "dev": true | 1695 | "dev": true |
1696 | }, | 1696 | }, |
@@ -1702,7 +1702,7 @@ | |||
1702 | }, | 1702 | }, |
1703 | "pause-stream": { | 1703 | "pause-stream": { |
1704 | "version": "0.0.11", | 1704 | "version": "0.0.11", |
1705 | "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", | 1705 | "resolved": "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", |
1706 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", | 1706 | "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", |
1707 | "dev": true, | 1707 | "dev": true, |
1708 | "requires": { | 1708 | "requires": { |
@@ -1955,7 +1955,7 @@ | |||
1955 | }, | 1955 | }, |
1956 | "split": { | 1956 | "split": { |
1957 | "version": "0.3.3", | 1957 | "version": "0.3.3", |
1958 | "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", | 1958 | "resolved": "http://registry.npmjs.org/split/-/split-0.3.3.tgz", |
1959 | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", | 1959 | "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", |
1960 | "dev": true, | 1960 | "dev": true, |
1961 | "requires": { | 1961 | "requires": { |
@@ -1964,7 +1964,7 @@ | |||
1964 | }, | 1964 | }, |
1965 | "sprintf-js": { | 1965 | "sprintf-js": { |
1966 | "version": "1.0.3", | 1966 | "version": "1.0.3", |
1967 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | 1967 | "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", |
1968 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | 1968 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", |
1969 | "dev": true | 1969 | "dev": true |
1970 | }, | 1970 | }, |
@@ -1993,7 +1993,7 @@ | |||
1993 | }, | 1993 | }, |
1994 | "stream-combiner": { | 1994 | "stream-combiner": { |
1995 | "version": "0.0.4", | 1995 | "version": "0.0.4", |
1996 | "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", | 1996 | "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", |
1997 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", | 1997 | "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", |
1998 | "dev": true, | 1998 | "dev": true, |
1999 | "requires": { | 1999 | "requires": { |
@@ -2017,7 +2017,7 @@ | |||
2017 | "dependencies": { | 2017 | "dependencies": { |
2018 | "readable-stream": { | 2018 | "readable-stream": { |
2019 | "version": "2.3.6", | 2019 | "version": "2.3.6", |
2020 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 2020 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
2021 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 2021 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
2022 | "dev": true, | 2022 | "dev": true, |
2023 | "requires": { | 2023 | "requires": { |
@@ -2032,7 +2032,7 @@ | |||
2032 | }, | 2032 | }, |
2033 | "string_decoder": { | 2033 | "string_decoder": { |
2034 | "version": "1.1.1", | 2034 | "version": "1.1.1", |
2035 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 2035 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
2036 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 2036 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
2037 | "dev": true, | 2037 | "dev": true, |
2038 | "requires": { | 2038 | "requires": { |
@@ -2058,7 +2058,7 @@ | |||
2058 | }, | 2058 | }, |
2059 | "strip-ansi": { | 2059 | "strip-ansi": { |
2060 | "version": "3.0.1", | 2060 | "version": "3.0.1", |
2061 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", | 2061 | "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", |
2062 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", | 2062 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", |
2063 | "dev": true, | 2063 | "dev": true, |
2064 | "requires": { | 2064 | "requires": { |
@@ -2073,7 +2073,7 @@ | |||
2073 | }, | 2073 | }, |
2074 | "tar": { | 2074 | "tar": { |
2075 | "version": "2.2.1", | 2075 | "version": "2.2.1", |
2076 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", | 2076 | "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz", |
2077 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", | 2077 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", |
2078 | "dev": true, | 2078 | "dev": true, |
2079 | "requires": { | 2079 | "requires": { |
@@ -2084,7 +2084,7 @@ | |||
2084 | }, | 2084 | }, |
2085 | "through": { | 2085 | "through": { |
2086 | "version": "2.3.8", | 2086 | "version": "2.3.8", |
2087 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", | 2087 | "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", |
2088 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", | 2088 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", |
2089 | "dev": true | 2089 | "dev": true |
2090 | }, | 2090 | }, |
@@ -2100,7 +2100,7 @@ | |||
2100 | "dependencies": { | 2100 | "dependencies": { |
2101 | "readable-stream": { | 2101 | "readable-stream": { |
2102 | "version": "2.3.6", | 2102 | "version": "2.3.6", |
2103 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 2103 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
2104 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 2104 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
2105 | "dev": true, | 2105 | "dev": true, |
2106 | "requires": { | 2106 | "requires": { |
@@ -2115,7 +2115,7 @@ | |||
2115 | }, | 2115 | }, |
2116 | "string_decoder": { | 2116 | "string_decoder": { |
2117 | "version": "1.1.1", | 2117 | "version": "1.1.1", |
2118 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 2118 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
2119 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 2119 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
2120 | "dev": true, | 2120 | "dev": true, |
2121 | "requires": { | 2121 | "requires": { |
@@ -2223,7 +2223,7 @@ | |||
2223 | }, | 2223 | }, |
2224 | "tunnel": { | 2224 | "tunnel": { |
2225 | "version": "0.0.4", | 2225 | "version": "0.0.4", |
2226 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", | 2226 | "resolved": "http://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", |
2227 | "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=", | 2227 | "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=", |
2228 | "dev": true | 2228 | "dev": true |
2229 | }, | 2229 | }, |
@@ -2254,7 +2254,7 @@ | |||
2254 | "dependencies": { | 2254 | "dependencies": { |
2255 | "underscore": { | 2255 | "underscore": { |
2256 | "version": "1.8.3", | 2256 | "version": "1.8.3", |
2257 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", | 2257 | "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", |
2258 | "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", | 2258 | "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", |
2259 | "dev": true | 2259 | "dev": true |
2260 | } | 2260 | } |
@@ -2397,7 +2397,7 @@ | |||
2397 | }, | 2397 | }, |
2398 | "readable-stream": { | 2398 | "readable-stream": { |
2399 | "version": "2.3.6", | 2399 | "version": "2.3.6", |
2400 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", | 2400 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", |
2401 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", | 2401 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", |
2402 | "dev": true, | 2402 | "dev": true, |
2403 | "requires": { | 2403 | "requires": { |
@@ -2412,7 +2412,7 @@ | |||
2412 | }, | 2412 | }, |
2413 | "string_decoder": { | 2413 | "string_decoder": { |
2414 | "version": "1.1.1", | 2414 | "version": "1.1.1", |
2415 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | 2415 | "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", |
2416 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | 2416 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", |
2417 | "dev": true, | 2417 | "dev": true, |
2418 | "requires": { | 2418 | "requires": { |