From cd6d3def427332a3b2fe00a81ca14f222274b6f6 Mon Sep 17 00:00:00 2001 From: Isaac Lee <16869656+ijlee2@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:21:46 +0200 Subject: [PATCH] Implemented generate commands (Part 2) (#7) * chore: Added fixtures * feature: Guaranteed idempotency * refactor: Defined variations of entity name in create-options * feature: Updated barrel file * feature: Updated template registry * bugfix, feature: Created test file * chore: Updated fixtures * chore: Added changeset --------- Co-authored-by: ijlee2 --- .changeset/bright-numbers-confess.md | 5 + .../__testAppLocation__/__fileName__.gts | 6 +- .../__testAppLocation__/__fileName__.ts | 4 +- .../component/glimmer/__fileName__.ts | 4 +- .../component/template-tag/__fileName__.gts | 4 +- .../__testAppLocation__/__fileName__.gts | 8 +- .../__testAppLocation__/__fileName__.ts | 4 +- .../run-generate/helper/class/__fileName__.ts | 4 +- .../helper/function/__fileName__.ts | 4 +- .../__testAppLocation__/__fileName__.gts | 11 +-- .../__testAppLocation__/__fileName__.ts | 4 +- .../modifier/class/__fileName__.ts | 4 +- .../modifier/function/__fileName__.ts | 6 +- .../__testAppLocation__/__fileName__.ts | 4 +- .../service/class/__fileName__.ts | 4 +- .../util/__testAppLocation__/__fileName__.ts | 6 +- .../util/function/__fileName__.ts | 2 +- packages/blueprints-addon/src/run-generate.ts | 31 ++++++- .../src/steps/run-generate/create-entity.ts | 12 +-- .../src/steps/run-generate/create-options.ts | 12 ++- .../steps/run-generate/create-test-file.ts | 65 +++++++++++++ .../src/steps/run-generate/index.ts | 3 + .../steps/run-generate/update-barrel-file.ts | 45 +++++++++ .../run-generate/update-template-registry.ts | 93 +++++++++++++++++++ .../src/types/run-generate.ts | 3 + .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 5 + .../components/my/example-1-test.gts | 16 ++++ .../components/my/example-1-test.ts | 16 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 5 + .../components/my/example-1-test.gts | 16 ++++ .../components/my/example-1-test.ts | 16 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 4 + .../integration/helpers/my/example-1-test.gts | 18 ++++ .../integration/helpers/my/example-1-test.ts | 18 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 4 + .../integration/helpers/my/example-1-test.gts | 18 ++++ .../integration/helpers/my/example-1-test.ts | 18 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 4 + .../modifiers/my/example-1-test.gts | 16 ++++ .../modifiers/my/example-1-test.ts | 16 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 1 + .../ui/button/src/template-registry.ts | 4 + .../modifiers/my/example-1-test.gts | 16 ++++ .../modifiers/my/example-1-test.ts | 16 ++++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../tests/unit/services/my/example-1-test.ts | 12 +++ .../input/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../output/packages/ui/button/src/index.ts | 0 .../ui/button/src/template-registry.ts | 1 + .../tests/unit/utils/my/example-1-test.ts | 10 ++ 71 files changed, 558 insertions(+), 54 deletions(-) create mode 100644 .changeset/bright-numbers-confess.md create mode 100644 packages/blueprints-addon/src/steps/run-generate/create-test-file.ts create mode 100644 packages/blueprints-addon/src/steps/run-generate/update-barrel-file.ts create mode 100644 packages/blueprints-addon/src/steps/run-generate/update-template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/output/test-app/tests/integration/components/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/glimmer/output/test-app/tests/integration/components/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/output/test-app/tests/integration/components/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-component/template-tag/output/test-app/tests/integration/components/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/output/test-app/tests/integration/helpers/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/class/output/test-app/tests/integration/helpers/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/output/test-app/tests/integration/helpers/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-helper/function/output/test-app/tests/integration/helpers/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/output/test-app/tests/integration/modifiers/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/class/output/test-app/tests/integration/modifiers/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/output/test-app/tests/integration/modifiers/my/example-1-test.gts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-modifier/function/output/test-app/tests/integration/modifiers/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-service/class/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-service/class/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-service/class/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-service/class/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-service/class/output/test-app/tests/unit/services/my/example-1-test.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-util/function/input/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-util/function/input/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-util/function/output/packages/ui/button/src/index.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-util/function/output/packages/ui/button/src/template-registry.ts create mode 100644 packages/blueprints-addon/tests/fixtures/run-generate-util/function/output/test-app/tests/unit/utils/my/example-1-test.ts diff --git a/.changeset/bright-numbers-confess.md b/.changeset/bright-numbers-confess.md new file mode 100644 index 0000000..416f2b4 --- /dev/null +++ b/.changeset/bright-numbers-confess.md @@ -0,0 +1,5 @@ +--- +"blueprints-addon": minor +--- + +Implemented generate commands (Part 2) diff --git a/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.gts b/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.gts index 1cc21b1..b26e65e 100644 --- a/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.gts +++ b/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.gts @@ -1,14 +1,14 @@ -import { <%= data.entity.classifiedName %> } from '<%! options.package.name %>'; +import { <%= options.entity.classifiedName %> } from '<%= options.addon.name %>'; import { render } from '@ember/test-helpers'; import { module, test } from 'qunit'; import { setupRenderingTest } from 'test-app/tests/helpers'; -module('Integration | Component | <%= data.entity.name %>', function (hooks) { +module('Integration | Component | <%= options.entity.name %>', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { await render(); assert.dom().hasText(''); diff --git a/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.ts b/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.ts index 359a1ed..0ba628c 100644 --- a/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.ts +++ b/packages/blueprints-addon/src/blueprints/run-generate/component/__testAppLocation__/__fileName__.ts @@ -3,12 +3,12 @@ import { hbs } from 'ember-cli-htmlbars'; import { module, test } from 'qunit'; import { setupRenderingTest } from 'test-app/tests/helpers'; -module('Integration | Component | <%= data.entity.name %>', function (hooks) { +module('Integration | Component | <%= options.entity.name %>', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { await render(hbs` - <<%= data.entity.doubleColonizedName %> /> + <<%= options.entity.doubleColonizedName %> /> `); assert.dom().hasText(''); diff --git a/packages/blueprints-addon/src/blueprints/run-generate/component/glimmer/__fileName__.ts b/packages/blueprints-addon/src/blueprints/run-generate/component/glimmer/__fileName__.ts index 9774966..b0b2b18 100644 --- a/packages/blueprints-addon/src/blueprints/run-generate/component/glimmer/__fileName__.ts +++ b/packages/blueprints-addon/src/blueprints/run-generate/component/glimmer/__fileName__.ts @@ -2,7 +2,7 @@ import Component from '@glimmer/component'; import styles from './<%= data.localFileName %>.css'; -interface <%= data.entity.classifiedName %>Signature { +interface <%= options.entity.classifiedName %>Signature { Args: {}; Blocks: { default: []; @@ -10,6 +10,6 @@ interface <%= data.entity.classifiedName %>Signature { Element: null; } -export default class <%= data.entity.classifiedName %>Component extends Component<<%= data.entity.classifiedName %>Signature> { +export default class <%= options.entity.classifiedName %>Component extends Component<<%= options.entity.classifiedName %>Signature> { styles = styles; } diff --git a/packages/blueprints-addon/src/blueprints/run-generate/component/template-tag/__fileName__.gts b/packages/blueprints-addon/src/blueprints/run-generate/component/template-tag/__fileName__.gts index ae409b1..6e4ab52 100644 --- a/packages/blueprints-addon/src/blueprints/run-generate/component/template-tag/__fileName__.gts +++ b/packages/blueprints-addon/src/blueprints/run-generate/component/template-tag/__fileName__.gts @@ -2,7 +2,7 @@ import Component from '@glimmer/component'; import styles from './<%= data.localFileName %>.css'; -interface <%= data.entity.classifiedName %>Signature { +interface <%= options.entity.classifiedName %>Signature { Args: {}; Blocks: { default: []; @@ -10,7 +10,7 @@ interface <%= data.entity.classifiedName %>Signature { Element: null; } -export default class <%= data.entity.classifiedName %>Component extends Component<<%= data.entity.classifiedName %>Signature> { +export default class <%= options.entity.classifiedName %>Component extends Component<<%= options.entity.classifiedName %>Signature> {