Compare commits

..

5 Commits

Author SHA1 Message Date
naomi a13eb8dbec feat: update treenation badge, add tree counter, adjust media queries
Node.js CI / CI (push) Failing after 18s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 54s
2026-04-16 14:54:34 -07:00
naomi 2351245698 release: v4.0.1 2026-04-16 14:54:32 -07:00
naomi f67c0ec850 chore: merge remote changes
Node.js CI / CI (push) Successful in 21s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 2m46s
2026-03-03 13:43:45 -08:00
hikari 6de20dbdee fix: move @import before @font-face and remove Vampyr font 2026-03-03 13:43:04 -08:00
hikari c477cebe92 chore: replace .npmrc with pnpm-workspace.yaml
Node.js CI / CI (push) Successful in 26s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m23s
2026-03-02 16:26:46 -08:00
5 changed files with 63 additions and 63 deletions
-25
View File
@@ -1,25 +0,0 @@
# Package Manager Configuration
# Force pnpm usage - breaks npm/yarn intentionally
node-linker=pnpm
# Security: Disable all lifecycle scripts
ignore-scripts=true
enable-pre-post-scripts=false
# Security: Require packages to be 10+ days old before installation
minimum-release-age=14400
# Security: Verify package integrity hashes
verify-store-integrity=true
# Security: Enforce strict trust policies
trust-policy=strict
# Security: Strict peer dependency resolution
strict-peer-dependencies=true
# Performance: Use symlinks for node_modules
symlink=true
# Lockfile: Ensure lockfile is not modified during install
frozen-lockfile=false
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "website-headers",
"version": "4.0.0",
"version": "4.0.1",
"description": "",
"main": "index.js",
"type": "module",
@@ -23,7 +23,7 @@
"@types/node": "22.10.2",
"concurrently": "9.1.0",
"eslint": "9.17.0",
"globals": "17.3.0",
"globals": "15.14.0",
"terser": "5.37.0",
"tsx": "4.19.2",
"typescript": "5.7.2"
+2 -18
View File
@@ -24,8 +24,8 @@ importers:
specifier: 9.17.0
version: 9.17.0
globals:
specifier: 17.3.0
version: 17.3.0
specifier: 15.14.0
version: 15.14.0
terser:
specifier: 5.37.0
version: 5.37.0
@@ -486,61 +486,51 @@ packages:
resolution: {integrity: sha512-IPSCTzP8GRYzY+siSnggIKrckC2U+kVXoen6eSHRDgU9a4EZCHHWWOiKio1EkieOOk2j6EvZaaHfQUCmt8UJBg==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.29.0':
resolution: {integrity: sha512-GvHPu0UIDx+ohyS8vTYnwoSVMM5BH3NO+JwQs6GWNCuQVlC5rKxnH2WClTGu3NxiIfhKLai08IKUwn3QbzX1UQ==}
cpu: [arm]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.29.0':
resolution: {integrity: sha512-Pnnn/2CAZWcH9GQoj1nnr85Ejh7aNDe5MsEV0xhuFNUPF0SdnutJ7b2muOI5Kx12T0/i2ol5B/tlhMviZQDL3g==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.29.0':
resolution: {integrity: sha512-AP+DLj4q9FT22ZL43ssA3gizEn7/MfJcZ1BOuyEPqoriuH3a8VRuDddN0MtpUwEtiZL6jc1GY5/eL99hkloQ1Q==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-loongarch64-gnu@4.29.0':
resolution: {integrity: sha512-1+jPFClHmDATqbk0Cwi74KEOymVcs09Vbqe/CTKqLwCP0TeP2CACfnMnjYBs5CJgO20e/4bxFtmbR/9fKE1gug==}
cpu: [loong64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-powerpc64le-gnu@4.29.0':
resolution: {integrity: sha512-Nmt5Us5w2dL8eh7QVyAIDVVwBv4wk8ljrBQe7lWkLaOcwABDaFQ3K4sAAC6IsOdJwaXXW+d85zVaMN+Xl8Co2w==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-riscv64-gnu@4.29.0':
resolution: {integrity: sha512-KGuQ8WGhnq09LR7eOru7P9jfBSYXTMhq6TyavWfmEo+TxvkvuRwOCee5lPIa6HYjblOuFr4GeOxSE0c8iyw2Fg==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-s390x-gnu@4.29.0':
resolution: {integrity: sha512-lSQtvrYIONme7a4gbf4O9d3zbZat3/5covIeoqk27ZIkTgBeL/67x+wq2bZfpLjkqQQp5SjBPQ/n0sg8iArzTg==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.29.0':
resolution: {integrity: sha512-qh0ussrXBwnF4L07M9t1+jpHRhiGSae+wpNQDbmlXHXciT7pqpZ5zpk4dyGZPtDGB2l2clDiufE16BufXPGRWQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.29.0':
resolution: {integrity: sha512-YEABzSaRS7+v14yw6MVBZoMqLoUyTX1/sJoGeC0euvgMrzvw0i+jHo4keDZgYeOblfwdseVAf6ylxWSvcBAKTA==}
cpu: [x64]
os: [linux]
libc: [musl]
'@rollup/rollup-win32-arm64-msvc@4.29.0':
resolution: {integrity: sha512-jA4+oxG7QTTtSQxwSHzFVwShcppHO2DpkbAM59pfD5WMG/da79yQaeBtXAfGTI+ciUx8hqK3RF3H2KWByITXtQ==}
@@ -1262,10 +1252,6 @@ packages:
resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
engines: {node: '>=18'}
globals@17.3.0:
resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==}
engines: {node: '>=18'}
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
@@ -3463,8 +3449,6 @@ snapshots:
globals@15.14.0: {}
globals@17.3.0: {}
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
+21
View File
@@ -0,0 +1,21 @@
# Security
# Do not execute any scripts of installed packages (project scripts still run)
ignoreDepScripts: true
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
enablePrePostScripts: false
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
minimumReleaseAge: 14400
# Fail if a package's trust level has decreased compared to previous releases
trustPolicy: no-downgrade
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
trustPolicyIgnoreAfter: 525960
# Fail if there are missing or invalid peer dependencies
strictPeerDependencies: true
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
blockExoticSubdeps: true
# Lockfile
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
preferFrozenLockfile: false
+38 -18
View File
@@ -180,14 +180,10 @@ nhcarriganHeadersLargeIcon.href
const nhcarriganHeadersStyles = document.createElement("style");
nhcarriganHeadersStyles.id = "nhcarrigan-global-styles";
nhcarriganHeadersStyles.innerHTML = `
@font-face {
font-family: 'Vampyr';
src: url('https://cdn.nhcarrigan.com/fonts/vampyr.ttf') format('truetype');
}
/* Import fun and whimsical fonts! */
@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Creepster&family=Griffy&family=Henny+Penny&display=swap');
:root {
/* Witchy Purple Rose Palette */
--witch-purple: #2B1B3D;
@@ -686,7 +682,7 @@ pre {
}
.mystical-text {
font-family: 'Henny Penny', 'Vampyr', cursive;
font-family: 'Henny Penny', cursive;
letter-spacing: 2px;
text-shadow: 2px 2px 4px rgba(68, 39, 90, 0.4);
}
@@ -703,20 +699,43 @@ pre {
text-shadow: none;
}
@media screen and (max-width: 625px) {
#tree-nation-offset-website {
@media screen and (max-width: 1000px) {
#tree-nation-tree-counter {
display: none;
}
footer, #footer-inner-container {
height: 50px;
justify-content: space-around;
}
main {
margin-bottom: 60px;
}
}
@media screen and (max-width: 425px) {
@media screen and (max-width: 835px) {
#theme-select-button {
font-size: 10pt;
padding: 8px 16px;
}
#show-socials-button {
font-size: 10pt;
padding: 8px 16px;
}
}
@media screen and (max-width: 768px) {
#tree-nation-offset-website {
display: none;
}
}
@media screen and (max-width: 625px) {
footer, #footer-inner-container {
height: 75px;
justify-content: space-around;
}
main {
margin-bottom: 85px;
}
#footer-copyright {
font-size: 10pt;
}
}
@media screen and (max-width: 560px) {
#donate-badge {
display: none;
}
@@ -736,6 +755,7 @@ pre {
const nhcarriganHeadersFooter = document.createElement("footer");
nhcarriganHeadersFooter.innerHTML = `
<div id="footer-inner-container">
<div id="tree-nation-tree-counter" data-widget-type="tree-counter" data-tree-nation-code="52a9395caa57df28" data-lang="en" data-theme="dark"></div>
<p id="footer-copyright" style="margin: 0; display: flex; align-items: center;">&copy; <a href="https://nhcarrigan.com" target="_blank" style="margin-left: 5px;">Naomi Carrigan</a></p>
<button id="show-socials-button" type="button">
<i class="fa-solid fa-share-nodes"></i> Connect with Us
@@ -746,7 +766,7 @@ nhcarriganHeadersFooter.innerHTML = `
<a id="donate-badge" href="https://buy.stripe.com/cN24iTfqu1j6b3afZ2" target="_blank" rel="noreferrer">
<img src="https://cdn.nhcarrigan.com/donate.png" alt="Donate" style="width: 70px; height: 70px;">
</a>
<div id="tree-nation-offset-website"></div>
<div id="tree-nation-offset-website" data-widget-type="offset-website" data-tree-nation-code="a17464e0cd351220" data-lang="en" data-theme="dark"></div>
</div>
<div id="social-list">
<div class="social-list-item">
@@ -808,7 +828,7 @@ nhcarriganHeadersFooter.innerHTML = `
const nhcarriganHeadersTreeNation = document.createElement("script");
nhcarriganHeadersTreeNation.src
= "https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0";
= "https://widgets.tree-nation.com/js/widgets/v3/widgets.min.js";
const nhcarriganHeadersTreeNationBottom = document.createElement("script");
nhcarriganHeadersTreeNationBottom.defer = true;
nhcarriganHeadersTreeNationBottom.async = true;