From 2c8059d2a26dc7c92215c5334af962b64053a171 Mon Sep 17 00:00:00 2001 From: Kevin Minehart <5140827+kminehart@users.noreply.github.com> Date: Mon, 11 Aug 2025 13:45:38 -0500 Subject: [PATCH] [release-11 5.8] backport build fixes (#109465) * [release-11.6.5] Update npm build in daggerbuild & revert some script changes (#109352) * update daggerbuild/frontend/npm.go * combine lerna commands * revert scripts changes (cherry picked from commit 2d2d6d1ad5c460402eac5dfe6d6d1b7567678f0a) * [release-11.6.5] update nx (#109400) * update nx (cherry picked from commit b065bf1fd9bd355614a2d3acd1eba3864267d042) * set some NX env variables * add make to cypress container * update cypress image * also install gcc * Also add g++ * upgrade lerna too (cherry picked from commit 7d067d343a363e5a29ea3b077fb4a719fcb6c9a3) --- package.json | 6 +- pkg/build/daggerbuild/e2e/validate_package.go | 6 +- pkg/build/daggerbuild/frontend/builder.go | 2 + pkg/build/daggerbuild/frontend/npm.go | 10 +- scripts/cli/generateSassVariableFiles.ts | 7 +- scripts/generate-rtk-apis.ts | 42 +- scripts/grafana-server/custom.ini | 11 +- scripts/grafana-server/kill-server | 2 +- scripts/grafana-server/start-server | 2 +- scripts/grafana-server/variables | 2 +- scripts/grafana-server/wait-for-grafana | 2 +- scripts/prepare-npm-package.js | 26 +- scripts/rtk-client-generator/README.md | 52 -- scripts/rtk-client-generator/helpers.ts | 115 ---- scripts/rtk-client-generator/plopfile.ts | 167 ----- .../templates/baseAPI.ts.hbs | 14 - .../templates/config-entry.hbs | 9 - .../templates/index.ts.hbs | 3 - scripts/rtk-client-generator/types.ts | 27 - scripts/webpack/webpack.common.js | 9 - scripts/webpack/webpack.dev.js | 22 +- yarn.lock | 646 +++++++++++------- 22 files changed, 460 insertions(+), 722 deletions(-) delete mode 100644 scripts/rtk-client-generator/README.md delete mode 100644 scripts/rtk-client-generator/helpers.ts delete mode 100644 scripts/rtk-client-generator/plopfile.ts delete mode 100644 scripts/rtk-client-generator/templates/baseAPI.ts.hbs delete mode 100644 scripts/rtk-client-generator/templates/config-entry.hbs delete mode 100644 scripts/rtk-client-generator/templates/index.ts.hbs delete mode 100644 scripts/rtk-client-generator/types.ts diff --git a/package.json b/package.json index cf02155b658..66b4db83b67 100644 --- a/package.json +++ b/package.json @@ -207,13 +207,15 @@ "jest-matcher-utils": "29.7.0", "jest-watch-typeahead": "^2.2.2", "jsdom-testing-mocks": "^1.13.1", - "lerna": "8.1.8", + "lerna": "8.2.3", "mini-css-extract-plugin": "2.9.2", "msw": "2.7.0", "mutationobserver-shim": "0.3.7", "ngtemplate-loader": "2.1.0", "node-notifier": "10.0.1", - "nx": "19.8.2", + "nx": "20.7.1", + "openapi-types": "^12.1.3", + "pdf-parse": "^1.1.1", "postcss": "8.4.49", "postcss-loader": "8.1.1", "postcss-reporter": "7.1.0", diff --git a/pkg/build/daggerbuild/e2e/validate_package.go b/pkg/build/daggerbuild/e2e/validate_package.go index c786b4a991b..c4da4aaf305 100644 --- a/pkg/build/daggerbuild/e2e/validate_package.go +++ b/pkg/build/daggerbuild/e2e/validate_package.go @@ -6,12 +6,14 @@ import ( ) func CypressImage(version string) string { - return "cypress/included:13.1.0" + return "cypress/included:13.10.0" } // CypressContainer returns a docker container with everything set up that is needed to build or run e2e tests. func CypressContainer(d *dagger.Client, base string) *dagger.Container { - container := d.Container().From(base).WithEntrypoint([]string{}) + container := d.Container().From(base).WithEntrypoint([]string{}). + WithExec([]string{"apt-get", "update", "-yq"}). + WithExec([]string{"apt-get", "install", "-yq", "make", "gcc", "g++"}) return container } diff --git a/pkg/build/daggerbuild/frontend/builder.go b/pkg/build/daggerbuild/frontend/builder.go index f2873770f3f..71d88ae10e2 100644 --- a/pkg/build/daggerbuild/frontend/builder.go +++ b/pkg/build/daggerbuild/frontend/builder.go @@ -30,6 +30,8 @@ func Builder(d *dagger.Client, platform dagger.Platform, src *dagger.Directory, }, }, ). + WithEnvVariable("NX_ISOLATE_PLUGINS", "false"). + WithEnvVariable("NX_DAEMON", "false"). WithWorkdir("/src") // TODO: Should figure out exactly what we can include without all the extras so we can take advantage of caching better. diff --git a/pkg/build/daggerbuild/frontend/npm.go b/pkg/build/daggerbuild/frontend/npm.go index 3a728f1a726..2c7241fb164 100644 --- a/pkg/build/daggerbuild/frontend/npm.go +++ b/pkg/build/daggerbuild/frontend/npm.go @@ -12,22 +12,14 @@ import ( // NPMPackages versions and packs the npm packages into tarballs into `npm-packages` directory. // It then returns the npm-packages directory as a dagger.Directory. func NPMPackages(builder *dagger.Container, d *dagger.Client, log *slog.Logger, src *dagger.Directory, ersion string) (*dagger.Directory, error) { - // Check if the version of Grafana uses lerna or nx to manage package versioning. var ( out = fmt.Sprintf("/src/npm-packages/%%s-%v.tgz", "v"+ersion) - - lernaBuild = fmt.Sprintf("yarn run packages:build && yarn lerna version %s --exact --no-git-tag-version --no-push --force-publish -y", ersion) - lernaPack = fmt.Sprintf("yarn lerna exec --no-private -- yarn pack --out %s", out) - - nxBuild = fmt.Sprintf("yarn run packages:build && yarn nx release version %s --no-git-commit --no-git-tag --no-stage-changes --group grafanaPackages", ersion) - nxPack = fmt.Sprintf("yarn nx exec --projects=$(cat nx.json | jq -r '.release.groups.grafanaPackages.projects | join(\",\")') -- yarn pack --out %s", out) ) return builder.WithExec([]string{"mkdir", "npm-packages"}). WithEnvVariable("SHELL", "/bin/bash"). WithExec([]string{"yarn", "install", "--immutable"}). - WithExec([]string{"/bin/bash", "-c", fmt.Sprintf("if [ -f lerna.json ]; then %s; else %s; fi", lernaBuild, nxBuild)}). - WithExec([]string{"/bin/bash", "-c", fmt.Sprintf("if [ -f lerna.json ]; then %s; else %s; fi", lernaPack, nxPack)}). + WithExec([]string{"/bin/bash", "-c", fmt.Sprintf("yarn run packages:build && yarn lerna version %s --exact --no-git-tag-version --no-push --force-publish -y && yarn lerna exec --no-private -- yarn pack --out %s", ersion, out)}). Directory("./npm-packages"), nil } diff --git a/scripts/cli/generateSassVariableFiles.ts b/scripts/cli/generateSassVariableFiles.ts index 4a91921a1e9..842ff5794f4 100644 --- a/scripts/cli/generateSassVariableFiles.ts +++ b/scripts/cli/generateSassVariableFiles.ts @@ -2,10 +2,9 @@ import { writeFile } from 'node:fs/promises'; import { resolve } from 'path'; import { createTheme } from '@grafana/data'; - -import { darkThemeVarsTemplate } from './themeTemplates/_variables.dark.scss.tmpl'; -import { lightThemeVarsTemplate } from './themeTemplates/_variables.light.scss.tmpl'; -import { commonThemeVarsTemplate } from './themeTemplates/_variables.scss.tmpl'; +import { darkThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.dark.scss.tmpl'; +import { lightThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.light.scss.tmpl'; +import { commonThemeVarsTemplate } from '@grafana/ui/src/themes/_variables.scss.tmpl'; const darkThemeVariablesPath = resolve(__dirname, 'public', 'sass', '_variables.dark.generated.scss'); const lightThemeVariablesPath = resolve(__dirname, 'public', 'sass', '_variables.light.generated.scss'); diff --git a/scripts/generate-rtk-apis.ts b/scripts/generate-rtk-apis.ts index 792594a91e1..850d32b7477 100644 --- a/scripts/generate-rtk-apis.ts +++ b/scripts/generate-rtk-apis.ts @@ -30,8 +30,6 @@ const config: ConfigFile = { 'getDashboardByUid', 'getLibraryElementByUid', - - 'getResourceDependencies', ], }, '../public/app/features/preferences/api/user/endpoints.gen.ts': { @@ -41,45 +39,25 @@ const config: ConfigFile = { apiImport: 'baseAPI', filterEndpoints: ['getUserPreferences', 'updateUserPreferences', 'patchUserPreferences'], }, - '../public/app/api/clients/iam/v0alpha1/endpoints.gen.ts': { + '../public/app/features/iam/api/endpoints.gen.ts': { schemaFile: '../data/openapi/iam.grafana.app-v0alpha1.json', - apiFile: '../public/app/api/clients/iam/v0alpha1/baseAPI.ts', + apiFile: '../public/app/features/iam/api/api.ts', + apiImport: 'iamApi', filterEndpoints: ['getDisplayMapping'], + exportName: 'generatedIamApi', + flattenArg: false, tag: true, }, - '../public/app/api/clients/provisioning/v0alpha1/endpoints.gen.ts': { - apiFile: '../public/app/api/clients/provisioning/v0alpha1/baseAPI.ts', + '../public/app/features/provisioning/api/endpoints.gen.ts': { + apiFile: '../public/app/features/provisioning/api/baseAPI.ts', schemaFile: '../data/openapi/provisioning.grafana.app-v0alpha1.json', + apiImport: 'baseAPI', filterEndpoints, + argSuffix: 'Arg', + responseSuffix: 'Response', tag: true, hooks: true, }, - '../public/app/api/clients/folder/v1beta1/endpoints.gen.ts': { - apiFile: '../public/app/api/clients/folder/v1beta1/baseAPI.ts', - schemaFile: '../data/openapi/folder.grafana.app-v1beta1.json', - tag: true, - }, - '../public/app/api/clients/advisor/v0alpha1/endpoints.gen.ts': { - apiFile: '../public/app/api/clients/advisor/v0alpha1/baseAPI.ts', - schemaFile: '../data/openapi/advisor.grafana.app-v0alpha1.json', - filterEndpoints: [ - 'createCheck', - 'getCheck', - 'listCheck', - 'deleteCheck', - 'updateCheck', - 'listCheckType', - 'updateCheckType', - ], - tag: true, - }, - '../public/app/api/clients/playlist/v0alpha1/endpoints.gen.ts': { - apiFile: '../public/app/api/clients/playlist/v0alpha1/baseAPI.ts', - schemaFile: '../data/openapi/playlist.grafana.app-v0alpha1.json', - filterEndpoints: ['listPlaylist', 'getPlaylist', 'createPlaylist', 'deletePlaylist', 'replacePlaylist'], - tag: true, - }, - // PLOP_INJECT_API_CLIENT - Used by the API client generator }, }; diff --git a/scripts/grafana-server/custom.ini b/scripts/grafana-server/custom.ini index 68968c502fa..98a518778ec 100644 --- a/scripts/grafana-server/custom.ini +++ b/scripts/grafana-server/custom.ini @@ -5,13 +5,7 @@ content_security_policy_template = """require-trusted-types-for 'script'; script enable_frontend_sandbox_for_plugins = sandbox-app-test,sandbox-test-datasource,sandbox-test-panel [feature_toggles] -publicDashboards=true -grafanaAPIServer=true -queryLibrary=true -queryService=true - -[environment] -stack_id = 12345 +enable = publicDashboards [plugins] allow_loading_unsigned_plugins=grafana-extensionstest-app,grafana-extensionexample1-app,grafana-extensionexample2-app,grafana-extensionexample3-app,grafana-e2etest-datasource @@ -25,6 +19,3 @@ max_open_conn = 2 [smtp] enabled = true host = localhost:7777 - -[cloud_migration] -developer_mode = true ; Enable developer mode to use in-memory implementations of 3rdparty services needed. diff --git a/scripts/grafana-server/kill-server b/scripts/grafana-server/kill-server index 702626ecb3c..7b9e38cda78 100755 --- a/scripts/grafana-server/kill-server +++ b/scripts/grafana-server/kill-server @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash . scripts/grafana-server/variables diff --git a/scripts/grafana-server/start-server b/scripts/grafana-server/start-server index 6162439a299..fdb4499697e 100755 --- a/scripts/grafana-server/start-server +++ b/scripts/grafana-server/start-server @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash set -eo pipefail . scripts/grafana-server/variables diff --git a/scripts/grafana-server/variables b/scripts/grafana-server/variables index b61d316b41c..541c4f21f69 100644 --- a/scripts/grafana-server/variables +++ b/scripts/grafana-server/variables @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash DEFAULT_RUNDIR=scripts/grafana-server/tmp RUNDIR=${RUNDIR:-$DEFAULT_RUNDIR} diff --git a/scripts/grafana-server/wait-for-grafana b/scripts/grafana-server/wait-for-grafana index 54ff393b7a8..a77972fb167 100755 --- a/scripts/grafana-server/wait-for-grafana +++ b/scripts/grafana-server/wait-for-grafana @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash set -eo pipefail . scripts/grafana-server/variables diff --git a/scripts/prepare-npm-package.js b/scripts/prepare-npm-package.js index 714e4691981..212b4f89487 100644 --- a/scripts/prepare-npm-package.js +++ b/scripts/prepare-npm-package.js @@ -1,5 +1,6 @@ import PackageJson from '@npmcli/package-json'; import { mkdir } from 'node:fs/promises'; +import { join, dirname } from 'node:path'; const cwd = process.cwd(); @@ -7,17 +8,18 @@ try { const pkgJson = await PackageJson.load(cwd); const cjsIndex = pkgJson.content.publishConfig?.main ?? pkgJson.content.main; const esmIndex = pkgJson.content.publishConfig?.module ?? pkgJson.content.module; - const typesIndex = pkgJson.content.publishConfig?.types ?? pkgJson.content.types; + const cjsTypes = pkgJson.content.publishConfig?.types ?? pkgJson.content.types; + const esmTypes = `./${join(dirname(esmIndex), 'index.d.mts')}`; const exports = { './package.json': './package.json', '.': { import: { - types: typesIndex, + types: esmTypes, default: esmIndex, }, require: { - types: typesIndex, + types: cjsTypes, default: cjsIndex, }, }, @@ -31,17 +33,9 @@ try { }; } - // Fix for @grafana/i18n so eslint-plugin can be imported by consumers - if (pkgJson.content.name === '@grafana/i18n') { - exports['./eslint-plugin'] = { - import: './dist/eslint/index.cjs', - require: './dist/eslint/index.cjs', - }; - } - pkgJson.update({ main: cjsIndex, - types: typesIndex, + types: cjsTypes, module: esmIndex, exports, }); @@ -58,12 +52,12 @@ try { ...pkgJson.content.exports, [`./${aliasName}`]: { import: { - types: typesIndex.replace('index', aliasName), + types: esmTypes.replace('index', aliasName), default: esmIndex.replace('index', aliasName), }, require: { - types: typesIndex.replace('index', aliasName), - default: cjsIndex.replace('index', aliasName), + types: cjsTypes.replace('index', aliasName), + default: cjsTypes.replace('index', aliasName), }, }, }, @@ -86,7 +80,7 @@ async function createAliasPackageJsonFiles(packageJsonContent, aliasName) { const pkgJson = await PackageJson.create(pkgJsonPath, { data: { name: pkgName, - types: `../dist/types/${aliasName}.d.ts`, + types: `../dist/cjs/${aliasName}.d.cts`, main: `../dist/cjs/${aliasName}.cjs`, module: `../dist/esm/${aliasName}.mjs`, }, diff --git a/scripts/rtk-client-generator/README.md b/scripts/rtk-client-generator/README.md deleted file mode 100644 index 8e41f0def0f..00000000000 --- a/scripts/rtk-client-generator/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# RTK Query API Client Generator - -This generator automates the process of creating RTK Query API clients for Grafana's API groups. It replaces the manual steps outlined in the [main API documentation](../../public/app/api/README.md). - -## Usage - -```bash -yarn generate:api-client -``` - -The CLI will prompt for: - -1. **Enterprise or OSS API** - Whether this is an Enterprise or OSS API. This affects paths and build commands. -2. **API group name** - The basic name for the API (e.g., `dashboard`) -3. **API group** - The full API group name (defaults to `.grafana.app`) -4. **API version** - The API version (e.g., `v0alpha1`) -5. **Reducer path** - The Redux reducer path (defaults to `API`). This will also be used as the API's named export. -6. **Endpoints** - Optional comma-separated list of endpoints to include (e.g., `createDashboard,updateDashboard`). If not provided, all endpoints will be included. - -## What It Does - -The generator automates the following: - -1. Creates the `baseAPI.ts` file for the API group -2. Updates the appropriate generate script to include the API client - - `scripts/generate-rtk-apis.ts` for OSS APIs - - `local/generate-enterprise-apis.ts` for Enterprise APIs -3. Creates the `index.ts` file with proper exports -4. For OSS APIs only: Registers Redux reducers and middleware in the store. For Enterprise this needs to be done manually -5. Formats all generated files using Prettier and ESLint -6. Automatically runs the appropriate command to generate endpoints from the OpenAPI schema - -## Limitations - -- The generator is optimized for Kubernetes-style APIs, as it requires Kubernetes resource details. For legacy APIs, manual adjustments may be needed. -- It expects processed OpenAPI specifications to exist in the `openapi_snapshots` directory - -## Troubleshooting - -### Missing OpenAPI Schema - -If an error about a missing OpenAPI schema appears, check that: - -1. The API group and version exist in the backend -2. The `TestIntegrationOpenAPIs` test has been run to generate the schema (step 1 in the [main API documentation](../../public/app/api/README.md)). -3. The schema file exists at `data/openapi/-.json` - -### Validation Errors - -- API group must include `.grafana.app` -- Version must be in format `v0alpha1`, `v1beta2`, etc. -- Reducer path must end with `API` diff --git a/scripts/rtk-client-generator/helpers.ts b/scripts/rtk-client-generator/helpers.ts deleted file mode 100644 index 549b121873c..00000000000 --- a/scripts/rtk-client-generator/helpers.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { execSync } from 'child_process'; -import path from 'path'; - -type PlopActionFunction = ( - answers: Record, - config?: Record -) => string | Promise; - -// Helper to remove quotes from operation IDs -export const removeQuotes = (str: string | unknown) => { - if (typeof str !== 'string') { - return str; - } - return str.replace(/^['"](.*)['"]$/, '$1'); -}; - -export const formatEndpoints = () => (endpointsInput: string | string[]) => { - if (Array.isArray(endpointsInput)) { - return endpointsInput.map((op) => `'${removeQuotes(op)}'`).join(', '); - } - - // Handle string input (comma-separated) - if (typeof endpointsInput === 'string') { - const endpointsArray = endpointsInput - .split(',') - .map((id) => id.trim()) - .filter(Boolean); - - return endpointsArray.map((op) => `'${removeQuotes(op)}'`).join(', '); - } - - return ''; -}; - -// List of created or modified files -export const getFilesToFormat = (groupName: string, version: string, isEnterprise = false) => { - const apiClientBasePath = isEnterprise ? 'public/app/extensions/api/clients' : 'public/app/api/clients'; - const generateScriptPath = isEnterprise ? 'local/generate-enterprise-apis.ts' : 'scripts/generate-rtk-apis.ts'; - - return [ - `${apiClientBasePath}/${groupName}/${version}/baseAPI.ts`, - `${apiClientBasePath}/${groupName}/${version}/index.ts`, - generateScriptPath, - ...(isEnterprise ? [] : [`public/app/core/reducers/root.ts`, `public/app/store/configureStore.ts`]), - ]; -}; - -export const runGenerateApis = - (basePath: string): PlopActionFunction => - (answers, config) => { - try { - const isEnterprise = answers.isEnterprise || (config && config.isEnterprise); - - let command; - if (isEnterprise) { - command = 'yarn process-specs && npx rtk-query-codegen-openapi ./local/generate-enterprise-apis.ts'; - } else { - command = 'yarn generate-apis'; - } - - console.log(`⏳ Running ${command} to generate endpoints...`); - execSync(command, { stdio: 'inherit', cwd: basePath }); - return '✅ API endpoints generated successfully!'; - } catch (error) { - const errorMessage = error instanceof Error ? error.message : String(error); - console.error('❌ Failed to generate API endpoints:', errorMessage); - return '❌ Failed to generate API endpoints. See error above.'; - } - }; - -export const formatFiles = - (basePath: string): PlopActionFunction => - (_, config) => { - if (!config || !Array.isArray(config.files)) { - console.error('Invalid config passed to formatFiles action'); - return '❌ Formatting failed: Invalid configuration'; - } - - const filesToFormat = config.files.map((file: string) => path.join(basePath, file)); - - try { - const filesList = filesToFormat.map((file: string) => `"${file}"`).join(' '); - - console.log('🧹 Running ESLint on generated/modified files...'); - try { - execSync(`yarn eslint --fix ${filesList}`, { cwd: basePath }); - } catch (error) { - const errorMessage = error instanceof Error ? error.message : String(error); - console.warn(`⚠️ Warning: ESLint encountered issues: ${errorMessage}`); - } - - console.log('🧹 Running Prettier on generated/modified files...'); - try { - // '--ignore-path' is necessary so the gitignored files ('local/' folder) can still be formatted - execSync(`yarn prettier --write ${filesList} --ignore-path=./.prettierignore`, { cwd: basePath }); - } catch (error) { - const errorMessage = error instanceof Error ? error.message : String(error); - console.warn(`⚠️ Warning: Prettier encountered issues: ${errorMessage}`); - } - - return '✅ Files linted and formatted successfully!'; - } catch (error) { - const errorMessage = error instanceof Error ? error.message : String(error); - console.error('⚠️ Warning: Formatting operations failed:', errorMessage); - return '⚠️ Warning: Formatting operations failed.'; - } - }; - -export const validateGroup = (group: string) => { - return group && group.includes('.grafana.app') ? true : 'Group should be in format: name.grafana.app'; -}; - -export const validateVersion = (version: string) => { - return version && /^v\d+[a-z]*\d+$/.test(version) ? true : 'Version should be in format: v0alpha1, v1beta2, etc.'; -}; diff --git a/scripts/rtk-client-generator/plopfile.ts b/scripts/rtk-client-generator/plopfile.ts deleted file mode 100644 index 44688c46fd5..00000000000 --- a/scripts/rtk-client-generator/plopfile.ts +++ /dev/null @@ -1,167 +0,0 @@ -import path from 'path'; -import type { NodePlopAPI, PlopGeneratorConfig } from 'plop'; - -import { - formatEndpoints, - validateGroup, - validateVersion, - getFilesToFormat, - runGenerateApis, - formatFiles, - // The file extension is necessary to make the imports - // work with the '--experimental-strip-types' flag - // @ts-ignore -} from './helpers.ts'; -// @ts-ignore -import { type ActionConfig, type PlopData, isPlopData } from './types.ts'; - -export default function plopGenerator(plop: NodePlopAPI) { - // Grafana root path - const basePath = path.resolve(import.meta.dirname, '../..'); - - // Register custom action types - plop.setActionType('runGenerateApis', runGenerateApis(basePath)); - plop.setActionType('formatFiles', formatFiles(basePath)); - - // Used in templates to format endpoints - plop.setHelper('formatEndpoints', formatEndpoints()); - - const generateRtkApiActions = (data: PlopData) => { - const { reducerPath, groupName, version, isEnterprise } = data; - - const apiClientBasePath = isEnterprise ? 'public/app/extensions/api/clients' : 'public/app/api/clients'; - const generateScriptPath = isEnterprise ? 'local/generate-enterprise-apis.ts' : 'scripts/generate-rtk-apis.ts'; - - // Using app path, so the imports work on any file level - const clientImportPath = isEnterprise ? '../extensions/api/clients' : 'app/api/clients'; - - const apiPathPrefix = isEnterprise ? '../public/app/extensions/api/clients' : '../public/app/api/clients'; - - const templateData = { - ...data, - apiPathPrefix, - }; - - // Base actions that are always added - const actions: ActionConfig[] = [ - { - type: 'add', - path: path.join(basePath, `${apiClientBasePath}/${groupName}/${version}/baseAPI.ts`), - templateFile: './templates/baseAPI.ts.hbs', - }, - { - type: 'modify', - path: path.join(basePath, generateScriptPath), - pattern: '// PLOP_INJECT_API_CLIENT - Used by the API client generator', - templateFile: './templates/config-entry.hbs', - data: templateData, - }, - { - type: 'add', - path: path.join(basePath, `${apiClientBasePath}/${groupName}/${version}/index.ts`), - templateFile: './templates/index.ts.hbs', - }, - ]; - - // Only add redux reducer and middleware for OSS clients - if (!isEnterprise) { - actions.push( - { - type: 'modify', - path: path.join(basePath, 'public/app/core/reducers/root.ts'), - pattern: '// PLOP_INJECT_IMPORT', - template: `import { ${reducerPath} } from '${clientImportPath}/${groupName}/${version}';\n// PLOP_INJECT_IMPORT`, - }, - { - type: 'modify', - path: path.join(basePath, 'public/app/core/reducers/root.ts'), - pattern: '// PLOP_INJECT_REDUCER', - template: `[${reducerPath}.reducerPath]: ${reducerPath}.reducer,\n // PLOP_INJECT_REDUCER`, - }, - { - type: 'modify', - path: path.join(basePath, 'public/app/store/configureStore.ts'), - pattern: '// PLOP_INJECT_IMPORT', - template: `import { ${reducerPath} } from '${clientImportPath}/${groupName}/${version}';\n// PLOP_INJECT_IMPORT`, - }, - { - type: 'modify', - path: path.join(basePath, 'public/app/store/configureStore.ts'), - pattern: '// PLOP_INJECT_MIDDLEWARE', - template: `${reducerPath}.middleware,\n // PLOP_INJECT_MIDDLEWARE`, - } - ); - } - - // Add formatting and generation actions - actions.push( - { - type: 'formatFiles', - files: getFilesToFormat(groupName, version, isEnterprise), - }, - { - type: 'runGenerateApis', - isEnterprise, - } - ); - - return actions; - }; - - const generator: PlopGeneratorConfig = { - description: 'Generate RTK Query API client for a Grafana API group', - prompts: [ - { - type: 'confirm', - name: 'isEnterprise', - message: 'Is this a Grafana Enterprise API?', - default: false, - }, - { - type: 'input', - name: 'groupName', - message: 'API group name (e.g. dashboard):', - validate: (input: string) => (input?.trim() ? true : 'Group name is required'), - }, - { - type: 'input', - name: 'group', - message: 'API group (e.g. dashboard.grafana.app):', - default: (answers: { groupName?: string }) => `${answers.groupName}.grafana.app`, - validate: validateGroup, - }, - { - type: 'input', - name: 'version', - message: 'API version (e.g. v0alpha1):', - default: 'v0alpha1', - validate: validateVersion, - }, - { - type: 'input', - name: 'reducerPath', - message: 'Reducer path (e.g. dashboardAPIv0alpha1):', - default: (answers: { groupName?: string; version?: string }) => `${answers.groupName}API${answers.version}`, - validate: (input: string) => - input?.endsWith('API') || input?.match(/API[a-z]\d+[a-z]*\d*$/) - ? true - : 'Reducer path should end with "API" or "API" (e.g. dashboardAPI, dashboardAPIv0alpha1)', - }, - { - type: 'input', - name: 'endpoints', - message: 'Endpoints to include (comma-separated, optional):', - validate: () => true, - }, - ], - actions: function (data) { - if (!isPlopData(data)) { - throw new Error('Invalid data format received from prompts'); - } - - return generateRtkApiActions(data); - }, - }; - - plop.setGenerator('rtk-api-client', generator); -} diff --git a/scripts/rtk-client-generator/templates/baseAPI.ts.hbs b/scripts/rtk-client-generator/templates/baseAPI.ts.hbs deleted file mode 100644 index a5fd29cf488..00000000000 --- a/scripts/rtk-client-generator/templates/baseAPI.ts.hbs +++ /dev/null @@ -1,14 +0,0 @@ -import { createApi } from '@reduxjs/toolkit/query/react'; - -import { createBaseQuery } from 'app/api/createBaseQuery'; -import { getAPIBaseURL } from 'app/api/utils'; - -export const BASE_URL = getAPIBaseURL('{{group}}', '{{version}}'); - -export const api = createApi({ - reducerPath: '{{reducerPath}}', - baseQuery: createBaseQuery({ - baseURL: BASE_URL, - }), - endpoints: () => ({}), -}); diff --git a/scripts/rtk-client-generator/templates/config-entry.hbs b/scripts/rtk-client-generator/templates/config-entry.hbs deleted file mode 100644 index 2ccb0a54e6e..00000000000 --- a/scripts/rtk-client-generator/templates/config-entry.hbs +++ /dev/null @@ -1,9 +0,0 @@ -'{{apiPathPrefix}}/{{groupName}}/{{version}}/endpoints.gen.ts': { - apiFile: '{{apiPathPrefix}}/{{groupName}}/{{version}}/baseAPI.ts', - schemaFile: '../data/openapi/{{group}}-{{version}}.json', - {{#if endpoints}} - filterEndpoints: [{{{formatEndpoints endpoints}}}], - {{/if}} - tag: true, -}, -// PLOP_INJECT_API_CLIENT - Used by the API client generator diff --git a/scripts/rtk-client-generator/templates/index.ts.hbs b/scripts/rtk-client-generator/templates/index.ts.hbs deleted file mode 100644 index de9c3c66cf8..00000000000 --- a/scripts/rtk-client-generator/templates/index.ts.hbs +++ /dev/null @@ -1,3 +0,0 @@ -import { generatedAPI } from './endpoints.gen'; - -export const {{reducerPath}} = generatedAPI.enhanceEndpoints({}); diff --git a/scripts/rtk-client-generator/types.ts b/scripts/rtk-client-generator/types.ts deleted file mode 100644 index 0eb73b6ab90..00000000000 --- a/scripts/rtk-client-generator/types.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { AddActionConfig, ModifyActionConfig } from 'plop'; - -export interface FormatFilesActionConfig { - type: 'formatFiles'; - files: string[]; -} - -export interface RunGenerateApisActionConfig { - type: 'runGenerateApis'; - isEnterprise: boolean; -} - -// Union type of all possible action configs -export type ActionConfig = AddActionConfig | ModifyActionConfig | FormatFilesActionConfig | RunGenerateApisActionConfig; - -export interface PlopData { - groupName: string; - group: string; - version: string; - reducerPath: string; - endpoints: string; - isEnterprise: boolean; -} - -export function isPlopData(data: unknown): data is PlopData { - return typeof data === 'object' && data !== null; -} diff --git a/scripts/webpack/webpack.common.js b/scripts/webpack/webpack.common.js index 8d847f40813..de89b00ccb1 100644 --- a/scripts/webpack/webpack.common.js +++ b/scripts/webpack/webpack.common.js @@ -1,4 +1,3 @@ -const CopyWebpackPlugin = require('copy-webpack-plugin'); const path = require('path'); const webpack = require('webpack'); @@ -69,14 +68,6 @@ module.exports = { new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'], }), - new CopyWebpackPlugin({ - patterns: [ - { - from: 'public/img', - to: 'img', - }, - ], - }), ], module: { rules: [ diff --git a/scripts/webpack/webpack.dev.js b/scripts/webpack/webpack.dev.js index 20c8c38c46c..32caaa5fb9e 100644 --- a/scripts/webpack/webpack.dev.js +++ b/scripts/webpack/webpack.dev.js @@ -4,7 +4,6 @@ const browserslist = require('browserslist'); const { resolveToEsbuildTarget } = require('esbuild-plugin-browserslist'); const ESLintPlugin = require('eslint-webpack-plugin'); const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); -const fs = require('fs'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const path = require('path'); const { DefinePlugin, EnvironmentPlugin } = require('webpack'); @@ -30,21 +29,6 @@ function getDecoupledPlugins() { return packages.filter((pkg) => pkg.dir.includes('plugins/datasource')).map((pkg) => `${pkg.dir}/**`); } -// When linking scenes for development, resolve the path to the src directory for sourcemaps -function scenesModule() { - const scenesPath = path.resolve('./node_modules/@grafana/scenes'); - try { - const status = fs.lstatSync(scenesPath); - if (status.isSymbolicLink()) { - console.log(`scenes is linked to local scenes repo`); - return path.resolve(scenesPath + '/src'); - } - } catch (error) { - console.error(`Error checking scenes path: ${error.message}`); - } - return scenesPath; -} - const envConfig = getEnvConfig(); module.exports = (env = {}) => { @@ -68,10 +52,14 @@ module.exports = (env = {}) => { // Packages linked for development need react to be resolved from the same location react: path.resolve('./node_modules/react'), + // Also Grafana packages need to be resolved from the same location so they share + // the same singletons + '@grafana/runtime': path.resolve(__dirname, '../../packages/grafana-runtime'), + '@grafana/data': path.resolve(__dirname, '../../packages/grafana-data'), + // This is required to correctly resolve react-router-dom when linking with // local version of @grafana/scenes 'react-router-dom': path.resolve('./node_modules/react-router-dom'), - '@grafana/scenes': scenesModule(), }, }, diff --git a/yarn.lock b/yarn.lock index 1fb483783dc..e5c24cd91bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4655,16 +4655,16 @@ __metadata: languageName: node linkType: hard -"@lerna/create@npm:8.1.8": - version: 8.1.8 - resolution: "@lerna/create@npm:8.1.8" +"@lerna/create@npm:8.2.3": + version: 8.2.3 + resolution: "@lerna/create@npm:8.2.3" dependencies: "@npmcli/arborist": "npm:7.5.4" "@npmcli/package-json": "npm:5.2.0" "@npmcli/run-script": "npm:8.1.0" - "@nx/devkit": "npm:>=17.1.2 < 20" + "@nx/devkit": "npm:>=17.1.2 < 21" "@octokit/plugin-enterprise-rest": "npm:6.0.1" - "@octokit/rest": "npm:19.0.11" + "@octokit/rest": "npm:20.1.2" aproba: "npm:2.0.0" byte-size: "npm:8.1.1" chalk: "npm:4.1.0" @@ -4675,14 +4675,13 @@ __metadata: console-control-strings: "npm:^1.1.0" conventional-changelog-core: "npm:5.0.1" conventional-recommended-bump: "npm:7.0.1" - cosmiconfig: "npm:^8.2.0" + cosmiconfig: "npm:9.0.0" dedent: "npm:1.5.3" execa: "npm:5.0.0" fs-extra: "npm:^11.2.0" get-stream: "npm:6.0.0" git-url-parse: "npm:14.0.0" glob-parent: "npm:6.0.2" - globby: "npm:11.1.0" graceful-fs: "npm:4.2.11" has-unicode: "npm:2.0.1" ini: "npm:^1.3.8" @@ -4701,7 +4700,7 @@ __metadata: npm-package-arg: "npm:11.0.2" npm-packlist: "npm:8.0.2" npm-registry-fetch: "npm:^17.1.0" - nx: "npm:>=17.1.2 < 20" + nx: "npm:>=17.1.2 < 21" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-queue: "npm:6.6.2" @@ -4717,10 +4716,10 @@ __metadata: slash: "npm:^3.0.0" ssri: "npm:^10.0.6" string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - strong-log-transformer: "npm:2.1.0" tar: "npm:6.2.1" temp-dir: "npm:1.0.0" + through: "npm:2.3.8" + tinyglobby: "npm:0.2.12" upath: "npm:2.0.1" uuid: "npm:^10.0.0" validate-npm-package-license: "npm:^3.0.4" @@ -4730,7 +4729,7 @@ __metadata: write-pkg: "npm:4.0.0" yargs: "npm:17.7.2" yargs-parser: "npm:21.1.1" - checksum: 10/810df5d35303882f84585be5360b248cec2d339df90bd594231ef2276cc5d2f633b264ae3221b0d2fa0611eeca86ae00cf8c184f79a1fab46ab0663a039a010b + checksum: 10/1264bf324de2c83377dbc0b49c6731b9e27401c552c34601846b012c46aee496c9a3bcdeba87e59cfaf8b54d3c82f7f3ece62ff4c77ca7b3a85acfc021b7cbb2 languageName: node linkType: hard @@ -5284,32 +5283,10 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:19.0.8": - version: 19.0.8 - resolution: "@nrwl/devkit@npm:19.0.8" +"@nx/devkit@npm:>=17.1.2 < 21": + version: 20.8.2 + resolution: "@nx/devkit@npm:20.8.2" dependencies: - "@nx/devkit": "npm:19.0.8" - checksum: 10/3707d2ce9580d44f45b4d1217655c54a00e87cb907cc97938c7119d5ece874358052ab0f9bc5d09fa8c67166605995dc4715c50ad08fb25f67c5614cf37bae84 - languageName: node - linkType: hard - -"@nrwl/tao@npm:19.8.2": - version: 19.8.2 - resolution: "@nrwl/tao@npm:19.8.2" - dependencies: - nx: "npm:19.8.2" - tslib: "npm:^2.3.0" - bin: - tao: index.js - checksum: 10/5db4f551d302efba29c8ff3a0c4b214c6f0a05da2fe6fc4837214386088260f228b821907ed106501b7f93bcce85da7064f0883a6b06133d303c3e1c507ae7e2 - languageName: node - linkType: hard - -"@nx/devkit@npm:19.0.8, @nx/devkit@npm:>=17.1.2 < 20": - version: 19.0.8 - resolution: "@nx/devkit@npm:19.0.8" - dependencies: - "@nrwl/devkit": "npm:19.0.8" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" @@ -5319,129 +5296,198 @@ __metadata: tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" peerDependencies: - nx: ">= 17 <= 20" - checksum: 10/ee6d6776662552f8f5ffc4cb45a690432601efd7b7a880fdf0def2921a5c41704552b5d336df9b8cd47071e93f40c2c1f95306f8cb12408e2570a40e65b0ad3c + nx: ">= 19 <= 21" + checksum: 10/27a013100435351da34eef669297bc6ab34ed32d5c2f1da237e6ba59188c1320b2c1cb19f08e56918c61dbe9aec5538b44101deffea02187f3a67ecc8ec90d54 languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-darwin-arm64@npm:19.8.2" +"@nx/nx-darwin-arm64@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-darwin-arm64@npm:20.7.1" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-darwin-x64@npm:19.8.2" +"@nx/nx-darwin-arm64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-darwin-arm64@npm:20.8.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-darwin-x64@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-darwin-x64@npm:20.7.1" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-freebsd-x64@npm:19.8.2" +"@nx/nx-darwin-x64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-darwin-x64@npm:20.8.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-freebsd-x64@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-freebsd-x64@npm:20.7.1" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.8.2" +"@nx/nx-freebsd-x64@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-freebsd-x64@npm:20.8.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-linux-arm-gnueabihf@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:20.7.1" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-linux-arm64-gnu@npm:19.8.2" +"@nx/nx-linux-arm-gnueabihf@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:20.8.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-gnu@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-linux-arm64-gnu@npm:20.7.1" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-linux-arm64-musl@npm:19.8.2" +"@nx/nx-linux-arm64-gnu@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm64-gnu@npm:20.8.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-musl@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-linux-arm64-musl@npm:20.7.1" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-linux-x64-gnu@npm:19.8.2" +"@nx/nx-linux-arm64-musl@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-arm64-musl@npm:20.8.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-linux-x64-gnu@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-linux-x64-gnu@npm:20.7.1" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-linux-x64-musl@npm:19.8.2" +"@nx/nx-linux-x64-gnu@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-x64-gnu@npm:20.8.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-x64-musl@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-linux-x64-musl@npm:20.7.1" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-win32-arm64-msvc@npm:19.8.2" +"@nx/nx-linux-x64-musl@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-linux-x64-musl@npm:20.8.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-win32-arm64-msvc@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-win32-arm64-msvc@npm:20.7.1" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:19.8.2": - version: 19.8.2 - resolution: "@nx/nx-win32-x64-msvc@npm:19.8.2" +"@nx/nx-win32-arm64-msvc@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-win32-arm64-msvc@npm:20.8.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-win32-x64-msvc@npm:20.7.1": + version: 20.7.1 + resolution: "@nx/nx-win32-x64-msvc@npm:20.7.1" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@octokit/auth-token@npm:^3.0.0": - version: 3.0.4 - resolution: "@octokit/auth-token@npm:3.0.4" - checksum: 10/8e21e567e38ba307fa30497ad77801135e25c328ce8b363c1622a4afb408a7d3315d54082527b38ecd5b3a5449680d89cfca9cb10c516cacf3dfa01e4c8b7195 +"@nx/nx-win32-x64-msvc@npm:20.8.2": + version: 20.8.2 + resolution: "@nx/nx-win32-x64-msvc@npm:20.8.2" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@octokit/core@npm:^4.2.1": - version: 4.2.4 - resolution: "@octokit/core@npm:4.2.4" +"@octokit/auth-token@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/auth-token@npm:4.0.0" + checksum: 10/60e42701e341d700f73c518c7a35675d36d79fa9d5e838cc3ade96d147e49f5ba74db2e07b2337c2b95aaa540aa42088116df2122daa25633f9e70a2c8785c44 + languageName: node + linkType: hard + +"@octokit/core@npm:^5.0.2": + version: 5.2.2 + resolution: "@octokit/core@npm:5.2.2" dependencies: - "@octokit/auth-token": "npm:^3.0.0" - "@octokit/graphql": "npm:^5.0.0" - "@octokit/request": "npm:^6.0.0" - "@octokit/request-error": "npm:^3.0.0" - "@octokit/types": "npm:^9.0.0" + "@octokit/auth-token": "npm:^4.0.0" + "@octokit/graphql": "npm:^7.1.0" + "@octokit/request": "npm:^8.4.1" + "@octokit/request-error": "npm:^5.1.1" + "@octokit/types": "npm:^13.0.0" before-after-hook: "npm:^2.2.0" universal-user-agent: "npm:^6.0.0" - checksum: 10/53ba8f990ce2c0ea4583d8c142377770c3ac8fb9221b563d82dbca9d642f19be49607b9e9b472767075e4afa16c2203339680d75f3ebf5ad853af2646e8604ca + checksum: 10/0c39b43e562a8acf8f1d563a85f3c0e55e6d678ae16a4b3d6341060b3d5315c021dfa1bd15dc818fa4cc5612eb5cd518b13cb7c194e3c92ca3da9c0dc6a854b5 languageName: node linkType: hard -"@octokit/endpoint@npm:^7.0.0": - version: 7.0.6 - resolution: "@octokit/endpoint@npm:7.0.6" +"@octokit/endpoint@npm:^9.0.6": + version: 9.0.6 + resolution: "@octokit/endpoint@npm:9.0.6" dependencies: - "@octokit/types": "npm:^9.0.0" - is-plain-object: "npm:^5.0.0" + "@octokit/types": "npm:^13.1.0" universal-user-agent: "npm:^6.0.0" - checksum: 10/e8b9cc09aa8306d63cb0e5b65ac5d29fc421522c92810a9d70bbfef997bc8750fc339f1f4f60e1604c22db77457ea493c51849b0d61cbfcb8655b0c4f2640e4b + checksum: 10/2bf776423365ee926bf3f722a664e52f1070758eff4a176279fb132103fd0c76e3541f83ace49bbad9a64f9c9b8de453be565ca8d6136989e9514dea65380ecf languageName: node linkType: hard -"@octokit/graphql@npm:^5.0.0": - version: 5.0.6 - resolution: "@octokit/graphql@npm:5.0.6" +"@octokit/graphql@npm:^7.1.0": + version: 7.1.1 + resolution: "@octokit/graphql@npm:7.1.1" dependencies: - "@octokit/request": "npm:^6.0.0" - "@octokit/types": "npm:^9.0.0" + "@octokit/request": "npm:^8.4.1" + "@octokit/types": "npm:^13.0.0" universal-user-agent: "npm:^6.0.0" - checksum: 10/6014690d184d7b2bfb56ab9be5ddbe4f5c77aa6031d71ec2caf5f56cbd32f4a5b0601049cef7dce1ca8010b89a9fc8bb07ce7833e6213c5bc77b7a564b1f40b9 + checksum: 10/9a7a65fa84df795b0acb5315dae5a4a5a042a01dde0c88974df180a1c02b9b8e61cae013be32461b11ee1d507a8f778f3b7f37dfa3b371771332cb8efcd01f29 languageName: node linkType: hard -"@octokit/openapi-types@npm:^18.0.0": - version: 18.1.1 - resolution: "@octokit/openapi-types@npm:18.1.1" - checksum: 10/bd2920a238f74c6ccc1e2ee916bd3e17adeeef3bbb1726f821b8722dceaeff5ea2786b3170cc25dd51775cb9179d3cdf448a3526e70b8a1fc21cdd8aa52e5d4c +"@octokit/openapi-types@npm:^24.2.0": + version: 24.2.0 + resolution: "@octokit/openapi-types@npm:24.2.0" + checksum: 10/000897ebc6e247c2591049d6081e95eb5636f73798dadd695ee6048496772b58065df88823e74a760201828545a7ac601dd3c1bcd2e00079a62a9ee9d389409c languageName: node linkType: hard @@ -5452,97 +5498,78 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^6.1.2": - version: 6.1.2 - resolution: "@octokit/plugin-paginate-rest@npm:6.1.2" +"@octokit/plugin-paginate-rest@npm:11.4.4-cjs.2": + version: 11.4.4-cjs.2 + resolution: "@octokit/plugin-paginate-rest@npm:11.4.4-cjs.2" dependencies: - "@octokit/tsconfig": "npm:^1.0.2" - "@octokit/types": "npm:^9.2.3" + "@octokit/types": "npm:^13.7.0" peerDependencies: - "@octokit/core": ">=4" - checksum: 10/6d5b97fb44a3ed8ff25196b56ebe7bdac64f4023c165792f77938c77876934c01b46e79b83712e26cd3f2f9e36e0735bd3c292a37e8060a2b259f3a6456116dc + "@octokit/core": 5 + checksum: 10/e0f696b3b69febe4e7c736d909065871f38bb8346a07f19a9c83246a02972568ac672667db472f846baef20a9611adf26ce8f0f189a11004c4b6618765078e19 languageName: node linkType: hard -"@octokit/plugin-request-log@npm:^1.0.4": - version: 1.0.4 - resolution: "@octokit/plugin-request-log@npm:1.0.4" +"@octokit/plugin-request-log@npm:^4.0.0": + version: 4.0.1 + resolution: "@octokit/plugin-request-log@npm:4.0.1" peerDependencies: - "@octokit/core": ">=3" - checksum: 10/2086db00056aee0f8ebd79797b5b57149ae1014e757ea08985b71eec8c3d85dbb54533f4fd34b6b9ecaa760904ae6a7536be27d71e50a3782ab47809094bfc0c + "@octokit/core": 5 + checksum: 10/fd8c0a201490cba00084689a0d1d54fc7b5ab5b6bdb7e447056b947b1754f78526e9685400eab10d3522bfa7b5bc49c555f41ec412c788610b96500b168f3789 languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:^7.1.2": - version: 7.2.3 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:7.2.3" +"@octokit/plugin-rest-endpoint-methods@npm:13.3.2-cjs.1": + version: 13.3.2-cjs.1 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:13.3.2-cjs.1" dependencies: - "@octokit/types": "npm:^10.0.0" + "@octokit/types": "npm:^13.8.0" peerDependencies: - "@octokit/core": ">=3" - checksum: 10/59fb4e786ab85a5f3ad701e1b193dd3113833cfd1f2657cb06864e45b80a53a1f9ba6c3c66a855c4bf2593c539299fdfe51db639e3a87dc16ffa7602fe9bb999 + "@octokit/core": ^5 + checksum: 10/479827e62466e55bc1a50129d51597807bddc6c909e56be9e8dd9c1a91efa0f466a2f56b7d80438649e21ab0a3a195f840b3fccf2ae7f11fb0a919db8e62bc62 languageName: node linkType: hard -"@octokit/request-error@npm:^3.0.0": - version: 3.0.3 - resolution: "@octokit/request-error@npm:3.0.3" +"@octokit/request-error@npm:^5.1.1": + version: 5.1.1 + resolution: "@octokit/request-error@npm:5.1.1" dependencies: - "@octokit/types": "npm:^9.0.0" + "@octokit/types": "npm:^13.1.0" deprecation: "npm:^2.0.0" once: "npm:^1.4.0" - checksum: 10/5db0b514732686b627e6ed9ef1ccdbc10501f1b271a9b31f784783f01beee70083d7edcfeb35fbd7e569fa31fdd6762b1ff6b46101700d2d97e7e48e749520d0 + checksum: 10/6ad98626407ba57bb33fa197611be74bee1dd9abc8d5d845648d6a2a04aa6840c0eb7f4be341d55dfcab5bc19181ad5fd25194869a7aaac6245f74b3a14d9662 languageName: node linkType: hard -"@octokit/request@npm:^6.0.0": - version: 6.2.8 - resolution: "@octokit/request@npm:6.2.8" +"@octokit/request@npm:^8.4.1": + version: 8.4.1 + resolution: "@octokit/request@npm:8.4.1" dependencies: - "@octokit/endpoint": "npm:^7.0.0" - "@octokit/request-error": "npm:^3.0.0" - "@octokit/types": "npm:^9.0.0" - is-plain-object: "npm:^5.0.0" - node-fetch: "npm:^2.6.7" + "@octokit/endpoint": "npm:^9.0.6" + "@octokit/request-error": "npm:^5.1.1" + "@octokit/types": "npm:^13.1.0" universal-user-agent: "npm:^6.0.0" - checksum: 10/47188fa08d28e5e9e6a22f84058fc13f108cdcb68aea97686da4718d32d3ddda8fde8a5c9f189057e3d466560b67c2305a2e343d1eed9517b47a13f68cb329e7 + checksum: 10/2b2c9131cc9b608baeeef8ce2943768cc9db5fbe36a665f734a099bd921561c760e4391fbdf39d5aefb725db26742db1488c65624940ef7cec522e10863caa5e languageName: node linkType: hard -"@octokit/rest@npm:19.0.11": - version: 19.0.11 - resolution: "@octokit/rest@npm:19.0.11" +"@octokit/rest@npm:20.1.2": + version: 20.1.2 + resolution: "@octokit/rest@npm:20.1.2" dependencies: - "@octokit/core": "npm:^4.2.1" - "@octokit/plugin-paginate-rest": "npm:^6.1.2" - "@octokit/plugin-request-log": "npm:^1.0.4" - "@octokit/plugin-rest-endpoint-methods": "npm:^7.1.2" - checksum: 10/c9b15de6b544506c85c0297e48aa51a2aeb8f73415eef7331fc5c951c7eaa75f6fcf9d549ca5bb52a5f631553c94a70ac550ef9a3202ee765c49c04a85523d8b + "@octokit/core": "npm:^5.0.2" + "@octokit/plugin-paginate-rest": "npm:11.4.4-cjs.2" + "@octokit/plugin-request-log": "npm:^4.0.0" + "@octokit/plugin-rest-endpoint-methods": "npm:13.3.2-cjs.1" + checksum: 10/e0759fdbf18bc96f68299b4ca04d7102ce861e8508f01e9e580ed9c1e19d4cc20d150635161e360375f1c52c95e54bf6b56aaae16f943a93d6dcb38a51d8a23e languageName: node linkType: hard -"@octokit/tsconfig@npm:^1.0.2": - version: 1.0.2 - resolution: "@octokit/tsconfig@npm:1.0.2" - checksum: 10/74d56f3e9f326a8dd63700e9a51a7c75487180629c7a68bbafee97c612fbf57af8347369bfa6610b9268a3e8b833c19c1e4beb03f26db9a9dce31f6f7a19b5b1 - languageName: node - linkType: hard - -"@octokit/types@npm:^10.0.0": - version: 10.0.0 - resolution: "@octokit/types@npm:10.0.0" +"@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0, @octokit/types@npm:^13.7.0, @octokit/types@npm:^13.8.0": + version: 13.10.0 + resolution: "@octokit/types@npm:13.10.0" dependencies: - "@octokit/openapi-types": "npm:^18.0.0" - checksum: 10/6345e605d30c99639a0207cfc7bea5bf29d9007e93cdcd78be3f8218830a462a0f0fbb976f5c2d9ebe70ee2aa33d1b72243cdb955478581ee2cead059ac4f030 - languageName: node - linkType: hard - -"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.3": - version: 9.3.2 - resolution: "@octokit/types@npm:9.3.2" - dependencies: - "@octokit/openapi-types": "npm:^18.0.0" - checksum: 10/4bcd18850d5397e5835f5686be88ad95e5d7c23e7d53f898b82a8ca5fc1f6a7b53816ef6f9f3b7a06799c0b030d259bf2bd50a258a1656df2dc7f3e533e334f8 + "@octokit/openapi-types": "npm:^24.2.0" + checksum: 10/32f8f5010d7faae128b0cdd0c221f0ca8c3781fe44483ecd87162b3da507db667f7369acda81340f6e2c9c374d9a938803409c6085c2c01d98210b6c58efb99a languageName: node linkType: hard @@ -10756,13 +10783,13 @@ __metadata: languageName: node linkType: hard -"@yarnpkg/parsers@npm:3.0.0-rc.46": - version: 3.0.0-rc.46 - resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" +"@yarnpkg/parsers@npm:3.0.2": + version: 3.0.2 + resolution: "@yarnpkg/parsers@npm:3.0.2" dependencies: js-yaml: "npm:^3.10.0" tslib: "npm:^2.4.0" - checksum: 10/3b7d55ebd1b90fe2adf05bfaab53031fb9ddb6315f8dfca1b5ba0393c08fc4a7f22c94603eec06dfe0a67e4121e5227b0ae57a70c73d353614650e2b54b6049d + checksum: 10/87506f140d6c401bdd89ff22073c3dd3ec7b6858e7f576e63ec1aea1b0b8a8ec241eb46ca5582dc2071098a86d6a55c3b0628da5eeff91d33afb4fa7cac0cf65 languageName: node linkType: hard @@ -11555,6 +11582,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:^1.8.3": + version: 1.11.0 + resolution: "axios@npm:1.11.0" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.4" + proxy-from-env: "npm:^1.1.0" + checksum: 10/232df4af7a4e4e07baa84621b9cc4b0c518a757b4eacc7f635c0eb3642cb98dff347326739f24b891b3b4481b7b838c79a3a0c4819c9fbc1fc40232431b9c5dc + languageName: node + linkType: hard + "axobject-query@npm:^4.1.0": version: 4.1.0 resolution: "axobject-query@npm:4.1.0" @@ -13364,6 +13402,23 @@ __metadata: languageName: node linkType: hard +"cosmiconfig@npm:9.0.0, cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" + dependencies: + env-paths: "npm:^2.2.1" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/8bdf1dfbb6fdb3755195b6886dc0649a3c742ec75afa4cb8da7b070936aed22a4f4e5b7359faafe03180358f311dbc300d248fd6586c458203d376a40cc77826 + languageName: node + linkType: hard + "cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": version: 7.0.1 resolution: "cosmiconfig@npm:7.0.1" @@ -13394,23 +13449,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^9.0.0": - version: 9.0.0 - resolution: "cosmiconfig@npm:9.0.0" - dependencies: - env-paths: "npm:^2.2.1" - import-fresh: "npm:^3.3.0" - js-yaml: "npm:^4.1.0" - parse-json: "npm:^5.2.0" - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/8bdf1dfbb6fdb3755195b6886dc0649a3c742ec75afa4cb8da7b070936aed22a4f4e5b7359faafe03180358f311dbc300d248fd6586c458203d376a40cc77826 - languageName: node - linkType: hard - "crashme@npm:0.0.15": version: 0.0.15 resolution: "crashme@npm:0.0.15" @@ -14986,7 +15024,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1, duplexer@npm:^0.1.2": +"duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -16524,6 +16562,18 @@ __metadata: languageName: node linkType: hard +"fdir@npm:^6.4.3": + version: 6.4.6 + resolution: "fdir@npm:6.4.6" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10/c186ba387e7b75ccf874a098d9bc5fe0af0e9c52fc56f8eac8e80aa4edb65532684bf2bf769894ff90f53bf221d6136692052d31f07a9952807acae6cbe7ee50 + languageName: node + linkType: hard + "fflate@npm:^0.4.8": version: 0.4.8 resolution: "fflate@npm:0.4.8" @@ -16875,7 +16925,7 @@ __metadata: languageName: node linkType: hard -"form-data@npm:4.0.4": +"form-data@npm:4.0.4, form-data@npm:^4.0.4": version: 4.0.4 resolution: "form-data@npm:4.0.4" dependencies: @@ -17554,7 +17604,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:11.1.0, globby@npm:^11.0.0, globby@npm:^11.1.0": +"globby@npm:^11.0.0, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -17833,7 +17883,7 @@ __metadata: json-source-map: "npm:0.6.1" jsurl: "npm:^0.1.5" kbar: "npm:0.1.0-beta.45" - lerna: "npm:8.1.8" + lerna: "npm:8.2.3" leven: "npm:^4.0.0" lodash: "npm:4.17.21" logfmt: "npm:^1.3.2" @@ -17856,9 +17906,11 @@ __metadata: ngtemplate-loader: "npm:2.1.0" node-forge: "npm:^1.3.1" node-notifier: "npm:10.0.1" - nx: "npm:19.8.2" + nx: "npm:20.7.1" ol: "npm:7.4.0" ol-ext: "npm:4.0.24" + openapi-types: "npm:^12.1.3" + pdf-parse: "npm:^1.1.1" pluralize: "npm:^8.0.0" postcss: "npm:8.4.49" postcss-loader: "npm:8.1.1" @@ -20893,17 +20945,17 @@ __metadata: languageName: node linkType: hard -"lerna@npm:8.1.8": - version: 8.1.8 - resolution: "lerna@npm:8.1.8" +"lerna@npm:8.2.3": + version: 8.2.3 + resolution: "lerna@npm:8.2.3" dependencies: - "@lerna/create": "npm:8.1.8" + "@lerna/create": "npm:8.2.3" "@npmcli/arborist": "npm:7.5.4" "@npmcli/package-json": "npm:5.2.0" "@npmcli/run-script": "npm:8.1.0" - "@nx/devkit": "npm:>=17.1.2 < 20" + "@nx/devkit": "npm:>=17.1.2 < 21" "@octokit/plugin-enterprise-rest": "npm:6.0.1" - "@octokit/rest": "npm:19.0.11" + "@octokit/rest": "npm:20.1.2" aproba: "npm:2.0.0" byte-size: "npm:8.1.1" chalk: "npm:4.1.0" @@ -20915,7 +20967,7 @@ __metadata: conventional-changelog-angular: "npm:7.0.0" conventional-changelog-core: "npm:5.0.1" conventional-recommended-bump: "npm:7.0.1" - cosmiconfig: "npm:^8.2.0" + cosmiconfig: "npm:9.0.0" dedent: "npm:1.5.3" envinfo: "npm:7.13.0" execa: "npm:5.0.0" @@ -20924,7 +20976,6 @@ __metadata: get-stream: "npm:6.0.0" git-url-parse: "npm:14.0.0" glob-parent: "npm:6.0.2" - globby: "npm:11.1.0" graceful-fs: "npm:4.2.11" has-unicode: "npm:2.0.1" import-local: "npm:3.1.0" @@ -20946,7 +20997,7 @@ __metadata: npm-package-arg: "npm:11.0.2" npm-packlist: "npm:8.0.2" npm-registry-fetch: "npm:^17.1.0" - nx: "npm:>=17.1.2 < 20" + nx: "npm:>=17.1.2 < 21" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-pipe: "npm:3.1.0" @@ -20964,10 +21015,10 @@ __metadata: slash: "npm:3.0.0" ssri: "npm:^10.0.6" string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - strong-log-transformer: "npm:2.1.0" tar: "npm:6.2.1" temp-dir: "npm:1.0.0" + through: "npm:2.3.8" + tinyglobby: "npm:0.2.12" typescript: "npm:>=3 < 6" upath: "npm:2.0.1" uuid: "npm:^10.0.0" @@ -20980,7 +21031,7 @@ __metadata: yargs-parser: "npm:21.1.1" bin: lerna: dist/cli.js - checksum: 10/c058064f07b3e32fb10a2e37bd8a76b3cbba76c5e90250e508726003c4c2f80545d6a95a3de533ff8f1f20931c47055290e555a34b78de53eed786995d25b3e9 + checksum: 10/3ef9e5c6e2ee20cad0c750817cf628dffa0056f9b87ee4956f641833ac3b06a8fdf50d4cd6ba63a818427c7e6c1482568c9e184f0535fd23239ed55e5eae57a7 languageName: node linkType: hard @@ -22538,6 +22589,13 @@ __metadata: languageName: node linkType: hard +"node-ensure@npm:^0.0.0": + version: 0.0.0 + resolution: "node-ensure@npm:0.0.0" + checksum: 10/1124623beb1dec66889794286ec1761ac3bfac42ce93b8652903efa5af14227edce5bafa06c4e0675cdc850360931d7c9413e3b5406150f05b2c9bf5bb3ccce4 + languageName: node + linkType: hard + "node-fetch-commonjs@npm:^3.3.2": version: 3.3.2 resolution: "node-fetch-commonjs@npm:3.3.2" @@ -22571,7 +22629,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.1": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -22892,26 +22950,25 @@ __metadata: languageName: node linkType: hard -"nx@npm:19.8.2, nx@npm:>=17.1.2 < 20": - version: 19.8.2 - resolution: "nx@npm:19.8.2" +"nx@npm:20.7.1": + version: 20.7.1 + resolution: "nx@npm:20.7.1" dependencies: "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nrwl/tao": "npm:19.8.2" - "@nx/nx-darwin-arm64": "npm:19.8.2" - "@nx/nx-darwin-x64": "npm:19.8.2" - "@nx/nx-freebsd-x64": "npm:19.8.2" - "@nx/nx-linux-arm-gnueabihf": "npm:19.8.2" - "@nx/nx-linux-arm64-gnu": "npm:19.8.2" - "@nx/nx-linux-arm64-musl": "npm:19.8.2" - "@nx/nx-linux-x64-gnu": "npm:19.8.2" - "@nx/nx-linux-x64-musl": "npm:19.8.2" - "@nx/nx-win32-arm64-msvc": "npm:19.8.2" - "@nx/nx-win32-x64-msvc": "npm:19.8.2" + "@nx/nx-darwin-arm64": "npm:20.7.1" + "@nx/nx-darwin-x64": "npm:20.7.1" + "@nx/nx-freebsd-x64": "npm:20.7.1" + "@nx/nx-linux-arm-gnueabihf": "npm:20.7.1" + "@nx/nx-linux-arm64-gnu": "npm:20.7.1" + "@nx/nx-linux-arm64-musl": "npm:20.7.1" + "@nx/nx-linux-x64-gnu": "npm:20.7.1" + "@nx/nx-linux-x64-musl": "npm:20.7.1" + "@nx/nx-win32-arm64-msvc": "npm:20.7.1" + "@nx/nx-win32-x64-msvc": "npm:20.7.1" "@yarnpkg/lockfile": "npm:^1.1.0" - "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@yarnpkg/parsers": "npm:3.0.2" "@zkochan/js-yaml": "npm:0.0.7" - axios: "npm:^1.7.4" + axios: "npm:^1.8.3" chalk: "npm:^4.1.0" cli-cursor: "npm:3.1.0" cli-spinners: "npm:2.6.1" @@ -22931,13 +22988,14 @@ __metadata: npm-run-path: "npm:^4.0.1" open: "npm:^8.4.0" ora: "npm:5.3.0" + resolve.exports: "npm:2.0.3" semver: "npm:^7.5.3" string-width: "npm:^4.2.3" - strong-log-transformer: "npm:^2.1.0" tar-stream: "npm:~2.2.0" tmp: "npm:~0.2.1" tsconfig-paths: "npm:^4.1.2" tslib: "npm:^2.3.0" + yaml: "npm:^2.6.0" yargs: "npm:^17.6.2" yargs-parser: "npm:21.1.1" peerDependencies: @@ -22972,7 +23030,91 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 10/2caec97e60730256bf48d0a2d28f0a785253ef8c832a5372342c01fa58f5416baac0ec8bae71db3d40aa98b1f43bc9aa416e425d4a157cc1b410534f05c63e42 + checksum: 10/fe34738df4988a0fd07d65576dd0850e0ae6cc3611794f2c636ac90e51b09802b5e7851c5827e0e4378581817f1c396cd0bcba0b62038526a41834a896114d87 + languageName: node + linkType: hard + +"nx@npm:>=17.1.2 < 21": + version: 20.8.2 + resolution: "nx@npm:20.8.2" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nx/nx-darwin-arm64": "npm:20.8.2" + "@nx/nx-darwin-x64": "npm:20.8.2" + "@nx/nx-freebsd-x64": "npm:20.8.2" + "@nx/nx-linux-arm-gnueabihf": "npm:20.8.2" + "@nx/nx-linux-arm64-gnu": "npm:20.8.2" + "@nx/nx-linux-arm64-musl": "npm:20.8.2" + "@nx/nx-linux-x64-gnu": "npm:20.8.2" + "@nx/nx-linux-x64-musl": "npm:20.8.2" + "@nx/nx-win32-arm64-msvc": "npm:20.8.2" + "@nx/nx-win32-x64-msvc": "npm:20.8.2" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.2" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.8.3" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + resolve.exports: "npm:2.0.3" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yaml: "npm:^2.6.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10/29bc7b12599bb670224dd6f17644206c86a119ea398911fccaad10f93abb66d58649bd043393c4aebf20a28aa958870908c47adc9db9346993e1afc286a71d83 languageName: node linkType: hard @@ -23290,6 +23432,13 @@ __metadata: languageName: node linkType: hard +"openapi-types@npm:^12.1.3": + version: 12.1.3 + resolution: "openapi-types@npm:12.1.3" + checksum: 10/9d1d7ed848622b63d0a4c3f881689161b99427133054e46b8e3241e137f1c78bb0031c5d80b420ee79ac2e91d2e727ffd6fc13c553d1b0488ddc8ad389dcbef8 + languageName: node + linkType: hard + "opener@npm:^1.5.1, opener@npm:^1.5.2": version: 1.5.2 resolution: "opener@npm:1.5.2" @@ -23896,6 +24045,16 @@ __metadata: languageName: node linkType: hard +"pdf-parse@npm:^1.1.1": + version: 1.1.1 + resolution: "pdf-parse@npm:1.1.1" + dependencies: + debug: "npm:^3.1.0" + node-ensure: "npm:^0.0.0" + checksum: 10/5ab94d8cdd52975b861d6ca541ad728e127c0aa51c5d8923229f0910ed2931aa703022750632fe2ddf4512fd14dad50501521a35e9a3492d75f80b1f32cc4b86 + languageName: node + linkType: hard + "peberminta@npm:^0.9.0": version: 0.9.0 resolution: "peberminta@npm:0.9.0" @@ -23931,6 +24090,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10/ce617b8da36797d09c0baacb96ca8a44460452c89362d7cb8f70ca46b4158ba8bc3606912de7c818eb4a939f7f9015cef3c766ec8a0c6bfc725fdc078e39c717 + languageName: node + linkType: hard + "pify@npm:5.0.0": version: 5.0.0 resolution: "pify@npm:5.0.0" @@ -24584,13 +24750,20 @@ __metadata: languageName: node linkType: hard -"prismjs@npm:1.29.0, prismjs@npm:^1.27.0, prismjs@npm:^1.29.0": +"prismjs@npm:1.29.0": version: 1.29.0 resolution: "prismjs@npm:1.29.0" checksum: 10/2080db382c2dde0cfc7693769e89b501ef1bfc8ff4f8d25c07fd4c37ca31bc443f6133d5b7c145a73309dc396e829ddb7cc18560026d862a887ae08864ef6b07 languageName: node linkType: hard +"prismjs@npm:^1.27.0, prismjs@npm:^1.29.0": + version: 1.30.0 + resolution: "prismjs@npm:1.30.0" + checksum: 10/6b48a2439a82e5c6882f48ebc1564c3890e16463ba17ac10c3ad4f62d98dea5b5c915b172b63b83023a70ad4f5d7be3e8a60304420db34a161fae69dd4e3e2da + languageName: node + linkType: hard + "prismjs@npm:~1.27.0": version: 1.27.0 resolution: "prismjs@npm:1.27.0" @@ -26735,6 +26908,13 @@ __metadata: languageName: node linkType: hard +"resolve.exports@npm:2.0.3": + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10/536efee0f30a10fac8604e6cdc7844dbc3f4313568d09f06db4f7ed8a5b8aeb8585966fe975083d1f2dfbc87cf5f8bc7ab65a5c23385c14acbb535ca79f8398a + languageName: node + linkType: hard + "resolve.exports@npm:^2.0.0": version: 2.0.2 resolution: "resolve.exports@npm:2.0.2" @@ -28727,19 +28907,6 @@ __metadata: languageName: node linkType: hard -"strong-log-transformer@npm:2.1.0, strong-log-transformer@npm:^2.1.0": - version: 2.1.0 - resolution: "strong-log-transformer@npm:2.1.0" - dependencies: - duplexer: "npm:^0.1.1" - minimist: "npm:^1.2.0" - through: "npm:^2.3.4" - bin: - sl-log-transformer: bin/sl-log-transformer.js - checksum: 10/2fd14eb0a68893fdadefd89f964df404e3d637729c48aca015eb12d1c47455dee28b2522ad7150de23f7a57cce503656585e7644c9cd8532023ea572f8cc5a80 - languageName: node - linkType: hard - "style-loader@npm:4.0.0": version: 4.0.0 resolution: "style-loader@npm:4.0.0" @@ -29338,7 +29505,7 @@ __metadata: languageName: node linkType: hard -"through@npm:2, through@npm:2.3.x, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6, through@npm:^2.3.8": +"through@npm:2, through@npm:2.3.8, through@npm:2.3.x, through@npm:>=2.2.7 <3, through@npm:^2.3.6, through@npm:^2.3.8": version: 2.3.8 resolution: "through@npm:2.3.8" checksum: 10/5da78346f70139a7d213b65a0106f3c398d6bc5301f9248b5275f420abc2c4b1e77c2abc72d218dedc28c41efb2e7c312cb76a7730d04f9c2d37d247da3f4198 @@ -29401,6 +29568,16 @@ __metadata: languageName: node linkType: hard +"tinyglobby@npm:0.2.12": + version: 0.2.12 + resolution: "tinyglobby@npm:0.2.12" + dependencies: + fdir: "npm:^6.4.3" + picomatch: "npm:^4.0.2" + checksum: 10/4ad28701fa9118b32ef0e27f409e0a6c5741e8b02286d50425c1f6f71e6d6c6ded9dd5bbbbb714784b08623c4ec4d150151f1d3d996cfabe0495f908ab4f7002 + languageName: node + linkType: hard + "tlds@npm:1.252.0": version: 1.252.0 resolution: "tlds@npm:1.252.0" @@ -31484,6 +31661,15 @@ __metadata: languageName: node linkType: hard +"yaml@npm:^2.6.0": + version: 2.8.1 + resolution: "yaml@npm:2.8.1" + bin: + yaml: bin.mjs + checksum: 10/eae07b3947d405012672ec17ce27348aea7d1fa0534143355d24a43a58f5e05652157ea2182c4fe0604f0540be71f99f1173f9d61018379404507790dff17665 + languageName: node + linkType: hard + "yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1"