diff --git a/Gemfile.lock b/Gemfile.lock
index ccce56e6f..9488250ce 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -41,7 +41,7 @@ GIT
PATH
remote: .
specs:
- herb (0.9.7)
+ herb (0.10.0)
GEM
remote: https://rubygems.org/
diff --git a/docs/docs/bindings/java/reference.md b/docs/docs/bindings/java/reference.md
index 12b2dc514..13ac0973f 100644
--- a/docs/docs/bindings/java/reference.md
+++ b/docs/docs/bindings/java/reference.md
@@ -280,7 +280,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.9.7, libprism v1.9.0, libherb v0.9.7 (Java JNI)"
+// Output: "herb java v0.10.0, libprism v1.9.0, libherb v0.10.0 (Java JNI)"
```
:::
@@ -293,7 +293,7 @@ Returns just the Herb library version:
import org.herb.Herb;
System.out.println(Herb.herbVersion());
-// Output: "0.9.7"
+// Output: "0.10.0"
```
:::
diff --git a/docs/docs/bindings/rust/index.md b/docs/docs/bindings/rust/index.md
index b3cd72d92..912e73110 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.9.7"
+herb = "0.10.0"
```
:::
diff --git a/docs/docs/bindings/rust/reference.md b/docs/docs/bindings/rust/reference.md
index 8810b8156..b75330303 100644
--- a/docs/docs/bindings/rust/reference.md
+++ b/docs/docs/bindings/rust/reference.md
@@ -348,7 +348,7 @@ Returns the full version information including Herb, Prism, and FFI details:
use herb::version;
println!("{}", version());
-// Output: "herb rust v0.9.7, libprism v1.9.0, libherb v0.9.7 (Rust FFI)"
+// Output: "herb rust v0.10.0, libprism v1.9.0, libherb v0.10.0 (Rust FFI)"
```
:::
@@ -361,7 +361,7 @@ Returns just the Herb library version:
use herb::herb_version;
println!("{}", herb_version());
-// Output: "0.9.7"
+// Output: "0.10.0"
```
:::
diff --git a/docs/docs/projects/dev-server.md b/docs/docs/projects/dev-server.md
index 8c566d577..1d58c6b9c 100644
--- a/docs/docs/projects/dev-server.md
+++ b/docs/docs/projects/dev-server.md
@@ -34,7 +34,7 @@ The dev server consists of two parts:
⚠️ Experimental: The dev server is experimental and may not work correctly in all cases.
- Herb: 0.9.7
+ Herb: 0.10.0
Project: /path/to/project
Config: .herb.yml
Files: 453 templates indexed
diff --git a/docs/package.json b/docs/package.json
index 10aca23a3..cd6837d1e 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.9.7",
- "@herb-tools/core": "0.9.7",
- "@herb-tools/node": "0.9.7",
+ "@herb-tools/browser": "0.10.0",
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/node": "0.10.0",
"medium-zoom": "^1.1.0"
},
"devDependencies": {
diff --git a/javascript/packages/browser/package.json b/javascript/packages/browser/package.json
index e00a72aa7..6a833558d 100644
--- a/javascript/packages/browser/package.json
+++ b/javascript/packages/browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/browser",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "WebAssembly-based HTML-aware ERB parser for browsers.",
"type": "module",
"license": "MIT",
@@ -34,7 +34,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.9.7"
+ "@herb-tools/core": "0.10.0"
},
"files": [
"package.json",
diff --git a/javascript/packages/browser/test/browser.test.ts b/javascript/packages/browser/test/browser.test.ts
index a1648e9f3..0c7097344 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.9.7, @herb-tools/core@0.9.7, libprism@1.9.0, libherb@0.9.7 (WebAssembly)")
+ expect(version).toBe("@herb-tools/browser@0.10.0, @herb-tools/core@0.10.0, libprism@1.9.0, libherb@0.10.0 (WebAssembly)")
})
test("parse() can process a simple template", async () => {
diff --git a/javascript/packages/client/package.json b/javascript/packages/client/package.json
index 97da4b7e4..5b9e9c036 100644
--- a/javascript/packages/client/package.json
+++ b/javascript/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/client",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "HMR client for Herb templates - connects to herb dev server and applies live DOM patches",
"type": "module",
"license": "MIT",
diff --git a/javascript/packages/config/README.md b/javascript/packages/config/README.md
index 39c69f600..935e84ccc 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.9.7
+version: 0.10.0
linter:
enabled: true
diff --git a/javascript/packages/config/package.json b/javascript/packages/config/package.json
index 032d87ccd..1c17e9001 100644
--- a/javascript/packages/config/package.json
+++ b/javascript/packages/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/config",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "Shared configuration utilities for Herb tools",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -30,7 +30,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.9.7",
+ "@herb-tools/core": "0.10.0",
"picomatch": "^4.0.4",
"tinyglobby": "^0.2.16",
"yaml": "^2.8.3"
diff --git a/javascript/packages/config/src/config-template.yml b/javascript/packages/config/src/config-template.yml
index 82f0dd5b4..07dfdce54 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.9.7
+version: 0.10.0
# # Framework and template engine configuration
#
diff --git a/javascript/packages/config/test/config.test.ts b/javascript/packages/config/test/config.test.ts
index be5ca5d9c..148adeb59 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.9.7" })
+ const config = new Config(testDir, { version: "0.10.0" })
expect(config).toBeInstanceOf(Config)
})
test("sets correct config path", () => {
- const config = new Config(testDir, { version: "0.9.7" })
+ const config = new Config(testDir, { version: "0.10.0" })
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.9.7\n")
+ writeFileSync(configPath, "version: 0.10.0\n")
expect(Config.exists(testDir)).toBe(true)
})
test("handles explicit .herb.yml path", () => {
const configPath = join(testDir, ".herb.yml")
- writeFileSync(configPath, "version: 0.9.7\n")
+ writeFileSync(configPath, "version: 0.10.0\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.9.7
+ version: 0.10.0
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.9.7\n"
+ const yamlContent = "version: 0.10.0\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.9.7
+ version: 0.10.0
linter:
enabled: true
`
@@ -206,7 +206,7 @@ describe("@herb-tools/config", () => {
const updatedYaml = Config.applyMutationToYamlString(existingYaml, mutation)
- expect(updatedYaml).toContain("version: 0.9.7")
+ expect(updatedYaml).toContain("version: 0.10.0")
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.9.7
+ version: 0.10.0
linter:
rules:
html-img-require-alt:
@@ -237,7 +237,7 @@ describe("@herb-tools/config", () => {
test("updates existing rule configuration", () => {
const existingYaml = dedent`
- version: 0.9.7
+ version: 0.10.0
linter:
rules:
html-tag-name-lowercase:
@@ -1369,15 +1369,15 @@ describe("@herb-tools/config", () => {
describe("Config.configVersion", () => {
test("is undefined when not provided", () => {
- const config = new Config(testDir, { version: "0.9.7" })
+ const config = new Config(testDir, { version: "0.10.0" })
expect(config.configVersion).toBeUndefined()
})
test("preserves explicit configVersion", () => {
- const config = new Config(testDir, { version: "0.9.7" }, "0.8.0")
+ const config = new Config(testDir, { version: "0.10.0" }, "0.8.0")
- expect(config.version).toBe("0.9.7")
+ expect(config.version).toBe("0.10.0")
expect(config.configVersion).toBe("0.8.0")
})
@@ -1396,16 +1396,16 @@ describe("@herb-tools/config", () => {
test("load preserves user config version from .herb.yml", async () => {
createTestFile(testDir, ".herb.yml", "version: 0.8.0\n\nlinter:\n enabled: true\n")
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
- expect(config.version).toBe("0.9.7")
+ expect(config.version).toBe("0.10.0")
expect(config.configVersion).toBe("0.8.0")
})
test("load defaults configVersion to undefined when .herb.yml has no version", async () => {
createTestFile(testDir, ".herb.yml", "linter:\n enabled: true\n")
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
expect(config.configVersion).toBeUndefined()
})
@@ -1413,7 +1413,7 @@ describe("@herb-tools/config", () => {
test("load defaults configVersion to undefined when no .herb.yml exists", async () => {
createTestFile(testDir, ".git/HEAD", "ref: refs/heads/main\n")
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
expect(config.configVersion).toBeUndefined()
})
@@ -1439,7 +1439,7 @@ describe("@herb-tools/config", () => {
}
})
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
expect(config.linter?.rules?.["new-rule-a"]?.enabled).toBe(false)
expect(config.linter?.rules?.["new-rule-b"]?.enabled).toBe(false)
@@ -1466,7 +1466,7 @@ describe("@herb-tools/config", () => {
}
})
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
expect(config.linter?.rules?.["existing-rule"]?.enabled).toBe(false)
expect(config.linter?.rules?.["new-rule"]?.enabled).toBe(false)
@@ -1484,12 +1484,12 @@ describe("@herb-tools/config", () => {
const { readFileSync, writeFileSync } = await import("fs")
let content = readFileSync(configPath, "utf-8")
- content = content.replace(/^version:\s*.+$/m, "version: 0.9.7")
+ content = content.replace(/^version:\s*.+$/m, "version: 0.10.0")
writeFileSync(configPath, content, "utf-8")
- const config = await Config.load(testDir, { version: "0.9.7", silent: true })
+ const config = await Config.load(testDir, { version: "0.10.0", silent: true })
- expect(config.configVersion).toBe("0.9.7")
+ expect(config.configVersion).toBe("0.10.0")
})
})
})
diff --git a/javascript/packages/core/package.json b/javascript/packages/core/package.json
index 22375d2bf..e3c3ea13d 100644
--- a/javascript/packages/core/package.json
+++ b/javascript/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/core",
- "version": "0.9.7",
+ "version": "0.10.0",
"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 e5f8efa6d..d84b284a5 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.9.7",
+ "version": "0.10.0",
"description": "Development tools for visual debugging in HTML+ERB templates",
"type": "module",
"license": "MIT",
@@ -30,7 +30,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.9.7"
+ "@herb-tools/core": "0.10.0"
},
"files": [
"package.json",
diff --git a/javascript/packages/formatter/package.json b/javascript/packages/formatter/package.json
index d8af6e949..8d28bc287 100644
--- a/javascript/packages/formatter/package.json
+++ b/javascript/packages/formatter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/formatter",
- "version": "0.9.7",
+ "version": "0.10.0",
"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.9.7",
- "@herb-tools/core": "0.9.7",
- "@herb-tools/printer": "0.9.7",
- "@herb-tools/rewriter": "0.9.7",
+ "@herb-tools/config": "0.10.0",
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/printer": "0.10.0",
+ "@herb-tools/rewriter": "0.10.0",
"tinyglobby": "^0.2.15"
},
"files": [
diff --git a/javascript/packages/herb-language-server/package.json b/javascript/packages/herb-language-server/package.json
index 584da8781..e9dc9865f 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.9.7",
+ "version": "0.10.0",
"author": "Marco Roth",
"license": "MIT",
"engines": {
@@ -45,6 +45,6 @@
"dist/"
],
"dependencies": {
- "@herb-tools/language-server": "0.9.7"
+ "@herb-tools/language-server": "0.10.0"
}
}
diff --git a/javascript/packages/highlighter/package.json b/javascript/packages/highlighter/package.json
index 58b4b3a24..fa9627a95 100644
--- a/javascript/packages/highlighter/package.json
+++ b/javascript/packages/highlighter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/highlighter",
- "version": "0.9.7",
+ "version": "0.10.0",
"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.9.7",
- "@herb-tools/node-wasm": "0.9.7"
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/node-wasm": "0.10.0"
},
"files": [
"package.json",
diff --git a/javascript/packages/language-server/package.json b/javascript/packages/language-server/package.json
index 342bf4c33..2ea7ea2d3 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.9.7",
+ "version": "0.10.0",
"author": "Marco Roth",
"license": "MIT",
"engines": {
@@ -45,12 +45,12 @@
"dist/"
],
"dependencies": {
- "@herb-tools/config": "0.9.7",
- "@herb-tools/formatter": "0.9.7",
- "@herb-tools/linter": "0.9.7",
- "@herb-tools/node-wasm": "0.9.7",
- "@herb-tools/printer": "0.9.7",
- "@herb-tools/rewriter": "0.9.7",
+ "@herb-tools/config": "0.10.0",
+ "@herb-tools/formatter": "0.10.0",
+ "@herb-tools/linter": "0.10.0",
+ "@herb-tools/node-wasm": "0.10.0",
+ "@herb-tools/printer": "0.10.0",
+ "@herb-tools/rewriter": "0.10.0",
"dedent": "^1.7.2",
"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 885ea820e..a64bc007b 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.9.7' })
+ }, { projectPath: '/test', version: '0.10.0' })
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.9.7' })
+ }, { projectPath: '/test', version: '0.10.0' })
autofixService.setConfig(config1)
@@ -130,7 +130,7 @@ describe('AutofixService', () => {
'html-tag-name-lowercase': { enabled: false }
}
}
- }, { projectPath: '/test', version: '0.9.7' })
+ }, { projectPath: '/test', version: '0.10.0' })
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 0a0a41c40..8d5cddd1f 100644
--- a/javascript/packages/language-server/test/linter_service.test.ts
+++ b/javascript/packages/language-server/test/linter_service.test.ts
@@ -231,7 +231,7 @@ describe("LinterService", () => {
settings.projectConfig = {
path: "/test/.herb.yml",
config: {
- version: "0.9.7",
+ version: "0.10.0",
linter: {
enabled: true,
rules: {
diff --git a/javascript/packages/language-service/package.json b/javascript/packages/language-service/package.json
index feba68a7d..61060e086 100644
--- a/javascript/packages/language-service/package.json
+++ b/javascript/packages/language-service/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/language-service",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "HTML+ERB language service built on the Herb parser, providing a compatible API with vscode-html-languageservice",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -35,7 +35,7 @@
"vscode-languageserver-textdocument": "^1.0.0"
},
"peerDependencies": {
- "@herb-tools/core": "0.9.7",
+ "@herb-tools/core": "0.10.0",
"vscode-html-languageservice": "^5.1.0",
"vscode-languageserver-textdocument": "^1.0.0"
},
diff --git a/javascript/packages/linter/README.md b/javascript/packages/linter/README.md
index c6fc4fb01..b4a362386 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.9.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.10.0::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.9.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.10.0::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 1f24f0dea..ae03fb79a 100644
--- a/javascript/packages/linter/package.json
+++ b/javascript/packages/linter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/linter",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "HTML+ERB linter for validating HTML structure and enforcing best practices",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -47,12 +47,12 @@
}
},
"dependencies": {
- "@herb-tools/config": "0.9.7",
- "@herb-tools/core": "0.9.7",
- "@herb-tools/highlighter": "0.9.7",
- "@herb-tools/node-wasm": "0.9.7",
- "@herb-tools/printer": "0.9.7",
- "@herb-tools/rewriter": "0.9.7",
+ "@herb-tools/config": "0.10.0",
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/highlighter": "0.10.0",
+ "@herb-tools/node-wasm": "0.10.0",
+ "@herb-tools/printer": "0.10.0",
+ "@herb-tools/rewriter": "0.10.0",
"picomatch": "^4.0.4",
"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 77a690469..c7501b342 100644
--- a/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap
+++ b/javascript/packages/linter/test/__snapshots__/cli.test.ts.snap
@@ -123,11 +123,11 @@ exports[`CLI Output Formatting > Excluded Files > skips excluded file in subdire
exports[`CLI Output Formatting > GitHub Actions format escapes special characters in messages 1`] = `
"✓ Using Herb config file at /test/herb/javascript/packages/linter/.herb.yml
-::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.9.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
+::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.10.0::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.9.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.10.0::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.9.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.10.0::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
[warning] Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. (html-img-require-alt)
@@ -183,7 +183,7 @@ test/fixtures/test-file-with-errors.html.erb:2:22
exports[`CLI Output Formatting > GitHub Actions format includes rule codes 1`] = `
"✓ Using Herb config file at /test/herb/javascript/packages/linter/.herb.yml
-::error file=test/fixtures/no-trailing-newline.html.erb,line=1,col=29,title=erb-require-trailing-newline • @herb-tools/linter@0.9.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.10.0::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. (erb-require-trailing-newline) [Correctable]
@@ -690,9 +690,9 @@ test/fixtures/few-rule-offenses.html.erb:6:0
exports[`CLI Output Formatting > formats GitHub Actions output correctly for bad file 1`] = `
"✓ Using Herb config file at /test/herb/javascript/packages/linter/.herb.yml
-::error file=test/fixtures/bad-file.html.erb,line=1,col=1,title=html-tag-name-lowercase • @herb-tools/linter@0.9.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.10.0::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.9.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.10.0::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. (html-tag-name-lowercase) [Correctable]
@@ -741,11 +741,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`] = `
"✓ Using Herb config file at /test/herb/javascript/packages/linter/.herb.yml
-::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.9.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
+::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.10.0::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.9.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.10.0::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.9.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.10.0::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
[warning] Missing required \`alt\` attribute on \`
\` tag. Add \`alt=""\` for decorative images or \`alt="description"\` for informative images. (html-img-require-alt)
@@ -1476,11 +1476,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`] = `
"✓ Using Herb config file at /test/herb/javascript/packages/linter/.herb.yml
-::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.9.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
+::warning file=test/fixtures/test-file-with-errors.html.erb,line=3,col=3,title=html-img-require-alt • @herb-tools/linter@0.10.0::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.9.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.10.0::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.9.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.10.0::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
[warning] 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 41c000960..7f64cb067 100644
--- a/javascript/packages/linter/test/cli.test.ts
+++ b/javascript/packages/linter/test/cli.test.ts
@@ -599,7 +599,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.9.7
+ version: 0.10.0
linter:
enabled: true
`)
@@ -625,7 +625,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.9.7
+ version: 0.10.0
linter:
enabled: true
`)
@@ -675,7 +675,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views/widgets"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.9.7
+ version: 0.10.0
linter:
enabled: true
`)
@@ -725,7 +725,7 @@ describe("CLI Output Formatting", () => {
mkdirSync(join(tempDir, "app/views"), { recursive: true })
writeFileSync(join(tempDir, ".herb.yml"), dedent`
- version: 0.9.7
+ version: 0.10.0
linter:
enabled: true
`)
diff --git a/javascript/packages/node-wasm/package.json b/javascript/packages/node-wasm/package.json
index 1cb534470..7436d64d2 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.9.7",
+ "version": "0.10.0",
"description": "WebAssembly-based HTML-aware ERB parser for Node.js.",
"type": "module",
"license": "MIT",
@@ -36,7 +36,7 @@
}
},
"dependencies": {
- "@herb-tools/core": "0.9.7"
+ "@herb-tools/core": "0.10.0"
},
"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 6ebf9c669..51dc28cff 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.9.7, @herb-tools/core@0.9.7, libprism@1.9.0, libherb@0.9.7 (WebAssembly)")
+ expect(version).toBe("@herb-tools/node-wasm@0.10.0, @herb-tools/core@0.10.0, libprism@1.9.0, libherb@0.10.0 (WebAssembly)")
})
test("parse() can process a simple template", async () => {
diff --git a/javascript/packages/node/package.json b/javascript/packages/node/package.json
index 86e506c65..d34846ebd 100644
--- a/javascript/packages/node/package.json
+++ b/javascript/packages/node/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/node",
- "version": "0.9.7",
+ "version": "0.10.0",
"description": "Native Node.js addon for HTML-aware ERB parsing using Herb.",
"type": "module",
"license": "MIT",
@@ -52,7 +52,7 @@
"host": "https://github.com/marcoroth/herb/releases/download/"
},
"dependencies": {
- "@herb-tools/core": "0.9.7",
+ "@herb-tools/core": "0.10.0",
"@mapbox/node-pre-gyp": "^2.0.3",
"node-addon-api": "^8.7.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 f897f0c71..658989552 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.9.7, @herb-tools/core@0.9.7, libprism@1.9.0, libherb@0.9.7 (Node.js C++ native extension)")
+ expect(version).toBe("@herb-tools/node@0.10.0, @herb-tools/core@0.10.0, libprism@1.9.0, libherb@0.10.0 (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 916f83f69..2a7c5c5bf 100644
--- a/javascript/packages/printer/package.json
+++ b/javascript/packages/printer/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/printer",
- "version": "0.9.7",
+ "version": "0.10.0",
"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.9.7",
+ "@herb-tools/core": "0.10.0",
"tinyglobby": "^0.2.15"
},
"files": [
diff --git a/javascript/packages/rewriter/package.json b/javascript/packages/rewriter/package.json
index 5553fff45..659fe14b5 100644
--- a/javascript/packages/rewriter/package.json
+++ b/javascript/packages/rewriter/package.json
@@ -1,6 +1,6 @@
{
"name": "@herb-tools/rewriter",
- "version": "0.9.7",
+ "version": "0.10.0",
"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.9.7",
- "@herb-tools/tailwind-class-sorter": "0.9.7",
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/tailwind-class-sorter": "0.10.0",
"tinyglobby": "^0.2.15"
},
"devDependencies": {
- "@herb-tools/printer": "0.9.7"
+ "@herb-tools/printer": "0.10.0"
},
"files": [
"package.json",
diff --git a/javascript/packages/stimulus-lint/package.json b/javascript/packages/stimulus-lint/package.json
index 87ea52114..20b7b7b8a 100644
--- a/javascript/packages/stimulus-lint/package.json
+++ b/javascript/packages/stimulus-lint/package.json
@@ -1,6 +1,6 @@
{
"name": "stimulus-lint",
- "version": "0.3.7",
+ "version": "0.4.0",
"description": "Linting rules for Stimulus controllers and HTML+ERB view templates.",
"license": "MIT",
"homepage": "https://herb-tools.dev",
@@ -34,10 +34,10 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"dependencies": {
- "@herb-tools/core": "0.9.7",
- "@herb-tools/highlighter": "0.9.7",
- "@herb-tools/linter": "0.9.7",
- "@herb-tools/node-wasm": "0.9.7",
+ "@herb-tools/core": "0.10.0",
+ "@herb-tools/highlighter": "0.10.0",
+ "@herb-tools/linter": "0.10.0",
+ "@herb-tools/node-wasm": "0.10.0",
"stimulus-parser": "^0.3.2"
},
"files": [
diff --git a/javascript/packages/tailwind-class-sorter/package.json b/javascript/packages/tailwind-class-sorter/package.json
index 421ce7180..434ac0e5d 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.9.7",
+ "version": "0.10.0",
"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 761dc0041..6588341a4 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.9.7",
+ "version": "0.10.0",
"private": true,
"license": "MIT",
"pricing": "Free",
@@ -284,10 +284,10 @@
"prepublishOnly": "yarn clean && yarn build && yarn test"
},
"devDependencies": {
- "@herb-tools/config": "0.9.7",
- "@herb-tools/formatter": "0.9.7",
- "@herb-tools/linter": "0.9.7",
- "@herb-tools/node-wasm": "0.9.7",
+ "@herb-tools/config": "0.10.0",
+ "@herb-tools/formatter": "0.10.0",
+ "@herb-tools/linter": "0.10.0",
+ "@herb-tools/node-wasm": "0.10.0",
"@types/mocha": "^10.0.10",
"@types/node": "25.x",
"@types/vscode": "^1.100.0",
diff --git a/lib/herb/version.rb b/lib/herb/version.rb
index 7b2dc7f30..79d6de096 100644
--- a/lib/herb/version.rb
+++ b/lib/herb/version.rb
@@ -2,5 +2,5 @@
# typed: true
module Herb
- VERSION = "0.9.7"
+ VERSION = "0.10.0"
end
diff --git a/playground/package.json b/playground/package.json
index 437fe3105..943404f31 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -19,10 +19,10 @@
},
"dependencies": {
"@alenaksu/json-viewer": "^2.0.1",
- "@herb-tools/browser": "0.9.7",
- "@herb-tools/formatter": "0.9.7",
- "@herb-tools/linter": "0.9.7",
- "@herb-tools/rewriter": "0.9.7",
+ "@herb-tools/browser": "0.10.0",
+ "@herb-tools/formatter": "0.10.0",
+ "@herb-tools/linter": "0.10.0",
+ "@herb-tools/rewriter": "0.10.0",
"@hotwired/stimulus": "^3.2.2",
"dedent": "^1.7.2",
"express": "^5.2.1",
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index b2cec3b76..0ee7f7f7f 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -6,7 +6,7 @@ members = [
[package]
name = "herb"
-version = "0.9.7"
+version = "0.10.0"
edition = "2021"
authors = ["Marco Roth "]
description = "Rust bindings for Herb"
diff --git a/rust/herb-config/Cargo.toml b/rust/herb-config/Cargo.toml
index 3233e43f4..551e3d812 100644
--- a/rust/herb-config/Cargo.toml
+++ b/rust/herb-config/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "herb-config"
-version = "0.9.7"
+version = "0.10.0"
edition = "2021"
authors = ["Marco Roth "]
description = "Shared configuration utilities for Herb tools"
diff --git a/rust/herb-config/tests/herb_config_test.rs b/rust/herb-config/tests/herb_config_test.rs
index 5606e02e8..7d14c1f4a 100644
--- a/rust/herb-config/tests/herb_config_test.rs
+++ b/rust/herb-config/tests/herb_config_test.rs
@@ -318,7 +318,7 @@ fn load_from_path_parses_yaml() {
fs::write(
&config_path,
r#"
-version: 0.9.7
+version: 0.10.0
linter:
enabled: true
rules:
@@ -334,7 +334,7 @@ formatter:
let config = HerbConfig::load_from_path(&config_path).unwrap();
- assert_eq!(config.version, Some("0.9.7".into()));
+ assert_eq!(config.version, Some("0.10.0".into()));
assert!(config.linter.enabled);
assert!(!config.formatter.enabled);
assert_eq!(config.formatter.indent_width, 4);
@@ -366,7 +366,7 @@ fn load_from_path_returns_error_for_invalid_yaml() {
fn find_config_file_finds_config_in_current_dir() {
let dir = tempfile::tempdir().unwrap();
let config_path = dir.path().join(".herb.yml");
- fs::write(&config_path, "version: 0.9.7\n").unwrap();
+ fs::write(&config_path, "version: 0.10.0\n").unwrap();
let found = HerbConfig::find_config_file(dir.path());
@@ -377,7 +377,7 @@ fn find_config_file_finds_config_in_current_dir() {
fn find_config_file_walks_up_directory_tree() {
let dir = tempfile::tempdir().unwrap();
let config_path = dir.path().join(".herb.yml");
- fs::write(&config_path, "version: 0.9.7\n").unwrap();
+ fs::write(&config_path, "version: 0.10.0\n").unwrap();
let sub_dir = dir.path().join("app").join("views");
fs::create_dir_all(&sub_dir).unwrap();
@@ -399,7 +399,7 @@ fn find_config_file_returns_none_when_not_found() {
#[test]
fn load_full_config_with_all_sections() {
let yaml = r#"
-version: 0.9.7
+version: 0.10.0
files:
include:
@@ -436,7 +436,7 @@ formatter:
let config: HerbConfig = serde_yaml::from_str(yaml).unwrap();
- assert_eq!(config.version, Some("0.9.7".into()));
+ assert_eq!(config.version, Some("0.10.0".into()));
assert_eq!(config.files.include, vec!["**/*.xml.erb"]);
assert_eq!(config.files.exclude, vec!["public/**/*"]);
diff --git a/rust/src/lib.rs b/rust/src/lib.rs
index 6af4d6dac..1bdff3a45 100644
--- a/rust/src/lib.rs
+++ b/rust/src/lib.rs
@@ -28,4 +28,4 @@ pub use range::Range;
pub use token::Token;
pub use visitor::Visitor;
-pub const VERSION: &str = "0.9.7";
+pub const VERSION: &str = "0.10.0";
diff --git a/rust/tests/cli_commands_test.rs b/rust/tests/cli_commands_test.rs
index 8c95d30f5..3d3de940e 100644
--- a/rust/tests/cli_commands_test.rs
+++ b/rust/tests/cli_commands_test.rs
@@ -2,7 +2,7 @@ use herb::{extract_html, extract_ruby, version};
#[test]
fn test_version_functions() {
- assert_eq!(version(), "herb rust v0.9.7, libprism v1.9.0, libherb v0.9.7 (Rust FFI)");
+ assert_eq!(version(), "herb rust v0.10.0, libprism v1.9.0, libherb v0.10.0 (Rust FFI)");
}
#[test]
diff --git a/rust/tests/snapshots/snapshot_test__herb_version_output.snap b/rust/tests/snapshots/snapshot_test__herb_version_output.snap
index 442ecf7f4..4c4a83333 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.9.7
+0.10.0
diff --git a/rust/tests/snapshots/snapshot_test__version_output.snap b/rust/tests/snapshots/snapshot_test__version_output.snap
index ab5f1a37c..477399057 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.9.7, libprism v1.9.0, libherb v0.9.7 (Rust FFI)
+herb rust v0.10.0, libprism v1.9.0, libherb v0.10.0 (Rust FFI)
diff --git a/src/include/version.h b/src/include/version.h
index 445ea03bc..070290871 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.9.7"
+#define HERB_VERSION "0.10.0"
#endif
diff --git a/test/c/test_herb.c b/test/c/test_herb.c
index b859ed375..c0fad87be 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.9.7");
+ ck_assert_str_eq(herb_version(), "0.10.0");
END
TCase *herb_tests(void) {
diff --git a/test/configuration_test.rb b/test/configuration_test.rb
index 53d8c00b4..32510b249 100644
--- a/test/configuration_test.rb
+++ b/test/configuration_test.rb
@@ -28,7 +28,7 @@ def write_config(content, filename = ".herb.yml")
test "loads configuration from .herb.yml" do
write_config(<<~YAML)
- version: "0.9.7"
+ version: "0.10.0"
files:
include:
- "**/*.custom.erb"
@@ -37,7 +37,7 @@ def write_config(content, filename = ".herb.yml")
config = Herb::Configuration.load(@temp_dir)
assert_equal File.join(@temp_dir, ".herb.yml"), config.config_path.to_s
- assert_equal "0.9.7", config.version
+ assert_equal "0.10.0", config.version
assert_includes config.file_include_patterns, "**/*.custom.erb"
end
@@ -46,7 +46,7 @@ def write_config(content, filename = ".herb.yml")
FileUtils.mkdir_p(subdir)
write_config(<<~YAML)
- version: "0.9.7"
+ version: "0.10.0"
files:
include:
- "**/*.custom.erb"
diff --git a/test/herb_test.rb b/test/herb_test.rb
index db6566291..65833e8dc 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.9.7, libprism v1.9.0, libherb v0.9.7 (Ruby C native extension)", Herb.version
+ assert_equal "herb gem v0.10.0, libprism v1.9.0, libherb v0.10.0 (Ruby C native extension)", Herb.version
end
end