From c9e6264d65250b5985d0221aa253f502989695ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Sat, 2 Nov 2024 16:20:55 +0100 Subject: [PATCH] Fix require load of CJS config from ESM module (#6458) --- packages/registry/Makefile | 4 +- .../__tests__/fixtures/test-app/package.json | 3 +- .../fixtures/test-app/registry.config.js | 6 +- .../package.json | 4 - .../src/index.js | 1 - packages/registry/news/6458.bugfix | 1 + packages/registry/news/6458.feature | 1 + packages/registry/package.json | 3 +- .../src/addon-registry/addon-registry.ts | 78 ++++--- .../addon-registry/create-addons-loader.ts | 2 +- packages/registry/vite-plugin.js | 1 + .../__tests__/addon-registry-project.test.js | 26 --- .../package.json | 4 - .../src/index.js | 1 - packages/volto/news/6458.bugfix | 1 + pnpm-lock.yaml | 201 ++++++++++-------- 16 files changed, 184 insertions(+), 153 deletions(-) delete mode 100644 packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json delete mode 100644 packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js create mode 100644 packages/registry/news/6458.bugfix create mode 100644 packages/registry/news/6458.feature delete mode 100644 packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json delete mode 100644 packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js create mode 100644 packages/volto/news/6458.bugfix diff --git a/packages/registry/Makefile b/packages/registry/Makefile index d0e9c89f6d..3dfbd1f2ef 100644 --- a/packages/registry/Makefile +++ b/packages/registry/Makefile @@ -83,8 +83,8 @@ docs-rtd-registry: ## Build Plone Registry docs on RTD ## Build -.PHONY: rename-to-cjs -rename-to-cjs: ## Rename the built files js -> cjs +.PHONY: fix-build +fix-build: ## Rename the built files js -> cjs and fix import.meta.url appearences in cjs mv dist/cjs/addon-registry.js dist/cjs/addon-registry.cjs mv dist/cjs/create-addons-loader.js dist/cjs/create-addons-loader.cjs mv dist/cjs/create-theme-loader.js dist/cjs/create-theme-loader.cjs diff --git a/packages/registry/__tests__/fixtures/test-app/package.json b/packages/registry/__tests__/fixtures/test-app/package.json index 24de726e14..8dd7aa1a9c 100644 --- a/packages/registry/__tests__/fixtures/test-app/package.json +++ b/packages/registry/__tests__/fixtures/test-app/package.json @@ -1,3 +1,4 @@ { - "name": "test-app" + "name": "test-app", + "type": "module" } diff --git a/packages/registry/__tests__/fixtures/test-app/registry.config.js b/packages/registry/__tests__/fixtures/test-app/registry.config.js index f520684acb..9679e4450c 100644 --- a/packages/registry/__tests__/fixtures/test-app/registry.config.js +++ b/packages/registry/__tests__/fixtures/test-app/registry.config.js @@ -1,3 +1,3 @@ -module.exports = { - addons: ['@plone/slots', 'my-addon'], -}; +const addons = ['@plone/slots', 'my-addon']; + +export { addons }; diff --git a/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json b/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json deleted file mode 100644 index 7e6c4a11fb..0000000000 --- a/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test-local-packages-via-addons-env-var", - "main": "src/index.js" -} diff --git a/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js b/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js deleted file mode 100644 index 8cb61d300a..0000000000 --- a/packages/registry/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js +++ /dev/null @@ -1 +0,0 @@ -export default (config) => config; diff --git a/packages/registry/news/6458.bugfix b/packages/registry/news/6458.bugfix new file mode 100644 index 0000000000..e5a6eceff0 --- /dev/null +++ b/packages/registry/news/6458.bugfix @@ -0,0 +1 @@ +Fix ERR_REQUIRE from ESM module requiring CJS module. @sneridagh diff --git a/packages/registry/news/6458.feature b/packages/registry/news/6458.feature new file mode 100644 index 0000000000..30054385d5 --- /dev/null +++ b/packages/registry/news/6458.feature @@ -0,0 +1 @@ +Allow any type `js`, `cjs`, `mjs`, `ts` as configuration for the add-on registry. @sneridagh diff --git a/packages/registry/package.json b/packages/registry/package.json index 510317bfd7..743a6c38d1 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -73,7 +73,7 @@ "build": "parcel build && pnpm build:node:esm && pnpm build:node:cjs", "build:force": "rm -rf dist && parcel build --no-cache && pnpm build:node:esm && pnpm build:node:cjs", "build:node:esm": "tsc --project tsconfig.node.json || true", - "build:node:cjs": "tsc --project tsconfig.node.json --module commonjs --moduleResolution Node --outDir dist/cjs || true && make rename-to-cjs", + "build:node:cjs": "tsc --project tsconfig.node.json --module commonjs --moduleResolution Node --outDir dist/cjs || true && make fix-build", "test": "vitest", "test:debug": "vitest --inspect-brk --no-file-parallelism registry", "dry-release": "release-it --dry-run", @@ -91,6 +91,7 @@ } }, "dependencies": { + "auto-config-loader": "^1.7.7", "crypto-random-string": "3.2.0", "debug": "4.3.2", "dependency-graph": "0.10.0", diff --git a/packages/registry/src/addon-registry/addon-registry.ts b/packages/registry/src/addon-registry/addon-registry.ts index 576d439d4d..596d69e230 100644 --- a/packages/registry/src/addon-registry/addon-registry.ts +++ b/packages/registry/src/addon-registry/addon-registry.ts @@ -4,8 +4,11 @@ import path from 'path'; import fs from 'fs'; import _debug from 'debug'; import { DepGraph } from 'dependency-graph'; +import { createRequire } from 'node:module'; +import { autoConf, jsLoader, getConfigPath } from 'auto-config-loader'; -const debug = _debug('shadowing'); +const debugShadowing = _debug('shadowing'); +const debugConfig = _debug('config'); export type Package = { name: string; @@ -247,34 +250,55 @@ class AddonRegistry { isESM = () => this.packageJson.type === 'module'; + /** + * Gets the registry configuration from the project's config file (.js, .cjs, .ts, .mts). + * It tries first if there's an environment variable pointing to the config file. + * If it doesn't exist, it tries to load one from the local project. + * If it doesn't exist, it returns an empty config object. + */ getRegistryConfig(projectRootPath: string) { - let config: VoltoConfigJS = { + const config: VoltoConfigJS = { addons: [], theme: '', }; - const CONFIGMAP = { - REGISTRYCONFIG: this.isESM() - ? 'registry.config.cjs' - : 'registry.config.js', - VOLTOCONFIG: this.isESM() ? 'volto.config.cjs' : 'volto.config.js', - }; - for (const key in CONFIGMAP) { - if (process.env[key]) { - const resolvedPath = path.resolve(process.env[key]); - if (fs.existsSync(resolvedPath)) { - const voltoConfigPath = resolvedPath; - console.log(`Using configuration file in: ${voltoConfigPath}`); - config = require(voltoConfigPath); - break; + function loadConfigFromEnvVar() { + let config: VoltoConfigJS | null = null; + const ENVVARCONFIG = ['REGISTRYCONFIG', 'VOLTOCONFIG']; + ENVVARCONFIG.forEach((envVar) => { + if (process.env[envVar]) { + const resolvedPath = path.resolve(process.env[envVar]); + if (fs.existsSync(resolvedPath)) { + // @ts-expect-error It seems that the types are not correct in the auto-config-loader + config = jsLoader(resolvedPath); + debugConfig( + `[@plone/registry] Using configuration file in: ${resolvedPath}`, + ); + } } - } else if (fs.existsSync(path.join(projectRootPath, CONFIGMAP[key]))) { - config = require(path.join(projectRootPath, CONFIGMAP[key])); - break; - } + }); + + return config; } - return config; + function loadConfigFromNamespace(namespace: string) { + let config: VoltoConfigJS | null = null; + config = autoConf(namespace, { + cwd: projectRootPath, + mustExist: true, // It seems that the bool is inverted + }); + debugConfig( + `[@plone/registry] Using configuration file in: ${getConfigPath()}`, + ); + return config; + } + + return ( + loadConfigFromEnvVar() || + loadConfigFromNamespace('registry') || + loadConfigFromNamespace('volto') || + config + ); } /** @@ -297,8 +321,13 @@ class AddonRegistry { const jsConfig = JSON.parse( fs.readFileSync(configFile, 'utf-8'), ).compilerOptions; - pathsConfig = jsConfig.paths; - baseUrl = jsConfig.baseUrl; + if (jsConfig) { + pathsConfig = jsConfig.paths; + baseUrl = jsConfig.baseUrl; + } else { + pathsConfig = {}; + baseUrl = ''; + } } return [baseUrl, pathsConfig]; @@ -375,6 +404,7 @@ class AddonRegistry { } if (!Object.keys(this.packages).includes(name)) { + const require = createRequire(this.projectRootPath); const resolved = require.resolve(name, { paths: [this.projectRootPath] }); const basePath = getPackageBasePath(resolved); const packageJson = path.join(basePath, 'package.json'); @@ -674,7 +704,7 @@ class AddonRegistry { .replace(/\.(js|jsx|ts|tsx)$/, '') ] = path.resolve(filename); } else { - debug( + debugShadowing( `The file ${filename} doesn't exist in the ${name} (${targetPath}), unable to customize.`, ); } diff --git a/packages/registry/src/addon-registry/create-addons-loader.ts b/packages/registry/src/addon-registry/create-addons-loader.ts index f03349693f..25b7d97545 100644 --- a/packages/registry/src/addon-registry/create-addons-loader.ts +++ b/packages/registry/src/addon-registry/create-addons-loader.ts @@ -118,7 +118,7 @@ export function createAddonsLoader( // the `tempInProject` allows to place it inside let addonsLoaderPath: string; if (tempInProject) { - addonsLoaderPath = path.join(process.cwd(), 'src', '.addons-loader.js'); + addonsLoaderPath = path.join(process.cwd(), '.registry.loader.js'); } else { addonsLoaderPath = tmp.tmpNameSync({ postfix: '.js' }); } diff --git a/packages/registry/vite-plugin.js b/packages/registry/vite-plugin.js index 6ec97dbe64..acfe5a906a 100644 --- a/packages/registry/vite-plugin.js +++ b/packages/registry/vite-plugin.js @@ -10,6 +10,7 @@ export const PloneRegistryVitePlugin = () => { const addonsLoaderPath = createAddonsLoader( registry.getAddonDependencies(), registry.getAddons(), + { tempInProject: true }, ); const [addonsThemeLoaderVariablesPath, addonsThemeLoaderMainPath] = diff --git a/packages/volto/__tests__/addon-registry-project.test.js b/packages/volto/__tests__/addon-registry-project.test.js index fad432bc88..459442b64b 100644 --- a/packages/volto/__tests__/addon-registry-project.test.js +++ b/packages/volto/__tests__/addon-registry-project.test.js @@ -241,29 +241,3 @@ describe('Addon via env var - Released addon', () => { ).toBe(true); }); }); - -describe('Addon via env var - local packages folder addon', () => { - const originalEnv = process.env; - - beforeEach(() => { - jest.resetModules(); - process.env = { - ...originalEnv, - ADDONS: 'test-local-packages-via-addons-env-var', - }; - }); - - afterEach(() => { - process.env = originalEnv; - }); - - it('addons can be specified on the fly using ADDONS env var - local packages folder addon', () => { - const base = path.join(__dirname, 'fixtures', 'test-volto-project'); - const { registry } = AddonRegistry.init(base); - expect( - Object.keys(registry.packages).includes( - 'test-local-packages-via-addons-env-var', - ), - ).toBe(true); - }); -}); diff --git a/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json b/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json deleted file mode 100644 index 7e6c4a11fb..0000000000 --- a/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test-local-packages-via-addons-env-var", - "main": "src/index.js" -} diff --git a/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js b/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js deleted file mode 100644 index 8cb61d300a..0000000000 --- a/packages/volto/__tests__/fixtures/test-volto-project/packages/test-local-packages-via-addons-env-var/src/index.js +++ /dev/null @@ -1 +0,0 @@ -export default (config) => config; diff --git a/packages/volto/news/6458.bugfix b/packages/volto/news/6458.bugfix new file mode 100644 index 0000000000..d7e24d1c7c --- /dev/null +++ b/packages/volto/news/6458.bugfix @@ -0,0 +1 @@ +Fix ERR_REQUIRE from ESM module requiring CJS module in `@plone/registry` fix tests. @sneridagh diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e990b42df8..835ea56f0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -192,7 +192,7 @@ importers: version: 1.70.1(@tanstack/react-router@1.70.1(@tanstack/router-generator@1.69.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(csstype@3.1.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) axios: specifier: ^1.6.5 - version: 1.6.8(debug@4.3.4) + version: 1.6.8 react: specifier: ^18.2.0 version: 18.2.0 @@ -253,7 +253,7 @@ importers: version: 1.70.1(@types/node@20.12.7)(encoding@0.1.13)(ioredis@5.4.1)(less@3.11.1)(lightningcss@1.24.1)(magicast@0.3.4)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.75.0)(terser@5.30.3)(vite@5.2.9(@types/node@20.12.7)(less@3.11.1)(lightningcss@1.24.1)(sass@1.75.0)(terser@5.30.3))(webpack-sources@3.2.3) axios: specifier: ^1.6.5 - version: 1.6.8(debug@4.3.4) + version: 1.6.8 get-port: specifier: ^7.0.0 version: 7.1.0 @@ -817,6 +817,9 @@ importers: packages/registry: dependencies: + auto-config-loader: + specifier: ^1.7.7 + version: 1.7.7 crypto-random-string: specifier: 3.2.0 version: 3.2.0 @@ -931,7 +934,7 @@ importers: version: 1.0.10 wait-on: specifier: ^7.2.0 - version: 7.2.0(debug@4.3.4) + version: 7.2.0 devDependencies: release-it: specifier: ^16.1.3 @@ -7302,6 +7305,10 @@ packages: resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==} engines: {node: '>=4'} + auto-config-loader@1.7.7: + resolution: {integrity: sha512-PdqcwqgJGRGU9itaMt5IAVTQODHaleUapMljNQeRt0q/qXVxru7sQa/t545XazsGn80ipZ4rp+cFUsTHP0FuBQ==} + engines: {node: '>=16.0.0'} + autobind-decorator@2.4.0: resolution: {integrity: sha512-OGYhWUO72V6DafbF8PM8rm3EPbfuyMZcJhtm5/n26IDwO18pohE4eNazLoCGhPiXOCD0gEGmrbU3849QvM8bbw==} engines: {node: '>=8.10', npm: '>=6.4.1'} @@ -10716,6 +10723,10 @@ packages: resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} engines: {node: '>=10'} + ini@4.1.3: + resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} @@ -11534,10 +11545,6 @@ packages: node-notifier: optional: true - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -11687,6 +11694,10 @@ packages: engines: {node: '>=6'} hasBin: true + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + jsonfile@3.0.1: resolution: {integrity: sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==} @@ -16063,6 +16074,10 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + toml-eslint-parser@0.9.3: + resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} @@ -17263,6 +17278,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml-eslint-parser@1.2.3: + resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} + engines: {node: ^14.17.0 || >=16.0.0} + yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -19795,7 +19814,7 @@ snapshots: '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.6.0 + semver: 7.6.3 '@npmcli/fs@2.1.2': dependencies: @@ -19804,7 +19823,7 @@ snapshots: '@npmcli/fs@3.1.0': dependencies: - semver: 7.6.0 + semver: 7.6.3 '@npmcli/git@2.1.0': dependencies: @@ -19827,7 +19846,7 @@ snapshots: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.0 + semver: 7.6.3 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -20303,7 +20322,7 @@ snapshots: '@parcel/rust': 2.12.0 '@parcel/utils': 2.12.0 nullthrows: 1.1.1 - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - '@parcel/core' @@ -20395,7 +20414,7 @@ snapshots: '@parcel/utils': 2.12.0 '@parcel/workers': 2.12.0(@parcel/core@2.12.0(@swc/helpers@0.5.10)) '@swc/core': 1.4.16(@swc/helpers@0.5.10) - semver: 7.6.0 + semver: 7.6.3 transitivePeerDependencies: - '@swc/helpers' @@ -22800,7 +22819,7 @@ snapshots: pretty-hrtime: 1.0.3 prompts: 2.4.2 read-pkg-up: 7.0.1 - semver: 7.6.0 + semver: 7.6.3 telejson: 7.2.0 tiny-invariant: 1.3.3 ts-dedent: 2.2.0 @@ -24057,7 +24076,7 @@ snapshots: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.3 tsutils: 3.21.0(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 @@ -24172,8 +24191,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) '@rollup/pluginutils': 4.2.1 - acorn: 8.11.3 - acorn-import-attributes: 1.9.5(acorn@8.11.3) + acorn: 8.13.0 + acorn-import-attributes: 1.9.5(acorn@8.13.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -24197,7 +24216,7 @@ snapshots: get-port-please: 3.1.2 h3: 1.11.1 http-shutdown: 1.2.2 - jiti: 1.21.0 + jiti: 1.21.6 mlly: 1.6.1 node-forge: 1.3.1 pathe: 1.1.2 @@ -24211,10 +24230,10 @@ snapshots: '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@20.12.7)(encoding@0.1.13)(ioredis@5.4.1)(less@3.11.1)(lightningcss@1.24.1)(magicast@0.3.4)(sass@1.75.0)(terser@5.30.3)(webpack-sources@3.2.3))': dependencies: '@babel/parser': 7.24.4 - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.13.0 + acorn-jsx: 5.3.2(acorn@8.13.0) acorn-loose: 8.4.0 - acorn-typescript: 1.4.13(acorn@8.11.3) + acorn-typescript: 1.4.13(acorn@8.13.0) astring: 1.8.6 magicast: 0.2.11 recast: 0.23.6 @@ -24562,9 +24581,9 @@ snapshots: dependencies: acorn: 8.11.3 - acorn-import-attributes@1.9.5(acorn@8.11.3): + acorn-import-attributes@1.9.5(acorn@8.13.0): dependencies: - acorn: 8.11.3 + acorn: 8.13.0 acorn-jsx@5.3.2(acorn@7.4.1): dependencies: @@ -24574,14 +24593,22 @@ snapshots: dependencies: acorn: 8.11.3 + acorn-jsx@5.3.2(acorn@8.13.0): + dependencies: + acorn: 8.13.0 + acorn-loose@8.4.0: dependencies: - acorn: 8.11.3 + acorn: 8.13.0 acorn-typescript@1.4.13(acorn@8.11.3): dependencies: acorn: 8.11.3 + acorn-typescript@1.4.13(acorn@8.13.0): + dependencies: + acorn: 8.13.0 + acorn-walk@7.2.0: {} acorn-walk@8.3.2: {} @@ -24950,6 +24977,16 @@ snapshots: attr-accept@2.2.2: {} + auto-config-loader@1.7.7: + dependencies: + ini: 4.1.3 + jiti: 1.21.6 + jsonc-eslint-parser: 2.4.0 + lodash.merge: 4.6.2 + sucrase: 3.35.0 + toml-eslint-parser: 0.9.3 + yaml-eslint-parser: 1.2.3 + autobind-decorator@2.4.0: {} autoprefixer@10.4.8(postcss@8.4.31): @@ -24978,21 +25015,23 @@ snapshots: axe-core@4.8.4: {} - axios@0.21.4: + axios@0.21.4(debug@4.3.2): dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.2) transitivePeerDependencies: - debug - axios@0.21.4(debug@4.3.2): + axios@0.24.0(debug@4.3.2): dependencies: follow-redirects: 1.15.6(debug@4.3.2) transitivePeerDependencies: - debug - axios@0.24.0(debug@4.3.2): + axios@1.6.8: dependencies: follow-redirects: 1.15.6(debug@4.3.2) + form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -25616,7 +25655,7 @@ snapshots: builtins@5.1.0: dependencies: - semver: 7.6.0 + semver: 7.6.3 bundle-name@3.0.0: dependencies: @@ -26470,7 +26509,7 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.47) postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - semver: 7.6.0 + semver: 7.6.3 optionalDependencies: webpack: 5.90.1(esbuild@0.20.2) @@ -27532,7 +27571,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) @@ -27608,7 +27647,7 @@ snapshots: enhanced-resolve: 5.16.0 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -27731,33 +27770,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0): - dependencies: - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7(supports-color@8.1.1) - doctrine: 2.1.0 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - hasown: 2.0.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 7.7.0(eslint@8.57.0)(typescript@5.6.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(jest@26.6.3)(typescript@5.6.3): dependencies: '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.0)(typescript@5.6.3) @@ -28486,7 +28498,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.6.3 webpack: 5.90.1(esbuild@0.20.2) @@ -28761,7 +28773,7 @@ snapshots: gitly@2.0.3: dependencies: - axios: 0.21.4 + axios: 0.21.4(debug@4.3.2) tar: 6.2.1 transitivePeerDependencies: - debug @@ -29293,14 +29305,6 @@ snapshots: transitivePeerDependencies: - debug - http-proxy@1.18.1: - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.4) - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - http-proxy@1.18.1(debug@4.3.2): dependencies: eventemitter3: 4.0.7 @@ -29447,6 +29451,8 @@ snapshots: ini@2.0.0: {} + ini@4.1.3: {} + inline-style-parser@0.1.1: {} inquirer@7.3.3: @@ -30703,8 +30709,6 @@ snapshots: - ts-node optional: true - jiti@1.21.0: {} - jiti@1.21.6: {} jju@1.4.0: {} @@ -30906,6 +30910,13 @@ snapshots: json5@2.2.3: {} + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.13.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.6.3 + jsonfile@3.0.1: optionalDependencies: graceful-fs: 4.2.11 @@ -31454,7 +31465,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.3 make-error@1.3.6: {} @@ -31959,8 +31970,8 @@ snapshots: micromark-extension-mdxjs@1.0.1: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.13.0 + acorn-jsx: 5.3.2(acorn@8.13.0) micromark-extension-mdx-expression: 1.0.8 micromark-extension-mdx-jsx: 1.0.5 micromark-extension-mdx-md: 1.0.1 @@ -32398,7 +32409,7 @@ snapshots: mlly@1.6.1: dependencies: - acorn: 8.11.3 + acorn: 8.13.0 pathe: 1.1.2 pkg-types: 1.1.0 ufo: 1.5.3 @@ -32739,7 +32750,7 @@ snapshots: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.3 tar: 6.2.1 which: 2.0.2 transitivePeerDependencies: @@ -32789,7 +32800,7 @@ snapshots: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.3 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -32820,7 +32831,7 @@ snapshots: npm-install-checks@6.3.0: dependencies: - semver: 7.6.0 + semver: 7.6.3 npm-normalize-package-bin@1.0.1: {} @@ -32832,7 +32843,7 @@ snapshots: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.6.0 + semver: 7.6.3 validate-npm-package-name: 5.0.0 npm-package-arg@8.1.5: @@ -32864,7 +32875,7 @@ snapshots: npm-install-checks: 6.3.0 npm-normalize-package-bin: 3.0.1 npm-package-arg: 10.1.0 - semver: 7.6.0 + semver: 7.6.3 npm-registry-fetch@12.0.2: dependencies: @@ -33257,7 +33268,7 @@ snapshots: got: 12.6.1 registry-auth-token: 5.0.2 registry-url: 6.0.1 - semver: 7.6.0 + semver: 7.6.3 pacote@12.0.3: dependencies: @@ -35659,7 +35670,7 @@ snapshots: semver-diff@4.0.0: dependencies: - semver: 7.6.0 + semver: 7.6.3 semver@5.7.2: {} @@ -36666,7 +36677,7 @@ snapshots: terser@4.8.1: dependencies: - acorn: 8.11.3 + acorn: 8.13.0 commander: 2.20.3 source-map: 0.6.1 source-map-support: 0.5.21 @@ -36779,6 +36790,10 @@ snapshots: toidentifier@1.0.1: {} + toml-eslint-parser@0.9.3: + dependencies: + eslint-visitor-keys: 3.4.3 + toml@3.0.0: {} totalist@3.0.1: {} @@ -37020,7 +37035,7 @@ snapshots: unctx@2.3.1: dependencies: - acorn: 8.11.3 + acorn: 8.13.0 estree-walker: 3.0.3 magic-string: 0.30.11 unplugin: 1.10.1 @@ -37223,7 +37238,7 @@ snapshots: unplugin@1.10.1: dependencies: - acorn: 8.11.3 + acorn: 8.13.0 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 @@ -37513,7 +37528,7 @@ snapshots: get-port-please: 3.1.2 h3: 1.11.1 hookable: 5.5.3 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.2) micromatch: 4.0.5 nitropack: 2.9.7(encoding@0.1.13)(magicast@0.3.4)(webpack-sources@3.2.3) node-fetch-native: 1.6.4 @@ -37838,6 +37853,16 @@ snapshots: transitivePeerDependencies: - debug + wait-on@7.2.0: + dependencies: + axios: 1.6.8 + joi: 17.12.3 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + wait-on@7.2.0(debug@4.3.4): dependencies: axios: 1.6.8(debug@4.3.4) @@ -38253,6 +38278,12 @@ snapshots: yallist@4.0.0: {} + yaml-eslint-parser@1.2.3: + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.4.1 + yaml@1.10.2: {} yaml@2.3.4: {}