Use Octokit instead of Axios

This commit is contained in:
MichalFidor
2024-01-18 15:26:25 +01:00
parent c03cc18649
commit 8e41a1cea6
4 changed files with 375 additions and 201 deletions
+16 -17
View File
@@ -1,35 +1,34 @@
import axios, { AxiosResponse } from 'axios';
import AdmZip from 'adm-zip';
import path from 'path';
import { Octokit } from "@octokit/rest";
export class GitHubRepoUtils {
private baseURL = 'https://api.github.com';
private token: string;
private repo: string;
private subfolderName: string;
private octokit: Octokit;
constructor(token: string, repo: string) {
this.token = token;
this.octokit = new Octokit({
auth: `token ${token}`,
baseUrl: 'https://api.github.com',
})
this.repo = repo;
}
async downloadAndUnpackRepository(owner: string, branch = 'main'): Promise<void> {
const url = `${this.baseURL}/repos/${owner}/${this.repo}/zipball/${branch}`;
const headers = {
Authorization: `token ${this.token}`,
Accept: 'application/vnd.github+json',
'X-GitHub-Api-Version': '2022-11-28'
};
try {
const response: AxiosResponse = await axios.get(url, {
responseType: 'arraybuffer',
headers,
});
const zippedRepo = new AdmZip(response.data);
const response = await this.octokit.repos.downloadZipballArchive({
repo: this.repo,
owner,
ref: branch,
})
const parsedResponse = Buffer.from(<ArrayBuffer>response.data);
const zippedRepo = new AdmZip(parsedResponse);
this.subfolderName = (zippedRepo.getEntries().find(entry => entry.entryName.includes(owner))).entryName;
new AdmZip(response.data).extractAllTo(this.repo, true);
zippedRepo.extractAllTo(this.repo, true);
} catch (error) {
throw new Error(`Failed to download repository: ${error}`);
+184 -184
View File
@@ -19,190 +19,190 @@
/* eslint-disable @typescript-eslint/naming-convention */
export const ACTIVITI_CLOUD_APPS: any = {
SUB_PROCESS_APP: {
name: 'subprocessapp',
processes: {
processchild: 'processchild',
processparent: 'processparent'
},
security: [
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser'] },
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser'] }
]
},
CANDIDATE_BASE_APP: {
name: 'candidatebaseapp',
processes: {
candidateUserProcess: 'candidateuserprocess',
candidateGroupProcess: 'candidategroupprocess',
anotherCandidateGroupProcess: 'anothercandidategroup',
uploadFileProcess: 'uploadfileprocess',
processwithstarteventform: 'processwithstarteventform',
processwithjsonfilemapping: 'processwithjsonfilemapping',
assigneeProcess: 'assigneeprocess',
errorStartEventProcess: {
process_name: 'errorstartevent',
error_id: 'Error_END_EVENT',
error_code: '123'
},
errorBoundaryEventProcess: {
process_name: 'errorboundaryevent',
error_id: 'Error_END_EVENT',
error_code: '567'
},
errorExclusiveGateProcess: {
process_name: 'errorexclusivegate',
error_id: 'Error_OK',
error_code: '200'
}
},
forms: {
starteventform: 'starteventform',
formtotestvalidations: 'formtotestvalidations',
uploadfileform: 'uploadfileform',
inputform: 'inputform',
outputform: 'outputform'
},
security: [
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
{ role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser', 'salesuser'] }
],
tasks: {
uploadFileTask: 'UploadFileTask',
candidateUserTask: 'candidateUserTask'
}
},
SIMPLE_APP: {
name: 'simpleapp',
processes: {
processwithvariables: 'processwithvariables',
simpleProcess: 'simpleprocess',
dropdownrestprocess: 'dropdownrestprocess',
multilingualprocess: 'multilingualprocess',
processWithTabVisibility: 'processwithtabvisibility',
startmessageevent: 'start-message-event',
intermediatemessageevent: 'intermediate-message-event',
intboundaryevent: 'int-boundary-event',
nonintboundaryevent: 'nonint-boundary-event',
intboundarysubprocess: 'int-boundary-subprocess',
intstartmessageevent: 'int-start-message-event',
nonintstartmessageevent: 'nonint-start-message-event',
siblingtaskprocess: 'siblingtaskprocess',
startTaskVisibilityForm: 'start-task-visibility-form',
startVisibilityForm: 'start-visibility-form',
processstring: 'processstring',
processinteger: 'processinteger',
processboolean: 'processboolean',
processdate: 'processdate',
multiprocess: 'multiprocess',
terminateexclusive: 'terminate-exclusive',
terminatesubprocess: 'terminate-subprocess',
multiinstancedmnparallel: 'multiinstance-dmnparallel',
multiinstancecallactivity: 'multiinstance-callactivity',
multiinstancecollection: 'multiinstance-collection',
multiinstancecompletion: 'multiinstance-completion',
multiinstancesequential: 'multiinstance-sequential',
multiinstanceservicetask: 'multiinstance-servicetask',
multiinstanceusertask: 'multiinstance-usertask',
multiinstancedmnsequence: 'multiinstance-dmnsequence',
multiinstancemanualtask: 'multiinstance-manualtask',
multiinstancesubprocess: 'multiinstance-subprocess',
calledprocess: 'calledprocess',
booleanvisibilityprocess: 'booleanvisibilityprocess',
numbervisibilityprocess: 'numbervisibilityprocess',
processformoutcome: 'outcomebuttons',
uploadSingleMultipleFiles: 'upload-single-multiple-pro',
processDisplayRestJson: 'process-display-rest-json',
poolStartEndMessageThrow: 'pool-start-end-mess-throw',
poolStartEndMessageCatch: 'pool-start-end-mess-catch',
poolProcessCalled: 'pool-process-called',
poolProcessCalling: 'pool-process-calling',
poolNonIntBoundaryThrown: 'pool-nonint-boundary-throw',
poolNonIntBoundaryCatch: 'pool-nonint-boundary-catch',
poolIntermediateMessageThrow: 'pool-interm-message-throw',
poolIntermediateMessageCatch: 'pool-interm-message-catch',
poolInterruptingBoundarySubprocessThrow: 'pool-int-bound-subpr-throw',
poolInterruptingBoundarySubprocessCatch: 'pool-int-bound-subpr-catch',
poolInterruptingBoundaryThrow: 'pool-int-boundary-throw',
poolInterruptingBoundaryCatch: 'pool-int-boundary-catch',
outputVariablesMapping: 'output-variables-mapping'
},
forms: {
tabVisibilityFields: {
name: 'tabvisibilitywithfields'
},
tabVisibilityVars: {
name: 'tabvisibilitywithvars'
},
usertaskform: {
name: 'usertaskform'
},
dropdownform: {
name: 'dropdownform'
},
formVisibility: {
name: 'form-visibility'
},
multilingualform: {
name: 'multilingualform'
},
inputform: {
name: 'inputform'
},
outputform: {
name: 'outputform'
},
exclusiveconditionform: {
name: 'exclusive-condition-form'
},
uploadlocalfileform: {
name: 'upload-localfile-form'
},
booleanvisibility: {
name: 'booleanvisibility'
},
requirednumbervisibility: {
name: 'requirednumbervisibility'
},
mealform: {
name: 'mealform'
},
resultcollectionform: {
name: 'resultcollectionform'
},
uploadSingleMultiple: {
name: 'upload-single-multiple',
widgets: {
contentMultipleAttachFileId: 'UploadMultipleFileFromContentId'
}
},
formWithJsonWidget: {
name: 'form-with-json-widget'
},
formWithAllWidgets: {
name: 'form-with-all-widgets'
},
poolForm: {
name: 'pool-usertaskform'
},
formWithSingleInput: {
name: 'form-with-single-input'
}
},
tasks: {
processstring: 'inputtask',
uploadSingleMultipleFiles: 'UploadSingleMultipleFiles'
},
security: [
{ role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
{ role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
{ role: 'ACTIVITI_USER', groups: ['hr', 'sales', 'testgroup'], users: ['hruser'] }
],
infrastructure: { connectors: { restconnector: {} }, bridges: {} },
enableLocalDevelopment: true
},
// SUB_PROCESS_APP: {
// name: 'subprocessapp',
// processes: {
// processchild: 'processchild',
// processparent: 'processparent'
// },
// security: [
// { role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
// { role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser'] },
// { role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser'] }
// ]
// },
// CANDIDATE_BASE_APP: {
// name: 'candidatebaseapp',
// processes: {
// candidateUserProcess: 'candidateuserprocess',
// candidateGroupProcess: 'candidategroupprocess',
// anotherCandidateGroupProcess: 'anothercandidategroup',
// uploadFileProcess: 'uploadfileprocess',
// processwithstarteventform: 'processwithstarteventform',
// processwithjsonfilemapping: 'processwithjsonfilemapping',
// assigneeProcess: 'assigneeprocess',
// errorStartEventProcess: {
// process_name: 'errorstartevent',
// error_id: 'Error_END_EVENT',
// error_code: '123'
// },
// errorBoundaryEventProcess: {
// process_name: 'errorboundaryevent',
// error_id: 'Error_END_EVENT',
// error_code: '567'
// },
// errorExclusiveGateProcess: {
// process_name: 'errorexclusivegate',
// error_id: 'Error_OK',
// error_code: '200'
// }
// },
// forms: {
// starteventform: 'starteventform',
// formtotestvalidations: 'formtotestvalidations',
// uploadfileform: 'uploadfileform',
// inputform: 'inputform',
// outputform: 'outputform'
// },
// security: [
// { role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
// { role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
// { role: 'ACTIVITI_USER', groups: ['hr', 'testgroup'], users: ['hruser', 'salesuser'] }
// ],
// tasks: {
// uploadFileTask: 'UploadFileTask',
// candidateUserTask: 'candidateUserTask'
// }
// },
// SIMPLE_APP: {
// name: 'simpleapp',
// processes: {
// processwithvariables: 'processwithvariables',
// simpleProcess: 'simpleprocess',
// dropdownrestprocess: 'dropdownrestprocess',
// multilingualprocess: 'multilingualprocess',
// processWithTabVisibility: 'processwithtabvisibility',
// startmessageevent: 'start-message-event',
// intermediatemessageevent: 'intermediate-message-event',
// intboundaryevent: 'int-boundary-event',
// nonintboundaryevent: 'nonint-boundary-event',
// intboundarysubprocess: 'int-boundary-subprocess',
// intstartmessageevent: 'int-start-message-event',
// nonintstartmessageevent: 'nonint-start-message-event',
// siblingtaskprocess: 'siblingtaskprocess',
// startTaskVisibilityForm: 'start-task-visibility-form',
// startVisibilityForm: 'start-visibility-form',
// processstring: 'processstring',
// processinteger: 'processinteger',
// processboolean: 'processboolean',
// processdate: 'processdate',
// multiprocess: 'multiprocess',
// terminateexclusive: 'terminate-exclusive',
// terminatesubprocess: 'terminate-subprocess',
// multiinstancedmnparallel: 'multiinstance-dmnparallel',
// multiinstancecallactivity: 'multiinstance-callactivity',
// multiinstancecollection: 'multiinstance-collection',
// multiinstancecompletion: 'multiinstance-completion',
// multiinstancesequential: 'multiinstance-sequential',
// multiinstanceservicetask: 'multiinstance-servicetask',
// multiinstanceusertask: 'multiinstance-usertask',
// multiinstancedmnsequence: 'multiinstance-dmnsequence',
// multiinstancemanualtask: 'multiinstance-manualtask',
// multiinstancesubprocess: 'multiinstance-subprocess',
// calledprocess: 'calledprocess',
// booleanvisibilityprocess: 'booleanvisibilityprocess',
// numbervisibilityprocess: 'numbervisibilityprocess',
// processformoutcome: 'outcomebuttons',
// uploadSingleMultipleFiles: 'upload-single-multiple-pro',
// processDisplayRestJson: 'process-display-rest-json',
// poolStartEndMessageThrow: 'pool-start-end-mess-throw',
// poolStartEndMessageCatch: 'pool-start-end-mess-catch',
// poolProcessCalled: 'pool-process-called',
// poolProcessCalling: 'pool-process-calling',
// poolNonIntBoundaryThrown: 'pool-nonint-boundary-throw',
// poolNonIntBoundaryCatch: 'pool-nonint-boundary-catch',
// poolIntermediateMessageThrow: 'pool-interm-message-throw',
// poolIntermediateMessageCatch: 'pool-interm-message-catch',
// poolInterruptingBoundarySubprocessThrow: 'pool-int-bound-subpr-throw',
// poolInterruptingBoundarySubprocessCatch: 'pool-int-bound-subpr-catch',
// poolInterruptingBoundaryThrow: 'pool-int-boundary-throw',
// poolInterruptingBoundaryCatch: 'pool-int-boundary-catch',
// outputVariablesMapping: 'output-variables-mapping'
// },
// forms: {
// tabVisibilityFields: {
// name: 'tabvisibilitywithfields'
// },
// tabVisibilityVars: {
// name: 'tabvisibilitywithvars'
// },
// usertaskform: {
// name: 'usertaskform'
// },
// dropdownform: {
// name: 'dropdownform'
// },
// formVisibility: {
// name: 'form-visibility'
// },
// multilingualform: {
// name: 'multilingualform'
// },
// inputform: {
// name: 'inputform'
// },
// outputform: {
// name: 'outputform'
// },
// exclusiveconditionform: {
// name: 'exclusive-condition-form'
// },
// uploadlocalfileform: {
// name: 'upload-localfile-form'
// },
// booleanvisibility: {
// name: 'booleanvisibility'
// },
// requirednumbervisibility: {
// name: 'requirednumbervisibility'
// },
// mealform: {
// name: 'mealform'
// },
// resultcollectionform: {
// name: 'resultcollectionform'
// },
// uploadSingleMultiple: {
// name: 'upload-single-multiple',
// widgets: {
// contentMultipleAttachFileId: 'UploadMultipleFileFromContentId'
// }
// },
// formWithJsonWidget: {
// name: 'form-with-json-widget'
// },
// formWithAllWidgets: {
// name: 'form-with-all-widgets'
// },
// poolForm: {
// name: 'pool-usertaskform'
// },
// formWithSingleInput: {
// name: 'form-with-single-input'
// }
// },
// tasks: {
// processstring: 'inputtask',
// uploadSingleMultipleFiles: 'UploadSingleMultipleFiles'
// },
// security: [
// { role: 'APPLICATION_MANAGER', groups: [], users: ['manageruser'] },
// { role: 'ACTIVITI_ADMIN', groups: [], users: ['superadminuser', 'processadminuser'] },
// { role: 'ACTIVITI_USER', groups: ['hr', 'sales', 'testgroup'], users: ['hruser'] }
// ],
// infrastructure: { connectors: { restconnector: {} }, bridges: {} },
// enableLocalDevelopment: true
// },
UAT_BE_DEFAULT_APP: {
name: 'uat-be-default-app',
processes: {
+174
View File
@@ -71,6 +71,7 @@
"@nrwl/node": "14.5.4",
"@nrwl/storybook": "14.8.9",
"@nrwl/workspace": "14.8.9",
"@octokit/rest": "^20.0.2",
"@paperist/types-remark": "0.1.3",
"@playwright/test": "^1.35.1",
"@quanzo/change-font-size": "1.0.0",
@@ -10881,6 +10882,161 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@octokit/auth-token": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"dev": true,
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/core": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz",
"integrity": "sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==",
"dev": true,
"dependencies": {
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.0.0",
"@octokit/request": "^8.0.2",
"@octokit/request-error": "^5.0.0",
"@octokit/types": "^12.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/endpoint": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz",
"integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.0.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/graphql": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz",
"integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==",
"dev": true,
"dependencies": {
"@octokit/request": "^8.0.1",
"@octokit/types": "^12.0.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/openapi-types": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz",
"integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==",
"dev": true
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "9.1.5",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz",
"integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.4.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": ">=5"
}
},
"node_modules/@octokit/plugin-request-log": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz",
"integrity": "sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==",
"dev": true,
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": ">=5"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz",
"integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.3.0"
},
"engines": {
"node": ">= 18"
},
"peerDependencies": {
"@octokit/core": ">=5"
}
},
"node_modules/@octokit/request": {
"version": "8.1.6",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz",
"integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==",
"dev": true,
"dependencies": {
"@octokit/endpoint": "^9.0.0",
"@octokit/request-error": "^5.0.0",
"@octokit/types": "^12.0.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/request-error": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz",
"integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==",
"dev": true,
"dependencies": {
"@octokit/types": "^12.0.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/rest": {
"version": "20.0.2",
"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.0.2.tgz",
"integrity": "sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==",
"dev": true,
"dependencies": {
"@octokit/core": "^5.0.0",
"@octokit/plugin-paginate-rest": "^9.0.0",
"@octokit/plugin-request-log": "^4.0.0",
"@octokit/plugin-rest-endpoint-methods": "^10.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/types": {
"version": "12.4.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz",
"integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==",
"dev": true,
"dependencies": {
"@octokit/openapi-types": "^19.1.0"
}
},
"node_modules/@paperist/types-remark": {
"version": "0.1.3",
"dev": true,
@@ -25992,6 +26148,12 @@
"tweetnacl": "^0.14.3"
}
},
"node_modules/before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
"dev": true
},
"node_modules/bent": {
"version": "7.3.12",
"dev": true,
@@ -29954,6 +30116,12 @@
"node": ">= 0.6.0"
}
},
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
"dev": true
},
"node_modules/dequal": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
@@ -51701,6 +51869,12 @@
"license": "MIT",
"peer": true
},
"node_modules/universal-user-agent": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
"integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
"dev": true
},
"node_modules/universalify": {
"version": "2.0.0",
"license": "MIT",
+1
View File
@@ -121,6 +121,7 @@
"@nrwl/node": "14.5.4",
"@nrwl/storybook": "14.8.9",
"@nrwl/workspace": "14.8.9",
"@octokit/rest": "^20.0.2",
"@paperist/types-remark": "0.1.3",
"@playwright/test": "^1.35.1",
"@quanzo/change-font-size": "1.0.0",