Skip to content

Commit 060b1e3

Browse files
committed
Internal: Bum JS Cookie version to 2.2.0 to support "secure" - refs BT#21289
1 parent 9da3f3b commit 060b1e3

File tree

7 files changed

+310
-33
lines changed

7 files changed

+310
-33
lines changed

app/Resources/public/assets/js-cookie/.bower.json

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
/*jshint node:true */
2+
'use strict';
3+
4+
module.exports = function (grunt) {
5+
6+
function encodingMiddleware(request, response, next) {
7+
var url = require('url').parse(request.url, true, true);
8+
var query = url.query;
9+
var pathname = url.pathname;
10+
11+
if (pathname !== '/encoding') {
12+
next();
13+
return;
14+
}
15+
16+
var cookieName = query.name;
17+
var cookieValue = query.value;
18+
19+
response.setHeader('content-type', 'application/json');
20+
response.end(JSON.stringify({
21+
name: cookieName,
22+
value: cookieValue
23+
}));
24+
}
25+
26+
grunt.initConfig({
27+
pkg: grunt.file.readJSON('package.json'),
28+
qunit: {
29+
all: {
30+
options: {
31+
urls: [
32+
'http://127.0.0.1:9998/',
33+
'http://127.0.0.1:9998/amd.html',
34+
'http://127.0.0.1:9998/environment-with-amd-and-umd.html',
35+
'http://127.0.0.1:9998/encoding.html?integration_baseurl=http://127.0.0.1:9998/'
36+
]
37+
}
38+
},
39+
},
40+
nodeunit: {
41+
all: 'test/node.js'
42+
},
43+
jshint: {
44+
options: {
45+
jshintrc: true
46+
},
47+
grunt: 'Gruntfile.js',
48+
source: 'src/**/*.js',
49+
tests: ['test/**/*.js', '!test/polyfill.js']
50+
},
51+
jscs: {
52+
options: {
53+
requireCommaBeforeLineBreak: true,
54+
requireLineFeedAtFileEnd: true,
55+
requireSemicolons: true,
56+
requireSpaceBeforeKeywords: ['else', 'while', 'catch'],
57+
requireSpaceAfterKeywords: true,
58+
requireSpaceAfterLineComment: true,
59+
requireSpaceBeforeBlockStatements: true,
60+
requireSpaceBeforeObjectValues: true,
61+
validateIndentation: '\t',
62+
validateLineBreaks: 'LF',
63+
validateQuoteMarks: true,
64+
disallowSpacesInsideArrayBrackets: 'all',
65+
disallowSpacesInsideParentheses: true,
66+
disallowTrailingWhitespace: true
67+
},
68+
grunt: 'Gruntfile.js',
69+
source: 'src/**/*.js',
70+
tests: ['test/**/*.js', '!test/polyfill.js']
71+
},
72+
uglify: {
73+
options: {
74+
compress: {
75+
unsafe: true
76+
},
77+
screwIE8: false,
78+
banner: '/*! <%= pkg.name %> v<%= pkg.version %> | <%= pkg.license %> */\n'
79+
},
80+
build: {
81+
files: {
82+
'build/js.cookie.min.js': 'src/js.cookie.js',
83+
'build/js.cookie-<%= pkg.version %>.min.js': 'src/js.cookie.js'
84+
}
85+
}
86+
},
87+
watch: {
88+
options: {
89+
livereload: true
90+
},
91+
files: '{src,test}/**/*.js',
92+
tasks: 'default'
93+
},
94+
compare_size: {
95+
files: [
96+
'build/js.cookie-<%= pkg.version %>.min.js',
97+
'src/js.cookie.js'
98+
],
99+
options: {
100+
compress: {
101+
gz: function (fileContents) {
102+
return require('gzip-js').zip(fileContents, {}).length;
103+
}
104+
}
105+
}
106+
},
107+
connect: {
108+
'build-qunit': {
109+
options: {
110+
port: 9998,
111+
base: ['.', 'test'],
112+
middleware: function (connect, options, middlewares) {
113+
middlewares.unshift(encodingMiddleware);
114+
return middlewares;
115+
}
116+
}
117+
},
118+
'build-sauce': {
119+
options: {
120+
port: 9999,
121+
base: ['.', 'test']
122+
}
123+
},
124+
tests: {
125+
options: {
126+
port: 10000,
127+
base: ['.', 'test'],
128+
open: 'http://127.0.0.1:10000',
129+
keepalive: true,
130+
livereload: true,
131+
middleware: function (connect, options, middlewares) {
132+
middlewares.unshift(encodingMiddleware);
133+
return middlewares;
134+
}
135+
}
136+
}
137+
},
138+
'saucelabs-qunit': {
139+
all: {
140+
options: {
141+
urls: ['http://127.0.0.1:9999'],
142+
testname: 'Sauce Test for js-cookie',
143+
build: process.env.TRAVIS_JOB_ID,
144+
pollInterval: 10000,
145+
statusCheckAttempts: 90,
146+
throttled: 3,
147+
browsers: (function () {
148+
var browsers = {
149+
'iOS': [{
150+
browserName: 'iphone',
151+
platform: 'OS X 10.10',
152+
version: '8.2',
153+
deviceName: 'iPhone Simulator'
154+
}, {
155+
browserName: 'iphone',
156+
platform: 'OS X 10.10',
157+
version: '8.2',
158+
deviceName: 'iPad Simulator'
159+
}],
160+
'android': [{
161+
browserName: 'android',
162+
platform: 'Linux',
163+
version: '5.1',
164+
deviceName: 'Android Emulator'
165+
}],
166+
'mac': [{
167+
browserName: 'safari',
168+
platform: 'OS X 10.10',
169+
version: '8.0'
170+
}, {
171+
browserName: 'safari',
172+
platform: 'OS X 10.11',
173+
version: '9.0'
174+
}, {
175+
browserName: 'safari',
176+
platform: 'OS X 10.11',
177+
version: '10.0'
178+
}, {
179+
browserName: 'safari',
180+
platform: 'OS X 10.12',
181+
version: '11.0'
182+
}, {
183+
browserName: 'firefox',
184+
platform: 'OS X 10.11',
185+
version: '56.0'
186+
}, {
187+
browserName: 'chrome',
188+
platform: 'OS X 10.10',
189+
version: '61.0'
190+
}],
191+
'windows7': [{
192+
browserName: 'internet explorer',
193+
platform: 'Windows 7',
194+
version: '11.0'
195+
}, {
196+
browserName: 'internet explorer',
197+
platform: 'Windows 7',
198+
version: '10.0'
199+
}, {
200+
browserName: 'internet explorer',
201+
platform: 'Windows 7',
202+
version: '9.0'
203+
}, {
204+
browserName: 'internet explorer',
205+
platform: 'Windows 7',
206+
version: '8.0'
207+
}],
208+
'linux': [{
209+
browserName: 'firefox',
210+
platform: 'Linux',
211+
version: '45.0'
212+
}, {
213+
browserName: 'chrome',
214+
platform: 'Linux',
215+
version: '48.0'
216+
}]
217+
};
218+
219+
var matrix = [];
220+
for (var os in browsers) {
221+
matrix = matrix.concat(browsers[os]);
222+
}
223+
return matrix;
224+
}())
225+
}
226+
}
227+
}
228+
});
229+
230+
// Loading dependencies
231+
for (var key in grunt.file.readJSON('package.json').devDependencies) {
232+
if (key !== 'grunt' && key.indexOf('grunt') === 0) {
233+
grunt.loadNpmTasks(key);
234+
}
235+
}
236+
237+
grunt.registerTask('saucelabs', ['connect:build-sauce', 'saucelabs-qunit']);
238+
grunt.registerTask('test', ['uglify', 'jshint', 'jscs', 'connect:build-qunit', 'qunit', 'nodeunit']);
239+
240+
grunt.registerTask('dev', ['test', 'compare_size']);
241+
grunt.registerTask('ci', ['test', 'saucelabs']);
242+
243+
grunt.registerTask('default', 'dev');
244+
};

app/Resources/public/assets/js-cookie/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<img src="https://cloud.githubusercontent.com/assets/835857/14581711/ba623018-0436-11e6-8fce-d2ccd4d379c9.gif">
33
</p>
44

5-
# JavaScript Cookie [![Build Status](https://travis-ci.org/js-cookie/js-cookie.svg?branch=master)](https://travis-ci.org/js-cookie/js-cookie) [![Code Climate](https://codeclimate.com/github/js-cookie/js-cookie.svg)](https://codeclimate.com/github/js-cookie/js-cookie)
5+
# JavaScript Cookie [![Build Status](https://travis-ci.org/js-cookie/js-cookie.svg?branch=master)](https://travis-ci.org/js-cookie/js-cookie) [![Code Climate](https://codeclimate.com/github/js-cookie/js-cookie.svg)](https://codeclimate.com/github/js-cookie/js-cookie) [![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/js-cookie/badge?style=rounded)](https://www.jsdelivr.com/package/npm/js-cookie)
66

77
A simple, lightweight JavaScript API for handling cookies
88

@@ -34,6 +34,12 @@ Download the script [here](https://github.com/js-cookie/js-cookie/blob/latest/sr
3434
<script src="/path/to/js.cookie.js"></script>
3535
```
3636

37+
Or include it via [jsDelivr CDN](https://www.jsdelivr.com/package/npm/js-cookie):
38+
39+
```html
40+
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
41+
```
42+
3743
**Do not include the script directly from GitHub (http://raw.github.com/...).** The file is being served as text/plain and as such being blocked
3844
in Internet Explorer on Windows 7 for instance (because of the wrong MIME type). Bottom line: GitHub is not a CDN.
3945

@@ -224,7 +230,7 @@ Either `true` or `false`, indicating if the cookie transmission requires a secur
224230
```javascript
225231
Cookies.set('name', 'value', { secure: true });
226232
Cookies.get('name'); // => 'value'
227-
Cookies.remove('name', { secure: true });
233+
Cookies.remove('name');
228234
```
229235

230236
## Converters
@@ -281,6 +287,7 @@ For vulnerability reports, send an e-mail to `jscookie at gmail dot com`
281287

282288
* Increment the "version" attribute of `package.json`
283289
* Increment the version number in the `src/js.cookie.js` file
290+
* If `major` bump, update jsDelivr CDN major version link on README
284291
* Commit with the message "Release version x.x.x"
285292
* Create version tag in git
286293
* Create a github release and upload the minified file
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"name": "js-cookie",
3+
"version": "2.2.0",
4+
"description": "A simple, lightweight JavaScript API for handling cookies",
5+
"main": "src/js.cookie.js",
6+
"directories": {
7+
"test": "test"
8+
},
9+
"keywords": [
10+
"jquery-plugin",
11+
"cookie",
12+
"cookies",
13+
"browser",
14+
"amd",
15+
"commonjs",
16+
"client",
17+
"js-cookie",
18+
"browserify"
19+
],
20+
"scripts": {
21+
"test": "grunt test"
22+
},
23+
"repository": {
24+
"type": "git",
25+
"url": "git://github.com/js-cookie/js-cookie.git"
26+
},
27+
"files": [
28+
"src/**/*.js",
29+
"SERVER_SIDE.md",
30+
"CONTRIBUTING.md"
31+
],
32+
"author": "Klaus Hartl",
33+
"license": "MIT",
34+
"devDependencies": {
35+
"grunt": "1.0.1",
36+
"grunt-compare-size": "0.4.2",
37+
"grunt-contrib-connect": "1.0.2",
38+
"grunt-contrib-jshint": "1.1.0",
39+
"grunt-contrib-nodeunit": "1.0.0",
40+
"grunt-contrib-qunit": "2.0.0",
41+
"grunt-contrib-uglify": "2.3.0",
42+
"grunt-contrib-watch": "1.0.0",
43+
"grunt-jscs": "3.0.1",
44+
"grunt-saucelabs": "9.0.0",
45+
"gzip-js": "0.3.2",
46+
"qunitjs": "1.23.1",
47+
"requirejs": "2.3.5"
48+
}
49+
}

app/Resources/public/assets/js-cookie/src/js.cookie.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* JavaScript Cookie v2.1.4
2+
* JavaScript Cookie v2.2.0
33
* https://github.com/js-cookie/js-cookie
44
*
55
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
@@ -109,7 +109,7 @@
109109
var parts = cookies[i].split('=');
110110
var cookie = parts.slice(1).join('=');
111111

112-
if (cookie.charAt(0) === '"') {
112+
if (!this.json && cookie.charAt(0) === '"') {
113113
cookie = cookie.slice(1, -1);
114114
}
115115

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
if [ -z "$SAUCE_ACCESS_KEY" ]; then
3+
npm test
4+
else
5+
grunt ci --verbose
6+
fi

0 commit comments

Comments
 (0)