diff --git a/.cspell.json b/.cspell.json
index 330b5397cc..b33752869e 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -13,15 +13,8 @@
],
"language": "en,en-GB,en-US",
"allowCompoundWords": true,
- "files": [
- "**/*.md"
- ],
- "ignoreRegExpList": [
- "\\_\\w+",
- "\\#\\w+"
- ],
- "ignorePaths": [
- ".cspell.json"
- ],
+ "files": ["**/*.md"],
+ "ignoreRegExpList": ["\\_\\w+", "\\#\\w+"],
+ "ignorePaths": [".cspell.json"],
"useGitignore": true
}
diff --git a/.eslintrc.js b/.eslintrc.js
index c16a8348ef..8ede1dfc17 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -3,17 +3,17 @@ module.exports = {
browser: true,
es6: true,
mocha: true,
- node : true
+ node: true,
},
plugins: ['mocha'],
extends: 'eslint:recommended',
parserOptions: {
- 'ecmaVersion': 2020,
- 'sourceType': 'module'
+ ecmaVersion: 2020,
+ sourceType: 'module',
},
rules: {
indent: ['error', 2],
quotes: ['error', 'single'],
- semi: ['error', 'always']
- }
+ semi: ['error', 'always'],
+ },
};
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
index 1da7cda569..3950322d67 100644
--- a/.github/CODE_OF_CONDUCT.md
+++ b/.github/CODE_OF_CONDUCT.md
@@ -8,19 +8,19 @@ In the interest of fostering an open and welcoming environment, we as contributo
Examples of behavior that contributes to creating a positive environment include:
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
-* The use of sexualized language or imagery and unwelcome sexual attention or advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a professional setting
+- The use of sexualized language or imagery and unwelcome sexual attention or advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic address, without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 717a0052c9..03e5c0720e 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -12,7 +12,6 @@ the developers managing and developing this open source project. In return,
they should reciprocate that respect in addressing your issue or assessing
patches and features.
-
## Using the issue tracker
The [issue tracker](https://github.com/h5bp/html5-boilerplate/issues) is
@@ -20,19 +19,19 @@ the preferred channel for [bug reports](#bugs), [features requests](#features)
and [submitting pull requests](#pull-requests), but please respect the following
restrictions:
-* Please **do not** use the issue tracker for personal support requests (use
+- Please **do not** use the issue tracker for personal support requests (use
[Stack Overflow](https://stackoverflow.com/questions/tagged/html5boilerplate)).
-* Please **do not** derail or troll issues. Keep the discussion on topic and
+- 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
+- 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
A bug is a _demonstrable problem_ that is caused by the code in the repository.
@@ -73,17 +72,17 @@ Example:
> causing the bug, and potential solutions (and your opinions on their
> merits).
-
+
## Feature requests
Feature requests are welcome. But take a moment to find out whether your idea
-fits with the scope and aims of the project. It's up to *you* to make a strong
+fits with the scope and aims of the project. It's up to _you_ to make a strong
case to convince the project's developers of the merits of this feature. Please
provide as much detail and context as possible.
-
+
## Pull requests
Good pull requests - patches, improvements, new features - are a fantastic
@@ -146,7 +145,7 @@ included in the project:
```
7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
- with a clear title and description.
+ with a clear title and description.
**IMPORTANT**: By submitting a patch, you agree to allow the project
owners to license your work under the terms of the [MIT License](LICENSE.txt).
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index a80f071931..196744a003 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,12 +1,16 @@
## Types of changes
+
+
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
## Checklist:
+
+
- [ ] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md
index 39386d784e..de51d5d59e 100644
--- a/.github/SUPPORT.md
+++ b/.github/SUPPORT.md
@@ -4,5 +4,5 @@ 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).
+[`.htaccess`](https://github.com/h5bp/server-configs-apache),
+[`Normalize.css`](https://github.com/necolas/normalize.css).
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 8e8b60bc1f..7c01dee800 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -14,4 +14,3 @@ updates:
directory: "/"
schedule:
interval: monthly
-
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 2a4309b1fb..3acaf94dc0 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -20,13 +20,13 @@ jobs:
security-events: write
steps:
- - name: Checkout repository
- uses: actions/checkout@v3
+ - name: Checkout repository
+ uses: actions/checkout@v4
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v2
- with:
- languages: 'javascript'
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v2
+ with:
+ languages: "javascript"
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index da99d0c548..2167bb12cc 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -1,4 +1,4 @@
-name: 'Dependency Review'
+name: "Dependency Review"
on: [pull_request]
permissions:
@@ -8,7 +8,7 @@ jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- - name: 'Checkout Repository'
- uses: actions/checkout@v3
- - name: 'Dependency Review'
+ - name: "Checkout Repository"
+ uses: actions/checkout@v4
+ - name: "Dependency Review"
uses: actions/dependency-review-action@v3
diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml
index 570b78fc03..88f8127aa4 100644
--- a/.github/workflows/publish.yaml
+++ b/.github/workflows/publish.yaml
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Get tag
id: get_version
run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
diff --git a/.github/workflows/push-to-template.yaml b/.github/workflows/push-to-template.yaml
index c6f06cb783..39c2aa1954 100644
--- a/.github/workflows/push-to-template.yaml
+++ b/.github/workflows/push-to-template.yaml
@@ -21,7 +21,7 @@ jobs:
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml
index b10fd74859..beac7cb3a5 100644
--- a/.github/workflows/spellcheck.yml
+++ b/.github/workflows/spellcheck.yml
@@ -1,4 +1,4 @@
-name: 'Check spelling'
+name: "Check spelling"
on: # rebuild any PRs and main branch changes
push:
branches-ignore:
@@ -12,7 +12,7 @@ jobs:
spellcheck:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: streetsidesoftware/cspell-action@v3
with:
inline: warning
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index ffc414f566..d28850089c 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -26,7 +26,7 @@ jobs:
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Run tests ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000000..4e2ca93e6e
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1,2 @@
+lockfile-version = 3
+registry = "https://registry.npmjs.org/"
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000000..849ddff3b7
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+dist/
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000000..3d124d4e67
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,13 @@
+{
+ "bracketSameLine": true,
+ "embeddedLanguageFormatting": "off",
+ "singleQuote": true,
+ "overrides": [
+ {
+ "files": "**/*.yml",
+ "options": {
+ "singleQuote": false
+ }
+ }
+ ]
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d6ebf4149a..528ae55202 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,377 +2,377 @@
## 9.0.0 (TBD)
-* Rename CSS file [#2342](https://github.com/h5bp/html5-boilerplate/pull/2342) and JS file [#2341](https://github.com/h5bp/html5-boilerplate/pull/2341)
+- Rename CSS file [#2342](https://github.com/h5bp/html5-boilerplate/pull/2342) and JS file [#2341](https://github.com/h5bp/html5-boilerplate/pull/2341)
## 8.0.0 (June 04, 2020)
-* Add a sample package.json with basic Parcel commands ([#2227](https://github.com/h5bp/html5-boilerplate/pull/2229)), ([231e047](https://github.com/h5bp/html5-boilerplate/commit/231e047d270316b454156dc261e6e04da660e2a2))
-* Add sample Open Graph metadata ([#2235](https://github.com/h5bp/html5-boilerplate/pull/2235))
-* Update Modernizr to 3.11.2 ([84ae9cc](https://github.com/h5bp/html5-boilerplate/commit/84ae9cc91188bea4edb8ec91e2a25a2a7f7837a6))
-* Remove jQuery ([#2225](https://github.com/h5bp/html5-boilerplate/pull/2225))
-* Set anonymizeIp to true in Google Analytics snippet ([#2219](https://github.com/h5bp/html5-boilerplate/pull/2219))
-* Update main.css to 2.1.0 ([#2234](https://github.com/h5bp/html5-boilerplate/pull/2234))
-* Remove Browser Upgrade Prompt ([23c4112](https://github.com/h5bp/html5-boilerplate/commit/23c4112db067262c715ebad861ec892c29c3cdaa))
-* Create new publish action ([#2260](https://github.com/h5bp/html5-boilerplate/pull/2260)), ([#2241](https://github.com/h5bp/html5-boilerplate/pull/2241))
-* Docs updates ([#2251](https://github.com/h5bp/html5-boilerplate/pull/2251)), ([#2253](https://github.com/h5bp/html5-boilerplate/pull/2253)), ([#2245](https://github.com/h5bp/html5-boilerplate/pull/2245)), ([#2220](https://github.com/h5bp/html5-boilerplate/pull/2220)), ([#2263](https://github.com/h5bp/html5-boilerplate/pull/2263)), ([#2262](https://github.com/h5bp/html5-boilerplate/pull/2262))
+- Add a sample package.json with basic Parcel commands ([#2227](https://github.com/h5bp/html5-boilerplate/pull/2229)), ([231e047](https://github.com/h5bp/html5-boilerplate/commit/231e047d270316b454156dc261e6e04da660e2a2))
+- Add sample Open Graph metadata ([#2235](https://github.com/h5bp/html5-boilerplate/pull/2235))
+- Update Modernizr to 3.11.2 ([84ae9cc](https://github.com/h5bp/html5-boilerplate/commit/84ae9cc91188bea4edb8ec91e2a25a2a7f7837a6))
+- Remove jQuery ([#2225](https://github.com/h5bp/html5-boilerplate/pull/2225))
+- Set anonymizeIp to true in Google Analytics snippet ([#2219](https://github.com/h5bp/html5-boilerplate/pull/2219))
+- Update main.css to 2.1.0 ([#2234](https://github.com/h5bp/html5-boilerplate/pull/2234))
+- Remove Browser Upgrade Prompt ([23c4112](https://github.com/h5bp/html5-boilerplate/commit/23c4112db067262c715ebad861ec892c29c3cdaa))
+- Create new publish action ([#2260](https://github.com/h5bp/html5-boilerplate/pull/2260)), ([#2241](https://github.com/h5bp/html5-boilerplate/pull/2241))
+- Docs updates ([#2251](https://github.com/h5bp/html5-boilerplate/pull/2251)), ([#2253](https://github.com/h5bp/html5-boilerplate/pull/2253)), ([#2245](https://github.com/h5bp/html5-boilerplate/pull/2245)), ([#2220](https://github.com/h5bp/html5-boilerplate/pull/2220)), ([#2263](https://github.com/h5bp/html5-boilerplate/pull/2263)), ([#2262](https://github.com/h5bp/html5-boilerplate/pull/2262))
## 7.3.0 (November 19, 2019)
-* Update Modernizr to 3.8 ([2b2bb45](https://github.com/h5bp/html5-boilerplate/commit/2b2bb453916b4b09a6f0929340290dc2505f7ce9))
-* Update to Gulp 4 ([#2151](https://github.com/h5bp/html5-boilerplate/pull/2151))
-* Update package.json ([#2162](https://github.com/h5bp/html5-boilerplate/pull/#2162)) and enable package-lock.json ([abe2087](https://github.com/h5bp/html5-boilerplate/commit/abe20877fdb569c84aa0a1f8ae12c51c51e41250)),([#2145](https://github.com/h5bp/html5-boilerplate/pull/#2145))
-* Remove redundant rules from .editorconfig ([#2157](https://github.com/h5bp/html5-boilerplate/pull/2157))
-* Small docs maintenance updates ([#2155](https://github.com/h5bp/html5-boilerplate/pull/2155)), ([#2164](https://github.com/h5bp/html5-boilerplate/pull/2164)), ([#2165](https://github.com/h5bp/html5-boilerplate/pull/2165)), ([#2167](https://github.com/h5bp/html5-boilerplate/pull/2167)) & ([#2168](https://github.com/h5bp/html5-boilerplate/pull/2168))
-* Bump lowest supported version of node to 8.x ([#2142](https://github.com/h5bp/html5-boilerplate/pull/2142))
-* Remove .jscsrc config and remove gulp-jscs from package.json ([#2153](https://github.com/h5bp/html5-boilerplate/pull/2153))
+- Update Modernizr to 3.8 ([2b2bb45](https://github.com/h5bp/html5-boilerplate/commit/2b2bb453916b4b09a6f0929340290dc2505f7ce9))
+- Update to Gulp 4 ([#2151](https://github.com/h5bp/html5-boilerplate/pull/2151))
+- Update package.json ([#2162](https://github.com/h5bp/html5-boilerplate/pull/#2162)) and enable package-lock.json ([abe2087](https://github.com/h5bp/html5-boilerplate/commit/abe20877fdb569c84aa0a1f8ae12c51c51e41250)),([#2145](https://github.com/h5bp/html5-boilerplate/pull/#2145))
+- Remove redundant rules from .editorconfig ([#2157](https://github.com/h5bp/html5-boilerplate/pull/2157))
+- Small docs maintenance updates ([#2155](https://github.com/h5bp/html5-boilerplate/pull/2155)), ([#2164](https://github.com/h5bp/html5-boilerplate/pull/2164)), ([#2165](https://github.com/h5bp/html5-boilerplate/pull/2165)), ([#2167](https://github.com/h5bp/html5-boilerplate/pull/2167)) & ([#2168](https://github.com/h5bp/html5-boilerplate/pull/2168))
+- Bump lowest supported version of node to 8.x ([#2142](https://github.com/h5bp/html5-boilerplate/pull/2142))
+- Remove .jscsrc config and remove gulp-jscs from package.json ([#2153](https://github.com/h5bp/html5-boilerplate/pull/2153))
## 7.2.0 (June 4, 2019)
-* Remove `defer` from Google Analytics snippet ([#2132](https://github.com/h5bp/html5-boilerplate/pull/2132))
-* Update jQuery to v3.4.1 ([#2126](https://github.com/h5bp/html5-boilerplate/pull/2126))
-* Update Apache Server Configs to 3.2.1 ([#2128](https://github.com/h5bp/html5-boilerplate/pull/2128))
-* Update main.css to v2.0.0 ([#2135](https://github.com/h5bp/html5-boilerplate/pull/2135))
-* Docs updates ([#2122](https://github.com/h5bp/html5-boilerplate/pull/2122)), ([#2125](https://github.com/h5bp/html5-boilerplate/pull/2125)), ([#2134](https://github.com/h5bp/html5-boilerplate/pull/2134)), ([#2137](https://github.com/h5bp/html5-boilerplate/pull/2137)), ([#2138](https://github.com/h5bp/html5-boilerplate/pull/2138))
+- Remove `defer` from Google Analytics snippet ([#2132](https://github.com/h5bp/html5-boilerplate/pull/2132))
+- Update jQuery to v3.4.1 ([#2126](https://github.com/h5bp/html5-boilerplate/pull/2126))
+- Update Apache Server Configs to 3.2.1 ([#2128](https://github.com/h5bp/html5-boilerplate/pull/2128))
+- Update main.css to v2.0.0 ([#2135](https://github.com/h5bp/html5-boilerplate/pull/2135))
+- Docs updates ([#2122](https://github.com/h5bp/html5-boilerplate/pull/2122)), ([#2125](https://github.com/h5bp/html5-boilerplate/pull/2125)), ([#2134](https://github.com/h5bp/html5-boilerplate/pull/2134)), ([#2137](https://github.com/h5bp/html5-boilerplate/pull/2137)), ([#2138](https://github.com/h5bp/html5-boilerplate/pull/2138))
## 7.1.0 (March 18, 2019)
-* Update Modernizr to 3.7.1 ([#2121](https://github.com/h5bp/html5-boilerplate/pull/2121))
-* Update Analytics docs and snippet ([#2118](https://github.com/h5bp/html5-boilerplate/pull/2118))
-* Minor docs updates ([#2115](https://github.com/h5bp/html5-boilerplate/pull/2115))
-* Minor devdeps updates ([#2114](https://github.com/h5bp/html5-boilerplate/pull/2114))
-* More succinct way of writing the IE conditional statement ([#2113](https://github.com/h5bp/html5-boilerplate/pull/2113))
+- Update Modernizr to 3.7.1 ([#2121](https://github.com/h5bp/html5-boilerplate/pull/2121))
+- Update Analytics docs and snippet ([#2118](https://github.com/h5bp/html5-boilerplate/pull/2118))
+- Minor docs updates ([#2115](https://github.com/h5bp/html5-boilerplate/pull/2115))
+- Minor devdeps updates ([#2114](https://github.com/h5bp/html5-boilerplate/pull/2114))
+- More succinct way of writing the IE conditional statement ([#2113](https://github.com/h5bp/html5-boilerplate/pull/2113))
## 7.0.1 (February 11, 2019)
-* Bumps main.css to current version ([#2112](https://github.com/h5bp/html5-boilerplate/pull/2112))
+- Bumps main.css to current version ([#2112](https://github.com/h5bp/html5-boilerplate/pull/2112))
## 7.0.0 (February 8, 2019)
-* Drop support for IE9/IE10 (usage of these versions is tiny and Microsoft officially ended support back in 2016. ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2074))
-* Move the CSS to a separate repo ([#2066](https://github.com/h5bp/html5-boilerplate/pull/2066))
-* Add theme-color meta tag to index.html ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2074))
-* Add 'install with yarn' steps to README ([#2063](https://github.com/h5bp/html5-boilerplate/pull/2063))
-* Improved Webmanifest ([#2060](https://github.com/h5bp/html5-boilerplate/pull/2060))
-* Upgrade Normalize to 8.0.1 ([#2104](https://github.com/h5bp/html5-boilerplate/pull/2104))
-* Update .htaccess ([#2110](https://github.com/h5bp/html5-boilerplate/pull/2110))
-* Remove instances of `shrink-to-fit=no` ([#2103](https://github.com/h5bp/html5-boilerplate/pull/2103))
-* Removes "display": "standalone" from manifest ([#2096](https://github.com/h5bp/html5-boilerplate/pull/2096))
-* Big Docs update - Fixed links, removed IE9/IE10 specific info, made touch icons section more concise, add details on security.txt and more tidying up ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2031), [#2065](https://github.com/h5bp/html5-boilerplate/pull/2065), [#2062](https://github.com/h5bp/html5-boilerplate/pull/2062))
+- Drop support for IE9/IE10 (usage of these versions is tiny and Microsoft officially ended support back in 2016. ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2074))
+- Move the CSS to a separate repo ([#2066](https://github.com/h5bp/html5-boilerplate/pull/2066))
+- Add theme-color meta tag to index.html ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2074))
+- Add 'install with yarn' steps to README ([#2063](https://github.com/h5bp/html5-boilerplate/pull/2063))
+- Improved Webmanifest ([#2060](https://github.com/h5bp/html5-boilerplate/pull/2060))
+- Upgrade Normalize to 8.0.1 ([#2104](https://github.com/h5bp/html5-boilerplate/pull/2104))
+- Update .htaccess ([#2110](https://github.com/h5bp/html5-boilerplate/pull/2110))
+- Remove instances of `shrink-to-fit=no` ([#2103](https://github.com/h5bp/html5-boilerplate/pull/2103))
+- Removes "display": "standalone" from manifest ([#2096](https://github.com/h5bp/html5-boilerplate/pull/2096))
+- Big Docs update - Fixed links, removed IE9/IE10 specific info, made touch icons section more concise, add details on security.txt and more tidying up ([#2074](https://github.com/h5bp/html5-boilerplate/pull/2031), [#2065](https://github.com/h5bp/html5-boilerplate/pull/2065), [#2062](https://github.com/h5bp/html5-boilerplate/pull/2062))
## 6.1.0 (May 1, 2018)
-* [Update Apache Server Configs to `v3.0.0`.](https://github.com/h5bp/html5-boilerplate/pull/2042)
-* Migrate to eslint ([#2037](https://github.com/h5bp/html5-boilerplate/pull/2037))
-* Update to jQuery 3.3.1 ([#2018](https://github.com/h5bp/html5-boilerplate/pull/2018))
-* Update to Modernizr v3.6 and Normalize v8 ([#2028](https://github.com/h5bp/html5-boilerplate/pull/2028))
-* Update Dev Dependencies ([#2032](https://github.com/h5bp/html5-boilerplate/pull/2032)) ([#2017](https://github.com/h5bp/html5-boilerplate/pull/2017)) ([#2010](https://github.com/h5bp/html5-boilerplate/pull/2010)) ([#2009](https://github.com/h5bp/html5-boilerplate/pull/2009))
-* Replace 'node-sri' with 'ssri' ([#2031](https://github.com/h5bp/html5-boilerplate/pull/2031))
-* Add .babelrc and .prettierrc to .gitattributes ([#2030](https://github.com/h5bp/html5-boilerplate/pull/2030))
-* Update .htaccess ([#2003](https://github.com/h5bp/html5-boilerplate/pull/2003))
-* Fixed JSHint errors ([#1994](https://github.com/h5bp/html5-boilerplate/pull/1994))
-* Add CODE_OF_CONDUCT.md ([#2011](https://github.com/h5bp/html5-boilerplate/pull/2011))
-* Update Documentation ([#2029](https://github.com/h5bp/html5-boilerplate/pull/2029)) ([#2015](https://github.com/h5bp/html5-boilerplate/pull/2015)) ([#2007](https://github.com/h5bp/html5-boilerplate/pull/2007)) ([#2006](https://github.com/h5bp/html5-boilerplate/pull/2006)) ([#1996](https://github.com/h5bp/html5-boilerplate/pull/1996))
+- [Update Apache Server Configs to `v3.0.0`.](https://github.com/h5bp/html5-boilerplate/pull/2042)
+- Migrate to eslint ([#2037](https://github.com/h5bp/html5-boilerplate/pull/2037))
+- Update to jQuery 3.3.1 ([#2018](https://github.com/h5bp/html5-boilerplate/pull/2018))
+- Update to Modernizr v3.6 and Normalize v8 ([#2028](https://github.com/h5bp/html5-boilerplate/pull/2028))
+- Update Dev Dependencies ([#2032](https://github.com/h5bp/html5-boilerplate/pull/2032)) ([#2017](https://github.com/h5bp/html5-boilerplate/pull/2017)) ([#2010](https://github.com/h5bp/html5-boilerplate/pull/2010)) ([#2009](https://github.com/h5bp/html5-boilerplate/pull/2009))
+- Replace 'node-sri' with 'ssri' ([#2031](https://github.com/h5bp/html5-boilerplate/pull/2031))
+- Add .babelrc and .prettierrc to .gitattributes ([#2030](https://github.com/h5bp/html5-boilerplate/pull/2030))
+- Update .htaccess ([#2003](https://github.com/h5bp/html5-boilerplate/pull/2003))
+- Fixed JSHint errors ([#1994](https://github.com/h5bp/html5-boilerplate/pull/1994))
+- Add CODE_OF_CONDUCT.md ([#2011](https://github.com/h5bp/html5-boilerplate/pull/2011))
+- Update Documentation ([#2029](https://github.com/h5bp/html5-boilerplate/pull/2029)) ([#2015](https://github.com/h5bp/html5-boilerplate/pull/2015)) ([#2007](https://github.com/h5bp/html5-boilerplate/pull/2007)) ([#2006](https://github.com/h5bp/html5-boilerplate/pull/2006)) ([#1996](https://github.com/h5bp/html5-boilerplate/pull/1996))
## 6.0.1 (August 20, 2017)
-* Reverts .visuallyhidden (see [#1985](https://github.com/h5bp/html5-boilerplate/issues/1985))
+- Reverts .visuallyhidden (see [#1985](https://github.com/h5bp/html5-boilerplate/issues/1985))
## 6.0.0 (August 17, 2017)
-* Fix Bug: .visuallyhidden on macOS VO fixes #1985 ([#1989](https://github.com/h5bp/html5-boilerplate/pull/1989))
-* Adds web app manifest file ([#1963](https://github.com/h5bp/html5-boilerplate/pull/1963))
-* Update to jQuery 3.2.1 ([#1942](https://github.com/h5bp/html5-boilerplate/pull/1942))
-* Improve ::selection documentation which became confusing after c7057be ([#1955](https://github.com/h5bp/html5-boilerplate/pull/1955))
-* refactor(html): update browsehappy to https instead of http ([#1952](https://github.com/h5bp/html5-boilerplate/pull/1952))
-* Fix links to CONTRIBUTING.md ([#1951](https://github.com/h5bp/html5-boilerplate/pull/1951))
-* Adds .github folder and contents Fixes ([#1948](https://github.com/h5bp/html5-boilerplate/pull/1948))
-* Modernizr 3, modernizr.config and ([#1940](https://github.com/h5bp/html5-boilerplate/pull/1940))
-* Housekeeping by @coliff (#1968 #1969 #1965 #1964 #1958 #1957 #1956)
-* Update .gitattributes for Web Projects ([#1935](https://github.com/h5bp/html5-boilerplate/pull/1935))
-* Add the link for useful .gitignore templates ([#1936](https://github.com/h5bp/html5-boilerplate/pull/1936))
-* Node plumbing updated ([#1925](https://github.com/h5bp/html5-boilerplate/pull/1925)) ([#1928](https://github.com/h5bp/html5-boilerplate/pull/1928)) ([#1931](https://github.com/h5bp/html5-boilerplate/pull/1931))
-* Use es2015 syntax in mocha tests ([#1788](https://github.com/h5bp/html5-boilerplate/pull/1788))
-* Scope :first-letter selector for print styles ([#1904](https://github.com/h5bp/html5-boilerplate/pull/1904))
-* Add SRI Hash for jQuery ([#1904](https://github.com/h5bp/html5-boilerplate/pull/1904))
-* Update .jshintrc ([#1903](https://github.com/h5bp/html5-boilerplate/pull/1903))
-* Improve accessibility with visuallyhidden content ([#1900](https://github.com/h5bp/html5-boilerplate/pull/1900))
-* Tell users that IE 8 and 9 are outdated
+- Fix Bug: .visuallyhidden on macOS VO fixes #1985 ([#1989](https://github.com/h5bp/html5-boilerplate/pull/1989))
+- Adds web app manifest file ([#1963](https://github.com/h5bp/html5-boilerplate/pull/1963))
+- Update to jQuery 3.2.1 ([#1942](https://github.com/h5bp/html5-boilerplate/pull/1942))
+- Improve ::selection documentation which became confusing after c7057be ([#1955](https://github.com/h5bp/html5-boilerplate/pull/1955))
+- refactor(html): update browsehappy to https instead of http ([#1952](https://github.com/h5bp/html5-boilerplate/pull/1952))
+- Fix links to CONTRIBUTING.md ([#1951](https://github.com/h5bp/html5-boilerplate/pull/1951))
+- Adds .github folder and contents Fixes ([#1948](https://github.com/h5bp/html5-boilerplate/pull/1948))
+- Modernizr 3, modernizr.config and ([#1940](https://github.com/h5bp/html5-boilerplate/pull/1940))
+- Housekeeping by @coliff (#1968 #1969 #1965 #1964 #1958 #1957 #1956)
+- Update .gitattributes for Web Projects ([#1935](https://github.com/h5bp/html5-boilerplate/pull/1935))
+- Add the link for useful .gitignore templates ([#1936](https://github.com/h5bp/html5-boilerplate/pull/1936))
+- Node plumbing updated ([#1925](https://github.com/h5bp/html5-boilerplate/pull/1925)) ([#1928](https://github.com/h5bp/html5-boilerplate/pull/1928)) ([#1931](https://github.com/h5bp/html5-boilerplate/pull/1931))
+- Use es2015 syntax in mocha tests ([#1788](https://github.com/h5bp/html5-boilerplate/pull/1788))
+- Scope :first-letter selector for print styles ([#1904](https://github.com/h5bp/html5-boilerplate/pull/1904))
+- Add SRI Hash for jQuery ([#1904](https://github.com/h5bp/html5-boilerplate/pull/1904))
+- Update .jshintrc ([#1903](https://github.com/h5bp/html5-boilerplate/pull/1903))
+- Improve accessibility with visuallyhidden content ([#1900](https://github.com/h5bp/html5-boilerplate/pull/1900))
+- Tell users that IE 8 and 9 are outdated
([#1747](https://github.com/h5bp/html5-boilerplate/issues/1747)).
-* Removed IE8 Support (upgrades jQuery and normalize.css to latest)
+- Removed IE8 Support (upgrades jQuery and normalize.css to latest)
([#1524](https://github.com/h5bp/html5-boilerplate/issues/1524)).
-* Fix print styles for Internet Explorer 11
+- Fix print styles for Internet Explorer 11
([#1799](https://github.com/h5bp/html5-boilerplate/issues/1799)).
-* Update doc links to https
+- Update doc links to https
([#1889](https://github.com/h5bp/html5-boilerplate/issues/1889)).
-* Delete crossdomain.xml
+- Delete crossdomain.xml
([#1881](https://github.com/h5bp/html5-boilerplate/issues/1881)).
-* Adds pre-wrap to PRE
+- Adds pre-wrap to PRE
([#1742](https://github.com/h5bp/html5-boilerplate/issues/1742)).
-* Change license format to SPDX format
+- Change license format to SPDX format
([#1814](https://github.com/h5bp/html5-boilerplate/pull/1814)).
-* Simplify the Google Analytics snippet using `async` & `defer` ([#1660](https://github.com/h5bp/html5-boilerplate/pull/1660#issuecomment-89285678)).
+- Simplify the Google Analytics snippet using `async` & `defer` ([#1660](https://github.com/h5bp/html5-boilerplate/pull/1660#issuecomment-89285678)).
## 5.3.0 (January 12, 2016)
-* Update jQuery to `v1.12.0`.
-* Fetch `jQuery` from jQuery's CDN instead of Google's
+- Update jQuery to `v1.12.0`.
+- Fetch `jQuery` from jQuery's CDN instead of Google's
([#1737](https://github.com/h5bp/html5-boilerplate/issues/1737),
[#1739](https://github.com/h5bp/html5-boilerplate/issues/1739)).
-* Change print color for `:first-letter` and `:first-line`
+- Change print color for `:first-letter` and `:first-line`
pseudo-elements
([#1715](https://github.com/h5bp/html5-boilerplate/pull/1715)).
## 5.2.0 (May 1, 2015)
-* Update jQuery to `v1.11.3`
+- Update jQuery to `v1.11.3`
([#1699](https://github.com/h5bp/html5-boilerplate/issues/1699)).
-* Deprecate protocol-relative URLs
+- Deprecate protocol-relative URLs
([#1694](https://github.com/h5bp/html5-boilerplate/issues/1694)).
-* Update high resolution media query
+- Update high resolution media query
([#1474](https://github.com/h5bp/html5-boilerplate/issues/1474)).
-* Update Apache Server Configs to `v2.14.0`.
+- Update Apache Server Configs to `v2.14.0`.
## 5.1.0 (April 1, 2015)
-* Update Normalize.css to `v3.0.3`.
-* Use `https://` in the Google Universal Analytics snippet
+- Update Normalize.css to `v3.0.3`.
+- Use `https://` in the Google Universal Analytics snippet
([eee759b](https://github.com/h5bp/html5-boilerplate/commit/eee759bfe175e850bbc8e4ad0682ec4fe4bd05d6)).
-* Remove the `visibility: hidden` declaration from `.hidden`
+- Remove the `visibility: hidden` declaration from `.hidden`
([#1663](https://github.com/h5bp/html5-boilerplate/issues/1663)).
-* Use ``
+- Use ``
instead of ``
([#1656](https://github.com/h5bp/html5-boilerplate/issues/1656)).
-* Update Apache Server Configs to `v2.13.0`.
+- Update Apache Server Configs to `v2.13.0`.
## 5.0.0 (February 1, 2015)
-* Update to jQuery 1.11.2.
-* Update Apache Server Configs to v2.11.0.
-* Rename Apple touch icon to `apple-touch-icon.png` and add
+- Update to jQuery 1.11.2.
+- Update Apache Server Configs to v2.11.0.
+- Rename Apple touch icon to `apple-touch-icon.png` and add
`` in `index.html`
([#1622](https://github.com/h5bp/html5-boilerplate/issues/1622)).
-* Add vertical centering for `iframe`
+- Add vertical centering for `iframe`
([#1613](https://github.com/h5bp/html5-boilerplate/issues/1613)).
-* Change the outdated browser prompt classname to `browserupgrade`
+- Change the outdated browser prompt classname to `browserupgrade`
([#1608](https://github.com/h5bp/html5-boilerplate/issues/1608)).
-* Update to Normalize.css 3.0.2.
+- Update to Normalize.css 3.0.2.
([#1050](https://github.com/h5bp/html5-boilerplate/issues/1050)).
-* Update `apple-touch-icon-precomposed.png` and the _"Apple touch
+- Update `apple-touch-icon-precomposed.png` and the _"Apple touch
icons"_ related documentation
([#1599](https://github.com/h5bp/html5-boilerplate/pull/1599)).
-* Add pseudo-elements to universal selector in print media query
+- Add pseudo-elements to universal selector in print media query
([#1585](https://github.com/h5bp/html5-boilerplate/pull/1585)).
-* Update to Modernizr 2.8.3.
-* Remove need to readjust margins in `404.html`
+- Update to Modernizr 2.8.3.
+- Remove need to readjust margins in `404.html`
([#1567](https://github.com/h5bp/html5-boilerplate/pull/1567)).
-* Add `/.editorconfig` file
+- Add `/.editorconfig` file
([#1561](https://github.com/h5bp/html5-boilerplate/issues/1561),
[#1564](https://github.com/h5bp/html5-boilerplate/issues/1564)).
-* Add `auto` to the Google Universal Analytics tracker create method
+- Add `auto` to the Google Universal Analytics tracker create method
([#1562](https://github.com/h5bp/html5-boilerplate/issues/1562)).
-* Add `timeline` and `timelineEnd` to the list of `console` methods
+- Add `timeline` and `timelineEnd` to the list of `console` methods
([#1559](https://github.com/h5bp/html5-boilerplate/issues/1559)).
-* Add `lang=""` to ``
+- Add `lang=""` to ``
([#1542](https://github.com/h5bp/html5-boilerplate/issues/1542)).
-* Use `` instead of ``
+- Use `` instead of ``
([#1522](https://github.com/h5bp/html5-boilerplate/issues/1522)).
-* Add `/browserconfig.xml` file and tile images
+- Add `/browserconfig.xml` file and tile images
([#1481](https://github.com/h5bp/html5-boilerplate/issues/1481)).
-* Add `Disallow:` to `robots.txt`
+- Add `Disallow:` to `robots.txt`
([#1487](https://github.com/h5bp/html5-boilerplate/issues/1487)).
-* Remove default foreground color from form elements
+- Remove default foreground color from form elements
([#1390](https://github.com/h5bp/html5-boilerplate/issues/1390)).
-* Remove default margin from print styles
+- Remove default margin from print styles
([#1477](https://github.com/h5bp/html5-boilerplate/issues/1477)).
-* Remove image replacement helper class `.ir`
+- Remove image replacement helper class `.ir`
([#1472](https://github.com/h5bp/html5-boilerplate/issues/1472),
[#1475](https://github.com/h5bp/html5-boilerplate/issues/1475)).
-* Add vertical centering for `svg`
+- Add vertical centering for `svg`
([#1453](https://github.com/h5bp/html5-boilerplate/issues/1453)).
-* Redesign 404 page
+- Redesign 404 page
([#1443](https://github.com/h5bp/html5-boilerplate/pull/1443)).
-* Remove IE 6/7 hacks from `main.css`
+- Remove IE 6/7 hacks from `main.css`
([#1050](https://github.com/h5bp/html5-boilerplate/issues/1050)).
-* Remove IE conditional classes
+- Remove IE conditional classes
([#1187](https://github.com/h5bp/html5-boilerplate/issues/1187),
[#1290](https://github.com/h5bp/html5-boilerplate/issues/1290)).
## 4.3.0 (September 10, 2013)
-* Use one `apple-touch-icon` instead of six
+- Use one `apple-touch-icon` instead of six
([#1367](https://github.com/h5bp/html5-boilerplate/issues/1367)).
-* Move font-related declarations from `body` to `html`
+- Move font-related declarations from `body` to `html`
([#1411](https://github.com/h5bp/html5-boilerplate/issues/1411)).
-* Update to Apache Server Configs 1.1.0.
-* Add `initial-scale=1` to the viewport `meta`
+- Update to Apache Server Configs 1.1.0.
+- Add `initial-scale=1` to the viewport `meta`
([#1398](https://github.com/h5bp/html5-boilerplate/pull/1398)).
-* Vertical centering for audio, canvas and video-tags
+- Vertical centering for audio, canvas and video-tags
([#1326](https://github.com/h5bp/html5-boilerplate/issues/1326)).
-* Remove Google Chrome Frame related code
+- Remove Google Chrome Frame related code
([#1379](https://github.com/h5bp/html5-boilerplate/pull/1379),
[#1396](https://github.com/h5bp/html5-boilerplate/pull/1396)).
-* Update to Google Universal Analytics
+- Update to Google Universal Analytics
([#1347](https://github.com/h5bp/html5-boilerplate/issues/1347)).
-* Update to jQuery 1.10.2.
-* Update to Normalize.css 1.1.3.
+- Update to jQuery 1.10.2.
+- Update to Normalize.css 1.1.3.
## 4.2.0 (April 8, 2013)
-* Remove Google Analytics protocol check
+- Remove Google Analytics protocol check
([#1319](https://github.com/h5bp/html5-boilerplate/pull/1319)).
-* Update to Normalize.css 1.1.1.
-* Update Apache configurations to include the latest changes in the
+- Update to Normalize.css 1.1.1.
+- Update Apache configurations to include the latest changes in the
canonical [`.htaccess`](https://github.com/h5bp/server-configs-apache)
file.
-* Use a protocol relative URL for the 404 template script.
-* Update to jQuery 1.9.1.
+- Use a protocol relative URL for the 404 template script.
+- Update to jQuery 1.9.1.
## 4.1.0 (January 21, 2013)
-* Update to Normalize.css 1.1.0.
-* Update to jQuery 1.9.0.
+- Update to Normalize.css 1.1.0.
+- Update to jQuery 1.9.0.
## 4.0.3 (January 12, 2013)
-* Use 32x32 favicon.ico
+- Use 32x32 favicon.ico
([#1286](https://github.com/h5bp/html5-boilerplate/pull/1286)).
-* Remove named function expression in plugins.js
+- Remove named function expression in plugins.js
([#1280](https://github.com/h5bp/html5-boilerplate/pull/1280)).
-* Adjust CSS image-replacement code
+- Adjust CSS image-replacement code
([#1239](https://github.com/h5bp/html5-boilerplate/issues/1239)).
-* Update HiDPI example media query
+- Update HiDPI example media query
([#1127](https://github.com/h5bp/html5-boilerplate/issues/1127)).
## 4.0.2 (December 9, 2012)
-* Update placeholder icons.
-* Update to Normalize.css 1.0.2.
-* Update to jQuery 1.8.3.
+- Update placeholder icons.
+- Update to Normalize.css 1.0.2.
+- Update to jQuery 1.8.3.
## 4.0.1 (October 20, 2012)
-* Further improvements to `console` method stubbing
+- Further improvements to `console` method stubbing
([#1206](https://github.com/h5bp/html5-boilerplate/issues/1206),
[#1229](https://github.com/h5bp/html5-boilerplate/pull/1229)).
-* Update to jQuery 1.8.2.
-* Update to Modernizr 2.6.2.
-* Minor additions to the documentation.
+- Update to jQuery 1.8.2.
+- Update to Modernizr 2.6.2.
+- Minor additions to the documentation.
## 4.0.0 (August 28, 2012)
-* Improve the Apache compression configuration
+- Improve the Apache compression configuration
([#1012](https://github.com/h5bp/html5-boilerplate/issues/1012),
[#1173](https://github.com/h5bp/html5-boilerplate/issues/1173)).
-* Add a HiDPI example media query
+- Add a HiDPI example media query
([#1127](https://github.com/h5bp/html5-boilerplate/issues/1127)).
-* Add bundled docs
+- Add bundled docs
([#1154](https://github.com/h5bp/html5-boilerplate/issues/1154)).
-* Add MIT license
+- Add MIT license
([#1139](https://github.com/h5bp/html5-boilerplate/issues/1139)).
-* Update to Normalize.css 1.0.1.
-* Separate Normalize.css from the rest of the CSS
+- Update to Normalize.css 1.0.1.
+- Separate Normalize.css from the rest of the CSS
([#1160](https://github.com/h5bp/html5-boilerplate/issues/1160)).
-* Improve `console.log` protection
+- Improve `console.log` protection
([#1107](https://github.com/h5bp/html5-boilerplate/issues/1107)).
-* Replace hot pink text selection color with a neutral color.
-* Change image replacement technique
+- Replace hot pink text selection color with a neutral color.
+- Change image replacement technique
([#1149](https://github.com/h5bp/html5-boilerplate/issues/1149)).
-* Code format and consistency changes
+- Code format and consistency changes
([#1112](https://github.com/h5bp/html5-boilerplate/issues/1112)).
-* Rename CSS file and rename JS files and subdirectories.
-* Update to jQuery 1.8
+- Rename CSS file and rename JS files and subdirectories.
+- Update to jQuery 1.8
([#1161](https://github.com/h5bp/html5-boilerplate/issues/1161)).
-* Update to Modernizr 2.6.1
+- Update to Modernizr 2.6.1
([#1086](https://github.com/h5bp/html5-boilerplate/issues/1086)).
-* Remove uncompressed jQuery
+- Remove uncompressed jQuery
([#1153](https://github.com/h5bp/html5-boilerplate/issues/1153)).
-* Remove superfluous inline comments
+- Remove superfluous inline comments
([#1150](https://github.com/h5bp/html5-boilerplate/issues/1150)).
## 3.0.2 (February 19, 2012)
-* Update to Modernizr 2.5.3.
+- Update to Modernizr 2.5.3.
## 3.0.1 (February 08, 2012)
-* Update to Modernizr 2.5.2 (includes html5shiv 3.3).
+- Update to Modernizr 2.5.2 (includes html5shiv 3.3).
## 3.0.0 (February 06, 2012)
-* Improvements to `.htaccess`.
-* Improve 404 design.
-* Simplify JS folder structure.
-* Change `html` IE class names changed to target ranges rather than
+- Improvements to `.htaccess`.
+- Improve 404 design.
+- Simplify JS folder structure.
+- Change `html` IE class names changed to target ranges rather than
specific versions of IE.
-* Update CSS to include latest normalize.css changes and better
+- Update CSS to include latest normalize.css changes and better
typographic defaults
([#825](https://github.com/h5bp/html5-boilerplate/issues/825)).
-* Update to Modernizr 2.5 (includes yepnope 1.5 and html5shiv 3.2).
-* Update to jQuery 1.7.1.
-* Revert to async snippet for the Google Analytics script.
-* Remove the ant build script
+- Update to Modernizr 2.5 (includes yepnope 1.5 and html5shiv 3.2).
+- Update to jQuery 1.7.1.
+- Revert to async snippet for the Google Analytics script.
+- Remove the ant build script
([#826](https://github.com/h5bp/html5-boilerplate/issues/826)).
-* Remove Respond.js
+- Remove Respond.js
([#816](https://github.com/h5bp/html5-boilerplate/issues/816)).
-* Remove the `demo/` directory
+- Remove the `demo/` directory
([#808](https://github.com/h5bp/html5-boilerplate/issues/808)).
-* Remove the `test/` directory
+- Remove the `test/` directory
([#808](https://github.com/h5bp/html5-boilerplate/issues/808)).
-* Remove Google Chrome Frame script for IE6 users; replace with links
+- Remove Google Chrome Frame script for IE6 users; replace with links
to Chrome Frame and options for alternative browsers.
-* Remove `initial-scale=1` from the viewport `meta`
+- Remove `initial-scale=1` from the viewport `meta`
([#824](https://github.com/h5bp/html5-boilerplate/issues/824)).
-* Remove `defer` from all scripts to avoid legacy IE bugs.
-* Remove explicit Site Speed tracking for Google Analytics. It's now
+- Remove `defer` from all scripts to avoid legacy IE bugs.
+- Remove explicit Site Speed tracking for Google Analytics. It's now
enabled by default.
## 2.0.0 (August 10, 2011)
-* Change starting CSS to be based on normalize.css instead of reset.css
+- Change starting CSS to be based on normalize.css instead of reset.css
([#500](https://github.com/h5bp/html5-boilerplate/issues/500)).
-* Add Respond.js media query polyfill.
-* Add Google Chrome Frame script prompt for IE6 users.
-* Simplify the `html` conditional comments for modern browsers and add
+- Add Respond.js media query polyfill.
+- Add Google Chrome Frame script prompt for IE6 users.
+- Simplify the `html` conditional comments for modern browsers and add
an `oldie` class.
-* Update clearfix to use "micro clearfix".
-* Add placeholder CSS MQs for mobile-first approach.
-* Add `textarea { resize: vertical; }` to only allow vertical resizing.
-* Add `img { max-width: 100%; }` to the print styles; prevents images
+- Update clearfix to use "micro clearfix".
+- Add placeholder CSS MQs for mobile-first approach.
+- Add `textarea { resize: vertical; }` to only allow vertical resizing.
+- Add `img { max-width: 100%; }` to the print styles; prevents images
being truncated.
-* Add Site Speed tracking for Google Analytics.
-* Update to jQuery 1.6.2 (and use minified by default).
-* Update to Modernizr 2.0 Complete, Production minified (includes
+- Add Site Speed tracking for Google Analytics.
+- Update to jQuery 1.6.2 (and use minified by default).
+- Update to Modernizr 2.0 Complete, Production minified (includes
yepnope, html5shiv, and Respond.js).
-* Use `Modernizr.load()` to load the Google Analytics script.
-* Much faster build process.
-* Add build script options for CSSLint, JSLint, JSHint tools.
-* Build script now compresses all images in subfolders.
-* Build script now versions files by SHA hash.
-* Many `.htaccess` improvements including: disable directory browsing,
+- Use `Modernizr.load()` to load the Google Analytics script.
+- Much faster build process.
+- Add build script options for CSSLint, JSLint, JSHint tools.
+- Build script now compresses all images in subfolders.
+- Build script now versions files by SHA hash.
+- Many `.htaccess` improvements including: disable directory browsing,
improved support for all versions of Apache, more robust and extensive
HTTP compression rules.
-* Remove `handheld.css` as it has very poor device support.
-* Remove touch-icon `link` elements from the HTML and include improved
+- Remove `handheld.css` as it has very poor device support.
+- Remove touch-icon `link` elements from the HTML and include improved
touch-icon support.
-* Remove the cache-busting query parameters from files references in
+- Remove the cache-busting query parameters from files references in
the HTML.
-* Remove IE6 PNGFix.
+- Remove IE6 PNGFix.
## 1.0.0 (March 21, 2011)
-* Rewrite build script to make it more customizable and flexible.
-* Add a humans.txt.
-* Numerous `.htaccess` improvements (including inline documentation).
-* Move the alternative server configurations to the H5BP server configs
+- Rewrite build script to make it more customizable and flexible.
+- Add a humans.txt.
+- Numerous `.htaccess` improvements (including inline documentation).
+- Move the alternative server configurations to the H5BP server configs
repo.
-* Use a protocol-relative url to reference jQuery and prevent mixed
+- Use a protocol-relative url to reference jQuery and prevent mixed
content warnings.
-* Optimize the Google Analytics snippet.
-* Use Eric Meyer's recent CSS reset update and the HTML5 Doctor reset.
-* More robust `sub`/`sup` CSS styles.
-* Add keyboard `.focusable` helper class that extends `.visuallyhidden`.
-* Print styles no longer print hash or JavaScript links.
-* Add a print reset for IE's proprietary filters.
-* Remove IE9-specific conditional class on the `html` element.
-* Remove margins from lists within `nav` elements.
-* Remove YUI profiling.
+- Optimize the Google Analytics snippet.
+- Use Eric Meyer's recent CSS reset update and the HTML5 Doctor reset.
+- More robust `sub`/`sup` CSS styles.
+- Add keyboard `.focusable` helper class that extends `.visuallyhidden`.
+- Print styles no longer print hash or JavaScript links.
+- Add a print reset for IE's proprietary filters.
+- Remove IE9-specific conditional class on the `html` element.
+- Remove margins from lists within `nav` elements.
+- Remove YUI profiling.
diff --git a/README.md b/README.md
index 0ceeb8bd8d..292d60de3f 100644
--- a/README.md
+++ b/README.md
@@ -13,8 +13,8 @@ community knowledge. It does not impose a specific development
philosophy or framework, so you're free to architect your code in the
way that you want.
-* [Homepage](https://html5boilerplate.com/)
-* [Source Code](https://github.com/h5bp/html5-boilerplate)
+- [Homepage](https://html5boilerplate.com/)
+- [Source Code](https://github.com/h5bp/html5-boilerplate)
## About This Repository
@@ -41,7 +41,7 @@ If you want to help us _improve_ HTML5 Boilerplate then you can start with the d
Choose one of the following options:
-* Using the [create-html5-boilerplate](https://github.com/h5bp/create-html5-boilerplate)
+- Using the [create-html5-boilerplate](https://github.com/h5bp/create-html5-boilerplate)
script, instantly fetch the latest npm published package (or any version
available on npm) with `npx`, `npm init` or `yarn create` without having to
install any dependencies. Running the following `npx` command installs the
@@ -54,19 +54,18 @@ Choose one of the following options:
npm run start
```
-* Using our new [Template Repository](https://github.com/h5bp/html5-boilerplate-template)
+- Using our new [Template Repository](https://github.com/h5bp/html5-boilerplate-template)
create a new GitHub repository based on the latest code from the main branch of HTML5
Boilerplate.
-* Install with [npm](https://www.npmjs.com/): `npm install html5-boilerplate`
+- Install with [npm](https://www.npmjs.com/): `npm install html5-boilerplate`
or [yarn](https://yarnpkg.com/): `yarn add html5-boilerplate`. The resulting
`node_modules/html5-boilerplate/dist` folder represents the latest version of
the project for end users. Depending on what you want to use and how you want
to use it, you may have to copy and paste the contents of that folder into
your project directory.
-
-* Download the latest stable release from
+- Download the latest stable release from
[here](https://github.com/h5bp/html5-boilerplate/releases/download/v8.0.0/html5-boilerplate_v8.0.0.zip). This zip file is a
snapshot of the `dist` folder. On Windows, Mac and from the file manager on
Linux unzipping this folder will output to a folder named something like
@@ -80,36 +79,25 @@ Choose one of the following options:
## Features
-* A finely-tuned starter template: Reap the benefits of 10 years of analysis,
+- A finely-tuned starter template: Reap the benefits of 10 years of analysis,
research and experimentation by over 200 contributors.
-* Designed with progressive enhancement in mind.
-* Includes:
- * Placeholder Open Graph elements and attributes.
- * An example package.json file with [WebPack](https://webpack.js.org/) commands
- built in to jumpstart application development.
- * Placeholder CSS Media Queries.
- * Useful CSS helper classes.
- * Default print styles, performance optimized.
- * "Delete-key friendly." Easy to strip out parts you don't need.
- * Extensive documentation.
+- Designed with progressive enhancement in mind.
+- Includes:
+ - Placeholder Open Graph elements and attributes.
+ - An example package.json file with [WebPack](https://webpack.js.org/) commands
+ built in to jumpstart application development.
+ - Placeholder CSS Media Queries.
+ - Useful CSS helper classes.
+ - Default print styles, performance optimized.
+ - "Delete-key friendly." Easy to strip out parts you don't need.
+ - Extensive documentation.
## Browser Support
-HTML5-Boilerplate supports the latest, stable releases of all major browsers.
-
-You can find our range of supported browsers in our [package.json](https://github.com/h5bp/html5-boilerplate/blob/main/package.json#L55-L59) At present we alter the [browserlist default](https://github.com/browserslist/browserslist#full-list) by dropping IE 11.
-
-```json
- "browserslist": [
- "> 0.5%",
- "last 2 versions",
- "Firefox ESR",
- "not dead",
- "not IE 11"
- ],
-```
+HTML5-Boilerplate supports the latest, stable releases of all major browsers.
-That configuration translates to this [full list of browsers](https://browserslist.dev/?q=ID4gMC41JSwgICAgIGxhc3QgMiB2ZXJzaW9ucywgICAgIEZpcmVmb3ggRVNSLCAgICBub3QgZGVhZCwgICAgIG5vdCBJRSAxMQ).
+Check the `default` configuration from [Browserslist](https://browsersl.ist/#q=defaults)
+for more details on browsers and versions covered.
## Documentation
@@ -124,9 +112,9 @@ Hundreds of developers have helped to make the HTML5 Boilerplate. Anyone is
welcome to [contribute](.github/CONTRIBUTING.md). However, if you decide to get
involved, please take a moment to review the [guidelines](.github/CONTRIBUTING.md):
-* [Bug reports](.github/CONTRIBUTING.md#bugs)
-* [Feature requests](.github/CONTRIBUTING.md#features)
-* [Pull requests](.github/CONTRIBUTING.md#pull-requests)
+- [Bug reports](.github/CONTRIBUTING.md#bugs)
+- [Feature requests](.github/CONTRIBUTING.md#features)
+- [Pull requests](.github/CONTRIBUTING.md#pull-requests)
## License
diff --git a/dist/tile-wide.png b/dist/tile-wide.png
deleted file mode 100644
index ccd739c7da..0000000000
Binary files a/dist/tile-wide.png and /dev/null differ
diff --git a/dist/tile.png b/dist/tile.png
deleted file mode 100644
index f820f61a0b..0000000000
Binary files a/dist/tile.png and /dev/null differ
diff --git a/dist/webpack.common.js b/dist/webpack.common.js
index 18d80c6d0c..b502ea9590 100644
--- a/dist/webpack.common.js
+++ b/dist/webpack.common.js
@@ -3,10 +3,10 @@ const path = require('path');
module.exports = {
entry: {
app: './js/app.js',
- },
+ },
output: {
path: path.resolve(__dirname, 'dist'),
clean: true,
filename: './js/app.js',
},
-};
\ No newline at end of file
+};
diff --git a/dist/webpack.config.dev.js b/dist/webpack.config.dev.js
index 994a7dd6b4..5953807c99 100644
--- a/dist/webpack.config.dev.js
+++ b/dist/webpack.config.dev.js
@@ -1,7 +1,6 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
-
module.exports = merge(common, {
mode: 'development',
devtool: 'inline-source-map',
@@ -12,5 +11,3 @@ module.exports = merge(common, {
static: ['./'],
},
});
-
-
diff --git a/dist/webpack.config.prod.js b/dist/webpack.config.prod.js
index c35245cffa..76800e8069 100644
--- a/dist/webpack.config.prod.js
+++ b/dist/webpack.config.prod.js
@@ -1,28 +1,26 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
module.exports = merge(common, {
mode: 'production',
plugins: [
new HtmlWebpackPlugin({
- template: './index.html'
+ template: './index.html',
}),
new CopyPlugin({
patterns: [
{ from: 'img', to: 'img' },
{ from: 'css', to: 'css' },
{ from: 'js/vendor', to: 'js/vendor' },
- { from: 'icon.svg', to: 'icon.svg'},
- { from: 'favicon.ico', to: 'favicon.ico'},
- { from: 'tile-wide.png', to: 'tile-wide.png'},
- { from: 'robots.txt', to: 'robots.txt'},
- { from: 'icon.png', to: 'icon.png'},
- { from: '404.html', to: '404.html'},
- { from: 'site.webmanifest', to: 'site.webmanifest'},
- { from: 'tile.png', to: 'tile.png'}
+ { from: 'icon.svg', to: 'icon.svg' },
+ { from: 'favicon.ico', to: 'favicon.ico' },
+ { from: 'robots.txt', to: 'robots.txt' },
+ { from: 'icon.png', to: 'icon.png' },
+ { from: '404.html', to: '404.html' },
+ { from: 'site.webmanifest', to: 'site.webmanifest' },
],
- })
+ }),
],
-});
\ No newline at end of file
+});
diff --git a/docs/TOC.md b/docs/TOC.md
index 0b36a8c7c7..9bfdc2404e 100644
--- a/docs/TOC.md
+++ b/docs/TOC.md
@@ -2,19 +2,19 @@
## Getting started
-* [Usage](usage.md) — Overview of the project contents.
-* [FAQ](faq.md) — Frequently asked questions along with their answers.
+- [Usage](usage.md) — Overview of the project contents.
+- [FAQ](faq.md) — Frequently asked questions along with their answers.
## HTML5 Boilerplate core
-* [HTML](html.md) — Guide to the default HTML.
-* [CSS](css.md) — Guide to the default CSS.
-* [JavaScript](js.md) — Guide to the default JavaScript.
-* [Everything else](misc.md).
+- [HTML](html.md) — Guide to the default HTML.
+- [CSS](css.md) — Guide to the default CSS.
+- [JavaScript](js.md) — Guide to the default JavaScript.
+- [Everything else](misc.md).
## Development
-* [Extending and customizing HTML5 Boilerplate](extend.md) — Going further with
+- [Extending and customizing HTML5 Boilerplate](extend.md) — Going further with
the boilerplate.
## Related projects
@@ -23,15 +23,15 @@ The [H5BP organization](https://github.com/h5bp) maintains several projects that
complement HTML5 Boilerplate, projects that can help you improve different
aspects of your website/web app (e.g.: the performance, security, etc.).
-* [Server Configs](https://github.com/h5bp/server-configs) — Fast and smart
+- [Server Configs](https://github.com/h5bp/server-configs) — Fast and smart
configurations for web servers such as Apache and Nginx.
- * [Apache](https://github.com/h5bp/server-configs-apache)
- * [Google App Engine (GAE)](https://github.com/h5bp/server-configs-gae)
- * [Internet Information Services
+ - [Apache](https://github.com/h5bp/server-configs-apache)
+ - [Google App Engine (GAE)](https://github.com/h5bp/server-configs-gae)
+ - [Internet Information Services
(IIS)](https://github.com/h5bp/server-configs-iis)
- * [lighttpd](https://github.com/h5bp/server-configs-lighttpd)
- * [Nginx](https://github.com/h5bp/server-configs-nginx)
- * [Node.js](https://github.com/h5bp/server-configs-node)
-* [Front-end Developer Interview Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)
-* [create-html5-boilerplate](https://github.com/h5bp/create-html5-boilerplate) — Quick start HTML5 Boilerplate development.
-* [main.css](https://github.com/h5bp/main.css) — the main.css file included (as style.css) with HTML5 Boilerplate.
+ - [lighttpd](https://github.com/h5bp/server-configs-lighttpd)
+ - [Nginx](https://github.com/h5bp/server-configs-nginx)
+ - [Node.js](https://github.com/h5bp/server-configs-node)
+- [Front-end Developer Interview Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)
+- [create-html5-boilerplate](https://github.com/h5bp/create-html5-boilerplate) — Quick start HTML5 Boilerplate development.
+- [main.css](https://github.com/h5bp/main.css) — the main.css file included (as style.css) with HTML5 Boilerplate.
diff --git a/docs/about-this-repo.md b/docs/about-this-repo.md
index 9765b644ec..96d9626941 100644
--- a/docs/about-this-repo.md
+++ b/docs/about-this-repo.md
@@ -8,34 +8,34 @@ to be learned from the way we run the show here.
## GitHub configuration
This section will go through the way we configure the repo in GitHub.
-Open source projects get the full power of the platform and as a project
+Open source projects get the full power of the platform and as a project
we like to experiment with new GitHub features. Our current configuration
-might help you figure out some things you want to do in your own projects.
+might help you figure out some things you want to do in your own projects.
### General Configuration
-This section outlines the basic configuration options we use.
+This section outlines the basic configuration options we use.
-* We have a stub of a Wiki still, so we have wikis turned on. The most
-interesting page that remains is a history of the project written several
-years ago.
-* We use the Issues feature heavily. We don't yet have Issue Templates set
-up, but we do have adding them as an issue, so we'll take advantage of them
-at some point.
-* Discussions are enabled, but they haven't been very useful so far.
+- We have a stub of a Wiki still, so we have wikis turned on. The most
+ interesting page that remains is a history of the project written several
+ years ago.
+- We use the Issues feature heavily. We don't yet have Issue Templates set
+ up, but we do have adding them as an issue, so we'll take advantage of them
+ at some point.
+- Discussions are enabled, but they haven't been very useful so far.
### Pull Requests
-The most visible portion of our configuration is the way we handle pull
-requests. At the most basic level, we require pull requests to add code
+The most visible portion of our configuration is the way we handle pull
+requests. At the most basic level, we require pull requests to add code
to the repo and require a review to merge code. In addition we run several
code quality checks on every pull request to make sure we're not introducing
-anything we don't want into the codebase.
+anything we don't want into the codebase.
We take advantage of the "draft" feature for PRs. This way we have visibility
throughout the life of the PR.
-Let's take a look at how we configure our `main` branch.
+Let's take a look at how we configure our `main` branch.
#### `main`
@@ -45,73 +45,71 @@ configurations might require a long-running, similarly protected, `development`
branch but for us the single protected `main` branch is enough for our
purposes.
-
Our branch protection rules are as follows:
-* We require a pull request (PR) with one approving reviewer to merge code
-* In addition to the PR and approving reviewer, we require three status checks
-to pass before code can be merged
- * Build with Node 18
- * Build with Node 16
- * LGTM analysis: JavaScript
-* We *allow* force pushes for project admins. While force pushes can create
-some head scratching moments for people who have cloned the repo and update
-before and after the force push, the ability to clean up the `HEAD` of a
-public branch like this in an emergency is useful.
+- We require a pull request (PR) with one approving reviewer to merge code
+- In addition to the PR and approving reviewer, we require three status checks
+ to pass before code can be merged
+ _ Build with Node 18
+ _ Build with Node 16 \* LGTM analysis: JavaScript
+- We _allow_ force pushes for project admins. While force pushes can create
+ some head scratching moments for people who have cloned the repo and update
+ before and after the force push, the ability to clean up the `HEAD` of a
+ public branch like this in an emergency is useful.
#### GitHub Actions and Other Checks That Run on `main`
-* We run a simple *build status* check. This is the most basic test you can run
-and is absolutely vital. If you can't build your project you're in trouble.
-Currently we're testing against Node 16 and 18.
-* We take advantage of our access to *CodeQL analysis* Free for research and
-open source don't you know :) We don't have a ton of surface area to cover,
-but it's nice to have this powerful code scanning tool available to us.
-* We run a *dependency review* scan to see if any newly added dependencies add
-known security flaws. This is important for even us, but for a project that
-uses a larger number of third party dependencies, this sort of check is vital.
-* Since we're fan of the "belt and suspenders" approach to security, we also
-run a *LGTM.com* scan as well as the CodeQL scans. This tool, built on top of
-CodeQl can shake out different issues so it's nice to have the pair.
-* We push any changes to `main` to our [HTML5\-Boilerplate Template Repo](https://github.com/h5bp/html5-boilerplate-template)
+- We run a simple _build status_ check. This is the most basic test you can run
+ and is absolutely vital. If you can't build your project you're in trouble.
+ Currently we're testing against Node 16 and 18.
+- We take advantage of our access to _CodeQL analysis_ Free for research and
+ open source don't you know :) We don't have a ton of surface area to cover,
+ but it's nice to have this powerful code scanning tool available to us.
+- We run a _dependency review_ scan to see if any newly added dependencies add
+ known security flaws. This is important for even us, but for a project that
+ uses a larger number of third party dependencies, this sort of check is vital.
+- Since we're fan of the "belt and suspenders" approach to security, we also
+ run a _LGTM.com_ scan as well as the CodeQL scans. This tool, built on top of
+ CodeQl can shake out different issues so it's nice to have the pair.
+- We push any changes to `main` to our [HTML5\-Boilerplate Template Repo](https://github.com/h5bp/html5-boilerplate-template)
Since we've talked about some of our Actions, let's look at the full configuration
-of our `.github` folder.
+of our `.github` folder.
### .github Folder
-* workflows
- * `build-dist.yaml` is currently broken. We can't push to `main` without a
+- workflows
+ - `build-dist.yaml` is currently broken. We can't push to `main` without a
code review, so this task is blocked. What I would like, (are you there,
GitHub, it's me, Rob) is to allow Actions to bypass branch protection
- rules. I think we'll have to basically write a mini-bot that opens a PR
+ rules. I think we'll have to basically write a mini-bot that opens a PR
whenever there are changes to `main` and then pushes to the same branch
until the PR is closed. In some ways that will be better as it will be less
- noisy in terms of bot pushes to main.
- * `codeql-analysis.yml` controls our CodeQL action. We use the defaults. If
+ noisy in terms of bot pushes to main.
+ - `codeql-analysis.yml` controls our CodeQL action. We use the defaults. If
you're building something with more JAvaScript footprint, you can tweak
- the settings for this job.
- * `dependency-review.yml` does what it says on the tin- it tests newly
+ the settings for this job.
+ - `dependency-review.yml` does what it says on the tin- it tests newly
introduced dependencies for vulnerabilities.
- * `publish.yaml` is the action that publishes all the various versions of
+ - `publish.yaml` is the action that publishes all the various versions of
the project. When we create a new tag and push it to GitHub, this script
publishes our npm package and creates a GitHub release and attaches a zip
file of our `dist` folder.
- * `push-to-template.yaml` pushes the `HEAD` of `main` to our template repo
- * `spellcheck.yml` automatically checks markdown files for typos with cSpell.
- * `test.yaml` runs our test suite.
-* `CODE_OF_CONDUCT.md` is our Code of Conduct, based on
-[Contributor Covenant.](https://www.contributor-covenant.org/)
-* `CONTRIBUTING.md` contains our contribution guidelines.
-* `ISSUE_TEMPLATE.md` is our new issue boilerplate.
-* `PULL_REQUEST_TEMPLATE.md` is our new PR boilerplate.
-* `SUPPORT.md` points people to different (non-HTML5-Boilerplate) support
-resources
-* `dependabot.yml` is our Dependabot configuration. We do `npm`, monthly on
-two separate `package.json` files, one in `src` and one in project root.
+ - `push-to-template.yaml` pushes the `HEAD` of `main` to our template repo
+ - `spellcheck.yml` automatically checks markdown files for typos with cSpell.
+ - `test.yaml` runs our test suite.
+- `CODE_OF_CONDUCT.md` is our Code of Conduct, based on
+ [Contributor Covenant.](https://www.contributor-covenant.org/)
+- `CONTRIBUTING.md` contains our contribution guidelines.
+- `ISSUE_TEMPLATE.md` is our new issue boilerplate.
+- `PULL_REQUEST_TEMPLATE.md` is our new PR boilerplate.
+- `SUPPORT.md` points people to different (non-HTML5-Boilerplate) support
+ resources
+- `dependabot.yml` is our Dependabot configuration. We do `npm`, monthly on
+ two separate `package.json` files, one in `src` and one in project root.
---
That covers most of the interesting GitHub features and functionality that we
-use. We're going to continue to keep this document up to date as we change
+use. We're going to continue to keep this document up to date as we change
things or new GitHub features.
diff --git a/docs/css.md b/docs/css.md
index 63aba032b2..02d017be5e 100644
--- a/docs/css.md
+++ b/docs/css.md
@@ -5,8 +5,8 @@ table of contents](TOC.md)
HTML5 Boilerplate's CSS includes:
-* [Normalize.css](#normalizecss)
-* [style.css](#stylecss)
+- [Normalize.css](#normalizecss)
+- [style.css](#stylecss)
## Normalize.css
@@ -16,12 +16,12 @@ 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
+- 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/).
@@ -30,12 +30,12 @@ page](https://necolas.github.io/normalize.css/).
Several base styles are included that build upon `Normalize.css`. These styles:
-* provide basic typography settings that improve text readability
-* protect against unwanted `text-shadow` during text highlighting
-* tweak the default alignment of some elements (e.g.: `img`, `video`,
+- provide basic typography settings that improve text readability
+- protect against unwanted `text-shadow` during text highlighting
+- tweak the default alignment of some elements (e.g.: `img`, `video`,
`fieldset`, `textarea`)
-* style the prompt that is displayed to users using an outdated browser
-* and more...
+- style the prompt that is displayed to users using an outdated browser
+- and more...
These styles are included in
[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 3c16764da3..6f0949db75 100644
--- a/docs/extend.md
+++ b/docs/extend.md
@@ -7,17 +7,16 @@ Here is some useful advice for how you can make your project with HTML5
Boilerplate even better. We don't want to include it all by default, as not
everything fits with everyone's needs.
-* [Server Configuration](#server-configuration)
-* [App Stores](#app-stores)
-* [DNS prefetching](#dns-prefetching)
-* [Miscellaneous](#miscellaneous)
-* [News Feeds](#news-feeds)
-* [Search](#search)
-* [Social Networks](#social-networks)
-* [URLs](#urls)
-* [Web Apps](#web-apps)
-* [security.txt](#security.txt)
-
+- [Server Configuration](#server-configuration)
+- [App Stores](#app-stores)
+- [DNS prefetching](#dns-prefetching)
+- [Miscellaneous](#miscellaneous)
+- [News Feeds](#news-feeds)
+- [Search](#search)
+- [Social Networks](#social-networks)
+- [URLs](#urls)
+- [Web Apps](#web-apps)
+- [security.txt](#security.txt)
## Server Configuration
@@ -83,12 +82,10 @@ Charset](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#attr-cha
element (which should go right at the top of the `head`), so the browser can act
on them ASAP.
-
### Further reading about DNS prefetching
-* https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control
-* https://dev.chromium.org/developers/design-documents/dns-prefetching
-
+- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-DNS-Prefetch-Control
+- https://dev.chromium.org/developers/design-documents/dns-prefetching
## Search
@@ -97,11 +94,13 @@ on them ASAP.
After creating a [sitemap](https://www.sitemaps.org/protocol.html)
Submit it to search engine tool:
-* [Google](https://www.google.com/webmasters/tools/sitemap-list)
-* [Bing](https://www.bing.com/toolbox/webmaster)
-* [Yandex](https://webmaster.yandex.com/)
-* [Baidu](https://zhanzhang.baidu.com/) OR Insert the following line anywhere in
+
+- [Google](https://www.google.com/webmasters/tools/sitemap-list)
+- [Bing](https://www.bing.com/toolbox/webmaster)
+- [Yandex](https://webmaster.yandex.com/)
+- [Baidu](https://zhanzhang.baidu.com/) OR Insert the following line anywhere in
your robots.txt file, specifying the path to your sitemap:
+
```
Sitemap: https://example.com/sitemap_location.xml
```
@@ -129,29 +128,27 @@ plugin](https://developer.mozilla.org/en-US/docs/Web/OpenSearch).
```
-
## Miscellaneous
-* Use [Microformats](http://microformats.org/wiki/Main_Page) (via
+- Use [Microformats](http://microformats.org/wiki/Main_Page) (via
[microdata](http://microformats.org/wiki/microdata)) for optimum search
results
[visibility](https://webmasters.googleblog.com/2009/05/introducing-rich-snippets.html).
-* If you want to disable the translation prompt in Chrome or block Google
+- 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://support.google.com/webmasters/answer/79812).
To disable translation for a particular section of the web page, add
[`class="notranslate"`](https://support.google.com/translate/?hl=en#2641276).
-* If you want to disable the automatic detection and formatting of possible
+- If you want to disable the automatic detection and formatting of possible
phone numbers in Safari on iOS, use [``](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html).
+content="telephone=no">`](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html).
-* Avoid development/stage websites "leaking" into SERPs (search engine results
+- Avoid development/stage websites "leaking" into SERPs (search engine results
page) by [implementing X-Robots-tag
headers](https://github.com/h5bp/html5-boilerplate/issues/804).
-
## News Feeds
### RSS
@@ -167,7 +164,7 @@ scratch](https://www.rssboard.org/rss-specification)?
Atom is similar to RSS, and you might prefer to use it instead of or in addition
to it. [See what Atom's all
-about](https://en.wikipedia.org/wiki/Atom_(Web_standard)).
+about]().
```html
@@ -182,15 +179,13 @@ should contain the location of your pingback service.
```
-* High-level explanation:
+- High-level explanation:
https://codex.wordpress.org/Introduction_to_Blogging#Pingbacks
-* Step-by-step example case:
+- Step-by-step example case:
https://www.hixie.ch/specs/pingback/pingback-1.0#TOC5
-* PHP pingback service:
+- PHP pingback service:
https://web.archive.org/web/20131211032834/http://blog.perplexedlabs.com/2009/07/15/xmlrpc-pingbacks-using-php/
-
-
## Social Networks
### Facebook Open Graph data
@@ -285,7 +280,7 @@ the cleaner, more accurate `https://www.example.com/cart.html`.
There are a couple of meta tags that provide information about a web app when
added to the Home Screen on iOS:
-* Adding `apple-mobile-web-app-capable` will make your web app chrome-less and
+- Adding `apple-mobile-web-app-capable` will make your web app chrome-less and
provide the default iOS app view. You can control the color scheme of the
default view by adding `apple-mobile-web-app-status-bar-style`.
@@ -294,7 +289,7 @@ added to the Home Screen on iOS:
```
-* You can use `apple-mobile-web-app-title` to add a specific sites name for the
+- You can use `apple-mobile-web-app-title` to add a specific sites name for the
Home Screen icon.
```html
@@ -305,7 +300,6 @@ For further information please read the [official
documentation](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html)
on Apple's site.
-
### Apple Touch Icons
Apple touch icons are used as icons when a user adds your webapp to the home
@@ -322,7 +316,6 @@ Though the dimensions of the icon can vary between iOS devices and versions one
For a more comprehensive overview, please refer to Mathias' [article on Touch
Icons](https://mathiasbynens.be/notes/touch-icons).
-
### Apple Touch Startup Image
Apart from that it is possible to add start-up screens for web apps on iOS. This
@@ -335,7 +328,6 @@ for an iPhone:
```
-
### Theme Color
You can add the [`theme-color` meta
diff --git a/docs/faq.md b/docs/faq.md
index 262b2b1c5c..3d531eb953 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -3,9 +3,9 @@ table of contents](TOC.md)
# Frequently asked questions
-* [Do I need to upgrade my site each time a new version of HTML5 Boilerplate is
+- [Do I need to upgrade my site each time a new version of HTML5 Boilerplate is
released?](#do-i-need-to-upgrade-my-site-each-time-a-new-version-of-html5-boilerplate-is-released)
-* [Where can I get help with support
+- [Where can I get help with support
questions?](#where-can-i-get-help-with-support-questions)
## Do I need to upgrade my site each time a new version of HTML5 Boilerplate is released?
diff --git a/docs/html.md b/docs/html.md
index f536256bbc..d66d592f1c 100644
--- a/docs/html.md
+++ b/docs/html.md
@@ -5,9 +5,9 @@ table of contents](TOC.md)
By default, HTML5 Boilerplate provides two `html` pages:
-* [`index.html`](#indexhtml) - a default HTML skeleton that should form the
+- [`index.html`](#indexhtml) - a default HTML skeleton that should form the
basis of all pages on your website
-* `404.html` - a placeholder 404 error page
+- `404.html` - a placeholder 404 error page
## `index.html`
@@ -52,8 +52,7 @@ documentation has useful tips on creating an effective description.
### Mobile Viewport
There are a few different options that you can use with the
-[`viewport` meta tag](https://docs.google.com/present/view?id=dkx3qtm_22dxsrgcf4
-"Viewport and Media Queries - The Complete Idiot's Guide").
+[`viewport` meta tag](https://docs.google.com/present/view?id=dkx3qtm_22dxsrgcf4 "Viewport and Media Queries - The Complete Idiot's Guide").
You can find out more in [
the MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag).
HTML5 Boilerplate comes with a simple setup that strikes a good balance for general use cases.
@@ -135,5 +134,3 @@ of these docs.
The central part of the boilerplate template is pretty much empty. This is
intentional, in order to make the boilerplate suitable for both web page and web
app development.
-
-
diff --git a/docs/misc.md b/docs/misc.md
index 2538b66671..b73b912046 100644
--- a/docs/misc.md
+++ b/docs/misc.md
@@ -3,11 +3,11 @@ table of contents](TOC.md)
# Miscellaneous
-* [.gitignore](#gitignore)
-* [.editorconfig](#editorconfig)
-* [Server Configuration](#server-configuration)
-* [robots.txt](#robotstxt)
-* [package.json](#packagejson)
+- [.gitignore](#gitignore)
+- [.editorconfig](#editorconfig)
+- [Server Configuration](#server-configuration)
+- [robots.txt](#robotstxt)
+- [package.json](#packagejson)
--
@@ -30,8 +30,8 @@ globally ignore:
excludesfile = ~/.gitignore
```
-* More on global ignores: [https://help.github.com/articles/ignoring-files/](https://help.github.com/en/github/using-git/ignoring-files)
-* Comprehensive set of ignores on GitHub: https://github.com/github/gitignore
+- More on global ignores: [https://help.github.com/articles/ignoring-files/](https://help.github.com/en/github/using-git/ignoring-files)
+- Comprehensive set of ignores on GitHub: https://github.com/github/gitignore
## .editorconfig
@@ -47,9 +47,9 @@ them to better suit your needs.
In order for your editor/IDE to apply the
[properties](https://editorconfig.org/#supported-properties) from the
`.editorconfig` file, you may need to [install a
-plugin]( https://editorconfig.org/#download).
+plugin](https://editorconfig.org/#download).
-__N.B.__ If you aren't using the server configurations provided by HTML5
+**N.B.** If you aren't using the server configurations provided by HTML5
Boilerplate, we highly encourage you to configure your server to block
access to `.editorconfig` files, as they can disclose sensitive information!
@@ -63,8 +63,8 @@ be crawled from the website.
By default, the file provided by this project includes the next two lines:
-* `User-agent: *` - the following rules apply to all web robots
-* `Disallow:` - everything on the website is allowed to be crawled
+- `User-agent: *` - the following rules apply to all web robots
+- `Disallow:` - everything on the website is allowed to be crawled
If you want to disallow certain pages you will need to specify the path in a
`Disallow` directive (e.g.: `Disallow: /path`) or, if you want to disallow
@@ -79,8 +79,8 @@ you want to block access to private content, use proper authentication instead.
For more information about `robots.txt`, please see:
-* [robotstxt.org](https://www.robotstxt.org/)
-* [How Google handles the `robots.txt` file](https://developers.google.com/search/reference/robots_txt)
+- [robotstxt.org](https://www.robotstxt.org/)
+- [How Google handles the `robots.txt` file](https://developers.google.com/search/reference/robots_txt)
## package.json
@@ -88,27 +88,27 @@ For more information about `robots.txt`, please see:
use in modern JavaScript development. [The full documentation is available](https://docs.npmjs.com/files/package.json)
if you're interested. The fields we provide are as follows:
-* `title` - the title of your project. If you expect to publish your application
+- `title` - the title of your project. If you expect to publish your application
to npm, then the name needs to follow [certain guidelines](https://docs.npmjs.com/files/package.json#name)
and be unique.
-* `version` - indicates the version of your site application using semantic
+- `version` - indicates the version of your site application using semantic
versioning ([SemVer](https://semver.org/))
-* `description` - describes your site.
-* `scripts` - is a JavaScript object containing commands that can be run in a
+- `description` - describes your site.
+- `scripts` - is a JavaScript object containing commands that can be run in a
node environment. There are many [built-in keys](https://docs.npmjs.com/misc/scripts)
related to the package lifecycle that node understands automatically. You can
also define custom scripts for use with your application development. We
provide three custom scripts that work with webpack to get you up and running
quickly with a bundler for your assets and a simple development server.
- * `start` serves your `index.html` with a simple development server
+ - `start` serves your `index.html` with a simple development server
-* `keywords` - an array of keywords used to discover your app in the npm
+- `keywords` - an array of keywords used to discover your app in the npm
registry
-* `author` - defines the author of a package. There is also an alternative
+- `author` - defines the author of a package. There is also an alternative
[contributors](https://docs.npmjs.com/files/package.json#people-fields-author-contributors)
field if there's more than one author.
-* `license` - the license for your application. Must conform to
+- `license` - the license for your application. Must conform to
[specific rules](https://docs.npmjs.com/files/package.json#license)
-* `devDependencies` - development dependencies for your package. In our case
- we have several dependencies used by webpack, which we use as a simple development server.
+- `devDependencies` - development dependencies for your package. In our case
+ we have several dependencies used by webpack, which we use as a simple development server.
diff --git a/docs/usage.md b/docs/usage.md
index 4774a4949a..a247053854 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -46,8 +46,6 @@ A basic HTML5 Boilerplate site initially looks something like this:
├── package.json
├── robots.txt
├── site.webmanifest
-├── tile.png
-├── tile-wide.png
└── webpack.common.js
└── webpack.config.dev.js
└── webpack.config.prod.js
@@ -102,37 +100,35 @@ Edit this file to include any pages you need hidden from search engines.
### Icons
-Replace the default `favicon.ico`, `tile.png`, `tile-wide.png` and Apple Touch
-Icon with your own.
+Replace the default `favicon.ico` and Apple Touch Icon with your own.
If you want to use different Apple Touch Icons for different resolutions please
refer to the [according documentation](extend.md#apple-touch-icons).
### Webpack
-The project contains a simple [webpack](https://webpack.js.org/) configuration.
+The project contains a simple [webpack](https://webpack.js.org/) configuration.
-To get started developing a site with a development server, run the following
-commands from within the `/dist/` folder in the project's repo or within the
+To get started developing a site with a development server, run the following
+commands from within the `/dist/` folder in the project's repo or within the
root folder of the dowloaded project files, the folder created by `npm install`
-or the project folder created by running [create\-html5\-boilerplate](https://github.com/h5bp/create-html5-boilerplate)
+or the project folder created by running [create\-html5\-boilerplate](https://github.com/h5bp/create-html5-boilerplate)
```
npm install
npm run start
```
-This will start a Webpack development server with hot reloading of edited files.
+This will start a Webpack development server with hot reloading of edited files.
-To package a site for production run
+To package a site for production run
```
npm run build
```
-This command will bundle up the site's JavaScript and copy over static assets to
-the newly created `dist` folder.
-
+This command will bundle up the site's JavaScript and copy over static assets to
+the newly created `dist` folder.
There are three files:
@@ -146,22 +142,20 @@ This development configuration defines the behavior of development server.
#### webpack.config.prod.js
-This production configuration defines the behavior of the production build.
+This production configuration defines the behavior of the production build.
It copies the following files and folders to the dist folder:
-* css
-* img
-* js/vendor
-* 404.html
-* favicon.ico
-* icon.png
-* icon.svg
-* index.html
-* robots.txt
-* site.webmanifest
-* tile.png
-* tile-wide.png
-
-`js/vendor` is copied over in order to allow you to use unprocessed JS files
- in addition to the files bundled based on the project's entry point `app.js.`
\ No newline at end of file
+- css
+- img
+- js/vendor
+- 404.html
+- favicon.ico
+- icon.png
+- icon.svg
+- index.html
+- robots.txt
+- site.webmanifest
+
+`js/vendor` is copied over in order to allow you to use unprocessed JS files
+in addition to the files bundled based on the project's entry point `app.js.`
diff --git a/gulpfile.mjs b/gulpfile.mjs
index ba6b8fed30..2aa310115d 100644
--- a/gulpfile.mjs
+++ b/gulpfile.mjs
@@ -5,9 +5,8 @@ import gulpAutoPrefixer from 'gulp-autoprefixer';
import gulpEslint from 'gulp-eslint';
import gulpHeader from 'gulp-header';
import gulpRename from 'gulp-rename';
-import gulpReplace from 'gulp-replace';
import archiver from 'archiver';
-import { globSync } from 'glob'
+import { globSync } from 'glob';
import { deleteSync } from 'del';
import { createRequire } from 'module';
const require = createRequire(import.meta.url);
@@ -25,17 +24,20 @@ gulp.task('archive:create_archive_dir', (done) => {
});
gulp.task('archive:zip', (done) => {
- const archiveName = path.resolve(dirs.archive, `${pkg.name}_v${pkg.version}.zip`);
+ const archiveName = path.resolve(
+ dirs.archive,
+ `${pkg.name}_v${pkg.version}.zip`,
+ );
const zip = archiver('zip');
const files = globSync('**/*.*', {
- 'cwd': dirs.dist,
- 'ignore': [
+ cwd: dirs.dist,
+ ignore: [
'**/node_modules/**',
'package-lock.json',
'**/dist/**',
'**/.cache/**',
],
- 'dot': true // include hidden files
+ dot: true, // include hidden files
});
const output = fs.createWriteStream(archiveName);
@@ -52,8 +54,8 @@ gulp.task('archive:zip', (done) => {
// `zip.bulk` does not maintain the file
// permissions, so we need to add files individually
zip.append(fs.createReadStream(filePath), {
- 'name': file,
- 'mode': fs.statSync(filePath).mode
+ name: file,
+ mode: fs.statSync(filePath).mode,
});
});
@@ -63,61 +65,62 @@ gulp.task('archive:zip', (done) => {
});
gulp.task('clean', (done) => {
- deleteSync([
- dirs.archive,
- dirs.dist
- ]);
+ deleteSync([dirs.archive, dirs.dist]);
done();
});
gulp.task('copy:index.html', () => {
-
- return gulp.src(`${dirs.src}/index.html`)
- .pipe(gulp.dest(dirs.dist));
+ return gulp.src(`${dirs.src}/index.html`).pipe(gulp.dest(dirs.dist));
});
gulp.task('copy:license', () =>
- gulp.src('LICENSE.txt')
- .pipe(gulp.dest(dirs.dist))
+ gulp.src('LICENSE.txt').pipe(gulp.dest(dirs.dist)),
);
gulp.task('copy:style', () => {
const banner = `/*! HTML5 Boilerplate v${pkg.version} | ${pkg.license} License | ${pkg.homepage} */\n\n`;
- return gulp.src('node_modules/main.css/dist/main.css')
+ return gulp
+ .src('node_modules/main.css/dist/main.css')
.pipe(gulpHeader(banner))
- .pipe(gulpAutoPrefixer({
- cascade: false
- }))
- .pipe(gulpRename({
- basename: 'style'
- }))
+ .pipe(
+ gulpAutoPrefixer({
+ cascade: false,
+ }),
+ )
+ .pipe(
+ gulpRename({
+ basename: 'style',
+ }),
+ )
.pipe(gulp.dest(`${dirs.dist}/css`));
});
gulp.task('copy:misc', () =>
- gulp.src([
- // Copy all files
- `${dirs.src}/**/*`,
-
- // Exclude the following files
- // (other tasks will handle the copying of these files)
- `!${dirs.src}/css/main.css`,
- `!${dirs.src}/index.html`
- ], {
- // Include hidden files by default
- dot: true
- }).pipe(gulp.dest(dirs.dist))
+ gulp
+ .src(
+ [
+ // Copy all files
+ `${dirs.src}/**/*`,
+
+ // Exclude the following files
+ // (other tasks will handle the copying of these files)
+ `!${dirs.src}/css/main.css`,
+ `!${dirs.src}/index.html`,
+ ],
+ {
+ // Include hidden files by default
+ dot: true,
+ },
+ )
+ .pipe(gulp.dest(dirs.dist)),
);
-
gulp.task('lint:js', () =>
- gulp.src([
- `${dirs.src}/js/*.js`,
- `${dirs.src}/*.js`,
- `${dirs.test}/*.mjs`
- ]).pipe(gulpEslint())
- .pipe(gulpEslint.failOnError())
+ gulp
+ .src([`${dirs.src}/js/*.js`, `${dirs.src}/*.js`, `${dirs.test}/*.mjs`])
+ .pipe(gulpEslint())
+ .pipe(gulpEslint.failOnError()),
);
// ---------------------------------------------------------------------
@@ -125,29 +128,14 @@ gulp.task('lint:js', () =>
// ---------------------------------------------------------------------
gulp.task(
'copy',
- gulp.series(
- 'copy:index.html',
- 'copy:license',
- 'copy:style',
- 'copy:misc'
- )
+ gulp.series('copy:index.html', 'copy:license', 'copy:style', 'copy:misc'),
);
-gulp.task(
- 'build',
- gulp.series(
- gulp.parallel('clean', 'lint:js'),
- 'copy'
- )
-);
+gulp.task('build', gulp.series(gulp.parallel('clean', 'lint:js'), 'copy'));
gulp.task(
'archive',
- gulp.series(
- 'build',
- 'archive:create_archive_dir',
- 'archive:zip'
- )
+ gulp.series('build', 'archive:create_archive_dir', 'archive:zip'),
);
gulp.task('default', gulp.series('build'));
diff --git a/package-lock.json b/package-lock.json
index c8287d29b7..97ca20e7a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "9.0.0-RC1",
"license": "MIT",
"devDependencies": {
- "archiver": "^6.0.0",
+ "archiver": "^6.0.1",
"del": "^7.1.0",
"eslint": "^8.46.0",
"eslint-config-recommended": "^4.1.0",
@@ -20,9 +20,9 @@
"gulp-eslint": "^6.0.0",
"gulp-header": "^2.0.9",
"gulp-rename": "^2.0.0",
- "gulp-replace": "^1.1.4",
"main.css": "3.0.0",
"mocha": "^10.2.0",
+ "prettier": "3.0.3",
"strip-json-comments": "^5.0.1"
},
"engines": {
@@ -507,34 +507,12 @@
"node": ">=14"
}
},
- "node_modules/@types/expect": {
- "version": "1.20.4",
- "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
- "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==",
- "dev": true
- },
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
"dev": true
},
- "node_modules/@types/node": {
- "version": "14.18.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz",
- "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==",
- "dev": true
- },
- "node_modules/@types/vinyl": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
- "integrity": "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==",
- "dev": true,
- "dependencies": {
- "@types/expect": "^1.20.4",
- "@types/node": "*"
- }
- },
"node_modules/acorn": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
@@ -801,127 +779,78 @@
}
},
"node_modules/archiver": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.0.tgz",
- "integrity": "sha512-EPGa+bYaxaMiCT8DCbEDqFz8IjeBSExrJzyUOJx2FBkFJ/OZzJuso3lMSk901M50gMqXxTQcumlGajOFlXhVhw==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz",
+ "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==",
"dev": true,
"dependencies": {
- "archiver-utils": "^3.0.0",
+ "archiver-utils": "^4.0.1",
"async": "^3.2.4",
"buffer-crc32": "^0.2.1",
"readable-stream": "^3.6.0",
"readdir-glob": "^1.1.2",
- "tar-stream": "^2.2.0",
- "zip-stream": "^4.1.0"
+ "tar-stream": "^3.0.0",
+ "zip-stream": "^5.0.1"
},
"engines": {
"node": ">= 12.0.0"
}
},
"node_modules/archiver-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
- "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz",
+ "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==",
"dev": true,
"dependencies": {
- "glob": "^7.1.4",
+ "glob": "^8.0.0",
"graceful-fs": "^4.2.0",
"lazystream": "^1.0.0",
- "lodash.defaults": "^4.2.0",
- "lodash.difference": "^4.5.0",
- "lodash.flatten": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.union": "^4.6.0",
+ "lodash": "^4.17.15",
"normalize-path": "^3.0.0",
- "readable-stream": "^2.0.0"
+ "readable-stream": "^3.6.0"
},
"engines": {
- "node": ">= 6"
+ "node": ">= 12.0.0"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
}
},
"node_modules/archiver-utils/node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/archiver-utils/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/archiver-utils/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/archiver/node_modules/archiver-utils": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.3.tgz",
- "integrity": "sha512-fXzpEZTKgBJMWy0eUT0/332CAQnJ27OJd7sGcvNZzxS2Yzg7iITivMhXOm+zUTO4vT8ZqlPCqiaLPmB8qWhWRA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.0",
- "lazystream": "^1.0.0",
- "lodash.defaults": "^4.2.0",
- "lodash.difference": "^4.5.0",
- "lodash.flatten": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.union": "^4.6.0",
- "normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/archiver/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "node_modules/archiver-utils/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
"dev": true,
"dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=10"
}
},
"node_modules/archy": {
@@ -1229,6 +1158,12 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/b4a": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
+ "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==",
+ "dev": true
+ },
"node_modules/bach": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz",
@@ -1323,26 +1258,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
"node_modules/binary-extensions": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
@@ -1352,18 +1267,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/binaryextensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz",
- "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- },
- "funding": {
- "url": "https://bevry.me/fund"
- }
- },
"node_modules/bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
@@ -1374,17 +1277,6 @@
"file-uri-to-path": "1.0.0"
}
},
- "node_modules/bl": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
- "dev": true,
- "dependencies": {
- "buffer": "^5.5.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.4.0"
- }
- },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1450,34 +1342,10 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
"node_modules/buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
"dev": true,
"engines": {
"node": "*"
@@ -1851,18 +1719,18 @@
"dev": true
},
"node_modules/compress-commons": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
- "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz",
+ "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==",
"dev": true,
"dependencies": {
- "buffer-crc32": "^0.2.13",
- "crc32-stream": "^4.0.2",
+ "crc-32": "^1.2.0",
+ "crc32-stream": "^5.0.0",
"normalize-path": "^3.0.0",
"readable-stream": "^3.6.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 12.0.0"
}
},
"node_modules/concat-map": {
@@ -1972,14 +1840,10 @@
"dev": true
},
"node_modules/crc-32": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz",
- "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+ "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
"dev": true,
- "dependencies": {
- "exit-on-epipe": "~1.0.1",
- "printj": "~1.1.0"
- },
"bin": {
"crc32": "bin/crc32.njs"
},
@@ -1988,16 +1852,16 @@
}
},
"node_modules/crc32-stream": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
- "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz",
+ "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==",
"dev": true,
"dependencies": {
"crc-32": "^1.2.0",
"readable-stream": "^3.4.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 12.0.0"
}
},
"node_modules/cross-spawn": {
@@ -4691,15 +4555,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/exit-on-epipe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
- "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==",
- "dev": true,
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -4882,6 +4737,12 @@
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
"dev": true
},
+ "node_modules/fast-fifo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
+ "dev": true
+ },
"node_modules/fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
@@ -5157,12 +5018,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
- "dev": true
- },
"node_modules/fs-mkdirp-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
@@ -6088,22 +5943,6 @@
"node": ">=4"
}
},
- "node_modules/gulp-replace": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz",
- "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==",
- "dev": true,
- "dependencies": {
- "@types/node": "*",
- "@types/vinyl": "^2.0.4",
- "istextorbinary": "^3.0.0",
- "replacestream": "^4.0.3",
- "yargs-parser": ">=5.0.0-security.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/gulplog": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
@@ -6251,26 +6090,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
"node_modules/ignore": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -6958,22 +6777,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/istextorbinary": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz",
- "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==",
- "dev": true,
- "dependencies": {
- "binaryextensions": "^2.2.0",
- "textextensions": "^3.2.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://bevry.me/fund"
- }
- },
"node_modules/jackspeak": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.1.tgz",
@@ -7346,30 +7149,6 @@
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
- "node_modules/lodash.defaults": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
- "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
- "dev": true
- },
- "node_modules/lodash.difference": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
- "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=",
- "dev": true
- },
- "node_modules/lodash.flatten": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
- "dev": true
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
- "dev": true
- },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -7395,12 +7174,6 @@
"lodash._reinterpolate": "^3.0.0"
}
},
- "node_modules/lodash.union": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
- "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=",
- "dev": true
- },
"node_modules/log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -9106,6 +8879,21 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/prettier": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
+ "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
"node_modules/pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
@@ -9115,18 +8903,6 @@
"node": ">= 0.8"
}
},
- "node_modules/printj": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz",
- "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==",
- "dev": true,
- "bin": {
- "printj": "bin/printj.njs"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -9203,6 +8979,12 @@
}
]
},
+ "node_modules/queue-tick": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
+ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==",
+ "dev": true
+ },
"node_modules/rambda": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/rambda/-/rambda-7.1.4.tgz",
@@ -9655,41 +9437,6 @@
"node": ">= 0.10"
}
},
- "node_modules/replacestream": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
- "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
- "dev": true,
- "dependencies": {
- "escape-string-regexp": "^1.0.3",
- "object-assign": "^4.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "node_modules/replacestream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/replacestream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -10283,6 +10030,16 @@
"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
"dev": true
},
+ "node_modules/streamx": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
+ "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
+ "dev": true,
+ "dependencies": {
+ "fast-fifo": "^1.1.0",
+ "queue-tick": "^1.0.1"
+ }
+ },
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@@ -10553,19 +10310,14 @@
}
},
"node_modules/tar-stream": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
+ "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
"dev": true,
"dependencies": {
- "bl": "^4.0.3",
- "end-of-stream": "^1.4.1",
- "fs-constants": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^3.1.1"
- },
- "engines": {
- "node": ">=6"
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
}
},
"node_modules/text-table": {
@@ -10574,18 +10326,6 @@
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
- "node_modules/textextensions": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz",
- "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://bevry.me/fund"
- }
- },
"node_modules/through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@@ -11494,15 +11234,6 @@
"yargs-parser": "^5.0.1"
}
},
- "node_modules/yargs-parser": {
- "version": "21.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
- "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
"node_modules/yargs-unparser": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
@@ -11565,17 +11296,17 @@
}
},
"node_modules/zip-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
- "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz",
+ "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==",
"dev": true,
"dependencies": {
- "archiver-utils": "^2.1.0",
- "compress-commons": "^4.1.0",
+ "archiver-utils": "^4.0.1",
+ "compress-commons": "^5.0.1",
"readable-stream": "^3.6.0"
},
"engines": {
- "node": ">= 10"
+ "node": ">= 12.0.0"
}
}
}
diff --git a/package.json b/package.json
index 2335f3aeee..06ec95495e 100644
--- a/package.json
+++ b/package.json
@@ -18,10 +18,11 @@
},
"scripts": {
"build": "gulp build",
+ "prettier": "prettier --write ./**/*.{js,json,md,mjs,yml}",
"test": "gulp archive && mocha --reporter spec --timeout 5000"
},
"devDependencies": {
- "archiver": "^6.0.0",
+ "archiver": "^6.0.1",
"del": "^7.1.0",
"eslint": "^8.46.0",
"eslint-config-recommended": "^4.1.0",
@@ -32,21 +33,14 @@
"gulp-eslint": "^6.0.0",
"gulp-header": "^2.0.9",
"gulp-rename": "^2.0.0",
- "gulp-replace": "^1.1.4",
"main.css": "3.0.0",
"mocha": "^10.2.0",
+ "prettier": "3.0.3",
"strip-json-comments": "^5.0.1"
},
"engines": {
"node": ">=14"
},
- "browserslist": [
- "> 0.5%",
- "last 2 versions",
- "Firefox ESR",
- "not dead",
- "not IE 11"
- ],
"h5bp-configs": {
"directories": {
"archive": "archive",
diff --git a/src/tile-wide.png b/src/tile-wide.png
deleted file mode 100644
index ccd739c7da..0000000000
Binary files a/src/tile-wide.png and /dev/null differ
diff --git a/src/tile.png b/src/tile.png
deleted file mode 100644
index f820f61a0b..0000000000
Binary files a/src/tile.png and /dev/null differ
diff --git a/src/webpack.common.js b/src/webpack.common.js
index 18d80c6d0c..b502ea9590 100644
--- a/src/webpack.common.js
+++ b/src/webpack.common.js
@@ -3,10 +3,10 @@ const path = require('path');
module.exports = {
entry: {
app: './js/app.js',
- },
+ },
output: {
path: path.resolve(__dirname, 'dist'),
clean: true,
filename: './js/app.js',
},
-};
\ No newline at end of file
+};
diff --git a/src/webpack.config.dev.js b/src/webpack.config.dev.js
index 994a7dd6b4..5953807c99 100644
--- a/src/webpack.config.dev.js
+++ b/src/webpack.config.dev.js
@@ -1,7 +1,6 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
-
module.exports = merge(common, {
mode: 'development',
devtool: 'inline-source-map',
@@ -12,5 +11,3 @@ module.exports = merge(common, {
static: ['./'],
},
});
-
-
diff --git a/src/webpack.config.prod.js b/src/webpack.config.prod.js
index c35245cffa..76800e8069 100644
--- a/src/webpack.config.prod.js
+++ b/src/webpack.config.prod.js
@@ -1,28 +1,26 @@
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
-const HtmlWebpackPlugin = require('html-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
module.exports = merge(common, {
mode: 'production',
plugins: [
new HtmlWebpackPlugin({
- template: './index.html'
+ template: './index.html',
}),
new CopyPlugin({
patterns: [
{ from: 'img', to: 'img' },
{ from: 'css', to: 'css' },
{ from: 'js/vendor', to: 'js/vendor' },
- { from: 'icon.svg', to: 'icon.svg'},
- { from: 'favicon.ico', to: 'favicon.ico'},
- { from: 'tile-wide.png', to: 'tile-wide.png'},
- { from: 'robots.txt', to: 'robots.txt'},
- { from: 'icon.png', to: 'icon.png'},
- { from: '404.html', to: '404.html'},
- { from: 'site.webmanifest', to: 'site.webmanifest'},
- { from: 'tile.png', to: 'tile.png'}
+ { from: 'icon.svg', to: 'icon.svg' },
+ { from: 'favicon.ico', to: 'favicon.ico' },
+ { from: 'robots.txt', to: 'robots.txt' },
+ { from: 'icon.png', to: 'icon.png' },
+ { from: '404.html', to: '404.html' },
+ { from: 'site.webmanifest', to: 'site.webmanifest' },
],
- })
+ }),
],
-});
\ No newline at end of file
+});
diff --git a/test/file_content.mjs b/test/file_content.mjs
index 81867fd6d0..da7521d0bc 100644
--- a/test/file_content.mjs
+++ b/test/file_content.mjs
@@ -9,21 +9,17 @@ const dirs = pkg['h5bp-configs'].directories;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function checkString(file, string, done) {
-
let character = '';
let matchFound = false;
let matchedPositions = 0;
- const readStream = fs.createReadStream(file, {'encoding': 'utf8'});
+ const readStream = fs.createReadStream(file, { encoding: 'utf8' });
readStream.on('close', done);
readStream.on('error', done);
readStream.on('readable', function () {
-
// Read file until the string is found
// or the whole file has been read
- while (matchFound !== true &&
- (character = readStream.read(1)) !== null) {
-
+ while (matchFound !== true && (character = readStream.read(1)) !== null) {
if (character === string.charAt(matchedPositions)) {
matchedPositions += 1;
} else {
@@ -33,31 +29,24 @@ function checkString(file, string, done) {
if (matchedPositions === string.length) {
matchFound = true;
}
-
}
assert.equal(true, matchFound);
this.close();
-
});
-
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function runTests() {
-
const dir = dirs.dist;
describe(`Test if the files from the "${dir}" directory have the expected content`, () => {
-
it('"style.css" should contain a custom banner', function (done) {
const string = `/*! HTML5 Boilerplate v${pkg.version} | ${pkg.license} License | ${pkg.homepage} */\n`;
checkString(path.resolve(dir, 'css/style.css'), string, done);
});
-
});
-
}
runTests();
diff --git a/test/file_existence.mjs b/test/file_existence.mjs
index 9c1331036f..1c694417e0 100644
--- a/test/file_existence.mjs
+++ b/test/file_existence.mjs
@@ -7,12 +7,9 @@ const require = createRequire(import.meta.url);
const pkg = require('../package.json');
const dirs = pkg['h5bp-configs'].directories;
-const expectedFilesInArchiveDir = [
- `${pkg.name}_v${pkg.version}.zip`
-];
+const expectedFilesInArchiveDir = [`${pkg.name}_v${pkg.version}.zip`];
const expectedFilesInDistDir = [
-
'.editorconfig',
'.gitattributes',
'.gitignore',
@@ -22,7 +19,7 @@ const expectedFilesInDistDir = [
'webpack.common.js',
'webpack.config.dev.js',
'webpack.config.prod.js',
-
+
'css/', // for directories, a `/` character
// should be included at the end
'css/style.css',
@@ -44,38 +41,33 @@ const expectedFilesInDistDir = [
'LICENSE.txt',
'robots.txt',
'site.webmanifest',
- 'tile-wide.png',
- 'tile.png'
-
];
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function checkFiles(directory, expectedFiles) {
-
// Get the list of files from the specified directory
const files = globSync('**/*', {
- 'cwd': directory,
- 'ignore': [
+ cwd: directory,
+ ignore: [
'**/node_modules/**',
'package-lock.json',
'**/dist/**',
'**/.cache/**',
],
- 'dot': true, // include hidden files
- 'mark': true // add a `/` character to directory matches
+ dot: true, // include hidden files
+ mark: true, // add a `/` character to directory matches
});
// Check if all expected files are present in the
// specified directory, and are of the expected type
expectedFiles.forEach((file) => {
-
let ok = false;
- const expectedFileType = (file.slice(-1) !== '/' ? 'regular file' : 'directory');
+ const expectedFileType =
+ file.slice(-1) !== '/' ? 'regular file' : 'directory';
// If file exists
if (files.indexOf(file) !== -1) {
-
// Check if the file is of the correct type
if (file.slice(-1) !== '/') {
// Check if the file is really a regular file
@@ -84,35 +76,32 @@ function checkFiles(directory, expectedFiles) {
// Check if the file is a directory
// (Since glob adds the `/` character to directory matches,
// we can simply check if the `/` character is present)
- ok = (files[files.indexOf(file)].slice(-1) === '/');
+ ok = files[files.indexOf(file)].slice(-1) === '/';
}
-
}
- it(`"${file}" should be present and it should be a ${expectedFileType}`, () =>{
+ it(`"${file}" should be present and it should be a ${expectedFileType}`, () => {
assert.equal(true, ok);
});
-
});
// List all files that should be NOT
// be present in the specified directory
- (files.filter((file) => {
- return expectedFiles.indexOf(file) === -1;
- })).forEach((file) => {
- it(`"${file}" should NOT be present`, () => {
- assert(false);
+ files
+ .filter((file) => {
+ return expectedFiles.indexOf(file) === -1;
+ })
+ .forEach((file) => {
+ it(`"${file}" should NOT be present`, () => {
+ assert(false);
+ });
});
- });
-
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function runTests() {
-
describe('Test if all the expected files, and only them, are present in the build directories', () => {
-
describe(dirs.archive, () => {
checkFiles(dirs.archive, expectedFilesInArchiveDir);
});
@@ -120,9 +109,7 @@ function runTests() {
describe(dirs.dist, () => {
checkFiles(dirs.dist, expectedFilesInDistDir);
});
-
});
-
}
runTests();