@networkpro/web 1.22.1 → 1.23.0

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.
Files changed (55) hide show
  1. package/.github/workflows/build-and-publish.yml +4 -4
  2. package/.github/workflows/lighthouse.yml +1 -1
  3. package/.github/workflows/meta-check.yml +1 -1
  4. package/.github/workflows/playwright.yml +1 -1
  5. package/.github/workflows/publish-test.yml +16 -16
  6. package/.github/workflows/templates/publish.template.yml +4 -4
  7. package/.ncurc.cjs +50 -0
  8. package/.node-version +1 -1
  9. package/.nvmrc +1 -1
  10. package/CHANGELOG.md +99 -2
  11. package/LICENSE.md +1 -1
  12. package/README.md +5 -5
  13. package/budget.json +1 -1
  14. package/cspell.json +1 -0
  15. package/package.json +19 -16
  16. package/src/app.html +4 -4
  17. package/src/lib/README.md +12 -9
  18. package/src/lib/components/Badges.svelte +2 -2
  19. package/src/lib/components/LegalNav.svelte +1 -1
  20. package/src/lib/components/MetaTags.svelte +42 -16
  21. package/src/lib/components/layout/Footer.svelte +7 -7
  22. package/src/lib/components/layout/HeaderDefault.svelte +1 -1
  23. package/src/lib/components/layout/HeaderHome.svelte +1 -1
  24. package/src/lib/index.js +2 -2
  25. package/src/lib/meta.js +24 -24
  26. package/src/lib/pages/AboutContent.svelte +9 -9
  27. package/src/lib/pages/HomeContent.svelte +1 -1
  28. package/src/lib/pages/LicenseContent.svelte +6 -7
  29. package/src/lib/pages/ServicesContent.svelte +1 -2
  30. package/src/lib/pages/TermsUseContent.svelte +1 -1
  31. package/src/lib/types/README.md +2 -2
  32. package/src/routes/+layout.js +2 -3
  33. package/src/routes/+layout.svelte +11 -3
  34. package/src/routes/+page.svelte +7 -26
  35. package/src/routes/about/+page.svelte +10 -21
  36. package/src/routes/{license → foss}/+page.server.js +2 -2
  37. package/src/routes/{foss-spotlight → foss}/+page.svelte +11 -22
  38. package/src/routes/{foss-spotlight → legal}/+page.server.js +2 -2
  39. package/src/routes/{license → legal}/+page.svelte +11 -22
  40. package/src/routes/pgp/+page.svelte +10 -21
  41. package/src/routes/privacy/+page.svelte +10 -21
  42. package/src/routes/privacy-dashboard/+page.svelte +10 -27
  43. package/src/routes/services/+page.svelte +3 -16
  44. package/src/routes/terms-conditions/+page.svelte +10 -21
  45. package/src/routes/terms-of-use/+page.svelte +10 -21
  46. package/static/sitemap.xml +13 -13
  47. package/tests/e2e/mobile.spec.js +36 -17
  48. package/tests/e2e/shared/helpers.js +39 -1
  49. package/tests/meta/meta.test.js +1 -1
  50. package/tests/unit/server/meta.test.js +1 -1
  51. package/vercel.json +8 -8
  52. package/vite.config.js +11 -0
  53. package/vitest.config.client.js +9 -0
  54. package/CODE_OF_CONDUCT.md +0 -173
  55. package/CONTRIBUTING.md +0 -214
@@ -36,7 +36,7 @@ jobs:
36
36
  uses: actions/checkout@v5
37
37
 
38
38
  - name: Set up Node.js
39
- uses: actions/setup-node@v5
39
+ uses: actions/setup-node@v6
40
40
  with:
41
41
  node-version: 22
42
42
  cache: npm
@@ -96,7 +96,7 @@ jobs:
96
96
  run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
97
97
 
98
98
  - name: Upload source archive
99
- uses: actions/upload-artifact@v4
99
+ uses: actions/upload-artifact@v5
100
100
  with:
101
101
  name: clean-source
102
102
  path: clean-source.tar.gz
@@ -121,7 +121,7 @@ jobs:
121
121
  run: rm clean-source.tar.gz
122
122
 
123
123
  - name: Set up Node.js for npmjs
124
- uses: actions/setup-node@v5
124
+ uses: actions/setup-node@v6
125
125
  with:
126
126
  node-version: 22
127
127
  registry-url: https://registry.npmjs.org/
@@ -182,7 +182,7 @@ jobs:
182
182
  run: rm clean-source.tar.gz
183
183
 
184
184
  - name: Set up Node.js for GPR
185
- uses: actions/setup-node@v5
185
+ uses: actions/setup-node@v6
186
186
  with:
187
187
  node-version: 22
188
188
  registry-url: https://npm.pkg.github.com/
@@ -42,7 +42,7 @@ jobs:
42
42
  run: 'echo "ENV_MODE is set to: $ENV_MODE"'
43
43
 
44
44
  - name: Setup Node.js
45
- uses: actions/setup-node@v5
45
+ uses: actions/setup-node@v6
46
46
  with:
47
47
  node-version: 22
48
48
  cache: npm
@@ -23,7 +23,7 @@ jobs:
23
23
  uses: actions/checkout@v5
24
24
 
25
25
  - name: Set up Node.js
26
- uses: actions/setup-node@v5
26
+ uses: actions/setup-node@v6
27
27
  with:
28
28
  node-version: 22
29
29
 
@@ -32,7 +32,7 @@ jobs:
32
32
  run: 'echo "ENV_MODE is set to: $ENV_MODE"'
33
33
 
34
34
  - name: Set up Node.js
35
- uses: actions/setup-node@v5
35
+ uses: actions/setup-node@v6
36
36
  with:
37
37
  node-version: 22
38
38
  cache: npm
@@ -34,16 +34,16 @@ jobs:
34
34
  uses: actions/checkout@v5
35
35
 
36
36
  - name: Set up Node.js
37
- uses: actions/setup-node@v5
37
+ uses: actions/setup-node@v6
38
38
  with:
39
39
  node-version: 22
40
40
  cache: npm
41
41
  cache-dependency-path: package-lock.json
42
42
 
43
- - name: Show Node.js and npm versions
44
- run: |
45
- echo "Node.js version: $(node -v)"
46
- echo "npm version: $(npm -v)"
43
+ #- name: Show Node.js and npm versions
44
+ # run: |
45
+ # echo "Node.js version: $(node -v)"
46
+ # echo "npm version: $(npm -v)"
47
47
 
48
48
  - name: Upgrade npm
49
49
  run: |
@@ -94,7 +94,7 @@ jobs:
94
94
  run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
95
95
 
96
96
  - name: Upload source archive
97
- uses: actions/upload-artifact@v4
97
+ uses: actions/upload-artifact@v5
98
98
  with:
99
99
  name: clean-source
100
100
  path: clean-source.tar.gz
@@ -119,17 +119,17 @@ jobs:
119
119
  run: rm clean-source.tar.gz
120
120
 
121
121
  - name: Set up Node.js for npmjs
122
- uses: actions/setup-node@v5
122
+ uses: actions/setup-node@v6
123
123
  with:
124
124
  node-version: 22
125
125
  registry-url: https://registry.npmjs.org/
126
126
  cache: npm
127
127
  cache-dependency-path: package-lock.json
128
128
 
129
- - name: Show Node.js and npm versions
130
- run: |
131
- echo "Node.js version: $(node -v)"
132
- echo "npm version: $(npm -v)"
129
+ #- name: Show Node.js and npm versions
130
+ # run: |
131
+ # echo "Node.js version: $(node -v)"
132
+ # echo "npm version: $(npm -v)"
133
133
 
134
134
  - name: Upgrade npm
135
135
  run: |
@@ -180,17 +180,17 @@ jobs:
180
180
  run: rm clean-source.tar.gz
181
181
 
182
182
  - name: Set up Node.js for GPR
183
- uses: actions/setup-node@v5
183
+ uses: actions/setup-node@v6
184
184
  with:
185
185
  node-version: 22
186
186
  registry-url: https://npm.pkg.github.com/
187
187
  cache: npm
188
188
  cache-dependency-path: package-lock.json
189
189
 
190
- - name: Show Node.js and npm versions
191
- run: |
192
- echo "Node.js version: $(node -v)"
193
- echo "npm version: $(npm -v)"
190
+ #- name: Show Node.js and npm versions
191
+ # run: |
192
+ # echo "Node.js version: $(node -v)"
193
+ # echo "npm version: $(npm -v)"
194
194
 
195
195
  - name: Upgrade npm
196
196
  run: |
@@ -44,7 +44,7 @@ jobs:
44
44
  uses: actions/checkout@v5
45
45
 
46
46
  - name: Set up Node.js
47
- uses: actions/setup-node@v5
47
+ uses: actions/setup-node@v6
48
48
  with:
49
49
  node-version: 22
50
50
  cache: npm
@@ -104,7 +104,7 @@ jobs:
104
104
  run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
105
105
 
106
106
  - name: Upload source archive
107
- uses: actions/upload-artifact@v4
107
+ uses: actions/upload-artifact@v5
108
108
  with:
109
109
  name: clean-source
110
110
  path: clean-source.tar.gz
@@ -129,7 +129,7 @@ jobs:
129
129
  run: rm clean-source.tar.gz
130
130
 
131
131
  - name: Set up Node.js for npmjs
132
- uses: actions/setup-node@v5
132
+ uses: actions/setup-node@v6
133
133
  with:
134
134
  node-version: 22
135
135
  registry-url: https://registry.npmjs.org/
@@ -190,7 +190,7 @@ jobs:
190
190
  run: rm clean-source.tar.gz
191
191
 
192
192
  - name: Set up Node.js for GPR
193
- uses: actions/setup-node@v5
193
+ uses: actions/setup-node@v6
194
194
  with:
195
195
  node-version: 22
196
196
  registry-url: https://npm.pkg.github.com/
package/.ncurc.cjs ADDED
@@ -0,0 +1,50 @@
1
+ /* ==========================================================================
2
+ .ncurc.cjs
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
+ * ==========================================================
11
+ * npm-check-updates Configuration
12
+ * ----------------------------------------------------------
13
+ * This file defines upgrade behavior for project dependencies.
14
+ * It ensures consistent updates while protecting pinned tools
15
+ * that are known to break between major versions.
16
+ *
17
+ * 🔧 Usage:
18
+ * - Run `npm run check:updates` to preview safe upgrades
19
+ * - Run `npm run upgrade` to apply upgrades (respects these rules)
20
+ *
21
+ * 📜 Notes for Contributors:
22
+ * - Do NOT remove entries from "reject" unless a maintainer
23
+ * confirms the dependency has been tested and verified.
24
+ * - This config is automatically used by npm-check-updates (NCU)
25
+ * and requires no command-line flags.
26
+ *
27
+ * 💡 See CONTRIBUTING.md → "Dependency Management" for details.
28
+ * ==========================================================
29
+ */
30
+
31
+ /** @type {import('npm-check-updates').RunOptions} */
32
+ module.exports = {
33
+ // Ignore specific dependencies (prevent upgrades)
34
+ reject: ['vitest', '@vitest/coverage-v8', 'prettier', 'jsdom'],
35
+
36
+ // Always upgrade devDependencies as well
37
+ dep: 'prod,dev',
38
+
39
+ // Show a summary table
40
+ format: ['group', 'table'],
41
+
42
+ // Don’t automatically install — just update package.json
43
+ upgrade: true,
44
+
45
+ // Display upgraded dependencies as JSON (optional for automation)
46
+ jsonUpgraded: false,
47
+
48
+ // Enable readable colors when supported
49
+ color: true, // harmless, but CLI-only
50
+ };
package/.node-version CHANGED
@@ -1 +1 @@
1
- 22.20.0
1
+ 22.21.1
package/.nvmrc CHANGED
@@ -1 +1 @@
1
- 22.20.0
1
+ 22.21.1
package/CHANGELOG.md CHANGED
@@ -22,6 +22,101 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
22
22
 
23
23
  ---
24
24
 
25
+ ## [1.23.0] - 2025-10-30
26
+
27
+ ### Documentation
28
+
29
+ - Updated `src/lib/README.md` to reflect newly added app constants.
30
+
31
+ ### Changed
32
+
33
+ - Refactored all route files to use named imports from `$lib/components` and `$lib/pages` barrel modules, replacing individual `.svelte` imports for improved consistency and maintainability.
34
+ - Changed `COMPANY_INFO.APP_NAME` constant to `Network Pro™` in `src/lib/index.js`.
35
+ - Removed unnecessary `™` symbol from files that utilize the app constant.
36
+ - Changed `/license` and `/foss-spotlight` routes to `/legal` and `/foss`, respectively, for more intuitive navigation.
37
+ - Updated all references to the new routes, `/legal` and `/foss`.
38
+ - Updated `vercel.json` to redirect `/license` to `/legal`, and `/foss-spotlight` to `/foss`.
39
+ - Refactored Playwright helper utilities to modern standards:
40
+ - Replaced deprecated `page.waitForNavigation()` with `waitForURL()` and `waitForLoadState()` in `clickAndWaitForNavigation()` for improved SPA and full-page navigation reliability.
41
+ - Simplified logic and removed unsupported `lastResponse()` usage.
42
+ - Improved test stability for mobile navigation (especially in CI environments).
43
+ - Modified `tests/unit/server/meta.test.js` to match on `Locking Down Networks`, rather than `Network Pro`, which is now dynamically attached.
44
+ - Refreshed **Last Modified** timestamps in `static/sitemap.xml`.
45
+ - Updated `.node-version` and `.nvmrc` to utilize **Node.js** `22.21.1` (LTS).
46
+ - Updated generator metadata in `src/app.html` to reflect **SvelteKit 2.48.4**.
47
+ - Bumped project version to `v1.23.0`.
48
+ - Updated dependencies:
49
+ - `@sveltejs/kit` `2.48.3` → `2.48.4`
50
+ - `svelte` `5.43.0` → `5.43.2`
51
+ - `eslint-plugin-svelte` `^3.12.5` → `^3.13.0`
52
+
53
+ - Refactored metadata and SEO handling for consistency and maintainability:
54
+ - Centralized all `<meta>` and `<title>` management in `src/lib/components/MetaTags.svelte`.
55
+ - Removed redundant per-page `<svelte:head>` entries and `MetaTags` imports in individual `+page.svelte` files.
56
+ - Added dynamic canonical URL generation using route `pathname` from `+layout.js`.
57
+ - Implemented automatic title and description suffixing:
58
+ - Titles now end with `— Network Pro™`.
59
+ - Descriptions now end with `| Security, Networking, Privacy — Network Pro Strategies`.
60
+ - Cleaned up fallback values (`defaultTitle`, `defaultDescription`, `defaultMeta`) to prevent redundant branding text.
61
+ - Adjusted layout structure to ensure correct canonical and OpenGraph metadata per route.
62
+
63
+ - Updated `src/app.html`:
64
+ - Removed duplicate document sections and placeholder meta tags.
65
+ - Verified correct `%sveltekit.head%` placement for dynamic head injection.
66
+ - Moved static PWA-related metadata (e.g., `<meta name="theme-color">`) into `app.html`.
67
+ - Retained dynamic icons and preload links for cache-busted assets via `+layout.svelte`.
68
+
69
+ ### Security
70
+
71
+ - Added transitive dependency overrides to address reported vulnerabilities:
72
+ - `tar@7.5.1` → `tar@7.5.2` (fixes CVE-2025-64118: race condition/uninitialized memory exposure).
73
+ - Confirmed overrides applied correctly via `npm ls` and `npm explain`.
74
+
75
+ ---
76
+
77
+ ## [1.22.2] - 2025-10-29
78
+
79
+ ### Documentation
80
+
81
+ - Rewrote `CONTRIBUTING.md` to accurately describe the modern SvelteKit contribution workflow.
82
+ - Updated guidelines for branch naming, code style, and pull request submission.
83
+ - Removed outdated references to Webpack and `build/` artifacts.
84
+ - Moved `CONTRIBUTING.md` and `CODE_OF_CONDUCT.md` to the organization’s `.github` repository to centralize contribution and conduct policies across all projects.
85
+
86
+ ### Added
87
+
88
+ - Introduced `vite-plugin-devtools-json` as a new `devDependency` to improve DevTools and JSON inspection support.
89
+ - Added plugin configuration in `vite.config.js`.
90
+ - Added `.ncurc.json` configuration to define rules for `npm-check-updates`, preventing automatic upgrades of version-linked packages such as `vitest` and `@vitest/coverage-v8`.
91
+ - Added the term `ncurc` to `cspell.json` to prevent false-positive spell-check warnings.
92
+
93
+ ### Changed
94
+
95
+ - Updated GitHub workflows to utilize `actions/upload-artifact@v5` and `actions/setup-node@v6`:
96
+ - `templates/publish.template.yml`
97
+ - `build-and-publish.yml`
98
+ - `lighthouse.yml`
99
+ - `meta-check.yml`
100
+ - `playwright.yml`
101
+ - `publish-test.yml`
102
+ - Improved **Svelte 5** / Rune compatibility in `vitest.config.client.js`:
103
+ - Added `optimizeDeps.include` configuration to ensure `.svelte` files are properly transformed during testing, and to align with **Vitest 4.x** and future **Vite 6** compatibility.
104
+ - Prevents `rune_outside_svelte` errors and prepares for future **Vitest 4.x** updates.
105
+ - Updated generator metadata in `src/app.html` to reflect **SvelteKit 2.48.3**.
106
+ - Modified `.node-version` and `.nvmrc` to reflect **Node.js** version `22.21.0` (LTS).
107
+ - Bumped project version to `v1.22.2`.
108
+ - Updated dependencies:
109
+ - `@eslint/compat` `^1.4.0` → `^1.4.1`
110
+ - `@sveltejs/adapter-vercel` `^6.0.0` → `^6.1.1`
111
+ - `@sveltejs/kit` `2.47.2` → `2.48.3`
112
+ - `browserslist` `^4.26.3` → `^4.27.0`
113
+ - `eslint-plugin-jsdoc` `^61.1.5` → `^61.1.11`
114
+ - `posthog-js` `^1.278.0` → `^1.282.0`
115
+ - `svelte` `5.41.1` → `5.43.0`
116
+ - `vite` `^7.1.11` → `^7.1.12`
117
+
118
+ ---
119
+
25
120
  ## [1.22.1] - 2025-10-21
26
121
 
27
122
  ### Documentation
@@ -36,7 +131,7 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
36
131
  - Updated the text of `ServicesContent.svelte`.
37
132
  - Increased default Playwright test timeouts for navigation-sensitive suites (Desktop and Mobile) to improve stability under CI latency conditions.
38
133
  - Implemented `Promise.all()` pattern for combined click and navigation waits, reducing flakiness in route transition tests.
39
- - Updated the `'about' link'\*\* navigation tests in both Desktop and Mobile scenarios to include:
134
+ - Updated the `'about' link` navigation tests in both Desktop and Mobile scenarios to include:
40
135
  - Explicit `page.waitForLoadState('domcontentloaded')` calls before assertions.
41
136
  - Extended per-suite timeouts (`90s`) using `test.setTimeout(90000)` for reliability on slower environments.
42
137
  - Added fallback `waitForURL('\*\*/about', { timeout: 60000 })` to ensure deterministic routing checks.
@@ -1267,7 +1362,9 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
1267
1362
 
1268
1363
  <!-- Link references -->
1269
1364
 
1270
- [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.22.1...HEAD
1365
+ [Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.23.0...HEAD
1366
+ [1.23.0]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.23.0
1367
+ [1.22.2]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.22.2
1271
1368
  [1.22.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.22.1
1272
1369
  [1.22.0]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.22.0
1273
1370
  [1.21.1]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.21.1
package/LICENSE.md CHANGED
@@ -45,7 +45,7 @@ This document is provided for convenience only. In the event of any discrepancy,
45
45
 
46
46
  ---
47
47
 
48
- **Formats Available:** [HTML](https://netwk.pro/license) | Markdown
48
+ **Formats Available:** [HTML](https://netwk.pro/legal) | Markdown
49
49
 
50
50
  <a name="ownership"></a>
51
51
 
package/README.md CHANGED
@@ -465,11 +465,11 @@ Refer to the Wiki for:
465
465
 
466
466
  This project is licensed under:
467
467
 
468
- - [Creative Commons BY 4.0](https://netwk.pro/license#cc-by)
468
+ - [Creative Commons BY 4.0](https://netwk.pro/legal#cc-by)
469
469
 
470
- - Or optionally, [GNU GPL v3 or later](https://netwk.pro/license#gnu-gpl)
470
+ - Or optionally, [GNU GPL v3 or later](https://netwk.pro/legal#gnu-gpl)
471
471
 
472
- Source code, branding, and visual assets are subject to reuse and distribution terms specified on our [Legal, Copyright, and Licensing page](https://netwk.pro/license).
472
+ Source code, branding, and visual assets are subject to reuse and distribution terms specified on our [Legal, Copyright, and Licensing page](https://netwk.pro/legal).
473
473
 
474
474
  </section>
475
475
 
@@ -499,9 +499,9 @@ _Designed for professionals. Hardened for privacy. Built with intent._
499
499
  Copyright &copy; 2025
500
500
  **[Network Pro Strategies](https://netwk.pro) (Network Pro&trade;)**
501
501
 
502
- Network Pro&trade;, the shield logo, and the "Locking Down Networks...&trade;" slogan are [trademarks](https://netwk.pro/license#trademark) of Network Pro Strategies.
502
+ Network Pro&trade;, the shield logo, and the "Locking Down Networks...&trade;" slogan are [trademarks](https://netwk.pro/legal#trademark) of Network Pro Strategies.
503
503
 
504
- Licensed under **[CC BY 4.0](https://netwk.pro/license#cc-by)** and the **[GNU GPL](https://netwk.pro/license#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
504
+ Licensed under **[CC BY 4.0](https://netwk.pro/legal#cc-by)** and the **[GNU GPL](https://netwk.pro/legal#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
505
505
 
506
506
  </span>
507
507
 
package/budget.json CHANGED
@@ -21,7 +21,7 @@
21
21
  ]
22
22
  },
23
23
  {
24
- "path": "/foss-spotlight",
24
+ "path": "/foss",
25
25
  "resourceSizes": [
26
26
  { "resourceType": "image", "budget": 500 },
27
27
  { "resourceType": "total", "budget": 1200 }
package/cspell.json CHANGED
@@ -45,6 +45,7 @@
45
45
  "mdsvex",
46
46
  "MSYS",
47
47
  "navigations",
48
+ "ncurc",
48
49
  "neteng",
49
50
  "netpro",
50
51
  "netwk",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@networkpro/web",
3
3
  "private": false,
4
- "version": "1.22.1",
4
+ "version": "1.23.0",
5
5
  "description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
6
6
  "keywords": [
7
7
  "advisory",
@@ -52,7 +52,8 @@
52
52
  "verify": "npm run checkout",
53
53
  "delete": "rm -rf build .svelte-kit node_modules package-lock.json",
54
54
  "clean": "npm run delete && npm cache clean --force && npm install",
55
- "upgrade": "npm-check-updates -u",
55
+ "upgrade": "ncu -u --format group --color",
56
+ "check:updates": "ncu --format group --color",
56
57
  "test": "npm run test:all",
57
58
  "test:all": "npm run test:client -- --run && npm run test:server -- --run",
58
59
  "test:client": "vitest --config vitest.config.client.js",
@@ -78,27 +79,27 @@
78
79
  },
79
80
  "dependencies": {
80
81
  "dompurify": "^3.3.0",
81
- "posthog-js": "^1.278.0",
82
+ "posthog-js": "^1.282.0",
82
83
  "semver": "^7.7.3",
83
- "svelte": "5.41.1"
84
+ "svelte": "5.43.2"
84
85
  },
85
86
  "devDependencies": {
86
- "@eslint/compat": "^1.4.0",
87
+ "@eslint/compat": "^1.4.1",
87
88
  "@eslint/js": "^9.38.0",
88
89
  "@lhci/cli": "^0.15.1",
89
90
  "@playwright/test": "^1.56.1",
90
- "@sveltejs/adapter-vercel": "^6.0.0",
91
- "@sveltejs/kit": "2.47.2",
91
+ "@sveltejs/adapter-vercel": "^6.1.1",
92
+ "@sveltejs/kit": "2.48.4",
92
93
  "@sveltejs/vite-plugin-svelte": "^6.2.1",
93
94
  "@testing-library/jest-dom": "^6.9.1",
94
95
  "@testing-library/svelte": "^5.2.8",
95
- "@vitest/coverage-v8": "^3.2.4",
96
+ "@vitest/coverage-v8": "3.2.4",
96
97
  "autoprefixer": "^10.4.21",
97
- "browserslist": "^4.26.3",
98
+ "browserslist": "^4.27.0",
98
99
  "eslint": "^9.38.0",
99
100
  "eslint-config-prettier": "^10.1.8",
100
- "eslint-plugin-jsdoc": "^61.1.5",
101
- "eslint-plugin-svelte": "^3.12.5",
101
+ "eslint-plugin-jsdoc": "^61.1.11",
102
+ "eslint-plugin-svelte": "^3.13.0",
102
103
  "globals": "^16.4.0",
103
104
  "jsdom": "26.1.0",
104
105
  "lightningcss": "^1.30.2",
@@ -106,7 +107,7 @@
106
107
  "markdownlint-cli2": "^0.18.1",
107
108
  "playwright": "^1.56.1",
108
109
  "postcss": "^8.5.6",
109
- "prettier": "^3.6.2",
110
+ "prettier": "3.6.2",
110
111
  "prettier-plugin-svelte": "^3.4.0",
111
112
  "stylelint": "^16.25.0",
112
113
  "stylelint-config-html": "^1.1.0",
@@ -116,13 +117,15 @@
116
117
  "svelte-eslint-parser": "^1.4.0",
117
118
  "svelte-preprocess": "^6.0.3",
118
119
  "typescript": "^5.9.3",
119
- "vite": "^7.1.11",
120
+ "vite": "^7.1.12",
121
+ "vite-plugin-devtools-json": "^1.0.0",
120
122
  "vite-plugin-lightningcss": "^0.0.5",
121
123
  "vite-tsconfig-paths": "^5.1.4",
122
- "vitest": "^3.2.4"
124
+ "vitest": "3.2.4"
123
125
  },
124
126
  "overrides": {
125
- "tmp": ">=0.2.4",
126
- "cookie": "^1.0.0"
127
+ "cookie": "^1.0.0",
128
+ "tar": "7.5.2",
129
+ "tmp": ">=0.2.4"
127
130
  }
128
131
  }
package/src/app.html CHANGED
@@ -10,12 +10,12 @@
10
10
  This file is part of Network Pro.
11
11
  ====================================================================== -->
12
12
 
13
- <title>%sveltekit.title%</title>
14
- <meta name="description" content="%sveltekit.description%" />
13
+ <!-- ✅ DO NOT include any <title> or <meta name="description"> tags here
14
+ Titles and metadata are managed by SvelteKit via MetaTags.svelte -->
15
+
15
16
  <meta
16
17
  name="robots"
17
18
  content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
18
- <meta name="author" content="Scott Lopez" />
19
19
 
20
20
  <!-- Favicon: Keep only ICO for max compatibility -->
21
21
  <link
@@ -53,7 +53,7 @@
53
53
  content="bx4ham0zkpvzztzu213bhpt76m9siq" />
54
54
  <!-- cspell:enable -->
55
55
 
56
- <meta name="generator" content="SvelteKit 2.47.2" />
56
+ <meta name="generator" content="SvelteKit 2.48.4" />
57
57
 
58
58
  <script src="/disableSw.js"></script>
59
59
 
package/src/lib/README.md CHANGED
@@ -84,17 +84,20 @@ console.log(CONSTANTS.COMPANY_INFO.APP_NAME); // "Network Pro"
84
84
  | Key | Description | Example |
85
85
  | ---------- | ---------------------------- | ------------------------ |
86
86
  | `NAME` | Full company name | `Network Pro Strategies` |
87
- | `APP_NAME` | Application or branding name | `Network Pro` |
87
+ | `APP_NAME` | Application or branding name | `Network Pro™` |
88
88
  | `YEAR` | Copyright / app year | `2025` |
89
89
 
90
90
  ### 📬 CONTACT
91
91
 
92
- | Key | Description | Example |
93
- | --------- | ----------------------- | --------------------------- |
94
- | `EMAIL` | General support email | `support (at) neteng.pro` |
95
- | `SECURE` | Secure contact address | `contact (at) s.neteng.pro` |
96
- | `PRIVACY` | Privacy-related contact | `privacy (at) netwk.pro` |
97
- | `PHONE` | Company phone number | `(623) 252-4350` |
92
+ | Key | Description | Example |
93
+ | -------------- | ------------------------------ | --------------------------- |
94
+ | `EMAIL` | General support email | `support (at) netwk.pro` |
95
+ | `EMAIL_LINK` | General support email (link) | `support@netwk.pro` |
96
+ | `SECURE` | Secure contact address | `contact (at) s.neteng.pro` |
97
+ | `SECURE_LINK` | Secure contact address (link) | `contact@s.neteng.pro` |
98
+ | `PRIVACY` | Privacy-related contact | `privacy (at) netwk.pro` |
99
+ | `PRIVACY_LINK` | Privacy-related contact (link) | `privacy@netwk.pro` |
100
+ | `PHONE` | Company phone number | `(623) 252-4350` |
98
101
 
99
102
  ### 🗂️ PAGE
100
103
 
@@ -153,8 +156,8 @@ No need to modify imports when adding new images — just add them to `images.js
153
156
  Copyright &copy; 2025
154
157
  **[Network Pro Strategies](https://netwk.pro) (Network Pro&trade;)**
155
158
 
156
- Network Pro&trade;, the shield logo, and the "Locking Down Networks...&trade;" slogan are [trademarks](https://netwk.pro/license#trademark) of Network Pro Strategies.
159
+ Network Pro&trade;, the shield logo, and the "Locking Down Networks...&trade;" slogan are [trademarks](https://netwk.pro/legal#trademark) of Network Pro Strategies.
157
160
 
158
- Licensed under **[CC BY 4.0](https://netwk.pro/license#cc-by)** and the **[GNU GPL](https://netwk.pro/license#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
161
+ Licensed under **[CC BY 4.0](https://netwk.pro/legal#cc-by)** and the **[GNU GPL](https://netwk.pro/legal#gnu-gpl)**, as published by the [Free Software Foundation](https://www.fsf.org), either version 3 of the License, or (at your option) any later version.
159
162
 
160
163
  </span>
@@ -19,8 +19,8 @@ This file is part of Network Pro.
19
19
 
20
20
  const { PAGE } = CONSTANTS;
21
21
 
22
- const ccbyLink = `${base}/license#cc-by`;
23
- const gplLink = `${base}/license#gnu-gpl`;
22
+ const ccbyLink = `${base}/legal#cc-by`;
23
+ const gplLink = `${base}/legal#gnu-gpl`;
24
24
 
25
25
  /**
26
26
  * Badge link object.
@@ -19,7 +19,7 @@ This file is part of Network Pro.
19
19
 
20
20
  const termsLink = `${base}/terms-of-use`;
21
21
  const privacyLink = `${base}/privacy`;
22
- const licenseLink = `${base}/license`;
22
+ const licenseLink = `${base}/legal`;
23
23
  const pdashLink = `${base}/privacy-dashboard`;
24
24
 
25
25
  /**