Skip to content

Commit ddcbcf5

Browse files
authored
Merge pull request #1284 from Patternslib/thet/upgrade
Upgrade including dev 4, Jest 30
2 parents df01f02 + 5e0bfb9 commit ddcbcf5

15 files changed

Lines changed: 3885 additions & 4157 deletions

File tree

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ depends-parser: install
4646

4747

4848
# Unlink any linked dependencies before building a bundle.
49-
bundle-pre:
49+
# Also run parent @patternslib/dev `bundle-pre` (double colon `::`)
50+
bundle-pre::
5051
-$(YARN) unlink @patternslib/dev
5152
-$(YARN) unlink @patternslib/pat-content-mirror
5253
-$(YARN) unlink @patternslib/pat-doclock

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@
1212
"@fullcalendar/list": "^5.11.3",
1313
"@fullcalendar/luxon2": "^5.11.3",
1414
"@fullcalendar/timegrid": "^5.11.3",
15-
"@stomp/stompjs": "^7.1.1",
16-
"dompurify": "^3.2.6",
15+
"@stomp/stompjs": "^7.3.0",
16+
"dompurify": "^3.4.1",
1717
"highlight.js": "<11",
1818
"imagesloaded": "^4.1.4",
1919
"jquery": "^3.7.1",
2020
"jquery-jcrop": "^0.9.13",
21-
"luxon": "3.6.1",
21+
"luxon": "3.7.2",
2222
"marked": "^15.0.6",
2323
"masonry-layout": "^4.2.2",
2424
"moment": "^2.30.1",
25-
"moment-timezone": "^0.6.0",
25+
"moment-timezone": "^0.6.1",
2626
"photoswipe": "^4.1.3",
2727
"pikaday": "^1.8.0",
2828
"prettier": "^2.8.8",
@@ -36,14 +36,14 @@
3636
"tippy.js": "^6.3.7"
3737
},
3838
"devDependencies": {
39-
"@patternslib/dev": "^3.8.1",
39+
"@patternslib/dev": "^4.0.0",
4040
"@patternslib/pat-content-mirror": "^4.0.1",
4141
"@patternslib/pat-doclock": "^3.0.0",
4242
"@patternslib/pat-shopping-cart": "^3.0.0",
4343
"@patternslib/pat-sortable-table": "^3.1.0",
4444
"@patternslib/pat-tiptap": "^4.10.1",
4545
"@patternslib/pat-upload": "^3.1.1",
46-
"copy-webpack-plugin": "^13.0.0",
46+
"copy-webpack-plugin": "^14.0.0",
4747
"css.escape": "^1.5.1",
4848
"modernizr": "^3.13.1",
4949
"pegjs": "0.11.0-master.b7b87ea"

src/core/base.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ describe("pat-base: The Base class for patterns", function () {
133133
});
134134

135135
it("requires that patterns that extend it provide an object of properties", function () {
136-
expect(Base.extend).toThrowError(
136+
expect(Base.extend).toThrow(
137137
"Pattern configuration properties required when calling Base.extend"
138138
);
139139
});

src/core/mockup-parser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const parser = {
2222
options = this.getOptions(el.parentElement, pattern_name, options);
2323
}
2424
// collect all options from element
25-
let el_options = {};
25+
let el_options;
2626
// Use `getAttribute` over `dataset` because dataset uses camelCasing of data attributes.
2727
el_options = el.getAttribute(`data-pat-${pattern_name}`);
2828
if (el_options) {
@@ -47,7 +47,7 @@ const parser = {
4747
}
4848
return {
4949
...options,
50-
...el_options,
50+
...(el_options || {}),
5151
};
5252
},
5353
};

src/core/parser.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -296,13 +296,16 @@ class ArgumentParser {
296296
flag = part;
297297
}
298298
if (flag in this.parameters && this.parameters[flag].type === "boolean") {
299-
positional = false;
299+
positional = false; // eslint-disable-line no-useless-assignment
300300
this._set(opts, flag, sense);
301301
} else if (flag in this.enum_values) {
302-
positional = false;
302+
positional = false; // eslint-disable-line no-useless-assignment
303303
this._set(opts, this.enum_values[flag], flag);
304-
} else if (positional) this._set(opts, this.order[i], part);
305-
else {
304+
} else if (positional) {
305+
// TODO: This branch is always executed, the next else clause will never.
306+
// eslint complains about no-useless-assignment for `positional`.
307+
this._set(opts, this.order[i], part);
308+
} else {
306309
parts.unshift(part);
307310
break;
308311
}

src/core/registry.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ while ((match = disable_re.exec(window.location.search)) !== null) {
3333
log.info("Pattern disabled via url config:", match[1]);
3434
}
3535

36-
while ((match = dont_catch_re.exec(window.location.search)) !== null) {
36+
while (dont_catch_re.exec(window.location.search) !== null) {
3737
dont_catch = true;
3838
log.info("I will not catch init exceptions");
3939
}

src/core/utils.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -303,12 +303,12 @@ function addURLQueryParameter(fullURL, param, value) {
303303
*
304304
* Taken from http://stackoverflow.com/questions/7640270/adding-modify-query-string-get-variables-in-a-url-with-javascript
305305
*/
306-
var val = new RegExp("(\\?|\\&)" + param + "=.*?(?=(&|$))"),
307-
parts = fullURL.toString().split("#"),
308-
url = parts[0],
309-
hash = parts[1],
310-
qstring = /\?.+$/,
311-
newURL = url;
306+
const val = new RegExp("(\\?|\\&)" + param + "=.*?(?=(&|$))");
307+
const parts = fullURL.toString().split("#");
308+
const url = parts[0];
309+
const hash = parts[1];
310+
const qstring = /\?.+$/;
311+
let newURL;
312312
// Check if the parameter exists
313313
if (val.test(url)) {
314314
// if it does, replace it, using the captured group
@@ -415,7 +415,7 @@ function isElementInViewport(el, partial = false, offset = 0) {
415415
rec.top >= 0 &&
416416
rec.left >= 0 &&
417417
rec.bottom <=
418-
(window.innerHeight || document.documentElement.clientHeight) &&
418+
(window.innerHeight || document.documentElement.clientHeight) &&
419419
rec.right <= (window.innerWidth || document.documentElement.clientWidth)
420420
);
421421
}
@@ -530,7 +530,7 @@ function checkInputSupport(type, invalid_value) {
530530
/* Check input type support.
531531
* See: https://stackoverflow.com/a/10199306/1337474
532532
*/
533-
let support = false;
533+
let support;
534534
const input = document.createElement("input");
535535
input.setAttribute("type", type);
536536
support = input.type == type;
@@ -613,7 +613,7 @@ const isIE = () => {
613613
// See: https://stackoverflow.com/a/9851769/1337474
614614
// Internet Explorer 6-11
615615
// eslint-disable-next-line no-constant-binary-expression
616-
return /*@cc_on!@*/false || !!document.documentMode;
616+
return /*@cc_on!@*/ false || !!document.documentMode;
617617
};
618618

619619
const jqToNode = (el) => {

src/lib/depends_parse.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe("Depedency expression parser", function () {
3030
it("Can not do order comparison to string", function () {
3131
expect(function () {
3232
parser.parse("foo<bar");
33-
}).toThrowError('Expected number or whitespace but "b" found.');
33+
}).toThrow('Expected number or whitespace but "b" found.');
3434
});
3535

3636
it("Equality comparison with string", function () {

src/pat/calendar/calendar.test.js

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -176,31 +176,30 @@ describe("1 - Calendar tests", () => {
176176
await utils.timeout(1); // wait a tick for async to settle.
177177

178178
expect(title_el.innerHTML === title).toBeFalsy();
179-
title = title_el.innerHTML;
180179

180+
title = title_el.innerHTML;
181181
el.querySelector(".view-week").click();
182182
expect(title_el.innerHTML === title).toBeFalsy();
183-
title = title_el.innerHTML;
184183

184+
title = title_el.innerHTML;
185185
el.querySelector(".view-day").click();
186186
expect(title_el.innerHTML === title).toBeFalsy();
187-
title = title_el.innerHTML;
188187

188+
title = title_el.innerHTML;
189189
el.querySelector(".view-month").click();
190190
expect(title_el.innerHTML === title).toBeFalsy();
191-
title = title_el.innerHTML;
192191

192+
title = title_el.innerHTML;
193193
el.querySelector(".jump-next").click();
194194
expect(title_el.innerHTML === title).toBeFalsy();
195-
title = title_el.innerHTML;
196195

196+
title = title_el.innerHTML;
197197
el.querySelector(".jump-prev").click();
198198
expect(title_el.innerHTML === title).toBeFalsy();
199-
title = title_el.innerHTML;
200199

200+
title = title_el.innerHTML;
201201
el.querySelector(".jump-today").click();
202202
expect(title_el.innerHTML === title).toBeFalsy();
203-
title = title_el.innerHTML;
204203
});
205204

206205
it("Changes views when clicked", async () => {
@@ -507,31 +506,30 @@ describe("2 - Calendar tests with calendar controls outside pat-calendar", () =>
507506
await utils.timeout(1); // wait a tick for async to settle.
508507

509508
expect(title_el.innerHTML === title).toBeFalsy();
510-
title = title_el.innerHTML;
511509

510+
title = title_el.innerHTML;
512511
document.querySelector(".view-week").click();
513512
expect(title_el.innerHTML === title).toBeFalsy();
514-
title = title_el.innerHTML;
515513

514+
title = title_el.innerHTML;
516515
document.querySelector(".view-day").click();
517516
expect(title_el.innerHTML === title).toBeFalsy();
518-
title = title_el.innerHTML;
519517

518+
title = title_el.innerHTML;
520519
document.querySelector(".view-month").click();
521520
expect(title_el.innerHTML === title).toBeFalsy();
522-
title = title_el.innerHTML;
523521

522+
title = title_el.innerHTML;
524523
document.querySelector(".jump-next").click();
525524
expect(title_el.innerHTML === title).toBeFalsy();
526-
title = title_el.innerHTML;
527525

526+
title = title_el.innerHTML;
528527
document.querySelector(".jump-prev").click();
529528
expect(title_el.innerHTML === title).toBeFalsy();
530-
title = title_el.innerHTML;
531529

530+
title = title_el.innerHTML;
532531
document.querySelector(".jump-today").click();
533532
expect(title_el.innerHTML === title).toBeFalsy();
534-
title = title_el.innerHTML;
535533
});
536534

537535
it("2.2 - Changes views when clicked", async () => {
@@ -617,30 +615,29 @@ describe("3 - Calendar tests with calendar controls outside pat-calendar but tit
617615
await utils.timeout(1); // wait a tick for async to settle.
618616

619617
expect(title_el.innerHTML === title).toBeFalsy();
620-
title = title_el.innerHTML;
621618

619+
title = title_el.innerHTML;
622620
document.querySelector(".view-week").click();
623621
expect(title_el.innerHTML === title).toBeFalsy();
624-
title = title_el.innerHTML;
625622

623+
title = title_el.innerHTML;
626624
document.querySelector(".view-day").click();
627625
expect(title_el.innerHTML === title).toBeFalsy();
628-
title = title_el.innerHTML;
629626

627+
title = title_el.innerHTML;
630628
document.querySelector(".view-month").click();
631629
expect(title_el.innerHTML === title).toBeFalsy();
632-
title = title_el.innerHTML;
633630

631+
title = title_el.innerHTML;
634632
document.querySelector(".jump-next").click();
635633
expect(title_el.innerHTML === title).toBeFalsy();
636-
title = title_el.innerHTML;
637634

635+
title = title_el.innerHTML;
638636
document.querySelector(".jump-prev").click();
639637
expect(title_el.innerHTML === title).toBeFalsy();
640-
title = title_el.innerHTML;
641638

639+
title = title_el.innerHTML;
642640
document.querySelector(".jump-today").click();
643641
expect(title_el.innerHTML === title).toBeFalsy();
644-
title = title_el.innerHTML;
645642
});
646643
});

src/pat/checklist/checklist.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ export default Base.extend({
107107
},
108108

109109
find_checkboxes(ref_el, sel) {
110-
let chkbxs = [];
110+
let chkbxs;
111111
if (this.options.select.indexOf("#") === 0) {
112112
chkbxs = this.el.querySelectorAll(sel);
113113
} else {

0 commit comments

Comments
 (0)