swup 4.5.0 → 4.5.2

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.
@@ -248,14 +248,14 @@ export declare class Hooks {
248
248
  * @param registrations The registrations (handler + options) to execute
249
249
  * @param args Arguments to pass to the handler
250
250
  */
251
- protected run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>;
251
+ protected run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>, rethrow: true): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>;
252
252
  protected run<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): Promise<unknown[]>;
253
253
  /**
254
254
  * Execute the handlers for a hook, in order, without `await`ing any returned `Promise`s.
255
255
  * @param registrations The registrations (handler + options) to execute
256
256
  * @param args Arguments to pass to the handler
257
257
  */
258
- protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>): ReturnType<HookDefaultHandler<T>>[];
258
+ protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>, rethrow: true): ReturnType<HookDefaultHandler<T>>[];
259
259
  protected runSync<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): unknown[];
260
260
  /**
261
261
  * Get all registered handlers for a hook, sorted by priority and registration order.
@@ -1 +1 @@
1
- {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../../src/modules/Hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../../src/modules/Hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderPage.d.ts","sourceRoot":"","sources":["../../../src/modules/renderPage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,SAAyB,IAAI,SAAS,KAAK,QAAQ,QAAQ,KAAG,QAAQ,IAAI,CA2ChG,CAAC"}
1
+ {"version":3,"file":"renderPage.d.ts","sourceRoot":"","sources":["../../../src/modules/renderPage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,UAAU,SAAyB,IAAI,SAAS,KAAK,QAAQ,QAAQ,KAAG,QAAQ,IAAI,CAyChG,CAAC"}
@@ -10,10 +10,9 @@ export declare function isPromise<T>(obj: unknown): obj is PromiseLike<T>;
10
10
  export declare function runAsPromise(func: Function, args?: unknown[]): Promise<unknown>;
11
11
  /**
12
12
  * Force a layout reflow, e.g. after adding classnames
13
- * @returns The offset height, just here so it doesn't get optimized away by the JS engine
14
13
  * @see https://stackoverflow.com/a/21665117/3759615
15
14
  */
16
- export declare function forceReflow(element?: HTMLElement): number;
15
+ export declare function forceReflow(element?: HTMLElement): void;
17
16
  /** Escape a string with special chars to not break CSS selectors. */
18
17
  export declare const escapeCssIdentifier: (ident: string) => string;
19
18
  /** Fix for Chrome below v61 formatting CSS floats with comma in some locales. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,eAAO,MAAM,KAAK,aAAc,MAAM,YAAW,QAAQ,GAAG,OAAO,uBAElE,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,aACV,MAAM,YACP,QAAQ,GAAG,OAAO,KACzB,WAAW,EAEb,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,QAAQ,QAAO,QAAQ,IAAI,CAQvC,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAMhE;AAED,wFAAwF;AAExF,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CASnF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,UAGhD;AAED,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,UAAW,MAAM,WAMhD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,IAAI,MAAO,MAAM,WAE7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,eAAO,MAAM,KAAK,aAAc,MAAM,YAAW,QAAQ,GAAG,OAAO,uBAElE,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,aACV,MAAM,YACP,QAAQ,GAAG,OAAO,KACzB,WAAW,EAEb,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,QAAQ,QAAO,QAAQ,IAAI,CAQvC,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAMhE;AAED,wFAAwF;AAExF,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CASnF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAGvD;AAED,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,UAAW,MAAM,WAMhD,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,IAAI,MAAO,MAAM,WAE7B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "swup",
3
3
  "amdName": "Swup",
4
- "version": "4.5.0",
4
+ "version": "4.5.2",
5
5
  "description": "Versatile and extensible page transition library for server-rendered websites",
6
6
  "type": "module",
7
7
  "source": "./src/Swup.ts",
@@ -73,17 +73,17 @@
73
73
  "@typescript-eslint/parser": "^6.3.0",
74
74
  "eslint": "^8.46.0",
75
75
  "eslint-config-prettier": "^9.0.0",
76
- "eslint-plugin-prettier": "^4.2.1",
76
+ "eslint-plugin-prettier": "^5.0.1",
77
77
  "husky": "^8.0.0",
78
78
  "istanbul-lib-coverage": "^3.2.0",
79
- "jsdom": "^22.1.0",
79
+ "jsdom": "^23.0.1",
80
80
  "microbundle": "^0.15.0",
81
81
  "nyc": "^15.1.0",
82
- "prettier": "^2.8.2",
82
+ "prettier": "^3.1.0",
83
83
  "serve": "^14.2.1",
84
84
  "typed-query-selector": "^2.11.0",
85
85
  "typescript": "^5.2.2",
86
- "vitest": "^0.34.3"
86
+ "vitest": "^1.0.2"
87
87
  },
88
88
  "collective": {
89
89
  "type": "opencollective",
package/src/Swup.ts CHANGED
@@ -154,7 +154,7 @@ export default class Swup {
154
154
  this.hooks = new Hooks(this);
155
155
  this.visit = this.createVisit({ to: '' });
156
156
 
157
- this.currentHistoryIndex = (history.state as HistoryState)?.index ?? 1;
157
+ this.currentHistoryIndex = (window.history.state as HistoryState)?.index ?? 1;
158
158
 
159
159
  if (!this.checkRequirements()) {
160
160
  return;
@@ -197,7 +197,7 @@ export default class Swup {
197
197
  this.options.plugins.forEach((plugin) => this.use(plugin));
198
198
 
199
199
  // Create initial history record
200
- if ((history.state as HistoryState)?.source !== 'swup') {
200
+ if ((window.history.state as HistoryState)?.source !== 'swup') {
201
201
  updateHistoryRecord(null, { index: this.currentHistoryIndex });
202
202
  }
203
203
 
@@ -326,7 +326,7 @@ export default class Swup {
326
326
  }
327
327
 
328
328
  protected handlePopState(event: PopStateEvent) {
329
- const href: string = (event.state as HistoryState)?.url ?? location.href;
329
+ const href: string = (event.state as HistoryState)?.url ?? window.location.href;
330
330
 
331
331
  // Exit early if this event should be ignored
332
332
  if (this.options.skipPopStateHandling(event)) {
@@ -1,4 +1,4 @@
1
1
  /** Get the current page URL: path name + query params. Optionally including hash. */
2
2
  export const getCurrentUrl = ({ hash }: { hash?: boolean } = {}): string => {
3
- return location.pathname + location.search + (hash ? location.hash : '');
3
+ return window.location.pathname + window.location.search + (hash ? window.location.hash : '');
4
4
  };
@@ -19,13 +19,13 @@ export const createHistoryRecord = (url: string, data: HistoryData = {}): void =
19
19
  source: 'swup',
20
20
  ...data
21
21
  };
22
- history.pushState(state, '', url);
22
+ window.history.pushState(state, '', url);
23
23
  };
24
24
 
25
25
  /** Update the current history record with a custom swup identifier. */
26
26
  export const updateHistoryRecord = (url: string | null = null, data: HistoryData = {}): void => {
27
27
  url = url || getCurrentUrl({ hash: true });
28
- const currentState = (history.state as HistoryState) || {};
28
+ const currentState = (window.history.state as HistoryState) || {};
29
29
  const state: HistoryState = {
30
30
  ...currentState,
31
31
  url,
@@ -33,5 +33,5 @@ export const updateHistoryRecord = (url: string | null = null, data: HistoryData
33
33
  source: 'swup',
34
34
  ...data
35
35
  };
36
- history.replaceState(state, '', url);
36
+ window.history.replaceState(state, '', url);
37
37
  };
@@ -354,7 +354,7 @@ export class Hooks {
354
354
 
355
355
  const { before, handler, after } = this.getHandlers(hook, defaultHandler);
356
356
  await this.run(before, visit, args);
357
- const [result] = await this.run(handler, visit, args);
357
+ const [result] = await this.run(handler, visit, args, true);
358
358
  await this.run(after, visit, args);
359
359
  this.dispatchDomEvent(hook, visit, args);
360
360
  return result;
@@ -383,7 +383,7 @@ export class Hooks {
383
383
  const [visit, args, defaultHandler] = this.parseCallArgs(hook, arg1, arg2, arg3);
384
384
  const { before, handler, after } = this.getHandlers(hook, defaultHandler);
385
385
  this.runSync(before, visit, args);
386
- const [result] = this.runSync(handler, visit, args);
386
+ const [result] = this.runSync(handler, visit, args, true);
387
387
  this.runSync(after, visit, args);
388
388
  this.dispatchDomEvent(hook, visit, args);
389
389
  return result;
@@ -416,25 +416,30 @@ export class Hooks {
416
416
  */
417
417
 
418
418
  // Overload: running HookDefaultHandler: expect HookDefaultHandler return type
419
- protected async run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>; // prettier-ignore
419
+ protected async run<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>, rethrow: true): Promise<Awaited<ReturnType<HookDefaultHandler<T>>>[]>; // prettier-ignore
420
420
  // Overload: running user handler: expect no specific type
421
421
  protected async run<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): Promise<unknown[]>; // prettier-ignore
422
422
  // Implementation
423
423
  protected async run<T extends HookName, R extends HookRegistration<T>[]>(
424
424
  registrations: R,
425
- visit: Visit | undefined,
426
- args: HookArguments<T>
425
+ visit: Visit | undefined = this.swup.visit,
426
+ args: HookArguments<T>,
427
+ rethrow: boolean = false
427
428
  ): Promise<Awaited<ReturnType<HookDefaultHandler<T>>> | unknown[]> {
428
429
  const results = [];
429
430
  for (const { hook, handler, defaultHandler, once } of registrations) {
430
431
  if (visit?.done) continue;
431
432
  if (once) this.off(hook, handler);
432
- const result = await runAsPromise(handler, [
433
- visit || this.swup.visit,
434
- args,
435
- defaultHandler
436
- ]);
437
- results.push(result);
433
+ try {
434
+ const result = await runAsPromise(handler, [visit, args, defaultHandler]);
435
+ results.push(result);
436
+ } catch (error) {
437
+ if (rethrow) {
438
+ throw error;
439
+ } else {
440
+ console.error(`Error in hook '${hook}':`, error);
441
+ }
442
+ }
438
443
  }
439
444
  return results;
440
445
  }
@@ -446,26 +451,34 @@ export class Hooks {
446
451
  */
447
452
 
448
453
  // Overload: running HookDefaultHandler: expect HookDefaultHandler return type
449
- protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T> ): ReturnType<HookDefaultHandler<T>>[]; // prettier-ignore
454
+ protected runSync<T extends HookName>(registrations: HookRegistration<T, HookDefaultHandler<T>>[], visit: Visit | undefined, args: HookArguments<T>, rethrow: true): ReturnType<HookDefaultHandler<T>>[]; // prettier-ignore
450
455
  // Overload: running user handler: expect no specific type
451
456
  protected runSync<T extends HookName>(registrations: HookRegistration<T>[], visit: Visit | undefined, args: HookArguments<T>): unknown[]; // prettier-ignore
452
457
  // Implementation
453
458
  protected runSync<T extends HookName, R extends HookRegistration<T>[]>(
454
459
  registrations: R,
455
- visit: Visit | undefined,
456
- args: HookArguments<T>
460
+ visit: Visit | undefined = this.swup.visit,
461
+ args: HookArguments<T>,
462
+ rethrow: boolean = false
457
463
  ): (ReturnType<HookDefaultHandler<T>> | unknown)[] {
458
464
  const results = [];
459
465
  for (const { hook, handler, defaultHandler, once } of registrations) {
460
466
  if (visit?.done) continue;
461
467
  if (once) this.off(hook, handler);
462
- const result = (handler as HookDefaultHandler<T>)(visit || this.swup.visit, args, defaultHandler); // prettier-ignore
463
- results.push(result);
464
- if (isPromise(result)) {
465
- console.warn(
466
- `Promise returned from handler for synchronous hook '${hook}'.` +
467
- `Swup will not wait for it to resolve.`
468
- );
468
+ try {
469
+ const result = (handler as HookDefaultHandler<T>)(visit, args, defaultHandler);
470
+ results.push(result);
471
+ if (isPromise(result)) {
472
+ console.warn(
473
+ `Swup will not await Promises in handler for synchronous hook '${hook}'.`
474
+ );
475
+ }
476
+ } catch (error) {
477
+ if (rethrow) {
478
+ throw error;
479
+ } else {
480
+ console.error(`Error in hook '${hook}':`, error);
481
+ }
469
482
  }
470
483
  }
471
484
  return results;
@@ -44,7 +44,7 @@ export function navigate(
44
44
 
45
45
  // Check if the visit should be ignored
46
46
  if (this.shouldIgnoreVisit(url, { el: init.el, event: init.event })) {
47
- window.location.href = url;
47
+ window.location.assign(url);
48
48
  return;
49
49
  }
50
50
 
@@ -218,16 +218,16 @@ export async function performNavigation(
218
218
 
219
219
  visit.state = VisitState.FAILED;
220
220
 
221
- // Log to console as we swallow almost all hook errors
221
+ // Log to console
222
222
  console.error(error);
223
223
 
224
- // Rewrite `skipPopStateHandling` to redirect manually when `history.go` is processed
224
+ // Remove current history entry, then load requested url in browser
225
225
  this.options.skipPopStateHandling = () => {
226
- window.location.href = visit.to.url + visit.to.hash;
226
+ window.location.assign(visit.to.url + visit.to.hash);
227
227
  return true;
228
228
  };
229
229
 
230
230
  // Go back to the actual page we're still at
231
- window.history.go(-1);
231
+ window.history.back();
232
232
  }
233
233
  }
@@ -14,8 +14,6 @@ export const renderPage = async function (this: Swup, visit: Visit, page: PageDa
14
14
 
15
15
  const { url } = page;
16
16
 
17
- this.classes.remove('is-leaving');
18
-
19
17
  // update state if the url was redirected
20
18
  if (!this.isSameResolvedUrl(getCurrentUrl(), url)) {
21
19
  updateHistoryRecord(url);
@@ -23,13 +21,13 @@ export const renderPage = async function (this: Swup, visit: Visit, page: PageDa
23
21
  visit.to.url = this.currentPageUrl;
24
22
  }
25
23
 
26
- // only add for animated page loads
27
- if (visit.animation.animate) {
28
- this.classes.add('is-rendering');
29
- }
30
-
31
24
  // replace content: allow handlers and plugins to overwrite paga data and containers
32
25
  await this.hooks.call('content:replace', visit, { page }, (visit, { page }) => {
26
+ this.classes.remove('is-leaving');
27
+ // only add for animated page loads
28
+ if (visit.animation.animate) {
29
+ this.classes.add('is-rendering');
30
+ }
33
31
  const success = this.replaceContent(page, { containers: visit.containers });
34
32
  if (!success) {
35
33
  throw new Error('[swup] Container mismatch, aborting');
@@ -46,12 +46,11 @@ export function runAsPromise(func: Function, args: unknown[] = []): Promise<unkn
46
46
 
47
47
  /**
48
48
  * Force a layout reflow, e.g. after adding classnames
49
- * @returns The offset height, just here so it doesn't get optimized away by the JS engine
50
49
  * @see https://stackoverflow.com/a/21665117/3759615
51
50
  */
52
- export function forceReflow(element?: HTMLElement) {
51
+ export function forceReflow(element?: HTMLElement): void {
53
52
  element = element || document.body;
54
- return element?.offsetHeight;
53
+ element?.getBoundingClientRect();
55
54
  }
56
55
 
57
56
  /** Escape a string with special chars to not break CSS selectors. */