From 4de808c4441267c954e9d2483998a92a8952242b Mon Sep 17 00:00:00 2001 From: Christian Oliff Date: Wed, 17 Nov 2021 22:23:58 +0900 Subject: [PATCH 01/13] fix changelog duplication (#717) --- CHANGELOG.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5cbec70c..c0eca1c6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,10 @@ ## [0.16.1](https://github.com/htmlhint/HTMLHint/compare/v0.16.0...v0.16.1) (2021-11-12) - -### Bug Fixes - -* tagname-specialchars description ([#714](https://github.com/htmlhint/HTMLHint/issues/714)) ([4d702d8](https://github.com/htmlhint/HTMLHint/commit/4d702d8dfac3431fb71516b1ea3eb97950b63835)) - -## [0.16.1](https://github.com/htmlhint/HTMLHint/compare/v0.16.0...v0.16.1) (2021-11-12) - - ### Bug Fixes * tagname-specialchars description ([#714](https://github.com/htmlhint/HTMLHint/issues/714)) ([4d702d8](https://github.com/htmlhint/HTMLHint/commit/4d702d8dfac3431fb71516b1ea3eb97950b63835)) -# [0.16.0](https://github.com/htmlhint/HTMLHint/compare/v0.15.2...v0.16.0) (2021-10-29) +## [0.16.0](https://github.com/htmlhint/HTMLHint/compare/v0.15.2...v0.16.0) (2021-10-29) ### Features From 5b52a27a74a15005e7233e7532885bac024e57c2 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Mon, 22 Nov 2021 21:16:44 -0500 Subject: [PATCH 02/13] chore(build): run matrix on current node releases (#719) --- .github/workflows/development.yml | 6 +++++- .github/workflows/production.yml | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index a3a390b00..26d1a93fa 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -19,7 +19,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [14, 15] + node: + - 12 + - 14 + - 16 + - 17 os: [ubuntu-latest, macOS-latest, windows-latest] steps: diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index 76fdae989..b751be24c 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -18,7 +18,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [14, 15] + node: + - 12 + - 14 + - 16 + - 17 os: [ubuntu-latest, macOS-latest, windows-latest] steps: From 26b4e44db566dca282f2c1c1e8ecebc020432a00 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 10:45:43 -0500 Subject: [PATCH 03/13] chore(build): use caching in setup-node (#723) --- .github/workflows/development.yml | 7 +++---- .github/workflows/production.yml | 15 +++++++-------- .github/workflows/test-release.yml | 8 ++++---- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 26d1a93fa..f45245394 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -36,14 +36,13 @@ jobs: uses: actions/checkout@v2 - name: βŽ” Setup node ${{ matrix.node }} - uses: actions/setup-node@v2.4.1 + uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} + cache: npm - name: πŸ“₯ Download deps - uses: bahmutov/npm-install@v1 - with: - useLockFile: false + run: npm ci env: HUSKY_SKIP_INSTALL: true diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index b751be24c..2fa03017a 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -35,14 +35,13 @@ jobs: uses: actions/checkout@v2 - name: βŽ” Setup node ${{ matrix.node }} - uses: actions/setup-node@v2.4.1 + uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} + cache: npm - name: πŸ“₯ Download deps - uses: bahmutov/npm-install@v1 - with: - useLockFile: false + run: npm ci env: HUSKY_SKIP_INSTALL: true @@ -74,12 +73,12 @@ jobs: uses: actions/checkout@v2 - name: βŽ” Setup node - uses: actions/setup-node@v2.4.1 + uses: actions/setup-node@v2 + with: + cache: npm - name: πŸ“₯ Download deps - uses: bahmutov/npm-install@v1 - with: - useLockFile: false + run: npm ci env: HUSKY_SKIP_INSTALL: true diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 18902dbdd..776d30df1 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -25,12 +25,12 @@ jobs: uses: actions/checkout@v2 - name: βŽ” Setup node - uses: actions/setup-node@v2.4.1 + uses: actions/setup-node@v2 + with: + cache: npm - name: πŸ“₯ Download deps - uses: bahmutov/npm-install@v1 - with: - useLockFile: false + run: npm ci env: HUSKY_SKIP_INSTALL: true From 3c25de8c57f6fc5e74ab65d3c26fca9b0580fe88 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 10:47:43 -0500 Subject: [PATCH 04/13] style: run prettier during lint (#724) --- .github/dependabot.yml | 4 ++-- .github/workflows/labeler.yml | 2 +- .github/workflows/production.yml | 3 +-- .github/workflows/test-release.yml | 1 - package.json | 4 ++-- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c5af001ac..a8afdef11 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,11 +1,11 @@ version: 2 updates: - package-ecosystem: npm - directory: "/" + directory: '/' schedule: interval: weekly versioning-strategy: increase - package-ecosystem: github-actions - directory: "/" + directory: '/' schedule: interval: weekly diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index ca333641f..c2769f0c9 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,4 +9,4 @@ jobs: steps: - uses: actions/labeler@v3.0.2 with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + repo-token: '${{ secrets.GITHUB_TOKEN }}' diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index 2fa03017a..f87ea1a15 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -62,8 +62,7 @@ jobs: file: ./coverage/lcov.info release: - if: - ${{ github.repository == 'htmlhint/HTMLHint' && + if: ${{ github.repository == 'htmlhint/HTMLHint' && contains('refs/heads/master,refs/heads/beta,refs/heads/next,refs/heads/alpha', github.ref) && github.event_name == 'push' }} runs-on: ubuntu-latest diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index 776d30df1..b1d2aa086 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -56,4 +56,3 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - diff --git a/package.json b/package.json index 009248869..5d22ec62f 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "build:rollup": "npm run build:min && npm run build:unmin", "build:min": "rollup -c --environment NODE_ENV:production --file dist/htmlhint.min.js", "build:unmin": "rollup -c", - "lint": "eslint . --ext .js,.ts --max-warnings 0", - "lint:fix": "eslint --fix . --ext .js,.ts --max-warnings 0", + "lint": "prettier -c . && eslint . --ext .js,.ts --max-warnings 0", + "lint:fix": "npm run prettier && npm run lint -- --fix", "test:coverage": "nyc npm run test" }, "husky": { From 4f85a1a3a6b2c25a7e97a0f48b7773b05c92846b Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:32:01 -0500 Subject: [PATCH 05/13] chore(build): remove redundant matrix (#720) --- .github/workflows/test-release.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/test-release.yml b/.github/workflows/test-release.yml index b1d2aa086..43f11ed46 100644 --- a/.github/workflows/test-release.yml +++ b/.github/workflows/test-release.yml @@ -15,10 +15,6 @@ on: jobs: test-release: runs-on: ubuntu-latest - strategy: - matrix: - node: [14] - os: [ubuntu-latest] steps: - name: ⬇️ Checkout repo From 88d3670277bf4f533412054eec742e0e1906e008 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:32:38 -0500 Subject: [PATCH 06/13] chore(build): add Dependabot for website packages (#721) --- .github/dependabot.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a8afdef11..e39b13c24 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,6 +4,14 @@ updates: directory: '/' schedule: interval: weekly + - package-ecosystem: npm + directory: "/website" + schedule: + interval: weekly + - package-ecosystem: npm + directory: "/website/plugins/docusaurus-plugin-hotjar" + schedule: + interval: weekly versioning-strategy: increase - package-ecosystem: github-actions directory: '/' From e95cd8218248c0184bfb3bb958e82efa7f2703ae Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:35:08 -0500 Subject: [PATCH 07/13] chore: run lint once for CI (#726) --- .github/workflows/development.yml | 23 ++++++++++++++++++++--- .github/workflows/production.yml | 23 ++++++++++++++++++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index f45245394..0e56751bd 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -13,10 +13,30 @@ on: types: [opened, synchronize, reopened] jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: ⬇️ Checkout + uses: actions/checkout@v2 + + - name: βŽ” Setup node ${{ matrix.node }} + uses: actions/setup-node@v2 + with: + cache: npm + + - name: πŸ“₯ Download deps + run: npm ci + env: + HUSKY_SKIP_INSTALL: true + + - name: πŸ§ͺ Run lint + run: npm run lint + build: # ignore all-contributors PRs if: ${{ !contains(github.head_ref, 'all-contributors') }} runs-on: ubuntu-latest + needs: lint strategy: matrix: node: @@ -46,9 +66,6 @@ jobs: env: HUSKY_SKIP_INSTALL: true - - name: πŸ§ͺ Run lint - run: npm run lint - - name: πŸ— Build run: npm run build env: diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml index f87ea1a15..a73e2ec5b 100644 --- a/.github/workflows/production.yml +++ b/.github/workflows/production.yml @@ -12,10 +12,30 @@ on: - '!all-contributors/**' jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: ⬇️ Checkout + uses: actions/checkout@v2 + + - name: βŽ” Setup node ${{ matrix.node }} + uses: actions/setup-node@v2 + with: + cache: npm + + - name: πŸ“₯ Download deps + run: npm ci + env: + HUSKY_SKIP_INSTALL: true + + - name: πŸ§ͺ Run lint + run: npm run lint + build: # ignore all-contributors PRs if: ${{ !contains(github.head_ref, 'all-contributors') }} runs-on: ubuntu-latest + needs: lint strategy: matrix: node: @@ -45,9 +65,6 @@ jobs: env: HUSKY_SKIP_INSTALL: true - - name: πŸ§ͺ Run lint - run: npm run lint - - name: πŸ— Build run: npm run build env: From 77e9a6cd88f85c819a7adb7deb5405b0f8285ba0 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:41:19 -0500 Subject: [PATCH 08/13] chore(dependabot): correct quoting for prettier (#735) --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e39b13c24..cabdb7467 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,11 +5,11 @@ updates: schedule: interval: weekly - package-ecosystem: npm - directory: "/website" + directory: '/website' schedule: interval: weekly - package-ecosystem: npm - directory: "/website/plugins/docusaurus-plugin-hotjar" + directory: '/website/plugins/docusaurus-plugin-hotjar' schedule: interval: weekly versioning-strategy: increase From 63d367e1142a71afa2a1b761ade9776c9c2f98e9 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:44:31 -0500 Subject: [PATCH 09/13] refactor: move eslint config to type overrides (#725) --- .eslintignore | 3 -- .eslintrc.js | 86 ++++++++++++++++++------------- .prettierignore | 1 + parser-preset.js | 2 +- test/cli/formatters/junit.spec.js | 1 - 5 files changed, 51 insertions(+), 42 deletions(-) diff --git a/.eslintignore b/.eslintignore index 80f61137d..24e7c619c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -6,6 +6,3 @@ dist # Website directory website - -# eslint cannot lint itself -.eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js index b37ed3f8b..4659da23c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,46 +1,58 @@ module.exports = { - extends: [ - 'eslint:recommended', - 'plugin:prettier/recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'prettier/@typescript-eslint', - ], + extends: ['eslint:recommended', 'plugin:prettier/recommended'], env: { - browser: true, - amd: true, + es6: true, node: true, - mocha: true, }, - parser: '@typescript-eslint/parser', parserOptions: { - ecmaVersion: 6, sourceType: 'module', - project: './tsconfig.lint.json', - warnOnUnsupportedTypeScriptVersion: false, }, - plugins: ['@typescript-eslint'], - rules: { - 'arrow-body-style': ['error'], - 'no-template-curly-in-string': 'error', - 'no-useless-concat': 'error', - 'no-useless-escape': 'off', - 'no-var': 'error', - 'one-var': ['error', 'never'], - 'prefer-arrow-callback': ['error', { allowNamedFunctions: true }], - 'prefer-const': 'error', - 'prefer-template': 'error', - quotes: ['error', 'single', { avoidEscape: true }], - 'template-curly-spacing': 'error', - 'template-tag-spacing': 'error', + overrides: [ + { + files: ['**/*.ts'], + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:prettier/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 6, + sourceType: 'module', + project: './tsconfig.lint.json', + warnOnUnsupportedTypeScriptVersion: false, + }, + plugins: ['@typescript-eslint'], + rules: { + 'arrow-body-style': ['error'], + 'no-template-curly-in-string': 'error', + 'no-useless-concat': 'error', + 'no-useless-escape': 'off', + 'no-var': 'error', + 'one-var': ['error', 'never'], + 'prefer-arrow-callback': ['error', { allowNamedFunctions: true }], + 'prefer-const': 'error', + 'prefer-template': 'error', + 'template-curly-spacing': 'error', + 'template-tag-spacing': 'error', + quotes: ['error', 'single', { avoidEscape: true }], - '@typescript-eslint/adjacent-overload-signatures': 'off', - '@typescript-eslint/ban-ts-comment': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unused-vars': 'off', - '@typescript-eslint/no-var-requires': 'off', - '@typescript-eslint/restrict-template-expressions': 'off', - }, + '@typescript-eslint/adjacent-overload-signatures': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', + }, + }, + { + files: ['**/*.spec.js'], + env: { + mocha: true, + }, + }, + ], } diff --git a/.prettierignore b/.prettierignore index 0dc499740..b60541118 100644 --- a/.prettierignore +++ b/.prettierignore @@ -18,6 +18,7 @@ npm-debug.log* .github/PULL_REQUEST_TEMPLATE.md /website/playground +/website/build /website/.docusaurus /website/plugins /website/static diff --git a/parser-preset.js b/parser-preset.js index 3df7c2652..9be580276 100644 --- a/parser-preset.js +++ b/parser-preset.js @@ -1,6 +1,6 @@ module.exports = { parserOpts: { - headerPattern: /^(\w*)\((\w*)\)\:\s(.*)$/, + headerPattern: /^(\w*)\((\w*)\):\s(.*)$/, headerCorrespondence: ['type', 'scope', 'subject'], }, } diff --git a/test/cli/formatters/junit.spec.js b/test/cli/formatters/junit.spec.js index 1954fe49d..607d0526d 100644 --- a/test/cli/formatters/junit.spec.js +++ b/test/cli/formatters/junit.spec.js @@ -1,7 +1,6 @@ const expect = require('expect.js') const ChildProcess = require('child_process') -const fs = require('fs') const path = require('path') describe('CLI', () => { From fad78d8ec3a52e1ef37b2272469b02874c0ccf13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Nov 2021 18:45:07 -0500 Subject: [PATCH 10/13] chore(deps): bump async from 3.2.0 to 3.2.2 (#739) Bumps [async](https://github.com/caolan/async) from 3.2.0 to 3.2.2. - [Release notes](https://github.com/caolan/async/releases) - [Changelog](https://github.com/caolan/async/blob/master/CHANGELOG.md) - [Commits](https://github.com/caolan/async/compare/v3.2.0...v3.2.2) --- updated-dependencies: - dependency-name: async dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 05ce45392..f69a9ae68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2452,9 +2452,9 @@ "dev": true }, "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==" }, "asynckit": { "version": "0.4.0", diff --git a/package.json b/package.json index 5d22ec62f..96f60b1b3 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ }, "dependencies": { "@types/node-fetch": "^2.5.12", - "async": "3.2.0", + "async": "3.2.2", "chalk": "4.1.0", "commander": "5.1.0", "glob": "7.1.7", From 081db96b0f1b08fd81640a6fb0bd5387ac14b3c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Nov 2021 18:49:20 -0500 Subject: [PATCH 11/13] chore(deps-dev): bump @types/xml from 1.0.5 to 1.0.6 (#740) Bumps [@types/xml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/xml) from 1.0.5 to 1.0.6. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/xml) --- updated-dependencies: - dependency-name: "@types/xml" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index f69a9ae68..e04dacb34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2054,9 +2054,9 @@ "dev": true }, "@types/xml": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.5.tgz", - "integrity": "sha512-h3PVM7waRi2UeoaY2BhpLGvettU/3vfCbsjXMV/9Ex5WjvIy82J8Qfp1xiPxM4kTSOLdFFpjRwQ7YY7XJeKBvg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.6.tgz", + "integrity": "sha512-BCpp2oke88DwxJ/h748oLOQWdZ6k1Uv+aB9LZpyh/VhWqe4mE7X7ysNhF57cRPBs8/GyuUn1VRl+IlFdYsZPsA==", "dev": true, "requires": { "@types/node": "*" diff --git a/package.json b/package.json index 96f60b1b3..2551cc560 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "@types/glob": "7.1.3", "@types/node-fetch": "^2.5.12", "@types/parse-glob": "3.0.29", - "@types/xml": "1.0.5", + "@types/xml": "1.0.6", "@typescript-eslint/eslint-plugin": "3.6.0", "@typescript-eslint/parser": "3.10.1", "commitizen": "^4.2.4", From 98e45b9b2e1d7a4b0576d1944b1769c21b52b11e Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Tue, 23 Nov 2021 18:49:46 -0500 Subject: [PATCH 12/13] fix: clenaup non-functional typos (#727) --- README.md | 2 +- docs/user-guide/rules/input-requires-label.md | 2 +- docs/user-guide/rules/src-not-empty.md | 2 +- src/cli/htmlhint.ts | 6 ++-- src/core/rules/tags-check.ts | 2 +- test/core.spec.js | 2 +- test/rules/alt-require.spec.js | 20 +++++------ test/rules/attr-lowercase.spec.js | 20 +++++------ test/rules/attr-no-duplication.spec.js | 8 ++--- .../attr-no-unnecessary-whitespace.spec.js | 8 ++--- test/rules/attr-sort.spec.js | 2 +- test/rules/attr-unsafe-chars.spec.js | 8 ++--- test/rules/attr-value-double-quotes.spec.js | 12 +++---- test/rules/attr-value-not-empty.spec.js | 8 ++--- test/rules/attr-value-single-quotes.spec.js | 12 +++---- test/rules/attr-whitespace.spec.js | 12 +++---- test/rules/doctype-first.spec.js | 8 ++--- test/rules/doctype-html5.spec.js | 8 ++--- test/rules/empty-tag-not-self-closed.spec.js | 10 +++--- test/rules/head-require.spec.js | 10 +++--- test/rules/head-script-disabled.spec.js | 10 +++--- test/rules/href-abs-or-rel.spec.js | 20 +++++------ test/rules/html-lang-require.spec.js | 10 +++--- test/rules/id-class-ad-disabled.spec.js | 34 +++++++++---------- test/rules/id-class-value.spec.js | 12 +++---- test/rules/id-unique.spec.js | 8 ++--- test/rules/inline-script-disabled.spec.js | 12 +++---- test/rules/inline-style-disabled.spec.js | 8 ++--- test/rules/script-disabled.spec.js | 10 +++--- test/rules/space-tab-mixed-disabled.spec.js | 20 +++++------ test/rules/spec-char-escape.spec.js | 14 ++++---- test/rules/src-not-empty.spec.js | 8 ++--- test/rules/style-disabled.spec.js | 8 ++--- test/rules/tag-pair.spec.js | 14 ++++---- test/rules/tag-self-close.spec.js | 10 +++--- test/rules/tagname-lowercase.spec.js | 14 ++++---- test/rules/tagname-specialchars.spec.js | 10 +++--- test/rules/tags-check.spec.js | 30 ++++++++-------- test/rules/title-require.spec.js | 6 ++-- 39 files changed, 210 insertions(+), 210 deletions(-) diff --git a/README.md b/README.md index 02afd0269..50a771bd0 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ NPM count - MIT Licence + MIT License Chat diff --git a/docs/user-guide/rules/input-requires-label.md b/docs/user-guide/rules/input-requires-label.md index 8848740e5..63c5ecf1e 100644 --- a/docs/user-guide/rules/input-requires-label.md +++ b/docs/user-guide/rules/input-requires-label.md @@ -4,7 +4,7 @@ title: input-requires-label keywords: - input - label - - accessiblity + - accessibility --- All [ input ] tags must have a corresponding [ label ] tag. diff --git a/docs/user-guide/rules/src-not-empty.md b/docs/user-guide/rules/src-not-empty.md index 87956d206..38482c9af 100644 --- a/docs/user-guide/rules/src-not-empty.md +++ b/docs/user-guide/rules/src-not-empty.md @@ -5,7 +5,7 @@ title: src-not-empty Src of img(script, link) must set value. -Emtpy of src will visit current page twice. +Empty of src will visit current page twice. Level: `error` diff --git a/src/cli/htmlhint.ts b/src/cli/htmlhint.ts index 03c5327e6..e490604d7 100644 --- a/src/cli/htmlhint.ts +++ b/src/cli/htmlhint.ts @@ -174,7 +174,7 @@ function hintTargets( }) } -// load custom rles +// load custom rules function loadCustomRules(rulesdir: string) { rulesdir = rulesdir.replace(/\\/g, '/') if (existsSync(rulesdir)) { @@ -215,7 +215,7 @@ function hintAllFiles( formatter: Formatter ruleset?: Ruleset }, - onFinised: (result: { + onFinished: (result: { targetFileCount: number targetHintFileCount: number targetHintCount: number @@ -292,7 +292,7 @@ function hintAllFiles( function checkAllHinted() { if (isWalkDone && isHintDone) { - onFinised({ + onFinished({ targetFileCount: targetFileCount, targetHintFileCount: targetHintFileCount, targetHintCount: targetHintCount, diff --git a/src/core/rules/tags-check.ts b/src/core/rules/tags-check.ts index 272ecb42f..3f98206ef 100644 --- a/src/core/rules/tags-check.ts +++ b/src/core/rules/tags-check.ts @@ -146,7 +146,7 @@ export default { redundantAttrs.forEach((attrName) => { if (attrs.some((attr) => attr.name === attrName)) { reporter.error( - `The attr '${attrName}' is redundant for <${tagName}> and should be ommited.`, + `The attr '${attrName}' is redundant for <${tagName}> and should be omitted.`, event.line, col, this, diff --git a/test/core.spec.js b/test/core.spec.js index 3ee43ee35..2428136cc 100644 --- a/test/core.spec.js +++ b/test/core.spec.js @@ -62,7 +62,7 @@ describe('Core', () => { expect(messages.length).to.be(0) }) - it('Show formated result should not result in an error', () => { + it('Show formatted result should not result in an error', () => { const code = 'tttttttttttttttttttttttttttttttttttt
δΈ­ζ–‡tttttttttttttttttttttttttttttttttttttttttttttt' const messages = HTMLHint.verify(code, { diff --git a/test/rules/alt-require.spec.js b/test/rules/alt-require.spec.js index 2af623258..177671ed1 100644 --- a/test/rules/alt-require.spec.js +++ b/test/rules/alt-require.spec.js @@ -2,12 +2,12 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'alt-require' +const ruleId = 'alt-require' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Img tag have empty alt attribute should not result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) @@ -24,7 +24,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) expect(messages[0].type).to.be('warning') @@ -47,7 +47,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(6) expect(messages[0].type).to.be('warning') @@ -57,13 +57,13 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(6) expect(messages[0].type).to.be('warning') }) - it('Area[href] tag have non emtpy alt attribute should not result in an error', () => { + it('Area[href] tag have non empty alt attribute should not result in an error', () => { const code = 'test' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) @@ -85,7 +85,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('warning') @@ -95,13 +95,13 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('warning') }) - it('Input[type="image"] tag have non emtpy alt attribute should not result in an error', () => { + it('Input[type="image"] tag have non empty alt attribute should not result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) diff --git a/test/rules/attr-lowercase.spec.js b/test/rules/attr-lowercase.spec.js index d610529b2..318dee70d 100644 --- a/test/rules/attr-lowercase.spec.js +++ b/test/rules/attr-lowercase.spec.js @@ -2,27 +2,27 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-lowercase' +const ruleId = 'attr-lowercase' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Not all lowercase attr should result in an error', () => { let code = '

' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) code = '

' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(2) expect(messages[0].col).to.be(1) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(2) expect(messages[1].col).to.be(13) }) @@ -35,28 +35,28 @@ describe(`Rules: ${ruldId}`, () => { it('Set is false should not result in an error', () => { const code = '

' - ruleOptions[ruldId] = false + ruleOptions[ruleId] = false const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) it('Set to array list should not result in an error', () => { const code = '

' - ruleOptions[ruldId] = ['testBox', 'tttAAA'] + ruleOptions[ruleId] = ['testBox', 'tttAAA'] const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) it('Set to array list with RegExp should not result in an error', () => { const code = '

' - ruleOptions[ruldId] = ['testBox', /bind:.*/] + ruleOptions[ruleId] = ['testBox', /bind:.*/] const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) it('Set to array list with regex string should not result in an error', () => { const code = '

' - ruleOptions[ruldId] = ['testBox', '/\\[.*\\]/'] + ruleOptions[ruleId] = ['testBox', '/\\[.*\\]/'] const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) diff --git a/test/rules/attr-no-duplication.spec.js b/test/rules/attr-no-duplication.spec.js index eb5e2a614..7d80694aa 100644 --- a/test/rules/attr-no-duplication.spec.js +++ b/test/rules/attr-no-duplication.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-no-duplication' +const ruleId = 'attr-no-duplication' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute name been duplication should result in an error', () => { const code = 'bbb' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(12) }) diff --git a/test/rules/attr-no-unnecessary-whitespace.spec.js b/test/rules/attr-no-unnecessary-whitespace.spec.js index 39ad33585..8316121ac 100644 --- a/test/rules/attr-no-unnecessary-whitespace.spec.js +++ b/test/rules/attr-no-unnecessary-whitespace.spec.js @@ -2,12 +2,12 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-no-unnecessary-whitespace' +const ruleId = 'attr-no-unnecessary-whitespace' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute with spaces should result in an error', () => { const codes = [ '

', @@ -17,7 +17,7 @@ describe(`Rules: ${ruldId}`, () => { for (let i = 0; i < codes.length; i++) { const messages = HTMLHint.verify(codes[i], ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) } diff --git a/test/rules/attr-sort.spec.js b/test/rules/attr-sort.spec.js index 1bfcd68a9..f25cdad4f 100644 --- a/test/rules/attr-sort.spec.js +++ b/test/rules/attr-sort.spec.js @@ -9,7 +9,7 @@ ruleOptions[ruleId] = true describe(`Rules: ${ruleId}`, () => { it('Attribute unsorted tags must result in an error', () => { - const code = '
' + const code = '
' const messages = HTMLHint.verify(code, ruleOptions) diff --git a/test/rules/attr-unsafe-chars.spec.js b/test/rules/attr-unsafe-chars.spec.js index 60b5b0ffd..8c5285da1 100644 --- a/test/rules/attr-unsafe-chars.spec.js +++ b/test/rules/attr-unsafe-chars.spec.js @@ -2,18 +2,18 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-unsafe-chars' +const ruleId = 'attr-unsafe-chars' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute value have unsafe chars should result in an error', () => { const code = 'Sud Web 2012' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) expect(messages[0].type).to.be('warning') diff --git a/test/rules/attr-value-double-quotes.spec.js b/test/rules/attr-value-double-quotes.spec.js index 3ae786fe1..0a35190a4 100644 --- a/test/rules/attr-value-double-quotes.spec.js +++ b/test/rules/attr-value-double-quotes.spec.js @@ -2,23 +2,23 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-value-double-quotes' +const ruleId = 'attr-value-double-quotes' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute value closed by single quotes should result in an error', () => { const code = "" const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(3) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(14) - expect(messages[2].rule.id).to.be(ruldId) + expect(messages[2].rule.id).to.be(ruleId) expect(messages[2].line).to.be(1) expect(messages[2].col).to.be(24) }) diff --git a/test/rules/attr-value-not-empty.spec.js b/test/rules/attr-value-not-empty.spec.js index 57f083d23..d2fd6e840 100644 --- a/test/rules/attr-value-not-empty.spec.js +++ b/test/rules/attr-value-not-empty.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-value-not-empty' +const ruleId = 'attr-value-not-empty' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute value have no value should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('warning') diff --git a/test/rules/attr-value-single-quotes.spec.js b/test/rules/attr-value-single-quotes.spec.js index e0da6cb05..e05203b41 100644 --- a/test/rules/attr-value-single-quotes.spec.js +++ b/test/rules/attr-value-single-quotes.spec.js @@ -2,23 +2,23 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-value-single-quotes' +const ruleId = 'attr-value-single-quotes' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Attribute value closed by double quotes should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(3) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(14) - expect(messages[2].rule.id).to.be(ruldId) + expect(messages[2].rule.id).to.be(ruleId) expect(messages[2].line).to.be(1) expect(messages[2].col).to.be(24) }) diff --git a/test/rules/attr-whitespace.spec.js b/test/rules/attr-whitespace.spec.js index e093b74ee..67edfc5a2 100644 --- a/test/rules/attr-whitespace.spec.js +++ b/test/rules/attr-whitespace.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'attr-whitespace' +const ruleId = 'attr-whitespace' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Double spaces in attributes should result in an error', () => { const code = '

' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) }) @@ -20,7 +20,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '

' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) }) @@ -28,7 +28,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '

' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) }) }) diff --git a/test/rules/doctype-first.spec.js b/test/rules/doctype-first.spec.js index 5e381a401..993c2d86e 100644 --- a/test/rules/doctype-first.spec.js +++ b/test/rules/doctype-first.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'doctype-first' +const ruleId = 'doctype-first' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Doctype not be first should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(1) }) diff --git a/test/rules/doctype-html5.spec.js b/test/rules/doctype-html5.spec.js index cafdcd550..a90f51614 100644 --- a/test/rules/doctype-html5.spec.js +++ b/test/rules/doctype-html5.spec.js @@ -2,18 +2,18 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'doctype-html5' +const ruleId = 'doctype-html5' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Doctype not html5 should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(1) expect(messages[0].type).to.be('warning') diff --git a/test/rules/empty-tag-not-self-closed.spec.js b/test/rules/empty-tag-not-self-closed.spec.js index 9c2b69e00..418933826 100644 --- a/test/rules/empty-tag-not-self-closed.spec.js +++ b/test/rules/empty-tag-not-self-closed.spec.js @@ -2,12 +2,12 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'empty-tag-not-self-closed' +const ruleId = 'empty-tag-not-self-closed' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('The empty tag no closed should not result in an error', () => { const code = '
' const messages = HTMLHint.verify(code, ruleOptions) @@ -18,11 +18,11 @@ describe(`Rules: ${ruldId}`, () => { const code = '
' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(1) expect(messages[0].type).to.be('error') - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(7) expect(messages[1].type).to.be('error') diff --git a/test/rules/head-require.spec.js b/test/rules/head-require.spec.js index eddd646c4..10fe84d61 100644 --- a/test/rules/head-require.spec.js +++ b/test/rules/head-require.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'head-script-disabled' +const ruleId = 'head-script-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('External script in head should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('warning') @@ -22,7 +22,7 @@ describe(`Rules: ${ruldId}`, () => { let code = '' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) code = '' diff --git a/test/rules/head-script-disabled.spec.js b/test/rules/head-script-disabled.spec.js index eddd646c4..10fe84d61 100644 --- a/test/rules/head-script-disabled.spec.js +++ b/test/rules/head-script-disabled.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'head-script-disabled' +const ruleId = 'head-script-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('External script in head should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('warning') @@ -22,7 +22,7 @@ describe(`Rules: ${ruldId}`, () => { let code = '' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) code = '' diff --git a/test/rules/href-abs-or-rel.spec.js b/test/rules/href-abs-or-rel.spec.js index e8c408abb..d3829acb5 100644 --- a/test/rules/href-abs-or-rel.spec.js +++ b/test/rules/href-abs-or-rel.spec.js @@ -2,20 +2,20 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'href-abs-or-rel' +const ruleId = 'href-abs-or-rel' const ruleOptions = {} -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Href value is not absolute with abs mode should result in an error', () => { const code = '
aaabbbcccddd' - ruleOptions[ruldId] = 'abs' + ruleOptions[ruleId] = 'abs' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(27) }) @@ -23,7 +23,7 @@ describe(`Rules: ${ruldId}`, () => { it('Href value is absolute with abs mode should not result in an error', () => { const code = 'aaabbbcccddd' - ruleOptions[ruldId] = 'abs' + ruleOptions[ruleId] = 'abs' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) @@ -31,13 +31,13 @@ describe(`Rules: ${ruldId}`, () => { it('Href value is not relative with rel mode should result in an error', () => { const code = 'aaabbbcccddd' - ruleOptions[ruldId] = 'rel' + ruleOptions[ruleId] = 'rel' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(3) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(44) }) @@ -45,7 +45,7 @@ describe(`Rules: ${ruldId}`, () => { it('Href value is relative with rel mode should not result in an error', () => { const code = 'aaabbbcccddd' - ruleOptions[ruldId] = 'rel' + ruleOptions[ruleId] = 'rel' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) diff --git a/test/rules/html-lang-require.spec.js b/test/rules/html-lang-require.spec.js index 3123d0aab..1b3363a85 100644 --- a/test/rules/html-lang-require.spec.js +++ b/test/rules/html-lang-require.spec.js @@ -2,12 +2,12 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'html-lang-require' +const ruleId = 'html-lang-require' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('All the rest(non HTML) tags should not result in an error', () => { const code = '

' const messages = HTMLHint.verify(code, ruleOptions) @@ -28,12 +28,12 @@ describe(`Rules: ${ruldId}`, () => { const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) }) - it('HTML tag have an non emtpy and valid(en-EN) lang attribute should not result in an error', () => { + it('HTML tag have an non empty and valid(en-EN) lang attribute should not result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) }) - it('HTML tag have an non emtpy and valid(en) lang attribute should not result in an error', () => { + it('HTML tag have an non empty and valid(en) lang attribute should not result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(0) diff --git a/test/rules/id-class-ad-disabled.spec.js b/test/rules/id-class-ad-disabled.spec.js index 13dc68155..27068765b 100644 --- a/test/rules/id-class-ad-disabled.spec.js +++ b/test/rules/id-class-ad-disabled.spec.js @@ -2,60 +2,60 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'id-class-ad-disabled' +const ruleId = 'id-class-ad-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Id use ad keyword should result in an error', () => { let code = '' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) expect(messages[0].type).to.be('warning') - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) }) @@ -64,49 +64,49 @@ describe(`Rules: ${ruldId}`, () => { let code = '
test
' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) code = '
test
' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(5) }) diff --git a/test/rules/id-class-value.spec.js b/test/rules/id-class-value.spec.js index 44ed5abbd..edb0414ae 100644 --- a/test/rules/id-class-value.spec.js +++ b/test/rules/id-class-value.spec.js @@ -2,21 +2,21 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'id-class-value' +const ruleId = 'id-class-value' const ruleOptionsUnderline = {} const ruleOptionsDash = {} const ruleOptionsHump = {} const ruleOptionsReg = {} -ruleOptionsUnderline[ruldId] = 'underline' -ruleOptionsDash[ruldId] = 'dash' -ruleOptionsHump[ruldId] = 'hump' -ruleOptionsReg[ruldId] = { +ruleOptionsUnderline[ruleId] = 'underline' +ruleOptionsDash[ruleId] = 'dash' +ruleOptionsHump[ruleId] = 'hump' +ruleOptionsReg[ruleId] = { regId: /^_[a-z\d]+(-[a-z\d]+)*$/, message: 'Id and class value must meet regexp', } -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Id and class value be not lower case and split by underline should result in an error', () => { const code = '
' const messages = HTMLHint.verify(code, ruleOptionsUnderline) diff --git a/test/rules/id-unique.spec.js b/test/rules/id-unique.spec.js index 2a4309c82..51e03814d 100644 --- a/test/rules/id-unique.spec.js +++ b/test/rules/id-unique.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'id-unique' +const ruleId = 'id-unique' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Id redefine should result in an error', () => { const code = '
' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(26) expect(messages[0].type).to.be('error') diff --git a/test/rules/inline-script-disabled.spec.js b/test/rules/inline-script-disabled.spec.js index 8e62699cf..c702e1957 100644 --- a/test/rules/inline-script-disabled.spec.js +++ b/test/rules/inline-script-disabled.spec.js @@ -2,18 +2,18 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'inline-script-disabled' +const ruleId = 'inline-script-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Inline on event should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(26) expect(messages[0].type).to.be('warning') @@ -31,7 +31,7 @@ describe(`Rules: ${ruldId}`, () => { '' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(11) expect(messages[0].type).to.be('warning') @@ -41,7 +41,7 @@ describe(`Rules: ${ruldId}`, () => { 'test1test2' messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(2) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(9) expect(messages[0].type).to.be('warning') diff --git a/test/rules/inline-style-disabled.spec.js b/test/rules/inline-style-disabled.spec.js index 95a211686..deb775e69 100644 --- a/test/rules/inline-style-disabled.spec.js +++ b/test/rules/inline-style-disabled.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'inline-style-disabled' +const ruleId = 'inline-style-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Inline style should result in an error', () => { let code = '
' let messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(11) expect(messages[0].type).to.be('warning') diff --git a/test/rules/script-disabled.spec.js b/test/rules/script-disabled.spec.js index 55233a40f..2705ee013 100755 --- a/test/rules/script-disabled.spec.js +++ b/test/rules/script-disabled.spec.js @@ -2,17 +2,17 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'script-disabled' +const ruleId = 'script-disabled' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Add external script file should result in an error', () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('error') @@ -21,7 +21,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) expect(messages[0].type).to.be('error') diff --git a/test/rules/space-tab-mixed-disabled.spec.js b/test/rules/space-tab-mixed-disabled.spec.js index 436744162..7ce87b828 100644 --- a/test/rules/space-tab-mixed-disabled.spec.js +++ b/test/rules/space-tab-mixed-disabled.spec.js @@ -2,40 +2,40 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'space-tab-mixed-disabled' +const ruleId = 'space-tab-mixed-disabled' const ruleMixOptions = {} const ruleSpaceOptions = {} const ruleSpace4Options = {} const ruleSpace5Options = {} const ruleTabOptions = {} -ruleMixOptions[ruldId] = true -ruleSpaceOptions[ruldId] = 'space' -ruleSpace4Options[ruldId] = 'space4' -ruleSpace5Options[ruldId] = 'space5' -ruleTabOptions[ruldId] = 'tab' +ruleMixOptions[ruleId] = true +ruleSpaceOptions[ruleId] = 'space' +ruleSpace4Options[ruleId] = 'space4' +ruleSpace5Options[ruleId] = 'space5' +ruleTabOptions[ruleId] = 'tab' -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Spaces and tabs mixed in front of line should result in an error', () => { // space before tab let code = ' bbb' let messages = HTMLHint.verify(code, ruleMixOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(1) // tab before space code = ' bbb' messages = HTMLHint.verify(code, ruleMixOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(1) // multi line code = '
\r\n bbb' messages = HTMLHint.verify(code, ruleMixOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(2) expect(messages[0].col).to.be(1) }) diff --git a/test/rules/spec-char-escape.spec.js b/test/rules/spec-char-escape.spec.js index 147d8a9bb..96ca24e00 100644 --- a/test/rules/spec-char-escape.spec.js +++ b/test/rules/spec-char-escape.spec.js @@ -2,23 +2,23 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'spec-char-escape' +const ruleId = 'spec-char-escape' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { +describe(`Rules: ${ruleId}`, () => { it('Special characters: <> should result in an error', () => { const code = '

aaa>bbb< ccc

ddd\r\neee<' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(3) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(7) - expect(messages[1].rule.id).to.be(ruldId) + expect(messages[1].rule.id).to.be(ruleId) expect(messages[1].line).to.be(1) expect(messages[1].col).to.be(11) - expect(messages[2].rule.id).to.be(ruldId) + expect(messages[2].rule.id).to.be(ruleId) expect(messages[2].line).to.be(2) expect(messages[2].col).to.be(4) }) @@ -27,7 +27,7 @@ describe(`Rules: ${ruldId}`, () => { const code = '

Steinway & Sons

' const messages = HTMLHint.verify(code, ruleOptions) expect(messages.length).to.be(1) - expect(messages[0].rule.id).to.be(ruldId) + expect(messages[0].rule.id).to.be(ruleId) expect(messages[0].line).to.be(1) expect(messages[0].col).to.be(12) }) diff --git a/test/rules/src-not-empty.spec.js b/test/rules/src-not-empty.spec.js index 8e6a6a740..1fee585bc 100644 --- a/test/rules/src-not-empty.spec.js +++ b/test/rules/src-not-empty.spec.js @@ -2,13 +2,13 @@ const expect = require('expect.js') const HTMLHint = require('../../dist/htmlhint.js').HTMLHint -const ruldId = 'src-not-empty' +const ruleId = 'src-not-empty' const ruleOptions = {} -ruleOptions[ruldId] = true +ruleOptions[ruleId] = true -describe(`Rules: ${ruldId}`, () => { - it('Src be emtpy should result in an error', () => { +describe(`Rules: ${ruleId}`, () => { + it('Src be empty should result in an error', () => { const code = '