qs 6.0.3 → 6.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.travis.yml CHANGED
@@ -1,69 +1,173 @@
1
1
  language: node_js
2
+ os:
3
+ - linux
2
4
  node_js:
3
- - "5.3"
4
- - "5.2"
5
- - "5.1"
6
- - "5.0"
7
- - "4.2"
8
- - "4.1"
9
- - "4.0"
5
+ - "7.7"
6
+ - "6.10"
7
+ - "5.12"
8
+ - "4.8"
10
9
  - "iojs-v3.3"
11
- - "iojs-v3.2"
12
- - "iojs-v3.1"
13
- - "iojs-v3.0"
14
10
  - "iojs-v2.5"
15
- - "iojs-v2.4"
16
- - "iojs-v2.3"
17
- - "iojs-v2.2"
18
- - "iojs-v2.1"
19
- - "iojs-v2.0"
20
11
  - "iojs-v1.8"
21
- - "iojs-v1.7"
22
- - "iojs-v1.6"
23
- - "iojs-v1.5"
24
- - "iojs-v1.4"
25
- - "iojs-v1.3"
26
- - "iojs-v1.2"
27
- - "iojs-v1.1"
28
- - "iojs-v1.0"
29
12
  - "0.12"
30
- - "0.11"
31
13
  - "0.10"
32
- - "0.9"
33
14
  - "0.8"
34
- - "0.6"
35
- - "0.4"
36
15
  before_install:
37
- - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
16
+ - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
38
17
  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
39
18
  script:
40
- - 'if [ "${TRAVIS_NODE_VERSION}" != "4.2" ]; then npm run tests-only ; else npm test ; fi'
19
+ - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
20
+ - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
21
+ - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
22
+ - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
41
23
  sudo: false
24
+ env:
25
+ - TEST=true
42
26
  matrix:
43
27
  fast_finish: true
44
- allow_failures:
28
+ include:
29
+ - node_js: "node"
30
+ env: PRETEST=true
31
+ - node_js: "4"
32
+ env: COVERAGE=true
33
+ - node_js: "7.6"
34
+ env: TEST=true ALLOW_FAILURE=true
35
+ - node_js: "7.5"
36
+ env: TEST=true ALLOW_FAILURE=true
37
+ - node_js: "7.4"
38
+ env: TEST=true ALLOW_FAILURE=true
39
+ - node_js: "7.3"
40
+ env: TEST=true ALLOW_FAILURE=true
41
+ - node_js: "7.2"
42
+ env: TEST=true ALLOW_FAILURE=true
43
+ - node_js: "7.1"
44
+ env: TEST=true ALLOW_FAILURE=true
45
+ - node_js: "7.0"
46
+ env: TEST=true ALLOW_FAILURE=true
47
+ - node_js: "6.9"
48
+ env: TEST=true ALLOW_FAILURE=true
49
+ - node_js: "6.8"
50
+ env: TEST=true ALLOW_FAILURE=true
51
+ - node_js: "6.7"
52
+ env: TEST=true ALLOW_FAILURE=true
53
+ - node_js: "6.6"
54
+ env: TEST=true ALLOW_FAILURE=true
55
+ - node_js: "6.5"
56
+ env: TEST=true ALLOW_FAILURE=true
57
+ - node_js: "6.4"
58
+ env: TEST=true ALLOW_FAILURE=true
59
+ - node_js: "6.3"
60
+ env: TEST=true ALLOW_FAILURE=true
61
+ - node_js: "6.2"
62
+ env: TEST=true ALLOW_FAILURE=true
63
+ - node_js: "6.1"
64
+ env: TEST=true ALLOW_FAILURE=true
65
+ - node_js: "6.0"
66
+ env: TEST=true ALLOW_FAILURE=true
67
+ - node_js: "5.11"
68
+ env: TEST=true ALLOW_FAILURE=true
69
+ - node_js: "5.10"
70
+ env: TEST=true ALLOW_FAILURE=true
71
+ - node_js: "5.9"
72
+ env: TEST=true ALLOW_FAILURE=true
73
+ - node_js: "5.8"
74
+ env: TEST=true ALLOW_FAILURE=true
75
+ - node_js: "5.7"
76
+ env: TEST=true ALLOW_FAILURE=true
77
+ - node_js: "5.6"
78
+ env: TEST=true ALLOW_FAILURE=true
79
+ - node_js: "5.5"
80
+ env: TEST=true ALLOW_FAILURE=true
81
+ - node_js: "5.4"
82
+ env: TEST=true ALLOW_FAILURE=true
83
+ - node_js: "5.3"
84
+ env: TEST=true ALLOW_FAILURE=true
45
85
  - node_js: "5.2"
86
+ env: TEST=true ALLOW_FAILURE=true
46
87
  - node_js: "5.1"
88
+ env: TEST=true ALLOW_FAILURE=true
47
89
  - node_js: "5.0"
90
+ env: TEST=true ALLOW_FAILURE=true
91
+ - node_js: "4.7"
92
+ env: TEST=true ALLOW_FAILURE=true
93
+ - node_js: "4.6"
94
+ env: TEST=true ALLOW_FAILURE=true
95
+ - node_js: "4.5"
96
+ env: TEST=true ALLOW_FAILURE=true
97
+ - node_js: "4.4"
98
+ env: TEST=true ALLOW_FAILURE=true
99
+ - node_js: "4.3"
100
+ env: TEST=true ALLOW_FAILURE=true
101
+ - node_js: "4.2"
102
+ env: TEST=true ALLOW_FAILURE=true
48
103
  - node_js: "4.1"
104
+ env: TEST=true ALLOW_FAILURE=true
49
105
  - node_js: "4.0"
106
+ env: TEST=true ALLOW_FAILURE=true
50
107
  - node_js: "iojs-v3.2"
108
+ env: TEST=true ALLOW_FAILURE=true
51
109
  - node_js: "iojs-v3.1"
110
+ env: TEST=true ALLOW_FAILURE=true
52
111
  - node_js: "iojs-v3.0"
112
+ env: TEST=true ALLOW_FAILURE=true
53
113
  - node_js: "iojs-v2.4"
114
+ env: TEST=true ALLOW_FAILURE=true
54
115
  - node_js: "iojs-v2.3"
116
+ env: TEST=true ALLOW_FAILURE=true
55
117
  - node_js: "iojs-v2.2"
118
+ env: TEST=true ALLOW_FAILURE=true
56
119
  - node_js: "iojs-v2.1"
120
+ env: TEST=true ALLOW_FAILURE=true
57
121
  - node_js: "iojs-v2.0"
122
+ env: TEST=true ALLOW_FAILURE=true
58
123
  - node_js: "iojs-v1.7"
124
+ env: TEST=true ALLOW_FAILURE=true
59
125
  - node_js: "iojs-v1.6"
126
+ env: TEST=true ALLOW_FAILURE=true
60
127
  - node_js: "iojs-v1.5"
128
+ env: TEST=true ALLOW_FAILURE=true
61
129
  - node_js: "iojs-v1.4"
130
+ env: TEST=true ALLOW_FAILURE=true
62
131
  - node_js: "iojs-v1.3"
132
+ env: TEST=true ALLOW_FAILURE=true
63
133
  - node_js: "iojs-v1.2"
134
+ env: TEST=true ALLOW_FAILURE=true
64
135
  - node_js: "iojs-v1.1"
136
+ env: TEST=true ALLOW_FAILURE=true
65
137
  - node_js: "iojs-v1.0"
138
+ env: TEST=true ALLOW_FAILURE=true
66
139
  - node_js: "0.11"
140
+ env: TEST=true ALLOW_FAILURE=true
67
141
  - node_js: "0.9"
142
+ env: TEST=true ALLOW_FAILURE=true
68
143
  - node_js: "0.6"
144
+ env: TEST=true ALLOW_FAILURE=true
69
145
  - node_js: "0.4"
146
+ env: TEST=true ALLOW_FAILURE=true
147
+ ##- node_js: "7"
148
+ #env: TEST=true
149
+ #os: osx
150
+ #- node_js: "6"
151
+ #env: TEST=true
152
+ #os: osx
153
+ #- node_js: "5"
154
+ #env: TEST=true
155
+ #os: osx
156
+ #- node_js: "4"
157
+ #env: TEST=true
158
+ #os: osx
159
+ #- node_js: "iojs"
160
+ #env: TEST=true
161
+ #os: osx
162
+ #- node_js: "0.12"
163
+ #env: TEST=true
164
+ #os: osx
165
+ #- node_js: "0.10"
166
+ #env: TEST=true
167
+ #os: osx
168
+ #- node_js: "0.8"
169
+ #env: TEST=true
170
+ #os: osx
171
+ allow_failures:
172
+ - os: osx
173
+ - env: TEST=true ALLOW_FAILURE=true
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ## **6.0.5**
2
+ - [Robustness] avoid `.push`, use `void`
3
+ - [readme] clarify `parseArrays` and `arrayLimit` documentation (#543)
4
+ - [readme] replace travis CI badge with shields.io check-runs badge
5
+
6
+ ## **6.0.4**
7
+ - [Fix] follow `allowPrototypes` option during merge (#201, #200)
8
+ - [Fix] chmod a-x
9
+ - [Fix] support keys starting with brackets (#202, #200)
10
+ - [Tests] up to `node` `v7.7`, `v6.10`,` v4.8`; disable osx builds since they block linux builds
11
+
1
12
  ## **6.0.3**
2
13
  - [Fix] ensure that `allowPrototypes: false` does not ever shadow Object.prototype properties
3
14
  - [Fix] Restore `dist` directory; will be removed in v7 (#148)
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A querystring parsing and stringifying library with some added security.
4
4
 
5
- [![Build Status](https://api.travis-ci.org/ljharb/qs.svg)](http://travis-ci.org/ljharb/qs)
5
+ [![Build Status](https://img.shields.io/github/check-runs/ljharb/qs/main)](https://github.com/ljharb/qs/actions)
6
6
 
7
7
  Lead Maintainer: [Jordan Harband](https://github.com/ljharb)
8
8
 
@@ -168,7 +168,7 @@ var withIndexedEmptyString = qs.parse('a[0]=b&a[1]=&a[2]=c');
168
168
  assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] });
169
169
  ```
170
170
 
171
- **qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will
171
+ **qs** will also limit arrays to a maximum of `20` elements. Any array members with an index of `20` or greater will
172
172
  instead be converted to an object with the index as the key:
173
173
 
174
174
  ```javascript
@@ -183,7 +183,7 @@ var withArrayLimit = qs.parse('a[1]=b', { arrayLimit: 0 });
183
183
  assert.deepEqual(withArrayLimit, { a: { '1': 'b' } });
184
184
  ```
185
185
 
186
- To disable array parsing entirely, set `parseArrays` to `false`.
186
+ To prevent array syntax (`a[]`, `a[0]`) from being parsed as arrays, set `parseArrays` to `false`.
187
187
 
188
188
  ```javascript
189
189
  var noParsingArrays = qs.parse('a[]=b', { parseArrays: false });
package/bower.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "qs",
3
3
  "main": "dist/qs.js",
4
- "version": "5.2.0",
5
4
  "homepage": "https://github.com/hapijs/qs",
6
5
  "authors": [
7
6
  "Nathan LaFreniere <quitlahok@gmail.com>"
package/component.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "qs",
3
3
  "repository": "hapijs/qs",
4
4
  "description": "query-string parser / stringifier with nesting support",
5
- "version": "6.0.3",
5
+ "version": "6.0.4",
6
6
  "keywords": ["querystring", "query", "parser"],
7
7
  "main": "lib/index.js",
8
8
  "scripts": [
@@ -0,0 +1,212 @@
1
+ body, html {
2
+ margin:0; padding: 0;
3
+ height: 100%;
4
+ }
5
+ body {
6
+ font-family: Helvetica Neue, Helvetica, Arial;
7
+ font-size: 14px;
8
+ color:#333;
9
+ }
10
+ .small { font-size: 12px; }
11
+ *, *:after, *:before {
12
+ -webkit-box-sizing:border-box;
13
+ -moz-box-sizing:border-box;
14
+ box-sizing:border-box;
15
+ }
16
+ h1 { font-size: 20px; margin: 0;}
17
+ h2 { font-size: 14px; }
18
+ pre {
19
+ font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
+ margin: 0;
21
+ padding: 0;
22
+ -moz-tab-size: 2;
23
+ -o-tab-size: 2;
24
+ tab-size: 2;
25
+ }
26
+ a { color:#0074D9; text-decoration:none; }
27
+ a:hover { text-decoration:underline; }
28
+ .strong { font-weight: bold; }
29
+ .space-top1 { padding: 10px 0 0 0; }
30
+ .pad2y { padding: 20px 0; }
31
+ .pad1y { padding: 10px 0; }
32
+ .pad2x { padding: 0 20px; }
33
+ .pad2 { padding: 20px; }
34
+ .pad1 { padding: 10px; }
35
+ .space-left2 { padding-left:55px; }
36
+ .space-right2 { padding-right:20px; }
37
+ .center { text-align:center; }
38
+ .clearfix { display:block; }
39
+ .clearfix:after {
40
+ content:'';
41
+ display:block;
42
+ height:0;
43
+ clear:both;
44
+ visibility:hidden;
45
+ }
46
+ .fl { float: left; }
47
+ @media only screen and (max-width:640px) {
48
+ .col3 { width:100%; max-width:100%; }
49
+ .hide-mobile { display:none!important; }
50
+ }
51
+
52
+ .quiet {
53
+ color: #7f7f7f;
54
+ color: rgba(0,0,0,0.5);
55
+ }
56
+ .quiet a { opacity: 0.7; }
57
+
58
+ .fraction {
59
+ font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
+ font-size: 10px;
61
+ color: #555;
62
+ background: #E8E8E8;
63
+ padding: 4px 5px;
64
+ border-radius: 3px;
65
+ vertical-align: middle;
66
+ }
67
+
68
+ div.path a:link, div.path a:visited { color: #333; }
69
+ table.coverage {
70
+ border-collapse: collapse;
71
+ margin: 10px 0 0 0;
72
+ padding: 0;
73
+ }
74
+
75
+ table.coverage td {
76
+ margin: 0;
77
+ padding: 0;
78
+ vertical-align: top;
79
+ }
80
+ table.coverage td.line-count {
81
+ text-align: right;
82
+ padding: 0 5px 0 20px;
83
+ }
84
+ table.coverage td.line-coverage {
85
+ text-align: right;
86
+ padding-right: 10px;
87
+ min-width:20px;
88
+ }
89
+
90
+ table.coverage td span.cline-any {
91
+ display: inline-block;
92
+ padding: 0 5px;
93
+ width: 100%;
94
+ }
95
+ .missing-if-branch {
96
+ display: inline-block;
97
+ margin-right: 5px;
98
+ border-radius: 3px;
99
+ position: relative;
100
+ padding: 0 4px;
101
+ background: #333;
102
+ color: yellow;
103
+ }
104
+
105
+ .skip-if-branch {
106
+ display: none;
107
+ margin-right: 10px;
108
+ position: relative;
109
+ padding: 0 4px;
110
+ background: #ccc;
111
+ color: white;
112
+ }
113
+ .missing-if-branch .typ, .skip-if-branch .typ {
114
+ color: inherit !important;
115
+ }
116
+ .coverage-summary {
117
+ border-collapse: collapse;
118
+ width: 100%;
119
+ }
120
+ .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
+ .keyline-all { border: 1px solid #ddd; }
122
+ .coverage-summary td, .coverage-summary th { padding: 10px; }
123
+ .coverage-summary tbody { border: 1px solid #bbb; }
124
+ .coverage-summary td { border-right: 1px solid #bbb; }
125
+ .coverage-summary td:last-child { border-right: none; }
126
+ .coverage-summary th {
127
+ text-align: left;
128
+ font-weight: normal;
129
+ white-space: nowrap;
130
+ }
131
+ .coverage-summary th.file { border-right: none !important; }
132
+ .coverage-summary th.pct { }
133
+ .coverage-summary th.pic,
134
+ .coverage-summary th.abs,
135
+ .coverage-summary td.pct,
136
+ .coverage-summary td.abs { text-align: right; }
137
+ .coverage-summary td.file { white-space: nowrap; }
138
+ .coverage-summary td.pic { min-width: 120px !important; }
139
+ .coverage-summary tfoot td { }
140
+
141
+ .coverage-summary .sorter {
142
+ height: 10px;
143
+ width: 7px;
144
+ display: inline-block;
145
+ margin-left: 0.5em;
146
+ background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
+ }
148
+ .coverage-summary .sorted .sorter {
149
+ background-position: 0 -20px;
150
+ }
151
+ .coverage-summary .sorted-desc .sorter {
152
+ background-position: 0 -10px;
153
+ }
154
+ .status-line { height: 10px; }
155
+ /* dark red */
156
+ .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
157
+ .low .chart { border:1px solid #C21F39 }
158
+ /* medium red */
159
+ .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
160
+ /* light red */
161
+ .low, .cline-no { background:#FCE1E5 }
162
+ /* light green */
163
+ .high, .cline-yes { background:rgb(230,245,208) }
164
+ /* medium green */
165
+ .cstat-yes { background:rgb(161,215,106) }
166
+ /* dark green */
167
+ .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
168
+ .high .chart { border:1px solid rgb(77,146,33) }
169
+
170
+
171
+ .medium .chart { border:1px solid #666; }
172
+ .medium .cover-fill { background: #666; }
173
+
174
+ .cbranch-no { background: yellow !important; color: #111; }
175
+
176
+ .cstat-skip { background: #ddd; color: #111; }
177
+ .fstat-skip { background: #ddd; color: #111 !important; }
178
+ .cbranch-skip { background: #ddd !important; color: #111; }
179
+
180
+ span.cline-neutral { background: #eaeaea; }
181
+ .medium { background: #eaeaea; }
182
+
183
+ .cover-fill, .cover-empty {
184
+ display:inline-block;
185
+ height: 12px;
186
+ }
187
+ .chart {
188
+ line-height: 0;
189
+ }
190
+ .cover-empty {
191
+ background: white;
192
+ }
193
+ .cover-full {
194
+ border-right: none !important;
195
+ }
196
+ pre.prettyprint {
197
+ border: none !important;
198
+ padding: 0 !important;
199
+ margin: 0 !important;
200
+ }
201
+ .com { color: #999 !important; }
202
+ .ignore-none { color: #999; font-weight: normal; }
203
+
204
+ .wrapper {
205
+ min-height: 100%;
206
+ height: auto !important;
207
+ height: 100%;
208
+ margin: 0 auto -48px;
209
+ }
210
+ .footer, .push {
211
+ height: 48px;
212
+ }