mirror of
				https://github.com/theoludwig/html-w3c-validator.git
				synced 2025-05-21 23:21:29 +02:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						fbe3830db7
	
				 | 
					
					
						|||
| 
						
						
							
						
						58d392d320
	
				 | 
					
					
						|||
| 
						
						
							
						
						e9a62072cf
	
				 | 
					
					
						|||
| 
						
						
							
						
						cc6a1278a1
	
				 | 
					
					
						|||
| 
						
						
							
						
						e53c80d578
	
				 | 
					
					
						|||
| 
						
						
							
						
						5f63d749e8
	
				 | 
					
					
						|||
| 
						
						
							
						
						67b70feb15
	
				 | 
					
					
						
@@ -1 +0,0 @@
 | 
				
			|||||||
{ "extends": ["@commitlint/config-conventional"] }
 | 
					 | 
				
			||||||
@@ -1,16 +1,18 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "extends": ["conventions", "prettier"],
 | 
					  "root": true,
 | 
				
			||||||
  "plugins": ["prettier", "import", "unicorn"],
 | 
					  "extends": ["conventions"],
 | 
				
			||||||
  "parserOptions": {
 | 
					  "plugins": ["promise", "unicorn"],
 | 
				
			||||||
    "project": "./tsconfig.json"
 | 
					  "overrides": [
 | 
				
			||||||
  },
 | 
					    {
 | 
				
			||||||
  "env": {
 | 
					      "files": ["*.ts", "*.tsx"],
 | 
				
			||||||
    "node": true
 | 
					      "parser": "@typescript-eslint/parser",
 | 
				
			||||||
  },
 | 
					      "plugins": ["@typescript-eslint"],
 | 
				
			||||||
  "rules": {
 | 
					      "parserOptions": {
 | 
				
			||||||
    "prettier/prettier": "error",
 | 
					        "projectService": true
 | 
				
			||||||
    "import/extensions": ["error", "always"],
 | 
					      },
 | 
				
			||||||
    "unicorn/prevent-abbreviations": "error",
 | 
					      "rules": {
 | 
				
			||||||
    "unicorn/prefer-node-protocol": "error"
 | 
					        "@typescript-eslint/no-unnecessary-condition": "off"
 | 
				
			||||||
  }
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/ISSUE_TEMPLATE/BUG.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/ISSUE_TEMPLATE/BUG.md
									
									
									
									
										vendored
									
									
								
							@@ -6,8 +6,8 @@ labels: "bug"
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!--
 | 
					<!--
 | 
				
			||||||
  Please provide a clear and concise description of what the bug is. Include
 | 
					Please provide a clear and concise description of what the bug is.
 | 
				
			||||||
  screenshots if needed. Please make sure your issue has not already been fixed.
 | 
					Include screenshots if needed. Please make sure your issue has not already been fixed.
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Steps To Reproduce
 | 
					## Steps To Reproduce
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@@ -4,16 +4,16 @@ on:
 | 
				
			|||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [develop]
 | 
					    branches: [develop]
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
    branches: [master, develop]
 | 
					    branches: [main, develop]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  build:
 | 
					  build:
 | 
				
			||||||
    runs-on: "ubuntu-latest"
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v4.1.1"
 | 
					      - uses: "actions/checkout@v4.2.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v4.0.1"
 | 
					        uses: "actions/setup-node@v4.1.0"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
@@ -22,6 +22,6 @@ jobs:
 | 
				
			|||||||
        run: "npm clean-install"
 | 
					        run: "npm clean-install"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Build"
 | 
					      - name: "Build"
 | 
				
			||||||
        run: "npm run build"
 | 
					        run: "node --run build"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - run: "npm run build:typescript"
 | 
					      - run: "node --run build:typescript"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							@@ -4,16 +4,16 @@ on:
 | 
				
			|||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [develop]
 | 
					    branches: [develop]
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
    branches: [master, develop]
 | 
					    branches: [main, develop]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  lint:
 | 
					  lint:
 | 
				
			||||||
    runs-on: "ubuntu-latest"
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v4.1.1"
 | 
					      - uses: "actions/checkout@v4.2.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v4.0.1"
 | 
					        uses: "actions/setup-node@v4.1.0"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
@@ -21,7 +21,6 @@ jobs:
 | 
				
			|||||||
      - name: "Install dependencies"
 | 
					      - name: "Install dependencies"
 | 
				
			||||||
        run: "npm clean-install"
 | 
					        run: "npm clean-install"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - run: 'npm run lint:commit -- --to "${{ github.sha }}"'
 | 
					      - run: "node --run lint:editorconfig"
 | 
				
			||||||
      - run: "npm run lint:editorconfig"
 | 
					      - run: "node --run lint:eslint"
 | 
				
			||||||
      - run: "npm run lint:eslint"
 | 
					      - run: "node --run lint:prettier"
 | 
				
			||||||
      - run: "npm run lint:prettier"
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										12
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@@ -2,7 +2,7 @@ name: "Release"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [master]
 | 
					    branches: [main, beta]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  release:
 | 
					  release:
 | 
				
			||||||
@@ -13,13 +13,13 @@ jobs:
 | 
				
			|||||||
      pull-requests: "write"
 | 
					      pull-requests: "write"
 | 
				
			||||||
      id-token: "write"
 | 
					      id-token: "write"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v4.1.1"
 | 
					      - uses: "actions/checkout@v4.2.2"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          fetch-depth: 0
 | 
					          fetch-depth: 0
 | 
				
			||||||
          persist-credentials: false
 | 
					          persist-credentials: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v4.0.1"
 | 
					        uses: "actions/setup-node@v4.1.0"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
@@ -28,15 +28,15 @@ jobs:
 | 
				
			|||||||
        run: "npm clean-install"
 | 
					        run: "npm clean-install"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Build"
 | 
					      - name: "Build"
 | 
				
			||||||
        run: "npm run build"
 | 
					        run: "node --run build"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - run: "npm run build:typescript"
 | 
					      - run: "node --run build:typescript"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Verify the integrity of provenance attestations and registry signatures for installed dependencies"
 | 
					      - name: "Verify the integrity of provenance attestations and registry signatures for installed dependencies"
 | 
				
			||||||
        run: "npm audit signatures"
 | 
					        run: "npm audit signatures"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Release"
 | 
					      - name: "Release"
 | 
				
			||||||
        run: "npm run release"
 | 
					        run: "node --run release"
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
 | 
					          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							@@ -4,16 +4,16 @@ on:
 | 
				
			|||||||
  push:
 | 
					  push:
 | 
				
			||||||
    branches: [develop]
 | 
					    branches: [develop]
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
    branches: [master, develop]
 | 
					    branches: [main, develop]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  test:
 | 
					  test:
 | 
				
			||||||
    runs-on: "ubuntu-latest"
 | 
					    runs-on: "ubuntu-latest"
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: "actions/checkout@v4.1.1"
 | 
					      - uses: "actions/checkout@v4.2.2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Setup Node.js"
 | 
					      - name: "Setup Node.js"
 | 
				
			||||||
        uses: "actions/setup-node@v4.0.1"
 | 
					        uses: "actions/setup-node@v4.1.0"
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          node-version: "lts/*"
 | 
					          node-version: "lts/*"
 | 
				
			||||||
          cache: "npm"
 | 
					          cache: "npm"
 | 
				
			||||||
@@ -22,7 +22,7 @@ jobs:
 | 
				
			|||||||
        run: "npm clean-install"
 | 
					        run: "npm clean-install"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Build"
 | 
					      - name: "Build"
 | 
				
			||||||
        run: "npm run build"
 | 
					        run: "node --run build"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: "Test"
 | 
					      - name: "Test"
 | 
				
			||||||
        run: "npm run test"
 | 
					        run: "node --run test"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
npm run lint:commit -- --edit
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env sh
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
npm run lint:staged
 | 
					 | 
				
			||||||
npm run build:typescript
 | 
					 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "**/*": ["editorconfig-checker", "prettier --write --ignore-unknown"],
 | 
					 | 
				
			||||||
  "**/*.{js,jsx,ts,tsx}": [
 | 
					 | 
				
			||||||
    "eslint --fix --max-warnings 0 --report-unused-disable-directives"
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										4
									
								
								.npmrc
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								.npmrc
									
									
									
									
									
								
							@@ -1,2 +1,2 @@
 | 
				
			|||||||
save-exact=true
 | 
					save-exact = true
 | 
				
			||||||
provenance=true
 | 
					provenance = true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "branches": ["master"],
 | 
					  "branches": ["main", { "name": "beta", "prerelease": true }],
 | 
				
			||||||
  "plugins": [
 | 
					  "plugins": [
 | 
				
			||||||
    [
 | 
					    "@semantic-release/commit-analyzer",
 | 
				
			||||||
      "@semantic-release/commit-analyzer",
 | 
					    "@semantic-release/release-notes-generator",
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "preset": "conventionalcommits"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    [
 | 
					 | 
				
			||||||
      "@semantic-release/release-notes-generator",
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        "preset": "conventionalcommits"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
    "@semantic-release/npm",
 | 
					    "@semantic-release/npm",
 | 
				
			||||||
    "@semantic-release/github"
 | 
					    "@semantic-release/github"
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
								
							@@ -1,8 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "recommendations": [
 | 
					 | 
				
			||||||
    "editorconfig.editorconfig",
 | 
					 | 
				
			||||||
    "esbenp.prettier-vscode",
 | 
					 | 
				
			||||||
    "dbaeumer.vscode-eslint",
 | 
					 | 
				
			||||||
    "davidanson.vscode-markdownlint"
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										14
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -1,14 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "typescript.tsdk": "node_modules/typescript/lib",
 | 
					 | 
				
			||||||
  "typescript.preferences.importModuleSpecifierEnding": "js",
 | 
					 | 
				
			||||||
  "editor.defaultFormatter": "esbenp.prettier-vscode",
 | 
					 | 
				
			||||||
  "prettier.configPath": ".prettierrc.json",
 | 
					 | 
				
			||||||
  "editor.formatOnSave": true,
 | 
					 | 
				
			||||||
  "editor.codeActionsOnSave": {
 | 
					 | 
				
			||||||
    "source.fixAll": "explicit"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "eslint.options": {
 | 
					 | 
				
			||||||
    "ignorePath": ".gitignore"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  "prettier.ignorePath": ".gitignore"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -66,7 +66,7 @@ npm install --save-dev html-w3c-validator start-server-and-test
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```jsonc
 | 
					```jsonc
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/main/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "./node_modules/html-w3c-validator/schema/schema.json",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // URLs to validate.
 | 
					  // URLs to validate.
 | 
				
			||||||
  "urls": ["http://127.0.0.1:3000/", "http://127.0.0.1:3000/about"],
 | 
					  "urls": ["http://127.0.0.1:3000/", "http://127.0.0.1:3000/about"],
 | 
				
			||||||
@@ -82,7 +82,7 @@ npm install --save-dev html-w3c-validator start-server-and-test
 | 
				
			|||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
npm run test:html-w3c-validator
 | 
					node --run test:html-w3c-validator
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Example of output (in case of success):
 | 
					Example of output (in case of success):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "./node_modules/html-w3c-validator/schema/schema.json",
 | 
				
			||||||
  "urls": ["http://127.0.0.1:3000/", "http://127.0.0.1:3000/about"],
 | 
					  "urls": ["http://127.0.0.1:3000/", "http://127.0.0.1:3000/about"],
 | 
				
			||||||
  "files": ["./build/index.html", "./build/about.html"]
 | 
					  "files": ["./build/index.html", "./build/about.html"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										397
									
								
								example/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										397
									
								
								example/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -6,8 +6,8 @@
 | 
				
			|||||||
    "test:html-w3c-validator": "start-server-and-test \"start\" \"http://127.0.0.1:3000\" \"html-w3c-validator\""
 | 
					    "test:html-w3c-validator": "start-server-and-test \"start\" \"http://127.0.0.1:3000\" \"html-w3c-validator\""
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "serve": "14.2.1",
 | 
					    "serve": "14.2.4",
 | 
				
			||||||
    "start-server-and-test": "2.0.3",
 | 
					    "start-server-and-test": "2.0.8",
 | 
				
			||||||
    "html-w3c-validator": "file:.."
 | 
					    "html-w3c-validator": "file:.."
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8540
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8540
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										55
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								package.json
									
									
									
									
									
								
							@@ -25,6 +25,7 @@
 | 
				
			|||||||
  "bin": "build/index.js",
 | 
					  "bin": "build/index.js",
 | 
				
			||||||
  "files": [
 | 
					  "files": [
 | 
				
			||||||
    "build",
 | 
					    "build",
 | 
				
			||||||
 | 
					    "./schema/schema.json",
 | 
				
			||||||
    "!**/*.test.js",
 | 
					    "!**/*.test.js",
 | 
				
			||||||
    "!**/*.map"
 | 
					    "!**/*.map"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
@@ -33,56 +34,44 @@
 | 
				
			|||||||
    "provenance": true
 | 
					    "provenance": true
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "engines": {
 | 
					  "engines": {
 | 
				
			||||||
    "node": ">=16.0.0",
 | 
					    "node": ">=16.0.0"
 | 
				
			||||||
    "npm": ">=9.0.0"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "build": "swc ./src --out-dir ./build --strip-leading-paths --delete-dir-on-start",
 | 
					    "build": "swc ./src --out-dir ./build --strip-leading-paths --delete-dir-on-start",
 | 
				
			||||||
    "build:typescript": "tsc",
 | 
					    "build:typescript": "tsc",
 | 
				
			||||||
    "start": "node --enable-source-maps build/index.js",
 | 
					    "start": "node --enable-source-maps build/index.js",
 | 
				
			||||||
    "lint:commit": "commitlint",
 | 
					 | 
				
			||||||
    "lint:editorconfig": "editorconfig-checker",
 | 
					    "lint:editorconfig": "editorconfig-checker",
 | 
				
			||||||
    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --ignore-path .gitignore",
 | 
					    "lint:eslint": "eslint . --max-warnings 0 --report-unused-disable-directives --ignore-path .gitignore",
 | 
				
			||||||
    "lint:prettier": "prettier . --check",
 | 
					    "lint:prettier": "prettier . --check",
 | 
				
			||||||
    "lint:staged": "lint-staged",
 | 
					 | 
				
			||||||
    "test": "node --enable-source-maps --test",
 | 
					    "test": "node --enable-source-maps --test",
 | 
				
			||||||
    "release": "semantic-release",
 | 
					    "release": "semantic-release"
 | 
				
			||||||
    "postinstall": "husky"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "chalk": "5.3.0",
 | 
					    "chalk": "5.3.0",
 | 
				
			||||||
    "clipanion": "3.2.1",
 | 
					    "clipanion": "3.2.1",
 | 
				
			||||||
    "log-symbols": "6.0.0",
 | 
					    "log-symbols": "6.0.0",
 | 
				
			||||||
    "ora": "8.0.1",
 | 
					    "ora": "8.1.1",
 | 
				
			||||||
    "read-pkg": "9.0.1",
 | 
					    "read-pkg": "9.0.1",
 | 
				
			||||||
    "table": "6.8.1"
 | 
					    "table": "6.8.2"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@commitlint/cli": "18.6.0",
 | 
					    "@swc/cli": "0.5.0",
 | 
				
			||||||
    "@commitlint/config-conventional": "18.6.0",
 | 
					    "@swc/core": "1.9.1",
 | 
				
			||||||
    "@swc/cli": "0.3.6",
 | 
					    "@tsconfig/strictest": "2.0.5",
 | 
				
			||||||
    "@swc/core": "1.3.107",
 | 
					    "@types/node": "22.9.0",
 | 
				
			||||||
    "@tsconfig/strictest": "2.0.2",
 | 
					 | 
				
			||||||
    "@types/node": "20.11.16",
 | 
					 | 
				
			||||||
    "@types/sinon": "17.0.3",
 | 
					    "@types/sinon": "17.0.3",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "6.20.0",
 | 
					    "@typescript-eslint/eslint-plugin": "8.13.0",
 | 
				
			||||||
    "@typescript-eslint/parser": "6.20.0",
 | 
					    "@typescript-eslint/parser": "8.13.0",
 | 
				
			||||||
    "editorconfig-checker": "5.1.2",
 | 
					    "editorconfig-checker": "6.0.0",
 | 
				
			||||||
    "eslint": "8.56.0",
 | 
					    "eslint": "8.57.1",
 | 
				
			||||||
    "eslint-config-conventions": "13.1.0",
 | 
					    "eslint-config-conventions": "16.0.1",
 | 
				
			||||||
    "eslint-config-prettier": "9.1.0",
 | 
					    "eslint-plugin-promise": "7.1.0",
 | 
				
			||||||
    "eslint-plugin-import": "2.29.1",
 | 
					    "eslint-plugin-unicorn": "55.0.0",
 | 
				
			||||||
    "eslint-plugin-prettier": "5.1.3",
 | 
					    "execa": "9.5.1",
 | 
				
			||||||
    "eslint-plugin-promise": "6.1.1",
 | 
					    "prettier": "3.3.3",
 | 
				
			||||||
    "eslint-plugin-unicorn": "50.0.1",
 | 
					    "semantic-release": "23.1.1",
 | 
				
			||||||
    "execa": "8.0.1",
 | 
					    "serve": "14.2.4",
 | 
				
			||||||
    "husky": "9.0.10",
 | 
					    "sinon": "19.0.2",
 | 
				
			||||||
    "lint-staged": "15.2.1",
 | 
					    "typescript": "5.6.3"
 | 
				
			||||||
    "pinst": "3.0.0",
 | 
					 | 
				
			||||||
    "prettier": "3.2.4",
 | 
					 | 
				
			||||||
    "semantic-release": "23.0.0",
 | 
					 | 
				
			||||||
    "serve": "14.2.1",
 | 
					 | 
				
			||||||
    "sinon": "17.0.1",
 | 
					 | 
				
			||||||
    "typescript": "5.3.3"
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "http://json-schema.org/draft-07/schema#",
 | 
					  "$schema": "http://json-schema.org/draft-07/schema",
 | 
				
			||||||
  "$id": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/main/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$id": "html-w3c-validator://config/schema.json",
 | 
				
			||||||
  "title": "html-w3c-validator configuration schema",
 | 
					  "title": "html-w3c-validator configuration schema",
 | 
				
			||||||
  "type": "object",
 | 
					  "type": "object",
 | 
				
			||||||
  "properties": {
 | 
					  "properties": {
 | 
				
			||||||
    "$schema": {
 | 
					    "$schema": {
 | 
				
			||||||
      "description": "JSON Schema URI",
 | 
					      "description": "JSON Schema",
 | 
				
			||||||
      "type": "string",
 | 
					      "type": "string"
 | 
				
			||||||
      "format": "uri",
 | 
					 | 
				
			||||||
      "default": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/main/schema/html-w3c-validatorrc-schema.json"
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "urls": {
 | 
					    "urls": {
 | 
				
			||||||
      "description": "URLs to validate.",
 | 
					      "description": "URLs to validate.",
 | 
				
			||||||
@@ -66,7 +66,7 @@ export class HTMLValidatorCommand extends Command {
 | 
				
			|||||||
        configData = await fs.promises.readFile(configPath, {
 | 
					        configData = await fs.promises.readFile(configPath, {
 | 
				
			||||||
          encoding: "utf-8",
 | 
					          encoding: "utf-8",
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      } catch (error) {
 | 
					      } catch {
 | 
				
			||||||
        throw new Error(
 | 
					        throw new Error(
 | 
				
			||||||
          `No config file found at ${configPath}. Please create "${CONFIG_FILE_NAME}".`,
 | 
					          `No config file found at ${configPath}. Please create "${CONFIG_FILE_NAME}".`,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
@@ -143,7 +143,7 @@ export class HTMLValidatorCommand extends Command {
 | 
				
			|||||||
                html = await fs.promises.readFile(htmlPath, {
 | 
					                html = await fs.promises.readFile(htmlPath, {
 | 
				
			||||||
                  encoding: "utf-8",
 | 
					                  encoding: "utf-8",
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
              } catch (error) {
 | 
					              } catch {
 | 
				
			||||||
                throw new Error(
 | 
					                throw new Error(
 | 
				
			||||||
                  `No file found at "${htmlPath}". Please check the path.`,
 | 
					                  `No file found at "${htmlPath}". Please check the path.`,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
@@ -184,10 +184,17 @@ export class HTMLValidatorCommand extends Command {
 | 
				
			|||||||
                  row.push(chalk.red(message.type))
 | 
					                  row.push(chalk.red(message.type))
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                row.push(message.message)
 | 
					                row.push(message.message)
 | 
				
			||||||
                if (message.extract != null) {
 | 
					                if (
 | 
				
			||||||
 | 
					                  message.extract != null &&
 | 
				
			||||||
 | 
					                  message.lastLine != null &&
 | 
				
			||||||
 | 
					                  message.firstColumn != null &&
 | 
				
			||||||
 | 
					                  message.lastColumn != null
 | 
				
			||||||
 | 
					                ) {
 | 
				
			||||||
                  row.push(
 | 
					                  row.push(
 | 
				
			||||||
                    `line: ${message.lastLine}, column: ${message.firstColumn}-${message.lastColumn}`,
 | 
					                    `line: ${message.lastLine}, column: ${message.firstColumn}-${message.lastColumn}`,
 | 
				
			||||||
                  )
 | 
					                  )
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                  row.push("")
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                messagesTable.push(row)
 | 
					                messagesTable.push(row)
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,8 +40,8 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
        { recursive: true, force: true },
 | 
					        { recursive: true, force: true },
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
      await execa("npm", ["install"])
 | 
					      await execa("npm", ["install"])
 | 
				
			||||||
      const { exitCode } = await execa("npm", [
 | 
					      const { exitCode } = await execa("node", [
 | 
				
			||||||
        "run",
 | 
					        "--run",
 | 
				
			||||||
        "test:html-w3c-validator",
 | 
					        "test:html-w3c-validator",
 | 
				
			||||||
      ])
 | 
					      ])
 | 
				
			||||||
      assert.strictEqual(exitCode, 0)
 | 
					      assert.strictEqual(exitCode, 0)
 | 
				
			||||||
@@ -52,8 +52,8 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
    "succeeds and validate the html correctly (example without working directory)",
 | 
					    "succeeds and validate the html correctly (example without working directory)",
 | 
				
			||||||
    async () => {
 | 
					    async () => {
 | 
				
			||||||
      const logs: string[] = []
 | 
					      const logs: string[] = []
 | 
				
			||||||
      sinon.stub(console, "log").value((log: string) => {
 | 
					      sinon.stub(console, "log").value((...log: string[]) => {
 | 
				
			||||||
        logs.push(log)
 | 
					        logs.push(...log)
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      const consoleLogSpy = sinon.spy(console, "log")
 | 
					      const consoleLogSpy = sinon.spy(console, "log")
 | 
				
			||||||
      const stream = new PassThrough()
 | 
					      const stream = new PassThrough()
 | 
				
			||||||
@@ -63,7 +63,7 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
        stderr: stream,
 | 
					        stderr: stream,
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      stream.end()
 | 
					      stream.end()
 | 
				
			||||||
      assert.strictEqual(exitCode, 0)
 | 
					      assert.strictEqual(exitCode, 0, logs.join("\n"))
 | 
				
			||||||
      assert.strictEqual(
 | 
					      assert.strictEqual(
 | 
				
			||||||
        consoleLogSpy.calledWith(
 | 
					        consoleLogSpy.calledWith(
 | 
				
			||||||
          logSymbols.success,
 | 
					          logSymbols.success,
 | 
				
			||||||
@@ -88,8 +88,8 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
    async () => {
 | 
					    async () => {
 | 
				
			||||||
      const workingDirectory = path.join(FIXTURES_PATH, "success")
 | 
					      const workingDirectory = path.join(FIXTURES_PATH, "success")
 | 
				
			||||||
      const logs: string[] = []
 | 
					      const logs: string[] = []
 | 
				
			||||||
      sinon.stub(console, "log").value((log: string) => {
 | 
					      sinon.stub(console, "log").value((...log: string[]) => {
 | 
				
			||||||
        logs.push(log)
 | 
					        logs.push(...log)
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      const consoleLogSpy = sinon.spy(console, "log")
 | 
					      const consoleLogSpy = sinon.spy(console, "log")
 | 
				
			||||||
      const stream = new PassThrough()
 | 
					      const stream = new PassThrough()
 | 
				
			||||||
@@ -102,7 +102,7 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
      stream.end()
 | 
					      stream.end()
 | 
				
			||||||
      assert.strictEqual(exitCode, 0)
 | 
					      assert.strictEqual(exitCode, 0, logs.join("\n"))
 | 
				
			||||||
      assert.strictEqual(
 | 
					      assert.strictEqual(
 | 
				
			||||||
        consoleLogSpy.calledWith(logSymbols.success, "./build/index.html"),
 | 
					        consoleLogSpy.calledWith(logSymbols.success, "./build/index.html"),
 | 
				
			||||||
        true,
 | 
					        true,
 | 
				
			||||||
@@ -116,6 +116,53 @@ await test("html-w3c-validator", async (t) => {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  await t.test(
 | 
				
			||||||
 | 
					    "fails by validating the html correctly with 2 errors: one with line/column, the other without (GitHub issue #6)",
 | 
				
			||||||
 | 
					    async () => {
 | 
				
			||||||
 | 
					      const workingDirectory = path.join(FIXTURES_PATH, "issue-6")
 | 
				
			||||||
 | 
					      const errors: string[] = []
 | 
				
			||||||
 | 
					      sinon.stub(console, "error").value((error: string) => {
 | 
				
			||||||
 | 
					        errors.push(error)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      const consoleErrorSpy = sinon.spy(console, "error")
 | 
				
			||||||
 | 
					      const stream = new PassThrough()
 | 
				
			||||||
 | 
					      const exitCode = await cli.run(
 | 
				
			||||||
 | 
					        [`--current-working-directory=${workingDirectory}`],
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          stdin: process.stdin,
 | 
				
			||||||
 | 
					          stdout: stream,
 | 
				
			||||||
 | 
					          stderr: stream,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
 | 
					      stream.end()
 | 
				
			||||||
 | 
					      assert.strictEqual(exitCode, 1)
 | 
				
			||||||
 | 
					      const messagesTable = [
 | 
				
			||||||
 | 
					        [
 | 
				
			||||||
 | 
					          chalk.red("error"),
 | 
				
			||||||
 | 
					          "The character encoding was not declared. Proceeding using “windows-1252”.",
 | 
				
			||||||
 | 
					          "",
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        [
 | 
				
			||||||
 | 
					          chalk.yellow("warning"),
 | 
				
			||||||
 | 
					          "Consider adding a “lang” attribute to the “html” start tag to declare the language of this document.",
 | 
				
			||||||
 | 
					          "line: 2, column: 16-7",
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					      assert.strictEqual(
 | 
				
			||||||
 | 
					        consoleErrorSpy.calledWith(
 | 
				
			||||||
 | 
					          chalk.bold.red("Error:") + " HTML validation (W3C) failed!",
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        true,
 | 
				
			||||||
 | 
					        errors.join("\n"),
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
 | 
					      assert.strictEqual(
 | 
				
			||||||
 | 
					        consoleErrorSpy.calledWith(table(messagesTable)),
 | 
				
			||||||
 | 
					        true,
 | 
				
			||||||
 | 
					        errors.join("\n"),
 | 
				
			||||||
 | 
					      )
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  await t.test("fails with not found config", async () => {
 | 
					  await t.test("fails with not found config", async () => {
 | 
				
			||||||
    const workingDirectory = path.join(FIXTURES_PATH, "error-config-not-found")
 | 
					    const workingDirectory = path.join(FIXTURES_PATH, "error-config-not-found")
 | 
				
			||||||
    const configPath = path.join(workingDirectory, CONFIG_FILE_NAME)
 | 
					    const configPath = path.join(workingDirectory, CONFIG_FILE_NAME)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "urls": [],
 | 
					  "urls": [],
 | 
				
			||||||
  "files": []
 | 
					  "files": []
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": "Invalid"
 | 
					  "files": "Invalid"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": ["./index.html"],
 | 
					  "files": ["./index.html"],
 | 
				
			||||||
  "severities": []
 | 
					  "severities": []
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": ["./index.html"],
 | 
					  "files": ["./index.html"],
 | 
				
			||||||
  "severities": ["errors-invalid"]
 | 
					  "severities": ["errors-invalid"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "urls": "Invalid"
 | 
					  "urls": "Invalid"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": ["./index.html"]
 | 
					  "files": ["./index.html"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": ["./build/index.html", "./build/about.html"]
 | 
					  "files": ["./build/index.html", "./build/about.html"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								src/__test__/fixtures/issue-6/.html-w3c-validatorrc.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/__test__/fixtures/issue-6/.html-w3c-validatorrc.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
 | 
					  "files": ["./build/index.html"],
 | 
				
			||||||
 | 
					  "severities": ["info", "warning", "error"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										12
									
								
								src/__test__/fixtures/issue-6/build/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/__test__/fixtures/issue-6/build/index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<title>Have We Stopped Killing Yet?</title>
 | 
				
			||||||
 | 
					<link rel=icon href=favicon.ico>
 | 
				
			||||||
 | 
					<link rel=stylesheet href=setup/default.css>
 | 
				
			||||||
 | 
					<meta name=viewport content="initial-scale=1,width=device-width">
 | 
				
			||||||
 | 
					<meta property="og:image" content="https://mirrors.meiert.org/havewestoppedkillingyet.org/media/redrum.png">
 | 
				
			||||||
 | 
					<h1>Have We Stopped Killing Yet?</h1>
 | 
				
			||||||
 | 
					<p><strong>No.</strong>
 | 
				
			||||||
 | 
					<p>This is <a href=https://meiert.com/en/blog/on-taking-life/>unacceptable</a>.
 | 
				
			||||||
 | 
					<p>We don’t need arms and armies and industrial slaughterhouses.
 | 
				
			||||||
 | 
					<p>We need respect for life.
 | 
				
			||||||
 | 
					<p>Everyone can <em>do something</em>. Speaking up is doing something. <a href=https://meiert.com/en/><img src=https://hell.meiert.org/core/png/meiert-logo-80x80-alt.png alt="Jens Oliver Meiert"></a>
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "$schema": "https://raw.githubusercontent.com/theoludwig/html-w3c-validator/develop/schema/html-w3c-validatorrc-schema.json",
 | 
					  "$schema": "../../../../schema/schema.json",
 | 
				
			||||||
  "files": ["./build/index.html", "./build/about.html"]
 | 
					  "files": ["./build/index.html", "./build/about.html"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,9 @@ export interface ValidationMessage {
 | 
				
			|||||||
  subType?: "warning" | "fatal" | "internal" | "io" | "schema"
 | 
					  subType?: "warning" | "fatal" | "internal" | "io" | "schema"
 | 
				
			||||||
  message: string
 | 
					  message: string
 | 
				
			||||||
  extract?: string
 | 
					  extract?: string
 | 
				
			||||||
  lastLine: number
 | 
					  lastLine?: number
 | 
				
			||||||
  firstColumn: number
 | 
					  firstColumn?: number
 | 
				
			||||||
  lastColumn: number
 | 
					  lastColumn?: number
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface ValidateHTMLResult {
 | 
					export interface ValidateHTMLResult {
 | 
				
			||||||
@@ -30,7 +30,7 @@ export const validateHTML = async (
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
  if (!response.ok) {
 | 
					  if (!response.ok) {
 | 
				
			||||||
    throw new Error(`Failed to validate HTML`)
 | 
					    throw new Error(response.statusText)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  const result = (await response.json()) as ValidateHTMLResult
 | 
					  const result = (await response.json()) as ValidateHTMLResult
 | 
				
			||||||
  return result
 | 
					  return result
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,6 +9,6 @@
 | 
				
			|||||||
    "rootDir": "./src",
 | 
					    "rootDir": "./src",
 | 
				
			||||||
    "noEmit": true,
 | 
					    "noEmit": true,
 | 
				
			||||||
    "exactOptionalPropertyTypes": false,
 | 
					    "exactOptionalPropertyTypes": false,
 | 
				
			||||||
    "checkJs": false,
 | 
					    "checkJs": false
 | 
				
			||||||
  },
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user