diff --git a/packages/component-progress/package.json b/packages/component-progress/package.json new file mode 100644 index 0000000..ea22066 --- /dev/null +++ b/packages/component-progress/package.json @@ -0,0 +1,28 @@ +{ + "version": "1.0.0", + "author": "Community for NL Design System", + "description": "Script to get the component progress for the documentation of NL Design System", + "license": "EUPL-1.2", + "name": "@nl-design-system/component-progress", + "keywords": [ + "nl-design-system" + ], + "private": false, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git+ssh", + "url": "git@github.com:nl-design-system/documentatie.git" + }, + "scripts": { + "build": "node src/index.mjs", + "clean": "rm -rf dist/", + "prebuild": "npm run clean" + }, + "devDependencies": { + "@octokit/graphql": "8.1.1", + "lodash.isempty": "4.4.0", + "octokit": "4.0.2" + } +} diff --git a/packages/component-progress/src/getComponents.mjs b/packages/component-progress/src/getComponents.mjs new file mode 100644 index 0000000..544a816 --- /dev/null +++ b/packages/component-progress/src/getComponents.mjs @@ -0,0 +1,66 @@ +import isEmpty from 'lodash.isempty'; +import { PROJECT_NUMBERS } from './getProjects.mjs'; +import { graphqlWithAuth } from './graphqlWithAuth.mjs'; + +const filterEstafetteProjects = (issues = []) => { + return issues.map(({ title, projectItems, ...issue }) => ({ + title, + projects: projectItems.nodes.filter(({ project }) => PROJECT_NUMBERS.includes(project.number)).map(cleanupFields), + ...issue, + })); +}; + +const cleanupFields = ({ project, fieldValues }) => ({ + [project.number]: { + title: project.title, + checks: fieldValues.nodes + .filter((node) => !isEmpty(node)) + .map(({ field: { name, id }, value }) => ({ name, id, value })), + }, +}); + +export const getComponentProgess = async () => { + const { + repository: { issues }, + } = await graphqlWithAuth({ + query: `{ +repository(name: "backlog", owner: "nl-design-system") { + issues(labels: ["component"], first: 100) { + totalCount + nodes { + title + url: bodyUrl + projectItems(includeArchived: false, first: 10) { + nodes { + project { + title + number + } + fieldValues(first: 50) { + nodes { + ... on ProjectV2ItemFieldValueCommon { + field { + ... on ProjectV2FieldCommon { + name + id + } + } + } + ... on ProjectV2ItemFieldSingleSelectValue { + value: name + } + ... on ProjectV2ItemFieldTextValue { + value: text + } + } + } + } + } + } + } + } +}`, + }); + + return filterEstafetteProjects(issues.nodes); +}; diff --git a/packages/component-progress/src/getProjects.mjs b/packages/component-progress/src/getProjects.mjs new file mode 100644 index 0000000..56e2754 --- /dev/null +++ b/packages/component-progress/src/getProjects.mjs @@ -0,0 +1,55 @@ +import { graphqlWithAuth } from './graphqlWithAuth.mjs'; + +const HELP_WANTED_PROJECT = 27; +const COMMUNITY_PROJECT = 29; +const CANDIDATE_PROJECT = 32; +const HALL_OF_FAME_PROJECT = 30; + +export const PROJECT_NUMBERS = [HELP_WANTED_PROJECT, COMMUNITY_PROJECT, CANDIDATE_PROJECT, HALL_OF_FAME_PROJECT]; + +export const getProjectDetails = async () => { + const { organization } = await graphqlWithAuth({ + query: `query projectDetails($helpWanted: Int!, $community: Int!, $candidate: Int!, $hallOfFame: Int!) { + organization(login: "nl-design-system") { + HELP_WANTED: projectV2(number:$helpWanted) { + ...ProjectFragment + } + COMMUNITY: projectV2(number:$community) { + ...ProjectFragment + } + CANDIDATE: projectV2(number:$candidate) { + ...ProjectFragment + } + HALL_OF_FAME: projectV2(number:$hallOfFame) { + ...ProjectFragment + } + } + } + + fragment ProjectFragment on ProjectV2 { + number + title + shortDescription + url + updatedAt + view(number: 1) { + fields(first: 50) { + totalCount + checks: nodes { + ... on ProjectV2FieldCommon { + dataType + name + id + } + } + } + } +}`, + helpWanted: HELP_WANTED_PROJECT, + community: COMMUNITY_PROJECT, + candidate: CANDIDATE_PROJECT, + hallOfFame: HALL_OF_FAME_PROJECT, + }); + + return organization; +}; diff --git a/packages/component-progress/src/graphqlWithAuth.mjs b/packages/component-progress/src/graphqlWithAuth.mjs new file mode 100644 index 0000000..a02eae2 --- /dev/null +++ b/packages/component-progress/src/graphqlWithAuth.mjs @@ -0,0 +1,8 @@ +/* global process */ +import { graphql } from '@octokit/graphql'; + +export const graphqlWithAuth = graphql.defaults({ + headers: { + authorization: `token ${process.env.GH_ISSUES_TOKEN}`, + }, +}); diff --git a/packages/component-progress/src/index.mjs b/packages/component-progress/src/index.mjs new file mode 100644 index 0000000..8af750c --- /dev/null +++ b/packages/component-progress/src/index.mjs @@ -0,0 +1,27 @@ +import * as fs from 'fs/promises'; +import { getComponentProgess } from './getComponents.mjs'; +import { getProjectDetails } from './getProjects.mjs'; + +const init = async () => { + try { + await fs.mkdir('./dist', { recursive: true }); + } catch (error) { + console.error('Could not create dist directory', error); + } + + try { + const componentProgress = await getComponentProgess(); + await fs.writeFile('./dist/component-progress.json', JSON.stringify(componentProgress)); + } catch (error) { + console.error('Could not create component-progress.json', error); + } + + try { + const projectDetails = await getProjectDetails(); + await fs.writeFile('./dist/project-details.json', JSON.stringify(projectDetails)); + } catch (error) { + console.error('Could not create project-details.json', error); + } +}; + +init(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6e75100..536a9d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,19 +19,19 @@ importers: version: 7.24.1(@babel/core@7.24.5) '@lerna-lite/cli': specifier: 3.3.3 - version: 3.3.3(@lerna-lite/publish@3.3.3)(@lerna-lite/version@3.3.3)(typescript@5.4.5) + version: 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5))(typescript@5.4.5) '@lerna-lite/publish': specifier: 3.3.3 version: 3.3.3(typescript@5.4.5) '@lerna-lite/version': specifier: 3.3.3 - version: 3.3.3(@lerna-lite/publish@3.3.3)(typescript@5.4.5) + version: 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5) '@types/node': specifier: 20.12.11 version: 20.12.11 '@typescript-eslint/eslint-plugin': specifier: 7.8.0 - version: 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5) + version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: 7.8.0 version: 7.8.0(eslint@8.57.0)(typescript@5.4.5) @@ -43,7 +43,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) eslint-plugin-json: specifier: 3.1.0 version: 3.1.0 @@ -82,7 +82,7 @@ importers: devDependencies: '@rollup/plugin-typescript': specifier: 11.1.6 - version: 11.1.6(rollup@4.17.2)(typescript@5.4.5) + version: 11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.4.5) rimraf: specifier: 5.0.5 version: 5.0.5 @@ -96,6 +96,18 @@ importers: specifier: 5.4.5 version: 5.4.5 + packages/component-progress: + devDependencies: + '@octokit/graphql': + specifier: 8.1.1 + version: 8.1.1 + lodash.isempty: + specifier: 4.4.0 + version: 4.4.0 + octokit: + specifier: 4.0.2 + version: 4.0.2 + packages: '@aashutoshrathi/word-wrap@1.2.6': @@ -440,14 +452,50 @@ packages: resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} engines: {node: ^16.14.0 || >=18.0.0} + '@octokit/app@15.0.1': + resolution: {integrity: sha512-nwSjC349E6/wruMCo944y1dBC7uKzUYrBMoC4Qx/xfLLBmD+R66oMKB1jXS2HYRF9Hqh/Alq3UNRggVWZxjvUg==} + engines: {node: '>= 18'} + + '@octokit/auth-app@7.1.0': + resolution: {integrity: sha512-cazGaJPSgeZ8NkVYeM/C5l/6IQ5vZnsI8p1aMucadCkt/bndI+q+VqwrlnWbASRmenjOkf1t1RpCKrif53U8gw==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-app@8.1.1': + resolution: {integrity: sha512-5UtmxXAvU2wfcHIPPDWzVSAWXVJzG3NWsxb7zCFplCWEmMCArSZV0UQu5jw5goLQXbFyOr5onzEH37UJB3zQQg==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-device@7.1.1': + resolution: {integrity: sha512-HWl8lYueHonuyjrKKIup/1tiy0xcmQCdq5ikvMO1YwkNNkxb6DXfrPjrMYItNLyCP/o2H87WuijuE+SlBTT8eg==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-user@5.1.1': + resolution: {integrity: sha512-rRkMz0ErOppdvEfnemHJXgZ9vTPhBuC6yASeFaB7I2yLMd7QpjfrL1mnvRPlyKo+M6eeLxrKanXJ9Qte29SRsw==} + engines: {node: '>= 18'} + '@octokit/auth-token@4.0.0': resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} + '@octokit/auth-token@5.1.1': + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + engines: {node: '>= 18'} + + '@octokit/auth-unauthenticated@6.1.0': + resolution: {integrity: sha512-zPSmfrUAcspZH/lOFQnVnvjQZsIvmfApQH6GzJrkIunDooU1Su2qt2FfMTSVPRp7WLTQyC20Kd55lF+mIYaohQ==} + engines: {node: '>= 18'} + '@octokit/core@5.0.2': resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==} engines: {node: '>= 18'} + '@octokit/core@6.1.2': + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} + engines: {node: '>= 18'} + + '@octokit/endpoint@10.1.1': + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} + engines: {node: '>= 18'} + '@octokit/endpoint@9.0.4': resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} engines: {node: '>= 18'} @@ -456,15 +504,40 @@ packages: resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} engines: {node: '>= 18'} + '@octokit/graphql@8.1.1': + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} + engines: {node: '>= 18'} + + '@octokit/oauth-app@7.1.2': + resolution: {integrity: sha512-4ntCOZIiTozKwuYQroX/ZD722tzMH8Eicv/cgDM/3F3lyrlwENHDv4flTCBpSJbfK546B2SrkKMWB+/HbS84zQ==} + engines: {node: '>= 18'} + + '@octokit/oauth-authorization-url@7.1.1': + resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==} + engines: {node: '>= 18'} + + '@octokit/oauth-methods@5.1.2': + resolution: {integrity: sha512-C5lglRD+sBlbrhCUTxgJAFjWgJlmTx5bQ7Ch0+2uqRjYv7Cfb5xpX4WuSC9UgQna3sqRGBL9EImX9PvTpMaQ7g==} + engines: {node: '>= 18'} + '@octokit/openapi-types@19.1.0': resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==} '@octokit/openapi-types@22.2.0': resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} + '@octokit/openapi-webhooks-types@8.2.1': + resolution: {integrity: sha512-msAU1oTSm0ZmvAE0xDemuF4tVs5i0xNnNGtNmr4EuATi+1Rn8cZDetj6NXioSf5LwnxEc209COa/WOSbjuhLUA==} + '@octokit/plugin-enterprise-rest@6.0.1': resolution: {integrity: sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==} + '@octokit/plugin-paginate-graphql@5.2.2': + resolution: {integrity: sha512-7znSVvlNAOJisCqAnjN1FtEziweOHSjPGAuc5W58NeGNAr/ZB57yCsjQbXDlWsVryA7hHQaEQPcBbJYFawlkyg==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + '@octokit/plugin-paginate-rest@11.3.1': resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==} engines: {node: '>= 18'} @@ -483,14 +556,34 @@ packages: peerDependencies: '@octokit/core': ^5 + '@octokit/plugin-retry@7.1.1': + resolution: {integrity: sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-throttling@9.3.0': + resolution: {integrity: sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': ^6.0.0 + '@octokit/request-error@5.0.1': resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} engines: {node: '>= 18'} + '@octokit/request-error@6.1.1': + resolution: {integrity: sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==} + engines: {node: '>= 18'} + '@octokit/request@8.1.6': resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} engines: {node: '>= 18'} + '@octokit/request@9.1.1': + resolution: {integrity: sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==} + engines: {node: '>= 18'} + '@octokit/rest@20.1.1': resolution: {integrity: sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==} engines: {node: '>= 18'} @@ -501,6 +594,14 @@ packages: '@octokit/types@13.5.0': resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==} + '@octokit/webhooks-methods@5.1.0': + resolution: {integrity: sha512-yFZa3UH11VIxYnnoOYCVoJ3q4ChuSOk2IVBBQ0O3xtKX4x9bmKb/1t+Mxixv2iUhzMdOl1qeWJqEhouXXzB3rQ==} + engines: {node: '>= 18'} + + '@octokit/webhooks@13.2.7': + resolution: {integrity: sha512-sPHCyi9uZuCs1gg0yF53FFocM+GsiiBEhQQV/itGzzQ8gjyv2GMJ1YvgdDY4lC0ePZeiV3juEw4GbS6w1VHhRw==} + engines: {node: '>= 18'} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -697,6 +798,9 @@ packages: '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + '@types/aws-lambda@8.10.138': + resolution: {integrity: sha512-71EHMl70TPWIAsFuHd85NHq6S6T2OOjiisPTrH7RgcjzpJpPh4RQJv7PvVvIxc6PIp8CLV7F9B+TdjcAES5vcA==} + '@types/concat-stream@2.0.3': resolution: {integrity: sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ==} @@ -858,6 +962,10 @@ packages: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} + aggregate-error@5.0.0: + resolution: {integrity: sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==} + engines: {node: '>=18'} + ajv-errors@1.0.1: resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} peerDependencies: @@ -961,9 +1069,15 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + boxen@5.1.2: resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} engines: {node: '>=10'} @@ -1109,6 +1223,10 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + clean-stack@5.2.0: + resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} + engines: {node: '>=14.16'} + cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} engines: {node: '>=6'} @@ -1480,6 +1598,10 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true @@ -2006,6 +2128,10 @@ packages: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + index-to-position@0.1.2: resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} engines: {node: '>=18'} @@ -2379,6 +2505,9 @@ packages: resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lodash.isempty@4.4.0: + resolution: {integrity: sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==} + lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -2892,6 +3021,10 @@ packages: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} + octokit@4.0.2: + resolution: {integrity: sha512-wbqF4uc1YbcldtiBFfkSnquHtECEIpYD78YUXI6ri1Im5OO2NLo6ZVpRdbJpdnpZ05zMrVPssNiEo6JQtea+Qg==} + engines: {node: '>= 18'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -3803,9 +3936,15 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + universal-github-app-jwt@2.2.0: + resolution: {integrity: sha512-G5o6f95b5BggDGuUfKDApKaCgNYy2x7OdHY0zSMF081O0EJobw+1130VONhrA7ezGSV2FNOGyM+KQpQZAr9bIQ==} + universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -4256,18 +4395,19 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@lerna-lite/cli@3.3.3(@lerna-lite/publish@3.3.3)(@lerna-lite/version@3.3.3)(typescript@5.4.5)': + '@lerna-lite/cli@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5))(typescript@5.4.5)': dependencies: '@lerna-lite/core': 3.3.3(typescript@5.4.5) '@lerna-lite/init': 3.3.3(typescript@5.4.5) - '@lerna-lite/publish': 3.3.3(typescript@5.4.5) - '@lerna-lite/version': 3.3.3(@lerna-lite/publish@3.3.3)(typescript@5.4.5) dedent: 1.5.3 dotenv: 16.4.5 import-local: 3.1.0 load-json-file: 7.0.1 npmlog: 7.0.1 yargs: 17.7.2 + optionalDependencies: + '@lerna-lite/publish': 3.3.3(typescript@5.4.5) + '@lerna-lite/version': 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - bluebird @@ -4322,9 +4462,9 @@ snapshots: '@lerna-lite/publish@3.3.3(typescript@5.4.5)': dependencies: - '@lerna-lite/cli': 3.3.3(@lerna-lite/publish@3.3.3)(@lerna-lite/version@3.3.3)(typescript@5.4.5) + '@lerna-lite/cli': 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5))(typescript@5.4.5) '@lerna-lite/core': 3.3.3(typescript@5.4.5) - '@lerna-lite/version': 3.3.3(@lerna-lite/publish@3.3.3)(typescript@5.4.5) + '@lerna-lite/version': 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5) byte-size: 8.1.1 chalk: 5.3.0 columnify: 1.6.0 @@ -4357,9 +4497,9 @@ snapshots: - supports-color - typescript - '@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3)(typescript@5.4.5)': + '@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5)': dependencies: - '@lerna-lite/cli': 3.3.3(@lerna-lite/publish@3.3.3)(@lerna-lite/version@3.3.3)(typescript@5.4.5) + '@lerna-lite/cli': 3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(@lerna-lite/version@3.3.3(@lerna-lite/publish@3.3.3(typescript@5.4.5))(typescript@5.4.5))(typescript@5.4.5) '@lerna-lite/core': 3.3.3(typescript@5.4.5) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 20.1.1 @@ -4545,8 +4685,59 @@ snapshots: - bluebird - supports-color + '@octokit/app@15.0.1': + dependencies: + '@octokit/auth-app': 7.1.0 + '@octokit/auth-unauthenticated': 6.1.0 + '@octokit/core': 6.1.2 + '@octokit/oauth-app': 7.1.2 + '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@6.1.2) + '@octokit/types': 13.5.0 + '@octokit/webhooks': 13.2.7 + + '@octokit/auth-app@7.1.0': + dependencies: + '@octokit/auth-oauth-app': 8.1.1 + '@octokit/auth-oauth-user': 5.1.1 + '@octokit/request': 9.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + lru-cache: 10.2.0 + universal-github-app-jwt: 2.2.0 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-app@8.1.1': + dependencies: + '@octokit/auth-oauth-device': 7.1.1 + '@octokit/auth-oauth-user': 5.1.1 + '@octokit/request': 9.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-device@7.1.1': + dependencies: + '@octokit/oauth-methods': 5.1.2 + '@octokit/request': 9.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-user@5.1.1': + dependencies: + '@octokit/auth-oauth-device': 7.1.1 + '@octokit/oauth-methods': 5.1.2 + '@octokit/request': 9.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + '@octokit/auth-token@4.0.0': {} + '@octokit/auth-token@5.1.1': {} + + '@octokit/auth-unauthenticated@6.1.0': + dependencies: + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + '@octokit/core@5.0.2': dependencies: '@octokit/auth-token': 4.0.0 @@ -4557,6 +4748,21 @@ snapshots: before-after-hook: 2.2.3 universal-user-agent: 6.0.1 + '@octokit/core@6.1.2': + dependencies: + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 + + '@octokit/endpoint@10.1.1': + dependencies: + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + '@octokit/endpoint@9.0.4': dependencies: '@octokit/types': 12.4.0 @@ -4568,17 +4774,54 @@ snapshots: '@octokit/types': 12.4.0 universal-user-agent: 6.0.1 + '@octokit/graphql@8.1.1': + dependencies: + '@octokit/request': 9.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + + '@octokit/oauth-app@7.1.2': + dependencies: + '@octokit/auth-oauth-app': 8.1.1 + '@octokit/auth-oauth-user': 5.1.1 + '@octokit/auth-unauthenticated': 6.1.0 + '@octokit/core': 6.1.2 + '@octokit/oauth-authorization-url': 7.1.1 + '@octokit/oauth-methods': 5.1.2 + '@types/aws-lambda': 8.10.138 + universal-user-agent: 7.0.2 + + '@octokit/oauth-authorization-url@7.1.1': {} + + '@octokit/oauth-methods@5.1.2': + dependencies: + '@octokit/oauth-authorization-url': 7.1.1 + '@octokit/request': 9.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + '@octokit/openapi-types@19.1.0': {} '@octokit/openapi-types@22.2.0': {} + '@octokit/openapi-webhooks-types@8.2.1': {} + '@octokit/plugin-enterprise-rest@6.0.1': {} + '@octokit/plugin-paginate-graphql@5.2.2(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.0.2)': dependencies: '@octokit/core': 5.0.2 '@octokit/types': 13.5.0 + '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.5.0 + '@octokit/plugin-request-log@4.0.0(@octokit/core@5.0.2)': dependencies: '@octokit/core': 5.0.2 @@ -4588,12 +4831,34 @@ snapshots: '@octokit/core': 5.0.2 '@octokit/types': 13.5.0 + '@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.5.0 + + '@octokit/plugin-retry@7.1.1(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + bottleneck: 2.19.5 + + '@octokit/plugin-throttling@9.3.0(@octokit/core@6.1.2)': + dependencies: + '@octokit/core': 6.1.2 + '@octokit/types': 13.5.0 + bottleneck: 2.19.5 + '@octokit/request-error@5.0.1': dependencies: '@octokit/types': 12.4.0 deprecation: 2.3.1 once: 1.4.0 + '@octokit/request-error@6.1.1': + dependencies: + '@octokit/types': 13.5.0 + '@octokit/request@8.1.6': dependencies: '@octokit/endpoint': 9.0.4 @@ -4601,6 +4866,13 @@ snapshots: '@octokit/types': 12.4.0 universal-user-agent: 6.0.1 + '@octokit/request@9.1.1': + dependencies: + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + '@octokit/rest@20.1.1': dependencies: '@octokit/core': 5.0.2 @@ -4616,6 +4888,15 @@ snapshots: dependencies: '@octokit/openapi-types': 22.2.0 + '@octokit/webhooks-methods@5.1.0': {} + + '@octokit/webhooks@13.2.7': + dependencies: + '@octokit/openapi-webhooks-types': 8.2.1 + '@octokit/request-error': 6.1.1 + '@octokit/webhooks-methods': 5.1.0 + aggregate-error: 5.0.0 + '@pkgjs/parseargs@0.11.0': optional: true @@ -4633,18 +4914,21 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@rollup/plugin-typescript@11.1.6(rollup@4.17.2)(typescript@5.4.5)': + '@rollup/plugin-typescript@11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.4.5)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.17.2) resolve: 1.22.8 - rollup: 4.17.2 typescript: 5.4.5 + optionalDependencies: + rollup: 4.17.2 + tslib: 2.6.2 '@rollup/pluginutils@5.1.0(rollup@4.17.2)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 4.17.2 '@rollup/rollup-android-arm-eabi@4.17.2': @@ -4774,6 +5058,8 @@ snapshots: dependencies: '@types/estree': 1.0.5 + '@types/aws-lambda@8.10.138': {} + '@types/concat-stream@2.0.3': dependencies: '@types/node': 20.12.11 @@ -4828,7 +5114,7 @@ snapshots: '@types/unist@3.0.2': {} - '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) @@ -4843,6 +5129,7 @@ snapshots: natural-compare: 1.4.0 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -4855,6 +5142,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 8.57.0 + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -4871,6 +5159,7 @@ snapshots: debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -4887,6 +5176,7 @@ snapshots: minimatch: 9.0.4 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -4950,6 +5240,11 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 + aggregate-error@5.0.0: + dependencies: + clean-stack: 5.2.0 + indent-string: 5.0.0 + ajv-errors@1.0.1(ajv@6.12.6): dependencies: ajv: 6.12.6 @@ -5059,12 +5354,16 @@ snapshots: before-after-hook@2.2.3: {} + before-after-hook@3.0.2: {} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + bottleneck@2.19.5: {} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 @@ -5258,6 +5557,10 @@ snapshots: clean-stack@2.2.0: {} + clean-stack@5.2.0: + dependencies: + escape-string-regexp: 5.0.0 + cli-boxes@2.2.1: {} cli-boxes@3.0.0: {} @@ -5413,6 +5716,7 @@ snapshots: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 + optionalDependencies: typescript: 5.4.5 cosmiconfig@9.0.0(typescript@5.4.5): @@ -5421,6 +5725,7 @@ snapshots: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 + optionalDependencies: typescript: 5.4.5 cross-spawn@6.0.5: @@ -5637,6 +5942,8 @@ snapshots: escape-string-regexp@4.0.0: {} + escape-string-regexp@5.0.0: {} + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -5669,18 +5976,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0)(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5689,7 +5996,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.8.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5699,6 +6006,8 @@ snapshots: object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6271,6 +6580,8 @@ snapshots: indent-string@4.0.0: {} + indent-string@5.0.0: {} + index-to-position@0.1.2: {} infer-owner@1.0.4: {} @@ -6622,6 +6933,8 @@ snapshots: dependencies: p-locate: 6.0.0 + lodash.isempty@4.4.0: {} + lodash.merge@4.6.2: {} lodash@4.17.21: {} @@ -7506,6 +7819,19 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.22.3 + octokit@4.0.2: + dependencies: + '@octokit/app': 15.0.1 + '@octokit/core': 6.1.2 + '@octokit/oauth-app': 7.1.2 + '@octokit/plugin-paginate-graphql': 5.2.2(@octokit/core@6.1.2) + '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@6.1.2) + '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@6.1.2) + '@octokit/plugin-retry': 7.1.1(@octokit/core@6.1.2) + '@octokit/plugin-throttling': 9.3.0(@octokit/core@6.1.2) + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + once@1.4.0: dependencies: wrappy: 1.0.2 @@ -8558,8 +8884,12 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 + universal-github-app-jwt@2.2.0: {} + universal-user-agent@6.0.1: {} + universal-user-agent@7.0.2: {} + universalify@2.0.1: {} untildify@4.0.0: {}