diff --git a/Gemfile.lock b/Gemfile.lock
index f23cae63..65a190bd 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -8,7 +8,7 @@ GIT
PATH
remote: .
specs:
- herb (0.8.7)
+ herb (0.8.8)
GEM
remote: https://rubygems.org/
diff --git a/docs/docs/bindings/java/reference.md b/docs/docs/bindings/java/reference.md
index b6d28b9a..32ffbe64 100644
--- a/docs/docs/bindings/java/reference.md
+++ b/docs/docs/bindings/java/reference.md
@@ -185,7 +185,7 @@ Returns the full version information including Herb, Prism, and JNI details:
import org.herb.Herb;
System.out.println(Herb.version());
-// Output: "herb java v0.8.7, libprism v1.8.0, libherb v0.8.7 (Java JNI)"
+// Output: "herb java v0.8.8, libprism v1.8.0, libherb v0.8.8 (Java JNI)"
```
:::
@@ -198,7 +198,7 @@ Returns just the Herb library version:
import org.herb.Herb;
System.out.println(Herb.herbVersion());
-// Output: "0.8.7"
+// Output: "0.8.8"
```
:::
diff --git a/docs/docs/bindings/rust/index.md b/docs/docs/bindings/rust/index.md
index 7ad7e933..8b8a6b05 100644
--- a/docs/docs/bindings/rust/index.md
+++ b/docs/docs/bindings/rust/index.md
@@ -18,7 +18,7 @@ Add the dependency to your `Cargo.toml`:
:::code-group
```toml [Cargo.toml]
[dependencies]
-herb = "0.8.7"
+herb = "0.8.8"
```
:::
diff --git a/docs/docs/bindings/rust/reference.md b/docs/docs/bindings/rust/reference.md
index 54ea2bed..5142216d 100644
--- a/docs/docs/bindings/rust/reference.md
+++ b/docs/docs/bindings/rust/reference.md
@@ -229,7 +229,7 @@ Returns the full version information including Herb, Prism, and FFI details:
use herb::version;
println!("{}", version());
-// Output: "herb rust v0.8.7, libprism v1.8.0, libherb v0.8.7 (Rust FFI)"
+// Output: "herb rust v0.8.8, libprism v1.8.0, libherb v0.8.8 (Rust FFI)"
```
:::
@@ -242,7 +242,7 @@ Returns just the Herb library version:
use herb::herb_version;
println!("{}", herb_version());
-// Output: "0.8.7"
+// Output: "0.8.8"
```
:::
diff --git a/docs/package.json b/docs/package.json
index 3c2e9e10..f92f5ffc 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -19,9 +19,9 @@
"fetch:contributors": "mkdir -p .vitepress/data/ && gh api -X get https://api.github.com/repos/marcoroth/herb/contributors > .vitepress/data/contributors.json"
},
"dependencies": {
- "@herb-tools/browser": "0.8.7",
- "@herb-tools/core": "0.8.7",
- "@herb-tools/node": "0.8.7",
+ "@herb-tools/browser": "0.8.8",
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/node": "0.8.8",
"medium-zoom": "^1.1.0"
},
"devDependencies": {
diff --git a/javascript/packages/browser/package.json b/javascript/packages/browser/package.json
index e8e3794e..f9f7d559 100644
--- a/javascript/packages/browser/package.json
+++ b/javascript/packages/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/browser",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "WebAssembly-based HTML-aware ERB parser for browsers.",
"type": "module",
"license": "MIT",
@@ -34,7 +34,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.8.7"
+ "@herb-tools/core": "0.8.8"
},
"files": [
"package.json",
diff --git a/javascript/packages/browser/test/browser.test.ts b/javascript/packages/browser/test/browser.test.ts
index e7e5f638..310baf3d 100644
--- a/javascript/packages/browser/test/browser.test.ts
+++ b/javascript/packages/browser/test/browser.test.ts
@@ -17,7 +17,7 @@ describe("@herb-tools/browser", () => {
test("version() returns a string", async () => {
const version = Herb.version
expect(typeof version).toBe("string")
- expect(version).toBe("@herb-tools/browser@0.8.7, @herb-tools/core@0.8.7, libprism@1.8.0, libherb@0.8.7 (WebAssembly)")
+ expect(version).toBe("@herb-tools/browser@0.8.8, @herb-tools/core@0.8.8, libprism@1.8.0, libherb@0.8.8 (WebAssembly)")
})
test("parse() can process a simple template", async () => {
diff --git a/javascript/packages/config/README.md b/javascript/packages/config/README.md
index ae6ee91e..20b3d509 100644
--- a/javascript/packages/config/README.md
+++ b/javascript/packages/config/README.md
@@ -33,7 +33,7 @@ bun add @herb-tools/config
The configuration is stored in a `.herb.yml` file in the project root:
```yaml [.herb.yml]
-version: 0.8.7
+version: 0.8.8
linter:
enabled: true
diff --git a/javascript/packages/config/package.json b/javascript/packages/config/package.json
index 5e682df0..ba1f09dc 100644
--- a/javascript/packages/config/package.json
+++ b/javascript/packages/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/config",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Shared configuration utilities for Herb tools",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -30,7 +30,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
+ "@herb-tools/core": "0.8.8",
"picomatch": "^4.0.2",
"tinyglobby": "^0.2.15",
"yaml": "^2.8.2"
diff --git a/javascript/packages/config/src/config-template.yml b/javascript/packages/config/src/config-template.yml
index e43b233e..939868d3 100644
--- a/javascript/packages/config/src/config-template.yml
+++ b/javascript/packages/config/src/config-template.yml
@@ -11,7 +11,7 @@
# GitHub Repo: https://github.com/marcoroth/herb
#
-version: 0.8.7
+version: 0.8.8
# files:
# # Additional patterns beyond the defaults (**.html, **.rhtml, **.html.erb, etc.)
diff --git a/javascript/packages/config/test/config.test.ts b/javascript/packages/config/test/config.test.ts
index 927a3c4a..21c5b750 100644
--- a/javascript/packages/config/test/config.test.ts
+++ b/javascript/packages/config/test/config.test.ts
@@ -35,12 +35,12 @@ describe("@herb-tools/config", () => {
})
test("can be instantiated", () => {
- const config = new Config(testDir, { version: "0.8.7" })
+ const config = new Config(testDir, { version: "0.8.8" })
expect(config).toBeInstanceOf(Config)
})
test("sets correct config path", () => {
- const config = new Config(testDir, { version: "0.8.7" })
+ const config = new Config(testDir, { version: "0.8.8" })
expect(config.path).toBe(join(testDir, ".herb.yml"))
})
})
@@ -66,14 +66,14 @@ describe("@herb-tools/config", () => {
test("returns true when config file exists", () => {
const configPath = join(testDir, ".herb.yml")
- writeFileSync(configPath, "version: 0.8.7\n")
+ writeFileSync(configPath, "version: 0.8.8\n")
expect(Config.exists(testDir)).toBe(true)
})
test("handles explicit .herb.yml path", () => {
const configPath = join(testDir, ".herb.yml")
- writeFileSync(configPath, "version: 0.8.7\n")
+ writeFileSync(configPath, "version: 0.8.8\n")
expect(Config.exists(configPath)).toBe(true)
})
@@ -83,7 +83,7 @@ describe("@herb-tools/config", () => {
test("reads raw YAML content from config file", () => {
const configPath = join(testDir, ".herb.yml")
const yamlContent = dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
enabled: true
rules:
@@ -98,7 +98,7 @@ describe("@herb-tools/config", () => {
test("handles explicit .herb.yml path", () => {
const configPath = join(testDir, ".herb.yml")
- const yamlContent = "version: 0.8.7\n"
+ const yamlContent = "version: 0.8.8\n"
writeFileSync(configPath, yamlContent)
const rawYaml = Config.readRawYaml(configPath)
@@ -191,7 +191,7 @@ describe("@herb-tools/config", () => {
describe("Config.applyMutationToYamlString", () => {
test("applies mutation to existing YAML", () => {
const existingYaml = dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
enabled: true
`
@@ -206,7 +206,7 @@ describe("@herb-tools/config", () => {
const updatedYaml = Config.applyMutationToYamlString(existingYaml, mutation)
- expect(updatedYaml).toContain("version: 0.8.7")
+ expect(updatedYaml).toContain("version: 0.8.8")
expect(updatedYaml).toContain("enabled: true")
expect(updatedYaml).toContain("html-tag-name-lowercase:")
expect(updatedYaml).toContain("enabled: false")
@@ -214,7 +214,7 @@ describe("@herb-tools/config", () => {
test("merges rules without overwriting existing rules", () => {
const existingYaml = dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
rules:
html-img-require-alt:
@@ -237,7 +237,7 @@ describe("@herb-tools/config", () => {
test("updates existing rule configuration", () => {
const existingYaml = dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
rules:
html-tag-name-lowercase:
diff --git a/javascript/packages/core/package.json b/javascript/packages/core/package.json
index d4e9cdc8..cd746eaa 100644
--- a/javascript/packages/core/package.json
+++ b/javascript/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/core",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Core module exporting shared interfaces, AST node definitions, and common utilities for Herb",
"license": "MIT",
"homepage": "https://herb-tools.dev",
diff --git a/javascript/packages/dev-tools/package.json b/javascript/packages/dev-tools/package.json
index 2f3fbf86..779ca995 100644
--- a/javascript/packages/dev-tools/package.json
+++ b/javascript/packages/dev-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/dev-tools",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Development tools for visual debugging in HTML+ERB templates",
"type": "module",
"license": "MIT",
@@ -30,7 +30,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.8.7"
+ "@herb-tools/core": "0.8.8"
},
"files": [
"package.json",
diff --git a/javascript/packages/formatter/package.json b/javascript/packages/formatter/package.json
index 2b771299..106f1e1a 100644
--- a/javascript/packages/formatter/package.json
+++ b/javascript/packages/formatter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/formatter",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Auto-formatter for HTML+ERB templates with intelligent indentation, line wrapping, and ERB-aware pretty-printing.",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -35,10 +35,10 @@
}
},
"dependencies": {
- "@herb-tools/config": "0.8.7",
- "@herb-tools/core": "0.8.7",
- "@herb-tools/printer": "0.8.7",
- "@herb-tools/rewriter": "0.8.7",
+ "@herb-tools/config": "0.8.8",
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/printer": "0.8.8",
+ "@herb-tools/rewriter": "0.8.8",
"tinyglobby": "^0.2.15"
},
"files": [
diff --git a/javascript/packages/herb-language-server/package.json b/javascript/packages/herb-language-server/package.json
index 9dfe4f52..5738c889 100644
--- a/javascript/packages/herb-language-server/package.json
+++ b/javascript/packages/herb-language-server/package.json
@@ -1,7 +1,7 @@
{
"name": "herb-language-server",
"description": "Placeholder package to reserve the herb-language-server name on NPM; use @herb-tools/language-server instead.",
- "version": "0.8.7",
+ "version": "0.8.8",
"author": "Marco Roth",
"license": "MIT",
"engines": {
@@ -45,6 +45,6 @@
"dist/"
],
"dependencies": {
- "@herb-tools/language-server": "0.8.7"
+ "@herb-tools/language-server": "0.8.8"
}
}
diff --git a/javascript/packages/highlighter/package.json b/javascript/packages/highlighter/package.json
index e44c35ab..d49bedc7 100644
--- a/javascript/packages/highlighter/package.json
+++ b/javascript/packages/highlighter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/highlighter",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Syntax highlighter and diagnostic renderer for HTML+ERB templates.",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -35,8 +35,8 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
- "@herb-tools/node-wasm": "0.8.7"
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/node-wasm": "0.8.8"
},
"files": [
"package.json",
diff --git a/javascript/packages/language-server/package.json b/javascript/packages/language-server/package.json
index e61e461b..eb6df488 100644
--- a/javascript/packages/language-server/package.json
+++ b/javascript/packages/language-server/package.json
@@ -1,7 +1,7 @@
{
"name": "@herb-tools/language-server",
"description": "Herb HTML+ERB Language Tools and Language Server Protocol integration.",
- "version": "0.8.7",
+ "version": "0.8.8",
"author": "Marco Roth",
"license": "MIT",
"engines": {
@@ -45,10 +45,10 @@
"dist/"
],
"dependencies": {
- "@herb-tools/config": "0.8.7",
- "@herb-tools/formatter": "0.8.7",
- "@herb-tools/linter": "0.8.7",
- "@herb-tools/node-wasm": "0.8.7",
+ "@herb-tools/config": "0.8.8",
+ "@herb-tools/formatter": "0.8.8",
+ "@herb-tools/linter": "0.8.8",
+ "@herb-tools/node-wasm": "0.8.8",
"dedent": "^1.7.0",
"vscode-languageserver": "^9.0.1",
"vscode-languageserver-textdocument": "^1.0.12"
diff --git a/javascript/packages/language-server/test/autofix_service.test.ts b/javascript/packages/language-server/test/autofix_service.test.ts
index 3515ac37..389e22dc 100644
--- a/javascript/packages/language-server/test/autofix_service.test.ts
+++ b/javascript/packages/language-server/test/autofix_service.test.ts
@@ -99,7 +99,7 @@ describe('AutofixService', () => {
'html-tag-name-lowercase': { enabled: false }
}
}
- }, { projectPath: '/test', version: '0.8.7' })
+ }, { projectPath: '/test', version: '0.8.8' })
autofixService.setConfig(config)
@@ -113,7 +113,7 @@ describe('AutofixService', () => {
it('should rebuild linter when config changes', async () => {
const config1 = Config.fromObject({
linter: { enabled: true }
- }, { projectPath: '/test', version: '0.8.7' })
+ }, { projectPath: '/test', version: '0.8.8' })
autofixService.setConfig(config1)
@@ -130,7 +130,7 @@ describe('AutofixService', () => {
'html-tag-name-lowercase': { enabled: false }
}
}
- }, { projectPath: '/test', version: '0.8.7' })
+ }, { projectPath: '/test', version: '0.8.8' })
autofixService.setConfig(config2)
diff --git a/javascript/packages/language-server/test/linter_service.test.ts b/javascript/packages/language-server/test/linter_service.test.ts
index fbc1f586..106b1af6 100644
--- a/javascript/packages/language-server/test/linter_service.test.ts
+++ b/javascript/packages/language-server/test/linter_service.test.ts
@@ -139,7 +139,7 @@ describe("LinterService", () => {
settings.projectConfig = {
path: "/test/.herb.yml",
config: {
- version: "0.8.7",
+ version: "0.8.8",
linter: {
enabled: true,
rules: {
diff --git a/javascript/packages/linter/README.md b/javascript/packages/linter/README.md
index d6345dc5..78ce5b85 100644
--- a/javascript/packages/linter/README.md
+++ b/javascript/packages/linter/README.md
@@ -267,7 +267,7 @@ npx @herb-tools/linter --format=simple --github
**Example: `--github` (GitHub annotations + detailed format)**
```
-::error file=template.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.7::Missing required `alt` attribute on `
` tag [html-img-require-alt]%0A%0A%0Atemplate.html.erb:3:3%0A%0A 1 │
%0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A
+::error file=template.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.8::Missing required `alt` attribute on `
` tag [html-img-require-alt]%0A%0A%0Atemplate.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A
[error] Missing required `alt` attribute on `
` tag [html-img-require-alt]
@@ -282,7 +282,7 @@ template.html.erb:3:3
**Example: `--format=simple --github` (GitHub annotations + simple format)**
```
-::error file=template.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.7::Missing required `alt` attribute on `
` tag [html-img-require-alt]%0A%0A%0Atemplate.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A
+::error file=template.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.8::Missing required `alt` attribute on `
` tag [html-img-require-alt]%0A%0A%0Atemplate.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A
template.html.erb:
3:3 ✗ Missing required `alt` attribute on `
` tag [html-img-require-alt]
diff --git a/javascript/packages/linter/package.json b/javascript/packages/linter/package.json
index 22ebd6b9..8d237606 100644
--- a/javascript/packages/linter/package.json
+++ b/javascript/packages/linter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/linter",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "HTML+ERB linter for validating HTML structure and enforcing best practices",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -45,12 +45,12 @@
}
},
"dependencies": {
- "@herb-tools/config": "0.8.7",
- "@herb-tools/core": "0.8.7",
- "@herb-tools/highlighter": "0.8.7",
- "@herb-tools/node-wasm": "0.8.7",
- "@herb-tools/printer": "0.8.7",
- "@herb-tools/rewriter": "0.8.7",
+ "@herb-tools/config": "0.8.8",
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/highlighter": "0.8.8",
+ "@herb-tools/node-wasm": "0.8.8",
+ "@herb-tools/printer": "0.8.8",
+ "@herb-tools/rewriter": "0.8.8",
"picomatch": "^4.0.2",
"tinyglobby": "^0.2.15"
},
diff --git a/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap b/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap
index b93b13a3..b4410430 100644
--- a/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap
+++ b/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap
@@ -110,11 +110,11 @@ test/fixtures/ignored.html.erb:8:8
`;
exports[`CLI Output Formatting > GitHub Actions format escapes special characters in messages 1`] = `
-"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.7::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
+"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.8::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
[error] Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. (html-img-require-alt)
@@ -165,7 +165,7 @@ test/fixtures/test-file-with-errors.html.erb:2:22
`;
exports[`CLI Output Formatting > GitHub Actions format includes rule codes 1`] = `
-"::error file=test/fixtures/no-trailing-newline.html.erb,line=1,col=29,title=erb-require-trailing-newline • @herb-tools/linter@0.8.7::File must end with trailing newline. [erb-require-trailing-newline]%0A%0A%0Atest/fixtures/no-trailing-newline.html.erb:1:29%0A%0A → 1 │ No trailing newline
%0A │ ~%0A
+"::error file=test/fixtures/no-trailing-newline.html.erb,line=1,col=29,title=erb-require-trailing-newline • @herb-tools/linter@0.8.8::File must end with trailing newline. [erb-require-trailing-newline]%0A%0A%0Atest/fixtures/no-trailing-newline.html.erb:1:29%0A%0A → 1 │ No trailing newline
%0A │ ~%0A
[error] File must end with trailing newline. [Correctable] (erb-require-trailing-newline)
@@ -590,9 +590,9 @@ test/fixtures/few-rule-offenses.html.erb:6:0
`;
exports[`CLI Output Formatting > formats GitHub Actions output correctly for bad file 1`] = `
-"::error file=test/fixtures/bad-file.html.erb,line=1,col=1,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/bad-file.html.erb:1:1%0A%0A → 1 │ Bad file%0A │ ~~~~%0A 2 │%0A
+"::error file=test/fixtures/bad-file.html.erb,line=1,col=1,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/bad-file.html.erb:1:1%0A%0A → 1 │ Bad file%0A │ ~~~~%0A 2 │%0A
-::error file=test/fixtures/bad-file.html.erb,line=1,col=16,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/bad-file.html.erb:1:16%0A%0A → 1 │ Bad file%0A │ ~~~~%0A 2 │%0A
+::error file=test/fixtures/bad-file.html.erb,line=1,col=16,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/bad-file.html.erb:1:16%0A%0A → 1 │ Bad file%0A │ ~~~~%0A 2 │%0A
[error] Opening tag name \`\` should be lowercase. Use \`\` instead. [Correctable] (html-tag-name-lowercase)
@@ -633,11 +633,11 @@ exports[`CLI Output Formatting > formats GitHub Actions output correctly for cle
`;
exports[`CLI Output Formatting > formats GitHub Actions output correctly for file with errors 1`] = `
-"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.7::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
+"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.8::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
[error] Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. (html-img-require-alt)
@@ -1324,11 +1324,11 @@ test/fixtures/disabled-2.html.erb:2:44
`;
exports[`CLI Output Formatting > uses GitHub Actions format by default when GITHUB_ACTIONS is true 1`] = `
-"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.7::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
+"::error file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.8.8::Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. [html-img-require-alt]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:3:3%0A%0A 1 │ %0A 2 │
Test content%0A → 3 │

%0A │ ~~~%0A 4 │
%0A 5 │%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=3,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Opening tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:3%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
-::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.7::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
+::error file=test/fixtures/test-file-with-errors.html.erb,line=2,col=22,title=html-tag-name-lowercase • @herb-tools/linter@0.8.8::Closing tag name \`\` should be lowercase. Use \`\` instead. [html-tag-name-lowercase]%0A%0A%0Atest/fixtures/test-file-with-errors.html.erb:2:22%0A%0A 1 │ %0A → 2 │
Test content%0A │ ~~~~%0A 3 │

%0A 4 │
%0A
[error] Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. (html-img-require-alt)
diff --git a/javascript/packages/linter/test/cli.test.ts b/javascript/packages/linter/test/cli.test.ts
index 91a9c233..f8e47671 100644
--- a/javascript/packages/linter/test/cli.test.ts
+++ b/javascript/packages/linter/test/cli.test.ts
@@ -566,7 +566,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
enabled: true
`)
@@ -592,7 +592,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
enabled: true
`)
@@ -642,7 +642,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views/widgets"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.8.7
+ version: 0.8.8
linter:
enabled: true
`)
diff --git a/javascript/packages/node-wasm/package.json b/javascript/packages/node-wasm/package.json
index 8b8a6b19..bd17bae1 100644
--- a/javascript/packages/node-wasm/package.json
+++ b/javascript/packages/node-wasm/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/node-wasm",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "WebAssembly-based HTML-aware ERB parser for Node.js.",
"type": "module",
"license": "MIT",
@@ -36,7 +36,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.8.7"
+ "@herb-tools/core": "0.8.8"
},
"files": [
"package.json",
diff --git a/javascript/packages/node-wasm/test/node-wasm.test.ts b/javascript/packages/node-wasm/test/node-wasm.test.ts
index 74eb1a5a..20046a50 100644
--- a/javascript/packages/node-wasm/test/node-wasm.test.ts
+++ b/javascript/packages/node-wasm/test/node-wasm.test.ts
@@ -20,7 +20,7 @@ describe("@herb-tools/node-wasm", () => {
test("version() returns a string", async () => {
const version = Herb.version
expect(typeof version).toBe("string")
- expect(version).toBe("@herb-tools/node-wasm@0.8.7, @herb-tools/core@0.8.7, libprism@1.8.0, libherb@0.8.7 (WebAssembly)")
+ expect(version).toBe("@herb-tools/node-wasm@0.8.8, @herb-tools/core@0.8.8, libprism@1.8.0, libherb@0.8.8 (WebAssembly)")
})
test("parse() can process a simple template", async () => {
diff --git a/javascript/packages/node/package.json b/javascript/packages/node/package.json
index 897373b0..c440c4b1 100644
--- a/javascript/packages/node/package.json
+++ b/javascript/packages/node/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/node",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Native Node.js addon for HTML-aware ERB parsing using Herb.",
"type": "module",
"license": "MIT",
@@ -48,7 +48,7 @@
"host": "https://github.com/marcoroth/herb/releases/download/"
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
+ "@herb-tools/core": "0.8.8",
"@mapbox/node-pre-gyp": "^2.0.3",
"node-addon-api": "^8.5.0",
"node-pre-gyp-github": "^2.0.0"
diff --git a/javascript/packages/node/test/node.test.ts b/javascript/packages/node/test/node.test.ts
index e7b55d4f..4b9101d7 100644
--- a/javascript/packages/node/test/node.test.ts
+++ b/javascript/packages/node/test/node.test.ts
@@ -18,7 +18,7 @@ describe("@herb-tools/node", () => {
test("version() returns a string", async () => {
const version = Herb.version
expect(typeof version).toBe("string")
- expect(version).toBe("@herb-tools/node@0.8.7, @herb-tools/core@0.8.7, libprism@1.8.0, libherb@0.8.7 (Node.js C++ native extension)")
+ expect(version).toBe("@herb-tools/node@0.8.8, @herb-tools/core@0.8.8, libprism@1.8.0, libherb@0.8.8 (Node.js C++ native extension)")
})
test("parse() can process a simple template", async () => {
diff --git a/javascript/packages/printer/package.json b/javascript/packages/printer/package.json
index 7aaf1ed8..bf0b570a 100644
--- a/javascript/packages/printer/package.json
+++ b/javascript/packages/printer/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/printer",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "AST printer infrastructure and lossless reconstruction tool for HTML+ERB templates",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -37,7 +37,7 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
+ "@herb-tools/core": "0.8.8",
"tinyglobby": "^0.2.15"
},
"files": [
diff --git a/javascript/packages/rewriter/package.json b/javascript/packages/rewriter/package.json
index 4345d90c..f4cc77f7 100644
--- a/javascript/packages/rewriter/package.json
+++ b/javascript/packages/rewriter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/rewriter",
- "version": "0.8.7",
+ "version": "0.8.8",
"description": "Rewriter system for transforming HTML+ERB AST nodes and formatted strings",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -38,12 +38,12 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
- "@herb-tools/tailwind-class-sorter": "0.8.7",
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/tailwind-class-sorter": "0.8.8",
"tinyglobby": "^0.2.15"
},
"devDependencies": {
- "@herb-tools/printer": "0.8.7"
+ "@herb-tools/printer": "0.8.8"
},
"files": [
"package.json",
diff --git a/javascript/packages/stimulus-lint/package.json b/javascript/packages/stimulus-lint/package.json
index 94b7c81f..d866ea51 100644
--- a/javascript/packages/stimulus-lint/package.json
+++ b/javascript/packages/stimulus-lint/package.json
@@ -34,10 +34,10 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"dependencies": {
- "@herb-tools/core": "0.8.7",
- "@herb-tools/highlighter": "0.8.7",
- "@herb-tools/linter": "0.8.7",
- "@herb-tools/node-wasm": "0.8.7",
+ "@herb-tools/core": "0.8.8",
+ "@herb-tools/highlighter": "0.8.8",
+ "@herb-tools/linter": "0.8.8",
+ "@herb-tools/node-wasm": "0.8.8",
"stimulus-parser": "^0.3.1"
},
"files": [
diff --git a/javascript/packages/tailwind-class-sorter/package.json b/javascript/packages/tailwind-class-sorter/package.json
index b2e8248d..bfe2f495 100644
--- a/javascript/packages/tailwind-class-sorter/package.json
+++ b/javascript/packages/tailwind-class-sorter/package.json
@@ -2,7 +2,7 @@
"type": "module",
"name": "@herb-tools/tailwind-class-sorter",
"description": "Standalone Tailwind CSS class sorter with Prettier plugin compatibility, extracted from tailwindlabs/prettier-plugin-tailwindcss",
- "version": "0.8.7",
+ "version": "0.8.8",
"license": "MIT",
"main": "./dist/tailwind-class-sorter.cjs",
"module": "./dist/tailwind-class-sorter.esm.js",
diff --git a/javascript/packages/vscode/package.json b/javascript/packages/vscode/package.json
index 13e3df52..c1a0bc62 100644
--- a/javascript/packages/vscode/package.json
+++ b/javascript/packages/vscode/package.json
@@ -2,7 +2,7 @@
"name": "herb-lsp",
"displayName": "Herb LSP - HTML+ERB Language Tools",
"description": "VS Code extension for connecting with the Herb Language Server and Language Tools for HTML+ERB files",
- "version": "0.8.7",
+ "version": "0.8.8",
"private": true,
"license": "MIT",
"pricing": "Free",
@@ -261,10 +261,10 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"devDependencies": {
- "@herb-tools/config": "0.8.7",
- "@herb-tools/formatter": "0.8.7",
- "@herb-tools/linter": "0.8.7",
- "@herb-tools/node-wasm": "0.8.7",
+ "@herb-tools/config": "0.8.8",
+ "@herb-tools/formatter": "0.8.8",
+ "@herb-tools/linter": "0.8.8",
+ "@herb-tools/node-wasm": "0.8.8",
"@types/node": "25.x",
"@types/vscode": "^1.108.1",
"@typescript-eslint/eslint-plugin": "^8.50.0",
diff --git a/lib/herb/version.rb b/lib/herb/version.rb
index 3bdcd36e..5931613e 100644
--- a/lib/herb/version.rb
+++ b/lib/herb/version.rb
@@ -2,5 +2,5 @@
# typed: true
module Herb
- VERSION = "0.8.7"
+ VERSION = "0.8.8"
end
diff --git a/playground/package.json b/playground/package.json
index 8178c8e8..4b64f40f 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -19,9 +19,9 @@
},
"dependencies": {
"@alenaksu/json-viewer": "^2.0.1",
- "@herb-tools/browser": "0.8.7",
- "@herb-tools/formatter": "0.8.7",
- "@herb-tools/linter": "0.8.7",
+ "@herb-tools/browser": "0.8.8",
+ "@herb-tools/formatter": "0.8.8",
+ "@herb-tools/linter": "0.8.8",
"@hotwired/stimulus": "^3.2.2",
"dedent": "^1.7.0",
"express": "^5.2.1",
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 3ed338d9..1c355afd 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "herb"
-version = "0.8.7"
+version = "0.8.8"
edition = "2021"
authors = ["Marco Roth "]
description = "Rust bindings for Herb"
diff --git a/rust/src/lib.rs b/rust/src/lib.rs
index 764f91f9..f0b0b596 100644
--- a/rust/src/lib.rs
+++ b/rust/src/lib.rs
@@ -22,4 +22,4 @@ pub use position::Position;
pub use range::Range;
pub use token::Token;
-pub const VERSION: &str = "0.8.7";
+pub const VERSION: &str = "0.8.8";
diff --git a/rust/tests/cli_commands_test.rs b/rust/tests/cli_commands_test.rs
index d686d23d..60703eb1 100644
--- a/rust/tests/cli_commands_test.rs
+++ b/rust/tests/cli_commands_test.rs
@@ -4,7 +4,7 @@ use herb::{extract_html, extract_ruby, version};
fn test_version_functions() {
assert_eq!(
version(),
- "herb rust v0.8.7, libprism v1.8.0, libherb v0.8.7 (Rust FFI)"
+ "herb rust v0.8.8, libprism v1.8.0, libherb v0.8.8 (Rust FFI)"
);
}
diff --git a/rust/tests/snapshots/snapshot_test__herb_version_output.snap b/rust/tests/snapshots/snapshot_test__herb_version_output.snap
index bae384b9..270e2081 100644
--- a/rust/tests/snapshots/snapshot_test__herb_version_output.snap
+++ b/rust/tests/snapshots/snapshot_test__herb_version_output.snap
@@ -2,4 +2,4 @@
source: tests/snapshot_test.rs
expression: output
---
-0.8.7
+0.8.8
diff --git a/rust/tests/snapshots/snapshot_test__version_output.snap b/rust/tests/snapshots/snapshot_test__version_output.snap
index de270706..081af28a 100644
--- a/rust/tests/snapshots/snapshot_test__version_output.snap
+++ b/rust/tests/snapshots/snapshot_test__version_output.snap
@@ -2,4 +2,4 @@
source: tests/snapshot_test.rs
expression: output
---
-herb rust v0.8.7, libprism v1.8.0, libherb v0.8.7 (Rust FFI)
+herb rust v0.8.8, libprism v1.8.0, libherb v0.8.8 (Rust FFI)
diff --git a/src/include/version.h b/src/include/version.h
index 99cb01bf..350c47f0 100644
--- a/src/include/version.h
+++ b/src/include/version.h
@@ -1,6 +1,6 @@
#ifndef HERB_VERSION_H
#define HERB_VERSION_H
-#define HERB_VERSION "0.8.7"
+#define HERB_VERSION "0.8.8"
#endif
diff --git a/test/c/test_herb.c b/test/c/test_herb.c
index 735dbf63..49cc1dec 100644
--- a/test/c/test_herb.c
+++ b/test/c/test_herb.c
@@ -2,7 +2,7 @@
#include "../../src/include/herb.h"
TEST(test_herb_version)
- ck_assert_str_eq(herb_version(), "0.8.7");
+ ck_assert_str_eq(herb_version(), "0.8.8");
END
TCase *herb_tests(void) {
diff --git a/test/herb_test.rb b/test/herb_test.rb
index ed294fae..bde91d24 100644
--- a/test/herb_test.rb
+++ b/test/herb_test.rb
@@ -4,6 +4,6 @@
class HerbTest < Minitest::Spec
test "version" do
- assert_equal "herb gem v0.8.7, libprism v1.8.0, libherb v0.8.7 (Ruby C native extension)", Herb.version
+ assert_equal "herb gem v0.8.8, libprism v1.8.0, libherb v0.8.8 (Ruby C native extension)", Herb.version
end
end