Skip to content

Question/help for understanding where the commit attributes come from to use on the handlebars templates #91

Open
@arkadioz

Description

@arkadioz

Hey @momocow thanks for your help recently, I have been trying to understand a lot of the "how it works" of all the ecosystem but it is a lot, just understanding handlerbars "logicless" syntax has been a challenge, there is something that is what is the most hard thing to understand so far and it is the "context" where do this commits and its attributes come from (ofcourse git but let me explain further)? Can not find were is that defined, I was using before your tool, this other tool with the semantic-release/commit-analyzer and also semantic-release/release-notes-generator, then I used a "preset" for the conventional-changelog called "conventional-changelog-conventionalcommits", and this preset also has some "options" or "configuration that you can do" specified here

my confussion comes when you see they have all those "substitutions" or "attributes" that they can use like for example {{commit.scope}}
in this file for example: https://github.com/conventional-changelog/conventional-changelog/blob/7ac186060b16ea66847c401d57ca78157329d778/packages/conventional-changelog-conventionalcommits/templates/template.hbs#L9

but then when I try to use that attribute {{commit.scope}} in the commit-template that we use here at semantic-release-gitmoji, it is not available, that is were I wonder why and how they have that attribute available? What is the config I am missing to be able to have those attributes, if you could clarify were is that config setup and if it is possible to configure that in the context I would really appreciate, that has been the most struggling point for me to understand what can I configure and what I cannot (ofcourse, it is not here in gitmoji because it is not configured to be in the context, but would it be possible to have it? If so how? And were in that project that it is available it was configured to be available?).

I tried using it here in the template like so (but I think it is not available):

{{#if commit.scope}}
    - Scope: {{commit.scope}}
{{/if}}

{{#if scope}}
    - Scope: {{scope}}
{{/if}}

{{#if this.scope}}
    - Scope: {{this.scope}}
{{/if}}

but that is what I want to understand why is it available over here: https://github.com/conventional-changelog/conventional-changelog/blob/7ac186060b16ea66847c401d57ca78157329d778/packages/conventional-changelog-conventionalcommits/templates/template.hbs#L9 were did they configure it to be in the "context"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions