{"id":13726963,"url":"https://github.com/toss/yarn-plugin-workspace-since","last_synced_at":"2025-04-04T13:07:45.861Z","repository":{"id":41660214,"uuid":"347317126","full_name":"toss/yarn-plugin-workspace-since","owner":"toss","description":"모노레포를 위한 yarn berry plugin","archived":false,"fork":false,"pushed_at":"2024-12-02T12:12:39.000Z","size":153253,"stargazers_count":186,"open_issues_count":0,"forks_count":13,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-03-26T22:07:21.636Z","etag":null,"topics":["berry","monorepo","yarn"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-13T08:39:00.000Z","updated_at":"2025-01-26T09:24:47.000Z","dependencies_parsed_at":"2025-02-13T17:11:11.215Z","dependency_job_id":"3c393283-e24a-45bc-a28c-355a137f087f","html_url":"https://github.com/toss/yarn-plugin-workspace-since","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toss%2Fyarn-plugin-workspace-since","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toss%2Fyarn-plugin-workspace-since/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toss%2Fyarn-plugin-workspace-since/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toss%2Fyarn-plugin-workspace-since/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toss","download_url":"https://codeload.github.com/toss/yarn-plugin-workspace-since/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247175302,"owners_count":20896260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["berry","monorepo","yarn"],"created_at":"2024-08-03T01:03:33.394Z","updated_at":"2025-04-04T13:07:45.824Z","avatar_url":"https://github.com/toss.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# yarn-plugin-workspace-since\n\nsince는 [yarn berry](https://github.com/yarnpkg/berry) workspace 플러그인입니다.\n\n## Installation\n\n### Yarn 버전 4를 사용하는 경우\n\n```shell\n$ yarn plugin import https://raw.githubusercontent.com/toss/yarn-plugin-workspace-since/main/bundles/%40yarnpkg/plugin-workspace-since.js\n```\n\n### Yarn 버전 2, 3을 사용하는 경우\n\nsince는 [@yarn/plugin-workspace-tools](https://github.com/yarnpkg/berry/tree/master/packages/plugin-workspace-tools)에 의존합니다. 따라서 먼저 workspace-tools를 설치해야 합니다.\n\n```bash\n$ yarn plugin import https://raw.githubusercontent.com/toss/yarn-plugin-workspace-since/c9967e8349731e464813f54ca95c0614263f59a9/bundles/%40yarnpkg/plugin-workspace-since.js\n```\n\n## Usage\n\n### `run`\n\n주어진 두 git revision 사이에 변경점이 있는 workspace에 대해서 주어진 명령어를 실행합니다. 변경점은 파생됩니다. \"A\" workspace에 의존성을 가진 \"B\" workspace가 있을때 \"A\", \"B\" 모두에 대해서 `run`이 실행됩니다.\n\n변경된 workspace가 없다면 아무것도 실행하지 않습니다.\n\n```bash\n$ yarn workspaces since run \u003ccommand\u003e \u003cfrom\u003e [to]\n```\n\n#### Arguments\n\n- `command`: 실행할 명령어를 지정합니다. `command`를 `test`로 지정한다면, 각 workspace 디렉토리에서 `yarn test`를 실행합니다. `package.json`의 `scripts` 에 지정되지 않은 명령어도 실행합니다. 지정한 명령어가 존재하지 않는 경우, 무시합니다.\n- `from`: 시작 리비전입니다.\n- `to`: 끝 리비전입니다. 지정하지 않으면 `HEAD`가 기본값입니다.\n\n#### Options\n\n- `--jobs`: 주어진 숫자만큼 `run`을 병렬적으로 실행합니다. 지정하지 않으면 `1`이 기본값입니다.\n- `--include`: 변경된 workspace 중 `run`을 실행할 workspace를 glob pattern으로 지정합니다. 지정하지 않으면 모든 workspace를 대상으로 합니다.\n- `--ignore`: 변경사항이 발생해도 무시할 workspace를 glob pattern으로 지정합니다. 무시된 workspace의 변경점은 파생되지 않습니다.\n- `--ignore-errors`: `true`로 지정하면 `run` 실행 중 에러가 발생했을 때에도 무시하고 실행을 계속합니다.\n\n#### Examples\n\n##### `main` 브랜치와 `develop` 사이에 변경이 있는 workspace에 대해 `test` 명령어 실행\n\n```bash\n$ yarn workspaces since run test main develop\n```\n\n##### `HEAD` 바로 이전 커밋과 `HEAD` 사이에 변경이 있는 workspace에 대해 `npm publish` 실행\n\n```bash\n$ yarn workspaces since run 'npm publish' $(git rev-parse HEAD~1)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoss%2Fyarn-plugin-workspace-since","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoss%2Fyarn-plugin-workspace-since","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoss%2Fyarn-plugin-workspace-since/lists"}