-
Notifications
You must be signed in to change notification settings - Fork 440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use conventional-commit-types #29
Comments
Love it. It would be my pleasure to add you as a contributor to the commitizen organization if you would be willing to help work on a type system. My main goals are that it should be deterministic, flexible, and able to support introspection. I notice right now that you're using JSON for the types. I'm a bit more partial to something like the type system in GraphQL. I know most people aren't familiar with it but I want to make sure that adapters can pick and choose types from different type sets. Some adapter authors may want to use docs but not chore for example. I'd like for them to be able to pick types from different typesets and bring them into their adapter. Why do we need this kind of thing? Well it turns out that many people want to hide or show certain fields or prompts in certain cases, alternatively they may want to change the commit behavior in certain cases. This functionality will likely be different for each adapter, but the types can be shared across adapters. Take #23 as an example. He wants to use the same types as everyone else but be able to just detect certain types and modify the commit behavior in those cases. In other cases people want to extend the default type set (see #15). We have a PR waiting to be merged: #25 which breaks apart the prompting and formatting. I think we could take this further and break formatters up into formatting logic and the specific types they want to use. I know this is probably a lot more than you signed up for, but, there is certainly a need for work in this area and if you're able to help we'd love to have it. |
@jimthedev What about adding support to https://github.com/commitizen/cz-cli for a new E.g. I could create my own module called
Or even an
Adapters could publish their types as an external module for reuse in other tooling, then require and use those types from their adapter code. So e.g. the We could have a JSON Schema to specify the types object. It could allow additional properties so adapters could put relevant metadata there if desired. I might change the schema to have a |
Instead of adding an extra field to the package.json that only applies to some adapters, wouldn't it be more nice to split the adapter up in two packages. One package would take a lists of types, and then do all the work (e.g. That way it will be easy to publish new adapters that simply modifies the list of types, without having to introduce another concept of loading adapters. Thoughts? |
@LinusU Sounds good to me. @jimthedev shall we pursue this sort of refactor? Want to get through any pending PRs or major upcoming changes first? |
I don't. Let's do it. Jim ForCy On August 9, 2016 at 5:18:11 PM, Anders D. Johnson ([email protected])
|
# 1.0.0 (2020-09-16) ### Bug Fixes * **adapter:** Fix typo in etc. ([39182b8](39182b8)) * **build:** Add proper deps, force republish to make sure things are working ([922097b](922097b)) * **build:** Automatic releases!!! ✨ ([114f967](114f967)) * update longest to ^2 ([commitizen#88](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/88)) ([7234529](7234529)) * **commit:** Remove es6 string syntax (backticks) ([7f922f2](7f922f2)) * **commit:** remove parentheses when there is no scope present ([55f72b9](55f72b9)) * **config-loader:** captured the direct dependency on commitizen for the use of the config loader ([commitizen#90](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/90)) ([4b23bbc](4b23bbc)), closes [commitizen#89](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/89) * **defaultValues:** Added fallback for optional default values ([commitizen#99](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/99)) ([2aae317](2aae317)) * **package.json:** install missing dependency ([4287211](4287211)) * **package.json:** update package name ([2985968](2985968)) * **prompter:** resolve issue with new inquirer api ([commitizen#18](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/18)) ([807b4e5](807b4e5)) * Correct typo in JSON ([58df4d1](58df4d1)) * **release:** attempt to fix release ([c167fd8](c167fd8)) * **release.config.js:** attempt to fix semantic release ([e362f9a](e362f9a)) * **require:** get rid of relative path to the word-wrap ([e98818a](e98818a)), closes [commitizen#4](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/4) * **wrapping:** Fix fields to wrap instead of truncate at 100 characters ([c7b7e11](c7b7e11)), closes [commitizen/cz-cli#4](commitizen/cz-cli#4) * remove pre-node 10 support ([commitizen#86](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/86)) ([76588ad](76588ad)) * Update conventional-commit-types to the latest version 🚀 ([commitizen#105](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/105)) ([5a371c1](5a371c1)) * Wrap updateTypes in packageRules ([0f6dfbf](0f6dfbf)) ### Features * **adapter:** Create initial commit. ([4e8da01](4e8da01)) * **adapter:** refactor to engine, default to conventional commit types ([c8452d1](c8452d1)), closes [commitizen#29](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/29) * **adapter:** Split breaking changes into separate question ([commitizen#44](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/44)) ([2d78e1d](2d78e1d)), closes [commitizen#17](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/17) * add default values to options ([commitizen#69](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/69)) ([65d6a9f](65d6a9f)) * implement configuration through package.json ([commitizen#75](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/75)) ([3398c02](3398c02)) * **engine:** add support for disableScopeLowerCase ([commitizen#96](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/96)) ([e7bd546](e7bd546)) * **engine:** add support for disableSubjectLowerCase ([df66875](df66875)) * **engine.js:** add jira step ([b6c6bfb](b6c6bfb)) * **prompt:** add confirmation fields + edit for clarity ([commitizen#58](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/58)) ([d40ac2c](d40ac2c)), closes [commitizen#52](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/52) * **types:** add suport for custom types ([commitizen#104](https://github.com/DawChihLiou/cz-conventional-changelog-with-jiraid-detection/issues/104)) ([aae2548](aae2548)) ### BREAKING CHANGES * Node 10 is LTS so please upgrade to it. * **adapter:** Breaking changes now automatically include the "BREAKING CHANGE: " prefix.
You may wish to integrate my new conventional-commit-types module which exposes a simple list of valid commit types used in this module (plus
revert
per Angular conventions).I wanted a standalone module for these so I could use them in other tools, e.g. my new conventional-commit-types-cli. Alternatively, this module could be refactored to expose them, if you prefer that.
I can consider giving ownership of these new repos and modules to @commitizen.
The text was updated successfully, but these errors were encountered: