From 8f6ef921ff07d6bb7e5dcc5c1879f93258a8da60 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Mon, 21 Oct 2024 16:27:23 -0700 Subject: [PATCH 01/18] device scale factor tests: (1 | 2) --- .../custom-icons/custom-icons.test.ts | 93 ++++++++++--------- 1 file changed, 51 insertions(+), 42 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 890cb13..3161213 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -1,48 +1,57 @@ describe('custom icons tutorial', (): void => { - beforeAll(async (): Promise => { - await page.goto('http://localhost:3001/tutorial/dist/custom-icons') - }) - - describe('map', (): void => { - describe('element displays popup text on click', (): void => { - describe('markers with custom icons', (): void => { - describe.each([ - { - popupText: 'I am a green leaf.', - src: '../custom-icons/image/green.png', - }, - { - popupText: 'I am an orange leaf.', - src: '../custom-icons/image/orange.png', - }, - { - popupText: 'I am a red leaf.', - src: '../custom-icons/image/red.png', - }, - ])( - 'src="$src"', - ({ popupText, src }: Record<'popupText' | 'src', string>): void => { - it(`should display popup text "${popupText}"`, async (): Promise => { - await (await page.$(`img[src="${src}"]`))?.click() + describe.each([1, 2])( + 'device scale factor: %d', + (deviceScaleFactor: number): void => { + beforeAll(async (): Promise => { + await page.setViewport({ deviceScaleFactor, height: 600, width: 800 }) + await page.goto('http://localhost:3001/tutorial/dist/custom-icons') + }) - await page.waitForFunction( - (textContent: string): boolean => - document.querySelector('.leaflet-popup-content') - ?.textContent === textContent, - undefined, + describe('map', (): void => { + describe('element displays popup text on click', (): void => { + describe('markers with custom icons', (): void => { + describe.each([ + { + popupText: 'I am a green leaf.', + src: '../custom-icons/image/green.png', + }, + { + popupText: 'I am an orange leaf.', + src: '../custom-icons/image/orange.png', + }, + { + popupText: 'I am a red leaf.', + src: '../custom-icons/image/red.png', + }, + ])( + 'src="$src"', + ({ popupText, - ) + src, + }: Record<'popupText' | 'src', string>): void => { + it(`should display popup text "${popupText}"`, async (): Promise => { + await (await page.$(`img[src="${src}"]`))?.click() + + await page.waitForFunction( + (textContent: string): boolean => + document.querySelector('.leaflet-popup-content') + ?.textContent === textContent, + undefined, + popupText, + ) - expect( - await page.$eval( - '.leaflet-popup-content', - ({ textContent }: Element): string | null => textContent, - ), - ).toBe(popupText) - }) - }, - ) + expect( + await page.$eval( + '.leaflet-popup-content', + ({ textContent }: Element): string | null => textContent, + ), + ).toBe(popupText) + }) + }, + ) + }) + }) }) - }) - }) + }, + ) }) From 86033055299848429ac98916105b8c9cd7fc2482 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Mon, 21 Oct 2024 16:56:25 -0700 Subject: [PATCH 02/18] `iconUrlRetina` & `shadowUrlRetina` (defaults to `shadowUrl`) respectively alias `iconRetinaUrl` & `shadowRetinaUrl` --- src/leaf/icon.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/leaf/icon.ts b/src/leaf/icon.ts index 5a504f8..b078379 100644 --- a/src/leaf/icon.ts +++ b/src/leaf/icon.ts @@ -3,27 +3,27 @@ import { type IconOptions as LeafletIconOptions } from 'leaflet' import { type Icon } from '@stassi/leaf' export type IconOptions = Omit & - Partial<{ - iconUrl: string - }> + Partial> export async function icon({ - iconUrl = 'marker-icon.png', - iconRetinaUrl = 'marker-icon-2x.png', - shadowUrl = 'marker-shadow.png', - iconSize = [25, 41], iconAnchor = [12, 41], + iconSize = [25, 41], + iconUrl = 'marker-icon.png', + iconUrlRetina = 'marker-icon-2x.png', popupAnchor = [1, -34], - tooltipAnchor = [16, -28], shadowSize = [41, 41], + shadowUrl = 'marker-shadow.png', + shadowUrlRetina = shadowUrl, + tooltipAnchor = [16, -28], ...props }: IconOptions): Promise { return (await import('leaflet')).icon({ iconAnchor, - iconRetinaUrl, + iconRetinaUrl: iconUrlRetina, iconSize, iconUrl, popupAnchor, + shadowRetinaUrl: shadowUrlRetina, shadowSize, shadowUrl, tooltipAnchor, From ff8b2aab15b9fc4ed76bbda7ac79a43708100c28 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Mon, 21 Oct 2024 16:58:43 -0700 Subject: [PATCH 03/18] extant custom icons replace undefined retina variants --- src/tutorial/custom-icons/custom-icons.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tutorial/custom-icons/custom-icons.ts b/src/tutorial/custom-icons/custom-icons.ts index 11c5c7a..969f877 100644 --- a/src/tutorial/custom-icons/custom-icons.ts +++ b/src/tutorial/custom-icons/custom-icons.ts @@ -48,6 +48,7 @@ for (const { iconUrl, latitudeLongitude, popupContent } of [ iconAnchor: [22, 94], iconSize: [38, 95], iconUrl, + iconUrlRetina: iconUrl, popupAnchor: [-3, -76], shadowAnchor: [4, 62], shadowSize: [50, 64], From 35ccff280d98fc5002b41598c02d4d276a4654d0 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Mon, 21 Oct 2024 21:03:15 -0700 Subject: [PATCH 04/18] `expectImagesLoaded` tests markers & shadows image loading --- .../custom-icons/custom-icons.test.ts | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 3161213..96c00ae 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -10,6 +10,36 @@ describe('custom icons tutorial', (): void => { describe('map', (): void => { describe('element displays popup text on click', (): void => { describe('markers with custom icons', (): void => { + function expectImagesLoaded(src: string): () => Promise { + return async (): Promise => { + for (const img of await page.$$(`img[src="${src}"]`)) { + expect( + await img.evaluate( + ({ + complete, + naturalHeight, + }: HTMLImageElement): boolean => + complete && naturalHeight > 0, + ), + ).toBe(true) + + expect( + await img.evaluate( + ({ naturalHeight }: HTMLImageElement): number => + naturalHeight, + ), + ).toBeGreaterThan(0) + + expect( + await img.evaluate( + ({ naturalWidth }: HTMLImageElement): number => + naturalWidth, + ), + ).toBeGreaterThan(0) + } + } + } + describe.each([ { popupText: 'I am a green leaf.', @@ -29,6 +59,10 @@ describe('custom icons tutorial', (): void => { popupText, src, }: Record<'popupText' | 'src', string>): void => { + /* eslint-disable-next-line jest/expect-expect -- + `expectImageLoaded` returns assertions */ + it('should have loaded', expectImagesLoaded(src)) + it(`should display popup text "${popupText}"`, async (): Promise => { await (await page.$(`img[src="${src}"]`))?.click() @@ -49,6 +83,15 @@ describe('custom icons tutorial', (): void => { }) }, ) + + describe('shadows', (): void => { + /* eslint-disable-next-line jest/expect-expect -- + `expectImageLoaded` returns assertions */ + it( + 'should have loaded', + expectImagesLoaded('../custom-icons/image/shadow.png'), + ) + }) }) }) }) From 7b7ca27ddf028868e282bb71ff4e4900b2f66f40 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Mon, 21 Oct 2024 21:08:12 -0700 Subject: [PATCH 05/18] merge `expect`s [3] --- src/tutorial/custom-icons/custom-icons.test.ts | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 96c00ae..42b477a 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -18,24 +18,11 @@ describe('custom icons tutorial', (): void => { ({ complete, naturalHeight, + naturalWidth, }: HTMLImageElement): boolean => - complete && naturalHeight > 0, + complete && naturalHeight > 0 && naturalWidth > 0, ), ).toBe(true) - - expect( - await img.evaluate( - ({ naturalHeight }: HTMLImageElement): number => - naturalHeight, - ), - ).toBeGreaterThan(0) - - expect( - await img.evaluate( - ({ naturalWidth }: HTMLImageElement): number => - naturalWidth, - ), - ).toBeGreaterThan(0) } } } From 3fb2cb73ef934504fb7e2430b43ee609517b614e Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Tue, 22 Oct 2024 01:55:20 -0700 Subject: [PATCH 06/18] object equality increases predicates transparency --- src/tutorial/custom-icons/custom-icons.test.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 42b477a..b8b05e1 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -19,10 +19,20 @@ describe('custom icons tutorial', (): void => { complete, naturalHeight, naturalWidth, - }: HTMLImageElement): boolean => - complete && naturalHeight > 0 && naturalWidth > 0, + }: HTMLImageElement): Record< + 'complete' | 'heightModified' | 'widthModified', + boolean + > => ({ + complete, + heightModified: naturalHeight > 0, + widthModified: naturalWidth > 0, + }), ), - ).toBe(true) + ).toEqual({ + complete: true, + heightModified: true, + widthModified: true, + }) } } } From 9516fb8c5055895092d899c5a4ef5a5feae110d0 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Tue, 22 Oct 2024 02:26:18 -0700 Subject: [PATCH 07/18] `waitForFunction` waits for images to load prior to asserting their properties --- .../custom-icons/custom-icons.test.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index b8b05e1..0bcbcb9 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -12,6 +12,25 @@ describe('custom icons tutorial', (): void => { describe('markers with custom icons', (): void => { function expectImagesLoaded(src: string): () => Promise { return async (): Promise => { + await page.waitForFunction( + (imageSrc: string): boolean => { + return Array.from( + document.querySelectorAll( + `img[src="${imageSrc}"]`, + ), + ).every( + ({ + complete, + naturalHeight, + naturalWidth, + }: HTMLImageElement): boolean => + complete && naturalHeight > 0 && naturalWidth > 0, + ) + }, + undefined, + src, + ) + for (const img of await page.$$(`img[src="${src}"]`)) { expect( await img.evaluate( From 443f54e3dabe697550a6677f63d2418eda312f23 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Tue, 22 Oct 2024 02:39:09 -0700 Subject: [PATCH 08/18] safer type narrowing replaces type assertion --- .../custom-icons/custom-icons.test.ts | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 0bcbcb9..8052112 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -10,28 +10,25 @@ describe('custom icons tutorial', (): void => { describe('map', (): void => { describe('element displays popup text on click', (): void => { describe('markers with custom icons', (): void => { - function expectImagesLoaded(src: string): () => Promise { + function expectImagesLoaded(source: string): () => Promise { return async (): Promise => { await page.waitForFunction( - (imageSrc: string): boolean => { + (src: string): boolean => { return Array.from( - document.querySelectorAll( - `img[src="${imageSrc}"]`, - ), - ).every( - ({ - complete, - naturalHeight, - naturalWidth, - }: HTMLImageElement): boolean => - complete && naturalHeight > 0 && naturalWidth > 0, + document.querySelectorAll(`img[src="${src}"]`), + ).every((img: Element): boolean => + img instanceof HTMLImageElement + ? img.complete && + img.naturalHeight > 0 && + img.naturalWidth > 0 + : false, ) }, undefined, - src, + source, ) - for (const img of await page.$$(`img[src="${src}"]`)) { + for (const img of await page.$$(`img[src="${source}"]`)) { expect( await img.evaluate( ({ From 044a0f4f632d8bebf1685d5e3b2b11227e378dfc Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Tue, 22 Oct 2024 02:49:48 -0700 Subject: [PATCH 09/18] opaque predicates replace transparent object attributes (transparency unneeded due to `waitForFunction`) --- src/tutorial/custom-icons/custom-icons.test.ts | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 8052112..f441165 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -35,20 +35,10 @@ describe('custom icons tutorial', (): void => { complete, naturalHeight, naturalWidth, - }: HTMLImageElement): Record< - 'complete' | 'heightModified' | 'widthModified', - boolean - > => ({ - complete, - heightModified: naturalHeight > 0, - widthModified: naturalWidth > 0, - }), + }: HTMLImageElement): boolean => + complete && naturalHeight > 0 && naturalWidth > 0, ), - ).toEqual({ - complete: true, - heightModified: true, - widthModified: true, - }) + ).toBe(true) } } } From 5ea8473c27971b03cf88f4a4f4a7fb5f8dabc22c Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Tue, 22 Oct 2024 17:41:45 -0700 Subject: [PATCH 10/18] simple present modal tense (expectation) replaces present perfect modal tense erroneously implying past failure --- src/tutorial/custom-icons/custom-icons.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index f441165..09a4d47 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -64,7 +64,7 @@ describe('custom icons tutorial', (): void => { }: Record<'popupText' | 'src', string>): void => { /* eslint-disable-next-line jest/expect-expect -- `expectImageLoaded` returns assertions */ - it('should have loaded', expectImagesLoaded(src)) + it('should load', expectImagesLoaded(src)) it(`should display popup text "${popupText}"`, async (): Promise => { await (await page.$(`img[src="${src}"]`))?.click() @@ -91,7 +91,7 @@ describe('custom icons tutorial', (): void => { /* eslint-disable-next-line jest/expect-expect -- `expectImageLoaded` returns assertions */ it( - 'should have loaded', + 'should load', expectImagesLoaded('../custom-icons/image/shadow.png'), ) }) From 5f8ccb45cc2403d5aa96ad90311235b22a42ef65 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 02:56:42 -0700 Subject: [PATCH 11/18] describe markers on click (description moved downstream) --- .../custom-icons/custom-icons.test.ts | 119 +++++++++--------- 1 file changed, 58 insertions(+), 61 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.test.ts b/src/tutorial/custom-icons/custom-icons.test.ts index 09a4d47..e157920 100644 --- a/src/tutorial/custom-icons/custom-icons.test.ts +++ b/src/tutorial/custom-icons/custom-icons.test.ts @@ -8,64 +8,61 @@ describe('custom icons tutorial', (): void => { }) describe('map', (): void => { - describe('element displays popup text on click', (): void => { - describe('markers with custom icons', (): void => { - function expectImagesLoaded(source: string): () => Promise { - return async (): Promise => { - await page.waitForFunction( - (src: string): boolean => { - return Array.from( - document.querySelectorAll(`img[src="${src}"]`), - ).every((img: Element): boolean => - img instanceof HTMLImageElement - ? img.complete && - img.naturalHeight > 0 && - img.naturalWidth > 0 - : false, - ) - }, - undefined, - source, - ) + describe('markers with custom icons', (): void => { + function expectImagesLoaded(source: string): () => Promise { + return async (): Promise => { + await page.waitForFunction( + (src: string): boolean => { + return Array.from( + document.querySelectorAll(`img[src="${src}"]`), + ).every((img: Element): boolean => + img instanceof HTMLImageElement + ? img.complete && + img.naturalHeight > 0 && + img.naturalWidth > 0 + : false, + ) + }, + undefined, + source, + ) - for (const img of await page.$$(`img[src="${source}"]`)) { - expect( - await img.evaluate( - ({ - complete, - naturalHeight, - naturalWidth, - }: HTMLImageElement): boolean => - complete && naturalHeight > 0 && naturalWidth > 0, - ), - ).toBe(true) - } + for (const img of await page.$$(`img[src="${source}"]`)) { + expect( + await img.evaluate( + ({ + complete, + naturalHeight, + naturalWidth, + }: HTMLImageElement): boolean => + complete && naturalHeight > 0 && naturalWidth > 0, + ), + ).toBe(true) } } + } - describe.each([ - { - popupText: 'I am a green leaf.', - src: '../custom-icons/image/green.png', - }, - { - popupText: 'I am an orange leaf.', - src: '../custom-icons/image/orange.png', - }, - { - popupText: 'I am a red leaf.', - src: '../custom-icons/image/red.png', - }, - ])( - 'src="$src"', - ({ - popupText, - src, - }: Record<'popupText' | 'src', string>): void => { - /* eslint-disable-next-line jest/expect-expect -- + describe.each([ + { + popupText: 'I am a green leaf.', + src: '../custom-icons/image/green.png', + }, + { + popupText: 'I am an orange leaf.', + src: '../custom-icons/image/orange.png', + }, + { + popupText: 'I am a red leaf.', + src: '../custom-icons/image/red.png', + }, + ])( + 'src="$src"', + ({ popupText, src }: Record<'popupText' | 'src', string>): void => { + /* eslint-disable-next-line jest/expect-expect -- `expectImageLoaded` returns assertions */ - it('should load', expectImagesLoaded(src)) + it('should load', expectImagesLoaded(src)) + describe('on click', (): void => { it(`should display popup text "${popupText}"`, async (): Promise => { await (await page.$(`img[src="${src}"]`))?.click() @@ -84,17 +81,17 @@ describe('custom icons tutorial', (): void => { ), ).toBe(popupText) }) - }, - ) + }) + }, + ) - describe('shadows', (): void => { - /* eslint-disable-next-line jest/expect-expect -- + describe('shadows', (): void => { + /* eslint-disable-next-line jest/expect-expect -- `expectImageLoaded` returns assertions */ - it( - 'should load', - expectImagesLoaded('../custom-icons/image/shadow.png'), - ) - }) + it( + 'should load', + expectImagesLoaded('../custom-icons/image/shadow.png'), + ) }) }) }) From 4af29f73aefc30db54647bcfe5ff280dc53de924 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:05:30 -0700 Subject: [PATCH 12/18] inline custom icons type assertion --- src/tutorial/custom-icons/custom-icons.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/tutorial/custom-icons/custom-icons.ts b/src/tutorial/custom-icons/custom-icons.ts index 969f877..e6d2372 100644 --- a/src/tutorial/custom-icons/custom-icons.ts +++ b/src/tutorial/custom-icons/custom-icons.ts @@ -4,12 +4,6 @@ import '../style/medium.css' import { type LatLngExpression, type Map } from '@stassi/leaf' -type Icon = { - iconUrl: string - latitudeLongitude: LatLngExpression - popupContent: string -} - const map: Map = await ( await import('../../leaf/map/map.js') ).map({ @@ -24,7 +18,11 @@ await ( map, }) -for (const { iconUrl, latitudeLongitude, popupContent } of [ +for (const { iconUrl, latitudeLongitude, popupContent } of < + ({ + latitudeLongitude: LatLngExpression + } & Record<'iconUrl' | 'popupContent', string>)[] +>[ { iconUrl: '../custom-icons/image/green.png', latitudeLongitude: [51.5, -0.09], From b09f1e92d07941953d73f92241f1515b6f4f0125 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:08:29 -0700 Subject: [PATCH 13/18] npm update devDependencies: - @babel/eslint-parser@^7.25.9 - @babel/plugin-syntax-import-attributes@^7.25.9 --- package-lock.json | 24 ++++++++++++------------ package.json | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c8e597..7f03f1f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,8 +25,8 @@ "serve": "^14.2.4" }, "devDependencies": { - "@babel/eslint-parser": "^7.25.8", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/eslint-parser": "^7.25.9", + "@babel/plugin-syntax-import-attributes": "^7.25.9", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.1", "@rollup/plugin-html": "^1.0.4", @@ -137,9 +137,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.8.tgz", - "integrity": "sha512-Po3VLMN7fJtv0nsOjBDSbO1J71UhzShE9MuOSkWEV9IZQXzhZklYtzKZ8ZD/Ij3a0JBv1AG3Ny2L3jvAHQVOGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", + "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -222,9 +222,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "dev": true, "license": "MIT", "engines": { @@ -455,13 +455,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz", + "integrity": "sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" diff --git a/package.json b/package.json index 768b7b2..af0f8a9 100644 --- a/package.json +++ b/package.json @@ -61,8 +61,8 @@ "serve": "^14.2.4" }, "devDependencies": { - "@babel/eslint-parser": "^7.25.8", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/eslint-parser": "^7.25.9", + "@babel/plugin-syntax-import-attributes": "^7.25.9", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.1", "@rollup/plugin-html": "^1.0.4", From 8002a2bd25fbe6064a4cf4a60a35e1df41d552e9 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:09:42 -0700 Subject: [PATCH 14/18] npm update `@types/leaflet@^1.9.14` --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f03f1f..34a7b2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "win32" ], "dependencies": { - "@types/leaflet": "^1.9.13", + "@types/leaflet": "^1.9.14", "dompurify": "^3.1.7", "leaflet": "^1.9.4", "leaflet-fullscreen": "^1.0.2", @@ -2427,9 +2427,9 @@ "license": "MIT" }, "node_modules/@types/leaflet": { - "version": "1.9.13", - "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.13.tgz", - "integrity": "sha512-wwLL4VKKwYlLmhMQRc/8HT5/8HgkzZyETG0hG3nbsSiHKSdxBWZnHqEkRIOOtpyUks3gbc81dk9WgQMC6bicDw==", + "version": "1.9.14", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.14.tgz", + "integrity": "sha512-sx2q6MDJaajwhKeVgPSvqXd8rhNJSTA3tMidQGduZn9S6WBYxDkCpSpV5xXEmSg7Cgdk/5vJGhVF1kMYLzauBg==", "license": "MIT", "dependencies": { "@types/geojson": "*" diff --git a/package.json b/package.json index af0f8a9..b007b47 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "testTimeout": 10000 }, "dependencies": { - "@types/leaflet": "^1.9.13", + "@types/leaflet": "^1.9.14", "dompurify": "^3.1.7", "leaflet": "^1.9.4", "leaflet-fullscreen": "^1.0.2", From ab5cb240f2f4b22cf2126925ef8c28bfd8b09ea6 Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:10:31 -0700 Subject: [PATCH 15/18] npm update `@types/jest@^29.5.14` --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34a7b2a..6c665b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "@rollup/plugin-replace": "^6.0.1", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^12.1.1", - "@types/jest": "^29.5.13", + "@types/jest": "^29.5.14", "@types/jest-environment-puppeteer": "^5.0.6", "@types/puppeteer": "^5.4.7", "@typescript-eslint/eslint-plugin": ">=7.18.0 <8", @@ -2390,9 +2390,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.13", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.13.tgz", - "integrity": "sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==", + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index b007b47..17a94f3 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@rollup/plugin-replace": "^6.0.1", "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^12.1.1", - "@types/jest": "^29.5.13", + "@types/jest": "^29.5.14", "@types/jest-environment-puppeteer": "^5.0.6", "@types/puppeteer": "^5.4.7", "@typescript-eslint/eslint-plugin": ">=7.18.0 <8", From 2377ea3aac27ddc4775b64de55a261c7d6efaa0f Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:12:37 -0700 Subject: [PATCH 16/18] npm update devDependencies: - expect-puppeteer@^10.1.3 - jest-environment-puppeteer@^10.1.3 - jest-puppeteer@^10.1.3 --- package-lock.json | 28 ++++++++++++++-------------- package.json | 6 +++--- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c665b2..7e46446 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,10 +49,10 @@ "eslint-plugin-jsonc": "^2.16.0", "eslint-plugin-no-unsanitized": "^4.1.2", "eslint-plugin-prettier": "^5.2.1", - "expect-puppeteer": "^10.1.2", + "expect-puppeteer": "^10.1.3", "jest": "^29.7.0", - "jest-environment-puppeteer": "^10.1.2", - "jest-puppeteer": "^10.1.2", + "jest-environment-puppeteer": "^10.1.3", + "jest-puppeteer": "^10.1.3", "prettier": "3.3.3", "puppeteer": "^23.6.0", "rollup": "^4.24.0", @@ -6360,9 +6360,9 @@ } }, "node_modules/expect-puppeteer": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-10.1.2.tgz", - "integrity": "sha512-hngh53yz5e0lw1BvkG6ealeyZQkeaLqWFO31tOFBA0tH3x+0nEjQfnjv5P3CC6KwWwG5mDC1xBDSX0YpW9wBrw==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-10.1.3.tgz", + "integrity": "sha512-2t1D2t0AfBDMp8rMHEws6mRx1iXeER6sOrIm/8sxM3KxkY7O8AD6j5XfTtVJI6Updc/c4IiuFSz3o/82soHUdA==", "dev": true, "license": "MIT", "engines": { @@ -8672,9 +8672,9 @@ "license": "MIT" }, "node_modules/jest-environment-puppeteer": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-10.1.2.tgz", - "integrity": "sha512-J74V1MfNbtanLIK/gOCy3GwEUae55uCIdCdUXxPhySBen9qWqmbZygjWA0TOPwf0DoJTD66lD50qtX4skLHP/g==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-10.1.3.tgz", + "integrity": "sha512-dHBP44r0f1RUis6kWTxYmPyoB2QWXeotzzRWVjIgbiLIVIaRsKkvj3pIscRXQbJIfwaTAT+W50h0URV47IMc1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8939,14 +8939,14 @@ } }, "node_modules/jest-puppeteer": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-10.1.2.tgz", - "integrity": "sha512-wPXShMyEPPyXpvly/0rqnf7+E4yPKdG1EBOY73g0TgLx6rMK8NT8Cr+HbhhLPkvzJcYoh6IzvHFIFfGTIUXxoA==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-10.1.3.tgz", + "integrity": "sha512-YQYrv7Wq3IWySyCsX6pmaSXq8VexELlxW073YvwKx6J4mchhTSHilIa5O0Wv2j95/pZtfAi/PzVmsOuCCcFlig==", "dev": true, "license": "MIT", "dependencies": { - "expect-puppeteer": "^10.1.2", - "jest-environment-puppeteer": "^10.1.2" + "expect-puppeteer": "^10.1.3", + "jest-environment-puppeteer": "^10.1.3" }, "engines": { "node": ">=16" diff --git a/package.json b/package.json index 17a94f3..de46913 100644 --- a/package.json +++ b/package.json @@ -85,10 +85,10 @@ "eslint-plugin-jsonc": "^2.16.0", "eslint-plugin-no-unsanitized": "^4.1.2", "eslint-plugin-prettier": "^5.2.1", - "expect-puppeteer": "^10.1.2", + "expect-puppeteer": "^10.1.3", "jest": "^29.7.0", - "jest-environment-puppeteer": "^10.1.2", - "jest-puppeteer": "^10.1.2", + "jest-environment-puppeteer": "^10.1.3", + "jest-puppeteer": "^10.1.3", "prettier": "3.3.3", "puppeteer": "^23.6.0", "rollup": "^4.24.0", From f0c470355db62769b5850af123929d8cf301d17c Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:15:00 -0700 Subject: [PATCH 17/18] update npm lockfile --- package-lock.json | 366 ++++++++++++++++------------------------------ 1 file changed, 127 insertions(+), 239 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7e46446..9d65e50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,13 +82,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.9.tgz", + "integrity": "sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/highlight": "^7.25.9", "picocolors": "^1.0.0" }, "engines": { @@ -96,9 +96,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.9.tgz", + "integrity": "sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw==", "dev": true, "license": "MIT", "engines": { @@ -106,22 +106,22 @@ } }, "node_modules/@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", + "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helpers": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -156,13 +156,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", + "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/types": "^7.25.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -172,14 +172,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -189,30 +189,30 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz", + "integrity": "sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -232,23 +232,23 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, "license": "MIT", "engines": { @@ -256,9 +256,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, "license": "MIT", "engines": { @@ -266,9 +266,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "license": "MIT", "engines": { @@ -276,27 +276,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.9.tgz", + "integrity": "sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -384,13 +384,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.9.tgz", + "integrity": "sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.25.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -497,13 +497,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -623,13 +623,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", - "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -639,32 +639,32 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -673,15 +673,14 @@ } }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.9.tgz", + "integrity": "sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2436,9 +2435,9 @@ } }, "node_modules/@types/node": { - "version": "22.7.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.7.tgz", - "integrity": "sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==", + "version": "22.7.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz", + "integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==", "dev": true, "license": "MIT", "dependencies": { @@ -3155,13 +3154,13 @@ "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, "license": "Apache-2.0", - "dependencies": { - "deep-equal": "^2.0.5" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { @@ -3584,9 +3583,9 @@ } }, "node_modules/bare-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.1.tgz", - "integrity": "sha512-Vm8kAeOcfzHPTH8sq0tHBnUqYrkXdroaBVVylqFT4cF5wnMfKEIxxy2jIGu2zKVNl9P8MAP9XBWwXJ9N2+jfEw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.3.2.tgz", + "integrity": "sha512-EFZHSIBkDgSHIwj2l2QZfP4U5OcD4xFAOwhSb/vlr9PIqyGJGvB/nfClJbcnh3EY4jtPE4zsb5ztae96bVF79A==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -3714,9 +3713,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "dev": true, "funding": [ { @@ -3734,10 +3733,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -4634,39 +4633,6 @@ } } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -4905,9 +4871,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.41", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", - "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==", + "version": "1.5.43", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.43.tgz", + "integrity": "sha512-NxnmFBHDl5Sachd2P46O7UJiMaMHMLSofoIWVJq3mj8NJgG0umiSeljAVP9lGzjI0UDLJJ5jjoGjcrB8RSbjLQ==", "dev": true, "license": "ISC" }, @@ -5068,27 +5034,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-iterator-helpers": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", @@ -5577,13 +5522,13 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", - "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz", + "integrity": "sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==", "dev": true, "license": "MIT", "dependencies": { - "aria-query": "~5.1.3", + "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", @@ -5591,14 +5536,14 @@ "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" @@ -5642,9 +5587,9 @@ } }, "node_modules/eslint-plugin-playwright": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.8.0.tgz", - "integrity": "sha512-+vHG8VdtgMKwsEJrj973FqoTSn7GAtUsgudSeolLrigBPKwuXeHjcWKYPYPpMUVAISl3IMR7reQmK2v13sjaRw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-1.8.3.tgz", + "integrity": "sha512-h87JPFHkz8a6oPhn8GRGGhSQoAJjx0AkOv1jME6NoMk2FpEsfvfJJNaQDxLSqSALkCr0IJXPGTnp6SIRVu5Nqg==", "dev": true, "license": "MIT", "workspaces": [ @@ -5744,9 +5689,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", - "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dev": true, "license": "MIT", "dependencies": { @@ -5755,7 +5700,7 @@ "array.prototype.flatmap": "^1.3.2", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", @@ -7412,23 +7357,6 @@ "node": ">= 12" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -10130,23 +10058,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -12731,19 +12642,6 @@ "node": ">=8" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/streamx": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.1.tgz", @@ -13217,16 +13115,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", From 7abc4fe4c1633a4f2e66ff4ec899b1f0e9a019ea Mon Sep 17 00:00:00 2001 From: Andreas Stassivik Date: Wed, 23 Oct 2024 03:15:15 -0700 Subject: [PATCH 18/18] 0.0.64 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d65e50..cba3ec9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@stassi/leaf", - "version": "0.0.63", + "version": "0.0.64", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@stassi/leaf", - "version": "0.0.63", + "version": "0.0.64", "cpu": [ "arm64", "x64" diff --git a/package.json b/package.json index de46913..7ed6fd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@stassi/leaf", - "version": "0.0.63", + "version": "0.0.64", "description": "Leaflet adapter.", "keywords": [ "cartography",