@rse/nunjucks-cli 1.4.5 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/eslint.yaml +1 -1
- package/nunjucks.js +4 -3
- package/nunjucks.md +10 -8
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ nunjucks-cli
|
|
|
8
8
|
[](https://github.com/rse)
|
|
9
9
|
[](https://github.com/rse/nunjucks-cli)
|
|
10
10
|
<br/>
|
|
11
|
+
[](https://npmjs.com/@rse/nunjucks-cli)
|
|
11
12
|
[](https://npmjs.com/@rse/nunjucks-cli)
|
|
12
13
|
[](https://npmjs.com/@rse/nunjucks-cli)
|
|
13
14
|
|
|
@@ -66,23 +67,25 @@ $ nunjucks
|
|
|
66
67
|
```
|
|
67
68
|
|
|
68
69
|
- `-h`|`--help`:<br/>
|
|
69
|
-
|
|
70
|
+
Show usage help.
|
|
70
71
|
- `-V`|`--version`:<br/>
|
|
71
|
-
|
|
72
|
+
Show program version information.
|
|
72
73
|
- `-c`|`--config` `<config-file>`:<br/>
|
|
73
|
-
|
|
74
|
+
Load Nunjucks configuration YAML file.
|
|
74
75
|
- `-C`|`--option` `<key>=<value>`:<br/>
|
|
75
|
-
|
|
76
|
+
Set Nunjucks configuration option.
|
|
76
77
|
- `-d`|`--defines` `<context-file>`:<br/>
|
|
77
|
-
|
|
78
|
+
Load context definition YAML file.
|
|
79
|
+
Can occur multiple times.
|
|
78
80
|
- `-D`|`--define` `<key>=<value>`:<br/>
|
|
79
|
-
|
|
81
|
+
Set context definition key/value.
|
|
82
|
+
Can occur multiple times.
|
|
80
83
|
- `-e`|`--extension` `<module-name>`:<br/>
|
|
81
|
-
|
|
84
|
+
Load Nunjucks JavaScript extension module (installed via NPM).
|
|
82
85
|
- `-o`|`--output` `<output-file>`|`-`:<br/>
|
|
83
|
-
|
|
86
|
+
Save output file (or stdout).
|
|
84
87
|
- `<input-file>`|`-`:<br/>
|
|
85
|
-
|
|
88
|
+
Load input file (or stdin).
|
|
86
89
|
|
|
87
90
|
Example
|
|
88
91
|
-------
|
package/eslint.yaml
CHANGED
package/nunjucks.js
CHANGED
|
@@ -17,6 +17,7 @@ const commander = require("commander")
|
|
|
17
17
|
const chalk = require("chalk")
|
|
18
18
|
const jsYAML = require("js-yaml")
|
|
19
19
|
const nunjucks = require("nunjucks")
|
|
20
|
+
const deepmerge = require("deepmerge")
|
|
20
21
|
|
|
21
22
|
/* parse command-line arguments */
|
|
22
23
|
const program = new commander.Command()
|
|
@@ -27,7 +28,7 @@ program.name("nunjucks")
|
|
|
27
28
|
.option("-V, --version", "show program version information", false)
|
|
28
29
|
.option("-c, --config <config-file>", "load Nunjucks configuration YAML file", "")
|
|
29
30
|
.option("-C, --option <key>=<value>", "set Nunjucks configuration option", (v, l) => l.concat([ v ]), [])
|
|
30
|
-
.option("-d, --defines <context-file>", "load context definition YAML file",
|
|
31
|
+
.option("-d, --defines <context-file>", "load context definition YAML file", (v, l) => l.concat([ v ]), [])
|
|
31
32
|
.option("-D, --define <key>=<value>", "set context definition key/value", (v, l) => l.concat([ v ]), [])
|
|
32
33
|
.option("-e, --extension <module-name>", "load Nunjucks JavaScript extension module", (v, l) => l.concat([ v ]), [])
|
|
33
34
|
.option("-o, --output <output-file>", "save output file", "-")
|
|
@@ -88,9 +89,9 @@ else {
|
|
|
88
89
|
|
|
89
90
|
/* provide context variables for template */
|
|
90
91
|
let context = {}
|
|
91
|
-
|
|
92
|
+
for (const define of argv.defines) {
|
|
92
93
|
try {
|
|
93
|
-
context = jsYAML.load(fs.readFileSync(
|
|
94
|
+
context = deepmerge(context, jsYAML.load(fs.readFileSync(define, { encoding: "utf8" })))
|
|
94
95
|
}
|
|
95
96
|
catch (ex) {
|
|
96
97
|
console.error(chalk.red(`nunjucks: ERROR: failed to load context YAML file: ${ex.toString()}`))
|
package/nunjucks.md
CHANGED
|
@@ -31,28 +31,30 @@ The following top-level options and arguments exist:
|
|
|
31
31
|
Show usage help.
|
|
32
32
|
|
|
33
33
|
- \[`-V`|`--version`\]
|
|
34
|
-
|
|
34
|
+
Show program version information.
|
|
35
35
|
|
|
36
36
|
- \[`-c`|`--config` *config-file*\]
|
|
37
|
-
|
|
37
|
+
Load Nunjucks configuration YAML file.
|
|
38
38
|
|
|
39
39
|
- \[`-C`|`--option` *key*=*value*\]
|
|
40
|
-
|
|
40
|
+
Set Nunjucks configuration option.
|
|
41
41
|
|
|
42
42
|
- \[`-d`|`--defines` *context-file*\]
|
|
43
|
-
|
|
43
|
+
Load context definition YAML file.
|
|
44
|
+
Can occur multiple times.
|
|
44
45
|
|
|
45
46
|
- \[`-D`|`--define` *key*=*value*\]
|
|
46
|
-
|
|
47
|
+
Set context definition key/value.
|
|
48
|
+
Can occur multiple times.
|
|
47
49
|
|
|
48
50
|
- \[`-e`|`--extension` *module-name*\]
|
|
49
|
-
|
|
51
|
+
Load Nunjucks JavaScript extension module (installed via NPM).
|
|
50
52
|
|
|
51
53
|
- \[`-o`|`--output` *output-file*|`-`\]
|
|
52
|
-
|
|
54
|
+
Save output file (or stdout).
|
|
53
55
|
|
|
54
56
|
- \[`<input-file>`|`-`\]
|
|
55
|
-
|
|
57
|
+
Load input file (or stdin).
|
|
56
58
|
|
|
57
59
|
## EXAMPLE
|
|
58
60
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rse/nunjucks-cli",
|
|
3
3
|
"publishConfig": { "access": "public" },
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.5.0",
|
|
5
5
|
"stdver": "1.4.3.20230827-GA",
|
|
6
6
|
"description": "Nunjucks Template Rendering Command-Line Interface",
|
|
7
7
|
"author": {
|
|
@@ -25,17 +25,18 @@
|
|
|
25
25
|
"nunjucks": "3.2.4",
|
|
26
26
|
"chalk": "4.1.0",
|
|
27
27
|
"commander": "11.0.0",
|
|
28
|
-
"js-yaml": "4.1.0"
|
|
28
|
+
"js-yaml": "4.1.0",
|
|
29
|
+
"deepmerge": "4.3.1"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"eslint": "8.
|
|
32
|
+
"eslint": "8.50.0",
|
|
32
33
|
"eslint-config-standard": "17.1.0",
|
|
33
34
|
"eslint-plugin-promise": "6.1.1",
|
|
34
35
|
"eslint-plugin-import": "2.28.1",
|
|
35
36
|
"eslint-plugin-node": "11.1.0",
|
|
36
|
-
"remark-cli": "
|
|
37
|
-
"remark": "
|
|
38
|
-
"remark-man": "
|
|
37
|
+
"remark-cli": "12.0.0",
|
|
38
|
+
"remark": "15.0.1",
|
|
39
|
+
"remark-man": "9.0.0"
|
|
39
40
|
},
|
|
40
41
|
"upd": [ "!chalk" ],
|
|
41
42
|
"scripts": {
|