@networkpro/web 1.18.4 → 1.18.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -31
- package/README.md +1 -0
- package/jsconfig.template.jsonc +3 -3
- package/package.json +6 -7
- package/src/app.html +1 -1
- package/static/disableSw.js +2 -2
- package/scripts/testRedirects.js +0 -84
package/CHANGELOG.md
CHANGED
|
@@ -22,11 +22,38 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
## [1.18.
|
|
25
|
+
## [1.18.5] - 2025-10-05
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- Added Vercel CLI scripts to `package.json`, including `dev:vercel` and `build:vercel`.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Bumped project version to `v1.18.5`.
|
|
34
|
+
- Updated generator metadata in `app.html` to reflect `SvelteKit 2.44.0`.
|
|
35
|
+
- Added `scripts/testRedirects.js` to `.gitignore`.
|
|
36
|
+
- Cleaned up header in `jsconfig.template.jsonc`.
|
|
37
|
+
- Updated **Repository Structure** section in `README.md`.
|
|
38
|
+
- Restructured `CHANGELOG.md` such that sections are presented in alphabetical order.
|
|
39
|
+
- Corrected JSDoc annotations in `static/disableSw.js`.
|
|
40
|
+
- Updated dependencies:
|
|
41
|
+
- `@sveltejs/kit` `2.43.8` → `2.44.0`
|
|
42
|
+
- `eslint-plugin-jsdoc` `^60.8.0` → `^60.8.1`
|
|
26
43
|
|
|
27
44
|
### Documentation
|
|
28
45
|
|
|
29
|
-
-
|
|
46
|
+
- Revised **Repository Structure** to accurately reflect the folders under `/tests`.
|
|
47
|
+
|
|
48
|
+
### Removed
|
|
49
|
+
|
|
50
|
+
- Removed all references to Netlify and all Netlify-specific scripts from `package.json`.
|
|
51
|
+
- Removed `test:redirects` script from `package.json`.
|
|
52
|
+
- The `testRedirects.js` script has been removed from version control, as it is no longer needed to test Netlify redirects.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## [1.18.4] - 2025-10-04
|
|
30
57
|
|
|
31
58
|
### Changes
|
|
32
59
|
|
|
@@ -53,6 +80,10 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
53
80
|
- `typescript` `^5.9.2` → `^5.9.3`
|
|
54
81
|
- `vite` `^7.1.7` → `^7.1.9`
|
|
55
82
|
|
|
83
|
+
### Documentation
|
|
84
|
+
|
|
85
|
+
- Updated **Repository Structure** to reflect current environment and files.
|
|
86
|
+
|
|
56
87
|
---
|
|
57
88
|
|
|
58
89
|
## [1.18.3] - 2025-09-27
|
|
@@ -164,31 +195,20 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
164
195
|
|
|
165
196
|
## [1.17.1] - 2025-09-17
|
|
166
197
|
|
|
198
|
+
### Changed
|
|
199
|
+
|
|
200
|
+
- Bumped version to `v1.17.1`.
|
|
201
|
+
|
|
167
202
|
### Security
|
|
168
203
|
|
|
169
204
|
- Patched transitive vulnerabilities by pinning dependencies via `overrides`:
|
|
170
205
|
- Forced `tmp` to `>=0.2.4` (resolves CVE-2025-54798 reported via `@lhci/cli`).
|
|
171
206
|
- Forced `cookie` to `^1.0.0` (used by `@sveltejs/kit` and `@lhci/cli`).
|
|
172
207
|
|
|
173
|
-
### Changed
|
|
174
|
-
|
|
175
|
-
- Bumped version to `v1.17.1`.
|
|
176
|
-
|
|
177
208
|
---
|
|
178
209
|
|
|
179
210
|
## [1.17.0] - 2025-09-17
|
|
180
211
|
|
|
181
|
-
### Security
|
|
182
|
-
|
|
183
|
-
- Updated dependencies to address known vulnerabilities (notably `@sveltejs/kit`, `vite`, and related plugins).
|
|
184
|
-
|
|
185
|
-
### Documentation
|
|
186
|
-
|
|
187
|
-
- Clarified CSP reporting setup in `README.md`:
|
|
188
|
-
- Explained relationship with external CSP reporting endpoint (`csp-endpoint` repo).
|
|
189
|
-
- Documented use of both `report-uri` (legacy) and `report-to` (modern, recommended).
|
|
190
|
-
- Added example headers including `Report-To` definition.
|
|
191
|
-
|
|
192
212
|
### Added
|
|
193
213
|
|
|
194
214
|
- New `meta-check.yml` GitHub Actions workflow to validate `<title>` and `<meta>` descriptions using Vitest.
|
|
@@ -236,11 +256,22 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
236
256
|
- `svelte-eslint-parser` `^1.3.0` → `^1.3.2`
|
|
237
257
|
- `vite` `^7.0.6` → `^7.1.5`
|
|
238
258
|
|
|
259
|
+
### Documentation
|
|
260
|
+
|
|
261
|
+
- Clarified CSP reporting setup in `README.md`:
|
|
262
|
+
- Explained relationship with external CSP reporting endpoint (`csp-endpoint` repo).
|
|
263
|
+
- Documented use of both `report-uri` (legacy) and `report-to` (modern, recommended).
|
|
264
|
+
- Added example headers including `Report-To` definition.
|
|
265
|
+
|
|
239
266
|
### Removed
|
|
240
267
|
|
|
241
268
|
- Deleted `src/routes/example.svx`, which was unused and unneeded.
|
|
242
269
|
- Removed `mdsvex` from package.json, as it is unlikely to be used.
|
|
243
270
|
|
|
271
|
+
### Security
|
|
272
|
+
|
|
273
|
+
- Updated dependencies to address known vulnerabilities (notably `@sveltejs/kit`, `vite`, and related plugins).
|
|
274
|
+
|
|
244
275
|
### Notes
|
|
245
276
|
|
|
246
277
|
- Pinned `jsdom` to `26.1.0` due to build incompatibility in `27.x` (`cssstyle` parsing error with Vite/Rollup).
|
|
@@ -502,6 +533,11 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
502
533
|
|
|
503
534
|
## [1.14.1] - 2025-06-16
|
|
504
535
|
|
|
536
|
+
### Added
|
|
537
|
+
|
|
538
|
+
- Introduced `.github/workflows/publish-test.yml`, a standalone workflow to safely simulate `npm publish` without publishing.
|
|
539
|
+
- Added commands to display Node.js and npm versions for visibility and troubleshooting in all relevant jobs.
|
|
540
|
+
|
|
505
541
|
### Changed
|
|
506
542
|
|
|
507
543
|
- Updated Node.js engine to `24` to match the specified engine constraints in `package.json`.
|
|
@@ -509,11 +545,6 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
509
545
|
- Refactored `build-and-publish.yml` to use `git archive` for artifact preparation and aligned it with a tested publishing flow.
|
|
510
546
|
- Removed `.npmrc` token-based authentication in favor of environment secrets to avoid credential conflicts.
|
|
511
547
|
|
|
512
|
-
### Added
|
|
513
|
-
|
|
514
|
-
- Introduced `.github/workflows/publish-test.yml`, a standalone workflow to safely simulate `npm publish` without publishing.
|
|
515
|
-
- Added commands to display Node.js and npm versions for visibility and troubleshooting in all relevant jobs.
|
|
516
|
-
|
|
517
548
|
---
|
|
518
549
|
|
|
519
550
|
## [1.14.0] - 2025-06-16
|
|
@@ -842,13 +873,7 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
842
873
|
- Upgraded `posthog-js` from `v1.249.4` to `v1.249.5`.
|
|
843
874
|
- Upgraded `vitest` from `v3.2.2` to `v3.2.3`.
|
|
844
875
|
|
|
845
|
-
###
|
|
846
|
-
|
|
847
|
-
- Updated Lighthouse CI annotation step to explicitly select only valid Lighthouse report files (e.g., `*.report.json`, `lhr-*.json`) and ignore `assertion-results.json`, which caused `jq` parsing errors during CI runs.
|
|
848
|
-
- Scoped Lighthouse assertions in `.lighthouserc.cjs` to `resource-summary` only, preventing unwanted failures from default performance audits.
|
|
849
|
-
- Resolved malformed PR comment formatting in the Lighthouse GitHub Actions workflow by replacing Markdown tables with plain-text bullet lists.
|
|
850
|
-
|
|
851
|
-
### Docs
|
|
876
|
+
### Documentation
|
|
852
877
|
|
|
853
878
|
- Updated `README.md` with improved context and phrasing around the CHANGELOG reference.
|
|
854
879
|
- Added `CHANGELOG.md` to the documented project structure with a descriptive label:
|
|
@@ -857,7 +882,13 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
857
882
|
├── CHANGELOG.md # Chronological record of notable project changes
|
|
858
883
|
```
|
|
859
884
|
|
|
860
|
-
###
|
|
885
|
+
### Fixed
|
|
886
|
+
|
|
887
|
+
- Updated Lighthouse CI annotation step to explicitly select only valid Lighthouse report files (e.g., `*.report.json`, `lhr-*.json`) and ignore `assertion-results.json`, which caused `jq` parsing errors during CI runs.
|
|
888
|
+
- Scoped Lighthouse assertions in `.lighthouserc.cjs` to `resource-summary` only, preventing unwanted failures from default performance audits.
|
|
889
|
+
- Resolved malformed PR comment formatting in the Lighthouse GitHub Actions workflow by replacing Markdown tables with plain-text bullet lists.
|
|
890
|
+
|
|
891
|
+
### Notes
|
|
861
892
|
|
|
862
893
|
- Confirmed that `Authenticate GitHub CLI` is not needed in `build-and-publish.yml`, as only the `check-codeql` job uses the GitHub CLI and is already authenticated.
|
|
863
894
|
- Verified that `scripts/openReport.js` does not require unit testing, as it performs side-effect-only CLI actions. Linting and manual testing are sufficient.
|
|
@@ -977,7 +1008,8 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
977
1008
|
|
|
978
1009
|
<!-- Link references -->
|
|
979
1010
|
|
|
980
|
-
[Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.18.
|
|
1011
|
+
[Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.18.5...HEAD
|
|
1012
|
+
[1.18.5]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.18.5
|
|
981
1013
|
[1.18.4]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.18.4
|
|
982
1014
|
[1.18.3]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.18.3
|
|
983
1015
|
[1.18.2]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.18.2
|
package/README.md
CHANGED
|
@@ -90,6 +90,7 @@ This project follows the principles of [Keep a Changelog](https://keepachangelog
|
|
|
90
90
|
│ └── sitemap.xml # SEO: full site map
|
|
91
91
|
├── tests/
|
|
92
92
|
│ ├── e2e/ # Playwright end-to-end tests
|
|
93
|
+
│ ├── meta/ # Metadata end-to-end CI tests
|
|
93
94
|
│ └── unit/ # Vitest unit tests
|
|
94
95
|
│ ├── client/ # Client-side (jsdom) unit tests
|
|
95
96
|
│ ├── server/ # Server-side (node) unit tests
|
package/jsconfig.template.jsonc
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* =========================================================================
|
|
2
2
|
jsconfig.template.jsonc
|
|
3
3
|
|
|
4
|
-
NOTE: This file is for reference only and is not actively used by SvelteKit
|
|
5
|
-
tooling. SvelteKit uses the jsconfig.json file without comments for
|
|
6
|
-
configuration.
|
|
4
|
+
NOTE: This file is for reference only and is not actively used by SvelteKit
|
|
5
|
+
or tooling. SvelteKit uses the jsconfig.json file without comments for
|
|
6
|
+
actual configuration.
|
|
7
7
|
|
|
8
8
|
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
9
9
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@networkpro/web",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.18.
|
|
4
|
+
"version": "1.18.5",
|
|
5
5
|
"description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"advisory",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"dev": "vite dev",
|
|
38
38
|
"start": "npm run dev",
|
|
39
|
-
"dev:
|
|
39
|
+
"dev:vercel": "vercel dev",
|
|
40
40
|
"build": "vite build",
|
|
41
|
+
"build:vercel": "vercel build",
|
|
41
42
|
"preview": "vite preview",
|
|
42
|
-
"build:netlify": "netlify build",
|
|
43
43
|
"css:bundle": "node scripts/bundleCss.js",
|
|
44
44
|
"prepare": "svelte-kit sync || echo ''",
|
|
45
45
|
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"test:watch": "vitest --config vitest.config.client.js --watch",
|
|
61
61
|
"test:coverage": "npm run test:client -- --run --coverage && npm run test:server -- --run --coverage",
|
|
62
62
|
"test:e2e": "npx playwright test --retries=1",
|
|
63
|
-
"test:redirects": "node scripts/testRedirects.js",
|
|
64
63
|
"coverage:client": "node scripts/openReport.js client",
|
|
65
64
|
"coverage:server": "node scripts/openReport.js server",
|
|
66
65
|
"coverage:open": "npm run coverage:client && npm run coverage:server",
|
|
@@ -68,7 +67,7 @@
|
|
|
68
67
|
"lint:fix": "eslint . --ext .mjs,.js,.svelte --fix",
|
|
69
68
|
"lint:jsdoc": "eslint . --ext .js,.mjs,.svelte --max-warnings=0",
|
|
70
69
|
"lint:css": "stylelint \"**/*.{css,svelte}\" --ignore-path .stylelintignore",
|
|
71
|
-
"lint:md": "npx markdownlint-cli2 \"**/*.{md,markdown}\" \"#node_modules/**\" \"#build/**\" \"
|
|
70
|
+
"lint:md": "npx markdownlint-cli2 \"**/*.{md,markdown}\" \"#node_modules/**\" \"#build/**\" \"#playwright-report/**\" \"#test-results/**\"",
|
|
72
71
|
"lint:all": "npm run lint && npm run lint:md && npm run lint:css && npm run format",
|
|
73
72
|
"format": "prettier --check .",
|
|
74
73
|
"format:fix": "prettier --write .",
|
|
@@ -89,7 +88,7 @@
|
|
|
89
88
|
"@lhci/cli": "^0.15.1",
|
|
90
89
|
"@playwright/test": "^1.55.1",
|
|
91
90
|
"@sveltejs/adapter-vercel": "^5.10.3",
|
|
92
|
-
"@sveltejs/kit": "2.
|
|
91
|
+
"@sveltejs/kit": "2.44.0",
|
|
93
92
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
94
93
|
"@testing-library/jest-dom": "^6.9.1",
|
|
95
94
|
"@testing-library/svelte": "^5.2.8",
|
|
@@ -98,7 +97,7 @@
|
|
|
98
97
|
"browserslist": "^4.26.3",
|
|
99
98
|
"eslint": "^9.37.0",
|
|
100
99
|
"eslint-config-prettier": "^10.1.8",
|
|
101
|
-
"eslint-plugin-jsdoc": "^60.8.
|
|
100
|
+
"eslint-plugin-jsdoc": "^60.8.1",
|
|
102
101
|
"eslint-plugin-svelte": "^3.12.4",
|
|
103
102
|
"globals": "^16.4.0",
|
|
104
103
|
"jsdom": "26.1.0",
|
package/src/app.html
CHANGED
package/static/disableSw.js
CHANGED
|
@@ -9,9 +9,9 @@ This file is part of Network Pro.
|
|
|
9
9
|
/**
|
|
10
10
|
* @file disableSw.js
|
|
11
11
|
* @description Allows for Service Worker to be disabled for debugging by appending ?nosw to the path.
|
|
12
|
-
* @module
|
|
12
|
+
* @module static
|
|
13
13
|
* @author SunDevil311
|
|
14
|
-
* @updated 2025-05
|
|
14
|
+
* @updated 2025-10-05
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
if (location.search.includes('nosw')) {
|
package/scripts/testRedirects.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/* ==========================================================================
|
|
2
|
-
scripts/testRedirects.js
|
|
3
|
-
|
|
4
|
-
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
5
|
-
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
6
|
-
This file is part of Network Pro.
|
|
7
|
-
========================================================================== */
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @file testRedirects.js
|
|
11
|
-
* @description Tests Netlify redirects against actual endpoints to verify
|
|
12
|
-
* trailing-slash behavior.
|
|
13
|
-
*
|
|
14
|
-
* @module scripts/
|
|
15
|
-
* @author SunDevil311
|
|
16
|
-
* @updated 2025-07-01
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import https from 'https';
|
|
20
|
-
import { URL } from 'url';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @typedef {object} RedirectTest
|
|
24
|
-
* @property {string} from - The source URL to test.
|
|
25
|
-
* @property {string} to - The expected destination URL.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
/** @type {RedirectTest[]} */
|
|
29
|
-
const urls = [
|
|
30
|
-
{ from: 'https://netwk.pro/privacy-policy', to: 'https://netwk.pro/privacy' },
|
|
31
|
-
{
|
|
32
|
-
from: 'https://netwk.pro/privacy-policy/',
|
|
33
|
-
to: 'https://netwk.pro/privacy',
|
|
34
|
-
},
|
|
35
|
-
{ from: 'https://netwk.pro/foss', to: 'https://netwk.pro/foss-spotlight' },
|
|
36
|
-
{ from: 'https://netwk.pro/foss/', to: 'https://netwk.pro/foss-spotlight' },
|
|
37
|
-
{
|
|
38
|
-
from: 'https://www.netwk.pro/foss',
|
|
39
|
-
to: 'https://netwk.pro/foss-spotlight',
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Tests a single redirect by making a GET request and checking the status code and location header.
|
|
45
|
-
* @param {RedirectTest} redirect - The redirect configuration to test.
|
|
46
|
-
* @returns {Promise<boolean>} - Resolves to true if the redirect is correct, false otherwise.
|
|
47
|
-
*/
|
|
48
|
-
function testRedirect({ from, to }) {
|
|
49
|
-
return new Promise((resolve) => {
|
|
50
|
-
const req = https.request(new URL(from), { method: 'GET' }, (res) => {
|
|
51
|
-
const location = res.headers.location;
|
|
52
|
-
const expectedPath = new URL(to).pathname;
|
|
53
|
-
|
|
54
|
-
if (res.statusCode === 301 && location === expectedPath) {
|
|
55
|
-
console.log(`✅ ${from} → ${location}`);
|
|
56
|
-
resolve(true);
|
|
57
|
-
} else {
|
|
58
|
-
console.error(
|
|
59
|
-
`❌ ${from} → Expected 301 to ${expectedPath}, got ${res.statusCode} to ${location}`,
|
|
60
|
-
);
|
|
61
|
-
resolve(false);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
req.on('error', (err) => {
|
|
66
|
-
console.error(`❌ ${from} → Network error: ${err.message}`);
|
|
67
|
-
resolve(false);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
req.end();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Runs all redirect tests and exits the process with a status code reflecting success or failure.
|
|
76
|
-
* @returns {Promise<void>}
|
|
77
|
-
*/
|
|
78
|
-
const runTests = async () => {
|
|
79
|
-
const results = await Promise.all(urls.map(testRedirect));
|
|
80
|
-
const failed = results.filter((r) => !r).length;
|
|
81
|
-
process.exit(failed > 0 ? 1 : 0);
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
runTests();
|