memory-journal-mcp 7.0.1 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -66
- package/dist/{chunk-6J4RPJ4I.js → chunk-GR4T3SRW.js} +146 -105
- package/dist/{chunk-ARLH46WS.js → chunk-IWKLHSPU.js} +89 -3
- package/dist/{chunk-2BJHLTYP.js → chunk-ORV7ZZOE.js} +1086 -86
- package/dist/cli.js +30 -4
- package/dist/github-integration-2TFMXHIJ.js +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.js +3 -3
- package/dist/{tools-FFFGXIKN.js → tools-CXR2FEB2.js} +2 -2
- package/package.json +2 -2
- package/skills/README.md +77 -0
- package/skills/autonomous-dev/SKILL.md +56 -0
- package/skills/bin/sync.js +50 -0
- package/skills/bun/SKILL.md +156 -0
- package/skills/github-commander/SKILL.md +1 -1
- package/skills/github-commander/workflows/code-quality-audit.md +7 -5
- package/skills/github-commander/workflows/issue-triage.md +13 -4
- package/skills/github-commander/workflows/milestone-sprint.md +9 -1
- package/skills/github-commander/workflows/perf-audit.md +2 -0
- package/skills/github-commander/workflows/pr-review.md +9 -3
- package/skills/github-commander/workflows/roadmap-kickoff.md +79 -0
- package/skills/github-commander/workflows/security-audit.md +3 -3
- package/skills/github-commander/workflows/update-deps.md +2 -2
- package/skills/gitlab/SKILL.md +115 -0
- package/skills/gitlab/package-lock.json +392 -0
- package/skills/gitlab/package.json +14 -0
- package/skills/gitlab/scripts/gitlab-client.ts +125 -0
- package/skills/gitlab/scripts/gitlab-helper.ts +80 -0
- package/skills/golang/SKILL.md +54 -0
- package/skills/mysql/SKILL.md +30 -0
- package/skills/package.json +48 -0
- package/skills/playwright-standard/SKILL.md +58 -0
- package/skills/playwright-standard/examples/fixtures.ts +66 -0
- package/skills/playwright-standard/examples/type-stubs.d.ts +10 -0
- package/skills/playwright-standard/references/advanced-scenarios.md +59 -0
- package/skills/playwright-standard/references/infrastructure.md +43 -0
- package/skills/postgres/SKILL.md +33 -0
- package/skills/react-best-practices/AGENTS.md +2883 -0
- package/skills/react-best-practices/README.md +127 -0
- package/skills/react-best-practices/SKILL.md +138 -0
- package/skills/react-best-practices/metadata.json +17 -0
- package/skills/react-best-practices/rules/_sections.md +46 -0
- package/skills/react-best-practices/rules/_template.md +28 -0
- package/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/react-best-practices/rules/async-api-routes.md +35 -0
- package/skills/react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/react-best-practices/rules/async-dependencies.md +48 -0
- package/skills/react-best-practices/rules/async-parallel.md +24 -0
- package/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/react-best-practices/rules/bundle-conditional.md +37 -0
- package/skills/react-best-practices/rules/bundle-defer-third-party.md +48 -0
- package/skills/react-best-practices/rules/bundle-dynamic-imports.md +34 -0
- package/skills/react-best-practices/rules/bundle-preload.md +44 -0
- package/skills/react-best-practices/rules/client-event-listeners.md +78 -0
- package/skills/react-best-practices/rules/client-localstorage-schema.md +74 -0
- package/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/react-best-practices/rules/js-batch-dom-css.md +110 -0
- package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/react-best-practices/rules/js-cache-storage.md +68 -0
- package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/react-best-practices/rules/js-length-check-first.md +50 -0
- package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/react-best-practices/rules/rendering-activity.md +24 -0
- package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +38 -0
- package/skills/react-best-practices/rules/rendering-conditional-render.md +32 -0
- package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/react-best-practices/rules/rendering-hoist-jsx.md +36 -0
- package/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +72 -0
- package/skills/react-best-practices/rules/rendering-hydration-suppress-warning.md +26 -0
- package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/react-best-practices/rules/rerender-functional-setstate.md +77 -0
- package/skills/react-best-practices/rules/rerender-lazy-state-init.md +56 -0
- package/skills/react-best-practices/rules/rerender-memo-with-default-value.md +36 -0
- package/skills/react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/react-best-practices/rules/server-serialization.md +38 -0
- package/skills/rust/SKILL.md +86 -0
- package/skills/shadcn-ui/SKILL.md +72 -0
- package/skills/skill-builder/SKILL.md +457 -0
- package/skills/skill-builder/checklist.md +65 -0
- package/skills/sqlite/SKILL.md +38 -0
- package/skills/typescript/SKILL.md +453 -0
- package/skills/typescript/assets/eslint-template.js +102 -0
- package/skills/typescript/assets/tsconfig-template.json +45 -0
- package/skills/typescript/references/enterprise-patterns.md +531 -0
- package/skills/typescript/references/generics.md +493 -0
- package/skills/typescript/references/nestjs-integration.md +579 -0
- package/skills/typescript/references/react-integration.md +616 -0
- package/skills/typescript/references/toolchain.md +547 -0
- package/skills/typescript/references/type-system.md +481 -0
- package/skills/vitest-standard/SKILL.md +82 -0
- package/skills/vitest-standard/examples/service-mock.ts +60 -0
- package/skills/vitest-standard/examples/tdd-calculator.ts +41 -0
- package/skills/vitest-standard/examples/type-stubs.d.ts +18 -0
- package/skills/vitest-standard/references/async-and-errors.md +58 -0
- package/skills/vitest-standard/references/coverage-and-config.md +53 -0
- package/skills/vitest-standard/references/mocking.md +61 -0
- package/skills/vitest-standard/references/tdd-patterns.md +60 -0
- package/dist/github-integration-PDRLXKGM.js +0 -1
- package/skills/github-commander/workflows/full-audit.md +0 -134
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Translate an approved epic implementation plan into an agent-actionable GitHub Kanban structure via Milestones and tracked Issues.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /roadmap-kickoff
|
|
6
|
+
|
|
7
|
+
**Objective**: Translate an approved architectural or implementation plan into an agent-actionable GitHub Kanban structure. This establishes an **Agent Coordination Center** where large epics are safely chunked into distinct, trackable threads.
|
|
8
|
+
|
|
9
|
+
## Context & Rationale
|
|
10
|
+
|
|
11
|
+
When an implementation plan requires multiple agent sessions (e.g., crossing token limits, context constraints, or independent phase checkpoints), we use the GitHub Kanban board + Memory Journal MCP as the synchronization layer.
|
|
12
|
+
|
|
13
|
+
By anchoring every implementation task to a Milestone and throwing it in the Project Backlog:
|
|
14
|
+
|
|
15
|
+
1. **Context Integrity**: A fresh agent session can pull down `memory://kanban/{project_number}` or `memory://github/milestones` and immediately know what is up next.
|
|
16
|
+
2. **Parallel Work**: The user can spin up parallel agents operating on distinct project columns/issues.
|
|
17
|
+
3. **Decoupling**: The central plan remains the source of truth, while GitHub acts as the execution layer.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- An agreed-upon **Implementation Plan** or Epic (e.g. `docs/epic-implementation-plan.md`).
|
|
24
|
+
- A `gh` CLI token verified to possess the `project` scope (req. for adding to Projects v2 columns). If missing, the user runs: `gh auth refresh -s project`.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Workflow Steps
|
|
29
|
+
|
|
30
|
+
### 1. Establish the Milestone
|
|
31
|
+
|
|
32
|
+
Determine the version tag or epic codename from the implementation plan. Create the milestone to anchor the issues.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
// turbo
|
|
36
|
+
gh api repos/{owner}/{repo}/milestones -F title="Epic Name (vX.X.X)" -F state="open" -F description="Implementation roadmap..."
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 2. Actionable Issue Formulation
|
|
40
|
+
|
|
41
|
+
Break the implementation plan down into discrete, atomic tracking issues based on the deliverables/phases.
|
|
42
|
+
|
|
43
|
+
- Each issue body **must** contain enough context (deliverables, acceptance rules, scope) so that an entirely new agent session could pick it up blindly and succeed.
|
|
44
|
+
|
|
45
|
+
### 3. Generate Tracking Issues
|
|
46
|
+
|
|
47
|
+
Use the explicit Milestone Title (not the ID) to tie all created issues firmly to the Epic.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
// turbo
|
|
51
|
+
gh issue create --repo {owner}/{repo} --title "Feat: Phase X - ..." --body "Full context..." --milestone "Epic Name (vX.X.X)"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 4. Backlog Placement (Crucial)
|
|
55
|
+
|
|
56
|
+
By default, newly created issues might land unmapped in a Project's "No Status" bucket. You must explicitly move them into the `Backlog`.
|
|
57
|
+
|
|
58
|
+
**A. Retrieve Node IDs:**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
// turbo
|
|
62
|
+
gh project view {project_number} --owner {owner} --format json -q .id
|
|
63
|
+
gh project field-list {project_number} --owner {owner} --format json
|
|
64
|
+
gh project item-list {project_number} --owner {owner} --format json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
_Identify the: (1) Project ID, (2) Status Field ID, (3) 'Backlog' Option ID, and (4) The newly created Item Node IDs._
|
|
68
|
+
|
|
69
|
+
**B. Update Item Status:**
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
// turbo
|
|
73
|
+
gh project item-edit --id {ITEM_NODE_ID} --project-id {PROJECT_NODE_ID} --field-id {STATUS_FIELD_ID} --single-select-option-id {BACKLOG_OPTION_ID}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 5. Orchestration Handoff
|
|
77
|
+
|
|
78
|
+
- Use the **memory-journal-mcp** server to record a `create_entry` (or `team_create_entry`). Include the milestone link, total breakdown of GitHub issues, and explicitly record the `roadmap_anchored` state, storing the newly registered Project and Board Node IDs.
|
|
79
|
+
- Daisy-chain launch (or notify the human to launch) the Sprint Orchestrator by issuing the command: `"Run /milestone-sprint targeting Milestone <X>"`. The orchestration node will pull directly from the initialized Kanban backlog based on the anchored Project Board metrics.
|
|
@@ -102,8 +102,8 @@ Perform static analysis of the source code for common vulnerability patterns:
|
|
|
102
102
|
boundary checks
|
|
103
103
|
4. **Prototype pollution** — unchecked `Object.assign()`, deep merge without
|
|
104
104
|
prototype guards
|
|
105
|
-
5. **Input validation gaps** —
|
|
106
|
-
API boundaries
|
|
105
|
+
5. **Input validation gaps** — blind-casting external payloads without validation,
|
|
106
|
+
overly permissive schemas, missing `.strict()` on API boundaries (ALWAYS use Zod)
|
|
107
107
|
6. **Authentication bypass** — endpoints accessible without auth checks
|
|
108
108
|
7. **Error disclosure** — stack traces, database errors, or internal structure
|
|
109
109
|
leaked in responses
|
|
@@ -114,7 +114,7 @@ If GitHub Actions workflows exist (`.github/workflows/`):
|
|
|
114
114
|
|
|
115
115
|
1. **Action pinning** — verify `uses:` references use SHA commits, not tags
|
|
116
116
|
2. **Secret handling** — verify secrets use `${{ secrets.* }}`, not inline values
|
|
117
|
-
3. **Security gates** — verify security scans hard-fail (no `continue-on-error: true`)
|
|
117
|
+
3. **Security gates** — verify security scans (e.g., Docker Scout, Trivy, CodeQL, npm audit) hard-fail on vulnerabilities (no `continue-on-error: true`)
|
|
118
118
|
4. **Permissions** — verify workflow `permissions` follows least privilege
|
|
119
119
|
|
|
120
120
|
## Phase 8 — Findings Report
|
|
@@ -63,8 +63,8 @@ Run the standard validation gates from SKILL.md:
|
|
|
63
63
|
|
|
64
64
|
1. **Gate 1**: Lint + Typecheck (`PROJECT_LINT_CMD`, `PROJECT_TYPECHECK_CMD`)
|
|
65
65
|
2. **Gate 2**: Build (`PROJECT_BUILD_CMD`)
|
|
66
|
-
3. **Gate 3**: Tests (`PROJECT_TEST_CMD`)
|
|
67
|
-
4. **Gate 4**: E2E Tests (`PROJECT_E2E_CMD`)
|
|
66
|
+
3. **Gate 3**: Tests (`PROJECT_TEST_CMD`) _(Agent Note: Ensure OutputCharacterCount >= 10000 on test execution)_
|
|
67
|
+
4. **Gate 4**: E2E Tests (`PROJECT_E2E_CMD`) _(Agent Note: Ensure OutputCharacterCount >= 10000)_
|
|
68
68
|
|
|
69
69
|
Journal each gate result. Fix any failures caused by dependency updates.
|
|
70
70
|
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitlab
|
|
3
|
+
description: |
|
|
4
|
+
Specialized assistant skill for managing repositories and CI/CD in GitLab.
|
|
5
|
+
Activate when the user asks about GitLab projects or repositories, wants to
|
|
6
|
+
see merge requests or pipelines, needs to search code or files, asks about
|
|
7
|
+
CI/CD status or job logs, or wants to browse repository contents.
|
|
8
|
+
Mentions "GitLab", "MR", "pipeline", or "CI/CD".
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# GitLab Skill
|
|
12
|
+
|
|
13
|
+
You are a specialized assistant for managing repositories and CI/CD in GitLab. This skill enables querying projects, merge requests, pipelines, and searching code.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
Before using this skill, ensure:
|
|
18
|
+
|
|
19
|
+
- The `~/.claude/.env` file exists with `GITLAB_API_TOKEN` (or it exists in the active workspace's `.env`).
|
|
20
|
+
- A recent version of Bun/Node is installed.
|
|
21
|
+
- Network access to the GitLab instance.
|
|
22
|
+
|
|
23
|
+
## Skill Structure
|
|
24
|
+
|
|
25
|
+
```text
|
|
26
|
+
skills/gitlab/
|
|
27
|
+
├── SKILL.md # This file
|
|
28
|
+
├── package.json # TS dependencies (@gitbeaker/rest)
|
|
29
|
+
└── scripts/
|
|
30
|
+
├── gitlab-client.ts # Core GitLab REST API client
|
|
31
|
+
└── gitlab-helper.ts # High-level repository operations
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Quick Start
|
|
35
|
+
|
|
36
|
+
You can use the helper script via a quick TS sandbox, utilizing `bun` if available, or straight Node via `tsx`.
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
import { GitLabHelper } from './skills/gitlab/scripts/gitlab-helper.js'
|
|
40
|
+
|
|
41
|
+
const helper = new GitLabHelper()
|
|
42
|
+
|
|
43
|
+
// Verify connection
|
|
44
|
+
const user = await helper.connect()
|
|
45
|
+
|
|
46
|
+
// List projects
|
|
47
|
+
const projects = await helper.listProjects({ membership: true })
|
|
48
|
+
|
|
49
|
+
// Get a specific project
|
|
50
|
+
const project = await helper.getProject('group/project-name')
|
|
51
|
+
|
|
52
|
+
// List open merge requests
|
|
53
|
+
const mrs = await helper.listMergeRequests('group/project', 'opened')
|
|
54
|
+
|
|
55
|
+
// List pipelines
|
|
56
|
+
const pipelines = await helper.listPipelines('group/project', 'success')
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Common Tasks
|
|
60
|
+
|
|
61
|
+
### 1. Check Pipeline Status
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const pipeline = await helper.getLatestPipeline('group/project', 'main')
|
|
65
|
+
console.log(`Pipeline #${pipeline.id}: ${pipeline.status}`)
|
|
66
|
+
|
|
67
|
+
if (pipeline.status === 'failed') {
|
|
68
|
+
const jobs = await helper.getPipelineJobs('group/project', pipeline.id)
|
|
69
|
+
for (const job of jobs) {
|
|
70
|
+
if (job.status === 'failed') {
|
|
71
|
+
const log = await helper.getJobLog('group/project', job.id)
|
|
72
|
+
console.log(log.substring(log.length - 1000))
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 2. Review Merge Requests
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
const mrs = await helper.getAssignedMergeRequests()
|
|
82
|
+
for (const mr of mrs) {
|
|
83
|
+
console.log(`!${mr.iid}: ${mr.title}`)
|
|
84
|
+
console.log(` ${mr.source_branch} -> ${mr.target_branch}`)
|
|
85
|
+
console.log(` Author: ${mr.author.username}`)
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 3. Browse Repository & Search Code
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
// List files in a directory
|
|
93
|
+
const files = await helper.listFiles('group/project', 'src/', 'main')
|
|
94
|
+
for (const f of files) {
|
|
95
|
+
console.log(`${f.type === 'tree' ? '[D]' : '[F]'} ${f.name}`)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Search code
|
|
99
|
+
const results = await helper.searchCode('authenticate_user', 'group/project')
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Error Handling
|
|
103
|
+
|
|
104
|
+
| Error | Cause | Solution |
|
|
105
|
+
| ---------------- | ------------------------ | ------------------------------ |
|
|
106
|
+
| 401 Unauthorized | Invalid token | Check GITLAB_API_TOKEN in .env |
|
|
107
|
+
| 403 Forbidden | No project access | Request project permissions |
|
|
108
|
+
| 404 Not Found | Project/MR doesn't exist | Verify project path |
|
|
109
|
+
|
|
110
|
+
## Configuration
|
|
111
|
+
|
|
112
|
+
The client reads settings from the environment:
|
|
113
|
+
|
|
114
|
+
- `GITLAB_API_TOKEN` - Personal Access Token (required)
|
|
115
|
+
- `GITLAB_URL` - GitLab instance URL (default: https://gitlab.com)
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gitlab-skill",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"lockfileVersion": 3,
|
|
5
|
+
"requires": true,
|
|
6
|
+
"packages": {
|
|
7
|
+
"": {
|
|
8
|
+
"name": "gitlab-skill",
|
|
9
|
+
"version": "1.0.0",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@gitbeaker/rest": "^40.0.0",
|
|
12
|
+
"dotenv": "^16.4.5"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@types/node": "^20.0.0",
|
|
16
|
+
"typescript": "^5.0.0"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"node_modules/@gitbeaker/core": {
|
|
20
|
+
"version": "40.6.0",
|
|
21
|
+
"resolved": "https://registry.npmjs.org/@gitbeaker/core/-/core-40.6.0.tgz",
|
|
22
|
+
"integrity": "sha512-tVVm8ZPrS9YCHEcuPV8vD1IcEf9POpdygWo+kPvkK7LcC36EERVcXagb8snEaGgGLfUaVQh8qP4iDZgPnP3YBQ==",
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@gitbeaker/requester-utils": "^40.6.0",
|
|
26
|
+
"qs": "^6.12.2",
|
|
27
|
+
"xcase": "^2.0.1"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18.20.0"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"node_modules/@gitbeaker/requester-utils": {
|
|
34
|
+
"version": "40.6.0",
|
|
35
|
+
"resolved": "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-40.6.0.tgz",
|
|
36
|
+
"integrity": "sha512-DQu2l3iXtB+8e1Ye2ekeUHABt4mGMRTLtuVWtFqf74sqJnerHNOxVOjPn19qu/nKdvKR3ZLwSRTtPzEsxgcShg==",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"picomatch-browser": "^2.2.6",
|
|
40
|
+
"qs": "^6.12.2",
|
|
41
|
+
"rate-limiter-flexible": "^4.0.1",
|
|
42
|
+
"xcase": "^2.0.1"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=18.20.0"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"node_modules/@gitbeaker/rest": {
|
|
49
|
+
"version": "40.6.0",
|
|
50
|
+
"resolved": "https://registry.npmjs.org/@gitbeaker/rest/-/rest-40.6.0.tgz",
|
|
51
|
+
"integrity": "sha512-sAwYJclU3NlB/gdxqhH6Hnmy5LWzvW7D3W33eShQEnxMhM0VjnFHPHcgJLQCIux3hMiub1uGtTw1hBJTxDc2mQ==",
|
|
52
|
+
"license": "MIT",
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@gitbeaker/core": "^40.6.0",
|
|
55
|
+
"@gitbeaker/requester-utils": "^40.6.0"
|
|
56
|
+
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.20.0"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"node_modules/@types/node": {
|
|
62
|
+
"version": "20.19.39",
|
|
63
|
+
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz",
|
|
64
|
+
"integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==",
|
|
65
|
+
"dev": true,
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"dependencies": {
|
|
68
|
+
"undici-types": "~6.21.0"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"node_modules/call-bind-apply-helpers": {
|
|
72
|
+
"version": "1.0.2",
|
|
73
|
+
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
|
|
74
|
+
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
|
|
75
|
+
"license": "MIT",
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"es-errors": "^1.3.0",
|
|
78
|
+
"function-bind": "^1.1.2"
|
|
79
|
+
},
|
|
80
|
+
"engines": {
|
|
81
|
+
"node": ">= 0.4"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"node_modules/call-bound": {
|
|
85
|
+
"version": "1.0.4",
|
|
86
|
+
"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
|
|
87
|
+
"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
|
|
88
|
+
"license": "MIT",
|
|
89
|
+
"dependencies": {
|
|
90
|
+
"call-bind-apply-helpers": "^1.0.2",
|
|
91
|
+
"get-intrinsic": "^1.3.0"
|
|
92
|
+
},
|
|
93
|
+
"engines": {
|
|
94
|
+
"node": ">= 0.4"
|
|
95
|
+
},
|
|
96
|
+
"funding": {
|
|
97
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"node_modules/dotenv": {
|
|
101
|
+
"version": "16.6.1",
|
|
102
|
+
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
|
|
103
|
+
"integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
|
|
104
|
+
"license": "BSD-2-Clause",
|
|
105
|
+
"engines": {
|
|
106
|
+
"node": ">=12"
|
|
107
|
+
},
|
|
108
|
+
"funding": {
|
|
109
|
+
"url": "https://dotenvx.com"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"node_modules/dunder-proto": {
|
|
113
|
+
"version": "1.0.1",
|
|
114
|
+
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
|
|
115
|
+
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
|
|
116
|
+
"license": "MIT",
|
|
117
|
+
"dependencies": {
|
|
118
|
+
"call-bind-apply-helpers": "^1.0.1",
|
|
119
|
+
"es-errors": "^1.3.0",
|
|
120
|
+
"gopd": "^1.2.0"
|
|
121
|
+
},
|
|
122
|
+
"engines": {
|
|
123
|
+
"node": ">= 0.4"
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"node_modules/es-define-property": {
|
|
127
|
+
"version": "1.0.1",
|
|
128
|
+
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
|
|
129
|
+
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
|
|
130
|
+
"license": "MIT",
|
|
131
|
+
"engines": {
|
|
132
|
+
"node": ">= 0.4"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"node_modules/es-errors": {
|
|
136
|
+
"version": "1.3.0",
|
|
137
|
+
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
|
|
138
|
+
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
|
|
139
|
+
"license": "MIT",
|
|
140
|
+
"engines": {
|
|
141
|
+
"node": ">= 0.4"
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"node_modules/es-object-atoms": {
|
|
145
|
+
"version": "1.1.1",
|
|
146
|
+
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
|
147
|
+
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
|
148
|
+
"license": "MIT",
|
|
149
|
+
"dependencies": {
|
|
150
|
+
"es-errors": "^1.3.0"
|
|
151
|
+
},
|
|
152
|
+
"engines": {
|
|
153
|
+
"node": ">= 0.4"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"node_modules/function-bind": {
|
|
157
|
+
"version": "1.1.2",
|
|
158
|
+
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
|
159
|
+
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
160
|
+
"license": "MIT",
|
|
161
|
+
"funding": {
|
|
162
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"node_modules/get-intrinsic": {
|
|
166
|
+
"version": "1.3.0",
|
|
167
|
+
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
|
|
168
|
+
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
|
|
169
|
+
"license": "MIT",
|
|
170
|
+
"dependencies": {
|
|
171
|
+
"call-bind-apply-helpers": "^1.0.2",
|
|
172
|
+
"es-define-property": "^1.0.1",
|
|
173
|
+
"es-errors": "^1.3.0",
|
|
174
|
+
"es-object-atoms": "^1.1.1",
|
|
175
|
+
"function-bind": "^1.1.2",
|
|
176
|
+
"get-proto": "^1.0.1",
|
|
177
|
+
"gopd": "^1.2.0",
|
|
178
|
+
"has-symbols": "^1.1.0",
|
|
179
|
+
"hasown": "^2.0.2",
|
|
180
|
+
"math-intrinsics": "^1.1.0"
|
|
181
|
+
},
|
|
182
|
+
"engines": {
|
|
183
|
+
"node": ">= 0.4"
|
|
184
|
+
},
|
|
185
|
+
"funding": {
|
|
186
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"node_modules/get-proto": {
|
|
190
|
+
"version": "1.0.1",
|
|
191
|
+
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
|
|
192
|
+
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
|
|
193
|
+
"license": "MIT",
|
|
194
|
+
"dependencies": {
|
|
195
|
+
"dunder-proto": "^1.0.1",
|
|
196
|
+
"es-object-atoms": "^1.0.0"
|
|
197
|
+
},
|
|
198
|
+
"engines": {
|
|
199
|
+
"node": ">= 0.4"
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"node_modules/gopd": {
|
|
203
|
+
"version": "1.2.0",
|
|
204
|
+
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
|
|
205
|
+
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
|
|
206
|
+
"license": "MIT",
|
|
207
|
+
"engines": {
|
|
208
|
+
"node": ">= 0.4"
|
|
209
|
+
},
|
|
210
|
+
"funding": {
|
|
211
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"node_modules/has-symbols": {
|
|
215
|
+
"version": "1.1.0",
|
|
216
|
+
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
|
|
217
|
+
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
|
|
218
|
+
"license": "MIT",
|
|
219
|
+
"engines": {
|
|
220
|
+
"node": ">= 0.4"
|
|
221
|
+
},
|
|
222
|
+
"funding": {
|
|
223
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"node_modules/hasown": {
|
|
227
|
+
"version": "2.0.2",
|
|
228
|
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
|
229
|
+
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
|
230
|
+
"license": "MIT",
|
|
231
|
+
"dependencies": {
|
|
232
|
+
"function-bind": "^1.1.2"
|
|
233
|
+
},
|
|
234
|
+
"engines": {
|
|
235
|
+
"node": ">= 0.4"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"node_modules/math-intrinsics": {
|
|
239
|
+
"version": "1.1.0",
|
|
240
|
+
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
|
|
241
|
+
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
|
|
242
|
+
"license": "MIT",
|
|
243
|
+
"engines": {
|
|
244
|
+
"node": ">= 0.4"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
"node_modules/object-inspect": {
|
|
248
|
+
"version": "1.13.4",
|
|
249
|
+
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
|
|
250
|
+
"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
|
|
251
|
+
"license": "MIT",
|
|
252
|
+
"engines": {
|
|
253
|
+
"node": ">= 0.4"
|
|
254
|
+
},
|
|
255
|
+
"funding": {
|
|
256
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"node_modules/picomatch-browser": {
|
|
260
|
+
"version": "2.2.6",
|
|
261
|
+
"resolved": "https://registry.npmjs.org/picomatch-browser/-/picomatch-browser-2.2.6.tgz",
|
|
262
|
+
"integrity": "sha512-0ypsOQt9D4e3hziV8O4elD9uN0z/jtUEfxVRtNaAAtXIyUx9m/SzlO020i8YNL2aL/E6blOvvHQcin6HZlFy/w==",
|
|
263
|
+
"license": "MIT",
|
|
264
|
+
"engines": {
|
|
265
|
+
"node": ">=8.6"
|
|
266
|
+
},
|
|
267
|
+
"funding": {
|
|
268
|
+
"url": "https://github.com/sponsors/jonschlinkert"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"node_modules/qs": {
|
|
272
|
+
"version": "6.15.1",
|
|
273
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz",
|
|
274
|
+
"integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==",
|
|
275
|
+
"license": "BSD-3-Clause",
|
|
276
|
+
"dependencies": {
|
|
277
|
+
"side-channel": "^1.1.0"
|
|
278
|
+
},
|
|
279
|
+
"engines": {
|
|
280
|
+
"node": ">=0.6"
|
|
281
|
+
},
|
|
282
|
+
"funding": {
|
|
283
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"node_modules/rate-limiter-flexible": {
|
|
287
|
+
"version": "4.0.1",
|
|
288
|
+
"resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-4.0.1.tgz",
|
|
289
|
+
"integrity": "sha512-2/dGHpDFpeA0+755oUkW+EKyklqLS9lu0go9pDsbhqQjZcxfRyJ6LA4JI0+HAdZ2bemD/oOjUeZQB2lCZqXQfQ==",
|
|
290
|
+
"license": "ISC"
|
|
291
|
+
},
|
|
292
|
+
"node_modules/side-channel": {
|
|
293
|
+
"version": "1.1.0",
|
|
294
|
+
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
|
|
295
|
+
"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
|
|
296
|
+
"license": "MIT",
|
|
297
|
+
"dependencies": {
|
|
298
|
+
"es-errors": "^1.3.0",
|
|
299
|
+
"object-inspect": "^1.13.3",
|
|
300
|
+
"side-channel-list": "^1.0.0",
|
|
301
|
+
"side-channel-map": "^1.0.1",
|
|
302
|
+
"side-channel-weakmap": "^1.0.2"
|
|
303
|
+
},
|
|
304
|
+
"engines": {
|
|
305
|
+
"node": ">= 0.4"
|
|
306
|
+
},
|
|
307
|
+
"funding": {
|
|
308
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"node_modules/side-channel-list": {
|
|
312
|
+
"version": "1.0.1",
|
|
313
|
+
"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
|
|
314
|
+
"integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
|
|
315
|
+
"license": "MIT",
|
|
316
|
+
"dependencies": {
|
|
317
|
+
"es-errors": "^1.3.0",
|
|
318
|
+
"object-inspect": "^1.13.4"
|
|
319
|
+
},
|
|
320
|
+
"engines": {
|
|
321
|
+
"node": ">= 0.4"
|
|
322
|
+
},
|
|
323
|
+
"funding": {
|
|
324
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
"node_modules/side-channel-map": {
|
|
328
|
+
"version": "1.0.1",
|
|
329
|
+
"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
|
|
330
|
+
"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
|
|
331
|
+
"license": "MIT",
|
|
332
|
+
"dependencies": {
|
|
333
|
+
"call-bound": "^1.0.2",
|
|
334
|
+
"es-errors": "^1.3.0",
|
|
335
|
+
"get-intrinsic": "^1.2.5",
|
|
336
|
+
"object-inspect": "^1.13.3"
|
|
337
|
+
},
|
|
338
|
+
"engines": {
|
|
339
|
+
"node": ">= 0.4"
|
|
340
|
+
},
|
|
341
|
+
"funding": {
|
|
342
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
343
|
+
}
|
|
344
|
+
},
|
|
345
|
+
"node_modules/side-channel-weakmap": {
|
|
346
|
+
"version": "1.0.2",
|
|
347
|
+
"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
|
|
348
|
+
"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
|
|
349
|
+
"license": "MIT",
|
|
350
|
+
"dependencies": {
|
|
351
|
+
"call-bound": "^1.0.2",
|
|
352
|
+
"es-errors": "^1.3.0",
|
|
353
|
+
"get-intrinsic": "^1.2.5",
|
|
354
|
+
"object-inspect": "^1.13.3",
|
|
355
|
+
"side-channel-map": "^1.0.1"
|
|
356
|
+
},
|
|
357
|
+
"engines": {
|
|
358
|
+
"node": ">= 0.4"
|
|
359
|
+
},
|
|
360
|
+
"funding": {
|
|
361
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
362
|
+
}
|
|
363
|
+
},
|
|
364
|
+
"node_modules/typescript": {
|
|
365
|
+
"version": "5.9.3",
|
|
366
|
+
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
|
|
367
|
+
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
|
|
368
|
+
"dev": true,
|
|
369
|
+
"license": "Apache-2.0",
|
|
370
|
+
"bin": {
|
|
371
|
+
"tsc": "bin/tsc",
|
|
372
|
+
"tsserver": "bin/tsserver"
|
|
373
|
+
},
|
|
374
|
+
"engines": {
|
|
375
|
+
"node": ">=14.17"
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
"node_modules/undici-types": {
|
|
379
|
+
"version": "6.21.0",
|
|
380
|
+
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
|
381
|
+
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
|
382
|
+
"dev": true,
|
|
383
|
+
"license": "MIT"
|
|
384
|
+
},
|
|
385
|
+
"node_modules/xcase": {
|
|
386
|
+
"version": "2.0.1",
|
|
387
|
+
"resolved": "https://registry.npmjs.org/xcase/-/xcase-2.0.1.tgz",
|
|
388
|
+
"integrity": "sha512-UmFXIPU+9Eg3E9m/728Bii0lAIuoc+6nbrNUKaRPJOFp91ih44qqGlWtxMB6kXFrRD6po+86ksHM5XHCfk6iPw==",
|
|
389
|
+
"license": "MIT"
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "gitlab-skill",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@gitbeaker/rest": "^40.0.0",
|
|
8
|
+
"dotenv": "^16.4.5"
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@types/node": "^20.0.0",
|
|
12
|
+
"typescript": "^5.0.0"
|
|
13
|
+
}
|
|
14
|
+
}
|