diff --git a/.gitignore b/.gitignore index db07cb8d..9e2fd32a 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,8 @@ assets/dist/* resources static/documentation/styles .frontmatter/database/* +# generated tailwind files +assets/css/theme.css ##################################################################### # ignores via API diff --git a/assets/css/tailwind.css b/assets/css/tailwind.css new file mode 100644 index 00000000..84a30451 --- /dev/null +++ b/assets/css/tailwind.css @@ -0,0 +1,16 @@ +/******************************************************************************* + * Keep styles in files, only `@import`s here + ******************************************************************************/ + @import "tailwindcss/base"; + + /* @import "01-base/fonts"; */ + + @import "tailwindcss/components"; + + /* @import "03-components/headernavigation"; */ + + @import "tailwindcss/utilities"; + + /* @import "05-utilities/icons"; */ + + @import "tailwindcss/variants"; diff --git a/assets/js/script.ts b/assets/js/script.ts index 80dcd5eb..a773969d 100644 --- a/assets/js/script.ts +++ b/assets/js/script.ts @@ -2,18 +2,18 @@ import Alpine from 'alpinejs'; import collapse from '@alpinejs/collapse'; import intersect from '@alpinejs/intersect' -import ClickSpark from './components/click-effect'; -import ProgressBar from './components/progress-bar'; +import ClickSpark from './components/click-effect.ts'; +import ProgressBar from './components/progress-bar.js'; -import './scripts/keyboard-layout'; -import './scripts/theme-changes'; +import './scripts/keyboard-layout.ts'; +import './scripts/theme-changes.ts'; import { initializeAndSwitchClassOnScroll } from './scripts/navbar-opacity.ts'; // import bootstrap scripts -import './scripts/bs-tooltips'; +import './scripts/bs-tooltips.ts'; // @ts-ignore - importing parameters from GoHugo -import * as params from '@params'; +// import * as params from '@params'; // import custom elements customElements.define("click-effect", ClickSpark); diff --git a/assets/js/scripts/keyboard-layout.ts b/assets/js/scripts/keyboard-layout.ts index 71d69ce4..38995e22 100644 --- a/assets/js/scripts/keyboard-layout.ts +++ b/assets/js/scripts/keyboard-layout.ts @@ -2,5 +2,5 @@ import { install } from '@github/hotkey' // setup all hotkeys on the page for (const el of document.querySelectorAll('[data-hotkey]')) { - install(el as HTMLElement) + install(el) } diff --git a/assets/scss/style.scss b/assets/scss/style.scss index a5b23d27..21af8ddf 100644 --- a/assets/scss/style.scss +++ b/assets/scss/style.scss @@ -1,4 +1,4 @@ -@charset 'utf-8'; +// @charset 'utf-8'; /// BS: configuration @import "bootstrap/scss/functions"; diff --git a/package-lock.json b/package-lock.json index c6b74af4..ec4a0a11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,23 +11,24 @@ "dependencies": { "@alpinejs/collapse": "3.14.1", "@alpinejs/intersect": "3.14.1", - "@davidsneighbour/bootstrap-config": "2024.3.27", - "@davidsneighbour/browserslist-config": "2024.3.27", - "@davidsneighbour/commitlint-config": "2024.3.27", - "@davidsneighbour/cypress-config": "2024.3.27", - "@davidsneighbour/eslint-config": "2024.3.27", - "@davidsneighbour/frontmatter-config": "^2024.3.27", - "@davidsneighbour/htmlvalidate-config": "2024.3.27", + "@biomejs/biome": "1.8.3", + "@davidsneighbour/bootstrap-config": "2024.3.30", + "@davidsneighbour/browserslist-config": "2024.3.30", + "@davidsneighbour/commitlint-config": "2024.3.30", + "@davidsneighbour/cypress-config": "2024.3.30", + "@davidsneighbour/eslint-config": "2024.3.30", + "@davidsneighbour/frontmatter-config": "2024.3.30", + "@davidsneighbour/htmlvalidate-config": "2024.3.30", "@davidsneighbour/imagemin-lint-staged": "0.6.0", - "@davidsneighbour/markdownlint-config": "2024.3.27", + "@davidsneighbour/markdownlint-config": "2024.3.30", "@davidsneighbour/netlify-plugin-hugo-helper": "0.1.6", - "@davidsneighbour/postcss-config": "2024.3.27", - "@davidsneighbour/prettier-config": "2024.3.27", - "@davidsneighbour/release-config": "2024.3.27", - "@davidsneighbour/remark-config": "2024.3.27", - "@davidsneighbour/stylelint-config": "2024.3.27", - "@davidsneighbour/tools": "2024.3.27", - "@davidsneighbour/webpack-config": "2024.3.27", + "@davidsneighbour/postcss-config": "2024.3.30", + "@davidsneighbour/prettier-config": "2024.3.30", + "@davidsneighbour/release-config": "2024.3.30", + "@davidsneighbour/remark-config": "2024.3.30", + "@davidsneighbour/stylelint-config": "2024.3.30", + "@davidsneighbour/tools": "2024.3.30", + "@davidsneighbour/webpack-config": "2024.3.30", "@frontmatter/extensibility": "0.0.17", "@github/hotkey": "3.1.1", "@netlify/functions": "2.8.1", @@ -49,22 +50,31 @@ "sass": "1.77.8", "secretlint": "8.2.4", "simple-git-hooks": "2.11.1", + "tailwindcss": "^3.4.9", "toml": "^3.0.0", "trim": "1.0.1", "ts-node": "10.9.2", "tsx": "4.17.0", - "typescript": "5.5.4", "xml2js": "0.6.2", "yargs": "17.7.2" }, - "devDependencies": { - "@biomejs/biome": "1.8.3" - }, "engines": { "node": ">=20.12.0", "npm": ">=10.5.0" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@alpinejs/collapse": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/@alpinejs/collapse/-/collapse-3.14.1.tgz", @@ -219,7 +229,6 @@ "version": "1.8.3", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", - "dev": true, "hasInstallScript": true, "license": "MIT OR Apache-2.0", "bin": { @@ -250,7 +259,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -267,7 +275,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -284,7 +291,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -301,7 +307,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -318,7 +323,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -335,7 +339,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -352,7 +355,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -369,7 +371,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT OR Apache-2.0", "optional": true, "os": [ @@ -390,15 +391,15 @@ } }, "node_modules/@commitlint/cli": { - "version": "19.3.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.3.0.tgz", - "integrity": "sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==", + "version": "19.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.4.0.tgz", + "integrity": "sha512-sJX4J9UioVwZHq7JWM9tjT5bgWYaIN3rC4FP7YwfEwBYiIO+wMyRttRvQLNkow0vCdM0D67r9NEWU0Ui03I4Eg==", "license": "MIT", "dependencies": { "@commitlint/format": "^19.3.0", "@commitlint/lint": "^19.2.2", - "@commitlint/load": "^19.2.0", - "@commitlint/read": "^19.2.1", + "@commitlint/load": "^19.4.0", + "@commitlint/read": "^19.4.0", "@commitlint/types": "^19.0.3", "execa": "^8.0.1", "yargs": "^17.0.0" @@ -504,9 +505,9 @@ } }, "node_modules/@commitlint/load": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.2.0.tgz", - "integrity": "sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==", + "version": "19.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.4.0.tgz", + "integrity": "sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw==", "license": "MIT", "dependencies": { "@commitlint/config-validator": "^19.0.3", @@ -548,9 +549,9 @@ } }, "node_modules/@commitlint/read": { - "version": "19.2.1", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.2.1.tgz", - "integrity": "sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==", + "version": "19.4.0", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.4.0.tgz", + "integrity": "sha512-r95jLOEZzKDakXtnQub+zR3xjdnrl2XzerPwm7ch1/cc5JGq04tyaNpa6ty0CRCWdVrk4CZHhqHozb8yZwy2+g==", "license": "MIT", "dependencies": { "@commitlint/top-level": "^19.0.0", @@ -2761,9 +2762,9 @@ } }, "node_modules/@davidsneighbour/bootstrap-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/bootstrap-config/-/bootstrap-config-2024.3.27.tgz", - "integrity": "sha512-uwM90OGbQLPHK7zt8yquSzHHZWRhboHbJY5U+6aYZ0Y1EL4ylzTGpQk+7rVb7RhdBEd+v79sKOhcXjHciMJW9Q==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/bootstrap-config/-/bootstrap-config-2024.3.30.tgz", + "integrity": "sha512-AHm5wQomoiMd6ymUUg8iqBZZbjeB/EMmEWkucXMiJlUv2ZwuH+vJqyar3T4U6nRH0tPdAl4ZhKuZ+eLIrmwbzA==", "license": "MIT", "dependencies": { "@popperjs/core": "2.11.8", @@ -2776,9 +2777,9 @@ } }, "node_modules/@davidsneighbour/browserslist-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/browserslist-config/-/browserslist-config-2024.3.27.tgz", - "integrity": "sha512-6znbK/epO34N83l8ygnAicdVDaIPBa3lPVUoDKK6S1Vs8VMMDpmR5L4N17L3rRs+COGX1S9fpB+tFglzGBzeGw==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/browserslist-config/-/browserslist-config-2024.3.30.tgz", + "integrity": "sha512-FOUjKUTp/htpfDwwte5iJ5esHXugFbNYsur2EEKcNuFHJRe7Owg2TRhqitwOymrj/7YP21RO9J25/qYNfVaP2A==", "license": "MIT", "dependencies": { "browserslist": "4.23.3" @@ -2789,12 +2790,12 @@ } }, "node_modules/@davidsneighbour/commitlint-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/commitlint-config/-/commitlint-config-2024.3.27.tgz", - "integrity": "sha512-ZtL3bJxmojc+WBClcdrIGk4z6d1fg0wJC03rjzGKPQ85spPfUP5YHyGeON7uVsRT1NQggrpmnZjCuiQRnPKCag==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/commitlint-config/-/commitlint-config-2024.3.30.tgz", + "integrity": "sha512-oTPoV7R/yKa9WLSu8AsIgodF+Xnxx6WUd9qADYmy7tAm1IIk172lORcDz1UGbSZQm6+9f+1I131MRywW4wAIvg==", "license": "MIT", "dependencies": { - "@commitlint/cli": "19.3.0", + "@commitlint/cli": "19.4.0", "@commitlint/config-conventional": "19.2.2" }, "engines": { @@ -2803,9 +2804,9 @@ } }, "node_modules/@davidsneighbour/cypress-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/cypress-config/-/cypress-config-2024.3.27.tgz", - "integrity": "sha512-oYUxyJcs61eL8nUG7AnMhKPu4MeNZjh9qiJ7BAJLCnXNq8YHyPnYc2d1LVdja9N3r7ASsEBIWJIIvrGRbXRI3g==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/cypress-config/-/cypress-config-2024.3.30.tgz", + "integrity": "sha512-Mau9Ocz103a6mSjEtl7KdPlZOa7yM6/IVDI8T8IVqqXnk5WsiLmOMsA0OFNfulkElZHdH2/u0TNSLkRjo7GxLA==", "license": "MIT", "dependencies": { "cypress": "13.13.2", @@ -2818,12 +2819,12 @@ } }, "node_modules/@davidsneighbour/eslint-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/eslint-config/-/eslint-config-2024.3.27.tgz", - "integrity": "sha512-oErYrZy7CLjwOq6MAQSFaP/jD4+U+kI9ur9pykDxOMITYwebsA23+V/xB656JkM2iAZrPIYtj5sriPxQCDDImQ==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/eslint-config/-/eslint-config-2024.3.30.tgz", + "integrity": "sha512-o5qYAOrAsj1meY7cTjs1sGx13hKhzSNlxTr4hmsU8Va5Ah9LQyzS0G7XwLC+qzHTcTz+nuXtqpQZZ9AJM+C9WA==", "license": "MIT", "dependencies": { - "@eslint/js": "^9.8.0", + "@eslint/js": "^9.9.0", "eslint-config-airbnb": "19.0.4", "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "9.1.0", @@ -2832,7 +2833,7 @@ "eslint-plugin-cypress": "3.4.0", "eslint-plugin-html": "8.1.1", "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.11.0", + "eslint-plugin-jsdoc": "50.0.1", "eslint-plugin-jsx-a11y": "6.9.0", "eslint-plugin-mdx": "3.1.5", "eslint-plugin-no-loops": "0.4.0", @@ -2872,15 +2873,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@davidsneighbour/eslint-config/node_modules/@eslint/js": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", - "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@davidsneighbour/eslint-config/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3219,9 +3211,9 @@ } }, "node_modules/@davidsneighbour/frontmatter-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/frontmatter-config/-/frontmatter-config-2024.3.27.tgz", - "integrity": "sha512-LOUwqXGOdo22yYrVaUL4DItzHRm8972kAl9WPypZ5rhuzv+ZaVjVWxcATkIn8njhtjxfMzCZsaUpUzukqpf5eQ==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/frontmatter-config/-/frontmatter-config-2024.3.30.tgz", + "integrity": "sha512-CojM4U5UEAn1+dJMSNfn16iU2q6q0qUZL5yjO25KqWkAGUqfs3x6iAYsJItGRH7/4zCaQn8zsD5zlQV9ljw9Cw==", "license": "MIT", "engines": { "node": ">=22.1.0", @@ -3229,9 +3221,9 @@ } }, "node_modules/@davidsneighbour/htmlvalidate-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/htmlvalidate-config/-/htmlvalidate-config-2024.3.27.tgz", - "integrity": "sha512-+8+eYp3kHG9byLRWLnhSQ5/hRU/XNCTEM/JLF1wEf6myBQWgcaWMMP7Qkf4s8ZsNRKetGQda+ax3G5dq9MuAwA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/htmlvalidate-config/-/htmlvalidate-config-2024.3.30.tgz", + "integrity": "sha512-JJOq0QJYvGRsVQAqyC+4BMJB4IhHKMWm8RY4ZXF5Nvvz9JVxp33JcrK5cc8rApZFf7zL6+MuxwfbHcdcDEuz4g==", "license": "MIT", "dependencies": { "axe-core": "4.10.0", @@ -3260,9 +3252,9 @@ } }, "node_modules/@davidsneighbour/markdownlint-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/markdownlint-config/-/markdownlint-config-2024.3.27.tgz", - "integrity": "sha512-fJr2jvO1bxoRop3OpVOnq9VhKUtd8qbL8j/0NB5Mn5zkLPmNeTHPRvMo3QfcA66+cXPnz8dT7zY1C8aNoSY9JA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/markdownlint-config/-/markdownlint-config-2024.3.30.tgz", + "integrity": "sha512-Y/AnbQmKv1TNaABEQKv6CV4Xm1WFahCOO35BmjKsgaFJEbjc1G89y88M3AvP1+83YcPWpKbOcEgvm5kwmmbA4Q==", "license": "MIT", "dependencies": { "markdownlint": "0.34.0", @@ -3280,18 +3272,18 @@ "license": "MIT" }, "node_modules/@davidsneighbour/postcss-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/postcss-config/-/postcss-config-2024.3.27.tgz", - "integrity": "sha512-sJ4l8Lhj+/g9Ckxv013nk/GlctrcwWX30sYroofotYDKzt4m5CabCjNblZUtbyxvJ1jNQ/JUIlIv1HStHhWXNA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/postcss-config/-/postcss-config-2024.3.30.tgz", + "integrity": "sha512-1NjPv8wSFNn78JDCnzAacILZR5oxuOBSdG9mTEk73blPBW2jrMH6umhMRsUqS/sdl9r5FKhrDjwsADQKgthCzw==", "license": "MIT", "dependencies": { - "@davidsneighbour/browserslist-config": "^2024.3.27", + "@davidsneighbour/browserslist-config": "^2024.3.30", "@fullhuman/postcss-purgecss": "6.0.0", "autoprefixer": "10.4.20", - "cssnano": "^7.0.4", - "doiuse": "^6.0.2", + "cssnano": "7.0.5", + "doiuse": "6.0.2", "pixrem": "5.0.0", - "postcss": "8.4.40", + "postcss": "8.4.41", "postcss-cli": "11.0.0", "postcss-import": "16.1.0", "postcss-loader": "8.1.1", @@ -3303,38 +3295,10 @@ "npm": ">=10.8.0" } }, - "node_modules/@davidsneighbour/postcss-config/node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/@davidsneighbour/prettier-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/prettier-config/-/prettier-config-2024.3.27.tgz", - "integrity": "sha512-nC32bLxbc8Rq3lGvXiPVIVy0J/yIC79qSUpMC3j+4coGKE5iI+PiYwWLKljC7D303rBgaoxqhj3VFMniI49bAQ==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/prettier-config/-/prettier-config-2024.3.30.tgz", + "integrity": "sha512-nYk8XAqwB3ET5iscVWed86D3832QDrGjBfumH2tx3RQ8xod+O6907m4fvw0XdiFcNQ13w8E0pyNj9p90SlcHKQ==", "license": "MIT", "dependencies": { "@prettier/plugin-php": "0.22.2", @@ -3344,7 +3308,7 @@ "prettier-plugin-go-template": "0.0.15", "prettier-plugin-properties": "0.3.0", "prettier-plugin-sh": "0.14.0", - "prettier-plugin-tailwindcss": "0.6.5", + "prettier-plugin-tailwindcss": "0.6.6", "prettier-plugin-toml": "2.0.1" }, "engines": { @@ -3353,12 +3317,12 @@ } }, "node_modules/@davidsneighbour/release-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/release-config/-/release-config-2024.3.27.tgz", - "integrity": "sha512-h+DGxiwesJaO1Mt2YUyGuxF5bDSbBw3Y7xmhSxVswZSE+3aWPvNqp0XIqVxeP6zlnsW9TiNtdAyFMWSr0S+uSQ==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/release-config/-/release-config-2024.3.30.tgz", + "integrity": "sha512-laTF04J4NhRcDANV5aGr5c43/SDLJ+HwAWjG8hC+ceVPXoKYSJSjs1ZY7g+bT2zenWjRWdvmMpUwuHy3doNAkw==", "license": "MIT", "dependencies": { - "@davidsneighbour/tools": "^2024.3.27", + "@davidsneighbour/tools": "^2024.3.30", "commit-and-tag-version": "12.4.1", "simple-git-hooks": "^2.11.1" }, @@ -3368,9 +3332,9 @@ } }, "node_modules/@davidsneighbour/remark-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/remark-config/-/remark-config-2024.3.27.tgz", - "integrity": "sha512-USNDp4Ru0mN/Kc9EhnwYj/7BnFDOAnLHVOQxq1N8wWowUcoqRJbpldb8hTdOmLxiq8yv5M982ia86SuxKoJFsA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/remark-config/-/remark-config-2024.3.30.tgz", + "integrity": "sha512-Q6fXQc6cNlGb/Q7UdC0FZ7co6h/zDAa5yRZqcrEzkEUdUY5awDGUtqLp+FKUNjUL1ELnaDaF5efrM70SJzF3Mg==", "license": "MIT", "dependencies": { "remark": "15.0.1", @@ -3390,7 +3354,7 @@ "remark-lint-final-definition": "4.0.1", "remark-lint-final-newline": "3.0.0", "remark-lint-first-heading-level": "4.0.0", - "remark-lint-frontmatter-schema": "^3.15.3", + "remark-lint-frontmatter-schema": "^3.15.4", "remark-lint-hard-break-spaces": "4.0.0", "remark-lint-heading-increment": "4.0.0", "remark-lint-heading-style": "4.0.0", @@ -3445,58 +3409,30 @@ } }, "node_modules/@davidsneighbour/stylelint-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/stylelint-config/-/stylelint-config-2024.3.27.tgz", - "integrity": "sha512-iCMAkn9Gq4KwEH8tyLIQr8FiJVNMB0SCAUDseEfEUd/l+i9/fvdmAriw0GpJefyIomjkYOwWoDrAq2arF6u7aA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/stylelint-config/-/stylelint-config-2024.3.30.tgz", + "integrity": "sha512-1Mo++ZVRn4/1X7xZNTag+cQphI2jNH1oOYZNoDOLdM1LSVJXU5Jc7yZvt4dKa5Mz2HVfX0vNb2GYAgVjrjeQtg==", "license": "MIT", "dependencies": { - "@davidsneighbour/browserslist-config": "^2024.3.27", - "postcss": "8.4.40", + "@davidsneighbour/browserslist-config": "^2024.3.30", + "postcss": "8.4.41", "postcss-cli": "11.0.0", "postcss-scss": "4.0.9", "stylelint": "16.8.1", "stylelint-config-standard-scss": "13.1.0", "stylelint-no-unsupported-browser-features": "8.0.1", "stylelint-order": "6.0.4", - "stylelint-scss": "6.4.1" + "stylelint-scss": "6.5.0" }, "engines": { "node": ">=22.1.0", "npm": ">=10.8.0" } }, - "node_modules/@davidsneighbour/stylelint-config/node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/@davidsneighbour/tools": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/tools/-/tools-2024.3.27.tgz", - "integrity": "sha512-Kiepk2dlJ6EV5E+YOkoHC5Eok9UDag88ko7g44Sveq00iaMspdmSjjXYbiDMkUq+y0kVoCvPqaVfC5PseM7vBA==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/tools/-/tools-2024.3.30.tgz", + "integrity": "sha512-Yyb6NHcrAf8jkT7EXq1c1jn5pKDXVmeefPsvwACfRWsnzNqfwQUqkk2Cv6q5S/sHzzXzro0Vs5Xd3g8Cs4IjjA==", "license": "MIT", "dependencies": { "@secretlint/secretlint-rule-preset-recommend": "^8.2.4", @@ -3508,13 +3444,13 @@ "lockfile-lint": "4.14.0", "ncp": "2.0.0", "node-fetch": "3.3.2", - "npm-check-updates": "17.0.2", + "npm-check-updates": "17.0.6", "npm-package-json-lint": "8.0.0", "npm-run-all2": "6.2.2", "npm-watch": "0.13.0", "rimraf": "6.0.1", "secretlint": "^8.2.4", - "wireit": "0.14.5" + "wireit": "0.14.7" }, "engines": { "node": ">=22.1.0", @@ -3522,19 +3458,20 @@ } }, "node_modules/@davidsneighbour/webpack-config": { - "version": "2024.3.27", - "resolved": "https://registry.npmjs.org/@davidsneighbour/webpack-config/-/webpack-config-2024.3.27.tgz", - "integrity": "sha512-VZERPejmz6aUTplwEVZCGPWFHVV/HgUnLF5IrIahq39y18lg8gfuENxpVVcz67MAo6Ula/WNXM1OASu/G5OKmQ==", + "version": "2024.3.30", + "resolved": "https://registry.npmjs.org/@davidsneighbour/webpack-config/-/webpack-config-2024.3.30.tgz", + "integrity": "sha512-oyhBudr9SUo/rK8Aa51/F/G88uw5Tq/KG6PcXt8DgYtO8dK1VrWo9khBcHLjg3Yy2DEoW0Z3t5gfbxMySWHo+Q==", "license": "MIT", "dependencies": { "css-loader": "7.1.2", "html-webpack-plugin": "5.6.0", - "mini-css-extract-plugin": "^2.9.0", + "mini-css-extract-plugin": "2.9.0", "postcss-loader": "8.1.1", "sass-loader": "16.0.0", "style-loader": "4.0.0", "terser-webpack-plugin": "5.3.10", "ts-loader": "9.5.1", + "typescript": "5.5.4", "webpack": "5.93.0", "webpack-cli": "5.1.4", "webpack-merge": "6.0.1" @@ -4059,6 +3996,15 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "license": "MIT" }, + "node_modules/@eslint/js": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz", + "integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/object-schema": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", @@ -6372,6 +6318,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -7915,6 +7867,15 @@ "node": ">=6" } }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/camelcase-keys": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", @@ -9575,12 +9536,12 @@ } }, "node_modules/cssnano": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.4.tgz", - "integrity": "sha512-rQgpZra72iFjiheNreXn77q1haS2GEy69zCMbu4cpXCFPMQF+D4Ik5V7ktMzUF/sA7xCIgcqHwGPnCD+0a1vHg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.5.tgz", + "integrity": "sha512-Aq0vqBLtpTT5Yxj+hLlLfNPFuRQCDIjx5JQAhhaedQKLNDvDGeVziF24PS+S1f0Z5KCxWvw0QVI3VNHNBITxVQ==", "license": "MIT", "dependencies": { - "cssnano-preset-default": "^7.0.4", + "cssnano-preset-default": "^7.0.5", "lilconfig": "^3.1.2" }, "engines": { @@ -9595,41 +9556,41 @@ } }, "node_modules/cssnano-preset-default": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.4.tgz", - "integrity": "sha512-jQ6zY9GAomQX7/YNLibMEsRZguqMUGuupXcEk2zZ+p3GUxwCAsobqPYE62VrJ9qZ0l9ltrv2rgjwZPBIFIjYtw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.5.tgz", + "integrity": "sha512-Jbzja0xaKwc5JzxPQoc+fotKpYtWEu4wQLMQe29CM0FjjdRjA4omvbGHl2DTGgARKxSTpPssBsok+ixv8uTBqw==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "css-declaration-sorter": "^7.2.0", "cssnano-utils": "^5.0.0", - "postcss-calc": "^10.0.0", - "postcss-colormin": "^7.0.1", - "postcss-convert-values": "^7.0.2", - "postcss-discard-comments": "^7.0.1", - "postcss-discard-duplicates": "^7.0.0", + "postcss-calc": "^10.0.1", + "postcss-colormin": "^7.0.2", + "postcss-convert-values": "^7.0.3", + "postcss-discard-comments": "^7.0.2", + "postcss-discard-duplicates": "^7.0.1", "postcss-discard-empty": "^7.0.0", "postcss-discard-overridden": "^7.0.0", - "postcss-merge-longhand": "^7.0.2", - "postcss-merge-rules": "^7.0.2", + "postcss-merge-longhand": "^7.0.3", + "postcss-merge-rules": "^7.0.3", "postcss-minify-font-values": "^7.0.0", "postcss-minify-gradients": "^7.0.0", - "postcss-minify-params": "^7.0.1", - "postcss-minify-selectors": "^7.0.2", + "postcss-minify-params": "^7.0.2", + "postcss-minify-selectors": "^7.0.3", "postcss-normalize-charset": "^7.0.0", "postcss-normalize-display-values": "^7.0.0", "postcss-normalize-positions": "^7.0.0", "postcss-normalize-repeat-style": "^7.0.0", "postcss-normalize-string": "^7.0.0", "postcss-normalize-timing-functions": "^7.0.0", - "postcss-normalize-unicode": "^7.0.1", + "postcss-normalize-unicode": "^7.0.2", "postcss-normalize-url": "^7.0.0", "postcss-normalize-whitespace": "^7.0.0", "postcss-ordered-values": "^7.0.1", - "postcss-reduce-initial": "^7.0.1", + "postcss-reduce-initial": "^7.0.2", "postcss-reduce-transforms": "^7.0.0", "postcss-svgo": "^7.0.1", - "postcss-unique-selectors": "^7.0.1" + "postcss-unique-selectors": "^7.0.2" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -10504,6 +10465,12 @@ "integrity": "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==", "license": "BSD-3-Clause" }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -11639,9 +11606,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "48.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.11.0.tgz", - "integrity": "sha512-d12JHJDPNo7IFwTOAItCeJY1hcqoIxE0lHA8infQByLilQ9xkqrRa6laWCnsuCrf+8rUnvxXY1XuTbibRBNylA==", + "version": "50.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.0.1.tgz", + "integrity": "sha512-UayhAysIk1Du8InV27WMbV4AMSJSu60+bekmeuGK2OUy4QJSFPr1srYT6AInykGkmMdRuHfDX6Q0tJEr8BtDtg==", "license": "BSD-3-Clause", "dependencies": { "@es-joy/jsdoccomment": "~0.46.0", @@ -19644,6 +19611,17 @@ "integrity": "sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==", "license": "BSD-3-Clause" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -34503,9 +34481,9 @@ } }, "node_modules/npm-check-updates": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-17.0.2.tgz", - "integrity": "sha512-uX7/Lel+0P3sVuTTr9G3u+8qPJQw9Yl9FtpW8TNpuAMziN+au/Mspqo2g1Sd+3M6MFlSNX2Q3KI0tMW47WP5LQ==", + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-17.0.6.tgz", + "integrity": "sha512-KCiaJH1cfnh/RyzKiDNjNfXgcKFyQs550Uf1OF/Yzb8xO56w+RLpP/OKRUx23/GyP/mLYwEpOO65qjmVdh6j0A==", "license": "Apache-2.0", "bin": { "ncu": "build/cli.js", @@ -34915,9 +34893,9 @@ } }, "node_modules/npm-package-json-lint/node_modules/type-fest": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz", - "integrity": "sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.24.0.tgz", + "integrity": "sha512-spAaHzc6qre0TlZQQ2aA/nGMe+2Z/wyGk5Z+Ru2VUfdNwT6kWO6TjevOlpebsATEG1EIQ2sOiDszud3lO5mt/Q==", "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" @@ -35675,6 +35653,15 @@ "node": ">=0.10.0" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/pixelmatch": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-6.0.0.tgz", @@ -35946,12 +35933,12 @@ } }, "node_modules/postcss-calc": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.0.tgz", - "integrity": "sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.1.tgz", + "integrity": "sha512-pp1Z3FxtxA+xHAoWXcOXgnBN1WPu4ZiJ5LWGjKyf9MMreagAsaTUtnqFK1y1sHhyJddAkYTPu6XSuLgb3oYCjw==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.16", + "postcss-selector-parser": "^6.1.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -36248,12 +36235,12 @@ } }, "node_modules/postcss-colormin": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.1.tgz", - "integrity": "sha512-uszdT0dULt3FQs47G5UHCduYK+FnkLYlpu1HpWu061eGsKZ7setoG7kA+WC9NQLsOJf69D5TxGHgnAdRgylnFQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", + "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "caniuse-api": "^3.0.0", "colord": "^2.9.3", "postcss-value-parser": "^4.2.0" @@ -36266,12 +36253,12 @@ } }, "node_modules/postcss-convert-values": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.2.tgz", - "integrity": "sha512-MuZIF6HJ4izko07Q0TgW6pClalI4al6wHRNPkFzqQdwAwG7hPn0lA58VZdxyb2Vl5AYjJ1piO+jgF9EnTjQwQQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.3.tgz", + "integrity": "sha512-yJhocjCs2SQer0uZ9lXTMOwDowbxvhwFVrZeS6NPEij/XXthl73ggUmfwVvJM+Vaj5gtCKJV1jiUu4IhAUkX/Q==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -36607,12 +36594,12 @@ } }, "node_modules/postcss-discard-comments": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.1.tgz", - "integrity": "sha512-GVrQxUOhmle1W6jX2SvNLt4kmN+JYhV7mzI6BMnkAWR9DtVvg8e67rrV0NfdWhn7x1zxvzdWkMBPdBDCls+uwQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.2.tgz", + "integrity": "sha512-/Hje9Ls1IYcB9duELO/AyDUJI6aQVY3h5Rj1ziXgaLYCTi1iVBLnjg/TS0D6NszR/kDG6I86OwLmAYe+bvJjiQ==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.0" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -36622,9 +36609,9 @@ } }, "node_modules/postcss-discard-duplicates": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.0.tgz", - "integrity": "sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", + "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", "license": "MIT", "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -36808,6 +36795,25 @@ "postcss": "^8.0.0" } }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, "node_modules/postcss-lab-function": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.0.tgz", @@ -37030,13 +37036,13 @@ "license": "MIT" }, "node_modules/postcss-merge-longhand": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.2.tgz", - "integrity": "sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.3.tgz", + "integrity": "sha512-8waYomFxshdv6M9Em3QRM9MettRLDRcH2JQi2l0Z1KlYD/vhal3gbkeSES0NuACXOlZBB0V/B0AseHZaklzWOA==", "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.2" + "stylehacks": "^7.0.3" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -37046,15 +37052,15 @@ } }, "node_modules/postcss-merge-rules": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.2.tgz", - "integrity": "sha512-VAR47UNvRsdrTHLe7TV1CeEtF9SJYR5ukIB9U4GZyZOptgtsS20xSxy+k5wMrI3udST6O1XuIn7cjQkg7sDAAw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.3.tgz", + "integrity": "sha512-2eSas2p3voPxNfdI5sQrvIkMaeUHpVc3EezgVs18hz/wRTQAC9U99tp9j3W5Jx9/L3qHkEDvizEx/LdnmumIvQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "caniuse-api": "^3.0.0", "cssnano-utils": "^5.0.0", - "postcss-selector-parser": "^6.1.0" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -37096,12 +37102,12 @@ } }, "node_modules/postcss-minify-params": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.1.tgz", - "integrity": "sha512-e+Xt8xErSRPgSRFxHeBCSxMiO8B8xng7lh8E0A5ep1VfwYhY8FXhu4Q3APMjgx9YDDbSp53IBGENrzygbUvgUQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", + "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "cssnano-utils": "^5.0.0", "postcss-value-parser": "^4.2.0" }, @@ -37113,13 +37119,13 @@ } }, "node_modules/postcss-minify-selectors": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.2.tgz", - "integrity": "sha512-dCzm04wqW1uqLmDZ41XYNBJfjgps3ZugDpogAmJXoCb5oCiTzIX4oPXXKxDpTvWOnKxQKR4EbV4ZawJBLcdXXA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.3.tgz", + "integrity": "sha512-SxTgUQSgBk6wEqzQZKEv1xQYIp9UBju6no9q+npohzSdhuSICQdkqmD1UMKkZWItS3olJSJMDDEY9WOJ5oGJew==", "license": "MIT", "dependencies": { "cssesc": "^3.0.0", - "postcss-selector-parser": "^6.1.0" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -37187,6 +37193,31 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, "node_modules/postcss-nesting": { "version": "13.0.0", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.0.tgz", @@ -37324,12 +37355,12 @@ } }, "node_modules/postcss-normalize-unicode": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.1.tgz", - "integrity": "sha512-PTPGdY9xAkTw+8ZZ71DUePb7M/Vtgkbbq+EoI33EuyQEzbKemEQMhe5QSr0VP5UfZlreANDPxSfcdSprENcbsg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", + "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -37577,12 +37608,12 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.1.tgz", - "integrity": "sha512-0JDUSV4bGB5FGM5g8MkS+rvqKukJZ7OTHw/lcKn7xPNqeaqJyQbUO8/dJpvyTpaVwPsd3Uc33+CfNzdVowp2WA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", + "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", + "browserslist": "^4.23.3", "caniuse-api": "^3.0.0" }, "engines": { @@ -37847,12 +37878,12 @@ } }, "node_modules/postcss-unique-selectors": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.1.tgz", - "integrity": "sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.2.tgz", + "integrity": "sha512-CjSam+7Vf8cflJQsHrMS0P2hmy9u0+n/P001kb5eAszLmhjMqrt/i5AqQuNFihhViwDvEAezqTmXqaYXL2ugMw==", "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.0" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -37994,9 +38025,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.5.tgz", - "integrity": "sha512-axfeOArc/RiGHjOIy9HytehlC0ZLeMaqY09mm8YCkMzznKiDkwFzOpBvtuhuv3xG5qB73+Mj7OCe2j/L1ryfuQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.6.tgz", + "integrity": "sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==", "license": "MIT", "engines": { "node": ">=14.21.3" @@ -38013,6 +38044,7 @@ "prettier-plugin-import-sort": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", + "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", @@ -38050,6 +38082,9 @@ "prettier-plugin-marko": { "optional": true }, + "prettier-plugin-multiline-arrays": { + "optional": true + }, "prettier-plugin-organize-attributes": { "optional": true }, @@ -42606,13 +42641,13 @@ } }, "node_modules/stylehacks": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.2.tgz", - "integrity": "sha512-HdkWZS9b4gbgYTdMg4gJLmm7biAUug1qTqXjS+u8X+/pUd+9Px1E+520GnOW3rST9MNsVOVpsJG+mPHNosxjOQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.3.tgz", + "integrity": "sha512-4DqtecvI/Nd+2BCvW9YEF6lhBN5UM50IJ1R3rnEAhBwbCKf4VehRf+uqvnVArnBayjYD/WtT3g0G/HSRxWfTRg==", "license": "MIT", "dependencies": { - "browserslist": "^4.23.1", - "postcss-selector-parser": "^6.1.0" + "browserslist": "^4.23.3", + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": "^18.12.0 || ^20.9.0 || >=22.0" @@ -42786,15 +42821,17 @@ } }, "node_modules/stylelint-scss": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.4.1.tgz", - "integrity": "sha512-+clI2bQC2FPOt06ZwUlXZZ95IO2C5bKTP0GLN1LNQPVvISfSNcgMKv/VTwym1mK9vnqhHbOk8lO4rj4nY7L9pw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.5.0.tgz", + "integrity": "sha512-yOnYlr71wrTPT3rYyUurgTj6Rw7JUtzsZQsiPEjvs+k/yqoYHdweqpw6XN/ARpxjAuvJpddoMUvV8aAIpvUwTg==", "license": "MIT", "dependencies": { + "css-tree": "2.3.1", + "is-plain-object": "5.0.0", "known-css-properties": "^0.34.0", "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.1.0", + "postcss-resolve-nested-selector": "^0.1.4", + "postcss-selector-parser": "^6.1.1", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -42912,6 +42949,37 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -43115,6 +43183,122 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/tailwindcss": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.9.tgz", + "integrity": "sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/tailwindcss/node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -43428,6 +43612,27 @@ "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", "license": "Apache-2.0" }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/throttleit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", @@ -43620,6 +43825,12 @@ "typescript": ">=4.2.0" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, "node_modules/ts-loader": { "version": "9.5.1", "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", @@ -45131,9 +45342,9 @@ "license": "MIT" }, "node_modules/wireit": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/wireit/-/wireit-0.14.5.tgz", - "integrity": "sha512-K4ka9YBpSyD6pmFZYTJd4VpPsAiPT6j/fOtLzYgnKWlPIMM7lAZjQQ30H7urO+Lqx1Wvrw88tQHBz4njy+lglg==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/wireit/-/wireit-0.14.7.tgz", + "integrity": "sha512-bMyyaKtH8fTYD3cmI8ZULIwifDcgNRHyHfYF54QFISvKiDtDJ4yHJZRlW/q2j0DaRjuFbMkIhpE++/GtI5iipQ==", "license": "Apache-2.0", "workspaces": [ "vscode-extension", diff --git a/package.json b/package.json index 08ad1405..6b708344 100644 --- a/package.json +++ b/package.json @@ -14,23 +14,23 @@ "dependencies": { "@alpinejs/collapse": "3.14.1", "@alpinejs/intersect": "3.14.1", - "@davidsneighbour/bootstrap-config": "2024.3.27", - "@davidsneighbour/browserslist-config": "2024.3.27", - "@davidsneighbour/commitlint-config": "2024.3.27", - "@davidsneighbour/cypress-config": "2024.3.27", - "@davidsneighbour/eslint-config": "2024.3.27", - "@davidsneighbour/frontmatter-config": "^2024.3.27", - "@davidsneighbour/htmlvalidate-config": "2024.3.27", + "@davidsneighbour/bootstrap-config": "2024.3.31", + "@davidsneighbour/browserslist-config": "2024.3.31", + "@davidsneighbour/commitlint-config": "2024.3.31", + "@davidsneighbour/cypress-config": "2024.3.31", + "@davidsneighbour/eslint-config": "2024.3.31", + "@davidsneighbour/frontmatter-config": "2024.3.31", + "@davidsneighbour/htmlvalidate-config": "2024.3.31", "@davidsneighbour/imagemin-lint-staged": "0.6.0", - "@davidsneighbour/markdownlint-config": "2024.3.27", + "@davidsneighbour/markdownlint-config": "2024.3.31", "@davidsneighbour/netlify-plugin-hugo-helper": "0.1.6", - "@davidsneighbour/postcss-config": "2024.3.27", - "@davidsneighbour/prettier-config": "2024.3.27", - "@davidsneighbour/release-config": "2024.3.27", - "@davidsneighbour/remark-config": "2024.3.27", - "@davidsneighbour/stylelint-config": "2024.3.27", - "@davidsneighbour/tools": "2024.3.27", - "@davidsneighbour/webpack-config": "2024.3.27", + "@davidsneighbour/postcss-config": "2024.3.31", + "@davidsneighbour/prettier-config": "2024.3.31", + "@davidsneighbour/release-config": "2024.3.31", + "@davidsneighbour/remark-config": "2024.3.31", + "@davidsneighbour/stylelint-config": "2024.3.31", + "@davidsneighbour/tools": "2024.3.31", + "@davidsneighbour/webpack-config": "2024.3.31", "@frontmatter/extensibility": "0.0.17", "@github/hotkey": "3.1.1", "@netlify/functions": "2.8.1", @@ -56,9 +56,10 @@ "trim": "1.0.1", "ts-node": "10.9.2", "tsx": "4.17.0", - "typescript": "5.5.4", "xml2js": "0.6.2", - "yargs": "17.7.2" + "yargs": "17.7.2", + "@biomejs/biome": "1.8.3", + "tailwindcss": "^3.4.9" }, "scripts": { "audit:html": "wireit", @@ -91,9 +92,11 @@ "release": "npm run release:patch", "release:patch": "commit-and-tag-version --sign -a -t \"v\" --releaseCommitMessageFormat \"chore(release): v{{currentTag}}\" -- --no-verify && ./bin/repo/release/postrelease", "sassdoc": "wireit", - "server": "node bin/hugo/server.js", + "server": "node bin/hugo/server.js && npm run server:tailwind", + "server:tailwind": "wireit", "tests": "wireit", - "update": "wireit" + "update": "wireit", + "server:webpack": "webpack --config webpack.config.js --mode development" }, "wireit": { "sassdoc": { @@ -102,6 +105,9 @@ "assets/scss/**/*.scss" ] }, + "server:tailwind": { + "command": "tailwindcss -i assets/css/tailwind.css -o assets/css/theme.css --watch" + }, "clean": { "dependencies": [ "clean:audit", @@ -246,8 +252,5 @@ "simple-git-hooks": { "commit-msg": "npx commitlint -e \"$@\"" }, - "type": "module", - "devDependencies": { - "@biomejs/biome": "1.8.3" - } + "type": "module" } diff --git a/postcss.tailwind.config.js b/postcss.tailwind.config.js new file mode 100644 index 00000000..b4ec8340 --- /dev/null +++ b/postcss.tailwind.config.js @@ -0,0 +1,12 @@ +module.exports = { + plugins: { + 'postcss-import': {}, + 'tailwindcss/nesting': 'postcss-nesting', + tailwindcss: {}, + autoprefixer: {}, + 'postcss-preset-env': { + features: { 'nesting-rules': false }, + }, + ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}) + } +} diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 00000000..2103f0cb --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,13 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/**/*.html", + ], + theme: { + extend: {}, + }, + plugins: [], +} + diff --git a/tsconfig.json b/tsconfig.json index b9405aa6..707a6a36 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,5 +26,11 @@ "skipLibCheck": true, "allowSyntheticDefaultImports": true, "typeRoots": ["./node_modules/@types", "./types", "."], + "outDir": "./dist/", + "noImplicitAny": true, + "module": "es6", + "jsx": "react", + "allowJs": true, + "moduleResolution": "node" } } diff --git a/webpack.config.js b/webpack.config.js index aaefc82d..2f182a82 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,42 +1,30 @@ -import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; -import MiniCssExtractPlugin from 'mini-css-extract-plugin'; +import config from '@davidsneighbour/webpack-config'; +import { dirname, resolve as _resolve, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; -export default { - entry: { - index: ['./assets/js/script.ts'], - main: ['./assets/scss/style.scss'], - }, - mode: 'none', - module: { - rules: [ - { - test: /\.(scss|css)$/, - use: [ - MiniCssExtractPlugin.loader, - 'css-loader', - 'sass-loader', - ], - }, - ], - }, - plugins: [ - new MiniCssExtractPlugin({ - filename: (pathData) => { - if (pathData.chunk.name === "main") { - return 'index.css' - } +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); - return '[name].css' - }, - }), - ], - optimization: { - minimizer: [ - new CssMinimizerPlugin(), - ], - minimize: true, +let localConfig = { + context: _resolve(__dirname, 'assets'), + entry: { + main: join(__dirname, 'assets/js', 'script.ts'), + // theme: join(__dirname, 'assets/css', 'tailwind.css'), }, output: { - filename: '[name].js', + path: join(__dirname, 'static/assets/dist'), }, + watch: true, }; + +console.log(config()); + +console.log({ + ...config, + ...localConfig, +}); + +// export default { +// ...config, +// ...localConfig, +// };