{"id":15046309,"url":"https://github.com/d-koppenhagen/ngx-semantic-version","last_synced_at":"2025-09-07T21:45:20.383Z","repository":{"id":65424552,"uuid":"214676694","full_name":"d-koppenhagen/ngx-semantic-version","owner":"d-koppenhagen","description":"⚠️ This package is not maintained anymore","archived":false,"fork":false,"pushed_at":"2020-11-12T06:12:02.000Z","size":1193,"stargazers_count":40,"open_issues_count":4,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-05T17:35:57.960Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d-koppenhagen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-12T16:12:12.000Z","updated_at":"2025-05-12T17:37:29.000Z","dependencies_parsed_at":"2023-01-23T01:55:15.723Z","dependency_job_id":null,"html_url":"https://github.com/d-koppenhagen/ngx-semantic-version","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/d-koppenhagen/ngx-semantic-version","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-koppenhagen%2Fngx-semantic-version","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-koppenhagen%2Fngx-semantic-version/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-koppenhagen%2Fngx-semantic-version/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-koppenhagen%2Fngx-semantic-version/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d-koppenhagen","download_url":"https://codeload.github.com/d-koppenhagen/ngx-semantic-version/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d-koppenhagen%2Fngx-semantic-version/sbom","scorecard":{"id":315338,"data":{"date":"2025-08-11","repo":{"name":"github.com/d-koppenhagen/ngx-semantic-version","commit":"ea70c29ceeb5eb330d103cb7a83fe70f47653eec"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/nodejs.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nodejs.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/d-koppenhagen/ngx-semantic-version/nodejs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nodejs.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/d-koppenhagen/ngx-semantic-version/nodejs.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/nodejs.yml:21","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"26 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-44c6-4v22-4mhx","Warn: Project is vulnerable to: GHSA-4x5v-gmq8-25ch","Warn: Project is vulnerable to: GHSA-4rq4-32rv-6wp6","Warn: Project is vulnerable to: GHSA-64g7-mvw6-v9qj","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-38fc-wpqx-33j7","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T00:04:45.043Z","repository_id":65424552,"created_at":"2025-08-18T00:04:45.043Z","updated_at":"2025-08-18T00:04:45.043Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274101783,"owners_count":25222446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T20:52:58.544Z","updated_at":"2025-09-07T21:45:20.360Z","avatar_url":"https://github.com/d-koppenhagen.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/dkoppenhagen"],"categories":[],"sub_categories":[],"readme":"# ngx-semantic-version\n\n[![npm](https://img.shields.io/npm/v/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n[![Dependency Status](https://david-dm.org/d-koppenhagen/ngx-semantic-version.svg)](https://david-dm.org/d-koppenhagen/ngx-semantic-version)\n[![devDependency Status](https://david-dm.org/d-koppenhagen/ngx-semantic-version/dev-status.svg)](https://david-dm.org/d-koppenhagen/ngx-semantic-version?type=dev)\n[![npm](https://img.shields.io/npm/l/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=102)](https://github.com/ellerbrock/open-source-badge/)\n\n[![ngx-semantic-version](https://img.shields.io/badge/%F0%9F%92%8E-ngx--semantic--version-blueviolet)](https://www.npmjs.com/package/ngx-semantic-version)\n[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\n[![npm](https://img.shields.io/npm/dw/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n[![npm](https://img.shields.io/npm/dm/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n[![npm](https://img.shields.io/npm/dy/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n[![npm](https://img.shields.io/npm/dt/ngx-semantic-version.svg)](https://www.npmjs.com/package/ngx-semantic-version)\n\n[![GitHub forks](https://img.shields.io/github/forks/d-koppenhagen/ngx-semantic-version.svg?style=social\u0026label=Fork)](https://github.com/d-koppenhagen/ngx-semantic-version/fork) [![GitHub stars](https://img.shields.io/github/stars/d-koppenhagen/ngx-semantic-version.svg?style=social\u0026label=Star)](https://github.com/d-koppenhagen/ngx-semantic-version)\n\n\u003ca href=\"https://www.buymeacoffee.com/dkoppenhagen\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n\n_ngx-semantic-version_ is an Angular Schematic that will add and configure _commitlint_, _commitizen_, _husky_ and _standard-version_ for creating commit messages in the _conventional commit_ format and automate your release and Changelog generation respecting _semver_.\n\nThe schematic will configure the following packages / services:\n\n- [commitlint](https://commitlint.js.org)\n- [husky](https://www.npmjs.com/package/husky)\n- [commitizen](https://www.npmjs.com/package/commitizen)\n- [standard-version](https://www.npmjs.com/package/standard-version)\n\n## How to use\n\n### Add the schematics to your project\n\n- Angular CLI \u003e= 9.x.x\n  ```bash\n  ng add ngx-semantic-version\n  ```\n\n- Angular CLI 8.x.x | [docs](https://github.com/d-koppenhagen/ngx-semantic-version/tree/v1.2.1)\n\n  ```bash\n  ng add ngx-semantic-version@1\n  ```\n\n\u003e if you have already configured one of the modules and you want to use the configuration provided\nby ngx-semantic-version, you can use `--overrideConfigurations` to override an existing configuration.\nPlease check the changes carefully using git after running with `--overrideConfigurations`.\n\n#### available options\n\n| Flag                      | Description                                                        |\n| ------------------------- | ------------------------------------------------------------------ |\n| `--skipInstall`           | Skips installing new `node_modules` after modifying `package.json` |\n| `--packages=\"commitlint, husky, commitizen, standard-version\"` | Define the packages to add.   |\n| `--issuePrefix=\"\u003cPREFIX\u003e\"`| Configure an issue prefix that should be checked by each commit    |\n| `--overrideConfigurations`| Do override existing configuration parameters if necesary          |\n| `--force`                 | Ignore errors and override already existing files                  |\n| `--standardVersionConfig` | Add the base configuration for _standard-version_ to `package.json` for adjusting it later|\n\n#### force including references by configuring an issue prefix\n\nWhen adding the schematic using e.g. `--issuePrefix=\"PREFIX-\"`, commitlint will be configured to use\nthe defined issue prefix in commit messages. Therefore the following configuration will be added\nto the `commitlint.config.js` configuration file:\n\n```js\nmodule.exports = {\n  // ...\n  rules: {\n    'references-empty': [2, 'never'],\n  },\n  parserPreset: {\n    parserOpts: {\n      issuePrefixes: ['PREFIX-'],\n    },\n  },\n};\n```\n\nThis is very helpful if you want to force the users to include always an reference to your issue\ntracking system (in the example above the issue racking system will use this style: `PREFIX-1242`).\n\n\u003e The line `'references-empty': [2, 'never'],` will tell commitlint that an issue reference has\nto be included always. You can change the value of `2` to `1` to just warn the user instead of\nrejecting the commit messages. All configuration option are described in the official\n[docs of commitlint](https://commitlint.js.org/#/reference-rules).\n\nThe prefix will be also configured for usage within _standard-version_ in your `package.json`:\n\n```json\n// ...\n\"standard-version\": {\n  \"issuePrefixes\": [\"PREFIX-\"],\n}\n```\n\n\u003e [You can specify further options for _standard-version_](https://github.com/conventional-changelog/conventional-changelog-config-spec/blob/master/versions/2.1.0/README.md\n) that will be uses for the generated links\nin `CHANGELOG.md` generation. You can adjust the configuration block `standard-version` in your\n`package.json` and adjusts the options to satisfy your needs.\n\n### Update the schematics\n\nRun `ng update` to see if an update is available.\nTo proceed running an update of _ngx-semantic-version_, run the following command:\n\n```bash\nng update ngx-semantic-version\n```\n\n\u003e Updates will may touch your existing configuration. Please check the changes using git to verify the changes.\n\n## What's included\n\n### [commitlint](https://commitlint.js.org)\n\nCommitlint will lint your commit message and check it against some common rules.\nIt will throw an error if the messages doesn't match with the rules.\nThis schematic will install the ruleset [`@commitlint/config-conventional`](https://npmjs.com/package/@commitlint/config-conventional) by default.\n\nAfter adding the schematics you will be able to adjust the rules for your\npersonal needs by adjusting the added file `commitlint.config.js`.\n\nYou can find a description of supported adjustments in the\n[official documentation](https://commitlint.js.org/#/reference-rules).\n\n![commitizen cli](https://raw.githubusercontent.com/d-koppenhagen/ngx-semantic-version/master/assets/commitlint.svg?sanitize=true)\n\n### [husky](https://www.npmjs.com/package/husky)\n\nHusky allows us to hook into the git lifecycle using nodejs. It is used by _ngx-semantic-version_ to check a commit message right before storing it by using _commitlint_.\nTherefore it will add this part to your `package.json`:\n\n```json\n...\n\"husky\": {\n  \"hooks\": {\n    \"commit-msg\": \"commitlint -E HUSKY_GIT_PARAMS\"\n  }\n},\n```\n\nHusky uses the environment variable `HUSKY_GIT_PARAMS` containing the current git message you entered and it will pass this through _commitlint_ so it can be evaluated.\n\n### [commitizen](https://www.npmjs.com/package/commitizen)\n\nWhen having restrictions within the commit message text it can be difficult\nto always satisfy the appropriate format. Commitizen will help you to build a\ncommit message always in the appropriate format by letting you configure the\nfinal message via an interactive cli.\n\nWhen _commitizen_ is installed globally (`npm i -g commitizen`) you can run it by\nexecuting `git cz`.\n\n![commitizen cli](https://raw.githubusercontent.com/d-koppenhagen/ngx-semantic-version/master/assets/commitizen.svg?sanitize=true)\n\nAlternatively, if you are using NPM 5.2+ you can use npx instead of installing globally: `npx git-cz`.\n\n_ngx-semantic-version_ will configure _commitizen_ in your `package.json`, so that is will use the _conventional changelog_ as well:\n\n```json\n...\n\"config\": {\n  \"commitizen\": {\n    \"path\": \"./node_modules/cz-conventional-changelog\"\n  }\n}\n```\n\n\u003e Tip: if you are using vscode, you can add the plugin [Visual Studio Code Commitizen Support](https://marketplace.visualstudio.com/items?itemName=KnisterPeter.vscode-commitizen) which will let you build the commit message directly via vscode.\n\u003e ![commitizen vscode plugin](https://raw.githubusercontent.com/d-koppenhagen/ngx-semantic-version/master/assets/commitizen-vscode.png)\n\n### [standard-version](https://www.npmjs.com/package/standard-version)\n\nStandard-version will create and update your app/package version and automatically\ngenerate a `CHANGELOG.md` file and keep it up-to-date by using the git history.\nIt will check the messages for keywords (thanks to commitlint) and determine which part\nof the semantic version will be increased. Furthermore it will add a tag for the version.\n\nAfter adding this schematic, you can simply release a new version by running `npm run release`.\nThis will keep your `CHNAGELOG.md` up to date and releases a new version of your project.\n\n_ngx-semantic-version_ will configure a new script in your `package.json` that can be used for releasing a new version:\n\n```json\n...\n\"scripts\": {\n  \"release\": \"standard-version\",\n},\n```\n\nIf you typically use `npm version` to cut a new release, do this instead:\n\n```bash\nnpm run release\n```\n\nYou should also consider use one of the following commands:\n\n```bash\nnpm run release -- --first-release    # create the initial release and create the `CHANGELOG.md`\nnpm run release -- --prerelease       # create a pre-release instead of a regular one\nnpm run release -- --prerelease alpha # cut a new alpha release version\n```\n\nTo adjust the temnplate of the generated `CHANGELOG.md` or the types of commits included in it you need to modify the _standard-version_ configuration.\nYou can use `--standardVersionConfig` within _ngx-semantic-version_ to add the default configuration to your `package.json`.\nAfter that you can simply adjust the configuration to your needs:\n\n```bash\nng add ngx-semantic-version --standardVersionConfig\n```\n\n\u003e Please note that your projects [`repository` field](https://docs.npmjs.com/files/package.json#repository) should be filled in your `package.json`, as _standard-version_ will use this information for creating the links in the `CHANGELOG.md` to your issues and releases. Check out also the [official documentation](https://www.npmjs.com/package/standard-version#release-as-a-pre-release) for further information.\n\n## Default configurations\n\nCheck out the file [src/ng-add/defaults.ts](./src/ng-add/defaults.ts) if you want to see what part will be added to your `package.json` and see the default values.\n\n## Development\n\nFor development hints, have a look at [DEVELOPMENT.md](./DEVELOPMENT.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-koppenhagen%2Fngx-semantic-version","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-koppenhagen%2Fngx-semantic-version","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-koppenhagen%2Fngx-semantic-version/lists"}