The "Sync Labels" workflow was originally developed with Arduino firmware repositories in mind. Those projects don't have a lot of existing infrastructure and, since they are intended to be very approachable, the impact of adding additional non-firmware files or folders (especially in the root) must be carefully considered. In that context, a self-contained workflow is desirable. However, the situation is different in the inherently more complex and infrastructure rich tooling projects, which are typically consumed only as a binary by users. For this reason, an alternative standardized version of the "Sync Labels" workflow was produced, which utilizes npm to manage its tool dependencies. The code dependencies of this project and the code infrastructure are already managed via npm, which means the switch to this superior version of the workflow can be made without the need to add any additional infrastructure. This provides some significant benefits: - Controlled updates via Dependabot PRs instead of being subject to immediate breakage resulting from a new tool release - Enables automated vulnerability alerts This is especially important for the github-label-sync tool, since it is making irreversible writes to the GitHub repository.
48 lines
1.2 KiB
JSON
48 lines
1.2 KiB
JSON
{
|
|
"name": "setup-task",
|
|
"private": true,
|
|
"description": "Setup Task action",
|
|
"main": "lib/main.js",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/arduino/setup-task.git"
|
|
},
|
|
"keywords": [
|
|
"actions",
|
|
"taskfile",
|
|
"task",
|
|
"setup"
|
|
],
|
|
"author": "Arduino",
|
|
"license": "GPL-3.0",
|
|
"dependencies": {
|
|
"@actions/core": "^1.10.0",
|
|
"@actions/tool-cache": "^2.0.1",
|
|
"semver": "^7.3.8",
|
|
"typed-rest-client": "^1.8.9"
|
|
},
|
|
"devDependencies": {
|
|
"@actions/io": "^1.1.2",
|
|
"@types/jest": "^28.1.8",
|
|
"@types/node": "^16.18.9",
|
|
"@types/semver": "^7.3.13",
|
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
"@typescript-eslint/parser": "^5.46.1",
|
|
"@vercel/ncc": "^0.36.0",
|
|
"ajv-cli": "^5.0.0",
|
|
"ajv-formats": "^2.1.1",
|
|
"eslint": "^8.29.0",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-airbnb-typescript": "^17.0.0",
|
|
"eslint-config-prettier": "^8.5.0",
|
|
"eslint-plugin-import": "^2.26.0",
|
|
"github-label-sync": "2.2.0",
|
|
"jest": "^28.1.3",
|
|
"jest-circus": "^29.3.1",
|
|
"nock": "^13.2.9",
|
|
"prettier": "^2.8.1",
|
|
"ts-jest": "^28.0.8",
|
|
"typescript": "^4.9.4"
|
|
}
|
|
}
|