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