diff --git a/README.md b/README.md index 08e0f3d..00919ba 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,8 @@ export type Config = { destroy?: boolean; // Log the generated component to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a nested colocated component, e.g. `foo/bar/index.gts`: nested?: boolean; // Generate a component at a custom path, e.g. `--path=src/-private`: @@ -149,6 +151,8 @@ export type Config = { destroy?: boolean; // Log the generated helper to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a helper at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding helper-test: @@ -181,6 +185,8 @@ export type Config = { destroy?: boolean; // Log the generated modifier to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a modifier at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding modifier-test: @@ -213,6 +219,8 @@ export type Config = { log?: boolean; // Generate a route at a custom path, e.g. `--path=src/-private`: path?: string; + // Generate a corresponding template: + template?: boolean; // Generate a corresponding route-test: test?: boolean; // Generate a `.ts` route, instead of a `.js` route: @@ -262,6 +270,22 @@ export type Config = { // Generate a `.ts` service-test, instead of a `.js` service-test: typescript?: boolean; }; + template?: { + // Generate a `class-based` template, instead of a `template-only` template: + classBased?: boolean; + // Copy the generated template to the clipboard, instead of writing it to disk: + copy?: boolean; + // The current working directory to run the template generator in: + cwd?: string; + // Destroy a template by name: + destroy?: boolean; + // Log the generated template to the console, instead of writing it to disk: + log?: boolean; + // Generate a template at a custom path, e.g. `--path=src/-private`: + path?: string; + // Generate a `.gts` template, instead of a `.gjs` template: + typescript?: boolean; + }; util?: { // Copy the generated util to the clipboard, instead of writing it to disk: copy?: boolean; @@ -271,6 +295,8 @@ export type Config = { destroy?: boolean; // Log the generated util to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a util at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding util-test: diff --git a/src/cli.ts b/src/cli.ts index 4e3dc69..c4e6237 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -9,7 +9,6 @@ import { GemberError, logGemberErrors } from "./errors.js"; import { generators, getGenerator, - getTemplateGenerator, getTestGenerator, } from "./generators/generators.js"; import { readOwnPackageJsonSync } from "./internal.js"; @@ -123,12 +122,22 @@ function generatorCommands(deprecated?: boolean): SubCommandsDef { logGemberErrors(async () => { await generator.run(context.args); + if (context.args.template) { + if (generator.hasArg("template")) { + await getGenerator("template").run(context.args); + } else { + logger.warn( + `You passed the \`--template\` option, but the \`${generator.name}\` generator does not have a corresponding template generator.`, + ); + } + } + if (context.args.test) { if (generator.isTestGenerator) { logger.warn( `You passed the \`--test\` option, but the \`${generator.name}\` generator is already a test generator.`, ); - } else if (generator.args.find((arg) => arg.name === "test")) { + } else if (generator.hasArg("test")) { await getTestGenerator(generator.name).run(context.args); } else { logger.warn( @@ -136,16 +145,6 @@ function generatorCommands(deprecated?: boolean): SubCommandsDef { ); } } - - if (context.args.template) { - if (generator.args.find((arg) => arg.name === "template")) { - await getTemplateGenerator().run(context.args); - } else { - logger.warn( - `You passed the \`--template\` option, but the \`${generator.name}\` generator does not support generating a template.`, - ); - } - } }); }, }; diff --git a/src/config.ts b/src/config.ts index fda8b34..b3b6905 100644 --- a/src/config.ts +++ b/src/config.ts @@ -5,6 +5,7 @@ import type { GeneratorFile } from "./generators/generator.js"; import { logger } from "./logger.js"; export type Config = { + // Generated using `/dev/generate-generators-type.js`: generators?: { "acceptance-test"?: { // Copy the generated acceptance-test to the clipboard, instead of writing it to disk: @@ -31,6 +32,8 @@ export type Config = { destroy?: boolean; // Log the generated component to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a nested colocated component, e.g. `foo/bar/index.gts`: nested?: boolean; // Generate a component at a custom path, e.g. `--path=src/-private`: @@ -95,6 +98,8 @@ export type Config = { destroy?: boolean; // Log the generated helper to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a helper at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding helper-test: @@ -127,6 +132,8 @@ export type Config = { destroy?: boolean; // Log the generated modifier to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a modifier at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding modifier-test: @@ -180,22 +187,6 @@ export type Config = { // Generate a `.ts` route-test, instead of a `.js` route-test: typescript?: boolean; }; - template?: { - // Generate a `class-based` template, instead of a `template-only` template: - classBased?: boolean; - // Copy the generated template to the clipboard, instead of writing it to disk: - copy?: boolean; - // The current working directory to run the template generator in: - cwd?: string; - // Destroy a template by name: - destroy?: boolean; - // Log the generated template to the console, instead of writing it to disk: - log?: boolean; - // Generate a template at a custom path, e.g. `--path=src/-private`: - path?: string; - // Generate a `.gts` template, instead of a `.gjs` template: - typescript?: boolean; - }; service?: { // Copy the generated service to the clipboard, instead of writing it to disk: copy?: boolean; @@ -226,6 +217,22 @@ export type Config = { // Generate a `.ts` service-test, instead of a `.js` service-test: typescript?: boolean; }; + template?: { + // Generate a `class-based` template, instead of a `template-only` template: + classBased?: boolean; + // Copy the generated template to the clipboard, instead of writing it to disk: + copy?: boolean; + // The current working directory to run the template generator in: + cwd?: string; + // Destroy a template by name: + destroy?: boolean; + // Log the generated template to the console, instead of writing it to disk: + log?: boolean; + // Generate a template at a custom path, e.g. `--path=src/-private`: + path?: string; + // Generate a `.gts` template, instead of a `.gjs` template: + typescript?: boolean; + }; util?: { // Copy the generated util to the clipboard, instead of writing it to disk: copy?: boolean; @@ -235,6 +242,8 @@ export type Config = { destroy?: boolean; // Log the generated util to the console, instead of writing it to disk: log?: boolean; + // Generate a named export, instead of a default export: + namedExport?: boolean; // Generate a util at a custom path, e.g. `--path=src/-private`: path?: string; // Generate a corresponding util-test: diff --git a/src/generators/generator.ts b/src/generators/generator.ts index 9a4dc6f..bdf1ce1 100644 --- a/src/generators/generator.ts +++ b/src/generators/generator.ts @@ -19,6 +19,7 @@ import { export type Generator = { args: GeneratorArg[]; description: string; + hasArg: (name: GeneratorArg["name"]) => boolean; isTestGenerator: boolean; name: string; run: (args: Args) => Promise; @@ -234,6 +235,7 @@ export function defineGenerator({ return { args: generatorArgs, description: description ?? `Generate a new ${generatorName}`, + hasArg: (name) => generatorArgs.some((arg) => arg.name === name), isTestGenerator: isTestGenerator ?? false, name: generatorName, run, @@ -360,7 +362,7 @@ export function path(): GeneratorArgFactory { export function template(): GeneratorArgFactory { return () => ({ - description: `Generate a corresponding template`, + description: "Generate a corresponding template", name: "template", type: "boolean", }); diff --git a/src/generators/generators.ts b/src/generators/generators.ts index 1672515..736f15a 100644 --- a/src/generators/generators.ts +++ b/src/generators/generators.ts @@ -100,9 +100,6 @@ export const generators: Generator[] = [ classBased({ functionBasedName: "template-only" }), typescript({ gts: true }), ], - modifyTemplateFile: (templateFile) => { - templateFile.name = "component"; - }, name: "template", }), @@ -133,7 +130,3 @@ export function getGenerator(generatorName: string): Generator { export function getTestGenerator(generatorName: string): Generator { return getGenerator(testGeneratorName(generatorName)); } - -export function getTemplateGenerator(): Generator { - return getGenerator("template"); -} diff --git a/templates/template/component.class-based.gjs b/templates/template/template.class-based.gjs similarity index 100% rename from templates/template/component.class-based.gjs rename to templates/template/template.class-based.gjs diff --git a/templates/template/component.class-based.gts b/templates/template/template.class-based.gts similarity index 100% rename from templates/template/component.class-based.gts rename to templates/template/template.class-based.gts index 5c0abb3..caf88d4 100644 --- a/templates/template/component.class-based.gts +++ b/templates/template/template.class-based.gts @@ -2,8 +2,8 @@ import Component from '@glimmer/component'; export interface {{name.signature}} { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; diff --git a/templates/template/component.template-only.gjs b/templates/template/template.template-only.gjs similarity index 100% rename from templates/template/component.template-only.gjs rename to templates/template/template.template-only.gjs diff --git a/templates/template/component.template-only.gts b/templates/template/template.template-only.gts similarity index 100% rename from templates/template/component.template-only.gts rename to templates/template/template.template-only.gts index 3274873..7634d5c 100644 --- a/templates/template/component.template-only.gts +++ b/templates/template/template.template-only.gts @@ -2,8 +2,8 @@ import type { TOC } from '@ember/component/template-only'; export interface {{name.signature}} { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; diff --git a/test/__snapshots__/generators.test.ts.snap b/test/__snapshots__/generators.test.ts.snap index 53e1087..79b264d 100644 --- a/test/__snapshots__/generators.test.ts.snap +++ b/test/__snapshots__/generators.test.ts.snap @@ -1985,25 +1985,12 @@ exports[`package-type: v1-addon > generator: route > args: --log --template --te export default class FooBarBazRoute extends Route {} -[log] import { module, test } from 'qunit'; -import { setupTest } from 'ember-qunit'; - -module('Unit | Route | FooBarBaz', function (hooks) { - setupTest(hooks); - - test('it exists', function (assert) { - const route = this.owner.lookup('route:foo/bar-baz'); - - assert.ok(route); - }); -}); - [log] import type { TOC } from '@ember/component/template-only'; export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -2014,6 +2001,19 @@ export interface FooBarBazSignature { const FooBarBaz: TOC = ; export default FooBarBaz; + +[log] import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | FooBarBaz', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + const route = this.owner.lookup('route:foo/bar-baz'); + + assert.ok(route); + }); +}); " `; @@ -2022,6 +2022,8 @@ exports[`package-type: v1-addon > generator: route > args: --log --template --te export default class FooBarBazRoute extends Route {} +[log] + [log] import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; @@ -2034,8 +2036,6 @@ module('Unit | Route | FooBarBaz', function (hooks) { assert.ok(route); }); }); - -[log] " `; @@ -2048,8 +2048,8 @@ export default class FooBarBazRoute extends Route {} export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -2128,14 +2128,14 @@ export default class FooBarBazRoute extends Route {} exports[`package-type: v1-addon > generator: route > args: --template --test --typescript 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`addon/routes/foo/bar-baz.ts\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`. -[success] Generated template \`foo/bar-baz\` at \`addon/templates/foo/bar-baz.gts\`." +[success] Generated template \`foo/bar-baz\` at \`addon/templates/foo/bar-baz.gts\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`." `; exports[`package-type: v1-addon > generator: route > args: --template --test 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`addon/routes/foo/bar-baz.js\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`. -[success] Generated template \`foo/bar-baz\` at \`addon/templates/foo/bar-baz.gjs\`." +[success] Generated template \`foo/bar-baz\` at \`addon/templates/foo/bar-baz.gjs\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`." `; exports[`package-type: v1-addon > generator: route > args: --template --typescript 1`] = ` @@ -2311,8 +2311,8 @@ exports[`package-type: v1-addon > generator: template > args: --classBased --log export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -2346,8 +2346,8 @@ exports[`package-type: v1-addon > generator: template > args: --log --typescript export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -4509,25 +4509,12 @@ exports[`package-type: v1-app > generator: route > args: --log --template --test export default class FooBarBazRoute extends Route {} -[log] import { module, test } from 'qunit'; -import { setupTest } from 'ember-qunit'; - -module('Unit | Route | FooBarBaz', function (hooks) { - setupTest(hooks); - - test('it exists', function (assert) { - const route = this.owner.lookup('route:foo/bar-baz'); - - assert.ok(route); - }); -}); - [log] import type { TOC } from '@ember/component/template-only'; export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -4538,6 +4525,19 @@ export interface FooBarBazSignature { const FooBarBaz: TOC = ; export default FooBarBaz; + +[log] import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | FooBarBaz', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + const route = this.owner.lookup('route:foo/bar-baz'); + + assert.ok(route); + }); +}); " `; @@ -4546,6 +4546,8 @@ exports[`package-type: v1-app > generator: route > args: --log --template --test export default class FooBarBazRoute extends Route {} +[log] + [log] import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; @@ -4558,8 +4560,6 @@ module('Unit | Route | FooBarBaz', function (hooks) { assert.ok(route); }); }); - -[log] " `; @@ -4572,8 +4572,8 @@ export default class FooBarBazRoute extends Route {} export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -4652,14 +4652,14 @@ export default class FooBarBazRoute extends Route {} exports[`package-type: v1-app > generator: route > args: --template --test --typescript 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`app/routes/foo/bar-baz.ts\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`. -[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gts\`." +[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gts\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`." `; exports[`package-type: v1-app > generator: route > args: --template --test 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`app/routes/foo/bar-baz.js\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`. -[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gjs\`." +[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gjs\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`." `; exports[`package-type: v1-app > generator: route > args: --template --typescript 1`] = ` @@ -4835,8 +4835,8 @@ exports[`package-type: v1-app > generator: template > args: --classBased --log - export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -4870,8 +4870,8 @@ exports[`package-type: v1-app > generator: template > args: --log --typescript 1 export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -7033,25 +7033,12 @@ exports[`package-type: v2-addon > generator: route > args: --log --template --te export default class FooBarBazRoute extends Route {} -[log] import { module, test } from 'qunit'; -import { setupTest } from 'v2-addon/tests/helpers'; - -module('Unit | Route | FooBarBaz', function (hooks) { - setupTest(hooks); - - test('it exists', function (assert) { - const route = this.owner.lookup('route:foo/bar-baz'); - - assert.ok(route); - }); -}); - [log] import type { TOC } from '@ember/component/template-only'; export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -7062,6 +7049,19 @@ export interface FooBarBazSignature { const FooBarBaz: TOC = ; export default FooBarBaz; + +[log] import { module, test } from 'qunit'; +import { setupTest } from 'v2-addon/tests/helpers'; + +module('Unit | Route | FooBarBaz', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + const route = this.owner.lookup('route:foo/bar-baz'); + + assert.ok(route); + }); +}); " `; @@ -7070,6 +7070,8 @@ exports[`package-type: v2-addon > generator: route > args: --log --template --te export default class FooBarBazRoute extends Route {} +[log] + [log] import { module, test } from 'qunit'; import { setupTest } from 'v2-addon/tests/helpers'; @@ -7082,8 +7084,6 @@ module('Unit | Route | FooBarBaz', function (hooks) { assert.ok(route); }); }); - -[log] " `; @@ -7096,8 +7096,8 @@ export default class FooBarBazRoute extends Route {} export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -7176,14 +7176,14 @@ export default class FooBarBazRoute extends Route {} exports[`package-type: v2-addon > generator: route > args: --template --test --typescript 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`src/routes/foo/bar-baz.ts\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`. -[success] Generated template \`foo/bar-baz\` at \`src/templates/foo/bar-baz.gts\`." +[success] Generated template \`foo/bar-baz\` at \`src/templates/foo/bar-baz.gts\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`." `; exports[`package-type: v2-addon > generator: route > args: --template --test 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`src/routes/foo/bar-baz.js\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`. -[success] Generated template \`foo/bar-baz\` at \`src/templates/foo/bar-baz.gjs\`." +[success] Generated template \`foo/bar-baz\` at \`src/templates/foo/bar-baz.gjs\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`." `; exports[`package-type: v2-addon > generator: route > args: --template --typescript 1`] = ` @@ -7359,8 +7359,8 @@ exports[`package-type: v2-addon > generator: template > args: --classBased --log export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -7394,8 +7394,8 @@ exports[`package-type: v2-addon > generator: template > args: --log --typescript export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -9557,25 +9557,12 @@ exports[`package-type: v2-app > generator: route > args: --log --template --test export default class FooBarBazRoute extends Route {} -[log] import { module, test } from 'qunit'; -import { setupTest } from 'ember-qunit'; - -module('Unit | Route | FooBarBaz', function (hooks) { - setupTest(hooks); - - test('it exists', function (assert) { - const route = this.owner.lookup('route:foo/bar-baz'); - - assert.ok(route); - }); -}); - [log] import type { TOC } from '@ember/component/template-only'; export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -9586,6 +9573,19 @@ export interface FooBarBazSignature { const FooBarBaz: TOC = ; export default FooBarBaz; + +[log] import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | FooBarBaz', function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + const route = this.owner.lookup('route:foo/bar-baz'); + + assert.ok(route); + }); +}); " `; @@ -9594,6 +9594,8 @@ exports[`package-type: v2-app > generator: route > args: --log --template --test export default class FooBarBazRoute extends Route {} +[log] + [log] import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; @@ -9606,8 +9608,6 @@ module('Unit | Route | FooBarBaz', function (hooks) { assert.ok(route); }); }); - -[log] " `; @@ -9620,8 +9620,8 @@ export default class FooBarBazRoute extends Route {} export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -9700,14 +9700,14 @@ export default class FooBarBazRoute extends Route {} exports[`package-type: v2-app > generator: route > args: --template --test --typescript 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`app/routes/foo/bar-baz.ts\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`. -[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gts\`." +[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gts\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.ts\`." `; exports[`package-type: v2-app > generator: route > args: --template --test 1`] = ` "[success] Generated route \`foo/bar-baz\` at \`app/routes/foo/bar-baz.js\`. -[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`. -[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gjs\`." +[success] Generated template \`foo/bar-baz\` at \`app/templates/foo/bar-baz.gjs\`. +[success] Generated route-test \`foo/bar-baz\` at \`tests/unit/routes/foo/bar-baz-test.js\`." `; exports[`package-type: v2-app > generator: route > args: --template --typescript 1`] = ` @@ -9883,8 +9883,8 @@ exports[`package-type: v2-app > generator: template > args: --classBased --log - export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -9918,8 +9918,8 @@ exports[`package-type: v2-app > generator: template > args: --log --typescript 1 export interface FooBarBazSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; diff --git a/test/generators/__snapshots__/template.test.ts.snap b/test/generators/__snapshots__/template.test.ts.snap index 2a4ec0c..a23026c 100644 --- a/test/generators/__snapshots__/template.test.ts.snap +++ b/test/generators/__snapshots__/template.test.ts.snap @@ -1,10 +1,5 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`creates nested route templates 1`] = ` -" -" -`; - exports[`generates a class-based \`.gjs\` template 1`] = ` "import Component from '@glimmer/component'; @@ -19,8 +14,8 @@ exports[`generates a class-based \`.gts\` template 1`] = ` export interface FooSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -36,7 +31,7 @@ export default class Foo extends Component { " `; -exports[`generates a nested \`.gjs\` template 1`] = ` +exports[`generates a nested template-only \`.gjs\` template 1`] = ` " " `; @@ -56,8 +51,8 @@ exports[`generates a template-only \`.gts\` template 1`] = ` export interface FooSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; @@ -76,8 +71,8 @@ exports[`generates a template-only \`.gts\` template at a custom path 1`] = ` export interface FooSignature { Args: { - model: unknown; controller: unknown; + model: unknown; }; Blocks: { default: []; diff --git a/test/generators/template.test.ts b/test/generators/template.test.ts index 8e845da..e6ec455 100644 --- a/test/generators/template.test.ts +++ b/test/generators/template.test.ts @@ -65,7 +65,7 @@ it("generates a template-only `.gts` template at a custom path", async (ctx) => ctx.expect(content).toMatchSnapshot(); }); -it("generates a nested `.gjs` template", async (ctx) => { +it("generates a nested template-only `.gjs` template", async (ctx) => { pkg = await Package.create("v2-addon"); await pkg.gember("template", "foo/bar"); @@ -86,13 +86,3 @@ it("destroys a template", async (ctx) => { ctx.expect(await pkg.pathExists("src/templates/foo.gjs")).to.equal(false); }); - -it("creates nested route templates", async (ctx) => { - pkg = await Package.create("v2-addon"); - - await pkg.gember("template", "foo/bar/baz"); - - const content = await pkg.readFile("src/templates/foo/bar/baz.gjs"); - - ctx.expect(content).toMatchSnapshot(); -}); diff --git a/vitest.config.ts b/vitest.config.ts index 9ee325a..823bc50 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -7,6 +7,9 @@ export default defineConfig({ }, }, test: { + coverage: { + exclude: ["**/dev/**", "**/templates/**"], + }, forceRerunTriggers: ["**/dist/**", "**/templates/**"], }, });