diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 03e5c0720e..54095762e7 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -25,11 +25,6 @@ restrictions:
- Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
-- Please **do not** open issues or pull requests regarding the code in
- [`.htaccess`](https://github.com/h5bp/server-configs-apache),
- [`Normalize.css`](https://github.com/necolas/normalize.css) (open them in
- their respective repositories).
-
## Bug reports
@@ -126,25 +121,50 @@ included in the project:
git checkout -b
```
-4. Commit your changes in logical chunks. Please adhere to these [git commit
+4. Install locked dependencies:
+
+ ```bash
+ npm ci
+ ```
+
+ Ensure that your `node` and `npm` versions are compatible with the `engines`
+ specification in `package.json`.
+
+5. Commit your changes in logical chunks. Please adhere to these [git commit
message guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
or your code is unlikely be merged into the main project. Use Git's
[interactive rebase](https://help.github.com/articles/about-git-rebase/)
feature to tidy up your commits before making them public.
-5. Locally merge (or rebase) the upstream development branch into your topic branch:
+6. Locally merge (or rebase) the upstream development branch into your topic branch:
```bash
git pull [--rebase] upstream main
```
-6. Push your topic branch up to your fork:
+7. Update any applicable test cases and run tests:
+
+ ```bash
+ npm run test
+ ```
+
+ Tests must cover changes and pass to be accepted.
+
+8. Run build and commit changes to dist:
+
+ ```bash
+ npm run build
+ git add dist/
+ git commit
+ ```
+
+9. Push your topic branch up to your fork:
```bash
git push origin
```
-7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
+10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
with a clear title and description.
**IMPORTANT**: By submitting a patch, you agree to allow the project
diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md
index de51d5d59e..315a2ff0d9 100644
--- a/.github/SUPPORT.md
+++ b/.github/SUPPORT.md
@@ -1,8 +1,5 @@
# Support
For personal support requests with HTML5 Boilerplate please use Stack Overflow
-([`html5boilerplate`](https://stackoverflow.com/questions/tagged/html5boilerplate) tag).
-
-Please check the respective repository/website for support regarding the code in
-[`.htaccess`](https://github.com/h5bp/server-configs-apache),
-[`Normalize.css`](https://github.com/necolas/normalize.css).
+([`html5boilerplate`](https://stackoverflow.com/questions/tagged/html5boilerplate)
+tag).
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index 88f8127aa4..435cc93368 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -44,7 +44,7 @@ jobs:
asset_name: html5-boilerplate_${{ steps.get_version.outputs.VERSION }}.zip
asset_content_type: application/zip
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version: 18
registry-url: https://registry.npmjs.org/
diff --git a/.github/workflows/push-to-template.yaml b/.github/workflows/push-to-template.yaml
index 39c2aa1954..5342773eca 100644
--- a/.github/workflows/push-to-template.yaml
+++ b/.github/workflows/push-to-template.yaml
@@ -23,7 +23,7 @@ jobs:
${{ runner.os }}-node-
- uses: actions/checkout@v4
- name: Setup Node.js
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version: 'lts/*'
- name: Install dependencies
diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml
index beac7cb3a5..a4a357bbac 100644
--- a/.github/workflows/spellcheck.yml
+++ b/.github/workflows/spellcheck.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- - uses: streetsidesoftware/cspell-action@v3
+ - uses: streetsidesoftware/cspell-action@v4
with:
inline: warning
strict: false
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index d28850089c..450713e28c 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -28,7 +28,7 @@ jobs:
${{ runner.os }}-node-
- uses: actions/checkout@v4
- name: Run tests ${{ matrix.node-version }}
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
diff --git a/dist/img/.gitignore b/dist/img/.gitkeep
similarity index 100%
rename from dist/img/.gitignore
rename to dist/img/.gitkeep
diff --git a/dist/index.html b/dist/index.html
index 40c3bb4fbd..8cd13b7236 100644
--- a/dist/index.html
+++ b/dist/index.html
@@ -3,9 +3,10 @@
+
+
-
@@ -16,9 +17,6 @@
-
-
-
diff --git a/docs/css.md b/docs/css.md
index 02d017be5e..0c548e380b 100644
--- a/docs/css.md
+++ b/docs/css.md
@@ -5,30 +5,11 @@ table of contents](TOC.md)
HTML5 Boilerplate's CSS includes:
-- [Normalize.css](#normalizecss)
- [style.css](#stylecss)
-## Normalize.css
-
-In order to make browsers render all elements more consistently and in line with
-modern standards, we include Normalize.css — a modern, HTML5-ready alternative
-to CSS resets.
-
-As opposed to CSS resets, Normalize.css:
-
-- targets only the styles that need normalizing
-- preserves useful browser defaults rather than erasing them
-- corrects bugs and common browser inconsistencies
-- improves usability with subtle improvements
-- doesn't clutter the debugging tools
-- has better documentation
-
-For more information about Normalize.css, please refer to its [project
-page](https://necolas.github.io/normalize.css/).
-
## style.css
-Several base styles are included that build upon `Normalize.css`. These styles:
+Several base styles are included. These styles:
- provide basic typography settings that improve text readability
- protect against unwanted `text-shadow` during text highlighting
@@ -38,7 +19,4 @@ Several base styles are included that build upon `Normalize.css`. These styles:
- and more...
These styles are included in
-[style.css](https://github.com/h5bp/html5-boilerplate/blob/main/dist/css/style.css)
-using [main.css](https://github.com/h5bp/main.css) project.
-See the main.css [documentation](https://github.com/h5bp/main.css/blob/main/README.md#features)
-for a full discussion of these styles.
+[style.css](https://github.com/h5bp/html5-boilerplate/blob/main/dist/css/style.css).
diff --git a/docs/extend.md b/docs/extend.md
index 6f0949db75..73cf1618da 100644
--- a/docs/extend.md
+++ b/docs/extend.md
@@ -130,14 +130,14 @@ plugin](https://developer.mozilla.org/en-US/docs/Web/OpenSearch).
## Miscellaneous
-- Use [Microformats](http://microformats.org/wiki/Main_Page) (via
- [microdata](http://microformats.org/wiki/microdata)) for optimum search
+- Use [Microformats](https://microformats.org/wiki/Main_Page) (via
+ [microdata](https://microformats.org/wiki/microdata)) for optimum search
results
- [visibility](https://webmasters.googleblog.com/2009/05/introducing-rich-snippets.html).
+ [visibility](https://developers.google.com/search/blog/2009/05/introducing-rich-snippets).
- If you want to disable the translation prompt in Chrome or block Google
Translate from translating your web page, use [``](https://support.google.com/webmasters/answer/79812).
+content="notranslate">`](https://developers.google.com/search/docs/crawling-indexing/special-tags).
To disable translation for a particular section of the web page, add
[`class="notranslate"`](https://support.google.com/translate/?hl=en#2641276).
@@ -222,10 +222,7 @@ Twitter provides a snippet specification that serves a similar purpose to Open
Graph. In fact, Twitter will use Open Graph when Cards is not available. You can
read more about the various snippet formats in the
[official Twitter Cards
-documentation](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards),
-and you can validate your markup with the [Card
-validator](https://cards-dev.twitter.com/validator) (needs registration to
-Twitter).
+documentation](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards).
```html
@@ -248,7 +245,7 @@ search-engine, although this vocabulary is also used by Microsoft, Pinterest and
Yandex.
You can validate your markup with the [Structured Data Testing
-Tool](https://search.google.com/structured-data/testing-tool). Also, please
+Tool](https://developers.google.com/search/docs/appearance/structured-data). Also, please
note that this markup requires to add attributes to your top `html` tag.
```html
diff --git a/docs/html.md b/docs/html.md
index d66d592f1c..dd31a80ba4 100644
--- a/docs/html.md
+++ b/docs/html.md
@@ -68,7 +68,7 @@ details.
### Open Graph Metadata
-The [Open Graph Protocol](https://ogp.me/) allows you to define the way your
+The [Open Graph Protocol](https://ogp.me) allows you to define the way your
site is presented when referenced on third party sites and applications
(Facebook, Twitter, LinkedIn). The protocol provides a series of meta elements
that define the details of your site. The required attributes define the title,
diff --git a/docs/usage.md b/docs/usage.md
index a247053854..767c04c471 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -30,7 +30,6 @@ A basic HTML5 Boilerplate site initially looks something like this:
```
.
├── css
-│ ├── normalize.css
│ └── style.css
├── doc
├── img
diff --git a/package-lock.json b/package-lock.json
index 97ca20e7a3..6af0db630e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,10 +11,10 @@
"devDependencies": {
"archiver": "^6.0.1",
"del": "^7.1.0",
- "eslint": "^8.46.0",
+ "eslint": "^8.52.0",
"eslint-config-recommended": "^4.1.0",
- "eslint-plugin-mocha": "^10.1.0",
- "glob": "^10.3.3",
+ "eslint-plugin-mocha": "^10.2.0",
+ "glob": "^10.3.10",
"gulp": "^4.0.2",
"gulp-autoprefixer": "^8.0.0",
"gulp-eslint": "^6.0.0",
@@ -26,7 +26,8 @@
"strip-json-comments": "^5.0.1"
},
"engines": {
- "node": ">=14"
+ "node": ">=16",
+ "npm": ">=8"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -218,9 +219,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
- "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
+ "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
@@ -241,9 +242,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.21.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
- "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -277,21 +278,21 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.48.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz",
- "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==",
+ "version": "8.53.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
+ "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.11",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
- "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+ "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
+ "@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
},
@@ -313,9 +314,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true
},
"node_modules/@isaacs/cliui": {
@@ -513,6 +514,12 @@
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
"dev": true
},
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
"node_modules/acorn": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
@@ -1267,16 +1274,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "file-uri-to-path": "1.0.0"
- }
- },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2283,18 +2280,19 @@
}
},
"node_modules/eslint": {
- "version": "8.48.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz",
- "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==",
+ "version": "8.53.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
+ "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.2",
- "@eslint/js": "8.48.0",
- "@humanwhocodes/config-array": "^0.11.10",
+ "@eslint/eslintrc": "^2.1.3",
+ "@eslint/js": "8.53.0",
+ "@humanwhocodes/config-array": "^0.11.13",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
"ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
@@ -4283,13 +4281,13 @@
}
},
"node_modules/eslint-plugin-mocha": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.1.0.tgz",
- "integrity": "sha512-xLqqWUF17llsogVOC+8C6/jvQ+4IoOREbN7ZCHuOHuD6cT5cDD4h7f2LgsZuzMAiwswWE21tO7ExaknHVDrSkw==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz",
+ "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==",
"dev": true,
"dependencies": {
"eslint-utils": "^3.0.0",
- "rambda": "^7.1.0"
+ "rambda": "^7.4.0"
},
"engines": {
"node": ">=14.0.0"
@@ -4819,13 +4817,6 @@
"node": "^10.12.0 || >=12.0.0"
}
},
- "node_modules/file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true,
- "optional": true
- },
"node_modules/fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -5071,25 +5062,6 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
- "node_modules/fsevents": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
- "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "dependencies": {
- "bindings": "^1.5.0",
- "nan": "^2.12.1"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -5148,19 +5120,19 @@
}
},
"node_modules/glob": {
- "version": "10.3.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz",
- "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==",
+ "version": "10.3.10",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+ "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
"dev": true,
"dependencies": {
"foreground-child": "^3.1.0",
- "jackspeak": "^2.0.3",
+ "jackspeak": "^2.3.5",
"minimatch": "^9.0.1",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
"path-scurry": "^1.10.1"
},
"bin": {
- "glob": "dist/cjs/src/bin.js"
+ "glob": "dist/esm/bin.mjs"
},
"engines": {
"node": ">=16 || 14 >=14.17"
@@ -6778,9 +6750,9 @@
}
},
"node_modules/jackspeak": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.1.tgz",
- "integrity": "sha512-4iSY3Bh1Htv+kLhiiZunUhQ+OYXIn0ze3ulq8JeWrFKmhPAJSySV2+kdtRh2pGcCeF0s6oR8Oc+pYZynJj4t8A==",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
+ "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
"dev": true,
"dependencies": {
"@isaacs/cliui": "^8.0.2"
@@ -7777,20 +7749,6 @@
"node": ">=8"
}
},
- "node_modules/mocha/node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
"node_modules/mocha/node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -8049,13 +8007,6 @@
"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
- "node_modules/nan": {
- "version": "2.17.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz",
- "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==",
- "dev": true,
- "optional": true
- },
"node_modules/nanoid": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
@@ -8986,9 +8937,9 @@
"dev": true
},
"node_modules/rambda": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/rambda/-/rambda-7.1.4.tgz",
- "integrity": "sha512-bPK8sSiVHIC7CqdWga8R+hRi5hfc4hK6S01lZW4KrLwSNryQoKaCOJA9GNiF20J7Nbe1vejRfR37/ASQXFL5EA==",
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/rambda/-/rambda-7.5.0.tgz",
+ "integrity": "sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==",
"dev": true
},
"node_modules/randombytes": {
diff --git a/package.json b/package.json
index 06ec95495e..9782d9f0ac 100644
--- a/package.json
+++ b/package.json
@@ -24,10 +24,10 @@
"devDependencies": {
"archiver": "^6.0.1",
"del": "^7.1.0",
- "eslint": "^8.46.0",
+ "eslint": "^8.52.0",
"eslint-config-recommended": "^4.1.0",
- "eslint-plugin-mocha": "^10.1.0",
- "glob": "^10.3.3",
+ "eslint-plugin-mocha": "^10.2.0",
+ "glob": "^10.3.10",
"gulp": "^4.0.2",
"gulp-autoprefixer": "^8.0.0",
"gulp-eslint": "^6.0.0",
@@ -39,7 +39,8 @@
"strip-json-comments": "^5.0.1"
},
"engines": {
- "node": ">=14"
+ "node": ">=16",
+ "npm": ">=8"
},
"h5bp-configs": {
"directories": {
diff --git a/src/img/.gitignore b/src/img/.gitkeep
similarity index 100%
rename from src/img/.gitignore
rename to src/img/.gitkeep
diff --git a/src/index.html b/src/index.html
index 40c3bb4fbd..8cd13b7236 100644
--- a/src/index.html
+++ b/src/index.html
@@ -3,9 +3,10 @@
+
+
-
@@ -16,9 +17,6 @@
-
-
-
diff --git a/src/package.json b/src/package.json
index 5353ddfd34..6ca5ac6a21 100644
--- a/src/package.json
+++ b/src/package.json
@@ -16,9 +16,9 @@
"devDependencies": {
"copy-webpack-plugin": "^11.0.0",
"html-webpack-plugin": "^5.5.3",
- "webpack": "^5.88.2",
+ "webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1",
- "webpack-merge": "^5.9.0"
+ "webpack-merge": "^5.10.0"
}
}
diff --git a/test/file_existence.mjs b/test/file_existence.mjs
index 1c694417e0..8e92a21616 100644
--- a/test/file_existence.mjs
+++ b/test/file_existence.mjs
@@ -30,7 +30,7 @@ const expectedFilesInDistDir = [
'icon.svg',
'img/',
- 'img/.gitignore',
+ 'img/.gitkeep',
'index.html',