diff --git a/CHANGELOG.md b/CHANGELOG.md index c239358..e56069d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,16 +2,6 @@ All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines. - - - -## [v0.2.0](https://gitlab.com/TECHNOFAB/soonix/compare/a8acaf7143572dac1bc02b124e593d68b5bdddc7..v0.2.0) - 2026-01-28 -#### Features -- (**generator**) add Mustache - ([26e79ed](https://gitlab.com/TECHNOFAB/soonix/commit/26e79ede19e815a619a3878ffd5fa6b757da50c4)) - asimon -#### Bug Fixes -- (**generator**) replace gotmpl with gomplate - ([a8acaf7](https://gitlab.com/TECHNOFAB/soonix/commit/a8acaf7143572dac1bc02b124e593d68b5bdddc7)) - asimon -#### Miscellaneous Chores -- (**module**) remove "template" generator type - ([481b9c4](https://gitlab.com/TECHNOFAB/soonix/commit/481b9c4a38455ba6d8502029894f9223ab2545d5)) - [@TECHNOFAB](https://gitlab.com/TECHNOFAB) - -- - - - ## [v0.1.0](https://gitlab.com/TECHNOFAB/soonix/compare/25cc087b1da8dda965d47283c120a726b84ad6cf..v0.1.0) - 2026-01-05 #### Features - add nice to have `devshellModule` to soonix module for easy import - ([add807e](https://gitlab.com/TECHNOFAB/soonix/commit/add807ef8980197bbd06652a36d937b93b2a31c7)) - [@TECHNOFAB](https://gitlab.com/TECHNOFAB) diff --git a/README.md b/README.md index 68c2747..d46cb7c 100644 --- a/README.md +++ b/README.md @@ -53,9 +53,8 @@ use the `devshellModule` for easy integration, see the docs for more. - **`nix`**: Convert Nix data to JSON, YAML, TOML, INI, XML formats - **`string`**: Output raw string content with optional executable permissions - **`derivation`**: Use existing Nix derivations as file content -- **`gomplate`**: Advanced Go template rendering via gomplate +- **`gotmpl`**: Advanced Go template rendering via gomplate - **`jinja`**: Python Jinja2 template rendering -- **`mustache`**: Mustache template rendering ## Docs diff --git a/docs/index.md b/docs/index.md index 7576c2f..b457a50 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,9 +19,8 @@ Soonix helps you: - **nix**: Convert Nix data to JSON, YAML, TOML, INI, XML formats - **string**: Output raw string content with optional executable permissions - **derivation**: Use existing Nix derivations as file content -- **gomplate**: Advanced Go template rendering via gomplate +- **gotmpl**: Advanced Go template rendering via gomplate - **jinja**: Python Jinja2 template rendering -- **mustache**: Mustache template rendering ### Automatic File Management @@ -64,7 +63,7 @@ Automatically manage .gitignore entries for generated files to keep your reposit dockerfile = { output = "Dockerfile"; - generator = "gomplate"; + generator = "gotmpl"; data = { baseImage = "node:18-alpine"; port = 3000; diff --git a/docs/usage.md b/docs/usage.md index 7a02190..2153ab2 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -100,7 +100,7 @@ Use Go templates for more complex file generation: hooks = { dockerfile = { output = "Dockerfile"; - generator = "gomplate"; + generator = "gotmpl"; data = { baseImage = "node:18-alpine"; workdir = "/app"; @@ -331,7 +331,7 @@ in { hooks = { kubernetes-manifest = { output = "k8s/deployment.yaml"; - generator = "gomplate"; + generator = "gotmpl"; data = { app = { name = "my-app"; diff --git a/lib/lib.nix b/lib/lib.nix index 3e6005d..cf82725 100644 --- a/lib/lib.nix +++ b/lib/lib.nix @@ -50,7 +50,7 @@ # only a passthru derivation = {data, ...}: data; - gomplate = { + gotmpl = { name, opts, data, @@ -100,21 +100,6 @@ } '' python ${renderScript} > $out ''; - - mustache = { - name, - opts, - data, - }: let - inherit (opts) template; - mustache = opts.mustache or pkgs.mustache-go; - dataJson = writeText "template-data.json" (builtins.toJSON data); - in - runCommand name { - buildInputs = [mustache]; - } '' - mustache ${dataJson} ${template} > $out - ''; }; buildAllFiles = files: diff --git a/lib/module.nix b/lib/module.nix index 91ac9ba..4546319 100644 --- a/lib/module.nix +++ b/lib/module.nix @@ -30,7 +30,7 @@ in { }; generator = mkOption { - type = types.enum ["nix" "string" "derivation" "gomplate" "jinja" "mustache"]; + type = types.enum ["nix" "string" "derivation" "gotmpl" "jinja" "template"]; description = '' Which engine to use for content generation. ''; diff --git a/tests/fixtures/gomplate_template b/tests/fixtures/gotmpl_template similarity index 100% rename from tests/fixtures/gomplate_template rename to tests/fixtures/gotmpl_template diff --git a/tests/fixtures/mustache_template b/tests/fixtures/mustache_template deleted file mode 100644 index a4d8ee1..0000000 --- a/tests/fixtures/mustache_template +++ /dev/null @@ -1 +0,0 @@ -Hello {{hello}} diff --git a/tests/soonix_test.nix b/tests/soonix_test.nix index 0cfa1b8..e59498e 100644 --- a/tests/soonix_test.nix +++ b/tests/soonix_test.nix @@ -19,10 +19,10 @@ }; }; gomplate = { - output = "gomplate"; - generator = "gomplate"; + output = "gotmpl"; + generator = "gotmpl"; data.hello = "world"; - opts.template = ./fixtures/gomplate_template; + opts.template = ./fixtures/gotmpl_template; }; jinja = { output = "jinja"; @@ -30,12 +30,6 @@ data.hello = "world"; opts.template = ./fixtures/jinja_template; }; - mustache = { - output = "mustache"; - generator = "mustache"; - data.hello = "world"; - opts.template = ./fixtures/mustache_template; - }; }; in { suites."Soonix Tests" = { @@ -54,14 +48,11 @@ in { assert "-f ${finalFiles}/out/test.json" "should exist" assert_file_contains ${finalFiles}/out/test.json "soonix-test" - assert "-f ${finalFiles}/gomplate" "should exist" - assert_file_contains ${finalFiles}/gomplate "Hello world" + assert "-f ${finalFiles}/gotmpl" "should exist" + assert_file_contains ${finalFiles}/gotmpl "Hello world" assert "-f ${finalFiles}/jinja" "should exist" assert_file_contains ${finalFiles}/jinja "Hello world" - - assert "-f ${finalFiles}/mustache" "should exist" - assert_file_contains ${finalFiles}/mustache "Hello world" ''; } {