diff --git a/package.json b/package.json index 1fa0b06..d62e943 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,10 @@ "scripts": { "prepare": "is-ci || husky", "build": "cd packages/_aggregate && yarn build", - "clear": "rimraf --glob 'packages/*/lib' 'packages/*/node_modules' coverage node_modules", - "test": "tests-runner run", - "test:ci": "CI=true yarn run test" + "dev": "cd packages/_aggregate && yarn dev", + "clear": "rimraf --glob 'packages/*/lib' 'packages/*/node_modules' 'packages/*/coverage' coverage node_modules", + "test": "tests-runner", + "test:ci": "CI=true yarn run test run" }, "config": { "commitizen": { diff --git a/packages/_aggregate/tsconfig.json b/packages/_aggregate/tsconfig.json index 205b9eb..ba07bcf 100644 --- a/packages/_aggregate/tsconfig.json +++ b/packages/_aggregate/tsconfig.json @@ -36,6 +36,18 @@ }, { "path": "../ci-github-release" + }, + { + "path": "../conventional-commits-changelog" + }, + { + "path": "../conventional-commits-parser" + }, + { + "path": "../git" + }, + { + "path": "../github" } ] } diff --git a/packages/conventional-commits-changelog/__fixtures__/fixture.conventional-commits.json b/packages/conventional-commits-changelog/__fixtures__/fixture.conventional-commits.json new file mode 100644 index 0000000..b0a35d8 --- /dev/null +++ b/packages/conventional-commits-changelog/__fixtures__/fixture.conventional-commits.json @@ -0,0 +1,2212 @@ +[ + { + "commitInfo": { + "hash": "1dfaff1", + "tags": [ + "v1.0.5", + "v1.0.1" + ], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "test(git): test commit with something", + "body": "some long description\n", + "trailers": [ + { + "token": "BREAKING CHANGE", + "value": "Some breaky change" + }, + { + "token": "fix", + "value": "#123" + } + ] + }, + "type": "test", + "scope": "git", + "description": "test commit with something", + "body": "some long description", + "breakingChanges": [ + "Some breaky change" + ] + }, + { + "commitInfo": { + "hash": "5a84e8d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore!: disable auto release", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "disable auto release", + "breakingChanges": [ + "disable auto release" + ] + }, + { + "commitInfo": { + "hash": "cde6098", + "tags": [ + "di-v0.9.1" + ], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.9.1", + "body": "", + "trailers": [ + { + "token": "BREAKING-CHANGE", + "value": "Some breaky change" + } + ] + }, + "type": "chore", + "description": "release @wroud/di@0.9.1", + "breakingChanges": [ + "Some breaky change" + ] + }, + { + "commitInfo": { + "hash": "26768a0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: add automated releases", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "add automated releases", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ca0db97", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: update github workflows", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "update github workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d9774d6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: inherit secrets in workflows", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "inherit secrets in workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "afa7fd3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: fix readme", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "fix readme", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1624c31", + "tags": [ + "di-v0.9.0" + ], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.9.0", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release @wroud/di@0.9.0", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0848e0a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: fix workflows", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "fix workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "82e92ef", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: enable corepack", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "enable corepack", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "3e25589", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove yarn cache", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "remove yarn cache", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "2c35601", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: update dependencies and github workflows", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "update dependencies and github workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0c0e299", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove test from readme", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "remove test from readme", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "02df602", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: rewrite bump resolver", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "rewrite bump resolver", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e801bdb", + "tags": [], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.8.5", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release @wroud/di@0.8.5", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d824036", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add package name to releases", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "add package name to releases", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "01e09a8", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: properly handle errors", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "properly handle errors", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "c3378cc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: commit as github actions bot", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "commit as github actions bot", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "041d000", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.4", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.8.4", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "cc0fe8a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: trigger update", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "trigger update", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b58a7dd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: configure publishing github releases", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "configure publishing github releases", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e514809", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.3", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.8.3", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "48cc6f1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: filter release commit only for bump check", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "filter release commit only for bump check", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "a80b948", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.2", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.8.2", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "4262c3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: push annotated tags", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "push annotated tags", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "a251066", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.1", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.8.1", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "fc02a0d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: trigger release", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "trigger release", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "9ff54fc", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.0", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.8.0", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "a9443ec", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: push fixed tag", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "push fixed tag", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "55a315c", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.7.0", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.7.0", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "4a6430d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add changelog for di", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add changelog for di", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5a14585", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.6.0", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release 0.6.0", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f9f8224", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rebase (#15)", + "body": "* chore: rebase\n\n* test: fix tests", + "trailers": [] + }, + "type": "chore", + "description": "rebase (#15)", + "body": "* chore: rebase\n\n* test: fix tests", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e0dd0e5", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release undefined", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release undefined", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "dc0f7d0", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release undefined", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "release undefined", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f6d4755", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: configure gulp (#11)", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "configure gulp (#11)", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "cf5ef0c", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add empty placeholder command ci:prepublish (#10)", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "add empty placeholder command ci:prepublish (#10)", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "71d3bf2", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: fail on empty commits (#9)", + "body": "* ci: fail on empty commits\n\n* ci: commit lockfile", + "trailers": [] + }, + "type": "ci", + "description": "fail on empty commits (#9)", + "body": "* ci: fail on empty commits\n\n* ci: commit lockfile", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e839687", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: run prepublish scripts", + "body": "", + "trailers": [] + }, + "type": "ci", + "description": "run prepublish scripts", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b24e2c2", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: run prepublish scripts (#5)", + "body": "* ci: run prepublish scripts\n\n* ci: use different method for brunch detection", + "trailers": [] + }, + "type": "ci", + "description": "run prepublish scripts (#5)", + "body": "* ci: run prepublish scripts\n\n* ci: use different method for brunch detection", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "c5af8e3", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add changelog and automatic releases (#4)", + "body": "* ci: add changelog and automatic releases\n\n* ci: coverage report fix\n\n* ci: sanitize branch name in github workflows", + "trailers": [] + }, + "type": "ci", + "description": "add changelog and automatic releases (#4)", + "body": "* ci: add changelog and automatic releases\n\n* ci: coverage report fix\n\n* ci: sanitize branch name in github workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d31ce7b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di-react): optimize useAbandonedRenderDisposer timeout", + "body": "", + "trailers": [] + }, + "type": "chore", + "scope": "di-react", + "description": "optimize useAbandonedRenderDisposer timeout", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ccfac38", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(react): update readme", + "body": "", + "trailers": [] + }, + "type": "chore", + "scope": "react", + "description": "update readme", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "dedfddd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update docs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "717c44e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs for di", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update docs for di", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0a79da6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "65698ad", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "fcf6004", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update deps", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update deps", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5cb14f4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di-react): add react bindings for di", + "body": "", + "trailers": [] + }, + "type": "chore", + "scope": "di-react", + "description": "add react bindings for di", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "30807d4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di): reorganize exports", + "body": "", + "trailers": [] + }, + "type": "chore", + "scope": "di", + "description": "reorganize exports", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "8615243", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update imports for di-tools-analyzer", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update imports for di-tools-analyzer", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "4e236f3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update exports", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update exports", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "74656a2", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add documentation about lazy", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add documentation about lazy", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0a74691", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di package to version 0.1.5 and include production module", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Update @wroud/di package to version 0.1.5 and include production module", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "392170e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Bump @wroud/di version to 0.1.4", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Bump @wroud/di version to 0.1.4", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1023ebc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add better debugging and optimized production build", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add better debugging and optimized production build", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "8e5da34", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Fix import in injectable.test.ts", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Fix import in injectable.test.ts", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6c78545", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update unit tests", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update unit tests", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "2f82db3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di to version 0.1.3", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Update @wroud/di to version 0.1.3", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0e80287", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Exclude test files from package build", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Exclude test files from package build", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6357a3a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di to version 0.1.2", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "Update @wroud/di to version 0.1.2", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e7c2505", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update dependencies", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update dependencies", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "258b0ec", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version @wroud/di to 0.1.1", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "bump version @wroud/di to 0.1.1", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0d861be", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename diLazy -> lazy", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "rename diLazy -> lazy", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b3fb16c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update vitest to 2 version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update vitest to 2 version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5d407ee", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version @wroud/di to 0.1.0", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "bump version @wroud/di to 0.1.0", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "792d6b6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: lazy implementation loading", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "lazy implementation loading", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "387a1fc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename IServiceImplementation to ISyncServiceImplementation", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "rename IServiceImplementation to ISyncServiceImplementation", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "65bf5af", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: split logic", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "split logic", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "7dbff6d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename configs", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "rename configs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d5ac8c0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "ci-cd", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "dcf424a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: tsconfig", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "tsconfig", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "802ee0c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update yarn.lock", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update yarn.lock", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "412907f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: migrate to vitest", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "migrate to vitest", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0c7228a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: cyclic dependencies detection", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "cyclic dependencies detection", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "43a43b5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: change package type", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "change package type", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6773df2", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: change output to commonjs", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "change output to commonjs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "4672641", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: run as common js module", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "run as common js module", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6ed140b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update dependencies", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update dependencies", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b392ebf", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update bin", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update bin", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b65f7e9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: exports", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "exports", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1c4c04c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: @wroud/di-tools-codemod", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "@wroud/di-tools-codemod", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "712d055", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump `@wroud/di-tools-analyzer` version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "bump `@wroud/di-tools-analyzer` version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e5142e0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: ModuleRegistry api", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "ModuleRegistry api", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d7ef251", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add full screen mode for di analyzer", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add full screen mode for di analyzer", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "52276d5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add documentation for @wroud/di-tools-analyzer", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "add documentation for @wroud/di-tools-analyzer", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5e5e195", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: robots.txt name", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "robots.txt name", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "19bdf3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add robots.txt", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add robots.txt", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f40e2f7", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: tune layout", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "tune layout", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "3aa1529", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: graph example", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "graph example", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6379e3f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: move graph to another page", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "move graph to another page", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5ce1124", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add di analyzer", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add di analyzer", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "cf852fa", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: remove extra", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "remove extra", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5f55b1c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: make examples simpler", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "make examples simpler", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f76c015", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: simplify samples", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "simplify samples", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "33c7dd4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add \"Why DI?\" page", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "add \"Why DI?\" page", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "2f89822", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: move tsconfig to separate package", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "move tsconfig to separate package", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "84543ee", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove example from source code", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "remove example from source code", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "851d0eb", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add package description", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add package description", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e7759c1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: update docs", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "update docs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "9b0bc81", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove template pages", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "remove template pages", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "4d04ec9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: docs sitemap filter", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "docs sitemap filter", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d117ac4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: filter test pages from sitemap", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "filter test pages from sitemap", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "95b1979", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add keywords", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add keywords", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1da9a4e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add license and readme for @wroud/di", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add license and readme for @wroud/di", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "10c7455", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: adjust memory threshold for GC", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "adjust memory threshold for GC", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "3037269", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add logo", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add logo", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "201aba6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: adjust SEO in docs", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "adjust SEO in docs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "c5ff8f6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: docs logo styles in light theme", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "docs logo styles in light theme", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0a14136", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add logo to docs", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add logo to docs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "cdb9148", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs and add GA", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update docs and add GA", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1eef8d6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "bump version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5286029", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: complete base articles", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "complete base articles", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "eceb0c4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b6a45ff", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: proper error message while resolving scoped dependency for singleton service", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "proper error message while resolving scoped dependency for singleton service", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "61c73bf", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: specify files list", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "specify files list", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ff3238e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: update types", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "update types", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "93c4640", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d7517cc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: version lazy loading leads to incorrect badge on first render", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "version lazy loading leads to incorrect badge on first render", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f98f7b1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: collect jest statistic for provided package", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "collect jest statistic for provided package", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6d43540", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add strict types to ServicesRegistry.register", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add strict types to ServicesRegistry.register", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "25845a7", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix(tests): add logs to console", + "body": "", + "trailers": [] + }, + "type": "fix", + "scope": "tests", + "description": "add logs to console", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ea20107", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(tests): increase memory threshold", + "body": "", + "trailers": [] + }, + "type": "chore", + "scope": "tests", + "description": "increase memory threshold", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "013ed92", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add coverage badge", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add coverage badge", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1a8cd2f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "ci-cd", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "d95c6d4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "ci-cd", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "57eee77", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "ci-cd", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "b931c2c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "ci-cd", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ab52910", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: workflow", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "workflow", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "2d55876", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "tests: add json-summary reporter", + "body": "", + "trailers": [] + }, + "type": "tests", + "description": "add json-summary reporter", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1dca2b4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "tests: add some tests and badges", + "body": "", + "trailers": [] + }, + "type": "tests", + "description": "add some tests and badges", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "7720341", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: build docs separately", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "build docs separately", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "193d9c3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update build process", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update build process", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "6fb62f9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add installation section", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "add installation section", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "83012a5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix(docs): link to the di overview page", + "body": "", + "trailers": [] + }, + "type": "fix", + "scope": "docs", + "description": "link to the di overview page", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "07932df", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "45d8572", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add homepage and repository to package.json", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "add homepage and repository to package.json", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "beca909", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update exports", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "update exports", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "fc9ef0f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add dependency injection overview page", + "body": "", + "trailers": [] + }, + "type": "docs", + "description": "add dependency injection overview page", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "83d3093", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: pages deploy workflow", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "pages deploy workflow", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "f193d85", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add github pages", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add github pages", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "83108bd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: return publish package dir", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "return publish package dir", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e3c1a3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version", + "body": "", + "trailers": [] + }, + "type": "chore", + "description": "bump version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "5ebef39", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add module and types", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add module and types", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ae35e9f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: add version", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "add version", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "ee089fa", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: publish workflow", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "publish workflow", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0c4a86d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add cache cleanup action", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add cache cleanup action", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "41d0e01", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: codecov ci", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "codecov ci", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "62aec5f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: collect coverage", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "collect coverage", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "cf9454d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: configure code coverage", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "configure code coverage", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "0d675f9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: enable zero installs", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "enable zero installs", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "a8879c6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: remove dist", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "remove dist", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "c27dbf0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: configure ci", + "body": "", + "trailers": [] + }, + "type": "fix", + "description": "configure ci", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "e92166a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add github workflows", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "add github workflows", + "breakingChanges": [] + }, + { + "commitInfo": { + "hash": "1306e07", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: init workspace", + "body": "", + "trailers": [] + }, + "type": "feat", + "description": "init workspace", + "breakingChanges": [] + } +] \ No newline at end of file diff --git a/packages/conventional-commits-changelog/__snapshots__/createChangelogHeader.test.js.snap b/packages/conventional-commits-changelog/__snapshots__/createChangelogHeader.test.js.snap new file mode 100644 index 0000000..7c14e3e --- /dev/null +++ b/packages/conventional-commits-changelog/__snapshots__/createChangelogHeader.test.js.snap @@ -0,0 +1,28 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`createChangelogHeader > default 1`] = ` +[ + "# Changelog", + "", + "All notable changes to this project will be documented in this file.", + "", +] +`; + +exports[`createChangelogHeader > with custom description 1`] = ` +[ + "# Release notes", + "", + "This is a description", + "", +] +`; + +exports[`createChangelogHeader > with custom title 1`] = ` +[ + "# Release notes", + "", + "All notable changes to this project will be documented in this file.", + "", +] +`; diff --git a/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelog.test.js.snap b/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelog.test.js.snap new file mode 100644 index 0000000..15015e8 --- /dev/null +++ b/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelog.test.js.snap @@ -0,0 +1,83 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`createConventionalChangelog > default 1`] = ` +[ + "### ✨ Features", + "", + "- update github workflows (ca0db97)", + "- lazy implementation loading (792d6b6)", + "- @wroud/di-tools-codemod (1c4c04c)", + "- add full screen mode for di analyzer (d7ef251)", + "- add robots.txt (19bdf3b)", + "- move graph to another page (6379e3f)", + "- add di analyzer (5ce1124)", + "- adjust SEO in docs (201aba6)", + "- add logo to docs (0a14136)", + "- add strict types to ServicesRegistry.register (6d43540)", + "- add github pages (f193d85)", + "- add module and types (5ebef39)", + "- add cache cleanup action (0c4a86d)", + "- configure code coverage (cf9454d)", + "- enable zero installs (0d675f9)", + "- add github workflows (e92166a)", + "- init workspace (1306e07)", + "", + "### 🩹 Fixes", + "", + "- add automated releases (26768a0)", + "- ci-cd (d5ac8c0)", + "- tsconfig (dcf424a)", + "- cyclic dependencies detection (0c7228a)", + "- change package type (43a43b5)", + "- run as common js module (4672641)", + "- exports (b65f7e9)", + "- robots.txt name (5e5e195)", + "- graph example (3aa1529)", + "- docs sitemap filter (4d04ec9)", + "- adjust memory threshold for GC (10c7455)", + "- docs logo styles in light theme (c5ff8f6)", + "- proper error message while resolving scoped dependency for singleton service (b6a45ff)", + "- update types (ff3238e)", + "- version lazy loading leads to incorrect badge on first render (d7517cc)", + "- add logs to console (25845a7)", + "- ci-cd (1a8cd2f)", + "- ci-cd (d95c6d4)", + "- ci-cd (57eee77)", + "- ci-cd (b931c2c)", + "- workflow (ab52910)", + "- build docs separately (7720341)", + "- link to the di overview page (83012a5)", + "- pages deploy workflow (83d3093)", + "- return publish package dir (83108bd)", + "- add version (ae35e9f)", + "- publish workflow (ee089fa)", + "- codecov ci (41d0e01)", + "- collect coverage (62aec5f)", + "- remove dist (a8879c6)", + "- configure ci (c27dbf0)", + "", + "### ⚠️ Breaking Changes", + "", + "- test commit with something (1dfaff1)", + " - Some breaky change", + "- disable auto release (5a84e8d)", + " - disable auto release", + "- release @wroud/di@0.9.1 (cde6098)", + " - Some breaky change", + "", + "### 📖 Documentation", + "", + "- ModuleRegistry api (e5142e0)", + "- add documentation for @wroud/di-tools-analyzer (52276d5)", + "- remove extra (cf852fa)", + "- make examples simpler (5f55b1c)", + "- simplify samples (f76c015)", + "- add "Why DI?" page (33c7dd4)", + "- update docs (e7759c1)", + "- complete base articles (5286029)", + "- collect jest statistic for provided package (f98f7b1)", + "- add installation section (6fb62f9)", + "- add dependency injection overview page (fc9ef0f)", + "", +] +`; diff --git a/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelogHeader.test.js.snap b/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelogHeader.test.js.snap new file mode 100644 index 0000000..6c7dc71 --- /dev/null +++ b/packages/conventional-commits-changelog/__snapshots__/createConventionalChangelogHeader.test.js.snap @@ -0,0 +1,17 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`createConventionalChangelogHeader > default 1`] = ` +[ + "## 1.0.0", + "", +] +`; + +exports[`createConventionalChangelogHeader > with compare URL 1`] = ` +[ + "## 1.0.0", + "", + "[Compare changes](https://example.com)", + "", +] +`; diff --git a/packages/conventional-commits-changelog/package.json b/packages/conventional-commits-changelog/package.json new file mode 100644 index 0000000..0e68bb5 --- /dev/null +++ b/packages/conventional-commits-changelog/package.json @@ -0,0 +1,33 @@ +{ + "name": "@wroud/conventional-commits-changelog", + "private": true, + "version": "0.0.1", + "type": "module", + "packageManager": "yarn@4.4.1", + "exports": { + ".": "./lib/index.js" + }, + "scripts": { + "ci:prepublish": "", + "test": "tests-runner", + "test:ci": "CI=true yarn run test", + "build": "tsc -b", + "watch:tsc": "tsc -b -w", + "dev": "concurrently \"npm:watch:*\"", + "clear": "rimraf ./lib" + }, + "devDependencies": { + "@tsconfig/node20": "^20", + "@types/node": "^20", + "@vitest/coverage-v8": "^2", + "@wroud/tests-runner": "workspace:^", + "@wroud/tsconfig": "workspace:^", + "concurrently": "^8", + "rimraf": "^6", + "typescript": "^5", + "vitest": "^2" + }, + "dependencies": { + "@wroud/conventional-commits-parser": "workspace:^" + } +} diff --git a/packages/conventional-commits-changelog/src/IConventionalCommitCoAuthor.ts b/packages/conventional-commits-changelog/src/IConventionalCommitCoAuthor.ts new file mode 100644 index 0000000..ba2e337 --- /dev/null +++ b/packages/conventional-commits-changelog/src/IConventionalCommitCoAuthor.ts @@ -0,0 +1,7 @@ +export interface IConventionalCommitCoAuthor { + name: string; + username?: string; + usernameLink?: string; + link?: string; + email?: string; +} diff --git a/packages/conventional-commits-changelog/src/IConventionalCommitMetadata.ts b/packages/conventional-commits-changelog/src/IConventionalCommitMetadata.ts new file mode 100644 index 0000000..154d038 --- /dev/null +++ b/packages/conventional-commits-changelog/src/IConventionalCommitMetadata.ts @@ -0,0 +1,6 @@ +import type { IConventionalCommitCoAuthor } from "./IConventionalCommitCoAuthor.js"; + +export interface IConventionalCommitMetadata { + url?: string; + coAuthors: IConventionalCommitCoAuthor[]; +} diff --git a/packages/conventional-commits-changelog/src/IConventionalCommitWithMetadata.ts b/packages/conventional-commits-changelog/src/IConventionalCommitWithMetadata.ts new file mode 100644 index 0000000..889c6a0 --- /dev/null +++ b/packages/conventional-commits-changelog/src/IConventionalCommitWithMetadata.ts @@ -0,0 +1,6 @@ +import type { IConventionalCommit } from "@wroud/conventional-commits-parser"; +import type { IConventionalCommitMetadata } from "./IConventionalCommitMetadata.js"; + +export interface IConventionalCommitWithMetadata extends IConventionalCommit { + metadata?: IConventionalCommitMetadata; +} diff --git a/packages/conventional-commits-changelog/src/createChangelogHeader.test.ts b/packages/conventional-commits-changelog/src/createChangelogHeader.test.ts new file mode 100644 index 0000000..41bc79a --- /dev/null +++ b/packages/conventional-commits-changelog/src/createChangelogHeader.test.ts @@ -0,0 +1,24 @@ +import { describe, expect, it } from "vitest"; +import { createChangelogHeader } from "./createChangelogHeader.js"; + +describe("createChangelogHeader", () => { + it("default", () => { + const header = Array.from(createChangelogHeader()); + + expect(header).toMatchSnapshot(); + }); + + it("with custom title", () => { + const header = Array.from(createChangelogHeader("Release notes")); + + expect(header).toMatchSnapshot(); + }); + + it("with custom description", () => { + const header = Array.from( + createChangelogHeader("Release notes", "This is a description"), + ); + + expect(header).toMatchSnapshot(); + }); +}); diff --git a/packages/conventional-commits-changelog/src/createChangelogHeader.ts b/packages/conventional-commits-changelog/src/createChangelogHeader.ts new file mode 100644 index 0000000..3e1b35a --- /dev/null +++ b/packages/conventional-commits-changelog/src/createChangelogHeader.ts @@ -0,0 +1,19 @@ +export interface ICreateConventionalChangelogOptions { + headlineLevel?: string; +} + +export function* createChangelogHeader( + title = "Changelog", + description = "All notable changes to this project will be documented in this file.", + options: ICreateConventionalChangelogOptions = {}, +): Generator { + const { headlineLevel: hl = "#" } = options; + + yield `${hl} ${title}`; + yield ""; + + if (description) { + yield description; + yield ""; + } +} diff --git a/packages/conventional-commits-changelog/src/createConventionalChangelog.test.ts b/packages/conventional-commits-changelog/src/createConventionalChangelog.test.ts new file mode 100644 index 0000000..40069ac --- /dev/null +++ b/packages/conventional-commits-changelog/src/createConventionalChangelog.test.ts @@ -0,0 +1,28 @@ +import { describe, expect, it } from "vitest"; +import { createConventionalChangelog } from "./createConventionalChangelog.js"; +import type { IConventionalCommit } from "@wroud/conventional-commits-parser"; +import { readFile } from "fs/promises"; +import path from "path"; + +describe("createConventionalChangelog", () => { + it("default", async () => { + const changelog: string[] = []; + + const commits: IConventionalCommit[] = JSON.parse( + await readFile( + path.join( + import.meta.dirname, + "../__fixtures__", + "fixture.conventional-commits.json", + ), + "utf-8", + ), + ); + + for await (const line of createConventionalChangelog(commits)) { + changelog.push(line); + } + + expect(changelog).toMatchSnapshot(); + }); +}); diff --git a/packages/conventional-commits-changelog/src/createConventionalChangelog.ts b/packages/conventional-commits-changelog/src/createConventionalChangelog.ts new file mode 100644 index 0000000..e2d07fd --- /dev/null +++ b/packages/conventional-commits-changelog/src/createConventionalChangelog.ts @@ -0,0 +1,168 @@ +import type { IConventionalCommit } from "@wroud/conventional-commits-parser"; +import type { IConventionalCommitMetadata } from "./IConventionalCommitMetadata.js"; +import type { IConventionalCommitCoAuthor } from "./IConventionalCommitCoAuthor.js"; +import type { IConventionalCommitWithMetadata } from "./IConventionalCommitWithMetadata.js"; + +export interface ICreateConventionalChangelogOptions { + headlineLevel?: string; + getMetadata?: ( + commit: IConventionalCommit, + ) => Promise; +} + +export async function* createConventionalChangelog( + commits: IConventionalCommit[], + options: ICreateConventionalChangelogOptions = {}, +): AsyncGenerator { + const { headlineLevel: hl = "###", getMetadata } = options; + + const features: IConventionalCommitWithMetadata[] = []; + const fixes: IConventionalCommitWithMetadata[] = []; + const breakingChanges: IConventionalCommitWithMetadata[] = []; + const documentation: IConventionalCommitWithMetadata[] = []; + const refactor: IConventionalCommitWithMetadata[] = []; + const performance: IConventionalCommitWithMetadata[] = []; + const contributors: IConventionalCommitCoAuthor[] = []; + + for (const commit of commits) { + let group: IConventionalCommitWithMetadata[] | undefined = undefined; + + if (commit.breakingChanges.length > 0) { + group = breakingChanges; + } else { + switch (commit.type) { + case "feat": + group = features; + break; + case "fix": + group = fixes; + break; + case "docs": + group = documentation; + break; + case "refactor": + group = refactor; + break; + case "perf": + group = performance; + break; + } + } + + if (!group) { + continue; + } + + const commitWithMetadata: IConventionalCommitWithMetadata = { + ...commit, + }; + + if (getMetadata) { + commitWithMetadata.metadata = await getMetadata(commit); + contributors.push(...commitWithMetadata.metadata.coAuthors); + } + + group.push(commitWithMetadata); + } + + if (features.length > 0) { + yield* createSection(hl, "✨ Features"); + yield* createChangesList(features); + } + + if (fixes.length > 0) { + yield* createSection(hl, "🩹 Fixes"); + yield* createChangesList(fixes); + } + + if (breakingChanges.length > 0) { + yield* createSection(hl, "⚠️ Breaking Changes"); + yield* createChangesList(breakingChanges); + } + + if (documentation.length > 0) { + yield* createSection(hl, "📖 Documentation"); + yield* createChangesList(documentation); + } + + if (refactor.length > 0) { + yield* createSection(hl, "⚙️ Refactor"); + yield* createChangesList(refactor); + } + + if (performance.length > 0) { + yield* createSection(hl, "🚀 Performance"); + yield* createChangesList(performance); + } + + if (contributors.length > 0) { + yield* createSection(hl, "❤️ Contributors"); + yield* createContributorsList(contributors); + } +} + +function* createSection( + headlineLevel: string, + title: string, +): Generator { + yield `${headlineLevel} ${title}`; + yield ""; +} + +function* createChangesList( + commits: IConventionalCommitWithMetadata[], +): Generator { + for (const commit of commits) { + let message = `- ${commit.description}`; + + if (commit.metadata?.url) { + message += ` ([${commit.commitInfo.hash}](${commit.metadata.url}))`; + } else { + message += ` (${commit.commitInfo.hash})`; + } + + yield message; + + for (const breakingChange of commit.breakingChanges) { + const lines = formatMessage(breakingChange); + yield ` - ${lines.shift()}`; + + for (const line of lines) { + yield `
${line}`; + } + } + } + yield ""; +} + +function* createContributorsList( + contributors: IConventionalCommitCoAuthor[], +): Generator { + for (const contributor of contributors) { + let name = contributor.name; + + if (contributor.link) { + name = `[${name}](${contributor.link})`; + } + + if (contributor.username) { + if (contributor.usernameLink) { + name += ` ([@${contributor.username}](${contributor.usernameLink}))`; + } else { + name += ` (@${contributor.username})`; + } + } + + if (!contributor.email) { + yield `- ${name}`; + continue; + } + + yield `- ${name} <${contributor.email}>`; + } + yield ""; +} + +function formatMessage(message: string): string[] { + return message.trim().split(/\n/gm); +} diff --git a/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.test.ts b/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.test.ts new file mode 100644 index 0000000..a226162 --- /dev/null +++ b/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, it } from "vitest"; +import { createConventionalChangelogHeader } from "./createConventionalChangelogHeader.js"; + +describe("createConventionalChangelogHeader", () => { + it("default", () => { + const header = Array.from(createConventionalChangelogHeader("1.0.0")); + + expect(header).toMatchSnapshot(); + }); + + it("with compare URL", () => { + const header = Array.from( + createConventionalChangelogHeader("1.0.0", "https://example.com"), + ); + + expect(header).toMatchSnapshot(); + }); +}); diff --git a/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.ts b/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.ts new file mode 100644 index 0000000..7d93870 --- /dev/null +++ b/packages/conventional-commits-changelog/src/createConventionalChangelogHeader.ts @@ -0,0 +1,19 @@ +export interface ICreateConventionalChangelogOptions { + headlineLevel?: string; +} + +export function* createConventionalChangelogHeader( + version: string, + compareUrl?: string, + options: ICreateConventionalChangelogOptions = {}, +): Generator { + const { headlineLevel: hl = "##" } = options; + + yield `${hl} ${version}`; + yield ""; + + if (compareUrl) { + yield `[Compare changes](${compareUrl})`; + yield ""; + } +} diff --git a/packages/conventional-commits-changelog/src/index.ts b/packages/conventional-commits-changelog/src/index.ts new file mode 100644 index 0000000..21fba8b --- /dev/null +++ b/packages/conventional-commits-changelog/src/index.ts @@ -0,0 +1,3 @@ +export * from "./createConventionalChangelog.js"; +export * from "./IConventionalCommitMetadata.js"; +export * from "./IConventionalCommitCoAuthor.js"; diff --git a/packages/conventional-commits-changelog/tsconfig.json b/packages/conventional-commits-changelog/tsconfig.json new file mode 100644 index 0000000..51dad9a --- /dev/null +++ b/packages/conventional-commits-changelog/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@wroud/tsconfig/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./lib/.tsbuildinfo", + "rootDir": "src", + "rootDirs": ["src"], + "outDir": "lib", + "types": ["node"], + "incremental": true, + "composite": true + }, + "include": ["src"], + "references": [ + { + "path": "../conventional-commits-parser" + } + ] +} diff --git a/packages/conventional-commits-parser/__snapshots__/parseConventionalCommit.test.js.snap b/packages/conventional-commits-parser/__snapshots__/parseConventionalCommit.test.js.snap new file mode 100644 index 0000000..4c5555d --- /dev/null +++ b/packages/conventional-commits-parser/__snapshots__/parseConventionalCommit.test.js.snap @@ -0,0 +1,2550 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`parseConventionalCommit > without 1`] = ` +[ + { + "body": "some long description", + "breakingChanges": [ + "Some breaky change", + ], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "some long description +", + "hash": "1dfaff1", + "subject": "test(git): test commit with something", + "tags": [ + "v1.0.5", + "v1.0.1", + ], + "trailers": [ + { + "token": "BREAKING CHANGE", + "value": "Some breaky change", + }, + { + "token": "fix", + "value": "#123", + }, + ], + }, + "description": "test commit with something", + "scope": "git", + "type": "test", + }, + { + "body": undefined, + "breakingChanges": [ + "disable auto release", + ], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5a84e8d", + "subject": "chore!: disable auto release", + "tags": [], + "trailers": [], + }, + "description": "disable auto release", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [ + "Some breaky change", + ], + "commitInfo": { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "cde6098", + "subject": "chore: release @wroud/di@0.9.1", + "tags": [ + "di-v0.9.1", + ], + "trailers": [ + { + "token": "BREAKING-CHANGE", + "value": "Some breaky change", + }, + ], + }, + "description": "release @wroud/di@0.9.1", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "26768a0", + "subject": "fix: add automated releases", + "tags": [], + "trailers": [], + }, + "description": "add automated releases", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ca0db97", + "subject": "feat: update github workflows", + "tags": [], + "trailers": [], + }, + "description": "update github workflows", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d9774d6", + "subject": "ci: inherit secrets in workflows", + "tags": [], + "trailers": [], + }, + "description": "inherit secrets in workflows", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "afa7fd3", + "subject": "chore: fix readme", + "tags": [], + "trailers": [], + }, + "description": "fix readme", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "1624c31", + "subject": "chore: release @wroud/di@0.9.0", + "tags": [ + "di-v0.9.0", + ], + "trailers": [], + }, + "description": "release @wroud/di@0.9.0", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0848e0a", + "subject": "ci: fix workflows", + "tags": [], + "trailers": [], + }, + "description": "fix workflows", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "82e92ef", + "subject": "ci: enable corepack", + "tags": [], + "trailers": [], + }, + "description": "enable corepack", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3e25589", + "subject": "chore: remove yarn cache", + "tags": [], + "trailers": [], + }, + "description": "remove yarn cache", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2c35601", + "subject": "ci: update dependencies and github workflows", + "tags": [], + "trailers": [], + }, + "description": "update dependencies and github workflows", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c0e299", + "subject": "chore: remove test from readme", + "tags": [], + "trailers": [], + }, + "description": "remove test from readme", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "02df602", + "subject": "ci: rewrite bump resolver", + "tags": [], + "trailers": [], + }, + "description": "rewrite bump resolver", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "e801bdb", + "subject": "chore: release @wroud/di@0.8.5", + "tags": [], + "trailers": [], + }, + "description": "release @wroud/di@0.8.5", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d824036", + "subject": "ci: add package name to releases", + "tags": [], + "trailers": [], + }, + "description": "add package name to releases", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "01e09a8", + "subject": "ci: properly handle errors", + "tags": [], + "trailers": [], + }, + "description": "properly handle errors", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c3378cc", + "subject": "ci: commit as github actions bot", + "tags": [], + "trailers": [], + }, + "description": "commit as github actions bot", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "041d000", + "subject": "chore: release 0.8.4", + "tags": [], + "trailers": [], + }, + "description": "release 0.8.4", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cc0fe8a", + "subject": "ci: trigger update", + "tags": [], + "trailers": [], + }, + "description": "trigger update", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b58a7dd", + "subject": "ci: configure publishing github releases", + "tags": [], + "trailers": [], + }, + "description": "configure publishing github releases", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e514809", + "subject": "chore: release 0.8.3", + "tags": [], + "trailers": [], + }, + "description": "release 0.8.3", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "48cc6f1", + "subject": "ci: filter release commit only for bump check", + "tags": [], + "trailers": [], + }, + "description": "filter release commit only for bump check", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a80b948", + "subject": "chore: release 0.8.2", + "tags": [], + "trailers": [], + }, + "description": "release 0.8.2", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4262c3b", + "subject": "chore: push annotated tags", + "tags": [], + "trailers": [], + }, + "description": "push annotated tags", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a251066", + "subject": "chore: release 0.8.1", + "tags": [], + "trailers": [], + }, + "description": "release 0.8.1", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc02a0d", + "subject": "chore: trigger release", + "tags": [], + "trailers": [], + }, + "description": "trigger release", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "9ff54fc", + "subject": "chore: release 0.8.0", + "tags": [], + "trailers": [], + }, + "description": "release 0.8.0", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a9443ec", + "subject": "ci: push fixed tag", + "tags": [], + "trailers": [], + }, + "description": "push fixed tag", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "55a315c", + "subject": "chore: release 0.7.0", + "tags": [], + "trailers": [], + }, + "description": "release 0.7.0", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4a6430d", + "subject": "chore: add changelog for di", + "tags": [], + "trailers": [], + }, + "description": "add changelog for di", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5a14585", + "subject": "chore: release 0.6.0", + "tags": [], + "trailers": [], + }, + "description": "release 0.6.0", + "scope": undefined, + "type": "chore", + }, + { + "body": "* chore: rebase + +* test: fix tests", + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* chore: rebase + +* test: fix tests", + "hash": "f9f8224", + "subject": "chore: rebase (#15)", + "tags": [], + "trailers": [], + }, + "description": "rebase (#15)", + "scope": undefined, + "type": "chore", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e0dd0e5", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + "description": "release undefined", + "scope": undefined, + "type": "chore", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "dc0f7d0", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + "description": "release undefined", + "scope": undefined, + "type": "chore", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "f6d4755", + "subject": "ci: configure gulp (#11)", + "tags": [], + "trailers": [], + }, + "description": "configure gulp (#11)", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "cf5ef0c", + "subject": "ci: add empty placeholder command ci:prepublish (#10)", + "tags": [], + "trailers": [], + }, + "description": "add empty placeholder command ci:prepublish (#10)", + "scope": undefined, + "type": "ci", + }, + null, + { + "body": "* ci: fail on empty commits + +* ci: commit lockfile", + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: fail on empty commits + +* ci: commit lockfile", + "hash": "71d3bf2", + "subject": "ci: fail on empty commits (#9)", + "tags": [], + "trailers": [], + }, + "description": "fail on empty commits (#9)", + "scope": undefined, + "type": "ci", + }, + null, + null, + null, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "e839687", + "subject": "ci: run prepublish scripts", + "tags": [], + "trailers": [], + }, + "description": "run prepublish scripts", + "scope": undefined, + "type": "ci", + }, + null, + null, + null, + null, + { + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection", + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection", + "hash": "b24e2c2", + "subject": "ci: run prepublish scripts (#5)", + "tags": [], + "trailers": [], + }, + "description": "run prepublish scripts (#5)", + "scope": undefined, + "type": "ci", + }, + { + "body": "* ci: add changelog and automatic releases + +* ci: coverage report fix + +* ci: sanitize branch name in github workflows", + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: add changelog and automatic releases + +* ci: coverage report fix + +* ci: sanitize branch name in github workflows", + "hash": "c5af8e3", + "subject": "ci: add changelog and automatic releases (#4)", + "tags": [], + "trailers": [], + }, + "description": "add changelog and automatic releases (#4)", + "scope": undefined, + "type": "ci", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d31ce7b", + "subject": "chore(di-react): optimize useAbandonedRenderDisposer timeout", + "tags": [], + "trailers": [], + }, + "description": "optimize useAbandonedRenderDisposer timeout", + "scope": "di-react", + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ccfac38", + "subject": "chore(react): update readme", + "tags": [], + "trailers": [], + }, + "description": "update readme", + "scope": "react", + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dedfddd", + "subject": "chore: update docs", + "tags": [], + "trailers": [], + }, + "description": "update docs", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "717c44e", + "subject": "chore: update docs for di", + "tags": [], + "trailers": [], + }, + "description": "update docs for di", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a79da6", + "subject": "chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "tags": [], + "trailers": [], + }, + "description": "Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65698ad", + "subject": "chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "tags": [], + "trailers": [], + }, + "description": "Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fcf6004", + "subject": "chore: update deps", + "tags": [], + "trailers": [], + }, + "description": "update deps", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5cb14f4", + "subject": "chore(di-react): add react bindings for di", + "tags": [], + "trailers": [], + }, + "description": "add react bindings for di", + "scope": "di-react", + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "30807d4", + "subject": "chore(di): reorganize exports", + "tags": [], + "trailers": [], + }, + "description": "reorganize exports", + "scope": "di", + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8615243", + "subject": "chore: update imports for di-tools-analyzer", + "tags": [], + "trailers": [], + }, + "description": "update imports for di-tools-analyzer", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4e236f3", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + "description": "update exports", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "74656a2", + "subject": "chore: add documentation about lazy", + "tags": [], + "trailers": [], + }, + "description": "add documentation about lazy", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a74691", + "subject": "chore: Update @wroud/di package to version 0.1.5 and include production module", + "tags": [], + "trailers": [], + }, + "description": "Update @wroud/di package to version 0.1.5 and include production module", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "392170e", + "subject": "chore: Bump @wroud/di version to 0.1.4", + "tags": [], + "trailers": [], + }, + "description": "Bump @wroud/di version to 0.1.4", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1023ebc", + "subject": "chore: add better debugging and optimized production build", + "tags": [], + "trailers": [], + }, + "description": "add better debugging and optimized production build", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8e5da34", + "subject": "chore: Fix import in injectable.test.ts", + "tags": [], + "trailers": [], + }, + "description": "Fix import in injectable.test.ts", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6c78545", + "subject": "chore: update unit tests", + "tags": [], + "trailers": [], + }, + "description": "update unit tests", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f82db3", + "subject": "chore: Update @wroud/di to version 0.1.3", + "tags": [], + "trailers": [], + }, + "description": "Update @wroud/di to version 0.1.3", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0e80287", + "subject": "chore: Exclude test files from package build", + "tags": [], + "trailers": [], + }, + "description": "Exclude test files from package build", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6357a3a", + "subject": "chore: Update @wroud/di to version 0.1.2", + "tags": [], + "trailers": [], + }, + "description": "Update @wroud/di to version 0.1.2", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7c2505", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + "description": "update dependencies", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "258b0ec", + "subject": "chore: bump version @wroud/di to 0.1.1", + "tags": [], + "trailers": [], + }, + "description": "bump version @wroud/di to 0.1.1", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d861be", + "subject": "chore: rename diLazy -> lazy", + "tags": [], + "trailers": [], + }, + "description": "rename diLazy -> lazy", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b3fb16c", + "subject": "chore: update vitest to 2 version", + "tags": [], + "trailers": [], + }, + "description": "update vitest to 2 version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5d407ee", + "subject": "chore: bump version @wroud/di to 0.1.0", + "tags": [], + "trailers": [], + }, + "description": "bump version @wroud/di to 0.1.0", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "792d6b6", + "subject": "feat: lazy implementation loading", + "tags": [], + "trailers": [], + }, + "description": "lazy implementation loading", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "387a1fc", + "subject": "chore: rename IServiceImplementation to ISyncServiceImplementation", + "tags": [], + "trailers": [], + }, + "description": "rename IServiceImplementation to ISyncServiceImplementation", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65bf5af", + "subject": "chore: split logic", + "tags": [], + "trailers": [], + }, + "description": "split logic", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7dbff6d", + "subject": "chore: rename configs", + "tags": [], + "trailers": [], + }, + "description": "rename configs", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d5ac8c0", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + "description": "ci-cd", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dcf424a", + "subject": "fix: tsconfig", + "tags": [], + "trailers": [], + }, + "description": "tsconfig", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "802ee0c", + "subject": "chore: update yarn.lock", + "tags": [], + "trailers": [], + }, + "description": "update yarn.lock", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "412907f", + "subject": "chore: migrate to vitest", + "tags": [], + "trailers": [], + }, + "description": "migrate to vitest", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c7228a", + "subject": "fix: cyclic dependencies detection", + "tags": [], + "trailers": [], + }, + "description": "cyclic dependencies detection", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "43a43b5", + "subject": "fix: change package type", + "tags": [], + "trailers": [], + }, + "description": "change package type", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6773df2", + "subject": "chore: change output to commonjs", + "tags": [], + "trailers": [], + }, + "description": "change output to commonjs", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4672641", + "subject": "fix: run as common js module", + "tags": [], + "trailers": [], + }, + "description": "run as common js module", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6ed140b", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + "description": "update dependencies", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b392ebf", + "subject": "chore: update bin", + "tags": [], + "trailers": [], + }, + "description": "update bin", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b65f7e9", + "subject": "fix: exports", + "tags": [], + "trailers": [], + }, + "description": "exports", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1c4c04c", + "subject": "feat: @wroud/di-tools-codemod", + "tags": [], + "trailers": [], + }, + "description": "@wroud/di-tools-codemod", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "712d055", + "subject": "chore: bump \`@wroud/di-tools-analyzer\` version", + "tags": [], + "trailers": [], + }, + "description": "bump \`@wroud/di-tools-analyzer\` version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e5142e0", + "subject": "docs: ModuleRegistry api", + "tags": [], + "trailers": [], + }, + "description": "ModuleRegistry api", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7ef251", + "subject": "feat: add full screen mode for di analyzer", + "tags": [], + "trailers": [], + }, + "description": "add full screen mode for di analyzer", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "52276d5", + "subject": "docs: add documentation for @wroud/di-tools-analyzer", + "tags": [], + "trailers": [], + }, + "description": "add documentation for @wroud/di-tools-analyzer", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5e5e195", + "subject": "fix: robots.txt name", + "tags": [], + "trailers": [], + }, + "description": "robots.txt name", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "19bdf3b", + "subject": "feat: add robots.txt", + "tags": [], + "trailers": [], + }, + "description": "add robots.txt", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f40e2f7", + "subject": "chore: tune layout", + "tags": [], + "trailers": [], + }, + "description": "tune layout", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3aa1529", + "subject": "fix: graph example", + "tags": [], + "trailers": [], + }, + "description": "graph example", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6379e3f", + "subject": "feat: move graph to another page", + "tags": [], + "trailers": [], + }, + "description": "move graph to another page", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ce1124", + "subject": "feat: add di analyzer", + "tags": [], + "trailers": [], + }, + "description": "add di analyzer", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf852fa", + "subject": "docs: remove extra", + "tags": [], + "trailers": [], + }, + "description": "remove extra", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5f55b1c", + "subject": "docs: make examples simpler", + "tags": [], + "trailers": [], + }, + "description": "make examples simpler", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f76c015", + "subject": "docs: simplify samples", + "tags": [], + "trailers": [], + }, + "description": "simplify samples", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "33c7dd4", + "subject": "docs: add "Why DI?" page", + "tags": [], + "trailers": [], + }, + "description": "add "Why DI?" page", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f89822", + "subject": "chore: move tsconfig to separate package", + "tags": [], + "trailers": [], + }, + "description": "move tsconfig to separate package", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "84543ee", + "subject": "chore: remove example from source code", + "tags": [], + "trailers": [], + }, + "description": "remove example from source code", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "851d0eb", + "subject": "chore: add package description", + "tags": [], + "trailers": [], + }, + "description": "add package description", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7759c1", + "subject": "docs: update docs", + "tags": [], + "trailers": [], + }, + "description": "update docs", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "9b0bc81", + "subject": "chore: remove template pages", + "tags": [], + "trailers": [], + }, + "description": "remove template pages", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4d04ec9", + "subject": "fix: docs sitemap filter", + "tags": [], + "trailers": [], + }, + "description": "docs sitemap filter", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d117ac4", + "subject": "chore: filter test pages from sitemap", + "tags": [], + "trailers": [], + }, + "description": "filter test pages from sitemap", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "95b1979", + "subject": "chore: add keywords", + "tags": [], + "trailers": [], + }, + "description": "add keywords", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1da9a4e", + "subject": "chore: add license and readme for @wroud/di", + "tags": [], + "trailers": [], + }, + "description": "add license and readme for @wroud/di", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "10c7455", + "subject": "fix: adjust memory threshold for GC", + "tags": [], + "trailers": [], + }, + "description": "adjust memory threshold for GC", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3037269", + "subject": "chore: add logo", + "tags": [], + "trailers": [], + }, + "description": "add logo", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "201aba6", + "subject": "feat: adjust SEO in docs", + "tags": [], + "trailers": [], + }, + "description": "adjust SEO in docs", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c5ff8f6", + "subject": "fix: docs logo styles in light theme", + "tags": [], + "trailers": [], + }, + "description": "docs logo styles in light theme", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a14136", + "subject": "feat: add logo to docs", + "tags": [], + "trailers": [], + }, + "description": "add logo to docs", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cdb9148", + "subject": "chore: update docs and add GA", + "tags": [], + "trailers": [], + }, + "description": "update docs and add GA", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1eef8d6", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + "description": "bump version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5286029", + "subject": "docs: complete base articles", + "tags": [], + "trailers": [], + }, + "description": "complete base articles", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "eceb0c4", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + "description": "update version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b6a45ff", + "subject": "fix: proper error message while resolving scoped dependency for singleton service", + "tags": [], + "trailers": [], + }, + "description": "proper error message while resolving scoped dependency for singleton service", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "61c73bf", + "subject": "chore: specify files list", + "tags": [], + "trailers": [], + }, + "description": "specify files list", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ff3238e", + "subject": "fix: update types", + "tags": [], + "trailers": [], + }, + "description": "update types", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "93c4640", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + "description": "update version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7517cc", + "subject": "fix: version lazy loading leads to incorrect badge on first render", + "tags": [], + "trailers": [], + }, + "description": "version lazy loading leads to incorrect badge on first render", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f98f7b1", + "subject": "docs: collect jest statistic for provided package", + "tags": [], + "trailers": [], + }, + "description": "collect jest statistic for provided package", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6d43540", + "subject": "feat: add strict types to ServicesRegistry.register", + "tags": [], + "trailers": [], + }, + "description": "add strict types to ServicesRegistry.register", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "25845a7", + "subject": "fix(tests): add logs to console", + "tags": [], + "trailers": [], + }, + "description": "add logs to console", + "scope": "tests", + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ea20107", + "subject": "chore(tests): increase memory threshold", + "tags": [], + "trailers": [], + }, + "description": "increase memory threshold", + "scope": "tests", + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "013ed92", + "subject": "chore: add coverage badge", + "tags": [], + "trailers": [], + }, + "description": "add coverage badge", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1a8cd2f", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + "description": "ci-cd", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d95c6d4", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + "description": "ci-cd", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "57eee77", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + "description": "ci-cd", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b931c2c", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + "description": "ci-cd", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ab52910", + "subject": "fix: workflow", + "tags": [], + "trailers": [], + }, + "description": "workflow", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2d55876", + "subject": "tests: add json-summary reporter", + "tags": [], + "trailers": [], + }, + "description": "add json-summary reporter", + "scope": undefined, + "type": "tests", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1dca2b4", + "subject": "tests: add some tests and badges", + "tags": [], + "trailers": [], + }, + "description": "add some tests and badges", + "scope": undefined, + "type": "tests", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7720341", + "subject": "fix: build docs separately", + "tags": [], + "trailers": [], + }, + "description": "build docs separately", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "193d9c3", + "subject": "chore: update build process", + "tags": [], + "trailers": [], + }, + "description": "update build process", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6fb62f9", + "subject": "docs: add installation section", + "tags": [], + "trailers": [], + }, + "description": "add installation section", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83012a5", + "subject": "fix(docs): link to the di overview page", + "tags": [], + "trailers": [], + }, + "description": "link to the di overview page", + "scope": "docs", + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "07932df", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + "description": "update version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "45d8572", + "subject": "chore: add homepage and repository to package.json", + "tags": [], + "trailers": [], + }, + "description": "add homepage and repository to package.json", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "beca909", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + "description": "update exports", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc9ef0f", + "subject": "docs: add dependency injection overview page", + "tags": [], + "trailers": [], + }, + "description": "add dependency injection overview page", + "scope": undefined, + "type": "docs", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83d3093", + "subject": "fix: pages deploy workflow", + "tags": [], + "trailers": [], + }, + "description": "pages deploy workflow", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f193d85", + "subject": "feat: add github pages", + "tags": [], + "trailers": [], + }, + "description": "add github pages", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83108bd", + "subject": "fix: return publish package dir", + "tags": [], + "trailers": [], + }, + "description": "return publish package dir", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e3c1a3b", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + "description": "bump version", + "scope": undefined, + "type": "chore", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ebef39", + "subject": "feat: add module and types", + "tags": [], + "trailers": [], + }, + "description": "add module and types", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ae35e9f", + "subject": "fix: add version", + "tags": [], + "trailers": [], + }, + "description": "add version", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ee089fa", + "subject": "fix: publish workflow", + "tags": [], + "trailers": [], + }, + "description": "publish workflow", + "scope": undefined, + "type": "fix", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c4a86d", + "subject": "feat: add cache cleanup action", + "tags": [], + "trailers": [], + }, + "description": "add cache cleanup action", + "scope": undefined, + "type": "feat", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "41d0e01", + "subject": "fix: codecov ci", + "tags": [], + "trailers": [], + }, + "description": "codecov ci", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "62aec5f", + "subject": "fix: collect coverage", + "tags": [], + "trailers": [], + }, + "description": "collect coverage", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf9454d", + "subject": "feat: configure code coverage", + "tags": [], + "trailers": [], + }, + "description": "configure code coverage", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d675f9", + "subject": "feat: enable zero installs", + "tags": [], + "trailers": [], + }, + "description": "enable zero installs", + "scope": undefined, + "type": "feat", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a8879c6", + "subject": "fix: remove dist", + "tags": [], + "trailers": [], + }, + "description": "remove dist", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c27dbf0", + "subject": "fix: configure ci", + "tags": [], + "trailers": [], + }, + "description": "configure ci", + "scope": undefined, + "type": "fix", + }, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e92166a", + "subject": "feat: add github workflows", + "tags": [], + "trailers": [], + }, + "description": "add github workflows", + "scope": undefined, + "type": "feat", + }, + null, + { + "body": undefined, + "breakingChanges": [], + "commitInfo": { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1306e07", + "subject": "feat: init workspace", + "tags": [], + "trailers": [], + }, + "description": "init workspace", + "scope": undefined, + "type": "feat", + }, + null, +] +`; diff --git a/packages/conventional-commits-parser/__testfixtures__/fixture.git-commits.json b/packages/conventional-commits-parser/__testfixtures__/fixture.git-commits.json new file mode 100644 index 0000000..e16ce6b --- /dev/null +++ b/packages/conventional-commits-parser/__testfixtures__/fixture.git-commits.json @@ -0,0 +1,1550 @@ +[ + { + "hash": "1dfaff1", + "tags": ["v1.0.5", "v1.0.1"], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "test(git): test commit with something", + "body": "some long description\n", + "trailers": [ + { + "token": "BREAKING CHANGE", + "value": "Some breaky change" + }, + { + "token": "fix", + "value": "#123" + } + ] + }, + { + "hash": "5a84e8d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore!: disable auto release", + "body": "", + "trailers": [] + }, + { + "hash": "cde6098", + "tags": ["di-v0.9.1"], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.9.1", + "body": "", + "trailers": [{ "token": "BREAKING-CHANGE", "value": "Some breaky change" }] + }, + { + "hash": "26768a0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: add automated releases", + "body": "", + "trailers": [] + }, + { + "hash": "ca0db97", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: update github workflows", + "body": "", + "trailers": [] + }, + { + "hash": "d9774d6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: inherit secrets in workflows", + "body": "", + "trailers": [] + }, + { + "hash": "afa7fd3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: fix readme", + "body": "", + "trailers": [] + }, + { + "hash": "1624c31", + "tags": ["di-v0.9.0"], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.9.0", + "body": "", + "trailers": [] + }, + { + "hash": "0848e0a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: fix workflows", + "body": "", + "trailers": [] + }, + { + "hash": "82e92ef", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: enable corepack", + "body": "", + "trailers": [] + }, + { + "hash": "3e25589", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove yarn cache", + "body": "", + "trailers": [] + }, + { + "hash": "2c35601", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: update dependencies and github workflows", + "body": "", + "trailers": [] + }, + { + "hash": "0c0e299", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove test from readme", + "body": "", + "trailers": [] + }, + { + "hash": "02df602", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: rewrite bump resolver", + "body": "", + "trailers": [] + }, + { + "hash": "e801bdb", + "tags": [], + "authorName": "github-actions[bot]", + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "subject": "chore: release @wroud/di@0.8.5", + "body": "", + "trailers": [] + }, + { + "hash": "d824036", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add package name to releases", + "body": "", + "trailers": [] + }, + { + "hash": "01e09a8", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: properly handle errors", + "body": "", + "trailers": [] + }, + { + "hash": "c3378cc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: commit as github actions bot", + "body": "", + "trailers": [] + }, + { + "hash": "041d000", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.4", + "body": "", + "trailers": [] + }, + { + "hash": "cc0fe8a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: trigger update", + "body": "", + "trailers": [] + }, + { + "hash": "b58a7dd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: configure publishing github releases", + "body": "", + "trailers": [] + }, + { + "hash": "e514809", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.3", + "body": "", + "trailers": [] + }, + { + "hash": "48cc6f1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: filter release commit only for bump check", + "body": "", + "trailers": [] + }, + { + "hash": "a80b948", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.2", + "body": "", + "trailers": [] + }, + { + "hash": "4262c3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: push annotated tags", + "body": "", + "trailers": [] + }, + { + "hash": "a251066", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.1", + "body": "", + "trailers": [] + }, + { + "hash": "fc02a0d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: trigger release", + "body": "", + "trailers": [] + }, + { + "hash": "9ff54fc", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.8.0", + "body": "", + "trailers": [] + }, + { + "hash": "a9443ec", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: push fixed tag", + "body": "", + "trailers": [] + }, + { + "hash": "55a315c", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.7.0", + "body": "", + "trailers": [] + }, + { + "hash": "4a6430d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add changelog for di", + "body": "", + "trailers": [] + }, + { + "hash": "5a14585", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release 0.6.0", + "body": "", + "trailers": [] + }, + { + "hash": "f9f8224", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rebase (#15)", + "body": "* chore: rebase\n\n* test: fix tests", + "trailers": [] + }, + { + "hash": "d2ea47b", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Ci/configure gulp for ci (#14)", + "body": "* ci: configure gulp\n\n* ci: read package version directly\n\n* ci: skip release commits\n\n* ci: enable github releases\n\n* ci: remove changelog", + "trailers": [] + }, + { + "hash": "e0dd0e5", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release undefined", + "body": "", + "trailers": [] + }, + { + "hash": "5b43fb0", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Ci/configure gulp for ci (#13)", + "body": "* ci: configure gulp\n\n* ci: read package version directly\n\n* ci: skip release commits", + "trailers": [] + }, + { + "hash": "dc0f7d0", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "chore: release undefined", + "body": "", + "trailers": [] + }, + { + "hash": "3ef2856", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Ci/configure gulp for ci (#12)", + "body": "* ci: configure gulp\n\n* ci: read package version directly", + "trailers": [] + }, + { + "hash": "f6d4755", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: configure gulp (#11)", + "body": "", + "trailers": [] + }, + { + "hash": "cf5ef0c", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add empty placeholder command ci:prepublish (#10)", + "body": "", + "trailers": [] + }, + { + "hash": "d8a8ebe", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release di-v0.5.0", + "body": "", + "trailers": [] + }, + { + "hash": "71d3bf2", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: fail on empty commits (#9)", + "body": "* ci: fail on empty commits\n\n* ci: commit lockfile", + "trailers": [] + }, + { + "hash": "bd5311a", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.4.3", + "body": "", + "trailers": [] + }, + { + "hash": "ff36f54", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.4.2", + "body": "", + "trailers": [] + }, + { + "hash": "231a0aa", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.4.1", + "body": "", + "trailers": [] + }, + { + "hash": "5dfac88", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.4.0", + "body": "", + "trailers": [] + }, + { + "hash": "e839687", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: run prepublish scripts", + "body": "", + "trailers": [] + }, + { + "hash": "c15cea7", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.3.1", + "body": "", + "trailers": [] + }, + { + "hash": "5591856", + "tags": [], + "authorName": "github-actions", + "authorEmail": "github-actions@github.com", + "subject": "Release v0.3.0", + "body": "", + "trailers": [] + }, + { + "hash": "6bf7753", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Ci/run prepublish scripts (#7)", + "body": "* ci: run prepublish scripts\n\n* ci: use different method for brunch detection\n\n* ci: fix release workflow\n\n* ci: setup path to vitest config\n\n* ci: configure github actions commit", + "trailers": [] + }, + { + "hash": "82d6875", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Ci/run prepublish scripts (#6)", + "body": "* ci: run prepublish scripts\n\n* ci: use different method for brunch detection\n\n* ci: fix release workflow\n\n* ci: setup path to vitest config", + "trailers": [] + }, + { + "hash": "b24e2c2", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: run prepublish scripts (#5)", + "body": "* ci: run prepublish scripts\n\n* ci: use different method for brunch detection", + "trailers": [] + }, + { + "hash": "c5af8e3", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "ci: add changelog and automatic releases (#4)", + "body": "* ci: add changelog and automatic releases\n\n* ci: coverage report fix\n\n* ci: sanitize branch name in github workflows", + "trailers": [] + }, + { + "hash": "d31ce7b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di-react): optimize useAbandonedRenderDisposer timeout", + "body": "", + "trailers": [] + }, + { + "hash": "ccfac38", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(react): update readme", + "body": "", + "trailers": [] + }, + { + "hash": "dedfddd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs", + "body": "", + "trailers": [] + }, + { + "hash": "717c44e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs for di", + "body": "", + "trailers": [] + }, + { + "hash": "0a79da6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "body": "", + "trailers": [] + }, + { + "hash": "65698ad", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "body": "", + "trailers": [] + }, + { + "hash": "fcf6004", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update deps", + "body": "", + "trailers": [] + }, + { + "hash": "5cb14f4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di-react): add react bindings for di", + "body": "", + "trailers": [] + }, + { + "hash": "30807d4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(di): reorganize exports", + "body": "", + "trailers": [] + }, + { + "hash": "8615243", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update imports for di-tools-analyzer", + "body": "", + "trailers": [] + }, + { + "hash": "4e236f3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update exports", + "body": "", + "trailers": [] + }, + { + "hash": "74656a2", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add documentation about lazy", + "body": "", + "trailers": [] + }, + { + "hash": "0a74691", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di package to version 0.1.5 and include production module", + "body": "", + "trailers": [] + }, + { + "hash": "392170e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Bump @wroud/di version to 0.1.4", + "body": "", + "trailers": [] + }, + { + "hash": "1023ebc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add better debugging and optimized production build", + "body": "", + "trailers": [] + }, + { + "hash": "8e5da34", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Fix import in injectable.test.ts", + "body": "", + "trailers": [] + }, + { + "hash": "6c78545", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update unit tests", + "body": "", + "trailers": [] + }, + { + "hash": "2f82db3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di to version 0.1.3", + "body": "", + "trailers": [] + }, + { + "hash": "0e80287", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Exclude test files from package build", + "body": "", + "trailers": [] + }, + { + "hash": "6357a3a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: Update @wroud/di to version 0.1.2", + "body": "", + "trailers": [] + }, + { + "hash": "e7c2505", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update dependencies", + "body": "", + "trailers": [] + }, + { + "hash": "258b0ec", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version @wroud/di to 0.1.1", + "body": "", + "trailers": [] + }, + { + "hash": "0d861be", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename diLazy -> lazy", + "body": "", + "trailers": [] + }, + { + "hash": "b3fb16c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update vitest to 2 version", + "body": "", + "trailers": [] + }, + { + "hash": "5d407ee", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version @wroud/di to 0.1.0", + "body": "", + "trailers": [] + }, + { + "hash": "792d6b6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: lazy implementation loading", + "body": "", + "trailers": [] + }, + { + "hash": "387a1fc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename IServiceImplementation to ISyncServiceImplementation", + "body": "", + "trailers": [] + }, + { + "hash": "65bf5af", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: split logic", + "body": "", + "trailers": [] + }, + { + "hash": "7dbff6d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: rename configs", + "body": "", + "trailers": [] + }, + { + "hash": "d5ac8c0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + { + "hash": "dcf424a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: tsconfig", + "body": "", + "trailers": [] + }, + { + "hash": "802ee0c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update yarn.lock", + "body": "", + "trailers": [] + }, + { + "hash": "412907f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: migrate to vitest", + "body": "", + "trailers": [] + }, + { + "hash": "0c7228a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: cyclic dependencies detection", + "body": "", + "trailers": [] + }, + { + "hash": "43a43b5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: change package type", + "body": "", + "trailers": [] + }, + { + "hash": "6773df2", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: change output to commonjs", + "body": "", + "trailers": [] + }, + { + "hash": "4672641", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: run as common js module", + "body": "", + "trailers": [] + }, + { + "hash": "6ed140b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update dependencies", + "body": "", + "trailers": [] + }, + { + "hash": "b392ebf", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update bin", + "body": "", + "trailers": [] + }, + { + "hash": "b65f7e9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: exports", + "body": "", + "trailers": [] + }, + { + "hash": "1c4c04c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: @wroud/di-tools-codemod", + "body": "", + "trailers": [] + }, + { + "hash": "712d055", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump `@wroud/di-tools-analyzer` version", + "body": "", + "trailers": [] + }, + { + "hash": "e5142e0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: ModuleRegistry api", + "body": "", + "trailers": [] + }, + { + "hash": "d7ef251", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add full screen mode for di analyzer", + "body": "", + "trailers": [] + }, + { + "hash": "52276d5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add documentation for @wroud/di-tools-analyzer", + "body": "", + "trailers": [] + }, + { + "hash": "5e5e195", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: robots.txt name", + "body": "", + "trailers": [] + }, + { + "hash": "19bdf3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add robots.txt", + "body": "", + "trailers": [] + }, + { + "hash": "f40e2f7", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: tune layout", + "body": "", + "trailers": [] + }, + { + "hash": "3aa1529", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: graph example", + "body": "", + "trailers": [] + }, + { + "hash": "6379e3f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: move graph to another page", + "body": "", + "trailers": [] + }, + { + "hash": "5ce1124", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add di analyzer", + "body": "", + "trailers": [] + }, + { + "hash": "cf852fa", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: remove extra", + "body": "", + "trailers": [] + }, + { + "hash": "5f55b1c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: make examples simpler", + "body": "", + "trailers": [] + }, + { + "hash": "f76c015", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: simplify samples", + "body": "", + "trailers": [] + }, + { + "hash": "33c7dd4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add \"Why DI?\" page", + "body": "", + "trailers": [] + }, + { + "hash": "2f89822", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: move tsconfig to separate package", + "body": "", + "trailers": [] + }, + { + "hash": "84543ee", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove example from source code", + "body": "", + "trailers": [] + }, + { + "hash": "851d0eb", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add package description", + "body": "", + "trailers": [] + }, + { + "hash": "e7759c1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: update docs", + "body": "", + "trailers": [] + }, + { + "hash": "9b0bc81", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: remove template pages", + "body": "", + "trailers": [] + }, + { + "hash": "4d04ec9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: docs sitemap filter", + "body": "", + "trailers": [] + }, + { + "hash": "d117ac4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: filter test pages from sitemap", + "body": "", + "trailers": [] + }, + { + "hash": "95b1979", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add keywords", + "body": "", + "trailers": [] + }, + { + "hash": "1da9a4e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add license and readme for @wroud/di", + "body": "", + "trailers": [] + }, + { + "hash": "10c7455", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: adjust memory threshold for GC", + "body": "", + "trailers": [] + }, + { + "hash": "3037269", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add logo", + "body": "", + "trailers": [] + }, + { + "hash": "201aba6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: adjust SEO in docs", + "body": "", + "trailers": [] + }, + { + "hash": "c5ff8f6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: docs logo styles in light theme", + "body": "", + "trailers": [] + }, + { + "hash": "0a14136", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add logo to docs", + "body": "", + "trailers": [] + }, + { + "hash": "cdb9148", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update docs and add GA", + "body": "", + "trailers": [] + }, + { + "hash": "1eef8d6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version", + "body": "", + "trailers": [] + }, + { + "hash": "5286029", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: complete base articles", + "body": "", + "trailers": [] + }, + { + "hash": "eceb0c4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + { + "hash": "b6a45ff", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: proper error message while resolving scoped dependency for singleton service", + "body": "", + "trailers": [] + }, + { + "hash": "61c73bf", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: specify files list", + "body": "", + "trailers": [] + }, + { + "hash": "ff3238e", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: update types", + "body": "", + "trailers": [] + }, + { + "hash": "93c4640", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + { + "hash": "d7517cc", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: version lazy loading leads to incorrect badge on first render", + "body": "", + "trailers": [] + }, + { + "hash": "f98f7b1", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: collect jest statistic for provided package", + "body": "", + "trailers": [] + }, + { + "hash": "6d43540", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add strict types to ServicesRegistry.register", + "body": "", + "trailers": [] + }, + { + "hash": "25845a7", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix(tests): add logs to console", + "body": "", + "trailers": [] + }, + { + "hash": "ea20107", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore(tests): increase memory threshold", + "body": "", + "trailers": [] + }, + { + "hash": "013ed92", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add coverage badge", + "body": "", + "trailers": [] + }, + { + "hash": "1a8cd2f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + { + "hash": "d95c6d4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + { + "hash": "57eee77", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + { + "hash": "b931c2c", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: ci-cd", + "body": "", + "trailers": [] + }, + { + "hash": "ab52910", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: workflow", + "body": "", + "trailers": [] + }, + { + "hash": "2d55876", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "tests: add json-summary reporter", + "body": "", + "trailers": [] + }, + { + "hash": "1dca2b4", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "tests: add some tests and badges", + "body": "", + "trailers": [] + }, + { + "hash": "7720341", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: build docs separately", + "body": "", + "trailers": [] + }, + { + "hash": "193d9c3", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update build process", + "body": "", + "trailers": [] + }, + { + "hash": "6fb62f9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add installation section", + "body": "", + "trailers": [] + }, + { + "hash": "83012a5", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix(docs): link to the di overview page", + "body": "", + "trailers": [] + }, + { + "hash": "07932df", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update version", + "body": "", + "trailers": [] + }, + { + "hash": "45d8572", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: add homepage and repository to package.json", + "body": "", + "trailers": [] + }, + { + "hash": "beca909", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: update exports", + "body": "", + "trailers": [] + }, + { + "hash": "fc9ef0f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "docs: add dependency injection overview page", + "body": "", + "trailers": [] + }, + { + "hash": "83d3093", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: pages deploy workflow", + "body": "", + "trailers": [] + }, + { + "hash": "f193d85", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add github pages", + "body": "", + "trailers": [] + }, + { + "hash": "83108bd", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: return publish package dir", + "body": "", + "trailers": [] + }, + { + "hash": "e3c1a3b", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "chore: bump version", + "body": "", + "trailers": [] + }, + { + "hash": "5ebef39", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add module and types", + "body": "", + "trailers": [] + }, + { + "hash": "ae35e9f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: add version", + "body": "", + "trailers": [] + }, + { + "hash": "ee089fa", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: publish workflow", + "body": "", + "trailers": [] + }, + { + "hash": "8a420ab", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Merge pull request #3 from Wroud/fix/add-cleanup", + "body": "feat: add cache cleanup action", + "trailers": [] + }, + { + "hash": "0c4a86d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add cache cleanup action", + "body": "", + "trailers": [] + }, + { + "hash": "9d0965e", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Merge pull request #2 from Wroud/feat/github-workflows", + "body": "feat: add github workflows", + "trailers": [] + }, + { + "hash": "41d0e01", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: codecov ci", + "body": "", + "trailers": [] + }, + { + "hash": "62aec5f", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: collect coverage", + "body": "", + "trailers": [] + }, + { + "hash": "cf9454d", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: configure code coverage", + "body": "", + "trailers": [] + }, + { + "hash": "0d675f9", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: enable zero installs", + "body": "", + "trailers": [] + }, + { + "hash": "a8879c6", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: remove dist", + "body": "", + "trailers": [] + }, + { + "hash": "c27dbf0", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "fix: configure ci", + "body": "", + "trailers": [] + }, + { + "hash": "e92166a", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: add github workflows", + "body": "", + "trailers": [] + }, + { + "hash": "9777ef5", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Merge pull request #1 from Wroud/feat/init-workspace", + "body": "feat: init workspace", + "trailers": [] + }, + { + "hash": "1306e07", + "tags": [], + "authorName": "Aleksei Potsetsuev", + "authorEmail": "wrouds@gmail.com", + "subject": "feat: init workspace", + "body": "", + "trailers": [] + }, + { + "hash": "efd26d4", + "tags": [], + "authorName": "Alexey", + "authorEmail": "wrouds@gmail.com", + "subject": "Initial commit", + "body": "", + "trailers": [] + } +] diff --git a/packages/conventional-commits-parser/package.json b/packages/conventional-commits-parser/package.json new file mode 100644 index 0000000..7f50057 --- /dev/null +++ b/packages/conventional-commits-parser/package.json @@ -0,0 +1,33 @@ +{ + "name": "@wroud/conventional-commits-parser", + "private": true, + "version": "0.0.1", + "type": "module", + "packageManager": "yarn@4.4.1", + "exports": { + ".": "./lib/index.js" + }, + "scripts": { + "ci:prepublish": "", + "test": "tests-runner", + "test:ci": "CI=true yarn run test", + "build": "tsc -b", + "watch:tsc": "tsc -b -w", + "dev": "concurrently \"npm:watch:*\"", + "clear": "rimraf ./lib" + }, + "devDependencies": { + "@tsconfig/node20": "^20", + "@types/node": "^20", + "@vitest/coverage-v8": "^2", + "@wroud/tests-runner": "workspace:^", + "@wroud/tsconfig": "workspace:^", + "concurrently": "^8", + "rimraf": "^6", + "typescript": "^5", + "vitest": "^2" + }, + "dependencies": { + "@wroud/git": "workspace:^" + } +} diff --git a/packages/conventional-commits-parser/src/IConventionalCommit.ts b/packages/conventional-commits-parser/src/IConventionalCommit.ts new file mode 100644 index 0000000..c85b26f --- /dev/null +++ b/packages/conventional-commits-parser/src/IConventionalCommit.ts @@ -0,0 +1,10 @@ +import type { IGitCommitInfo } from "@wroud/git"; + +export interface IConventionalCommit { + commitInfo: IGitCommitInfo; + type: string; + scope?: string; + description: string; + body?: string; + breakingChanges: string[]; +} diff --git a/packages/conventional-commits-parser/src/gitTrailersConventionalCommits.ts b/packages/conventional-commits-parser/src/gitTrailersConventionalCommits.ts new file mode 100644 index 0000000..2dd868c --- /dev/null +++ b/packages/conventional-commits-parser/src/gitTrailersConventionalCommits.ts @@ -0,0 +1,3 @@ +export const gitTrailersConventionalCommits = [ + /^(?BREAKING CHANGE):[\s\t]*(?.+)$/, +]; diff --git a/packages/conventional-commits-parser/src/index.ts b/packages/conventional-commits-parser/src/index.ts new file mode 100644 index 0000000..d71874f --- /dev/null +++ b/packages/conventional-commits-parser/src/index.ts @@ -0,0 +1,3 @@ +export * from "./IConventionalCommit.js"; +export * from "./parseConventionalCommit.js"; +export * from "./gitTrailersConventionalCommits.js"; diff --git a/packages/conventional-commits-parser/src/parseConventionalCommit.test.ts b/packages/conventional-commits-parser/src/parseConventionalCommit.test.ts new file mode 100644 index 0000000..0448e30 --- /dev/null +++ b/packages/conventional-commits-parser/src/parseConventionalCommit.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, it } from "vitest"; +import { parseConventionalCommit } from "./parseConventionalCommit.js"; +import { readFile } from "fs/promises"; +import path from "path"; + +describe("parseConventionalCommit", () => { + it("without", async () => { + const data = await readFile( + path.join( + import.meta.dirname, + "../__testfixtures__/fixture.git-commits.json", + ), + "utf8", + ); + const commits = JSON.parse(data); + expect(commits.map(parseConventionalCommit)).toMatchSnapshot(); + }); +}); diff --git a/packages/conventional-commits-parser/src/parseConventionalCommit.ts b/packages/conventional-commits-parser/src/parseConventionalCommit.ts new file mode 100644 index 0000000..c933de5 --- /dev/null +++ b/packages/conventional-commits-parser/src/parseConventionalCommit.ts @@ -0,0 +1,49 @@ +import type { IGitCommitInfo } from "@wroud/git"; +import type { IConventionalCommit } from "./IConventionalCommit.js"; + +const headerRegex = + /^(?[\w-]+)(\((?[\w-]+)\))?(?!)?:\s(?[\S\s]*)/; + +export function parseConventionalCommit( + commitInfo: IGitCommitInfo, +): IConventionalCommit | null { + const match = headerRegex.exec(commitInfo.subject); + if (!match) { + return null; + } + + const breakingChanges: string[] = []; + const { type, breaking, scope, description } = match.groups as { + type: string; + breaking?: string; + scope?: string; + description: string; + }; + + if (breaking) { + breakingChanges.push(description); + } + + for (const trailer of commitInfo.trailers) { + const value = trailer.value.trim(); + + if ( + trailer.token === "BREAKING CHANGE" || + trailer.token === "BREAKING-CHANGE" + ) { + breakingChanges.push(value); + continue; + } + } + + const body = commitInfo.body?.trim() || undefined; + + return { + commitInfo, + type: type.toLowerCase(), + scope: scope || undefined, + description, + body, + breakingChanges, + }; +} diff --git a/packages/conventional-commits-parser/tsconfig.json b/packages/conventional-commits-parser/tsconfig.json new file mode 100644 index 0000000..41352f9 --- /dev/null +++ b/packages/conventional-commits-parser/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "@wroud/tsconfig/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./lib/.tsbuildinfo", + "rootDir": "src", + "rootDirs": ["src"], + "outDir": "lib", + "types": ["node"], + "incremental": true, + "composite": true + }, + "include": ["src"], + "references": [ + { + "path": "../git" + } + ] +} diff --git a/packages/di-tools-analyzer/src/getDependenciesGraph.test.ts b/packages/di-tools-analyzer/src/getDependenciesGraph.test.ts index e0d7bde..2340217 100644 --- a/packages/di-tools-analyzer/src/getDependenciesGraph.test.ts +++ b/packages/di-tools-analyzer/src/getDependenciesGraph.test.ts @@ -15,7 +15,7 @@ const mockImpl = vi.hoisted(() => { }; }); -vi.mock(import("uuid"), () => mockImpl); +vi.mock(import("uuid"), () => mockImpl as any); describe.sequential("injectable", () => { beforeEach(() => { diff --git a/packages/di-tools-codemod/src/index.test.ts b/packages/di-tools-codemod/src/index.test.ts index 2eee0db..5ffa442 100644 --- a/packages/di-tools-codemod/src/index.test.ts +++ b/packages/di-tools-codemod/src/index.test.ts @@ -111,7 +111,12 @@ describe("test", () => { }); async function testFixture(names: string[], options?: IMigrationOptions) { - const fixturesFolder = join(__dirname, "..", "..", "__testfixtures__"); + const fixturesFolder = join( + import.meta.dirname, + "..", + "..", + "__testfixtures__", + ); for (const name of names) { const INPUT = await readFile( join(fixturesFolder, `${name}.input.ts`), diff --git a/packages/di/src/di/injectable.test.ts b/packages/di/src/di/injectable.test.ts index 1534d04..94e09df 100644 --- a/packages/di/src/di/injectable.test.ts +++ b/packages/di/src/di/injectable.test.ts @@ -7,7 +7,7 @@ vi.mock(import("./ServiceRegistry.js"), () => ({ register: vi.fn(), has: vi.fn(), get: vi.fn(), - }, + } as any, })); beforeEach(() => { diff --git a/packages/git/__snapshots__/getGitCommits.test.js.snap b/packages/git/__snapshots__/getGitCommits.test.js.snap new file mode 100644 index 0000000..8a3cea7 --- /dev/null +++ b/packages/git/__snapshots__/getGitCommits.test.js.snap @@ -0,0 +1,3222 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`getGitCommits > with custom trailer 1`] = ` +[ + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "some long description +", + "hash": "1dfaff1", + "subject": "test(git): test commit with something", + "tags": [ + "v1.0.5", + "v1.0.1", + ], + "trailers": [ + { + "token": "BREAKING CHANGE", + "value": "Some breaky change", + }, + { + "token": "fix", + "value": "#123", + }, + ], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5a84e8d", + "subject": "chore: disable auto release", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "cde6098", + "subject": "chore: release @wroud/di@0.9.1", + "tags": [ + "di-v0.9.1", + ], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "26768a0", + "subject": "fix: add automated releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ca0db97", + "subject": "feat: update github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d9774d6", + "subject": "ci: inherit secrets in workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "afa7fd3", + "subject": "chore: fix readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "1624c31", + "subject": "chore: release @wroud/di@0.9.0", + "tags": [ + "di-v0.9.0", + ], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0848e0a", + "subject": "ci: fix workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "82e92ef", + "subject": "ci: enable corepack", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3e25589", + "subject": "chore: remove yarn cache", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2c35601", + "subject": "ci: update dependencies and github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c0e299", + "subject": "chore: remove test from readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "02df602", + "subject": "ci: rewrite bump resolver", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "e801bdb", + "subject": "chore: release @wroud/di@0.8.5", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d824036", + "subject": "ci: add package name to releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "01e09a8", + "subject": "ci: properly handle errors", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c3378cc", + "subject": "ci: commit as github actions bot", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "041d000", + "subject": "chore: release 0.8.4", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cc0fe8a", + "subject": "ci: trigger update", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b58a7dd", + "subject": "ci: configure publishing github releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e514809", + "subject": "chore: release 0.8.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "48cc6f1", + "subject": "ci: filter release commit only for bump check", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a80b948", + "subject": "chore: release 0.8.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4262c3b", + "subject": "chore: push annotated tags", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a251066", + "subject": "chore: release 0.8.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc02a0d", + "subject": "chore: trigger release", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "9ff54fc", + "subject": "chore: release 0.8.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a9443ec", + "subject": "ci: push fixed tag", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "55a315c", + "subject": "chore: release 0.7.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4a6430d", + "subject": "chore: add changelog for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5a14585", + "subject": "chore: release 0.6.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* chore: rebase + +* test: fix tests", + "hash": "f9f8224", + "subject": "chore: rebase (#15)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits + +* ci: enable github releases + +* ci: remove changelog", + "hash": "d2ea47b", + "subject": "Ci/configure gulp for ci (#14)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e0dd0e5", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits", + "hash": "5b43fb0", + "subject": "Ci/configure gulp for ci (#13)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "dc0f7d0", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly", + "hash": "3ef2856", + "subject": "Ci/configure gulp for ci (#12)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "f6d4755", + "subject": "ci: configure gulp (#11)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "cf5ef0c", + "subject": "ci: add empty placeholder command ci:prepublish (#10)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "d8a8ebe", + "subject": "Release di-v0.5.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: fail on empty commits + +* ci: commit lockfile", + "hash": "71d3bf2", + "subject": "ci: fail on empty commits (#9)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "bd5311a", + "subject": "Release v0.4.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "ff36f54", + "subject": "Release v0.4.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "231a0aa", + "subject": "Release v0.4.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5dfac88", + "subject": "Release v0.4.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "e839687", + "subject": "ci: run prepublish scripts", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "c15cea7", + "subject": "Release v0.3.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5591856", + "subject": "Release v0.3.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config + +* ci: configure github actions commit", + "hash": "6bf7753", + "subject": "Ci/run prepublish scripts (#7)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config", + "hash": "82d6875", + "subject": "Ci/run prepublish scripts (#6)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection", + "hash": "b24e2c2", + "subject": "ci: run prepublish scripts (#5)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: add changelog and automatic releases + +* ci: coverage report fix + +* ci: sanitize branch name in github workflows", + "hash": "c5af8e3", + "subject": "ci: add changelog and automatic releases (#4)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d31ce7b", + "subject": "chore(di-react): optimize useAbandonedRenderDisposer timeout", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ccfac38", + "subject": "chore(react): update readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dedfddd", + "subject": "chore: update docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "717c44e", + "subject": "chore: update docs for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a79da6", + "subject": "chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65698ad", + "subject": "chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fcf6004", + "subject": "chore: update deps", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5cb14f4", + "subject": "chore(di-react): add react bindings for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "30807d4", + "subject": "chore(di): reorganize exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8615243", + "subject": "chore: update imports for di-tools-analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4e236f3", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "74656a2", + "subject": "chore: add documentation about lazy", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a74691", + "subject": "chore: Update @wroud/di package to version 0.1.5 and include production module", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "392170e", + "subject": "chore: Bump @wroud/di version to 0.1.4", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1023ebc", + "subject": "chore: add better debugging and optimized production build", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8e5da34", + "subject": "chore: Fix import in injectable.test.ts", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6c78545", + "subject": "chore: update unit tests", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f82db3", + "subject": "chore: Update @wroud/di to version 0.1.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0e80287", + "subject": "chore: Exclude test files from package build", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6357a3a", + "subject": "chore: Update @wroud/di to version 0.1.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7c2505", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "258b0ec", + "subject": "chore: bump version @wroud/di to 0.1.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d861be", + "subject": "chore: rename diLazy -> lazy", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b3fb16c", + "subject": "chore: update vitest to 2 version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5d407ee", + "subject": "chore: bump version @wroud/di to 0.1.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "792d6b6", + "subject": "feat: lazy implementation loading", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "387a1fc", + "subject": "chore: rename IServiceImplementation to ISyncServiceImplementation", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65bf5af", + "subject": "chore: split logic", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7dbff6d", + "subject": "chore: rename configs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d5ac8c0", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dcf424a", + "subject": "fix: tsconfig", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "802ee0c", + "subject": "chore: update yarn.lock", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "412907f", + "subject": "chore: migrate to vitest", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c7228a", + "subject": "fix: cyclic dependencies detection", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "43a43b5", + "subject": "fix: change package type", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6773df2", + "subject": "chore: change output to commonjs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4672641", + "subject": "fix: run as common js module", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6ed140b", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b392ebf", + "subject": "chore: update bin", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b65f7e9", + "subject": "fix: exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1c4c04c", + "subject": "feat: @wroud/di-tools-codemod", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "712d055", + "subject": "chore: bump \`@wroud/di-tools-analyzer\` version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e5142e0", + "subject": "docs: ModuleRegistry api", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7ef251", + "subject": "feat: add full screen mode for di analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "52276d5", + "subject": "docs: add documentation for @wroud/di-tools-analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5e5e195", + "subject": "fix: robots.txt name", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "19bdf3b", + "subject": "feat: add robots.txt", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f40e2f7", + "subject": "chore: tune layout", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3aa1529", + "subject": "fix: graph example", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6379e3f", + "subject": "feat: move graph to another page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ce1124", + "subject": "feat: add di analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf852fa", + "subject": "docs: remove extra", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5f55b1c", + "subject": "docs: make examples simpler", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f76c015", + "subject": "docs: simplify samples", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "33c7dd4", + "subject": "docs: add "Why DI?" page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f89822", + "subject": "chore: move tsconfig to separate package", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "84543ee", + "subject": "chore: remove example from source code", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "851d0eb", + "subject": "chore: add package description", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7759c1", + "subject": "docs: update docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "9b0bc81", + "subject": "chore: remove template pages", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4d04ec9", + "subject": "fix: docs sitemap filter", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d117ac4", + "subject": "chore: filter test pages from sitemap", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "95b1979", + "subject": "chore: add keywords", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1da9a4e", + "subject": "chore: add license and readme for @wroud/di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "10c7455", + "subject": "fix: adjust memory threshold for GC", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3037269", + "subject": "chore: add logo", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "201aba6", + "subject": "feat: adjust SEO in docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c5ff8f6", + "subject": "fix: docs logo styles in light theme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a14136", + "subject": "feat: add logo to docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cdb9148", + "subject": "chore: update docs and add GA", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1eef8d6", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5286029", + "subject": "docs: complete base articles", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "eceb0c4", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b6a45ff", + "subject": "fix: proper error message while resolving scoped dependency for singleton service", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "61c73bf", + "subject": "chore: specify files list", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ff3238e", + "subject": "fix: update types", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "93c4640", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7517cc", + "subject": "fix: version lazy loading leads to incorrect badge on first render", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f98f7b1", + "subject": "docs: collect jest statistic for provided package", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6d43540", + "subject": "feat: add strict types to ServicesRegistry.register", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "25845a7", + "subject": "fix(tests): add logs to console", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ea20107", + "subject": "chore(tests): increase memory threshold", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "013ed92", + "subject": "chore: add coverage badge", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1a8cd2f", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d95c6d4", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "57eee77", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b931c2c", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ab52910", + "subject": "fix: workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2d55876", + "subject": "tests: add json-summary reporter", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1dca2b4", + "subject": "tests: add some tests and badges", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7720341", + "subject": "fix: build docs separately", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "193d9c3", + "subject": "chore: update build process", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6fb62f9", + "subject": "docs: add installation section", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83012a5", + "subject": "fix(docs): link to the di overview page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "07932df", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "45d8572", + "subject": "chore: add homepage and repository to package.json", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "beca909", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc9ef0f", + "subject": "docs: add dependency injection overview page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83d3093", + "subject": "fix: pages deploy workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f193d85", + "subject": "feat: add github pages", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83108bd", + "subject": "fix: return publish package dir", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e3c1a3b", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ebef39", + "subject": "feat: add module and types", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ae35e9f", + "subject": "fix: add version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ee089fa", + "subject": "fix: publish workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: add cache cleanup action", + "hash": "8a420ab", + "subject": "Merge pull request #3 from Wroud/fix/add-cleanup", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c4a86d", + "subject": "feat: add cache cleanup action", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: add github workflows", + "hash": "9d0965e", + "subject": "Merge pull request #2 from Wroud/feat/github-workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "41d0e01", + "subject": "fix: codecov ci", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "62aec5f", + "subject": "fix: collect coverage", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf9454d", + "subject": "feat: configure code coverage", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d675f9", + "subject": "feat: enable zero installs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a8879c6", + "subject": "fix: remove dist", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c27dbf0", + "subject": "fix: configure ci", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e92166a", + "subject": "feat: add github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: init workspace", + "hash": "9777ef5", + "subject": "Merge pull request #1 from Wroud/feat/init-workspace", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1306e07", + "subject": "feat: init workspace", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "efd26d4", + "subject": "Initial commit", + "tags": [], + "trailers": [], + }, +] +`; + +exports[`getGitCommits > with path 1`] = ` +[ + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "some long description + +BREAKING CHANGE: Some breaky change +", + "hash": "1dfaff1", + "subject": "test(git): test commit with something", + "tags": [ + "v1.0.5", + "v1.0.1", + ], + "trailers": [ + { + "token": "fix", + "value": "#123", + }, + ], + }, +] +`; + +exports[`getGitCommits > without arguments 1`] = ` +[ + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "some long description + +BREAKING CHANGE: Some breaky change +", + "hash": "1dfaff1", + "subject": "test(git): test commit with something", + "tags": [ + "v1.0.5", + "v1.0.1", + ], + "trailers": [ + { + "token": "fix", + "value": "#123", + }, + ], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5a84e8d", + "subject": "chore: disable auto release", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "cde6098", + "subject": "chore: release @wroud/di@0.9.1", + "tags": [ + "di-v0.9.1", + ], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "26768a0", + "subject": "fix: add automated releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ca0db97", + "subject": "feat: update github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d9774d6", + "subject": "ci: inherit secrets in workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "afa7fd3", + "subject": "chore: fix readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "1624c31", + "subject": "chore: release @wroud/di@0.9.0", + "tags": [ + "di-v0.9.0", + ], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0848e0a", + "subject": "ci: fix workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "82e92ef", + "subject": "ci: enable corepack", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3e25589", + "subject": "chore: remove yarn cache", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2c35601", + "subject": "ci: update dependencies and github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c0e299", + "subject": "chore: remove test from readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "02df602", + "subject": "ci: rewrite bump resolver", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions[bot]@users.noreply.github.com", + "authorName": "github-actions[bot]", + "body": "", + "hash": "e801bdb", + "subject": "chore: release @wroud/di@0.8.5", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d824036", + "subject": "ci: add package name to releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "01e09a8", + "subject": "ci: properly handle errors", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c3378cc", + "subject": "ci: commit as github actions bot", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "041d000", + "subject": "chore: release 0.8.4", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cc0fe8a", + "subject": "ci: trigger update", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b58a7dd", + "subject": "ci: configure publishing github releases", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e514809", + "subject": "chore: release 0.8.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "48cc6f1", + "subject": "ci: filter release commit only for bump check", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a80b948", + "subject": "chore: release 0.8.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4262c3b", + "subject": "chore: push annotated tags", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "a251066", + "subject": "chore: release 0.8.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc02a0d", + "subject": "chore: trigger release", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "9ff54fc", + "subject": "chore: release 0.8.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a9443ec", + "subject": "ci: push fixed tag", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "55a315c", + "subject": "chore: release 0.7.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4a6430d", + "subject": "chore: add changelog for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5a14585", + "subject": "chore: release 0.6.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* chore: rebase + +* test: fix tests", + "hash": "f9f8224", + "subject": "chore: rebase (#15)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits + +* ci: enable github releases + +* ci: remove changelog", + "hash": "d2ea47b", + "subject": "Ci/configure gulp for ci (#14)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "e0dd0e5", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits", + "hash": "5b43fb0", + "subject": "Ci/configure gulp for ci (#13)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "dc0f7d0", + "subject": "chore: release undefined", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: configure gulp + +* ci: read package version directly", + "hash": "3ef2856", + "subject": "Ci/configure gulp for ci (#12)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "f6d4755", + "subject": "ci: configure gulp (#11)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "cf5ef0c", + "subject": "ci: add empty placeholder command ci:prepublish (#10)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "d8a8ebe", + "subject": "Release di-v0.5.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: fail on empty commits + +* ci: commit lockfile", + "hash": "71d3bf2", + "subject": "ci: fail on empty commits (#9)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "bd5311a", + "subject": "Release v0.4.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "ff36f54", + "subject": "Release v0.4.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "231a0aa", + "subject": "Release v0.4.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5dfac88", + "subject": "Release v0.4.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "e839687", + "subject": "ci: run prepublish scripts", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "c15cea7", + "subject": "Release v0.3.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "github-actions@github.com", + "authorName": "github-actions", + "body": "", + "hash": "5591856", + "subject": "Release v0.3.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config + +* ci: configure github actions commit", + "hash": "6bf7753", + "subject": "Ci/run prepublish scripts (#7)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config", + "hash": "82d6875", + "subject": "Ci/run prepublish scripts (#6)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: run prepublish scripts + +* ci: use different method for brunch detection", + "hash": "b24e2c2", + "subject": "ci: run prepublish scripts (#5)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "* ci: add changelog and automatic releases + +* ci: coverage report fix + +* ci: sanitize branch name in github workflows", + "hash": "c5af8e3", + "subject": "ci: add changelog and automatic releases (#4)", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d31ce7b", + "subject": "chore(di-react): optimize useAbandonedRenderDisposer timeout", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ccfac38", + "subject": "chore(react): update readme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dedfddd", + "subject": "chore: update docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "717c44e", + "subject": "chore: update docs for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a79da6", + "subject": "chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65698ad", + "subject": "chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fcf6004", + "subject": "chore: update deps", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5cb14f4", + "subject": "chore(di-react): add react bindings for di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "30807d4", + "subject": "chore(di): reorganize exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8615243", + "subject": "chore: update imports for di-tools-analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4e236f3", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "74656a2", + "subject": "chore: add documentation about lazy", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a74691", + "subject": "chore: Update @wroud/di package to version 0.1.5 and include production module", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "392170e", + "subject": "chore: Bump @wroud/di version to 0.1.4", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1023ebc", + "subject": "chore: add better debugging and optimized production build", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "8e5da34", + "subject": "chore: Fix import in injectable.test.ts", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6c78545", + "subject": "chore: update unit tests", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f82db3", + "subject": "chore: Update @wroud/di to version 0.1.3", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0e80287", + "subject": "chore: Exclude test files from package build", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6357a3a", + "subject": "chore: Update @wroud/di to version 0.1.2", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7c2505", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "258b0ec", + "subject": "chore: bump version @wroud/di to 0.1.1", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d861be", + "subject": "chore: rename diLazy -> lazy", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b3fb16c", + "subject": "chore: update vitest to 2 version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5d407ee", + "subject": "chore: bump version @wroud/di to 0.1.0", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "792d6b6", + "subject": "feat: lazy implementation loading", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "387a1fc", + "subject": "chore: rename IServiceImplementation to ISyncServiceImplementation", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "65bf5af", + "subject": "chore: split logic", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7dbff6d", + "subject": "chore: rename configs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d5ac8c0", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "dcf424a", + "subject": "fix: tsconfig", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "802ee0c", + "subject": "chore: update yarn.lock", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "412907f", + "subject": "chore: migrate to vitest", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c7228a", + "subject": "fix: cyclic dependencies detection", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "43a43b5", + "subject": "fix: change package type", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6773df2", + "subject": "chore: change output to commonjs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4672641", + "subject": "fix: run as common js module", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6ed140b", + "subject": "chore: update dependencies", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b392ebf", + "subject": "chore: update bin", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b65f7e9", + "subject": "fix: exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1c4c04c", + "subject": "feat: @wroud/di-tools-codemod", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "712d055", + "subject": "chore: bump \`@wroud/di-tools-analyzer\` version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e5142e0", + "subject": "docs: ModuleRegistry api", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7ef251", + "subject": "feat: add full screen mode for di analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "52276d5", + "subject": "docs: add documentation for @wroud/di-tools-analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5e5e195", + "subject": "fix: robots.txt name", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "19bdf3b", + "subject": "feat: add robots.txt", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f40e2f7", + "subject": "chore: tune layout", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3aa1529", + "subject": "fix: graph example", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6379e3f", + "subject": "feat: move graph to another page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ce1124", + "subject": "feat: add di analyzer", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf852fa", + "subject": "docs: remove extra", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5f55b1c", + "subject": "docs: make examples simpler", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f76c015", + "subject": "docs: simplify samples", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "33c7dd4", + "subject": "docs: add "Why DI?" page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2f89822", + "subject": "chore: move tsconfig to separate package", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "84543ee", + "subject": "chore: remove example from source code", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "851d0eb", + "subject": "chore: add package description", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e7759c1", + "subject": "docs: update docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "9b0bc81", + "subject": "chore: remove template pages", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "4d04ec9", + "subject": "fix: docs sitemap filter", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d117ac4", + "subject": "chore: filter test pages from sitemap", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "95b1979", + "subject": "chore: add keywords", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1da9a4e", + "subject": "chore: add license and readme for @wroud/di", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "10c7455", + "subject": "fix: adjust memory threshold for GC", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "3037269", + "subject": "chore: add logo", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "201aba6", + "subject": "feat: adjust SEO in docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c5ff8f6", + "subject": "fix: docs logo styles in light theme", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0a14136", + "subject": "feat: add logo to docs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cdb9148", + "subject": "chore: update docs and add GA", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1eef8d6", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5286029", + "subject": "docs: complete base articles", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "eceb0c4", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b6a45ff", + "subject": "fix: proper error message while resolving scoped dependency for singleton service", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "61c73bf", + "subject": "chore: specify files list", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ff3238e", + "subject": "fix: update types", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "93c4640", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d7517cc", + "subject": "fix: version lazy loading leads to incorrect badge on first render", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f98f7b1", + "subject": "docs: collect jest statistic for provided package", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6d43540", + "subject": "feat: add strict types to ServicesRegistry.register", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "25845a7", + "subject": "fix(tests): add logs to console", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ea20107", + "subject": "chore(tests): increase memory threshold", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "013ed92", + "subject": "chore: add coverage badge", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1a8cd2f", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "d95c6d4", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "57eee77", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "b931c2c", + "subject": "fix: ci-cd", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ab52910", + "subject": "fix: workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "2d55876", + "subject": "tests: add json-summary reporter", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1dca2b4", + "subject": "tests: add some tests and badges", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "7720341", + "subject": "fix: build docs separately", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "193d9c3", + "subject": "chore: update build process", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "6fb62f9", + "subject": "docs: add installation section", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83012a5", + "subject": "fix(docs): link to the di overview page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "07932df", + "subject": "chore: update version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "45d8572", + "subject": "chore: add homepage and repository to package.json", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "beca909", + "subject": "chore: update exports", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "fc9ef0f", + "subject": "docs: add dependency injection overview page", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83d3093", + "subject": "fix: pages deploy workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "f193d85", + "subject": "feat: add github pages", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "83108bd", + "subject": "fix: return publish package dir", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e3c1a3b", + "subject": "chore: bump version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "5ebef39", + "subject": "feat: add module and types", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ae35e9f", + "subject": "fix: add version", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "ee089fa", + "subject": "fix: publish workflow", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: add cache cleanup action", + "hash": "8a420ab", + "subject": "Merge pull request #3 from Wroud/fix/add-cleanup", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0c4a86d", + "subject": "feat: add cache cleanup action", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: add github workflows", + "hash": "9d0965e", + "subject": "Merge pull request #2 from Wroud/feat/github-workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "41d0e01", + "subject": "fix: codecov ci", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "62aec5f", + "subject": "fix: collect coverage", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "cf9454d", + "subject": "feat: configure code coverage", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "0d675f9", + "subject": "feat: enable zero installs", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "a8879c6", + "subject": "fix: remove dist", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "c27dbf0", + "subject": "fix: configure ci", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "e92166a", + "subject": "feat: add github workflows", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "feat: init workspace", + "hash": "9777ef5", + "subject": "Merge pull request #1 from Wroud/feat/init-workspace", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Aleksei Potsetsuev", + "body": "", + "hash": "1306e07", + "subject": "feat: init workspace", + "tags": [], + "trailers": [], + }, + { + "authorEmail": "wrouds@gmail.com", + "authorName": "Alexey", + "body": "", + "hash": "efd26d4", + "subject": "Initial commit", + "tags": [], + "trailers": [], + }, +] +`; diff --git a/packages/git/__testfixtures__/fixture.git-log-path.txt b/packages/git/__testfixtures__/fixture.git-log-path.txt new file mode 100644 index 0000000..37f3cf1 --- /dev/null +++ b/packages/git/__testfixtures__/fixture.git-log-path.txt @@ -0,0 +1,12 @@ +1dfaff1 + (HEAD -> main, tag: v1.0.5, tag: v1.0.1) +Aleksei Potsetsuev +wrouds@gmail.com +test(git): test commit with something +some long description + +BREAKING CHANGE: Some breaky change + +fix #123 + +===end=== \ No newline at end of file diff --git a/packages/git/__testfixtures__/fixture.git-log.txt b/packages/git/__testfixtures__/fixture.git-log.txt new file mode 100644 index 0000000..41b972e --- /dev/null +++ b/packages/git/__testfixtures__/fixture.git-log.txt @@ -0,0 +1,1240 @@ +1dfaff1 + (HEAD -> main, tag: v1.0.5, tag: v1.0.1) +Aleksei Potsetsuev +wrouds@gmail.com +test(git): test commit with something +some long description + +BREAKING CHANGE: Some breaky change + +fix #123 + +===end=== +5a84e8d + +Aleksei Potsetsuev +wrouds@gmail.com +chore: disable auto release + +===end=== +cde6098 + (tag: di-v0.9.1, origin/main, origin/HEAD) +github-actions[bot] +github-actions[bot]@users.noreply.github.com +chore: release @wroud/di@0.9.1 + +===end=== +26768a0 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: add automated releases + +===end=== +ca0db97 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: update github workflows + +===end=== +d9774d6 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: inherit secrets in workflows + +===end=== +afa7fd3 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: fix readme + +===end=== +1624c31 + (tag: di-v0.9.0) +github-actions[bot] +github-actions[bot]@users.noreply.github.com +chore: release @wroud/di@0.9.0 + +===end=== +0848e0a + +Aleksei Potsetsuev +wrouds@gmail.com +ci: fix workflows + +===end=== +82e92ef + +Aleksei Potsetsuev +wrouds@gmail.com +ci: enable corepack + +===end=== +3e25589 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: remove yarn cache + +===end=== +2c35601 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: update dependencies and github workflows + +===end=== +0c0e299 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: remove test from readme + +===end=== +02df602 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: rewrite bump resolver + +===end=== +e801bdb + +github-actions[bot] +github-actions[bot]@users.noreply.github.com +chore: release @wroud/di@0.8.5 + +===end=== +d824036 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: add package name to releases + +===end=== +01e09a8 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: properly handle errors + +===end=== +c3378cc + +Aleksei Potsetsuev +wrouds@gmail.com +ci: commit as github actions bot + +===end=== +041d000 + +github-actions +github-actions@github.com +chore: release 0.8.4 + +===end=== +cc0fe8a + +Aleksei Potsetsuev +wrouds@gmail.com +ci: trigger update + +===end=== +b58a7dd + +Aleksei Potsetsuev +wrouds@gmail.com +ci: configure publishing github releases + +===end=== +e514809 + +github-actions +github-actions@github.com +chore: release 0.8.3 + +===end=== +48cc6f1 + +Aleksei Potsetsuev +wrouds@gmail.com +ci: filter release commit only for bump check + +===end=== +a80b948 + +github-actions +github-actions@github.com +chore: release 0.8.2 + +===end=== +4262c3b + +Aleksei Potsetsuev +wrouds@gmail.com +chore: push annotated tags + +===end=== +a251066 + +github-actions +github-actions@github.com +chore: release 0.8.1 + +===end=== +fc02a0d + +Aleksei Potsetsuev +wrouds@gmail.com +chore: trigger release + +===end=== +9ff54fc + +github-actions +github-actions@github.com +chore: release 0.8.0 + +===end=== +a9443ec + +Aleksei Potsetsuev +wrouds@gmail.com +ci: push fixed tag + +===end=== +55a315c + +github-actions +github-actions@github.com +chore: release 0.7.0 + +===end=== +4a6430d + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add changelog for di + +===end=== +5a14585 + +github-actions +github-actions@github.com +chore: release 0.6.0 + +===end=== +f9f8224 + +Alexey +wrouds@gmail.com +chore: rebase (#15) +* chore: rebase + +* test: fix tests +===end=== +d2ea47b + +Alexey +wrouds@gmail.com +Ci/configure gulp for ci (#14) +* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits + +* ci: enable github releases + +* ci: remove changelog +===end=== +e0dd0e5 + +github-actions +github-actions@github.com +chore: release undefined + +===end=== +5b43fb0 + +Alexey +wrouds@gmail.com +Ci/configure gulp for ci (#13) +* ci: configure gulp + +* ci: read package version directly + +* ci: skip release commits +===end=== +dc0f7d0 + +github-actions +github-actions@github.com +chore: release undefined + +===end=== +3ef2856 + +Alexey +wrouds@gmail.com +Ci/configure gulp for ci (#12) +* ci: configure gulp + +* ci: read package version directly +===end=== +f6d4755 + +Alexey +wrouds@gmail.com +ci: configure gulp (#11) + +===end=== +cf5ef0c + +Alexey +wrouds@gmail.com +ci: add empty placeholder command ci:prepublish (#10) + +===end=== +d8a8ebe + +github-actions +github-actions@github.com +Release di-v0.5.0 + +===end=== +71d3bf2 + +Alexey +wrouds@gmail.com +ci: fail on empty commits (#9) +* ci: fail on empty commits + +* ci: commit lockfile +===end=== +bd5311a + +github-actions +github-actions@github.com +Release v0.4.3 + +===end=== +ff36f54 + +github-actions +github-actions@github.com +Release v0.4.2 + +===end=== +231a0aa + +github-actions +github-actions@github.com +Release v0.4.1 + +===end=== +5dfac88 + +github-actions +github-actions@github.com +Release v0.4.0 + +===end=== +e839687 + +Alexey +wrouds@gmail.com +ci: run prepublish scripts + +===end=== +c15cea7 + +github-actions +github-actions@github.com +Release v0.3.1 + +===end=== +5591856 + +github-actions +github-actions@github.com +Release v0.3.0 + +===end=== +6bf7753 + +Alexey +wrouds@gmail.com +Ci/run prepublish scripts (#7) +* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config + +* ci: configure github actions commit +===end=== +82d6875 + +Alexey +wrouds@gmail.com +Ci/run prepublish scripts (#6) +* ci: run prepublish scripts + +* ci: use different method for brunch detection + +* ci: fix release workflow + +* ci: setup path to vitest config +===end=== +b24e2c2 + +Alexey +wrouds@gmail.com +ci: run prepublish scripts (#5) +* ci: run prepublish scripts + +* ci: use different method for brunch detection +===end=== +c5af8e3 + +Alexey +wrouds@gmail.com +ci: add changelog and automatic releases (#4) +* ci: add changelog and automatic releases + +* ci: coverage report fix + +* ci: sanitize branch name in github workflows +===end=== +d31ce7b + +Aleksei Potsetsuev +wrouds@gmail.com +chore(di-react): optimize useAbandonedRenderDisposer timeout + +===end=== +ccfac38 + +Aleksei Potsetsuev +wrouds@gmail.com +chore(react): update readme + +===end=== +dedfddd + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update docs + +===end=== +717c44e + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update docs for di + +===end=== +0a79da6 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Update @wroud/di-react package version to 0.0.2 and add React bindings for DI + +===end=== +65698ad + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Update package versions for @wroud/di-tools-analyzer, @wroud/di-tools-codemod, and @wroud/di to 0.1.0, 0.1.0, and 0.2.0 respectively + +===end=== +fcf6004 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update deps + +===end=== +5cb14f4 + +Aleksei Potsetsuev +wrouds@gmail.com +chore(di-react): add react bindings for di + +===end=== +30807d4 + +Aleksei Potsetsuev +wrouds@gmail.com +chore(di): reorganize exports + +===end=== +8615243 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update imports for di-tools-analyzer + +===end=== +4e236f3 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update exports + +===end=== +74656a2 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add documentation about lazy + +===end=== +0a74691 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Update @wroud/di package to version 0.1.5 and include production module + +===end=== +392170e + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Bump @wroud/di version to 0.1.4 + +===end=== +1023ebc + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add better debugging and optimized production build + +===end=== +8e5da34 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Fix import in injectable.test.ts + +===end=== +6c78545 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update unit tests + +===end=== +2f82db3 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Update @wroud/di to version 0.1.3 + +===end=== +0e80287 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Exclude test files from package build + +===end=== +6357a3a + +Aleksei Potsetsuev +wrouds@gmail.com +chore: Update @wroud/di to version 0.1.2 + +===end=== +e7c2505 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update dependencies + +===end=== +258b0ec + +Aleksei Potsetsuev +wrouds@gmail.com +chore: bump version @wroud/di to 0.1.1 + +===end=== +0d861be + +Aleksei Potsetsuev +wrouds@gmail.com +chore: rename diLazy -> lazy + +===end=== +b3fb16c + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update vitest to 2 version + +===end=== +5d407ee + +Aleksei Potsetsuev +wrouds@gmail.com +chore: bump version @wroud/di to 0.1.0 + +===end=== +792d6b6 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: lazy implementation loading + +===end=== +387a1fc + +Aleksei Potsetsuev +wrouds@gmail.com +chore: rename IServiceImplementation to ISyncServiceImplementation + +===end=== +65bf5af + +Aleksei Potsetsuev +wrouds@gmail.com +chore: split logic + +===end=== +7dbff6d + +Aleksei Potsetsuev +wrouds@gmail.com +chore: rename configs + +===end=== +d5ac8c0 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: ci-cd + +===end=== +dcf424a + +Aleksei Potsetsuev +wrouds@gmail.com +fix: tsconfig + +===end=== +802ee0c + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update yarn.lock + +===end=== +412907f + +Aleksei Potsetsuev +wrouds@gmail.com +chore: migrate to vitest + +===end=== +0c7228a + +Aleksei Potsetsuev +wrouds@gmail.com +fix: cyclic dependencies detection + +===end=== +43a43b5 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: change package type + +===end=== +6773df2 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: change output to commonjs + +===end=== +4672641 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: run as common js module + +===end=== +6ed140b + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update dependencies + +===end=== +b392ebf + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update bin + +===end=== +b65f7e9 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: exports + +===end=== +1c4c04c + +Aleksei Potsetsuev +wrouds@gmail.com +feat: @wroud/di-tools-codemod + +===end=== +712d055 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: bump `@wroud/di-tools-analyzer` version + +===end=== +e5142e0 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: ModuleRegistry api + +===end=== +d7ef251 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add full screen mode for di analyzer + +===end=== +52276d5 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: add documentation for @wroud/di-tools-analyzer + +===end=== +5e5e195 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: robots.txt name + +===end=== +19bdf3b + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add robots.txt + +===end=== +f40e2f7 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: tune layout + +===end=== +3aa1529 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: graph example + +===end=== +6379e3f + +Aleksei Potsetsuev +wrouds@gmail.com +feat: move graph to another page + +===end=== +5ce1124 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add di analyzer + +===end=== +cf852fa + +Aleksei Potsetsuev +wrouds@gmail.com +docs: remove extra + +===end=== +5f55b1c + +Aleksei Potsetsuev +wrouds@gmail.com +docs: make examples simpler + +===end=== +f76c015 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: simplify samples + +===end=== +33c7dd4 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: add "Why DI?" page + +===end=== +2f89822 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: move tsconfig to separate package + +===end=== +84543ee + +Aleksei Potsetsuev +wrouds@gmail.com +chore: remove example from source code + +===end=== +851d0eb + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add package description + +===end=== +e7759c1 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: update docs + +===end=== +9b0bc81 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: remove template pages + +===end=== +4d04ec9 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: docs sitemap filter + +===end=== +d117ac4 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: filter test pages from sitemap + +===end=== +95b1979 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add keywords + +===end=== +1da9a4e + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add license and readme for @wroud/di + +===end=== +10c7455 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: adjust memory threshold for GC + +===end=== +3037269 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add logo + +===end=== +201aba6 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: adjust SEO in docs + +===end=== +c5ff8f6 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: docs logo styles in light theme + +===end=== +0a14136 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add logo to docs + +===end=== +cdb9148 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update docs and add GA + +===end=== +1eef8d6 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: bump version + +===end=== +5286029 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: complete base articles + +===end=== +eceb0c4 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update version + +===end=== +b6a45ff + +Aleksei Potsetsuev +wrouds@gmail.com +fix: proper error message while resolving scoped dependency for singleton service + +===end=== +61c73bf + +Aleksei Potsetsuev +wrouds@gmail.com +chore: specify files list + +===end=== +ff3238e + +Aleksei Potsetsuev +wrouds@gmail.com +fix: update types + +===end=== +93c4640 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update version + +===end=== +d7517cc + +Aleksei Potsetsuev +wrouds@gmail.com +fix: version lazy loading leads to incorrect badge on first render + +===end=== +f98f7b1 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: collect jest statistic for provided package + +===end=== +6d43540 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add strict types to ServicesRegistry.register + +===end=== +25845a7 + +Aleksei Potsetsuev +wrouds@gmail.com +fix(tests): add logs to console + +===end=== +ea20107 + +Aleksei Potsetsuev +wrouds@gmail.com +chore(tests): increase memory threshold + +===end=== +013ed92 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add coverage badge + +===end=== +1a8cd2f + +Aleksei Potsetsuev +wrouds@gmail.com +fix: ci-cd + +===end=== +d95c6d4 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: ci-cd + +===end=== +57eee77 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: ci-cd + +===end=== +b931c2c + +Aleksei Potsetsuev +wrouds@gmail.com +fix: ci-cd + +===end=== +ab52910 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: workflow + +===end=== +2d55876 + +Aleksei Potsetsuev +wrouds@gmail.com +tests: add json-summary reporter + +===end=== +1dca2b4 + +Aleksei Potsetsuev +wrouds@gmail.com +tests: add some tests and badges + +===end=== +7720341 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: build docs separately + +===end=== +193d9c3 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update build process + +===end=== +6fb62f9 + +Aleksei Potsetsuev +wrouds@gmail.com +docs: add installation section + +===end=== +83012a5 + +Aleksei Potsetsuev +wrouds@gmail.com +fix(docs): link to the di overview page + +===end=== +07932df + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update version + +===end=== +45d8572 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: add homepage and repository to package.json + +===end=== +beca909 + +Aleksei Potsetsuev +wrouds@gmail.com +chore: update exports + +===end=== +fc9ef0f + +Aleksei Potsetsuev +wrouds@gmail.com +docs: add dependency injection overview page + +===end=== +83d3093 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: pages deploy workflow + +===end=== +f193d85 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add github pages + +===end=== +83108bd + +Aleksei Potsetsuev +wrouds@gmail.com +fix: return publish package dir + +===end=== +e3c1a3b + +Aleksei Potsetsuev +wrouds@gmail.com +chore: bump version + +===end=== +5ebef39 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add module and types + +===end=== +ae35e9f + +Aleksei Potsetsuev +wrouds@gmail.com +fix: add version + +===end=== +ee089fa + +Aleksei Potsetsuev +wrouds@gmail.com +fix: publish workflow + +===end=== +8a420ab + +Alexey +wrouds@gmail.com +Merge pull request #3 from Wroud/fix/add-cleanup +feat: add cache cleanup action +===end=== +0c4a86d + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add cache cleanup action + +===end=== +9d0965e + +Alexey +wrouds@gmail.com +Merge pull request #2 from Wroud/feat/github-workflows +feat: add github workflows +===end=== +41d0e01 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: codecov ci + +===end=== +62aec5f + +Aleksei Potsetsuev +wrouds@gmail.com +fix: collect coverage + +===end=== +cf9454d + +Aleksei Potsetsuev +wrouds@gmail.com +feat: configure code coverage + +===end=== +0d675f9 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: enable zero installs + +===end=== +a8879c6 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: remove dist + +===end=== +c27dbf0 + +Aleksei Potsetsuev +wrouds@gmail.com +fix: configure ci + +===end=== +e92166a + +Aleksei Potsetsuev +wrouds@gmail.com +feat: add github workflows + +===end=== +9777ef5 + +Alexey +wrouds@gmail.com +Merge pull request #1 from Wroud/feat/init-workspace +feat: init workspace +===end=== +1306e07 + +Aleksei Potsetsuev +wrouds@gmail.com +feat: init workspace + +===end=== +efd26d4 + +Alexey +wrouds@gmail.com +Initial commit + +===end=== \ No newline at end of file diff --git a/packages/git/package.json b/packages/git/package.json new file mode 100644 index 0000000..756326d --- /dev/null +++ b/packages/git/package.json @@ -0,0 +1,36 @@ +{ + "name": "@wroud/git", + "private": true, + "version": "0.0.1", + "type": "module", + "packageManager": "yarn@4.4.1", + "exports": { + ".": "./lib/index.js" + }, + "scripts": { + "ci:prepublish": "", + "test": "tests-runner", + "test:ci": "CI=true yarn run test", + "build": "tsc -b", + "watch:tsc": "tsc -b -w", + "dev": "concurrently \"npm:watch:*\"", + "clear": "rimraf ./lib" + }, + "dependencies": { + "execa": "^9", + "semver-regex": "^4", + "uuid": "^10" + }, + "devDependencies": { + "@tsconfig/node20": "^20", + "@types/node": "^20", + "@types/uuid": "^10", + "@vitest/coverage-v8": "^2", + "@wroud/tests-runner": "workspace:^", + "@wroud/tsconfig": "workspace:^", + "concurrently": "^8", + "rimraf": "^6", + "typescript": "^5", + "vitest": "^2" + } +} diff --git a/packages/git/src/IGitCommitInfo.ts b/packages/git/src/IGitCommitInfo.ts new file mode 100644 index 0000000..75f3ba9 --- /dev/null +++ b/packages/git/src/IGitCommitInfo.ts @@ -0,0 +1,11 @@ +import type { IGitTrailer } from "./IGitTrailer.js"; + +export interface IGitCommitInfo { + hash: string; + tags: string[]; + authorName: string; + authorEmail: string; + subject: string; + body: string; + trailers: IGitTrailer[]; +} diff --git a/packages/git/src/IGitTrailer.ts b/packages/git/src/IGitTrailer.ts new file mode 100644 index 0000000..62780e4 --- /dev/null +++ b/packages/git/src/IGitTrailer.ts @@ -0,0 +1,4 @@ +export interface IGitTrailer { + token: string; + value: string; +} diff --git a/packages/git/src/getGitCommits.test.ts b/packages/git/src/getGitCommits.test.ts new file mode 100644 index 0000000..45c1f15 --- /dev/null +++ b/packages/git/src/getGitCommits.test.ts @@ -0,0 +1,85 @@ +import "./tests/mockExeca.js"; +import { describe, expect, it, vi } from "vitest"; +import { getGitCommits } from "./getGitCommits.js"; +import { createReadStream } from "fs"; +import { createInterface } from "readline/promises"; +import path from "path"; +import type { IGitCommitInfo } from "./IGitCommitInfo.js"; +import { execa } from "execa"; +import { mockExecaGitChecks } from "./tests/mockExecaGitChecks.js"; + +vi.mock(import("uuid"), () => ({ + v4: () => "end" as any, +})); + +function execaMock(fixturePath: string) { + return async function* (cmd: string, ...args: string[]) { + const gitMock = mockExecaGitChecks( + { mockVersion: true, mockWorkTree: true }, + cmd, + ...args, + ); + + if (gitMock !== null) { + yield gitMock; + return; + } + + let fixture = path.join( + import.meta.dirname, + "../__testfixtures__", + fixturePath, + ); + + const fileStream = createReadStream(fixture); + + const rl = createInterface({ + input: fileStream, + crlfDelay: Infinity, + }); + + for await (const line of rl) { + yield line; + } + }; +} + +describe("getGitCommits", () => { + it("without arguments", async () => { + if (vi.isMockFunction(execa)) { + execa.mockImplementation(execaMock("fixture.git-log.txt")); + } + + const commits: IGitCommitInfo[] = []; + for await (const commit of getGitCommits()) { + commits.push(commit); + } + + expect(commits).toMatchSnapshot(); + }); + it("with custom trailer", async () => { + if (vi.isMockFunction(execa)) { + execa.mockImplementation(execaMock("fixture.git-log.txt")); + } + + const commits: IGitCommitInfo[] = []; + for await (const commit of getGitCommits({ + customTrailers: [/^(?BREAKING CHANGE):[\s\t]*(?.+)$/], + })) { + commits.push(commit); + } + + expect(commits).toMatchSnapshot(); + }); + it("with path", async () => { + if (vi.isMockFunction(execa)) { + execa.mockImplementation(execaMock("fixture.git-log-path.txt")); + } + + const commits = []; + for await (const commit of getGitCommits({ path: "." })) { + commits.push(commit); + } + expect(commits).toMatchSnapshot(); + }); +}); diff --git a/packages/git/src/getGitCommits.ts b/packages/git/src/getGitCommits.ts new file mode 100644 index 0000000..86db907 --- /dev/null +++ b/packages/git/src/getGitCommits.ts @@ -0,0 +1,162 @@ +import { execa } from "execa"; + +import type { IGitCommitInfo } from "./IGitCommitInfo.js"; +import { v4 as uuidv4 } from "uuid"; +import { validateGitEnvironment } from "./validateGitEnvironment.js"; +import type { IGitTrailer } from "./IGitTrailer.js"; + +const linesPerCommit = 6; + +interface IGitGetCommitsOptions { + from?: string; + to?: string; + path?: string; + maxCommits?: number; + includeTags?: boolean; + includeTrailers?: boolean; + customTrailers?: RegExp[]; +} + +const trailerRegex = + /^(?[^\s\t\n]+)[\s\t]*(?::[\s\t]*(.+)|(#[^\s\n]+.+))$/; +const trailerMultilineValueRegex = /^[\s\t]{1}(?.*)/gm; +const tagsRegex = /tag: ([^,]+)[,)]/g; + +export async function* getGitCommits({ + from, + to = "HEAD", + path, + maxCommits, + includeTags = true, + includeTrailers = true, + customTrailers = [], +}: IGitGetCommitsOptions = {}): AsyncGenerator { + await validateGitEnvironment(); + /** + * %h: abbreviated commit hash + * %d: ref names + * %an: author name + * %ae: author email + * %s: subject + * %b: body + * %n: newline + */ + const endMarker = `===${uuidv4()}===`; + + const args = [ + "--no-pager", + "log", + [from, to].filter(Boolean).join(".."), + `--pretty=format:%h%n%d%n%an%n%ae%n%s%n%b%n${endMarker}`, + ]; + + if (path) { + args.push("--", path); + } + + const max = maxCommits ?? Infinity; + let commitCount = 0; + let commitBuffer: string[] = []; + for await (const line of execa("git", args)) { + if (line === endMarker) { + if (commitBuffer.length < linesPerCommit) { + console.warn("Incomplete commit information encountered."); + commitBuffer = []; + continue; + } + + const [hash, ref, authorName, authorEmail, subject, ...bodyLines] = + commitBuffer; + let bodyLinesCopy: (string | null)[] = [...bodyLines]; + + const trailers: IGitTrailer[] = []; + let currentTrailer: IGitTrailer | null = null; + let canStartTrailer = false; + + let lineIndex = 0; + for (const line of bodyLines) { + if (line === "") { + canStartTrailer = true; + } + + let foundTrailer: IGitTrailer | null = null; + + for (const customTrailer of customTrailers) { + const match = line.match(customTrailer); + + if (match) { + const token = match.groups!["token"]!; + const value = match.groups!["value"]!; + foundTrailer = { token, value }; + break; + } + } + + if (!foundTrailer) { + const match = line.match(trailerRegex); + if (match) { + const token = match[1]!; + const value = (match[2] || match[3])!; + foundTrailer = { token, value }; + } + } + + if (canStartTrailer && foundTrailer) { + if (currentTrailer) { + trailers.push(currentTrailer); + } + currentTrailer = foundTrailer; + } else { + if (currentTrailer) { + const match = line.match(trailerMultilineValueRegex); + if (match) { + currentTrailer.value += "\n" + match.groups!["value"]; + } else { + trailers.push(currentTrailer); + currentTrailer = null; + } + } + } + + if ( + bodyLinesCopy.length >= lineIndex && + (currentTrailer || trailers.length > 0) + ) { + bodyLinesCopy.splice(lineIndex); + } + lineIndex++; + } + + if (currentTrailer) { + trailers.push(currentTrailer); + } + + const commitInfo: IGitCommitInfo = { + hash: hash!, + tags: [], + authorName: authorName!, + authorEmail: authorEmail!, + subject: subject!, + body: bodyLinesCopy.join("\n"), + trailers, + }; + + if (includeTags) { + commitInfo.tags = Array.from(ref!.matchAll(tagsRegex)).map( + (match) => match[1]!, + ); + } + + yield commitInfo; + + commitBuffer = []; + commitCount++; + + if (commitCount >= max) { + break; + } + } else { + commitBuffer.push(line); + } + } +} diff --git a/packages/git/src/getGitLastSemverTag.test.ts b/packages/git/src/getGitLastSemverTag.test.ts new file mode 100644 index 0000000..d3f638b --- /dev/null +++ b/packages/git/src/getGitLastSemverTag.test.ts @@ -0,0 +1,58 @@ +import "./tests/mockExeca.js"; +import { execa } from "execa"; +import { afterAll, beforeAll, describe, expect, it, vi } from "vitest"; +import { getGitLastSemverTag } from "./getGitLastSemverTag.js"; +import { mockExecaGitChecks } from "./tests/mockExecaGitChecks.js"; + +async function* execaMock(cmd: string, args: string[]) { + const gitMock = mockExecaGitChecks( + { mockVersion: true, mockWorkTree: true }, + cmd, + ...(args || []), + ); + + if (gitMock !== null) { + yield gitMock; + } + + if (args[2] === "n*") { + throw new Error("fatal: No names found, cannot describe anything."); + } + + if (args[2] === "s*") { + yield "sdv1.0.0"; + yield "sdv"; + yield "sdvsdd"; + yield "s1.0.0"; + } + + if (args[2] === "di-v*") { + yield "di-v1.0.0"; + } + + yield "v1.0.0"; +} + +describe("getLastSemverTag", () => { + beforeAll(() => { + if (vi.isMockFunction(execa)) { + execa.mockImplementation(execaMock); + } + }); + afterAll(() => { + vi.resetAllMocks(); + }); + it("without arguments", async () => { + expect(await getGitLastSemverTag()).toBe("v1.0.0"); + }); + it("without path", async () => { + expect(await getGitLastSemverTag({ prefix: "di-v" })).toBe("di-v1.0.0"); + }); + it("should return the last semver tag", async () => { + expect(await getGitLastSemverTag({ prefix: "s" })).toBe("s1.0.0"); + }); + it("should return null if no semver tag is found", async () => { + vi.spyOn(console, "error").mockImplementation(() => {}); + expect(await getGitLastSemverTag({ prefix: "n" })).toBe(null); + }); +}); diff --git a/packages/git/src/getGitLastSemverTag.ts b/packages/git/src/getGitLastSemverTag.ts new file mode 100644 index 0000000..a7264ca --- /dev/null +++ b/packages/git/src/getGitLastSemverTag.ts @@ -0,0 +1,35 @@ +import { execa } from "execa"; +import semverRegex from "semver-regex"; +import { validateGitEnvironment } from "./validateGitEnvironment.js"; + +interface IGitGetLastTagOptions { + to?: string; + prefix?: string; +} + +export async function getGitLastSemverTag({ + to = "HEAD", + prefix = "v", +}: IGitGetLastTagOptions = {}): Promise { + await validateGitEnvironment(); + try { + for await (const tag of execa("git", [ + "tag", + "--list", + `${prefix}*`, + "--merged", + to, + "--sort=-v:refname", // Sort tags in descending version order + ])) { + if ( + tag.startsWith(prefix) && + semverRegex().test(tag.slice(prefix.length)) + ) { + return tag; + } + } + } catch (e: any) { + console.error(e); + } + return null; +} diff --git a/packages/git/src/index.ts b/packages/git/src/index.ts new file mode 100644 index 0000000..278b2c6 --- /dev/null +++ b/packages/git/src/index.ts @@ -0,0 +1,4 @@ +export * from "./IGitCommitInfo.js"; +export * from "./IGitTrailer.js"; +export * from "./getGitCommits.js"; +export * from "./getGitLastSemverTag.js"; diff --git a/packages/git/src/tests/mockExeca.ts b/packages/git/src/tests/mockExeca.ts new file mode 100644 index 0000000..3081796 --- /dev/null +++ b/packages/git/src/tests/mockExeca.ts @@ -0,0 +1,5 @@ +import { vi } from "vitest"; + +vi.mock(import("execa"), () => ({ + execa: vi.fn(), +})); diff --git a/packages/git/src/tests/mockExecaGitChecks.ts b/packages/git/src/tests/mockExecaGitChecks.ts new file mode 100644 index 0000000..1ecd62c --- /dev/null +++ b/packages/git/src/tests/mockExecaGitChecks.ts @@ -0,0 +1,22 @@ +export function mockExecaGitChecks( + { + mockVersion, + mockWorkTree, + }: { + mockVersion?: boolean; + mockWorkTree?: boolean; + }, + ...args: string[] +): string | null { + const cmd = args.join(" "); + + if (mockVersion && cmd === "git --version") { + return "git version 2.33.0"; + } + + if (mockWorkTree && cmd === "git rev-parse --is-inside-work-tree") { + return ""; + } + + return null; +} diff --git a/packages/git/src/validateGitEnvironment.ts b/packages/git/src/validateGitEnvironment.ts new file mode 100644 index 0000000..d6bbcf2 --- /dev/null +++ b/packages/git/src/validateGitEnvironment.ts @@ -0,0 +1,20 @@ +import { execa } from "execa"; + +/** + * Validates that Git is installed and the current directory is a Git repository. + */ +export async function validateGitEnvironment() { + try { + // Check if Git is installed + await execa`git --version`; + } catch { + throw new Error("Git is not installed or not found in PATH."); + } + + try { + // Check if the current directory is a Git repository + await execa`git rev-parse --is-inside-work-tree`; + } catch { + throw new Error("The current directory is not a Git repository."); + } +} diff --git a/packages/git/tsconfig.json b/packages/git/tsconfig.json new file mode 100644 index 0000000..87b74b3 --- /dev/null +++ b/packages/git/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@wroud/tsconfig/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./lib/.tsbuildinfo", + "rootDir": "src", + "rootDirs": ["src"], + "outDir": "lib", + "types": ["node"], + "incremental": true, + "composite": true + }, + "include": ["src"], + "references": [] +} diff --git a/packages/github/__snapshots__/getGithubTrailers.test.js.snap b/packages/github/__snapshots__/getGithubTrailers.test.js.snap new file mode 100644 index 0000000..7a0a5b4 --- /dev/null +++ b/packages/github/__snapshots__/getGithubTrailers.test.js.snap @@ -0,0 +1,50 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`getGithubTrailers > empty 1`] = `[]`; + +exports[`getGithubTrailers > lowercase 1`] = ` +[ + { + "email": "email", + "name": "name", + }, +] +`; + +exports[`getGithubTrailers > missing email 1`] = ` +[ + { + "name": "name", + }, +] +`; + +exports[`getGithubTrailers > missing name 1`] = `[]`; + +exports[`getGithubTrailers > missing name and email 1`] = `[]`; + +exports[`getGithubTrailers > multiple 1`] = ` +[ + { + "email": "email1", + "name": "name1", + }, + { + "email": "email2", + "name": "name2", + }, +] +`; + +exports[`getGithubTrailers > multiple with other trailers 1`] = ` +[ + { + "email": "email1", + "name": "name1", + }, + { + "email": "email2", + "name": "name2", + }, +] +`; diff --git a/packages/github/package.json b/packages/github/package.json new file mode 100644 index 0000000..668ddab --- /dev/null +++ b/packages/github/package.json @@ -0,0 +1,33 @@ +{ + "name": "@wroud/github", + "private": true, + "version": "0.0.1", + "type": "module", + "packageManager": "yarn@4.4.1", + "exports": { + ".": "./lib/index.js" + }, + "scripts": { + "ci:prepublish": "", + "test": "tests-runner", + "test:ci": "CI=true yarn run test", + "build": "tsc -b", + "watch:tsc": "tsc -b -w", + "dev": "concurrently \"npm:watch:*\"", + "clear": "rimraf ./lib" + }, + "dependencies": { + "@wroud/git": "workspace:^" + }, + "devDependencies": { + "@tsconfig/node20": "^20", + "@types/node": "^20", + "@vitest/coverage-v8": "^2", + "@wroud/tests-runner": "workspace:^", + "@wroud/tsconfig": "workspace:^", + "concurrently": "^8", + "rimraf": "^6", + "typescript": "^5", + "vitest": "^2" + } +} diff --git a/packages/github/src/IGithubCoAuthor.ts b/packages/github/src/IGithubCoAuthor.ts new file mode 100644 index 0000000..51bab4f --- /dev/null +++ b/packages/github/src/IGithubCoAuthor.ts @@ -0,0 +1,7 @@ +export interface IGithubCoAuthor { + name: string; + username?: string; + usernameLink?: string; + link?: string; + email?: string; +} diff --git a/packages/github/src/IGithubTrailers.ts b/packages/github/src/IGithubTrailers.ts new file mode 100644 index 0000000..cc4133a --- /dev/null +++ b/packages/github/src/IGithubTrailers.ts @@ -0,0 +1,5 @@ +import type { IGithubCoAuthor } from "./IGithubCoAuthor.js"; + +export interface IGithubTrailers { + coAuthors: IGithubCoAuthor[]; +} diff --git a/packages/github/src/getGithubTrailers.test.ts b/packages/github/src/getGithubTrailers.test.ts new file mode 100644 index 0000000..efb7548 --- /dev/null +++ b/packages/github/src/getGithubTrailers.test.ts @@ -0,0 +1,105 @@ +import { describe, expect, it } from "vitest"; +import { getGithubTrailers } from "./getGithubTrailers.js"; + +describe("getGithubTrailers", () => { + it("empty", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("lowercase ", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [{ token: "co-authored-by", value: "name " }], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("missing name", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [{ token: "Co-authored-by", value: "" }], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("missing email", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [{ token: "Co-authored-by", value: "name" }], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("missing name and email", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [{ token: "Co-authored-by", value: "" }], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("multiple", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [ + { token: "Co-authored-by", value: "name1 " }, + { token: "Co-authored-by", value: "name2 " }, + ], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); + it("multiple with other trailers", async () => { + const trailers = getGithubTrailers({ + authorEmail: "", + authorName: "", + body: "", + hash: "", + subject: "", + tags: [], + trailers: [ + { token: "Co-authored-by", value: "name1 " }, + { token: "Co-authored-by", value: "name2 " }, + { token: "BREAKING CHANGE", value: "value" }, + { token: "BREAKING-CHANGE", value: "value" }, + { token: "Refs", value: "value" }, + ], + }); + + expect(trailers.coAuthors).toMatchSnapshot(); + }); +}); diff --git a/packages/github/src/getGithubTrailers.ts b/packages/github/src/getGithubTrailers.ts new file mode 100644 index 0000000..94e6b1f --- /dev/null +++ b/packages/github/src/getGithubTrailers.ts @@ -0,0 +1,47 @@ +import type { IGitCommitInfo } from "@wroud/git"; +import type { IGithubTrailers } from "./IGithubTrailers.js"; +import type { IGithubCoAuthor } from "./IGithubCoAuthor.js"; + +const coAuthorToken = "Co-authored-by"; + +interface IGetGithubTrailersOptions { + loadGithubUserNames?: boolean; +} + +export function getGithubTrailers( + commit: IGitCommitInfo, + options?: IGetGithubTrailersOptions, +): IGithubTrailers { + const coAuthors: IGithubCoAuthor[] = []; + + for (const trailer of commit.trailers) { + switch (trailer.token.toLowerCase()) { + case coAuthorToken.toLowerCase(): + let [name, email] = trailer.value.split("<"); + name = name?.trim(); + email = email?.slice(0, -1); + + if (!name) { + continue; + } + + const coAuthor: IGithubCoAuthor = { + name, + }; + + if (email && !email.includes("noreply.github.com")) { + coAuthor.email = email; + } + + if (options?.loadGithubUserNames) { + } + + coAuthors.push(coAuthor); + break; + } + } + + return { + coAuthors, + }; +} diff --git a/packages/github/src/index.ts b/packages/github/src/index.ts new file mode 100644 index 0000000..cbb0fe4 --- /dev/null +++ b/packages/github/src/index.ts @@ -0,0 +1,3 @@ +export * from "./IGithubCoAuthor.js"; +export * from "./IGithubTrailers.js"; +export * from "./getGithubTrailers.js"; diff --git a/packages/github/tsconfig.json b/packages/github/tsconfig.json new file mode 100644 index 0000000..87b74b3 --- /dev/null +++ b/packages/github/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@wroud/tsconfig/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./lib/.tsbuildinfo", + "rootDir": "src", + "rootDirs": ["src"], + "outDir": "lib", + "types": ["node"], + "incremental": true, + "composite": true + }, + "include": ["src"], + "references": [] +} diff --git a/packages/tests-runner/bin/tests-runner.mjs b/packages/tests-runner/bin/tests-runner.mjs index 686e4bc..aea135a 100644 --- a/packages/tests-runner/bin/tests-runner.mjs +++ b/packages/tests-runner/bin/tests-runner.mjs @@ -2,21 +2,13 @@ import v8 from "node:v8"; import path from "node:path"; -import { fileURLToPath } from "node:url"; import { startVitest, parseCLI } from "vitest/node"; v8.setFlagsFromString("--expose-gc"); -const { filters, options } = parseCLI(["vitest", ...process.argv.slice(2)]); -const vitest = await startVitest( - "test", - { ...filters }, - { - config: path.resolve( - path.dirname(fileURLToPath(import.meta.url)), - "../vitest.config.ts", - ), - ...options, - }, -); +const { filter, options } = parseCLI(["vitest", ...process.argv.slice(2)]); +const vitest = await startVitest("test", filter, { + config: path.resolve(import.meta.dirname, "../vitest.config.ts"), + ...options, +}); await vitest?.close(); diff --git a/yarn.lock b/yarn.lock index 27a4d74..59ee636 100644 --- a/yarn.lock +++ b/yarn.lock @@ -702,194 +702,193 @@ __metadata: linkType: hard "@commitlint/cli@npm:^19": - version: 19.4.1 - resolution: "@commitlint/cli@npm:19.4.1" - dependencies: - "@commitlint/format": "npm:^19.3.0" - "@commitlint/lint": "npm:^19.4.1" - "@commitlint/load": "npm:^19.4.0" - "@commitlint/read": "npm:^19.4.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + version: 19.5.0 + resolution: "@commitlint/cli@npm:19.5.0" + dependencies: + "@commitlint/format": "npm:^19.5.0" + "@commitlint/lint": "npm:^19.5.0" + "@commitlint/load": "npm:^19.5.0" + "@commitlint/read": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + tinyexec: "npm:^0.3.0" yargs: "npm:^17.0.0" bin: commitlint: cli.js - checksum: 10c0/a829b91e690b3dd44fab9661d7defdb3bd2556f014e122a004b3ffaf25673f2c0916a112db651a9af3168f8ebdc91828d1ee4db7a1f3cef7e7f4ff9b9699aabf + checksum: 10c0/a9fb05f3de2634764a7f36f693f39e90594dfc9174e6293a43c582c6a9181f69b346094790e3268e3482d7bb0d1d29c64e15785fb50278c8628f73750214a398 languageName: node linkType: hard "@commitlint/config-conventional@npm:^19": - version: 19.4.1 - resolution: "@commitlint/config-conventional@npm:19.4.1" + version: 19.5.0 + resolution: "@commitlint/config-conventional@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" conventional-changelog-conventionalcommits: "npm:^7.0.2" - checksum: 10c0/aece8757a2263735d9a131b6b2eeeeff2c30106a902b74b0f6de13c1b3724594ed3b94986c1d4bd5ad70b7ba1569ed8b8441ac171dc0343b4d45f733b397011c + checksum: 10c0/a7dc6c0d23a8bc521c8f1083a4a04d605de35485786c9d0953610f85d23411f672676d1c77b4a1bb7c86a974f915df31ac0c95f2bcb02f5efa3a5b897a77a897 languageName: node linkType: hard -"@commitlint/config-validator@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/config-validator@npm:19.0.3" +"@commitlint/config-validator@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/config-validator@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" ajv: "npm:^8.11.0" - checksum: 10c0/7a0d55837fb88b1f05892fed67a9582669331a452de96e4caec0c9a397cd6083701265b066e6e32a259b43737187cd31b15ab02b0459c817ea9e7b75602db3c7 + checksum: 10c0/f04b8c66448c9a4f335d1ac9625393d471d2bcc864adc834eeec52ce19939c25475bf90677504df03ab88869e883b4ebfddff68f99f7652900d6b297ef586643 languageName: node linkType: hard -"@commitlint/ensure@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/ensure@npm:19.0.3" +"@commitlint/ensure@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/ensure@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.snakecase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" lodash.upperfirst: "npm:^4.3.1" - checksum: 10c0/66785aeddec70e26766f6bb11b1f78892cabdb97b0b77fb97ca6457578e663188903933d5f64559205dd54754e8c2c4a902e73e1749e34cbe07a4b296e374d72 + checksum: 10c0/94955d424da36a4e9390dfb6e128160d1dcd3ffa20b835a9b6fdd92af46bf8897851f19cbeb9d12a70e9b9c36a993d3a48a60893e74f32fe1b601e1e68484d71 languageName: node linkType: hard -"@commitlint/execute-rule@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/execute-rule@npm:19.0.0" - checksum: 10c0/70d37f25a9af0a6adcd9ae7cadd4a917e8d219d316798469e2957608288d7cab8a3b03f7b132f1229a5ee545bbba139dc801d0006a7df3b756354b3890b9c1bb +"@commitlint/execute-rule@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/execute-rule@npm:19.5.0" + checksum: 10c0/966dfc09ae3fe609527fb49c7773ae210ade9d14a802a92a57ab251900a77d2968aed08df6b34f175bf4ae9bf5d675b52b346e7b10b717e8a635499e4cf42267 languageName: node linkType: hard -"@commitlint/format@npm:^19.3.0": - version: 19.3.0 - resolution: "@commitlint/format@npm:19.3.0" +"@commitlint/format@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/format@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" chalk: "npm:^5.3.0" - checksum: 10c0/857a1784481edad9013514cbcc9ec93af33acc8bd491f5d23625c53fb93841566ce110e3004ecaab7f4f89c9331940fe63b83922a4a81f419e67b70e0dc90e41 + checksum: 10c0/209a3d530d028d483886ea2337d6ec8a95b61119f53f7f1db167b13fd8a204bdcbcd704e649406a0b2285e8424b3bac9e1e6856d2a78f45e176976b9efb76e45 languageName: node linkType: hard -"@commitlint/is-ignored@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/is-ignored@npm:19.2.2" +"@commitlint/is-ignored@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/is-ignored@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" semver: "npm:^7.6.0" - checksum: 10c0/8e416edbf24ec386f6211d4879c002cf82fdebfd1f69556ae2ad62f6ae9b705aa20ea3108529fd44e7d246526c6133851905ee826a83efc81b2f11443a7d03c3 + checksum: 10c0/ac74cd00c45e9054366969d986a952b681283987af09995c369cab29fef693fe2c23d02f15883622759faf1787744828f832096a213992eefb9cfb16785ee02e languageName: node linkType: hard -"@commitlint/lint@npm:^19.4.1": - version: 19.4.1 - resolution: "@commitlint/lint@npm:19.4.1" +"@commitlint/lint@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/lint@npm:19.5.0" dependencies: - "@commitlint/is-ignored": "npm:^19.2.2" - "@commitlint/parse": "npm:^19.0.3" - "@commitlint/rules": "npm:^19.4.1" - "@commitlint/types": "npm:^19.0.3" - checksum: 10c0/d3b455c23480f64fb4939eb78266eee687048a5e3c4203207fb25f6b7bd1f369a8529c659018db20765a6a57f6c161d3f80a01422ca7883b1a4405cd064d8fd6 + "@commitlint/is-ignored": "npm:^19.5.0" + "@commitlint/parse": "npm:^19.5.0" + "@commitlint/rules": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10c0/8db4d5ca3173949368ed8626316c54554dc6ca0a8eed5c636d043974e1f628e41ddf52119e2251ad402a82ee30d3db20e8a9734452bda9ac7f724b2a152e0a7f languageName: node linkType: hard -"@commitlint/load@npm:>6.1.1, @commitlint/load@npm:^19.4.0": - version: 19.4.0 - resolution: "@commitlint/load@npm:19.4.0" +"@commitlint/load@npm:>6.1.1, @commitlint/load@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/load@npm:19.5.0" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/execute-rule": "npm:^19.0.0" - "@commitlint/resolve-extends": "npm:^19.1.0" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/execute-rule": "npm:^19.5.0" + "@commitlint/resolve-extends": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" chalk: "npm:^5.3.0" cosmiconfig: "npm:^9.0.0" cosmiconfig-typescript-loader: "npm:^5.0.0" lodash.isplainobject: "npm:^4.0.6" lodash.merge: "npm:^4.6.2" lodash.uniq: "npm:^4.5.0" - checksum: 10c0/805fd80b1f0e127a03b89405c60535dd89fd6676c749ef86e4a41af787f3c9cae0c18c5d5ce906bd6620f566b37d19a4edff63d21539da4212414fd741e19c72 + checksum: 10c0/72fb5f3b2299cb40374181e4fb630658c7faf0cca775bd15338e9a49f9571134ef25529319b453ed0d68917346949abf88c44f73a132f89d8965d6b3e7347d0b languageName: node linkType: hard -"@commitlint/message@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/message@npm:19.0.0" - checksum: 10c0/753bf18838ebde4464e8f4b346d04d3367fbb90b542db6a54da08aa241497b4050a6ecd09dba4f37f6348855fa86e6625350d596fe5dea7a8dd4faee49ab76a7 +"@commitlint/message@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/message@npm:19.5.0" + checksum: 10c0/72b990ba8c3c41441bff2126f4ea536a635c9768dee7000b4951770ac82c5e0bb4c2d408cf28cadbf51a0abbdb7a09ddd36e0968af0997fcc166596d4c3866a7 languageName: node linkType: hard -"@commitlint/parse@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/parse@npm:19.0.3" +"@commitlint/parse@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/parse@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" conventional-changelog-angular: "npm:^7.0.0" conventional-commits-parser: "npm:^5.0.0" - checksum: 10c0/ede8d5bfb37520337ea7836a68f280cdb4b9788d0586b8be676394b3dd8a7a9626391178c4f94d334c5b8d95ea75c73939c40c8c9d81c372cf7743f5bff3d0e1 + checksum: 10c0/63655cedcf48b29613ef959155ee83f49942406abe40ee6b64ad989a169a0582451dcf15a9c9b69a66011ae451ab2e086fb80c1823cc7ddf275705ff627660b1 languageName: node linkType: hard -"@commitlint/read@npm:^19.4.0": - version: 19.4.0 - resolution: "@commitlint/read@npm:19.4.0" +"@commitlint/read@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/read@npm:19.5.0" dependencies: - "@commitlint/top-level": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + "@commitlint/top-level": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" git-raw-commits: "npm:^4.0.0" minimist: "npm:^1.2.8" - checksum: 10c0/b0243feeb903fe4bb15bc352b10116451ac280fffbf2220a684e0f01ce4583e558b944ff8a6901f8a70faa0ec6020fa720da70328fb110747dbd4a7162695125 + tinyexec: "npm:^0.3.0" + checksum: 10c0/c2d6f958930e815337a4994779ca1dfcbbb6b81b8f3098cc7380e2cc5ddeae69ebd839b48fecd08950e565d43bc42c479915c578eaf57b3877706bca1fad6b8a languageName: node linkType: hard -"@commitlint/resolve-extends@npm:^19.1.0": - version: 19.1.0 - resolution: "@commitlint/resolve-extends@npm:19.1.0" +"@commitlint/resolve-extends@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/resolve-extends@npm:19.5.0" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" global-directory: "npm:^4.0.1" import-meta-resolve: "npm:^4.0.0" lodash.mergewith: "npm:^4.6.2" resolve-from: "npm:^5.0.0" - checksum: 10c0/5b4c69694ddf63f15499a940f99a39bdf0ae1943eb4731c7ea10572e416e44d6d57280faa8011801f4dc64aa70e55eb3b510c86c8e2b76820dcfe88b421afd4a + checksum: 10c0/10569a46036b7aa93c77dc5001a67bc9f36b340b97b2fd39b5ee95b0efc5e35335c61f86d4ba0bb5a8e6dd49ccf956990cce9ee29cfea9ba567e02668be01841 languageName: node linkType: hard -"@commitlint/rules@npm:^19.4.1": - version: 19.4.1 - resolution: "@commitlint/rules@npm:19.4.1" +"@commitlint/rules@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/rules@npm:19.5.0" dependencies: - "@commitlint/ensure": "npm:^19.0.3" - "@commitlint/message": "npm:^19.0.0" - "@commitlint/to-lines": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" - checksum: 10c0/d2052d193dc04b6fc0588ea57eab8490c408bd725f8c4bdb8aa274dc3b5a6ba45d23b718675c6e69304c4fe6c8e92e45b6d6c9de9a5fef266a50e7a71cf3058a + "@commitlint/ensure": "npm:^19.5.0" + "@commitlint/message": "npm:^19.5.0" + "@commitlint/to-lines": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10c0/8dc5a6e8277b78e9010f3bbc3aa3af6ac044d82501fb4df91f4edf14214a7dccb9bc9a85f7396872e197726edb506c8301e8b10d9c92e35fb44fe6423a5eeb23 languageName: node linkType: hard -"@commitlint/to-lines@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/to-lines@npm:19.0.0" - checksum: 10c0/9e8836668d176f4ddfa30bd6619cba9764223c5e0a76473c470b373069785ae2eb7af17db67e0e11ff30d8db997d0dd06a148bd8053c71fea1d03fc2278f0e8b +"@commitlint/to-lines@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/to-lines@npm:19.5.0" + checksum: 10c0/7674b4b6887c09e84728b9fa9c986ab77db400bf53ec83aaae84e03e0f3ed33088d450d1f67135f0f7a4cbc1121181775199779e1ca162fe604c902987e3008f languageName: node linkType: hard -"@commitlint/top-level@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/top-level@npm:19.0.0" +"@commitlint/top-level@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/top-level@npm:19.5.0" dependencies: find-up: "npm:^7.0.0" - checksum: 10c0/27ee2797f8d3d75aec3e9bf151b48fdbe4c362effbc2e7a11e6326342af06a29983fea5ad8756587e285c035b5ec45d4c4bc28cd698b62db31ca326db46efb64 + checksum: 10c0/8c1edc513c8d6655606e52d160d31ccd4b13234400ca67d21782798ab66701780b1ec21a7bb411fe8270db7735f10d39d3b0a3e52f3ddd1109b80741eb512bb4 languageName: node linkType: hard -"@commitlint/types@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/types@npm:19.0.3" +"@commitlint/types@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/types@npm:19.5.0" dependencies: "@types/conventional-commits-parser": "npm:^5.0.0" chalk: "npm:^5.3.0" - checksum: 10c0/279454409771097432cb3ecd4930b8f10e99e150b9306e931b69e4e80011a4251f326523bfaba59fcf9a9db7978c76073b7c7c07fbad6b90e045cb0fa2b70047 + checksum: 10c0/f4a93992f43b23cd5af200c69bb73227fdc0f78a6f7ebcda73dad10d558c1ac66ff164aa6dc3c2ddb322c9ed8b1a89b05f458e40d7c440a0358f435d2d71c2df languageName: node linkType: hard @@ -1627,114 +1626,114 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.21.2" +"@rollup/rollup-android-arm-eabi@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.21.3" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-android-arm64@npm:4.21.2" +"@rollup/rollup-android-arm64@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-android-arm64@npm:4.21.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-darwin-arm64@npm:4.21.2" +"@rollup/rollup-darwin-arm64@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-darwin-arm64@npm:4.21.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-darwin-x64@npm:4.21.2" +"@rollup/rollup-darwin-x64@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-darwin-x64@npm:4.21.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.21.2" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.21.3" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.21.2" +"@rollup/rollup-linux-arm-musleabihf@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.21.3" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.21.2" +"@rollup/rollup-linux-arm64-gnu@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.21.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.21.2" +"@rollup/rollup-linux-arm64-musl@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.21.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.2" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.3" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.21.2" +"@rollup/rollup-linux-riscv64-gnu@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.21.3" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.21.2" +"@rollup/rollup-linux-s390x-gnu@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.21.3" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.21.2" +"@rollup/rollup-linux-x64-gnu@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.21.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.21.2" +"@rollup/rollup-linux-x64-musl@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.21.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.21.2" +"@rollup/rollup-win32-arm64-msvc@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.21.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.21.2" +"@rollup/rollup-win32-ia32-msvc@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.21.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.21.2": - version: 4.21.2 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.21.2" +"@rollup/rollup-win32-x64-msvc@npm:4.21.3": + version: 4.21.3 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.21.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1746,55 +1745,88 @@ __metadata: languageName: node linkType: hard -"@shikijs/core@npm:1.16.3, @shikijs/core@npm:^1.13.0": - version: 1.16.3 - resolution: "@shikijs/core@npm:1.16.3" +"@shikijs/core@npm:1.17.6, @shikijs/core@npm:^1.13.0": + version: 1.17.6 + resolution: "@shikijs/core@npm:1.17.6" dependencies: - "@shikijs/vscode-textmate": "npm:^9.2.0" + "@shikijs/engine-javascript": "npm:1.17.6" + "@shikijs/engine-oniguruma": "npm:1.17.6" + "@shikijs/types": "npm:1.17.6" + "@shikijs/vscode-textmate": "npm:^9.2.2" "@types/hast": "npm:^3.0.4" - oniguruma-to-js: "npm:0.3.3" - regex: "npm:4.3.2" - checksum: 10c0/69be7d81ac3d3e73a9e3d5d6298d2bdff805cf10b7af29117e6182a381644d01b471633e19d0a0055a5a009c3283832ff769ded6083298f76bed0e9a9bc3a026 + hast-util-to-html: "npm:^9.0.2" + checksum: 10c0/36b5eb1c70710ff08bc54915ebf55f00fdff939a51a59271b2fcd24d0d513c4426f46260f1aa35fb4f3bb3f83c3de25184aed5203ffb156ea9fcdcceb5f8b9f5 + languageName: node + linkType: hard + +"@shikijs/engine-javascript@npm:1.17.6": + version: 1.17.6 + resolution: "@shikijs/engine-javascript@npm:1.17.6" + dependencies: + "@shikijs/types": "npm:1.17.6" + oniguruma-to-js: "npm:0.4.3" + checksum: 10c0/a4bb075a4f8c38cb062a935feb5a6d87f5dce9a15ec20c875c4bc35a9ae91e3940a7ff095008a6222d0b6172e2a1905a13433b84034a33a17d31b8fbb6b40709 + languageName: node + linkType: hard + +"@shikijs/engine-oniguruma@npm:1.17.6": + version: 1.17.6 + resolution: "@shikijs/engine-oniguruma@npm:1.17.6" + dependencies: + "@shikijs/types": "npm:1.17.6" + "@shikijs/vscode-textmate": "npm:^9.2.2" + checksum: 10c0/46ea963c7d168788700c7d751ae2ea9b8b1a2ecafb9253e11db6df5783c204d7d35ef4da83c97f5fe55ed765366f41b7d690093f3e074723baa9b0f034899e61 languageName: node linkType: hard "@shikijs/transformers@npm:^1.13.0": - version: 1.16.3 - resolution: "@shikijs/transformers@npm:1.16.3" + version: 1.17.6 + resolution: "@shikijs/transformers@npm:1.17.6" dependencies: - shiki: "npm:1.16.3" - checksum: 10c0/cae11910fd07a5f9fd4b488411331ef075d6588ef3f878d35f8cea67a21b5046296b2eb5e1283828bff2444ff35cea45b00a746810108c99f907a8b8a1331efe + shiki: "npm:1.17.6" + checksum: 10c0/82a134d1621523fcda2e9d9af95d1b333a4aacb5a08a7726fe88eb00c79f2d6819d2eb7935fb6d48dcd035cbeccc4f298567b5003d8db902daffe139ffc2380b languageName: node linkType: hard "@shikijs/twoslash@npm:": - version: 1.16.3 - resolution: "@shikijs/twoslash@npm:1.16.3" + version: 1.17.6 + resolution: "@shikijs/twoslash@npm:1.17.6" dependencies: - "@shikijs/core": "npm:1.16.3" + "@shikijs/core": "npm:1.17.6" + "@shikijs/types": "npm:1.17.6" twoslash: "npm:^0.2.11" - checksum: 10c0/5cda2418d053c41831ef8c95817fed792b4694775c73c4d2d9ba9b79e785d3f1eb81cd07caddeacc7c5295cddad31652f5e8835c37de490fbd9c988ba8380ad8 + checksum: 10c0/ba8d71d0d764f8db0f64d9c539eb70d9cf4ff90c98cbedd02305677610c0cdabe38061816dd3066e9c561ec2d978d30f71c09050722f9975b50445aac722a142 + languageName: node + linkType: hard + +"@shikijs/types@npm:1.17.6": + version: 1.17.6 + resolution: "@shikijs/types@npm:1.17.6" + dependencies: + "@shikijs/vscode-textmate": "npm:^9.2.2" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/7eefedb19894653154a084c9573789dc13294e93bce2a16d7c0ad1154d2d25959c830d58fdc1075f5a53f4fe1fe5813cd2900f3e50516708e4116ec08562379c languageName: node linkType: hard "@shikijs/vitepress-twoslash@npm:^1": - version: 1.16.3 - resolution: "@shikijs/vitepress-twoslash@npm:1.16.3" + version: 1.17.6 + resolution: "@shikijs/vitepress-twoslash@npm:1.17.6" dependencies: "@shikijs/twoslash": "npm:" floating-vue: "npm:^5.2.2" mdast-util-from-markdown: "npm:^2.0.1" mdast-util-gfm: "npm:^3.0.0" mdast-util-to-hast: "npm:^13.2.0" - shiki: "npm:1.16.3" + shiki: "npm:1.17.6" twoslash: "npm:^0.2.11" twoslash-vue: "npm:^0.2.11" - vue: "npm:^3.5.3" - checksum: 10c0/90559f246d738fb829fa5b7dd25ecd032641624413122dae90d00b3036adcc2157e3824fcd3edadf08dd534edeaf5f52430491f7c654a303ccd7acb0b051df51 + vue: "npm:^3.5.4" + checksum: 10c0/eebe509eba9c002a388ac94e1fa86a6cd18242671df2ffedb63fa6ddd50b97a7ed75fd83cc5d16a49b010ded6c26357836adb27af762741c630de1b2b4c87454 languageName: node linkType: hard -"@shikijs/vscode-textmate@npm:^9.2.0": +"@shikijs/vscode-textmate@npm:^9.2.2": version: 9.2.2 resolution: "@shikijs/vscode-textmate@npm:9.2.2" checksum: 10c0/db4471da582c16c4b49361fcb3a4acfa47af9c3566f308faca7373ed7c1d13232e723749dd5c62b78aa76e365f2b8af3426f63e51cccfc5755981636c851eebf @@ -1815,90 +1847,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-darwin-arm64@npm:1.7.25" +"@swc/core-darwin-arm64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-arm64@npm:1.7.26" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-darwin-x64@npm:1.7.25" +"@swc/core-darwin-x64@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-darwin-x64@npm:1.7.26" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.25" +"@swc/core-linux-arm-gnueabihf@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.26" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.25" +"@swc/core-linux-arm64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.25" +"@swc/core-linux-arm64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.26" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.25" +"@swc/core-linux-x64-gnu@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-linux-x64-musl@npm:1.7.25" +"@swc/core-linux-x64-musl@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-linux-x64-musl@npm:1.7.26" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.25" +"@swc/core-win32-arm64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.26" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.25" +"@swc/core-win32-ia32-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.26" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.25": - version: 1.7.25 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.25" +"@swc/core-win32-x64-msvc@npm:1.7.26": + version: 1.7.26 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.26" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1": - version: 1.7.25 - resolution: "@swc/core@npm:1.7.25" - dependencies: - "@swc/core-darwin-arm64": "npm:1.7.25" - "@swc/core-darwin-x64": "npm:1.7.25" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.25" - "@swc/core-linux-arm64-gnu": "npm:1.7.25" - "@swc/core-linux-arm64-musl": "npm:1.7.25" - "@swc/core-linux-x64-gnu": "npm:1.7.25" - "@swc/core-linux-x64-musl": "npm:1.7.25" - "@swc/core-win32-arm64-msvc": "npm:1.7.25" - "@swc/core-win32-ia32-msvc": "npm:1.7.25" - "@swc/core-win32-x64-msvc": "npm:1.7.25" + version: 1.7.26 + resolution: "@swc/core@npm:1.7.26" + dependencies: + "@swc/core-darwin-arm64": "npm:1.7.26" + "@swc/core-darwin-x64": "npm:1.7.26" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.26" + "@swc/core-linux-arm64-gnu": "npm:1.7.26" + "@swc/core-linux-arm64-musl": "npm:1.7.26" + "@swc/core-linux-x64-gnu": "npm:1.7.26" + "@swc/core-linux-x64-musl": "npm:1.7.26" + "@swc/core-win32-arm64-msvc": "npm:1.7.26" + "@swc/core-win32-ia32-msvc": "npm:1.7.26" + "@swc/core-win32-x64-msvc": "npm:1.7.26" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.12" peerDependencies: @@ -1927,7 +1959,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/d7d88923714f10992b6f0a06e2029325dc977cfe9b8d2b54fa1d6be1601313ebf81551109f3ff53a16a0400023c790470c824858893c9f0a2dc2dda52d7f83f3 + checksum: 10c0/6c5ce3d048cb100cd545145b1701a857207b1aeecc8f6bc44ed10b0a1792052834d155a6fa651dad20f38d3fff595034649cc75618946be8da751fa86a9c75b7 languageName: node linkType: hard @@ -2918,87 +2950,110 @@ __metadata: linkType: hard "@vitest/coverage-v8@npm:^2": - version: 2.0.5 - resolution: "@vitest/coverage-v8@npm:2.0.5" + version: 2.1.1 + resolution: "@vitest/coverage-v8@npm:2.1.1" dependencies: "@ampproject/remapping": "npm:^2.3.0" "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.10" + magic-string: "npm:^0.30.11" magicast: "npm:^0.3.4" std-env: "npm:^3.7.0" test-exclude: "npm:^7.0.1" tinyrainbow: "npm:^1.2.0" peerDependencies: - vitest: 2.0.5 - checksum: 10c0/a95eef744d2a541f5d9d0287243cbcb596802c04e0250404947e36a669c477abe86607afb8d8ddb3d31bf12633b3ffa3d9a313e489e4ab7998b3c1620ad60e00 + "@vitest/browser": 2.1.1 + vitest: 2.1.1 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10c0/3deba40edfae79ac4545cadb0786ecf6c8deb72cdfd1ba0f205d84804d241740a7e78892782a3002f87bb5c0a2705ab613fe5f54374f2fe9866cd0a574d65156 languageName: node linkType: hard -"@vitest/expect@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/expect@npm:2.0.5" +"@vitest/expect@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/expect@npm:2.1.1" dependencies: - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10c0/08cb1b0f106d16a5b60db733e3d436fa5eefc68571488eb570dfe4f599f214ab52e4342273b03dbe12331cc6c0cdc325ac6c94f651ad254cd62f3aa0e3d185aa + checksum: 10c0/2a467bcd37378b653040cca062a665f382087eb9f69cff670848a0c207a8458f27211c408c75b7e563e069a2e6d533c78f24e1a317c259646b948813342dbf3d languageName: node linkType: hard -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/pretty-format@npm:2.0.5" +"@vitest/mocker@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/mocker@npm:2.1.1" + dependencies: + "@vitest/spy": "npm:^2.1.0-beta.1" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.1 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/e0681bb75bf7255ce49f720d193c9c795a64d42fef13c7af5c157514ebce88a5b89dbf702aa0929d4cefaed3db73351bd3ade3ccabecc09a23a872d9c55be50d + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.1, @vitest/pretty-format@npm:^2.1.1": + version: 2.1.1 + resolution: "@vitest/pretty-format@npm:2.1.1" dependencies: tinyrainbow: "npm:^1.2.0" - checksum: 10c0/236c0798c5170a0b5ad5d4bd06118533738e820b4dd30079d8fbcb15baee949d41c60f42a9f769906c4a5ce366d7ef11279546070646c0efc03128c220c31f37 + checksum: 10c0/21057465a794a037a7af2c48397531eadf9b2d8a7b4d1ee5af9081cf64216cd0039b9e06317319df79aa2240fed1dbb6767b530deae2bd4b42d6fb974297e97d languageName: node linkType: hard -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" +"@vitest/runner@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/runner@npm:2.1.1" dependencies: - "@vitest/utils": "npm:2.0.5" + "@vitest/utils": "npm:2.1.1" pathe: "npm:^1.1.2" - checksum: 10c0/d0ed3302a7e015bf44b7c0df9d8f7da163659e082d86f9406944b5a31a61ab9ddc1de530e06176d1f4ef0bde994b44bff4c7dab62aacdc235c8fc04b98e4a72a + checksum: 10c0/a6d1424d6224d8a60ed0bbf7cdacb165ef36bc71cc957ad2c11ed1989fa5106636173369f0d8e1fa3f319a965091e52c8ce21203fce4bafe772632ccc2bd65a6 languageName: node linkType: hard -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" +"@vitest/snapshot@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/snapshot@npm:2.1.1" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" + "@vitest/pretty-format": "npm:2.1.1" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" - checksum: 10c0/7bf38474248f5ae0aac6afad511785d2b7a023ac5158803c2868fd172b5b9c1a569fb1dd64a09a49e43fd342cab71ea485ada89b7f08d37b1622a5a0ac00271d + checksum: 10c0/e9dadee87a2f489883dec0360b55b2776d2a07e460bf2430b34867cd4e9f34b09b3e219a23bc8c3e1359faefdd166072d3305b66a0bea475c7d616470b7d841c languageName: node linkType: hard -"@vitest/spy@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/spy@npm:2.0.5" +"@vitest/spy@npm:2.1.1, @vitest/spy@npm:^2.1.0-beta.1": + version: 2.1.1 + resolution: "@vitest/spy@npm:2.1.1" dependencies: tinyspy: "npm:^3.0.0" - checksum: 10c0/70634c21921eb271b54d2986c21d7ab6896a31c0f4f1d266940c9bafb8ac36237846d6736638cbf18b958bd98e5261b158a6944352742accfde50b7818ff655e + checksum: 10c0/b251be1390c105b68aa95270159c4583c3e1a0f7a2e1f82db8b7fadedc3cb459c5ef9286033a1ae764810e00715552fc80afe4507cd8b0065934fb1a64926e06 languageName: node linkType: hard -"@vitest/utils@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/utils@npm:2.0.5" +"@vitest/utils@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/utils@npm:2.1.1" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - estree-walker: "npm:^3.0.3" + "@vitest/pretty-format": "npm:2.1.1" loupe: "npm:^3.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10c0/0d1de748298f07a50281e1ba058b05dcd58da3280c14e6f016265e950bd79adab6b97822de8f0ea82d3070f585654801a9b1bcf26db4372e51cf7746bf86d73b + checksum: 10c0/b724c7f23591860bd24cd8e6d0cd803405f4fbff746db160a948290742144463287566a05ca400deb56817603b5185c4429707947869c3d453805860b5e3a3e5 languageName: node linkType: hard @@ -3018,53 +3073,53 @@ __metadata: languageName: node linkType: hard -"@vue/compiler-core@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/compiler-core@npm:3.5.4" +"@vue/compiler-core@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/compiler-core@npm:3.5.5" dependencies: "@babel/parser": "npm:^7.25.3" - "@vue/shared": "npm:3.5.4" + "@vue/shared": "npm:3.5.5" entities: "npm:^4.5.0" estree-walker: "npm:^2.0.2" source-map-js: "npm:^1.2.0" - checksum: 10c0/78be2129758e12b3a92d47a96f3f0d414632da3738366cf5c3eba57d626dbe02e9f313c145fb6bba35993fc783909f9e943f2d5305a446ad2e81988779d0c7bd + checksum: 10c0/cc6f8703ddc009989c94261751225bcf242d0fcd5703bf0dc159a3f6247a6ae41d97d03cae548c4331b7b46154296a870b66139422d5a3b12d8de34b32aa56a3 languageName: node linkType: hard -"@vue/compiler-dom@npm:3.5.4, @vue/compiler-dom@npm:^3.4.0": - version: 3.5.4 - resolution: "@vue/compiler-dom@npm:3.5.4" +"@vue/compiler-dom@npm:3.5.5, @vue/compiler-dom@npm:^3.4.0": + version: 3.5.5 + resolution: "@vue/compiler-dom@npm:3.5.5" dependencies: - "@vue/compiler-core": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" - checksum: 10c0/149bd09cc40a4bb71239f0e2ece4ee7013889fe5363930757484a6e3d398f7f55edb658c1113c6cb7a1ad6d9689d91fac1dc971187d7971e8990ca28703a2634 + "@vue/compiler-core": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" + checksum: 10c0/ff207a83f38b788959a2cb8731493fd566fcfa2de9371d77d7878b06d94fd57983256bf4e857ef0fd44ecaca4ec8ba529fff1e6764115717a5e13be5f504ee93 languageName: node linkType: hard -"@vue/compiler-sfc@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/compiler-sfc@npm:3.5.4" +"@vue/compiler-sfc@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/compiler-sfc@npm:3.5.5" dependencies: "@babel/parser": "npm:^7.25.3" - "@vue/compiler-core": "npm:3.5.4" - "@vue/compiler-dom": "npm:3.5.4" - "@vue/compiler-ssr": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" + "@vue/compiler-core": "npm:3.5.5" + "@vue/compiler-dom": "npm:3.5.5" + "@vue/compiler-ssr": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" estree-walker: "npm:^2.0.2" magic-string: "npm:^0.30.11" postcss: "npm:^8.4.44" source-map-js: "npm:^1.2.0" - checksum: 10c0/2a021c5deda1e37f5774cd4adb532fb1fefd454ed313ddbea82ea15695c80df64f5dc16e06ae4d96f0dc08dea81ec6a8a540a4736b94af21d5882b7acfe964c9 + checksum: 10c0/f2820c37567cac3ca89cf4603fd4454eeea8a2ad8bfc797244555f491fd4d25bd25712cc23e1aa861926d913a56d87b7bc4b14b647a9ccee10f8476ddc9397b9 languageName: node linkType: hard -"@vue/compiler-ssr@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/compiler-ssr@npm:3.5.4" +"@vue/compiler-ssr@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/compiler-ssr@npm:3.5.5" dependencies: - "@vue/compiler-dom": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" - checksum: 10c0/51b63afdc0ec101a243353bc11ea117d20f27fe2fbd0db393529af4ca8733b9fa119c2c0c1278568ec52f0ebab2976c167c13c24d5fd97b82ef6dce6e6c2f87c + "@vue/compiler-dom": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" + checksum: 10c0/1c69ba9ce38df08fa6a63a82d1bdd45a8d64cca399d6bd41068d933ea74233f7ecbd518d855d97167921de728b17c39f71e0d53ab293775b4c29a3eb685354af languageName: node linkType: hard @@ -3079,35 +3134,35 @@ __metadata: linkType: hard "@vue/devtools-api@npm:^7.3.8": - version: 7.4.4 - resolution: "@vue/devtools-api@npm:7.4.4" + version: 7.4.5 + resolution: "@vue/devtools-api@npm:7.4.5" dependencies: - "@vue/devtools-kit": "npm:^7.4.4" - checksum: 10c0/b66c3ddad966993ce863d003cc43ab8e8cce0c5e453accbfdb72e56f96f5b3c99e25afb81b557f696bcbedde78ec988e2bed036fee5d8c9c5b0192aa57873fd8 + "@vue/devtools-kit": "npm:^7.4.5" + checksum: 10c0/ccd8016b136510c5cab1a61464fb78ab7778882cb593d9db21b567a9d1e39ffeb97a3c95f763cc2c7ef7f7f993376bb9cd0a966a1e5948cef0ce681d523d2ec4 languageName: node linkType: hard -"@vue/devtools-kit@npm:^7.4.4": - version: 7.4.4 - resolution: "@vue/devtools-kit@npm:7.4.4" +"@vue/devtools-kit@npm:^7.4.5": + version: 7.4.5 + resolution: "@vue/devtools-kit@npm:7.4.5" dependencies: - "@vue/devtools-shared": "npm:^7.4.4" + "@vue/devtools-shared": "npm:^7.4.5" birpc: "npm:^0.2.17" hookable: "npm:^5.5.3" mitt: "npm:^3.0.1" perfect-debounce: "npm:^1.0.0" speakingurl: "npm:^14.0.1" superjson: "npm:^2.2.1" - checksum: 10c0/299507b14a4eb6bb998eaec5397dec3f99a1d7b2661562a95cdd15f3d4e020aa2fbbb67257d4004df1d0f26a5e916adfb6820006b4d1bef558417bd0658e2da5 + checksum: 10c0/32d9a9fee0d055cbe2057e3c2366388a08b1a95e9bc0e53aee5572edca336e7cc076dfa7b50e30fd84351bd3327381924fafd686596b78548b3f33345e3fa65d languageName: node linkType: hard -"@vue/devtools-shared@npm:^7.4.4": - version: 7.4.4 - resolution: "@vue/devtools-shared@npm:7.4.4" +"@vue/devtools-shared@npm:^7.4.5": + version: 7.4.5 + resolution: "@vue/devtools-shared@npm:7.4.5" dependencies: rfdc: "npm:^1.4.1" - checksum: 10c0/6ef587a322031d9779d3f1a634368bf41fa5950ccece4ffc389e4445bd7ea0a8bd6d834fbd792964a5c90ad2487ec744becaeae202c7429f66c40e6d6f2bfe5c + checksum: 10c0/769fcc4b654dcd881e9aebd9c1423e1608ee93878f9768afeb9a482849051d2ea7032ae13f02a169c22eafaa6e75499ebeaeea175523f30fd6d6e602c10a7eee languageName: node linkType: hard @@ -3132,53 +3187,53 @@ __metadata: languageName: node linkType: hard -"@vue/reactivity@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/reactivity@npm:3.5.4" +"@vue/reactivity@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/reactivity@npm:3.5.5" dependencies: - "@vue/shared": "npm:3.5.4" - checksum: 10c0/01b1b9e24d92f46ea08ee6e09ae8b3a3ef668278a7fc1baeca0a8ff8ca9a70e96ed1af2c614cbffd6b29415862fd636e31099cdab8b03237d54a3d19a5b192ab + "@vue/shared": "npm:3.5.5" + checksum: 10c0/56b72a18de33bb23996b6a3964964fddf35a59b457f594ce58ea5ff2abaa6126d411ba4dc4d41930d19d1b45102e0b8aa432efea30bb3ab4a3d96dc2c0576162 languageName: node linkType: hard -"@vue/runtime-core@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/runtime-core@npm:3.5.4" +"@vue/runtime-core@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/runtime-core@npm:3.5.5" dependencies: - "@vue/reactivity": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" - checksum: 10c0/79ddd6f1f433ab53fdb050bc057e346bbc6cdcda77b23ef6786f0aaf1dc8def997676f910e408e438f6eac10cb2971d073f6f1e36734fcdb24c3bef90da09b25 + "@vue/reactivity": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" + checksum: 10c0/79ae58284d111bc5d6c82b2a60917412829b4ab84fdba3a8db643bde7bbede454f167c133855869e8942c95c9b1f437e3ef703fde21502632f945cc48daca23e languageName: node linkType: hard -"@vue/runtime-dom@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/runtime-dom@npm:3.5.4" +"@vue/runtime-dom@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/runtime-dom@npm:3.5.5" dependencies: - "@vue/reactivity": "npm:3.5.4" - "@vue/runtime-core": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" + "@vue/reactivity": "npm:3.5.5" + "@vue/runtime-core": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" csstype: "npm:^3.1.3" - checksum: 10c0/a7882b2b8dd1f0d5166d175cf0a2fb242c81361eb45c7f0610c527d48b6b38957b2ee6fa42293b6c98635fcddf2d14b99580279a4901a8624428ad9843c19bba + checksum: 10c0/4d1e58176b24e155e44334df39d95d643d5fe1b65cfc1014d9867d224f301eba6f1cf5126b1244358e3ec705c50f1e9299b974f1a27485de0781af54256f0771 languageName: node linkType: hard -"@vue/server-renderer@npm:3.5.4": - version: 3.5.4 - resolution: "@vue/server-renderer@npm:3.5.4" +"@vue/server-renderer@npm:3.5.5": + version: 3.5.5 + resolution: "@vue/server-renderer@npm:3.5.5" dependencies: - "@vue/compiler-ssr": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" + "@vue/compiler-ssr": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" peerDependencies: - vue: 3.5.4 - checksum: 10c0/efabde9541f2110f005462c1deb832b1441c2f06e035a5cc92920114efef6e0fb5b0cd1de7bab0e584d15fff50767cb91acbb81c6c2d141fd7ef1bf25206696e + vue: 3.5.5 + checksum: 10c0/3373d8d0d008cbaefdc4982d8018af3a0e3040edef6ea9c0b93e1e228bfae23bc95c3c3f97d0d7d7b036059678edca317bbb57e51f4713121c2248329a4ae803 languageName: node linkType: hard -"@vue/shared@npm:3.5.4, @vue/shared@npm:^3.4.0, @vue/shared@npm:^3.4.38": - version: 3.5.4 - resolution: "@vue/shared@npm:3.5.4" - checksum: 10c0/e8f8be133edd371e1cc421b1f74fe59865f48813276785ff657b33be8c4b485f033aef5cb0542883ef61b437661d5fbf90264657291889db389d64b668d1e656 +"@vue/shared@npm:3.5.5, @vue/shared@npm:^3.4.0, @vue/shared@npm:^3.4.38": + version: 3.5.5 + resolution: "@vue/shared@npm:3.5.5" + checksum: 10c0/729eff9c55a10d2facdc597d49960a2a15657450903e3a28c93adcf97c731d39dcd17fe5bcf585976289dfb9a92d89a08af8558cb779ef8b2bb8b6a8b2162830 languageName: node linkType: hard @@ -3317,6 +3372,40 @@ __metadata: languageName: unknown linkType: soft +"@wroud/conventional-commits-changelog@workspace:packages/conventional-commits-changelog": + version: 0.0.0-use.local + resolution: "@wroud/conventional-commits-changelog@workspace:packages/conventional-commits-changelog" + dependencies: + "@tsconfig/node20": "npm:^20" + "@types/node": "npm:^20" + "@vitest/coverage-v8": "npm:^2" + "@wroud/conventional-commits-parser": "workspace:^" + "@wroud/tests-runner": "workspace:^" + "@wroud/tsconfig": "workspace:^" + concurrently: "npm:^8" + rimraf: "npm:^6" + typescript: "npm:^5" + vitest: "npm:^2" + languageName: unknown + linkType: soft + +"@wroud/conventional-commits-parser@workspace:^, @wroud/conventional-commits-parser@workspace:packages/conventional-commits-parser": + version: 0.0.0-use.local + resolution: "@wroud/conventional-commits-parser@workspace:packages/conventional-commits-parser" + dependencies: + "@tsconfig/node20": "npm:^20" + "@types/node": "npm:^20" + "@vitest/coverage-v8": "npm:^2" + "@wroud/git": "workspace:^" + "@wroud/tests-runner": "workspace:^" + "@wroud/tsconfig": "workspace:^" + concurrently: "npm:^8" + rimraf: "npm:^6" + typescript: "npm:^5" + vitest: "npm:^2" + languageName: unknown + linkType: soft + "@wroud/di-react@workspace:packages/di-react": version: 0.0.0-use.local resolution: "@wroud/di-react@workspace:packages/di-react" @@ -3404,6 +3493,43 @@ __metadata: languageName: unknown linkType: soft +"@wroud/git@workspace:^, @wroud/git@workspace:packages/git": + version: 0.0.0-use.local + resolution: "@wroud/git@workspace:packages/git" + dependencies: + "@tsconfig/node20": "npm:^20" + "@types/node": "npm:^20" + "@types/uuid": "npm:^10" + "@vitest/coverage-v8": "npm:^2" + "@wroud/tests-runner": "workspace:^" + "@wroud/tsconfig": "workspace:^" + concurrently: "npm:^8" + execa: "npm:^9" + rimraf: "npm:^6" + semver-regex: "npm:^4" + typescript: "npm:^5" + uuid: "npm:^10" + vitest: "npm:^2" + languageName: unknown + linkType: soft + +"@wroud/github@workspace:packages/github": + version: 0.0.0-use.local + resolution: "@wroud/github@workspace:packages/github" + dependencies: + "@tsconfig/node20": "npm:^20" + "@types/node": "npm:^20" + "@vitest/coverage-v8": "npm:^2" + "@wroud/git": "workspace:^" + "@wroud/tests-runner": "workspace:^" + "@wroud/tsconfig": "workspace:^" + concurrently: "npm:^8" + rimraf: "npm:^6" + typescript: "npm:^5" + vitest: "npm:^2" + languageName: unknown + linkType: soft + "@wroud/semver-bump@workspace:^0, @wroud/semver-bump@workspace:packages/semver-bump": version: 0.0.0-use.local resolution: "@wroud/semver-bump@workspace:packages/semver-bump" @@ -3418,7 +3544,7 @@ __metadata: languageName: unknown linkType: soft -"@wroud/tests-runner@workspace:*, @wroud/tests-runner@workspace:packages/tests-runner": +"@wroud/tests-runner@workspace:*, @wroud/tests-runner@workspace:^, @wroud/tests-runner@workspace:packages/tests-runner": version: 0.0.0-use.local resolution: "@wroud/tests-runner@workspace:packages/tests-runner" dependencies: @@ -3435,7 +3561,7 @@ __metadata: languageName: unknown linkType: soft -"@wroud/tsconfig@workspace:*, @wroud/tsconfig@workspace:packages/tsconfig": +"@wroud/tsconfig@workspace:*, @wroud/tsconfig@workspace:^, @wroud/tsconfig@workspace:packages/tsconfig": version: 0.0.0-use.local resolution: "@wroud/tsconfig@workspace:packages/tsconfig" dependencies: @@ -3605,7 +3731,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.3.0, aria-query@npm:^5.0.0": +"aria-query@npm:5.3.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -3614,6 +3740,13 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:^5.0.0": + version: 5.3.1 + resolution: "aria-query@npm:5.3.1" + checksum: 10c0/2e9aca7d92d20b8539ee58fa1d29ba07e2269a68da8d27e9830d3cb816d49bb01648610ac3f2e365a8dedbf00168ac18c017ea49c512fbe2537a0b17184a458b + languageName: node + linkType: hard + "array-each@npm:^1.0.1": version: 1.0.1 resolution: "array-each@npm:1.0.1" @@ -3967,6 +4100,20 @@ __metadata: languageName: node linkType: hard +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + languageName: node + linkType: hard + "character-entities@npm:^2.0.0": version: 2.0.2 resolution: "character-entities@npm:2.0.2" @@ -4144,6 +4291,13 @@ __metadata: languageName: node linkType: hard +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 + languageName: node + linkType: hard + "commander@npm:7": version: 7.2.0 resolution: "commander@npm:7.2.0" @@ -4886,7 +5040,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.3.6": version: 4.3.7 resolution: "debug@npm:4.3.7" dependencies: @@ -5057,9 +5211,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.4": - version: 1.5.19 - resolution: "electron-to-chromium@npm:1.5.19" - checksum: 10c0/73e25a928e041d707565fb08371b6ba5f3d7d99c78adddfd553660f28809ca22f1608ff295da3c764903a8eae890cbdd701b1b64b3e1eaeb298cb8aecbf21937 + version: 1.5.22 + resolution: "electron-to-chromium@npm:1.5.22" + checksum: 10c0/3c1c640dfa77e9d8e16c112d79ddbe87b47b2df7fada2406f2974b22227dd4592a5215c3318baf570ffdc1479151589dbdb8c0eac61347e9c78e1710f3b7ee5d languageName: node linkType: hard @@ -5335,23 +5489,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - "execa@npm:^9": version: 9.3.1 resolution: "execa@npm:9.3.1" @@ -5627,11 +5764,11 @@ __metadata: linkType: hard "focus-trap@npm:^7.5.4": - version: 7.5.4 - resolution: "focus-trap@npm:7.5.4" + version: 7.6.0 + resolution: "focus-trap@npm:7.6.0" dependencies: tabbable: "npm:^6.2.0" - checksum: 10c0/c09e12b957862b2608977ff90de782645f99c3555cc5d93977240c179befa8723b9b1183e93890b4ad9d364d52a1af36416e63a728522ecce656a447d9ddd945 + checksum: 10c0/5d1cdefdc11ae97f2c7bcced5c0facfa9794e1ec7a9d8b6547f3f03b51de0423ab572666371f6632b2165613470ec8245daea836160319d52d7a6434e6847a23 languageName: node linkType: hard @@ -5779,13 +5916,6 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - "get-stream@npm:^9.0.0": version: 9.0.1 resolution: "get-stream@npm:9.0.1" @@ -5797,11 +5927,11 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.7.5": - version: 4.8.0 - resolution: "get-tsconfig@npm:4.8.0" + version: 4.8.1 + resolution: "get-tsconfig@npm:4.8.1" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/943721c996d9a77351aa7c07956de77baece97f997bd30f3247f46907e4b743f7b9da02c7b3692a36f0884d3724271faeb88ed1c3aca3aba2afe3f27d6c4aeb3 + checksum: 10c0/536ee85d202f604f4b5fb6be81bcd6e6d9a96846811e83e9acc6de4a04fb49506edea0e1b8cf1d5ee7af33e469916ec2809d4c5445ab8ae015a7a51fbd1572f9 languageName: node linkType: hard @@ -6061,13 +6191,13 @@ __metadata: linkType: hard "happy-dom@npm:^15": - version: 15.7.3 - resolution: "happy-dom@npm:15.7.3" + version: 15.7.4 + resolution: "happy-dom@npm:15.7.4" dependencies: entities: "npm:^4.5.0" webidl-conversions: "npm:^7.0.0" whatwg-mimetype: "npm:^3.0.0" - checksum: 10c0/e64a9ae67ae73a24fe77e61e939b20764509197c9fbaa537c6955ac699aca5a02e26b5995c3234047abe43668d1df37fbeff837e41f7af981966ce81d73b25a6 + checksum: 10c0/406b6b86d52e5dc7bc2fbf0d1c0507a2d954f35dc0af5230f933ad1542646260cb46c1a763d064da0bcf1fbe806efbf10e28bad1c6865c7cde125269358047c0 languageName: node linkType: hard @@ -6094,6 +6224,34 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^9.0.2": + version: 9.0.2 + resolution: "hast-util-to-html@npm:9.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/37db32f9aa0b3c32c0d1e52362e8d0a91760a168f1e9ceab96fea15c9fb5ce2d34e7f8de907c71bd2ae8b54c3e86c578d929b1c9c760b9f887220932a58e479d + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -6135,6 +6293,13 @@ __metadata: languageName: node linkType: hard +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -6162,13 +6327,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - "human-signals@npm:^8.0.0": version: 8.0.0 resolution: "human-signals@npm:8.0.0" @@ -6177,11 +6335,11 @@ __metadata: linkType: hard "husky@npm:^9": - version: 9.1.5 - resolution: "husky@npm:9.1.5" + version: 9.1.6 + resolution: "husky@npm:9.1.6" bin: husky: bin.js - checksum: 10c0/f42efb95a026303eb880898760f802d88409780dd72f17781d2dfc302177d4f80b641cf1f1694f53f6d97c536c7397684133d8c8fe4a4426f7460186a7d1c6b8 + checksum: 10c0/705673db4a247c1febd9c5df5f6a3519106cf0335845027bb50a15fba9b1f542cb2610932ede96fd08008f6d9f49db0f15560509861808b0031cdc0e7c798bac languageName: node linkType: hard @@ -7038,7 +7196,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10, magic-string@npm:^0.30.11": +"magic-string@npm:^0.30.11": version: 0.30.11 resolution: "magic-string@npm:0.30.11" dependencies: @@ -7237,7 +7395,7 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^13.2.0": +"mdast-util-to-hast@npm:^13.0.0, mdast-util-to-hast@npm:^13.2.0": version: 13.2.0 resolution: "mdast-util-to-hast@npm:13.2.0" dependencies: @@ -7300,13 +7458,6 @@ __metadata: languageName: node linkType: hard -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - "merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -7574,13 +7725,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -7889,7 +8033,7 @@ __metadata: languageName: node linkType: hard -"npm-run-path@npm:^5.1.0, npm-run-path@npm:^5.2.0": +"npm-run-path@npm:^5.2.0": version: 5.3.0 resolution: "npm-run-path@npm:5.3.0" dependencies: @@ -7948,19 +8092,12 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" +"oniguruma-to-js@npm:0.4.3": + version: 0.4.3 + resolution: "oniguruma-to-js@npm:0.4.3" dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"oniguruma-to-js@npm:0.3.3": - version: 0.3.3 - resolution: "oniguruma-to-js@npm:0.3.3" - checksum: 10c0/98936af22e83369690fbc47f0b5e74775d7f9b305b481706f3e54c38e61920fab23be73c6c832586adcf2d0f81cfead0312e5dad506b38a4390003d4c8e7e269 + regex: "npm:^4.3.2" + checksum: 10c0/47d8a4089b1fd0ae4b9781907a92222ae549756ddb72a177a85fdc3bda8e59ce2840710dd03e448b80c9878aa8f4e14519fccc3652da71fc3e8bc048d5cb6acb languageName: node linkType: hard @@ -8363,6 +8500,13 @@ __metadata: languageName: node linkType: hard +"property-information@npm:^6.0.0": + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -8507,7 +8651,7 @@ __metadata: languageName: node linkType: hard -"regex@npm:4.3.2": +"regex@npm:^4.3.2": version: 4.3.2 resolution: "regex@npm:4.3.2" checksum: 10c0/bbc1dd348f85ce05407a072324b37cf79fe6506c90a66f520091feff6f3be8b2e04696f7cfa464a9de1ca4291c01390c8c090bbebfcea25affc03a38c94dd5dc @@ -8677,25 +8821,25 @@ __metadata: linkType: hard "rollup@npm:^4.20.0": - version: 4.21.2 - resolution: "rollup@npm:4.21.2" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.21.2" - "@rollup/rollup-android-arm64": "npm:4.21.2" - "@rollup/rollup-darwin-arm64": "npm:4.21.2" - "@rollup/rollup-darwin-x64": "npm:4.21.2" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.21.2" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.21.2" - "@rollup/rollup-linux-arm64-gnu": "npm:4.21.2" - "@rollup/rollup-linux-arm64-musl": "npm:4.21.2" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.21.2" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.21.2" - "@rollup/rollup-linux-s390x-gnu": "npm:4.21.2" - "@rollup/rollup-linux-x64-gnu": "npm:4.21.2" - "@rollup/rollup-linux-x64-musl": "npm:4.21.2" - "@rollup/rollup-win32-arm64-msvc": "npm:4.21.2" - "@rollup/rollup-win32-ia32-msvc": "npm:4.21.2" - "@rollup/rollup-win32-x64-msvc": "npm:4.21.2" + version: 4.21.3 + resolution: "rollup@npm:4.21.3" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.21.3" + "@rollup/rollup-android-arm64": "npm:4.21.3" + "@rollup/rollup-darwin-arm64": "npm:4.21.3" + "@rollup/rollup-darwin-x64": "npm:4.21.3" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.21.3" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.21.3" + "@rollup/rollup-linux-arm64-gnu": "npm:4.21.3" + "@rollup/rollup-linux-arm64-musl": "npm:4.21.3" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.21.3" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.21.3" + "@rollup/rollup-linux-s390x-gnu": "npm:4.21.3" + "@rollup/rollup-linux-x64-gnu": "npm:4.21.3" + "@rollup/rollup-linux-x64-musl": "npm:4.21.3" + "@rollup/rollup-win32-arm64-msvc": "npm:4.21.3" + "@rollup/rollup-win32-ia32-msvc": "npm:4.21.3" + "@rollup/rollup-win32-x64-msvc": "npm:4.21.3" "@types/estree": "npm:1.0.5" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -8735,7 +8879,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/c9d97f7a21cde110371b2e890a31a996fee09b81e639e79372b962a9638ae653d2d24186b94632fc5dfab8a0582e1d0639dfe34b8b75051facd86915a9585a5f + checksum: 10c0/a9f98366a451f1302276390de9c0c59b464d680946410f53c14e7057fa84642efbe05eca8d85076962657955d77bb4a2d2b6dd8b70baf58c3c4b56f565d804dd languageName: node linkType: hard @@ -8803,6 +8947,13 @@ __metadata: languageName: node linkType: hard +"semver-regex@npm:^4": + version: 4.0.5 + resolution: "semver-regex@npm:4.0.5" + checksum: 10c0/c270eda133691dfaab90318df995e96222e4c26c47b17f7c8bd5e5fe88b81ed67b59695fe27546e0314b0f0423c7faed1f93379ad9db47c816df2ddf770918ff + languageName: node + linkType: hard + "semver@npm:^5.6.0": version: 5.7.2 resolution: "semver@npm:5.7.2" @@ -8862,14 +9013,17 @@ __metadata: languageName: node linkType: hard -"shiki@npm:1.16.3, shiki@npm:^1.13.0": - version: 1.16.3 - resolution: "shiki@npm:1.16.3" +"shiki@npm:1.17.6, shiki@npm:^1.13.0": + version: 1.17.6 + resolution: "shiki@npm:1.17.6" dependencies: - "@shikijs/core": "npm:1.16.3" - "@shikijs/vscode-textmate": "npm:^9.2.0" + "@shikijs/core": "npm:1.17.6" + "@shikijs/engine-javascript": "npm:1.17.6" + "@shikijs/engine-oniguruma": "npm:1.17.6" + "@shikijs/types": "npm:1.17.6" + "@shikijs/vscode-textmate": "npm:^9.2.2" "@types/hast": "npm:^3.0.4" - checksum: 10c0/fef43b0bbd3bf95d14265a12b27653b8d43753a597d7973e1aefc0f1ced7f701686eee77cee3fdf7d0bf11d8520165edb9fc0c6d87c92955607aafe526c590c4 + checksum: 10c0/2c6fd1efde7f6010685a56b048ee59e357361452bfeb234ae5226e4d6030f8d55fba6dae6b75e32c538e2c7998bbe5ce7639e476823dda82d90ef1cda27f8268 languageName: node linkType: hard @@ -8957,6 +9111,13 @@ __metadata: languageName: node linkType: hard +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 + languageName: node + linkType: hard + "sparkles@npm:^2.1.0": version: 2.1.0 resolution: "sparkles@npm:2.1.0" @@ -9066,8 +9227,8 @@ __metadata: linkType: hard "streamx@npm:^2.12.0, streamx@npm:^2.12.5, streamx@npm:^2.13.2, streamx@npm:^2.14.0": - version: 2.20.0 - resolution: "streamx@npm:2.20.0" + version: 2.20.1 + resolution: "streamx@npm:2.20.1" dependencies: bare-events: "npm:^2.2.0" fast-fifo: "npm:^1.3.2" @@ -9076,7 +9237,7 @@ __metadata: dependenciesMeta: bare-events: optional: true - checksum: 10c0/135d94dca174c0d169416d28449cd6dd6f2c9bb9cf380f73072ba2ec08ab042748b60f522b94badbaef721328313a885a4b6c51c9d4fa6f3538da733c3399831 + checksum: 10c0/34ffa2ee9465d70e18c7e2ba70189720c166d150ab83eb7700304620fa23ff42a69cb37d712ea4b5fc6234d8e74346a88bb4baceb873c6b05e52ac420f8abb4d languageName: node linkType: hard @@ -9111,6 +9272,16 @@ __metadata: languageName: node linkType: hard +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -9136,13 +9307,6 @@ __metadata: languageName: node linkType: hard -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - "strip-final-newline@npm:^4.0.0": version: 4.0.0 resolution: "strip-final-newline@npm:4.0.0" @@ -9292,11 +9456,11 @@ __metadata: linkType: hard "text-decoder@npm:^1.1.0": - version: 1.1.1 - resolution: "text-decoder@npm:1.1.1" + version: 1.2.0 + resolution: "text-decoder@npm:1.2.0" dependencies: b4a: "npm:^1.6.4" - checksum: 10c0/e527d05454b59c0fa77456495de68c88e560a122de3dd28b3ebdbf81828aabeaa7e9bb8054b9eb52bc5029ccb5899ad04f466cbba3c53b2685270599d1710cee + checksum: 10c0/398171bef376e06864cd6ba24e0787cc626bebc84a1bbda758d06a6e9b729cc8613f7923dd0d294abd88e8bb5cd7261aad5fda7911fb87253fe71b2b5ac6e507 languageName: node linkType: hard @@ -9321,7 +9485,7 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.8.0": +"tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c @@ -9431,8 +9595,8 @@ __metadata: linkType: hard "tsx@npm:^4.19.0": - version: 4.19.0 - resolution: "tsx@npm:4.19.0" + version: 4.19.1 + resolution: "tsx@npm:4.19.1" dependencies: esbuild: "npm:~0.23.0" fsevents: "npm:~2.3.3" @@ -9442,7 +9606,7 @@ __metadata: optional: true bin: tsx: dist/cli.mjs - checksum: 10c0/d14463a78067c6db84c677b79b14861de6d7f6fb0ffa5727cc500c4552459e936395a3854ad0112af0fd7b263bcedd62ce3929b036188eb10cd9902a607ffe34 + checksum: 10c0/cbea9baf57e7406fa0ecc2c03b9bb2501ee740dc28c938f949180a646a28e5d65e7cccbfba340508923bfd45e90320ef9eef7f815cae4515b6ef2ee429edc7ee languageName: node linkType: hard @@ -9893,24 +10057,23 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" +"vite-node@npm:2.1.1": + version: 2.1.1 + resolution: "vite-node@npm:2.1.1" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10c0/affcc58ae8d45bce3e8bc3b5767acd57c24441634e2cd967cf97f4e5ed2bcead1714b60150cdf7ee153ebad47659c5cd419883207e1a95b69790331e3243749f + checksum: 10c0/8a8b958df3d48af915e07e7efb042ee4c036ca0b73d2c411dc29254fd3533ada0807ce5096d8339894d3e786418b7d1a9c4ae02718c6aca11b5098de2b14c336 languageName: node linkType: hard "vite@npm:^5, vite@npm:^5.0.0, vite@npm:^5.4.1": - version: 5.4.3 - resolution: "vite@npm:5.4.3" + version: 5.4.5 + resolution: "vite@npm:5.4.5" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -9947,7 +10110,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/7afe601bcba82f81980c718fc171ba8f0c45e3bffaeb7ef831b64b84e396f963c3c87818b74da4c8e817d1bce1c179f1efae3bcb14d2e94b4eb635071722c8f2 + checksum: 10c0/89c6459452fc238cdf8e99681b30996af171c9c557af476f96408a18a639fb5a0a6ee2d2257e005b21dc284edceb604595c34920cd4a007ad18f7ebafb654c76 languageName: node linkType: hard @@ -9996,33 +10159,33 @@ __metadata: linkType: hard "vitest@npm:^2": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" + version: 2.1.1 + resolution: "vitest@npm:2.1.1" + dependencies: + "@vitest/expect": "npm:2.1.1" + "@vitest/mocker": "npm:2.1.1" + "@vitest/pretty-format": "npm:^2.1.1" + "@vitest/runner": "npm:2.1.1" + "@vitest/snapshot": "npm:2.1.1" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" + vite-node: "npm:2.1.1" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 + "@vitest/browser": 2.1.1 + "@vitest/ui": 2.1.1 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -10040,7 +10203,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10c0/b4e6cca00816bf967a8589111ded72faa12f92f94ccdd0dcd0698ffcfdfc52ec662753f66b387549c600ac699b993fd952efbd99dc57fcf4d1c69a2f1022b259 + checksum: 10c0/77a67092338613376dadd8f6f6872383db8409402ce400ac1de48efd87a7214183e798484a3eb2310221c03554e37a00f9fdbc91e49194e7c68e009a5589f494 languageName: node linkType: hard @@ -10069,21 +10232,21 @@ __metadata: languageName: node linkType: hard -"vue@npm:^3, vue@npm:^3.4.38, vue@npm:^3.5.3": - version: 3.5.4 - resolution: "vue@npm:3.5.4" +"vue@npm:^3, vue@npm:^3.4.38, vue@npm:^3.5.4": + version: 3.5.5 + resolution: "vue@npm:3.5.5" dependencies: - "@vue/compiler-dom": "npm:3.5.4" - "@vue/compiler-sfc": "npm:3.5.4" - "@vue/runtime-dom": "npm:3.5.4" - "@vue/server-renderer": "npm:3.5.4" - "@vue/shared": "npm:3.5.4" + "@vue/compiler-dom": "npm:3.5.5" + "@vue/compiler-sfc": "npm:3.5.5" + "@vue/runtime-dom": "npm:3.5.5" + "@vue/server-renderer": "npm:3.5.5" + "@vue/shared": "npm:3.5.5" peerDependencies: typescript: "*" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/66e1dd6085d896a9c8824924b693acf3316c9ed98fbd1142d9ac0be1829a6ae9a07cd401bd64c832df6603d7cd2dec462c9093bb910ed266435a4e2d61541350 + checksum: 10c0/f97c9d21dad9d66ba15e9fb36d0eb30c9d17c59fa965641540379e2cd51303b4165fd9144dfeeedf6763b86fac85b1ea3794eb65028ea6de653c70363e7ca44b languageName: node linkType: hard @@ -10294,7 +10457,7 @@ __metadata: languageName: node linkType: hard -"zwitch@npm:^2.0.0": +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4" checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e