mirror of
https://gitlab.com/TECHNOFAB/soonix.git
synced 2026-02-02 15:25:05 +01:00
Merge branch 'gomplate' into 'main'
fix(generator): replace gotmpl with gomplate See merge request TECHNOFAB/soonix!5
This commit is contained in:
commit
c730de8472
7 changed files with 12 additions and 12 deletions
|
|
@ -53,7 +53,7 @@ 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
|
||||
- **`gotmpl`**: Advanced Go template rendering via gomplate
|
||||
- **`gomplate`**: Advanced Go template rendering via gomplate
|
||||
- **`jinja`**: Python Jinja2 template rendering
|
||||
|
||||
## Docs
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ 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
|
||||
- **gotmpl**: Advanced Go template rendering via gomplate
|
||||
- **gomplate**: Advanced Go template rendering via gomplate
|
||||
- **jinja**: Python Jinja2 template rendering
|
||||
|
||||
### Automatic File Management
|
||||
|
|
@ -63,7 +63,7 @@ Automatically manage .gitignore entries for generated files to keep your reposit
|
|||
|
||||
dockerfile = {
|
||||
output = "Dockerfile";
|
||||
generator = "gotmpl";
|
||||
generator = "gomplate";
|
||||
data = {
|
||||
baseImage = "node:18-alpine";
|
||||
port = 3000;
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ Use Go templates for more complex file generation:
|
|||
hooks = {
|
||||
dockerfile = {
|
||||
output = "Dockerfile";
|
||||
generator = "gotmpl";
|
||||
generator = "gomplate";
|
||||
data = {
|
||||
baseImage = "node:18-alpine";
|
||||
workdir = "/app";
|
||||
|
|
@ -331,7 +331,7 @@ in {
|
|||
hooks = {
|
||||
kubernetes-manifest = {
|
||||
output = "k8s/deployment.yaml";
|
||||
generator = "gotmpl";
|
||||
generator = "gomplate";
|
||||
data = {
|
||||
app = {
|
||||
name = "my-app";
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
# only a passthru
|
||||
derivation = {data, ...}: data;
|
||||
|
||||
gotmpl = {
|
||||
gomplate = {
|
||||
name,
|
||||
opts,
|
||||
data,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ in {
|
|||
};
|
||||
|
||||
generator = mkOption {
|
||||
type = types.enum ["nix" "string" "derivation" "gotmpl" "jinja" "template"];
|
||||
type = types.enum ["nix" "string" "derivation" "gomplate" "jinja" "template"];
|
||||
description = ''
|
||||
Which engine to use for content generation.
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@
|
|||
};
|
||||
};
|
||||
gomplate = {
|
||||
output = "gotmpl";
|
||||
generator = "gotmpl";
|
||||
output = "gomplate";
|
||||
generator = "gomplate";
|
||||
data.hello = "world";
|
||||
opts.template = ./fixtures/gotmpl_template;
|
||||
opts.template = ./fixtures/gomplate_template;
|
||||
};
|
||||
jinja = {
|
||||
output = "jinja";
|
||||
|
|
@ -48,8 +48,8 @@ in {
|
|||
assert "-f ${finalFiles}/out/test.json" "should exist"
|
||||
assert_file_contains ${finalFiles}/out/test.json "soonix-test"
|
||||
|
||||
assert "-f ${finalFiles}/gotmpl" "should exist"
|
||||
assert_file_contains ${finalFiles}/gotmpl "Hello world"
|
||||
assert "-f ${finalFiles}/gomplate" "should exist"
|
||||
assert_file_contains ${finalFiles}/gomplate "Hello world"
|
||||
|
||||
assert "-f ${finalFiles}/jinja" "should exist"
|
||||
assert_file_contains ${finalFiles}/jinja "Hello world"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue