ember.nvp 1.10.0 → 1.11.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/.release-plan.json +4 -22
- package/CHANGELOG.md +11 -0
- package/package.json +1 -1
- package/src/cli/args.js +3 -2
- package/src/cli/help.js +12 -2
- package/test/ember.nvp/cli.test.ts +4 -2
- package/test/ember.nvp/layer-options.test.ts +2 -1
package/.release-plan.json
CHANGED
|
@@ -2,17 +2,13 @@
|
|
|
2
2
|
"solution": {
|
|
3
3
|
"ember.nvp": {
|
|
4
4
|
"impact": "minor",
|
|
5
|
-
"oldVersion": "1.
|
|
6
|
-
"newVersion": "1.
|
|
5
|
+
"oldVersion": "1.10.0",
|
|
6
|
+
"newVersion": "1.11.0",
|
|
7
7
|
"tagName": "latest",
|
|
8
8
|
"constraints": [
|
|
9
9
|
{
|
|
10
10
|
"impact": "minor",
|
|
11
11
|
"reason": "Appears in changelog section :rocket: Enhancement"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"impact": "patch",
|
|
15
|
-
"reason": "Appears in changelog section :bug: Bug Fix"
|
|
16
12
|
}
|
|
17
13
|
],
|
|
18
14
|
"pkgJSONPath": "./package.json"
|
|
@@ -21,25 +17,11 @@
|
|
|
21
17
|
"oldVersion": "1.2.0"
|
|
22
18
|
},
|
|
23
19
|
"@nullvoxpopuli/ember-rolldown": {
|
|
24
|
-
"
|
|
25
|
-
"oldVersion": "2.9.0",
|
|
26
|
-
"newVersion": "2.10.0",
|
|
27
|
-
"tagName": "latest",
|
|
28
|
-
"constraints": [
|
|
29
|
-
{
|
|
30
|
-
"impact": "minor",
|
|
31
|
-
"reason": "Appears in changelog section :rocket: Enhancement"
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"impact": "patch",
|
|
35
|
-
"reason": "Appears in changelog section :bug: Bug Fix"
|
|
36
|
-
}
|
|
37
|
-
],
|
|
38
|
-
"pkgJSONPath": "./packages/rolldown/package.json"
|
|
20
|
+
"oldVersion": "2.10.0"
|
|
39
21
|
},
|
|
40
22
|
"@nullvoxpopuli/ember-vite": {
|
|
41
23
|
"oldVersion": "1.2.0"
|
|
42
24
|
}
|
|
43
25
|
},
|
|
44
|
-
"description": "## Release (2026-09-30)\n\n* ember.nvp 1.
|
|
26
|
+
"description": "## Release (2026-09-30)\n\n* ember.nvp 1.11.0 (minor)\n\n#### :rocket: Enhancement\n* `ember.nvp`\n * [#146](https://github.com/NullVoxPopuli/ember.nvp/pull/146) Better help ([@tcjr](https://github.com/tcjr))\n\n#### Committers: 1\n- Tom Carter ([@tcjr](https://github.com/tcjr))\n"
|
|
45
27
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## Release (2026-09-30)
|
|
4
4
|
|
|
5
|
+
* ember.nvp 1.11.0 (minor)
|
|
6
|
+
|
|
7
|
+
#### :rocket: Enhancement
|
|
8
|
+
* `ember.nvp`
|
|
9
|
+
* [#146](https://github.com/NullVoxPopuli/ember.nvp/pull/146) Better help ([@tcjr](https://github.com/tcjr))
|
|
10
|
+
|
|
11
|
+
#### Committers: 1
|
|
12
|
+
- Tom Carter ([@tcjr](https://github.com/tcjr))
|
|
13
|
+
|
|
14
|
+
## Release (2026-09-30)
|
|
15
|
+
|
|
5
16
|
* ember.nvp 1.10.0 (minor)
|
|
6
17
|
* @nullvoxpopuli/ember-rolldown 2.10.0 (minor)
|
|
7
18
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember.nvp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"description": "ember project generator, alternative to the official blueprints, but more modern -- hopefully one day to upstream back in to ember-cli / official blueprints",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
package/src/cli/args.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as p from "@clack/prompts";
|
|
2
2
|
import { styleText, parseArgs } from "node:util";
|
|
3
|
-
import { layers as discoveredLayers } from "#layers";
|
|
3
|
+
import { layers as discoveredLayers, layerNames } from "#layers";
|
|
4
4
|
import { validateOption } from "./questions/validate-option.js";
|
|
5
5
|
import { printHelp } from "./help.js";
|
|
6
6
|
|
|
@@ -36,7 +36,8 @@ export const coreOptions = /** @type {const} */ ({
|
|
|
36
36
|
layers: {
|
|
37
37
|
type: "string",
|
|
38
38
|
multiple: true,
|
|
39
|
-
|
|
39
|
+
choices: layerNames,
|
|
40
|
+
description: "Layers to apply to the project",
|
|
40
41
|
},
|
|
41
42
|
|
|
42
43
|
packageManager: {
|
package/src/cli/help.js
CHANGED
|
@@ -30,6 +30,7 @@ export function printHelp(coreOptions, layers = []) {
|
|
|
30
30
|
flag: `--${name}`,
|
|
31
31
|
alias: config.short ? `-${config.short}, ` : " ",
|
|
32
32
|
type: config.type,
|
|
33
|
+
multiple: config.multiple,
|
|
33
34
|
description: config.description,
|
|
34
35
|
choices: config.choices,
|
|
35
36
|
});
|
|
@@ -41,6 +42,7 @@ export function printHelp(coreOptions, layers = []) {
|
|
|
41
42
|
|
|
42
43
|
console.log(styleText("bold", "Layer Options:"));
|
|
43
44
|
for (const layer of withOptions) {
|
|
45
|
+
console.log(` Layer: ${styleText(["cyan", "bold"], layer.name)}`);
|
|
44
46
|
for (const [key, schema] of Object.entries(layer.options ?? {})) {
|
|
45
47
|
const name = `${layer.name}.${key}`;
|
|
46
48
|
|
|
@@ -48,6 +50,7 @@ export function printHelp(coreOptions, layers = []) {
|
|
|
48
50
|
flag: schema.type === "confirm" ? `--[no-]${name}` : `--${name}`,
|
|
49
51
|
alias: " ",
|
|
50
52
|
type: FLAG_TYPES[schema.type],
|
|
53
|
+
multiple: schema.type === "multiselect",
|
|
51
54
|
description: schema.prompt,
|
|
52
55
|
choices: schema.options?.map((choice) => choice.value),
|
|
53
56
|
fallback: schema.default,
|
|
@@ -61,20 +64,27 @@ export function printHelp(coreOptions, layers = []) {
|
|
|
61
64
|
* flag: string,
|
|
62
65
|
* alias: string,
|
|
63
66
|
* type?: string,
|
|
67
|
+
* multiple?: boolean,
|
|
64
68
|
* description?: string,
|
|
65
69
|
* choices?: string[],
|
|
66
70
|
* fallback?: unknown,
|
|
67
71
|
* }} option
|
|
68
72
|
*/
|
|
69
|
-
function printOption({ flag, alias, type, description = "", choices, fallback }) {
|
|
73
|
+
function printOption({ flag, alias, type, multiple, description = "", choices, fallback }) {
|
|
70
74
|
const typeStr = type ? styleText("dim", `<${type}>`) : "";
|
|
75
|
+
const repeatStr = multiple
|
|
76
|
+
? type
|
|
77
|
+
? ` ${styleText("dim", "[")}${styleText("cyan", flag)} ${typeStr}${styleText("dim", " ...]")}`
|
|
78
|
+
: ` ${styleText("dim", "[")}${styleText("cyan", flag)}${styleText("dim", " ...]")}`
|
|
79
|
+
: "";
|
|
80
|
+
const flagAndType = [styleText("cyan", flag), typeStr].filter(Boolean).join(" ");
|
|
71
81
|
const choicesStr = choices
|
|
72
82
|
? styleText("yellow", ` [choices: ${choices.map((c) => `"${c}"`).join(", ")}]`)
|
|
73
83
|
: "";
|
|
74
84
|
const fallbackStr =
|
|
75
85
|
fallback === undefined ? "" : styleText("dim", ` [default: ${JSON.stringify(fallback)}]`);
|
|
76
86
|
|
|
77
|
-
console.log(` ${styleText("cyan", alias)}${
|
|
87
|
+
console.log(` ${styleText("cyan", alias)}${flagAndType}${repeatStr}`);
|
|
78
88
|
if (description || choicesStr || fallbackStr) {
|
|
79
89
|
console.log(` ${description}${choicesStr}${fallbackStr}`);
|
|
80
90
|
}
|
|
@@ -37,8 +37,8 @@ const BASIC_HELP_OUTPUT = `
|
|
|
37
37
|
--confirm <string>
|
|
38
38
|
Bypass target confirmation step [choices: "yes", "no"]
|
|
39
39
|
|
|
40
|
-
--layers <string>
|
|
41
|
-
Layers to apply to the project
|
|
40
|
+
--layers <string> [--layers <string> ...]
|
|
41
|
+
Layers to apply to the project [choices: "are-the-types-wrong", "eslint-bundled", "expect-type", "git", "github-actions", "inspector-support", "prettier", "publint", "qunit", "readme", "renovate", "typescript", "vitest"]
|
|
42
42
|
|
|
43
43
|
--packageManager <string>
|
|
44
44
|
Package manager to configure for the project [choices: "npm", "pnpm"]
|
|
@@ -50,9 +50,11 @@ const BASIC_HELP_OUTPUT = `
|
|
|
50
50
|
Confirm writing changes to disk [choices: "yes", "no"]
|
|
51
51
|
|
|
52
52
|
Layer Options:
|
|
53
|
+
Layer: eslint-bundled
|
|
53
54
|
--eslint-bundled.preset <string>
|
|
54
55
|
Which ESLint config? [choices: "ember", "nvp"] [default: "ember"]
|
|
55
56
|
|
|
57
|
+
Layer: typescript
|
|
56
58
|
--typescript.version <string>
|
|
57
59
|
Which TypeScript version? [choices: "7", "6"] [default: "7"]
|
|
58
60
|
"
|
|
@@ -228,6 +228,7 @@ describe("Layer Options Feature", () => {
|
|
|
228
228
|
|
|
229
229
|
expect(output.slice(output.indexOf("Layer Options:"))).toMatchInlineSnapshot(`
|
|
230
230
|
"Layer Options:
|
|
231
|
+
Layer: fake-kitchen-sink
|
|
231
232
|
--fake-kitchen-sink.unitCount <number>
|
|
232
233
|
How many units do you want? [default: 7]
|
|
233
234
|
|
|
@@ -240,7 +241,7 @@ describe("Layer Options Feature", () => {
|
|
|
240
241
|
--[no-]fake-kitchen-sink.enableLogging <boolean>
|
|
241
242
|
Enable detailed sink logging? [default: true]
|
|
242
243
|
|
|
243
|
-
--fake-kitchen-sink.extras <string>
|
|
244
|
+
--fake-kitchen-sink.extras <string> [--fake-kitchen-sink.extras <string> ...]
|
|
244
245
|
Select optional kitchen sink extras [choices: "soap-dispenser", "garbage-disposal"] [default: ["soap-dispenser"]]
|
|
245
246
|
"
|
|
246
247
|
`);
|