@networkpro/web 1.25.18 → 1.25.20
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/.github/workflows/backup-branch.yml +1 -1
- package/.github/workflows/build-and-publish.yml +5 -5
- package/.github/workflows/dependency-review.yml +1 -1
- package/.github/workflows/lighthouse.yml +1 -1
- package/.github/workflows/meta-check.yml +1 -1
- package/.github/workflows/playwright.yml +1 -1
- package/.github/workflows/probely-scan.yml +1 -1
- package/.github/workflows/publish-test.yml +5 -5
- package/.github/workflows/secret-scan.yml +2 -2
- package/.github/workflows/templates/publish.template.yml +5 -5
- package/.lighthouserc.cjs +1 -1
- package/.ncurc.cjs +1 -1
- package/.node-version +1 -1
- package/.nvmrc +1 -1
- package/CHANGELOG.md +66 -2
- package/README.md +7 -5
- package/VERSIONING.md +47 -0
- package/package.json +12 -12
- package/src/lib/components/layout/HeaderDefault.svelte +2 -3
- package/src/lib/components/layout/HeaderHome.svelte +2 -3
- package/src/lib/pages/AboutContent.svelte +46 -57
- package/src/lib/pages/HomeContent.svelte +26 -26
- package/src/routes/+page.svelte +1 -1
- package/static/sitemap.xml +3 -15
- package/vitest-setup-client.js +0 -2
|
@@ -33,7 +33,7 @@ jobs:
|
|
|
33
33
|
|
|
34
34
|
steps:
|
|
35
35
|
- name: Checkout repository
|
|
36
|
-
uses: actions/checkout@
|
|
36
|
+
uses: actions/checkout@v6
|
|
37
37
|
|
|
38
38
|
- name: Set up Node.js
|
|
39
39
|
uses: actions/setup-node@v6
|
|
@@ -80,7 +80,7 @@ jobs:
|
|
|
80
80
|
|
|
81
81
|
- name: Upload JSDoc results
|
|
82
82
|
if: ${{ steps.jsdoc_lint.outputs.jsdoc_count != 0 }}
|
|
83
|
-
uses: actions/upload-artifact@
|
|
83
|
+
uses: actions/upload-artifact@v6
|
|
84
84
|
with:
|
|
85
85
|
name: jsdoc-lint-results
|
|
86
86
|
path: jsdoc-lint-output.txt
|
|
@@ -95,7 +95,7 @@ jobs:
|
|
|
95
95
|
run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
|
|
96
96
|
|
|
97
97
|
- name: Upload source archive
|
|
98
|
-
uses: actions/upload-artifact@
|
|
98
|
+
uses: actions/upload-artifact@v6
|
|
99
99
|
with:
|
|
100
100
|
name: clean-source
|
|
101
101
|
path: clean-source.tar.gz
|
|
@@ -108,7 +108,7 @@ jobs:
|
|
|
108
108
|
|
|
109
109
|
steps:
|
|
110
110
|
- name: Download clean source archive
|
|
111
|
-
uses: actions/download-artifact@
|
|
111
|
+
uses: actions/download-artifact@v7
|
|
112
112
|
with:
|
|
113
113
|
name: clean-source
|
|
114
114
|
path: ./
|
|
@@ -164,7 +164,7 @@ jobs:
|
|
|
164
164
|
|
|
165
165
|
steps:
|
|
166
166
|
- name: Download clean source archive
|
|
167
|
-
uses: actions/download-artifact@
|
|
167
|
+
uses: actions/download-artifact@v7
|
|
168
168
|
with:
|
|
169
169
|
name: clean-source
|
|
170
170
|
path: ./
|
|
@@ -31,7 +31,7 @@ jobs:
|
|
|
31
31
|
|
|
32
32
|
steps:
|
|
33
33
|
- name: Checkout repository
|
|
34
|
-
uses: actions/checkout@
|
|
34
|
+
uses: actions/checkout@v6
|
|
35
35
|
|
|
36
36
|
- name: Set up Node.js
|
|
37
37
|
uses: actions/setup-node@v6
|
|
@@ -79,7 +79,7 @@ jobs:
|
|
|
79
79
|
|
|
80
80
|
- name: Upload JSDoc results
|
|
81
81
|
if: ${{ steps.jsdoc_lint.outputs.jsdoc_count != 0 }}
|
|
82
|
-
uses: actions/upload-artifact@
|
|
82
|
+
uses: actions/upload-artifact@v6
|
|
83
83
|
with:
|
|
84
84
|
name: jsdoc-lint-results
|
|
85
85
|
path: jsdoc-lint-output.txt
|
|
@@ -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@
|
|
97
|
+
uses: actions/upload-artifact@v6
|
|
98
98
|
with:
|
|
99
99
|
name: clean-source
|
|
100
100
|
path: clean-source.tar.gz
|
|
@@ -107,7 +107,7 @@ jobs:
|
|
|
107
107
|
|
|
108
108
|
steps:
|
|
109
109
|
- name: Download clean source archive
|
|
110
|
-
uses: actions/download-artifact@
|
|
110
|
+
uses: actions/download-artifact@v7
|
|
111
111
|
with:
|
|
112
112
|
name: clean-source
|
|
113
113
|
path: ./
|
|
@@ -168,7 +168,7 @@ jobs:
|
|
|
168
168
|
|
|
169
169
|
steps:
|
|
170
170
|
- name: Download clean source archive
|
|
171
|
-
uses: actions/download-artifact@
|
|
171
|
+
uses: actions/download-artifact@v7
|
|
172
172
|
with:
|
|
173
173
|
name: clean-source
|
|
174
174
|
path: ./
|
|
@@ -27,7 +27,7 @@ jobs:
|
|
|
27
27
|
# ---------------------------------------------------------------------
|
|
28
28
|
# Checkout the full repo history (needed for Gitleaks to scan all commits)
|
|
29
29
|
# ---------------------------------------------------------------------
|
|
30
|
-
- uses: actions/checkout@
|
|
30
|
+
- uses: actions/checkout@v6
|
|
31
31
|
with:
|
|
32
32
|
fetch-depth: 0
|
|
33
33
|
|
|
@@ -50,7 +50,7 @@ jobs:
|
|
|
50
50
|
# ---------------------------------------------------------------------
|
|
51
51
|
- name: Upload Gitleaks Report
|
|
52
52
|
if: always() && (github.event.pull_request.head.repo.full_name == github.repository || github.event_name != 'pull_request')
|
|
53
|
-
uses: actions/upload-artifact@
|
|
53
|
+
uses: actions/upload-artifact@v6
|
|
54
54
|
with:
|
|
55
55
|
name: gitleaks-report
|
|
56
56
|
path: gitleaks-report.json
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
|
|
42
42
|
steps:
|
|
43
43
|
- name: Checkout repository
|
|
44
|
-
uses: actions/checkout@
|
|
44
|
+
uses: actions/checkout@v6
|
|
45
45
|
|
|
46
46
|
- name: Set up Node.js
|
|
47
47
|
uses: actions/setup-node@v6
|
|
@@ -84,7 +84,7 @@ jobs:
|
|
|
84
84
|
|
|
85
85
|
- name: Upload JSDoc results
|
|
86
86
|
if: ${{ steps.jsdoc_lint.outputs.jsdoc_count != 0 }}
|
|
87
|
-
uses: actions/upload-artifact@
|
|
87
|
+
uses: actions/upload-artifact@v6
|
|
88
88
|
with:
|
|
89
89
|
name: jsdoc-lint-results
|
|
90
90
|
path: jsdoc-lint-output.txt
|
|
@@ -99,7 +99,7 @@ jobs:
|
|
|
99
99
|
run: git archive --format=tar.gz --output=clean-source.tar.gz HEAD
|
|
100
100
|
|
|
101
101
|
- name: Upload source archive
|
|
102
|
-
uses: actions/upload-artifact@
|
|
102
|
+
uses: actions/upload-artifact@v6
|
|
103
103
|
with:
|
|
104
104
|
name: clean-source
|
|
105
105
|
path: clean-source.tar.gz
|
|
@@ -112,7 +112,7 @@ jobs:
|
|
|
112
112
|
|
|
113
113
|
steps:
|
|
114
114
|
- name: Download clean source archive
|
|
115
|
-
uses: actions/download-artifact@
|
|
115
|
+
uses: actions/download-artifact@v7
|
|
116
116
|
with:
|
|
117
117
|
name: clean-source
|
|
118
118
|
path: ./
|
|
@@ -168,7 +168,7 @@ jobs:
|
|
|
168
168
|
|
|
169
169
|
steps:
|
|
170
170
|
- name: Download clean source archive
|
|
171
|
-
uses: actions/download-artifact@
|
|
171
|
+
uses: actions/download-artifact@v7
|
|
172
172
|
with:
|
|
173
173
|
name: clean-source
|
|
174
174
|
path: ./
|
package/.lighthouserc.cjs
CHANGED
package/.ncurc.cjs
CHANGED
|
@@ -31,7 +31,7 @@ This file is part of Network Pro.
|
|
|
31
31
|
/** @type {import('npm-check-updates').RunOptions} */
|
|
32
32
|
module.exports = {
|
|
33
33
|
// Ignore specific dependencies (prevent upgrades)
|
|
34
|
-
reject: ['vitest', '@vitest/coverage-v8'
|
|
34
|
+
reject: ['vitest', '@vitest/coverage-v8'],
|
|
35
35
|
|
|
36
36
|
// Always upgrade devDependencies as well
|
|
37
37
|
dep: 'prod,dev',
|
package/.node-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
24.
|
|
1
|
+
24.12.0
|
package/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
24.
|
|
1
|
+
24.12.0
|
package/CHANGELOG.md
CHANGED
|
@@ -14,7 +14,9 @@ This file is part of Network Pro.
|
|
|
14
14
|
|
|
15
15
|
All notable changes to this project will be documented in this file.
|
|
16
16
|
|
|
17
|
-
This project
|
|
17
|
+
This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
18
|
+
Version numbers use a **SemVer-inspired** `MAJOR.MINOR.PATCH` format, with
|
|
19
|
+
version increments reflecting both user-visible and operational impact.
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
@@ -22,6 +24,66 @@ This project attempts to follow [Keep a Changelog](https://keepachangelog.com/en
|
|
|
22
24
|
|
|
23
25
|
---
|
|
24
26
|
|
|
27
|
+
## [1.25.20] - 2025-12-24
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
|
|
31
|
+
- Added `VERSIONING.md` to document the project’s versioning strategy.
|
|
32
|
+
|
|
33
|
+
### Changed
|
|
34
|
+
|
|
35
|
+
- Updated `.lighthouse.cjs` to utilize `https://netwk.pro` as the target.
|
|
36
|
+
- Removed **Services** route from `sitemap.xml` and refreshed last modified timestamps.
|
|
37
|
+
- Updated `README.md` to clarify the project's versioning strategy and changelog format.
|
|
38
|
+
- Updated `src/routes/+page.svelte` to apply `containerClass="readable"` to `<FullWidthSection>` for improved readability.
|
|
39
|
+
- Revised homepage and About page content (`HomeContent.svelte` and `AboutContent.svelte`) to better reflect the company’s current mission, focus, and messaging.
|
|
40
|
+
- Bumped project version to `v1.25.20`.
|
|
41
|
+
|
|
42
|
+
### Removed
|
|
43
|
+
|
|
44
|
+
- Removed **Services** from primary navigation (`HeaderDefault.svelte` and `HeaderHome.svelte`).
|
|
45
|
+
- Removed references to home implementation services from `AboutContent.svelte`.
|
|
46
|
+
- This change reflects a clarified focus on internal research, education, advocacy, and selectively aligned consulting, rather than broad outward-facing service offerings.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## [1.25.19] - 2025-12-24
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- Updated GitHub workflows to utilize `actions/checkout@v6`, `actions/upload-artifact@v6`, and `actions/download-artifact@v7`:
|
|
55
|
+
- `.github/workflows/templates/publish.template.yml`
|
|
56
|
+
- `.github/workflows/backup-branch.yml`
|
|
57
|
+
- `.github/workflows/build-and-publish.yml`
|
|
58
|
+
- `.github/workflows/dependency-review.yml`
|
|
59
|
+
- `.github/workflows/lighthouse.yml`
|
|
60
|
+
- `.github/workflows/meta-check.yml`
|
|
61
|
+
- `.github/workflows/playwright.yml`
|
|
62
|
+
- `.github/workflows/probely-scan.yml`
|
|
63
|
+
- `.github/workflows/publish-test.yml`
|
|
64
|
+
- `.github/workflows/secret-scan.yml`
|
|
65
|
+
- Corrected `README.md` to properly state that subsites are hosted on Vercel and Netlify.
|
|
66
|
+
- Updated `.node-version` and `.nvmrc` to utilize **Node.js** `v24.12.0`.
|
|
67
|
+
- Bumped project version to `v1.25.19`.
|
|
68
|
+
- Updated dependencies:
|
|
69
|
+
- `@eslint/js` `^9.39.1` → `^9.39.2`
|
|
70
|
+
- `@testing-library/svelte` `^5.2.9` → `^5.3.0`
|
|
71
|
+
- `autoprefixer` `^10.4.22` → `^10.4.23`
|
|
72
|
+
- `eslint` `^9.39.1` → `^9.39.2`
|
|
73
|
+
- `prettier-plugin-svelte` `^3.4.0` → `^3.4.1`
|
|
74
|
+
- `svelte-check` `^4.3.4` → `^4.3.5`
|
|
75
|
+
- `globby` `^16.0.0` → `^16.1.0`
|
|
76
|
+
- `posthog-js` `^1.305.0` → `^1.310.1`
|
|
77
|
+
- `svelte` `5.45.9` → `5.46.1`
|
|
78
|
+
- `vite` `^7.2.7` → `^7.3.0`
|
|
79
|
+
- `vite-tsconfig-paths` `^5.1.4` → `^6.0.3`
|
|
80
|
+
|
|
81
|
+
## Removed
|
|
82
|
+
|
|
83
|
+
- Removed `/* eslint-env vitest */` comment from `vitest-setup-client.js`, as it was causing an ESLint warning.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
25
87
|
## [1.25.18] - 2025-12-11
|
|
26
88
|
|
|
27
89
|
### Changed
|
|
@@ -2040,7 +2102,9 @@ This enables analytics filtering and CSP hardening for the audit environment.
|
|
|
2040
2102
|
|
|
2041
2103
|
<!-- Link references -->
|
|
2042
2104
|
|
|
2043
|
-
[Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.25.
|
|
2105
|
+
[Unreleased]: https://github.com/netwk-pro/netwk-pro.github.io/compare/v1.25.20...HEAD
|
|
2106
|
+
[1.25.20]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.20
|
|
2107
|
+
[1.25.19]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.19
|
|
2044
2108
|
[1.25.18]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.18
|
|
2045
2109
|
[1.25.17]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.17
|
|
2046
2110
|
[1.25.16]: https://github.com/netwk-pro/netwk-pro.github.io/releases/tag/v1.25.16
|
package/README.md
CHANGED
|
@@ -13,9 +13,9 @@ This file is part of Network Pro.
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
[](https://vercel.com) [](https://www.npmjs.com/package/@networkpro/web) [](https://github.com/netwk-pro/netwk-pro.github.io/actions/workflows/build-and-publish.yml)
|
|
17
|
-
[](https://github.com/prettier/prettier) [](https://stylelint.io/)
|
|
18
|
-
[](https://github.com/netwk-pro/netwk-pro.github.io/blob/master/CODE_OF_CONDUCT.md)
|
|
16
|
+
[](https://vercel.com) [](https://www.npmjs.com/package/@networkpro/web) [](https://github.com/netwk-pro/netwk-pro.github.io/actions/workflows/build-and-publish.yml)
|
|
17
|
+
[](https://github.com/prettier/prettier) [](https://stylelint.io/)
|
|
18
|
+
[](https://github.com/netwk-pro/netwk-pro.github.io/blob/master/CODE_OF_CONDUCT.md)
|
|
19
19
|
|
|
20
20
|
<section id="top">
|
|
21
21
|
|
|
@@ -24,7 +24,7 @@ This file is part of Network Pro.
|
|
|
24
24
|
This GitHub repository powers the official web presence of **[Network Pro Strategies](https://netwk.pro/about)** — a privacy-first consultancy specializing in cybersecurity, network engineering, and information security. We also lead public advocacy efforts promoting digital privacy and responsible cyber policy.
|
|
25
25
|
|
|
26
26
|
Built with [SvelteKit](https://kit.svelte.dev/) and deployed via [Vercel](https://vercel.com/).
|
|
27
|
-
[Blog](https://github.com/netwk-pro/blog) and [documentation](https://github.com/netwk-pro/docs) subsites built with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) and deployed via [
|
|
27
|
+
[Blog](https://github.com/netwk-pro/blog) and [documentation](https://github.com/netwk-pro/docs) subsites built with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) and deployed via [Vercel](https://vercel.com/) and [Netlify](https://netlify.com/).
|
|
28
28
|
|
|
29
29
|
All infrastructure and data flows are designed with **maximum transparency, self-hosting, and user privacy** in mind.
|
|
30
30
|
|
|
@@ -53,7 +53,9 @@ All infrastructure and data flows are designed with **maximum transparency, self
|
|
|
53
53
|
|
|
54
54
|
For a history of changes to the Network Pro™ Web Presence, see the **[CHANGELOG](https://github.com/netwk-pro/netwk-pro.github.io/blob/master/CHANGELOG.md)**. All notable updates are documented there.
|
|
55
55
|
|
|
56
|
-
This project follows
|
|
56
|
+
This project follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
57
|
+
Version numbers use a **SemVer-inspired** `MAJOR.MINOR.PATCH` format, with
|
|
58
|
+
version increments reflecting both user-visible and operational impact.
|
|
57
59
|
|
|
58
60
|
</section>
|
|
59
61
|
|
package/VERSIONING.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Versioning Policy
|
|
2
|
+
|
|
3
|
+
This project uses a **SemVer-inspired versioning scheme** based on the
|
|
4
|
+
`MAJOR.MINOR.PATCH` format.
|
|
5
|
+
|
|
6
|
+
Version numbers are intended to communicate the **impact of a change** rather
|
|
7
|
+
than strict compliance with the Semantic Versioning specification. In addition
|
|
8
|
+
to user-facing changes, version increments may reflect infrastructure, hosting,
|
|
9
|
+
or operational changes relevant to maintainers.
|
|
10
|
+
|
|
11
|
+
## Version Number Meaning
|
|
12
|
+
|
|
13
|
+
### MAJOR (`X.0.0`)
|
|
14
|
+
|
|
15
|
+
Incremented when changes introduce **user-visible incompatibilities**, such as:
|
|
16
|
+
|
|
17
|
+
- URL or navigation structure changes
|
|
18
|
+
- Removal or renaming of major sections
|
|
19
|
+
- Changes that break existing links or bookmarks
|
|
20
|
+
- Changes to access, availability, or licensing
|
|
21
|
+
|
|
22
|
+
### MINOR (`1.X.0`)
|
|
23
|
+
|
|
24
|
+
Incremented for **backward-compatible but significant changes**, including:
|
|
25
|
+
|
|
26
|
+
- Hosting platform migrations (e.g. Netlify → Vercel)
|
|
27
|
+
- Build or deployment pipeline changes
|
|
28
|
+
- Security header or CSP delivery changes
|
|
29
|
+
- Changes that may affect maintainers or operators, but not readers
|
|
30
|
+
- New features or content additions that do not break existing usage
|
|
31
|
+
|
|
32
|
+
### PATCH (`1.1.X`)
|
|
33
|
+
|
|
34
|
+
Incremented for **backward-compatible, low-impact changes**, such as:
|
|
35
|
+
|
|
36
|
+
- Content edits or corrections
|
|
37
|
+
- Dependency updates
|
|
38
|
+
- Tooling updates that do not alter build behavior
|
|
39
|
+
- Internal refactoring or cleanup
|
|
40
|
+
|
|
41
|
+
## Notes
|
|
42
|
+
|
|
43
|
+
- Infrastructure or platform changes may be considered “breaking” from a
|
|
44
|
+
maintainer perspective, but do not automatically imply a MAJOR version bump.
|
|
45
|
+
- Version numbers are intended to communicate **impact**, not just change.
|
|
46
|
+
- Detailed migration or operational notes are documented in the changelog when
|
|
47
|
+
relevant.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@networkpro/web",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.25.
|
|
4
|
+
"version": "1.25.20",
|
|
5
5
|
"description": "Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"advisory",
|
|
@@ -86,13 +86,13 @@
|
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
88
|
"dompurify": "^3.3.1",
|
|
89
|
-
"posthog-js": "^1.
|
|
89
|
+
"posthog-js": "^1.310.1",
|
|
90
90
|
"semver": "^7.7.3",
|
|
91
|
-
"svelte": "5.
|
|
91
|
+
"svelte": "5.46.1"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@eslint/compat": "^2.0.0",
|
|
95
|
-
"@eslint/js": "^9.39.
|
|
95
|
+
"@eslint/js": "^9.39.2",
|
|
96
96
|
"@lhci/cli": "^0.15.1",
|
|
97
97
|
"@playwright/test": "^1.57.0",
|
|
98
98
|
"@sveltejs/adapter-netlify": "^5.2.4",
|
|
@@ -100,16 +100,16 @@
|
|
|
100
100
|
"@sveltejs/kit": "2.49.2",
|
|
101
101
|
"@sveltejs/vite-plugin-svelte": "^6.2.1",
|
|
102
102
|
"@testing-library/jest-dom": "^6.9.1",
|
|
103
|
-
"@testing-library/svelte": "^5.
|
|
103
|
+
"@testing-library/svelte": "^5.3.0",
|
|
104
104
|
"@vitest/coverage-v8": "3.2.4",
|
|
105
|
-
"autoprefixer": "^10.4.
|
|
105
|
+
"autoprefixer": "^10.4.23",
|
|
106
106
|
"browserslist": "^4.28.1",
|
|
107
|
-
"eslint": "^9.39.
|
|
107
|
+
"eslint": "^9.39.2",
|
|
108
108
|
"eslint-config-prettier": "^10.1.8",
|
|
109
109
|
"eslint-plugin-jsdoc": "^61.5.0",
|
|
110
110
|
"eslint-plugin-svelte": "^3.13.1",
|
|
111
111
|
"globals": "^16.5.0",
|
|
112
|
-
"globby": "^16.
|
|
112
|
+
"globby": "^16.1.0",
|
|
113
113
|
"jsdom": "27.3.0",
|
|
114
114
|
"lightningcss": "^1.30.2",
|
|
115
115
|
"markdownlint": "^0.40.0",
|
|
@@ -118,20 +118,20 @@
|
|
|
118
118
|
"playwright": "^1.57.0",
|
|
119
119
|
"postcss": "^8.5.6",
|
|
120
120
|
"prettier": "3.7.4",
|
|
121
|
-
"prettier-plugin-svelte": "^3.4.
|
|
121
|
+
"prettier-plugin-svelte": "^3.4.1",
|
|
122
122
|
"simple-git-hooks": "^2.13.1",
|
|
123
123
|
"stylelint": "^16.26.1",
|
|
124
124
|
"stylelint-config-html": "^1.1.0",
|
|
125
125
|
"stylelint-config-recommended": "^17.0.0",
|
|
126
126
|
"stylelint-order": "^7.0.0",
|
|
127
|
-
"svelte-check": "^4.3.
|
|
127
|
+
"svelte-check": "^4.3.5",
|
|
128
128
|
"svelte-eslint-parser": "^1.4.1",
|
|
129
129
|
"svelte-preprocess": "^6.0.3",
|
|
130
130
|
"typescript": "^5.9.3",
|
|
131
|
-
"vite": "^7.
|
|
131
|
+
"vite": "^7.3.0",
|
|
132
132
|
"vite-plugin-devtools-json": "^1.0.0",
|
|
133
133
|
"vite-plugin-lightningcss": "^0.0.5",
|
|
134
|
-
"vite-tsconfig-paths": "^
|
|
134
|
+
"vite-tsconfig-paths": "^6.0.3",
|
|
135
135
|
"vitest": "3.2.4"
|
|
136
136
|
},
|
|
137
137
|
"overrides": {
|
|
@@ -19,7 +19,7 @@ This file is part of Network Pro.
|
|
|
19
19
|
|
|
20
20
|
const homeLink = base || '/';
|
|
21
21
|
const aboutLink = `${base}/about`;
|
|
22
|
-
const servLink = `${base}/services`;
|
|
22
|
+
//const servLink = `${base}/services`;
|
|
23
23
|
const lhubLink = `${base}/links`;
|
|
24
24
|
const fossLink = `${base}/foss`;
|
|
25
25
|
const discussLink =
|
|
@@ -42,7 +42,6 @@ This file is part of Network Pro.
|
|
|
42
42
|
const nav = [
|
|
43
43
|
{ label: 'home', href: homeLink, target: PAGE.SELF, external: false },
|
|
44
44
|
{ label: 'about', href: aboutLink, target: PAGE.SELF, external: false },
|
|
45
|
-
{ label: 'services', href: servLink, target: PAGE.SELF, external: false },
|
|
46
45
|
{
|
|
47
46
|
label: 'blog',
|
|
48
47
|
href: LINKS.BLOG,
|
|
@@ -88,7 +87,7 @@ This file is part of Network Pro.
|
|
|
88
87
|
{/if}
|
|
89
88
|
<!-- Separator logic -->
|
|
90
89
|
{#if index < nav.length - 1}
|
|
91
|
-
{#if label === '
|
|
90
|
+
{#if label === 'foss'}
|
|
92
91
|
<br />
|
|
93
92
|
{:else}
|
|
94
93
|
<span class="goldseparator">|</span>
|
|
@@ -19,7 +19,7 @@ This file is part of Network Pro.
|
|
|
19
19
|
|
|
20
20
|
const aboutLink = `${base}/about`;
|
|
21
21
|
const fossLink = `${base}/foss`;
|
|
22
|
-
const servLink = `${base}/services`;
|
|
22
|
+
//const servLink = `${base}/services`;
|
|
23
23
|
const lhubLink = `${base}/links`;
|
|
24
24
|
const discussLink =
|
|
25
25
|
'https://github.com/netwk-pro/netwk-pro.github.io/discussions';
|
|
@@ -40,7 +40,6 @@ This file is part of Network Pro.
|
|
|
40
40
|
*/
|
|
41
41
|
const nav = [
|
|
42
42
|
{ label: 'about', href: aboutLink, target: PAGE.SELF, external: false },
|
|
43
|
-
{ label: 'services', href: servLink, target: PAGE.SELF, external: false },
|
|
44
43
|
{
|
|
45
44
|
label: 'blog',
|
|
46
45
|
href: LINKS.BLOG,
|
|
@@ -86,7 +85,7 @@ This file is part of Network Pro.
|
|
|
86
85
|
{/if}
|
|
87
86
|
<!-- Separator logic -->
|
|
88
87
|
{#if index < nav.length - 1}
|
|
89
|
-
{#if label === '
|
|
88
|
+
{#if label === 'foss'}
|
|
90
89
|
<br />
|
|
91
90
|
{:else}
|
|
92
91
|
<span class="goldseparator">|</span>
|
|
@@ -30,7 +30,7 @@ This file is part of Network Pro.
|
|
|
30
30
|
* URL to the Consultation route, using the base path
|
|
31
31
|
* @type {string}
|
|
32
32
|
*/
|
|
33
|
-
const consultLink = `${base}/consultation`;
|
|
33
|
+
//const consultLink = `${base}/consultation`;
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* URL to the Services route, using the base path
|
|
@@ -121,7 +121,7 @@ This file is part of Network Pro.
|
|
|
121
121
|
<div class="spacer"></div>
|
|
122
122
|
|
|
123
123
|
<section id="subhead">
|
|
124
|
-
<h2>Security
|
|
124
|
+
<h2>Security, with Intent</h2>
|
|
125
125
|
</section>
|
|
126
126
|
<!-- END TITLE -->
|
|
127
127
|
|
|
@@ -137,87 +137,76 @@ This file is part of Network Pro.
|
|
|
137
137
|
</p>
|
|
138
138
|
|
|
139
139
|
<p>
|
|
140
|
-
At <strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME})</strong>,
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
doesn't have to come at the cost of user autonomy, and that privacy-minded
|
|
144
|
-
solutions can be both practical and powerful.
|
|
140
|
+
At <strong>{COMPANY_INFO.NAME} ({COMPANY_INFO.APP_NAME})</strong>, our work
|
|
141
|
+
centers on advancing practical security, infrastructure resilience, and
|
|
142
|
+
digital privacy through research, development, education, and advocacy.
|
|
145
143
|
</p>
|
|
146
144
|
|
|
147
145
|
<p>
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
where they offer competitive functionality, control, and visibility. When proprietary
|
|
153
|
-
platforms are better suited, we deploy them responsibly and securely—ensuring every
|
|
154
|
-
recommendation is grounded in
|
|
155
|
-
<strong>technical merit</strong>, <strong>scalability</strong>, and
|
|
156
|
-
<strong>client goals</strong>.
|
|
146
|
+
We design, operate, and study real-world systems with a focus on understanding
|
|
147
|
+
how security works in practice—not just in theory. Our goal is to produce
|
|
148
|
+
clear, credible guidance and tools that respect user autonomy, scale
|
|
149
|
+
responsibly, and reflect the realities of modern infrastructure.
|
|
157
150
|
</p>
|
|
158
151
|
|
|
159
|
-
<h3>What We Do</h3>
|
|
160
152
|
<p>
|
|
161
|
-
|
|
162
|
-
|
|
153
|
+
Where appropriate, we also apply this work through limited consulting
|
|
154
|
+
engagements, offering focused expertise in network security, cybersecurity,
|
|
155
|
+
and privacy engineering for organizations seeking intentional, well-reasoned
|
|
156
|
+
solutions.
|
|
163
157
|
</p>
|
|
164
158
|
|
|
165
|
-
<
|
|
166
|
-
<li><strong>Network Hardening & Perimeter Defense</strong></li>
|
|
167
|
-
<li><strong>Firewall Architecture & Policy Optimization</strong></li>
|
|
168
|
-
<li><strong>Zero Trust Implementation</strong></li>
|
|
169
|
-
<li><strong>Secure Infrastructure Design & Implementation</strong></li>
|
|
170
|
-
<li><strong>Risk Reduction & Security Posture Assessment</strong></li>
|
|
171
|
-
</ul>
|
|
159
|
+
<h3>What We Do</h3>
|
|
172
160
|
|
|
173
161
|
<p>
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
clear value, with zero fluff.
|
|
162
|
+
{COMPANY_INFO.APP_NAME} is focused on internal research, development, education,
|
|
163
|
+
and advocacy in the areas of network security, infrastructure design, and digital
|
|
164
|
+
privacy.
|
|
178
165
|
</p>
|
|
179
166
|
|
|
180
|
-
<
|
|
167
|
+
<p>
|
|
168
|
+
Our work centers on building and operating real-world systems, conducting
|
|
169
|
+
exploratory and applied research, developing proof-of-concept environments,
|
|
170
|
+
and publishing practical insights drawn from hands-on experience. These
|
|
171
|
+
efforts inform the tools, guidance, and educational content we share with the
|
|
172
|
+
broader community.
|
|
173
|
+
</p>
|
|
181
174
|
|
|
182
175
|
<p>
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
<a href={servLink} target={PAGE.SELF}>on-site services</a> are available to both
|
|
187
|
-
consumers and businesses. In addition to consulting, we offer the following services:
|
|
176
|
+
We also offer <strong
|
|
177
|
+
>limited consulting on a selective, case-by-case basis</strong
|
|
178
|
+
>, typically aligned with our research focus areas, including:
|
|
188
179
|
</p>
|
|
189
180
|
|
|
190
181
|
<ul>
|
|
191
|
-
<li
|
|
192
|
-
<li
|
|
193
|
-
<li
|
|
194
|
-
<li
|
|
195
|
-
<li
|
|
196
|
-
<li><strong>Add a Wi-Fi Device</strong></li>
|
|
197
|
-
<li><strong>Add or Configure a Printer</strong></li>
|
|
182
|
+
<li>Network Hardening & Perimeter Defense</li>
|
|
183
|
+
<li>Firewall Architecture & Policy Optimization</li>
|
|
184
|
+
<li>Zero Trust Design Principles</li>
|
|
185
|
+
<li>Secure Infrastructure Architecture</li>
|
|
186
|
+
<li>Risk Reduction & Security Posture Assessment</li>
|
|
198
187
|
</ul>
|
|
199
188
|
|
|
200
|
-
<div class="spacer"></div>
|
|
201
|
-
|
|
202
189
|
<p>
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
190
|
+
Rather than operating as a traditional consultancy, our engagement model
|
|
191
|
+
prioritizes depth, intent, and alignment. Consulting work is approached as an
|
|
192
|
+
extension of our internal projects and research—not as a volume-driven service
|
|
193
|
+
offering.
|
|
206
194
|
</p>
|
|
207
195
|
|
|
208
196
|
<p>
|
|
209
|
-
At
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
197
|
+
At Network Pro™, we believe strong security comes from understanding systems
|
|
198
|
+
deeply, communicating clearly, and designing with purpose. Our goal is not
|
|
199
|
+
scale for its own sake, but meaningful work that advances security practice,
|
|
200
|
+
privacy awareness, and resilient infrastructure.
|
|
213
201
|
</p>
|
|
214
202
|
|
|
203
|
+
<div class="spacer"></div>
|
|
204
|
+
|
|
215
205
|
<p>
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
>Schedule a free, initial consultation</a> today and discover what's possible.
|
|
206
|
+
Interested in our work or exploring a potential collaboration? <a
|
|
207
|
+
href={contactLink}
|
|
208
|
+
target={PAGE.BLANK}>Let's connect</a
|
|
209
|
+
>.
|
|
221
210
|
</p>
|
|
222
211
|
|
|
223
212
|
<p>
|
|
@@ -43,45 +43,45 @@ This file is part of Network Pro.
|
|
|
43
43
|
</script>
|
|
44
44
|
|
|
45
45
|
<!-- BEGIN HOME CONTENT -->
|
|
46
|
-
<h3 class={classIndex}
|
|
46
|
+
<h3 class={classIndex}>🔐 Security, with Intent</h3>
|
|
47
47
|
|
|
48
48
|
<p class={classCenter}>
|
|
49
|
-
At <strong>{COMPANY_INFO.NAME}</strong>, we
|
|
50
|
-
|
|
51
|
-
real-world
|
|
52
|
-
practical solutions—leveraging a strategic mix of open source and proprietary
|
|
53
|
-
technologies based on performance, scalability, and trustworthiness.
|
|
49
|
+
At <strong>{COMPANY_INFO.NAME}</strong>, we advance practical cybersecurity,
|
|
50
|
+
resilient infrastructure, and digital privacy through hands-on research,
|
|
51
|
+
real-world engineering, education, and advocacy.
|
|
54
52
|
</p>
|
|
55
53
|
|
|
56
54
|
<p class={classCenter}>
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
Our work centers on understanding how systems behave in practice—building,
|
|
56
|
+
testing, and operating secure environments to surface insights that are
|
|
57
|
+
grounded in reality, not ideology. We believe effective security respects
|
|
58
|
+
autonomy, scales responsibly, and is designed with purpose.
|
|
60
59
|
</p>
|
|
61
60
|
|
|
62
61
|
<p class={classCenter}>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
A core part of our mission is education and awareness. Through published
|
|
63
|
+
research, technical writing, and community-focused content, we aim to make
|
|
64
|
+
security concepts more accessible, transparent, and actionable for both
|
|
65
|
+
technical and non-technical audiences.
|
|
66
|
+
</p>
|
|
67
|
+
|
|
68
|
+
<p class={classCenter}>
|
|
69
|
+
Where there is strong alignment, we also apply this work through <strong
|
|
70
|
+
>limited, selective consulting engagements</strong
|
|
71
|
+
>, offering focused expertise in network security, infrastructure design, and
|
|
72
|
+
privacy engineering.
|
|
70
73
|
</p>
|
|
71
74
|
|
|
72
75
|
<div class="spacer"></div>
|
|
73
76
|
|
|
74
77
|
<p class={classCenter}>
|
|
75
|
-
<strong>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
🔐 <strong>Secure Email:</strong>
|
|
83
|
-
<a href={`mailto:${CONTACT.SECURE_LINK}`} target={PAGE.BLANK}
|
|
84
|
-
>{CONTACT.SECURE_LINK}</a>
|
|
78
|
+
📡 <strong>Stay informed</strong>.<br />
|
|
79
|
+
<em>
|
|
80
|
+
Follow our
|
|
81
|
+
<a href={LINKS.BLOG} target={PAGE.SELF}>work</a> for research findings, practical
|
|
82
|
+
guidance, and perspectives on security, infrastructure, and digital privacy—shared
|
|
83
|
+
openly and grounded in real-world experience.
|
|
84
|
+
</em>
|
|
85
85
|
</p>
|
|
86
86
|
|
|
87
87
|
|
package/src/routes/+page.svelte
CHANGED
package/static/sitemap.xml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!-- Sitemap last updated 2025-12-
|
|
2
|
+
<!-- Sitemap last updated 2025-12-25 -->
|
|
3
3
|
|
|
4
4
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<loc>https://netwk.pro</loc>
|
|
9
9
|
|
|
10
|
-
<lastmod>2025-12-
|
|
10
|
+
<lastmod>2025-12-25</lastmod>
|
|
11
11
|
|
|
12
12
|
<changefreq>weekly</changefreq>
|
|
13
13
|
|
|
@@ -15,18 +15,6 @@
|
|
|
15
15
|
|
|
16
16
|
</url>
|
|
17
17
|
|
|
18
|
-
<url>
|
|
19
|
-
|
|
20
|
-
<loc>https://netwk.pro/services</loc>
|
|
21
|
-
|
|
22
|
-
<lastmod>2025-11-09</lastmod>
|
|
23
|
-
|
|
24
|
-
<changefreq>monthly</changefreq>
|
|
25
|
-
|
|
26
|
-
<priority>0.8</priority>
|
|
27
|
-
|
|
28
|
-
</url>
|
|
29
|
-
|
|
30
18
|
<url>
|
|
31
19
|
|
|
32
20
|
<loc>https://netwk.pro/foss</loc>
|
|
@@ -43,7 +31,7 @@
|
|
|
43
31
|
|
|
44
32
|
<loc>https://netwk.pro/about</loc>
|
|
45
33
|
|
|
46
|
-
<lastmod>2025-
|
|
34
|
+
<lastmod>2025-12-25</lastmod>
|
|
47
35
|
|
|
48
36
|
<changefreq>monthly</changefreq>
|
|
49
37
|
|
package/vitest-setup-client.js
CHANGED
|
@@ -5,8 +5,6 @@ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
|
5
5
|
This file is part of Network Pro.
|
|
6
6
|
========================================================================= */
|
|
7
7
|
|
|
8
|
-
/* eslint-env vitest */
|
|
9
|
-
|
|
10
8
|
import '@testing-library/jest-dom/vitest';
|
|
11
9
|
import { cleanup } from '@testing-library/svelte';
|
|
12
10
|
import { afterEach, vi } from 'vitest';
|