Compare commits

..
1 Commits
Author SHA1 Message Date
Peter Evans 2ef8501772 refactor: replace uuid dep with Node.js built-in crypto.randomUUID
Replace the third-party `uuid` package with the native `crypto.randomUUID()`
function available in Node.js, reducing the bundle size and external
dependencies.

- Remove `uuid` from `dependencies` in `package.json`
- Replace `import {v4 as uuidv4} from 'uuid'` with `import {randomUUID} from 'crypto'` in `src/create-or-update-branch.ts`
- Replace all `uuidv4()` calls with `randomUUID()` in `__test__/create-or-update-branch.int.test.ts`
- Rebuild `dist/index.js`, removing ~680 lines of bundled `uuid` library code
- Update `package-lock.json` to reflect removed dependency
2026-05-06 10:30:23 +00:00
11 changed files with 1649 additions and 2449 deletions
-4
View File
@@ -5,8 +5,6 @@ updates:
schedule:
interval: "monthly"
day: "tuesday"
cooldown:
default-days: 3
labels:
- "dependencies"
groups:
@@ -19,8 +17,6 @@ updates:
schedule:
interval: "monthly"
day: "tuesday"
cooldown:
default-days: 3
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
+1 -1
View File
@@ -6,7 +6,7 @@ jobs:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- uses: peter-evans/enable-pull-request-automerge@a660677d5469627102a1c1e11409dd063606628d # v3.0.0
- uses: peter-evans/enable-pull-request-automerge@v3
with:
token: ${{ secrets.ACTIONS_BOT_TOKEN }}
pull-request-number: ${{ github.event.pull_request.number }}
+13 -13
View File
@@ -19,8 +19,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: package.json
cache: npm
@@ -29,11 +29,11 @@ jobs:
- run: npm run format-check
- run: npm run lint
- run: npm run test
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- uses: actions/upload-artifact@v7
with:
name: dist
path: dist
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- uses: actions/upload-artifact@v7
with:
name: action.yml
path: action.yml
@@ -46,16 +46,16 @@ jobs:
matrix:
target: [built, committed]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v6
with:
ref: main
- if: matrix.target == 'built' || github.event_name == 'pull_request'
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
uses: actions/download-artifact@v8
with:
name: dist
path: dist
- if: matrix.target == 'built' || github.event_name == 'pull_request'
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
uses: actions/download-artifact@v8
with:
name: action.yml
path: .
@@ -80,7 +80,7 @@ jobs:
branch: ci-test-${{ matrix.target }}-${{ github.sha }}
- name: Close Pull
uses: peter-evans/close-pull@a192af8d70f2d49c49643134605c3b73d4f80fae # v3.0.1
uses: peter-evans/close-pull@v3
with:
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
comment: '[CI] test ${{ matrix.target }}'
@@ -92,7 +92,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Find Comment
uses: peter-evans/find-comment@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # v4.0.0
uses: peter-evans/find-comment@v4
id: fc
with:
issue-number: ${{ github.event.number }}
@@ -101,7 +101,7 @@ jobs:
- if: steps.fc.outputs.comment-id == ''
name: Create comment
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
uses: peter-evans/create-or-update-comment@v5
with:
issue-number: ${{ github.event.number }}
body: |
@@ -118,13 +118,13 @@ jobs:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- uses: actions/checkout@v6
- uses: actions/download-artifact@v8
with:
name: dist
path: dist
- name: Create Pull Request
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.ACTIONS_BOT_TOKEN }}
commit-message: 'build: update distribution'
+2 -2
View File
@@ -6,7 +6,7 @@ jobs:
createPullRequest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v6
- name: Make changes to pull request
run: date +%s > report.txt
@@ -42,7 +42,7 @@ jobs:
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Add reaction
uses: peter-evans/create-or-update-comment@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
uses: peter-evans/create-or-update-comment@v5
with:
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Slash Command Dispatch
uses: peter-evans/slash-command-dispatch@9bdcd7914ec1b75590b790b844aa3b8eee7c683a # v5.0.2
uses: peter-evans/slash-command-dispatch@v5
with:
token: ${{ secrets.ACTIONS_BOT_TOKEN }}
config: >
+3 -8
View File
@@ -18,7 +18,7 @@ jobs:
tag:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v6
with:
token: ${{ secrets.ACTIONS_BOT_TOKEN }}
fetch-depth: 0
@@ -27,11 +27,6 @@ jobs:
git config user.name actions-bot
git config user.email actions-bot@users.noreply.github.com
- name: Tag new target
run: git tag -f "${INPUT_MAIN_VERSION}" "${INPUT_TARGET}"
env:
INPUT_MAIN_VERSION: ${{ github.event.inputs.main_version }}
INPUT_TARGET: ${{ github.event.inputs.target }}
run: git tag -f ${{ github.event.inputs.main_version }} ${{ github.event.inputs.target }}
- name: Push new tag
run: git push origin "${INPUT_MAIN_VERSION}" --force
env:
INPUT_MAIN_VERSION: ${{ github.event.inputs.main_version }}
run: git push origin ${{ github.event.inputs.main_version }} --force
+1 -1
View File
@@ -10,7 +10,7 @@ if [[ "$(docker images -q $IMAGE 2> /dev/null)" == "" || $ARG1 == "build" ]]; th
cat > Dockerfile << EOF
FROM node:20-alpine
RUN apk --no-cache add git git-daemon
RUN npm install jest@30 jest-environment-jsdom@30 --global
RUN npm install jest jest-environment-jsdom --global
WORKDIR /cpr
COPY __test__/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
+4 -3
View File
@@ -36149,9 +36149,6 @@ function validateConcurrency(concurrency) {
/******/ __nccwpck_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/asset-relocator-loader */
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
/******/
/******/ /* webpack/runtime/create fake namespace object */
/******/ (() => {
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
@@ -36232,6 +36229,10 @@ function validateConcurrency(concurrency) {
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/compat */
/******/
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
/******/
/******/ /* webpack/runtime/require chunk loading */
/******/ (() => {
/******/ // no baseURI
+1 -1
View File
@@ -3,7 +3,7 @@ module.exports = {
moduleFileExtensions: ['js', 'ts'],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
+1613 -2406
View File
File diff suppressed because it is too large Load Diff
+10 -9
View File
@@ -44,23 +44,24 @@
"p-limit": "^6.2.0"
},
"devDependencies": {
"@types/jest": "^30.0.0",
"@types/jest": "^29.5.14",
"@types/node": "^18.19.130",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@vercel/ncc": "^0.45.0",
"@vercel/ncc": "^0.38.4",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.10.1",
"eslint-plugin-github": "^4.10.2",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^27.9.0",
"eslint-plugin-prettier": "^5.5.6",
"jest": "^30.5.0",
"jest-environment-jsdom": "^30.5.0",
"js-yaml": "^5.4.1",
"prettier": "^3.9.6",
"ts-jest": "^29.4.12",
"eslint-plugin-prettier": "^5.5.5",
"jest": "^29.7.0",
"jest-circus": "^29.7.0",
"jest-environment-jsdom": "^30.3.0",
"js-yaml": "^4.1.1",
"prettier": "^3.8.3",
"ts-jest": "^29.4.9",
"typescript": "^5.9.3",
"undici": "^6.29.0"
"undici": "^6.25.0"
}
}