diff --git a/.eslintrc.js b/.eslintrc.js index e8b86d908ba..85ad69fa986 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -23,7 +23,6 @@ const config = { '**/*.d.ts', 'eslint-relative-formatter.js', 'jest.config.js', - 'gulpfile.js', 'typedoc.js', 'bundlesize.config.js', ], @@ -320,14 +319,7 @@ See https://handbook.sourcegraph.com/community/faq#is-all-of-sourcegraph-open-so }, }, { - files: [ - '**/dev/**/*.ts', - '**/gulpfile.js', - '**/story/**.tsx', - '**/story/**.ts', - '*.story.tsx', - 'client/build-config/**', - ], + files: ['**/dev/**/*.ts', '**/story/**.tsx', '**/story/**.ts', '*.story.tsx', 'client/build-config/**'], rules: { 'no-console': 'off', 'no-sync': 'off', diff --git a/.vscode/settings.json b/.vscode/settings.json index 095eb2910af..6d83a012055 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -38,7 +38,6 @@ "local": "github.com/sourcegraph/sourcegraph" }, "jest.jestCommandLine": "pnpm run test", - "gulp.autoDetect": "off", "npm.packageManager": "pnpm", "npm.runSilent": true, "typescript.preferences.quoteStyle": "single", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8b2a0c6d7b0..9060a77ed76 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -24,15 +24,6 @@ "problemMatcher": [], "isBackground": true }, - { - "label": "Watch code generation", - "detail": "Watch files and generate types when files are changed", - "type": "npm", - "script": "watch-generate", - "group": "build", - "problemMatcher": [], - "isBackground": true - }, { "label": "stylelint", "command": "pnpm", diff --git a/client/browser/gulpfile.js b/client/browser/gulpfile.js deleted file mode 100644 index ee1f2ec3d7d..00000000000 --- a/client/browser/gulpfile.js +++ /dev/null @@ -1,21 +0,0 @@ -// @ts-check - -const { spawn } = require('child_process') - -function build() { - return spawn('pnpm', ['run', 'build'], { - stdio: 'inherit', - shell: true, - env: { ...process.env, NODE_OPTIONS: '--max_old_space_size=8192' }, - }) -} - -function watch() { - return spawn('pnpm', ['run', 'dev'], { - stdio: 'inherit', - shell: true, - env: { ...process.env, NODE_OPTIONS: '--max_old_space_size=8192' }, - }) -} - -module.exports = { build, watch } diff --git a/client/browser/tsconfig.json b/client/browser/tsconfig.json index 5c516e5cfad..3ba687385fa 100644 --- a/client/browser/tsconfig.json +++ b/client/browser/tsconfig.json @@ -10,7 +10,7 @@ "rootDir": ".", "outDir": "out", }, - "include": ["src", "config", "gulpfile.js", "src/**/*.json", "src/types/**/*.d.ts", "./code-intel-extensions.json"], + "include": ["src", "config", "src/**/*.json", "src/types/**/*.d.ts", "./code-intel-extensions.json"], "exclude": [ "out", "node_modules", diff --git a/client/jetbrains/gulpfile.js b/client/jetbrains/gulpfile.js deleted file mode 100644 index 4ce23048315..00000000000 --- a/client/jetbrains/gulpfile.js +++ /dev/null @@ -1,15 +0,0 @@ -const path = require('path') - -require('ts-node').register({ - transpileOnly: true, - // Use config with "module": "commonjs" because not all modules involved in tasks are esnext modules. - project: path.resolve(__dirname, './tsconfig.json'), -}) - -const buildScripts = require('./scripts/build') - -async function esbuild() { - await buildScripts.build() -} - -module.exports = { esbuild } diff --git a/client/jetbrains/package.json b/client/jetbrains/package.json index a0ef2fd98af..886277465a1 100644 --- a/client/jetbrains/package.json +++ b/client/jetbrains/package.json @@ -13,15 +13,14 @@ "directory": "client/jetbrains" }, "scripts": { - "build": "pnpm task:gulp esbuild", + "build": "ts-node -T scripts/build.ts", + "watch": "WATCH=1 pnpm run build", "lint": "pnpm run lint:js && pnpm run lint:css", "lint:js": "eslint --cache 'webview/**/*.[jt]s?(x)'", "lint:css": "stylelint 'webview/**/*.scss'", "standalone": "ts-node standalone/src/server.ts", "storybook": "STORIES_GLOB='client/jetbrains/webview/src/**/*.story.tsx' pnpm --filter @sourcegraph/storybook run start", - "task:gulp": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192\" gulp", - "typecheck": "tsc -b", - "watch": "WATCH=true pnpm task:gulp esbuild" + "typecheck": "tsc -b" }, "devDependencies": { "@sourcegraph/build-config": "workspace:*", diff --git a/client/jetbrains/scripts/build.ts b/client/jetbrains/scripts/build.ts index ee955ad97de..0dd022e7ebc 100644 --- a/client/jetbrains/scripts/build.ts +++ b/client/jetbrains/scripts/build.ts @@ -67,3 +67,17 @@ export async function build(): Promise { await ctx.dispose() } } + +if (require.main === module) { + async function main(args: string[]): Promise { + if (args.length !== 0) { + throw new Error('Usage: (no options)') + } + await build() + } + // eslint-disable-next-line unicorn/prefer-top-level-await + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/shared/dev/BUILD.bazel b/client/shared/dev/BUILD.bazel index 6883ab560cc..5c50dd27256 100644 --- a/client/shared/dev/BUILD.bazel +++ b/client/shared/dev/BUILD.bazel @@ -1,18 +1,17 @@ load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_library") -load("//dev:defs.bzl", "ts_project") +load("//dev:defs.bzl", "ts_binary", "ts_project") # gazelle:ignore # dev/ does not contain a src/ # gazelle:js_files **/*.{ts,tsx} -js_binary( +ts_binary( name = "generate_schema", data = [ "//:node_modules/json-schema-to-typescript", - "//:node_modules/mz", ], - entry_point = "generateSchema.js", + entry_point = "generateSchema.ts", visibility = ["//client/shared:__pkg__"], ) @@ -37,7 +36,7 @@ js_binary( visibility = ["//client:__subpackages__"], ) -js_binary( +ts_binary( name = "generate_graphql_operations", data = [ ":extract_graphql_operation_codegen_plugin", @@ -48,7 +47,7 @@ js_binary( "//:node_modules/prettier", "//cmd/frontend/graphqlbackend:graphql_schema", ], - entry_point = "generateGraphQlOperations.js", + entry_point = "generateGraphQlOperations.ts", visibility = ["//client:__subpackages__"], ) diff --git a/client/shared/dev/generateCssModulesTypes.js b/client/shared/dev/generateCssModulesTypes.js deleted file mode 100644 index e55be3a451f..00000000000 --- a/client/shared/dev/generateCssModulesTypes.js +++ /dev/null @@ -1,37 +0,0 @@ -// @ts-check - -const { spawn } = require('child_process') -const path = require('path') - -const REPO_ROOT = path.join(__dirname, '../../..') -const CSS_MODULES_GLOB = path.resolve(__dirname, '../../*/src/**/*.module.scss') -const JETBRAINS_CSS_MODULES_GLOB = path.resolve(__dirname, '../../jetbrains/webview/**/*.module.scss') -const TSM_COMMAND = `pnpm tsm --logLevel error "{${CSS_MODULES_GLOB},${JETBRAINS_CSS_MODULES_GLOB}}" --includePaths node_modules client` -const [BIN, ...ARGS] = TSM_COMMAND.split(' ') - -/** - * Generates the TypeScript types CSS modules. - */ -function cssModulesTypings() { - return spawn(BIN, ARGS, { - stdio: 'inherit', - shell: true, - cwd: REPO_ROOT, - }) -} - -/** - * Watch CSS modules and generates the TypeScript types for them. - */ -function watchCSSModulesTypings() { - return spawn(BIN, [...ARGS, '--watch'], { - stdio: 'inherit', - shell: true, - cwd: REPO_ROOT, - }) -} - -module.exports = { - cssModulesTypings, - watchCSSModulesTypings, -} diff --git a/client/shared/dev/generateCssModulesTypes.ts b/client/shared/dev/generateCssModulesTypes.ts new file mode 100644 index 00000000000..120f76190cc --- /dev/null +++ b/client/shared/dev/generateCssModulesTypes.ts @@ -0,0 +1,46 @@ +import { spawn } from 'child_process' +import path from 'path' + +const REPO_ROOT = path.join(__dirname, '../../..') +const CSS_MODULES_GLOB = path.resolve(__dirname, '../../*/src/**/*.module.scss') +const JETBRAINS_CSS_MODULES_GLOB = path.resolve(__dirname, '../../jetbrains/webview/**/*.module.scss') +const TSM_COMMAND = `pnpm exec tsm --logLevel error "{${CSS_MODULES_GLOB},${JETBRAINS_CSS_MODULES_GLOB}}" --includePaths node_modules client` +const [BIN, ...ARGS] = TSM_COMMAND.split(' ') + +/** + * Generates the TypeScript types CSS modules. + */ +export function cssModulesTypings(extraArgs: string[] = []): Promise { + return new Promise((resolve, reject) => { + const process = spawn(BIN, [...ARGS, ...extraArgs], { + stdio: 'inherit', + shell: true, + cwd: REPO_ROOT, + }) + process.on('exit', code => { + if (code) { + reject(new Error(`exited with code ${code}`)) + } else { + resolve() + } + }) + process.on('error', err => reject(err)) + }) +} + +/** + * Watch CSS modules and generates the TypeScript types for them. + */ +export function watchCSSModulesTypings(): Promise { + return cssModulesTypings(['--watch']) +} + +if (require.main === module) { + async function main(args: string[]) { + cssModulesTypings(args) + } + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/shared/dev/generateGraphQlOperations.js b/client/shared/dev/generateGraphQlOperations.js deleted file mode 100644 index 6292f513cd3..00000000000 --- a/client/shared/dev/generateGraphQlOperations.js +++ /dev/null @@ -1,188 +0,0 @@ -// @ts-check - -const path = require('path') - -const { generate } = require('@graphql-codegen/cli') - -const ROOT_FOLDER = path.resolve(__dirname, '../../../') - -const WEB_FOLDER = path.resolve(ROOT_FOLDER, './client/web') -const SVELTEKIT_FOLDER = path.resolve(ROOT_FOLDER, './client/web-sveltekit') -const BROWSER_FOLDER = path.resolve(ROOT_FOLDER, './client/browser') -const SHARED_FOLDER = path.resolve(ROOT_FOLDER, './client/shared') -const VSCODE_FOLDER = path.resolve(ROOT_FOLDER, './client/vscode') -const JETBRAINS_FOLDER = path.resolve(ROOT_FOLDER, './client/jetbrains') -const SCHEMA_PATH = path.join(ROOT_FOLDER, './cmd/frontend/graphqlbackend/*.graphql') - -const SHARED_DOCUMENTS_GLOB = [`${SHARED_FOLDER}/src/**/*.{ts,tsx}`] - -const WEB_DOCUMENTS_GLOB = [ - `${WEB_FOLDER}/src/**/*.{ts,tsx}`, - `${WEB_FOLDER}/src/regression/**/*.*`, - `!${WEB_FOLDER}/src/end-to-end/**/*.*`, // TODO(bazel): can remove when non-bazel dropped -] - -const SVELTEKIT_DOCUMENTS_GLOB = [`${SVELTEKIT_FOLDER}/src/lib/**/*.ts`] - -const BROWSER_DOCUMENTS_GLOB = [ - `${BROWSER_FOLDER}/src/**/*.{ts,tsx}`, - `!${BROWSER_FOLDER}/src/end-to-end/**/*.*`, // TODO(bazel): can remove when non-bazel dropped - '!**/*.d.ts', -] - -const VSCODE_DOCUMENTS_GLOB = [`${VSCODE_FOLDER}/src/**/*.{ts,tsx}`] - -const JETBRAINS_DOCUMENTS_GLOB = [`${JETBRAINS_FOLDER}/webview/src/**/*.{ts,tsx}`] - -const GLOBS = { - BrowserGraphQlOperations: BROWSER_DOCUMENTS_GLOB, - JetBrainsGraphQlOperations: JETBRAINS_DOCUMENTS_GLOB, - SharedGraphQlOperations: SHARED_DOCUMENTS_GLOB, - VSCodeGraphQlOperations: VSCODE_DOCUMENTS_GLOB, - WebGraphQlOperations: WEB_DOCUMENTS_GLOB, - SvelteKitGraphQlOperations: SVELTEKIT_DOCUMENTS_GLOB, -} - -const EXTRA_PLUGINS = { - SharedGraphQlOperations: ['typescript-apollo-client-helpers'], -} - -// Define ALL_DOCUMENTS_GLOB as the union of the previous glob arrays. -const ALL_DOCUMENTS_GLOB = [ - ...new Set([ - ...SHARED_DOCUMENTS_GLOB, - ...WEB_DOCUMENTS_GLOB, - ...SVELTEKIT_DOCUMENTS_GLOB, - ...BROWSER_DOCUMENTS_GLOB, - ...VSCODE_DOCUMENTS_GLOB, - ...JETBRAINS_DOCUMENTS_GLOB, - ]), -] - -const SHARED_PLUGINS = [ - `${SHARED_FOLDER}/dev/extractGraphQlOperationCodegenPlugin.js`, - 'typescript', - 'typescript-operations', -] - -const PRETTIER = path.join(path.dirname(require.resolve('prettier')), 'bin-prettier.js') - -/** - * Generates TypeScript files with types for all GraphQL operations. - */ -async function generateGraphQlOperations() { - try { - await generate( - createCodegenConfig([ - { - interfaceNameForOperations: 'BrowserGraphQlOperations', - outputPath: path.join(BROWSER_FOLDER, './src/graphql-operations.ts'), - }, - { - interfaceNameForOperations: 'WebGraphQlOperations', - outputPath: path.join(WEB_FOLDER, './src/graphql-operations.ts'), - }, - { - interfaceNameForOperations: 'SvelteKitGraphQlOperations', - outputPath: path.join(SVELTEKIT_FOLDER, './src/lib/graphql-operations.ts'), - }, - { - interfaceNameForOperations: 'SharedGraphQlOperations', - outputPath: path.join(SHARED_FOLDER, './src/graphql-operations.ts'), - }, - { - interfaceNameForOperations: 'VSCodeGraphQlOperations', - outputPath: path.join(VSCODE_FOLDER, './src/graphql-operations.ts'), - }, - { - interfaceNameForOperations: 'JetBrainsGraphQlOperations', - outputPath: path.join(JETBRAINS_FOLDER, './webview/src/graphql-operations.ts'), - }, - ]) - ) - } catch (error) { - console.log(error) - } -} - -function createCodegenConfig(operations) { - const generates = operations.reduce((generates, operation) => { - generates[operation.outputPath] = { - documents: GLOBS[operation.interfaceNameForOperations], - config: { - onlyOperationTypes: true, - noExport: false, - enumValues: - operation.interfaceNameForOperations === 'SharedGraphQlOperations' - ? undefined - : '@sourcegraph/shared/src/graphql-operations', - interfaceNameForOperations: operation.interfaceNameForOperations, - }, - plugins: [...SHARED_PLUGINS, ...(EXTRA_PLUGINS[operation.interfaceNameForOperations] || [])], - } - return generates - }, {}) - - return { - schema: SCHEMA_PATH, - hooks: { - afterOneFileWrite: `${PRETTIER} --write`, - }, - errorsOnly: true, - config: { - // https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-operations#config-api-reference - arrayInputCoercion: false, - preResolveTypes: true, - operationResultSuffix: 'Result', - omitOperationSuffix: true, - namingConvention: { - typeNames: 'keep', - enumValues: 'keep', - transformUnderscore: true, - }, - declarationKind: 'interface', - avoidOptionals: { - field: true, - inputValue: false, - object: true, - }, - scalars: { - DateTime: 'string', - JSON: 'object', - JSONValue: 'unknown', - GitObjectID: 'string', - JSONCString: 'string', - PublishedValue: "boolean | 'draft'", - BigInt: 'string', - }, - }, - generates, - } -} - -module.exports = { - generateGraphQlOperations, - createCodegenConfig, - SHARED_DOCUMENTS_GLOB, - WEB_DOCUMENTS_GLOB, - ALL_DOCUMENTS_GLOB, -} - -// Bazel entry point to generate a single graphql operations file; the legacy build -// continues to import `generateGraphQlOperations` and generate all operations files. -async function main(args) { - if (args.length !== 2) { - throw new Error('Usage: ') - } - - const [interfaceNameForOperations, outputPath] = args - - await generate(createCodegenConfig([{ interfaceNameForOperations, outputPath }])) -} - -if (require.main === module) { - main(process.argv.slice(2)).catch(error => { - console.error(error) - process.exit(1) - }) -} diff --git a/client/shared/dev/generateGraphQlOperations.ts b/client/shared/dev/generateGraphQlOperations.ts new file mode 100644 index 00000000000..f8630ec10b5 --- /dev/null +++ b/client/shared/dev/generateGraphQlOperations.ts @@ -0,0 +1,159 @@ +import path from 'path' + +import { CodegenConfig, generate } from '@graphql-codegen/cli' + +const ROOT_FOLDER = path.resolve(__dirname, '../../../') + +const WEB_FOLDER = path.resolve(ROOT_FOLDER, './client/web') +const SVELTEKIT_FOLDER = path.resolve(ROOT_FOLDER, './client/web-sveltekit') +const BROWSER_FOLDER = path.resolve(ROOT_FOLDER, './client/browser') +const SHARED_FOLDER = path.resolve(ROOT_FOLDER, './client/shared') +const VSCODE_FOLDER = path.resolve(ROOT_FOLDER, './client/vscode') +const JETBRAINS_FOLDER = path.resolve(ROOT_FOLDER, './client/jetbrains') +const SCHEMA_PATH = path.join(ROOT_FOLDER, './cmd/frontend/graphqlbackend/*.graphql') + +const SHARED_DOCUMENTS_GLOB = [`${SHARED_FOLDER}/src/**/*.{ts,tsx}`] + +const WEB_DOCUMENTS_GLOB = [ + `${WEB_FOLDER}/src/**/*.{ts,tsx}`, + `${WEB_FOLDER}/src/regression/**/*.*`, + `!${WEB_FOLDER}/src/end-to-end/**/*.*`, // TODO(bazel): can remove when non-bazel dropped +] + +const SVELTEKIT_DOCUMENTS_GLOB = [`${SVELTEKIT_FOLDER}/src/lib/**/*.ts`] + +const BROWSER_DOCUMENTS_GLOB = [ + `${BROWSER_FOLDER}/src/**/*.{ts,tsx}`, + `!${BROWSER_FOLDER}/src/end-to-end/**/*.*`, // TODO(bazel): can remove when non-bazel dropped + '!**/*.d.ts', +] + +const VSCODE_DOCUMENTS_GLOB = [`${VSCODE_FOLDER}/src/**/*.{ts,tsx}`] + +const JETBRAINS_DOCUMENTS_GLOB = [`${JETBRAINS_FOLDER}/webview/src/**/*.{ts,tsx}`] + +const GLOBS: Record = { + BrowserGraphQlOperations: BROWSER_DOCUMENTS_GLOB, + JetBrainsGraphQlOperations: JETBRAINS_DOCUMENTS_GLOB, + SharedGraphQlOperations: SHARED_DOCUMENTS_GLOB, + VSCodeGraphQlOperations: VSCODE_DOCUMENTS_GLOB, + WebGraphQlOperations: WEB_DOCUMENTS_GLOB, + SvelteKitGraphQlOperations: SVELTEKIT_DOCUMENTS_GLOB, +} + +const EXTRA_PLUGINS: Record = { + SharedGraphQlOperations: ['typescript-apollo-client-helpers'], +} + +const SHARED_PLUGINS = [ + `${SHARED_FOLDER}/dev/extractGraphQlOperationCodegenPlugin.js`, + 'typescript', + 'typescript-operations', +] + +const PRETTIER = path.join(path.dirname(require.resolve('prettier')), 'bin-prettier.js') + +interface Input { + interfaceNameForOperations: string + outputPath: string +} + +export const ALL_INPUTS: Input[] = [ + { + interfaceNameForOperations: 'BrowserGraphQlOperations', + outputPath: path.join(BROWSER_FOLDER, './src/graphql-operations.ts'), + }, + { + interfaceNameForOperations: 'WebGraphQlOperations', + outputPath: path.join(WEB_FOLDER, './src/graphql-operations.ts'), + }, + { + interfaceNameForOperations: 'SvelteKitGraphQlOperations', + outputPath: path.join(SVELTEKIT_FOLDER, './src/lib/graphql-operations.ts'), + }, + { + interfaceNameForOperations: 'SharedGraphQlOperations', + outputPath: path.join(SHARED_FOLDER, './src/graphql-operations.ts'), + }, + { + interfaceNameForOperations: 'VSCodeGraphQlOperations', + outputPath: path.join(VSCODE_FOLDER, './src/graphql-operations.ts'), + }, + { + interfaceNameForOperations: 'JetBrainsGraphQlOperations', + outputPath: path.join(JETBRAINS_FOLDER, './webview/src/graphql-operations.ts'), + }, +] + +export function createCodegenConfig(operations: Input[]): CodegenConfig { + const generates = operations.reduce((generates, operation) => { + generates[operation.outputPath] = { + documents: GLOBS[operation.interfaceNameForOperations], + config: { + onlyOperationTypes: true, + noExport: false, + enumValues: + operation.interfaceNameForOperations === 'SharedGraphQlOperations' + ? undefined + : '@sourcegraph/shared/src/graphql-operations', + interfaceNameForOperations: operation.interfaceNameForOperations, + }, + plugins: [...SHARED_PLUGINS, ...(EXTRA_PLUGINS[operation.interfaceNameForOperations] || [])], + } + return generates + }, {}) + + return { + schema: SCHEMA_PATH, + hooks: { + afterOneFileWrite: `${PRETTIER} --write`, + }, + errorsOnly: true, + config: { + // https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-operations#config-api-reference + arrayInputCoercion: false, + preResolveTypes: true, + operationResultSuffix: 'Result', + omitOperationSuffix: true, + namingConvention: { + typeNames: 'keep', + enumValues: 'keep', + transformUnderscore: true, + }, + declarationKind: 'interface', + avoidOptionals: { + field: true, + inputValue: false, + object: true, + }, + scalars: { + DateTime: 'string', + JSON: 'object', + JSONValue: 'unknown', + GitObjectID: 'string', + JSONCString: 'string', + PublishedValue: "boolean | 'draft'", + BigInt: 'string', + }, + }, + generates, + } +} + +if (require.main === module) { + // Entry point to generate all GraphQL operations files, or a single one. + async function main(args: string[]) { + if (args.length !== 0 && args.length !== 2) { + throw new Error('Usage: [ ]') + } + await generate( + createCodegenConfig( + args.length === 0 ? ALL_INPUTS : [{ interfaceNameForOperations: args[0], outputPath: args[1] }] + ) + ) + } + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/shared/dev/generateSchema.js b/client/shared/dev/generateSchema.js deleted file mode 100644 index ef55bd01d2d..00000000000 --- a/client/shared/dev/generateSchema.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Generates the TypeScript types for the JSON schemas. - * - * Usage: - * - * schemaName - extensionless name of the schema.json file to generate types for - */ - -const path = require('path') - -const { compile: compileJSONSchema } = require('json-schema-to-typescript') -const { mkdir, readFile, writeFile } = require('mz/fs') - -const schemaDirectory = path.join(__dirname, '..', '..', '..', 'schema') -const outputDirectory = path.join(__dirname, '..', 'src', 'schema') - -/** - * Allow json-schema-ref-parser to resolve the v7 draft of JSON Schema - * using a local copy of the spec, enabling developers to run/develop Sourcegraph offline - */ -const draftV7resolver = { - order: 1, - read: () => readFile(path.join(schemaDirectory, 'json-schema-draft-07.schema.json')), - canRead: file => file.url === 'http://json-schema.org/draft-07/schema', -} - -async function generateSchema(schemaName) { - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - let schema = await readFile(path.join(schemaDirectory, `${schemaName}.schema.json`), 'utf8') - - // HACK: Rewrite absolute $refs to be relative. They need to be absolute for Monaco to resolve them - // when the schema is in a oneOf (to be merged with extension schemas). - schema = schema.replaceAll('https://sourcegraph.com/v1/settings.schema.json#/definitions/', '#/definitions/') - - const types = await compileJSONSchema(JSON.parse(schema), 'settings.schema', { - cwd: schemaDirectory, - $refOptions: { - resolve: /** @type {import('json-schema-ref-parser').Options['resolve']} */ ({ - draftV7resolver, - // there should be no reason to make network calls during this process, - // and if there are we've broken env for offline devs/increased dev startup time - http: false, - }), - }, - }) - - await mkdir(outputDirectory, { recursive: true }) - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - await writeFile(path.join(outputDirectory, `${schemaName}.schema.d.ts`), types) -} - -// Entry point for Bazel binary -async function main(args) { - if (args.length !== 1) { - throw new Error('Usage: ') - } - - const schemaName = args[0] - await generateSchema(schemaName) -} - -if (require.main === module) { - main(process.argv.slice(2)).catch(error => { - console.error(error) - process.exit(1) - }) -} - -module.exports = { - generateSchema, -} diff --git a/client/shared/dev/generateSchema.ts b/client/shared/dev/generateSchema.ts new file mode 100644 index 00000000000..9b8edad6cf8 --- /dev/null +++ b/client/shared/dev/generateSchema.ts @@ -0,0 +1,67 @@ +/** + * Generates the TypeScript types for the JSON schemas. + * + * Usage: ... + * + * schemaName - extensionless name of the schema.json file to generate types for + */ + +import { mkdir, readFile, writeFile } from 'fs/promises' +import path from 'path' + +import { ResolverOptions } from 'json-schema-ref-parser' +import { compile as compileJSONSchema } from 'json-schema-to-typescript' + +const schemaDirectory = path.join(__dirname, '..', '..', '..', 'schema') +const outputDirectory = path.join(__dirname, '..', 'src', 'schema') + +/** + * Allow json-schema-ref-parser to resolve the v7 draft of JSON Schema + * using a local copy of the spec, enabling developers to run/develop Sourcegraph offline + */ +const draftV7resolver: ResolverOptions = { + order: 1, + read: () => readFile(path.join(schemaDirectory, 'json-schema-draft-07.schema.json')), + canRead: file => file.url === 'http://json-schema.org/draft-07/schema', +} + +export async function generateSchema(schemaName: string): Promise { + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + let schema = await readFile(path.join(schemaDirectory, `${schemaName}.schema.json`), 'utf8') + + // HACK: Rewrite absolute $refs to be relative. They need to be absolute for Monaco to resolve them + // when the schema is in a oneOf (to be merged with extension schemas). + schema = schema.replaceAll('https://sourcegraph.com/v1/settings.schema.json#/definitions/', '#/definitions/') + + const types = await compileJSONSchema(JSON.parse(schema), 'settings.schema', { + cwd: schemaDirectory, + $refOptions: { + resolve: { + draftV7resolver, + // there should be no reason to make network calls during this process, + // and if there are we've broken env for offline devs/increased dev startup time + http: false as any, + }, + }, + }) + + await mkdir(outputDirectory, { recursive: true }) + // eslint-disable-next-line @typescript-eslint/restrict-template-expressions + await writeFile(path.join(outputDirectory, `${schemaName}.schema.d.ts`), types) +} + +if (require.main === module) { + async function main(schemas: string[]) { + if (schemas.length === 0) { + throw new Error('Usage: ...') + } + + for (const schema of schemas) { + await generateSchema(schema) + } + } + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/shared/gulpfile.js b/client/shared/gulpfile.js deleted file mode 100644 index 3fad77b7161..00000000000 --- a/client/shared/gulpfile.js +++ /dev/null @@ -1,111 +0,0 @@ -// @ts-check - -const path = require('path') - -const gulp = require('gulp') -const { readFile } = require('mz/fs') - -const { cssModulesTypings, watchCSSModulesTypings } = require('./dev/generateCssModulesTypes') -const { generateGraphQlOperations, ALL_DOCUMENTS_GLOB } = require('./dev/generateGraphQlOperations') -const { generateSchema } = require('./dev/generateSchema') - -/** - * Determine whether to regenerate GraphQL operations based on the given - * Chokidar event. If we can determine that the file being modified is a - * non-GraphQL-using TypeScript or JavaScript file, then we can skip the - * expensive generation step. - * - * @param {string} type - * @param {string} name - * @returns bool - */ -async function shouldRegenerateGraphQlOperations(type, name) { - if (type === 'unlink' || type === 'unlinkDir') { - // For all deletions, we'll regenerate, since we don't know if the file(s) - // that were deleted were used when generating the GraphQL operations. - return true - } - - // If we're watching a JavaScript or TypeScript file, then we should only - // regenerate if there are gql-tagged strings. But first, we have to figure - // out if it is that type of file. - const isJS = ['.tsx', '.ts', '.jsx', '.js'].reduce((previous, extension) => { - if (previous) { - return previous - } - return name.endsWith(extension) - }, false) - if (isJS) { - // Look for the tagged string in the most naïve way imaginable. - return (await readFile(name)).includes('gql`') - } - - // Finally, for non-JavaScript/TypeScript files, we'll be safe and always - // regenerate. - return true -} - -/** - * Generates the new query-specific types on file changes. - */ -function watchGraphQlOperations() { - if (process.env.DEV_WEB_BUILDER_UNSAFE_FAST) { - // Setting the env var DEV_WEB_BUILDER_UNSAFE_FAST skips various operations in frontend dev. - // It's not safe, but if you know what you're doing, go ahead and use it. (CI will catch any - // issues you forgot about.) - return - } - - // Although graphql-codegen has watching capabilities, they don't appear to - // use chokidar correctly and rely on polling. Instead, let's get gulp to - // watch for us, since we know it'll do it more efficiently, and then we can - // trigger the code generation more selectively. - return gulp - .watch(ALL_DOCUMENTS_GLOB, { - ignored: /** @param {string} name */ name => name.endsWith('graphql-operations.ts'), - }) - .on('all', (type, name) => { - ;(async () => { - if (await shouldRegenerateGraphQlOperations(type, name)) { - console.log('Regenerating GraphQL types') - await generateGraphQlOperations() - console.log('Done regenerating GraphQL types') - } - })().catch(error => { - console.error(error) - }) - }) -} - -/** - * Generates the new query-specific types. - */ -async function graphQlOperations() { - await generateGraphQlOperations() -} - -/** - * Generates the TypeScript types for the JSON schemas. - * - * @returns {Promise} - */ -async function schema() { - await Promise.all( - ['json-schema-draft-07', 'settings', 'site', 'batch_spec'].map(async name => { - await generateSchema(name) - }) - ) -} - -function watchSchema() { - return gulp.watch(path.join(__dirname, '../schema/*.schema.json'), schema) -} - -module.exports = { - watchSchema, - schema, - graphQlOperations, - watchGraphQlOperations, - cssModulesTypings, - watchCSSModulesTypings, -} diff --git a/client/shared/package.json b/client/shared/package.json index 84274519ac7..496f86a6123 100644 --- a/client/shared/package.json +++ b/client/shared/package.json @@ -8,9 +8,10 @@ "lint:js": "eslint --cache '**/*.[jt]s?(x)'", "lint:css": "stylelint 'src/**/*.scss' --quiet", "test": "jest", - "schema": "gulp schema", - "graphql-operations": "gulp graphQlOperations", - "watch-schema": "gulp watchSchema" + "generate": "concurrently -r npm:generate:*", + "generate:graphql-operations": "ts-node -T dev/generateGraphQlOperations.ts", + "generate:schema": "ts-node -T dev/generateSchema.ts json-schema-draft-07 settings site batch_spec", + "generate:css-modules-types": "ts-node -T dev/generateCssModulesTypes.ts" }, "devDependencies": { "@sourcegraph/testing": "workspace:*", diff --git a/client/shared/tsconfig.json b/client/shared/tsconfig.json index ca4ed0faaad..cb115204087 100644 --- a/client/shared/tsconfig.json +++ b/client/shared/tsconfig.json @@ -43,6 +43,6 @@ "path": "../wildcard", }, ], - "include": ["src", "dev", "gulpfile.js", "./src/**/*.json"], + "include": ["src", "dev", "./src/**/*.json"], "exclude": ["../../node_modules", "./node_modules", "./out", "./src/end-to-end"], } diff --git a/client/web/dev/esbuild/build.ts b/client/web/dev/esbuild/build.ts index 17beba67a2f..cc3ae51162a 100644 --- a/client/web/dev/esbuild/build.ts +++ b/client/web/dev/esbuild/build.ts @@ -36,3 +36,17 @@ export async function build(): Promise { await new Promise(() => {}) // wait forever } } + +if (require.main === module) { + async function main(args: string[]): Promise { + if (args.length !== 0) { + throw new Error('Usage: (no options)') + } + await build() + } + // eslint-disable-next-line unicorn/prefer-top-level-await + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/web/dev/esbuild/server.ts b/client/web/dev/esbuild/server.ts index 0c9715be783..b074f0ed92a 100644 --- a/client/web/dev/esbuild/server.ts +++ b/client/web/dev/esbuild/server.ts @@ -8,7 +8,13 @@ import signale from 'signale' import { STATIC_ASSETS_PATH } from '@sourcegraph/build-config' import { buildMonaco } from '@sourcegraph/build-config/src/esbuild/monacoPlugin' -import { ENVIRONMENT_CONFIG, HTTPS_WEB_SERVER_URL, printSuccessBanner } from '../utils' +import { + DEV_SERVER_LISTEN_ADDR, + DEV_SERVER_PROXY_TARGET_ADDR, + ENVIRONMENT_CONFIG, + HTTPS_WEB_SERVER_URL, + printSuccessBanner, +} from '../utils' import { esbuildBuildOptions } from './config' import { assetPathPrefix } from './manifest' @@ -67,3 +73,29 @@ export const esbuildDevelopmentServer = async ( proxyServer.once('error', error => reject(error)) }) } + +if (require.main === module) { + async function main(args: string[]): Promise { + if (args.length !== 0) { + throw new Error('Usage: (no options)') + } + await esbuildDevelopmentServer(DEV_SERVER_LISTEN_ADDR, app => { + app.use( + '/', + createProxyMiddleware({ + target: { + protocol: 'http:', + host: DEV_SERVER_PROXY_TARGET_ADDR.host, + port: DEV_SERVER_PROXY_TARGET_ADDR.port, + }, + logLevel: 'error', + }) + ) + }) + } + // eslint-disable-next-line unicorn/prefer-top-level-await + main(process.argv.slice(2)).catch(error => { + console.error(error) + process.exit(1) + }) +} diff --git a/client/web/dev/utils/get-api-proxy-settings.ts b/client/web/dev/utils/get-api-proxy-settings.ts index a0a75360482..1476050acf3 100644 --- a/client/web/dev/utils/get-api-proxy-settings.ts +++ b/client/web/dev/utils/get-api-proxy-settings.ts @@ -71,7 +71,6 @@ export function getAPIProxySettings(options: GetAPIProxySettingsOptions): ProxyS // we add it ourselves. proxyRequest.setHeader('Origin', apiURL) }, - // TODO: share with `client/web/gulpfile.js` // Avoid crashing on "read ECONNRESET". onError: () => undefined, // Don't log proxy errors, these usually just contain diff --git a/client/web/gulpfile.js b/client/web/gulpfile.js deleted file mode 100644 index 2bba8a1de46..00000000000 --- a/client/web/gulpfile.js +++ /dev/null @@ -1,89 +0,0 @@ -const path = require('path') - -require('ts-node').register({ - transpileOnly: true, - // Use config with "module": "commonjs" because not all modules involved in tasks are esnext modules. - project: path.resolve(__dirname, './dev/tsconfig.json'), -}) - -const gulp = require('gulp') -const { createProxyMiddleware } = require('http-proxy-middleware') - -const { - graphQlOperations, - schema, - watchGraphQlOperations, - watchSchema, - cssModulesTypings, - watchCSSModulesTypings, -} = require('../shared/gulpfile') - -const { build: buildEsbuild } = require('./dev/esbuild/build') -const { esbuildDevelopmentServer } = require('./dev/esbuild/server') -const { DEV_SERVER_LISTEN_ADDR, DEV_SERVER_PROXY_TARGET_ADDR } = require('./dev/utils') - -const webBuild = buildEsbuild - -const esbuildDevelopmentProxy = () => - esbuildDevelopmentServer(DEV_SERVER_LISTEN_ADDR, app => { - app.use( - '/', - createProxyMiddleware({ - target: { - protocol: 'http:', - host: DEV_SERVER_PROXY_TARGET_ADDR.host, - port: DEV_SERVER_PROXY_TARGET_ADDR.port, - }, - logLevel: 'error', - }) - ) - }) - -const developmentServer = esbuildDevelopmentProxy - -// Ensure the typings that TypeScript depends on are build to avoid first-time-run errors -const generate = gulp.parallel(schema, graphQlOperations, cssModulesTypings) - -// Watches code generation only, rebuilds on file changes -const watchGenerators = gulp.parallel(watchSchema, watchGraphQlOperations, watchCSSModulesTypings) - -/** - * Builds everything. - */ -const build = gulp.series(generate, webBuild) - -/** - * Starts a development server without initial code generation, watches everything and rebuilds on file changes. - */ -const developmentWithoutInitialCodeGen = gulp.parallel(watchGenerators, developmentServer) - -/** - * Runs code generation first, then starts a development server, watches everything and rebuilds on file changes. - */ -const development = gulp.series( - // Ensure the typings that TypeScript depends on are build to avoid first-time-run errors - generate, - developmentWithoutInitialCodeGen -) - -/** - * Watches everything, rebuilds on file changes and writes the bundle to disk. - * Useful to running integration tests. - */ -const watch = gulp.series( - // Ensure the typings that TypeScript depends on are build to avoid first-time-run errors - generate, - // invoked with WATCH=1 - gulp.parallel(watchGenerators, webBuild) -) - -module.exports = { - build, - watch, - dev: development, - unsafeDev: developmentWithoutInitialCodeGen, - webBuild, - developmentServer, - generate, - watchGenerators, -} diff --git a/client/web/package.json b/client/web/package.json index 661981dcfcd..1692db7eabc 100644 --- a/client/web/package.json +++ b/client/web/package.json @@ -18,11 +18,10 @@ "storybook": "STORIES_GLOB='client/web/src/**/*.story.tsx' pnpm --filter @sourcegraph/storybook run start", "serve:dev": "ts-node-transpile-only --project ./dev/tsconfig.json ./dev/server/development.server.ts", "serve:prod": "ts-node-transpile-only --project ./dev/tsconfig.json ./dev/server/production.server.ts", - "task:gulp": "cross-env NODE_OPTIONS=\"--max_old_space_size=8192\" gulp", - "dev": "pnpm task:gulp dev", - "unsafeDev": "pnpm task:gulp unsafeDev", - "build": "pnpm task:gulp build", - "watch": "WATCH=1 pnpm task:gulp watch", + "generate": "pnpm -w run generate", + "dev": "ts-node -T dev/esbuild/server.ts", + "build": "pnpm run generate && ts-node -T dev/esbuild/build.ts", + "watch": "WATCH=1 pnpm run --silent build", "lint": "pnpm lint:js && pnpm:lint:css", "lint:js": "NODE_OPTIONS=\"--max_old_space_size=16192\" eslint --cache '**/*.[tj]s?(x)'", "lint:css": "stylelint 'src/**/*.scss' --quiet", diff --git a/dev/ci/internal/ci/changed/files.go b/dev/ci/internal/ci/changed/files.go index 6894a9ba03b..32645b093b0 100644 --- a/dev/ci/internal/ci/changed/files.go +++ b/dev/ci/internal/ci/changed/files.go @@ -22,7 +22,6 @@ var clientRootFiles = []string{ "tsconfig.json", ".percy.yml", ".eslintrc.js", - "gulpfile.js", } func isRootClientFile(p string) bool { diff --git a/dev/ci/internal/ci/operations.go b/dev/ci/internal/ci/operations.go index 338c49dd5f2..f28ebf5d176 100644 --- a/dev/ci/internal/ci/operations.go +++ b/dev/ci/internal/ci/operations.go @@ -189,7 +189,7 @@ func clientChromaticTests(opts CoreTestOperationsOptions) operations.Operation { withPnpmCache(), bk.AutomaticRetry(3), bk.Cmd("./dev/ci/pnpm-install-with-retry.sh"), - bk.Cmd("pnpm gulp generate"), + bk.Cmd("pnpm run generate"), bk.Env("MINIFY", "1"), } diff --git a/dev/ci/pnpm-run.sh b/dev/ci/pnpm-run.sh index 65cfcb89ae6..5648a4d467b 100755 --- a/dev/ci/pnpm-run.sh +++ b/dev/ci/pnpm-run.sh @@ -6,7 +6,7 @@ echo "--- pnpm install" ./dev/ci/pnpm-install-with-retry.sh echo "--- generate" -pnpm gulp generate +pnpm run generate for cmd in "$@"; do echo "--- $cmd" diff --git a/dev/ci/pnpm-test.sh b/dev/ci/pnpm-test.sh index b61f50d50fc..d2753b93201 100755 --- a/dev/ci/pnpm-test.sh +++ b/dev/ci/pnpm-test.sh @@ -6,7 +6,7 @@ echo "--- pnpm install in root" ./dev/ci/pnpm-install-with-retry.sh echo "--- generate" -pnpm gulp generate +pnpm run generate echo "--- test" diff --git a/dev/defs.bzl b/dev/defs.bzl index 09732458d13..17ac8d8f93b 100644 --- a/dev/defs.bzl +++ b/dev/defs.bzl @@ -5,6 +5,7 @@ load("@bazel_skylib//rules:expand_template.bzl", "expand_template") load("@aspect_rules_js//npm:defs.bzl", _npm_package = "npm_package") load("@aspect_rules_ts//ts:defs.bzl", _ts_project = "ts_project") load("@aspect_rules_jest//jest:defs.bzl", _jest_test = "jest_test") +load("@aspect_rules_js//js:defs.bzl", "js_binary") load("//dev:eslint.bzl", "eslint_test_with_types", "get_client_package_path") load(":sass.bzl", _sass = "sass") load(":babel.bzl", _babel = "babel") @@ -135,3 +136,14 @@ def jest_test(name, data = [], **kwargs): data = data + native.glob(["**/__fixtures__/**/*"]), **kwargs ) + +def ts_binary(name, entry_point, data = [], env = {}, **kwargs): + """A wrapper around js_binary that invokes a TypeScript entrypoint using ts-node.""" + js_binary( + name = name, + entry_point = entry_point, + data = data + ["//:node_modules/ts-node"], + env = dict(env, **{"TS_NODE_TRANSPILE_ONLY": "1"}), + node_options = ["--require", "ts-node/register"], + **kwargs + ) diff --git a/dev/sg/sg.config.example.yaml b/dev/sg/sg.config.example.yaml index 219306f1cb9..140ce40a163 100644 --- a/dev/sg/sg.config.example.yaml +++ b/dev/sg/sg.config.example.yaml @@ -73,8 +73,10 @@ commands: SOURCEGRAPH_HTTPS_PORT: 3443 web: - cmd: ./node_modules/.bin/gulp --silent --color dev - install: pnpm install + cmd: pnpm --filter @sourcegraph/web dev + install: | + pnpm install + pnpm run generate env: WEB_BUILDER_DEV_SERVER: 1 NODE_ENV: development diff --git a/doc/dev/background-information/web/graphql.md b/doc/dev/background-information/web/graphql.md index 71ddd4b6995..2b64c21b0e0 100644 --- a/doc/dev/background-information/web/graphql.md +++ b/doc/dev/background-information/web/graphql.md @@ -14,7 +14,7 @@ Each query must have a globally unique name as per the [GraphQL specification](h Using each unique query, we can generate specific types so you can receive autocompletion, syntax highlighting, hover tooltips and validation in your IDE. -Once you have built your query, `graphql-codegen` will generate the correct request and response types. This process should happen automatically through local development, you can also manually trigger this by running `pnpm generate` or `pnpm watch-generate`. Since the generator is lazy and won't generate types for fields that aren't used, if you're adding a new field then you **must** write at least one query that actually uses the field before running the generator. +Once you have built your query, `graphql-codegen` will generate the correct request and response types. This process should happen automatically through local development, you can also manually trigger this by running `pnpm generate`. Since the generator is lazy and won't generate types for fields that aren't used, if you're adding a new field then you **must** write at least one query that actually uses the field before running the generator. Using a `useQuery` hook, we can easily fire a request and handle the response correctly. diff --git a/doc/dev/background-information/web/styling.md b/doc/dev/background-information/web/styling.md index fedc2264983..07b8a3191fb 100644 --- a/doc/dev/background-information/web/styling.md +++ b/doc/dev/background-information/web/styling.md @@ -76,7 +76,7 @@ To use this approach, colocate a SCSS stylesheet with the React component and us Example: - `PageSelector.tsx` component would have a `PageSelector.module.scss` file next to it. -- Use `pnpm watch-generate` to generate a Typescript type declaration file: `PageSelector.module.scss.d.ts` in the same folder. +- Use `pnpm generate` to generate a TypeScript type declaration file: `PageSelector.module.scss.d.ts` in the same folder. - After that, it's possible to type-safely use class names from the CSS module. ```tsx diff --git a/doc/dev/background-information/web/web_app.md b/doc/dev/background-information/web/web_app.md index aa3fb3765f5..9d332424626 100644 --- a/doc/dev/background-information/web/web_app.md +++ b/doc/dev/background-information/web/web_app.md @@ -45,12 +45,6 @@ To install it, [see the instructions](../../setup/quickstart.md). pnpm generate ``` - To regenerate on file change: - - ```sh - pnpm watch-generate - ``` - ### Storybook Storybook is used to work on the components in isolation. The latest version is deployed at http://storybook.sgdev.org/. diff --git a/doc/dev/setup/troubleshooting.md b/doc/dev/setup/troubleshooting.md index 43a5ded0586..fad79ce4e25 100644 --- a/doc/dev/setup/troubleshooting.md +++ b/doc/dev/setup/troubleshooting.md @@ -110,8 +110,6 @@ On first install, the program will use quite a bit of bandwidth to concurrently After the initial install/compile is complete, the Docker for Mac binary uses about 1.5GB of RAM. The numerous different Go binaries don't use that much RAM or CPU each, about 5MB of RAM each. -If you notice heavy battery and CPU usage running `gulp --color watch`, please first [double check that Spotlight is not indexing your Sourcegraph repository](https://www.macobserver.com/tips/how-to/stop-spotlight-indexing/), as this can lead to additional, unnecessary, poll events. - If you're running macOS 10.15.x (Catalina) reinstalling the Xcode Command Line Tools may be necessary as follows: 1. Uninstall the Command Line Tools with `rm -rf /Library/Developer/CommandLineTools` diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 229d2392790..00000000000 --- a/gulpfile.js +++ /dev/null @@ -1,38 +0,0 @@ -// @ts-check - -const gulp = require('gulp') - -const { graphQlOperations, schema, watchGraphQlOperations } = require('./client/shared/gulpfile') -const { buildSvelteKit } = require('./client/web-sveltekit/gulpfile.cjs') -const { build: webBuild, developmentServer, generate, watchGenerators } = require('./client/web/gulpfile') - -/** - * Generates files needed for builds whenever files change. - */ -const watchGenerate = gulp.series(generate, watchGenerators) - -/** - * Builds everything. - */ -const build = gulp.series(generate, webBuild) - -const tasks = [watchGenerators, developmentServer] - -if (process.env.SVELTEKIT) { - tasks.push(buildSvelteKit) -} - -/** - * Watches everything and rebuilds on file changes. - */ -const development = gulp.series(generate, gulp.parallel(...tasks)) - -module.exports = { - generate, - watchGenerate, - build, - dev: development, - schema, - graphQlOperations, - watchGraphQlOperations, -} diff --git a/package.json b/package.json index 2fc838ff104..dcf731bb4fb 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,7 @@ "build-web": "pnpm --filter @sourcegraph/web run build", "build-app-shell": "pnpm --filter @sourcegraph/app-shell run build", "watch-web": "pnpm --filter @sourcegraph/web run watch", - "generate": "gulp generate", - "watch-generate": "gulp watchGenerate", + "generate": "pnpm --filter @sourcegraph/shared run generate", "test": "jest --testPathIgnorePatterns end-to-end --testPathIgnorePatterns regression --testPathIgnorePatterns integration --testPathIgnorePatterns storybook \"/out/.*test.js\" \"/out/.*test.d.ts\"", "_test-integration": "TS_NODE_PROJECT=client/web/src/integration/tsconfig.json mocha --parallel=${CI:-\"false\"} --retries=1 --jobs=2", "test-integration": "NODE_ENV=production pnpm _test-integration \"./client/web/src/integration/**/*.test.ts\"", @@ -146,7 +145,6 @@ "@types/glob": "7.1.3", "@types/google-spreadsheet": "^3.3.1", "@types/got": "9.6.11", - "@types/gulp": "4.0.7", "@types/highlight.js": "9.12.4", "@types/history": "^4.7.11", "@types/isomorphic-fetch": "^0.0.36", @@ -225,7 +223,6 @@ "gql2ts": "^1.10.1", "graphql": "^15.4.0", "graphql-schema-linter": "^2.0.1", - "gulp": "^4.0.2", "http-proxy-middleware": "^2.0.6", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6db1b6824ef..bf546f4f821 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -707,9 +707,6 @@ importers: '@types/got': specifier: 9.6.11 version: 9.6.11 - '@types/gulp': - specifier: 4.0.7 - version: 4.0.7 '@types/highlight.js': specifier: 9.12.4 version: 9.12.4 @@ -944,9 +941,6 @@ importers: graphql-schema-linter: specifier: ^2.0.1 version: 2.0.1 - gulp: - specifier: ^4.0.2 - version: 4.0.2 http-proxy-middleware: specifier: ^2.0.6 version: 2.0.6(@types/express@4.17.11) @@ -10802,10 +10796,6 @@ packages: /@types/estree@1.0.2: resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} - /@types/events@1.2.0: - resolution: {integrity: sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==} - dev: true - /@types/express-serve-static-core@4.17.35: resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} dependencies: @@ -10836,13 +10826,6 @@ packages: resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} dev: true - /@types/glob-stream@6.1.0: - resolution: {integrity: sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==} - dependencies: - '@types/glob': 7.1.3 - '@types/node': 20.8.0 - dev: true - /@types/glob@7.1.3: resolution: {integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==} dependencies: @@ -10868,14 +10851,6 @@ packages: '@types/node': 20.8.0 dev: true - /@types/gulp@4.0.7: - resolution: {integrity: sha512-AjvRWEMr6pl9yQ5Yyg+2tiv/n6Ifowpi+NjhRqGwpHWSHH21uXPMHEqKVUT3HGVguACOuzgtk9jtWjChSREPFQ==} - dependencies: - '@types/undertaker': 1.2.0 - '@types/vinyl-fs': 2.4.9 - chokidar: 3.5.3 - dev: true - /@types/har-format@1.2.4: resolution: {integrity: sha512-iUxzm1meBm3stxUMzRqgOVHjj4Kgpgu5w9fm4X7kPRfSgVRzythsucEN7/jtOo8SQzm+HfcxWWzJS0mJDH/3DQ==} @@ -11323,17 +11298,6 @@ packages: /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} - /@types/undertaker-registry@1.0.1: - resolution: {integrity: sha512-Z4TYuEKn9+RbNVk1Ll2SS4x1JeLHecolIbM/a8gveaHsW0Hr+RQMraZACwTO2VD7JvepgA6UO1A1VrbktQrIbQ==} - dev: true - - /@types/undertaker@1.2.0: - resolution: {integrity: sha512-bx/5nZCGkasXs6qaA3B6SVDjBZqdyk04UO12e0uEPSzjt5H8jEJw0DKe7O7IM0hM2bVHRh70pmOH7PEHqXwzOw==} - dependencies: - '@types/events': 1.2.0 - '@types/undertaker-registry': 1.0.1 - dev: true - /@types/unist@2.0.3: resolution: {integrity: sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==} dev: true @@ -11342,21 +11306,6 @@ packages: resolution: {integrity: sha512-2kE8rEFgJpbBAPw5JghccEevQb0XVU0tewF/8h7wPQTeCtoJ6h8qmBIwuzUVm2MutmzC/cpCkwxudixoNYDp1A==} dev: true - /@types/vinyl-fs@2.4.9: - resolution: {integrity: sha512-Q0EXd6c1fORjiOuK4ZaKdfFcMyFzJlTi56dqktwaWVLIDAzE49wUs3bKnYbZwzyMWoH+NcMWnRuR73S9A0jnRA==} - dependencies: - '@types/events': 1.2.0 - '@types/glob-stream': 6.1.0 - '@types/node': 20.8.0 - '@types/vinyl': 2.0.2 - dev: true - - /@types/vinyl@2.0.2: - resolution: {integrity: sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==} - dependencies: - '@types/node': 20.8.0 - dev: true - /@types/vscode-webview@1.57.1: resolution: {integrity: sha512-ghW5SfuDmsGDS2A4xkvGsLwDRNc3Vj5rS6rPOyPm/IryZuf3wceZKxgYaUoW+k9f0f/CB7y2c1rRsdOWZWn0PQ==} dev: true @@ -12357,13 +12306,6 @@ packages: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} dev: false - /ansi-colors@1.1.0: - resolution: {integrity: sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-wrap: 0.1.0 - dev: true - /ansi-colors@4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} engines: {node: '>=6'} @@ -12384,13 +12326,6 @@ packages: strip-ansi: 5.2.0 dev: false - /ansi-gray@0.1.1: - resolution: {integrity: sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-wrap: 0.1.0 - dev: true - /ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} @@ -12438,24 +12373,10 @@ packages: engines: {node: '>=12'} dev: true - /ansi-wrap@0.1.0: - resolution: {integrity: sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==} - engines: {node: '>=0.10.0'} - dev: true - /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - dependencies: - micromatch: 3.1.10 - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -12479,21 +12400,10 @@ packages: resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} dev: false - /append-buffer@1.0.2: - resolution: {integrity: sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==} - engines: {node: '>=0.10.0'} - dependencies: - buffer-equal: 1.0.0 - dev: true - /aproba@1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} dev: true - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: true - /are-docs-informative@0.0.2: resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} engines: {node: '>=14'} @@ -12543,46 +12453,12 @@ packages: dependencies: dequal: 2.0.3 - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-filter@1.1.2: - resolution: {integrity: sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==} - engines: {node: '>=0.10.0'} - dependencies: - make-iterator: 1.0.1 - dev: true - - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true - - /arr-map@2.0.2: - resolution: {integrity: sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==} - engines: {node: '>=0.10.0'} - dependencies: - make-iterator: 1.0.1 - dev: true - - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true - /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 - /array-each@1.0.1: - resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} - engines: {node: '>=0.10.0'} - dev: true - /array-find-index@1.0.2: resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==} engines: {node: '>=0.10.0'} @@ -12602,35 +12478,6 @@ packages: get-intrinsic: 1.2.2 is-string: 1.0.7 - /array-initial@1.1.0: - resolution: {integrity: sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==} - engines: {node: '>=0.10.0'} - dependencies: - array-slice: 1.1.0 - is-number: 4.0.0 - dev: true - - /array-last@1.3.0: - resolution: {integrity: sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 4.0.0 - dev: true - - /array-slice@1.1.0: - resolution: {integrity: sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==} - engines: {node: '>=0.10.0'} - dev: true - - /array-sort@1.0.0: - resolution: {integrity: sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==} - engines: {node: '>=0.10.0'} - dependencies: - default-compare: 1.0.0 - get-value: 2.0.6 - kind-of: 5.1.0 - dev: true - /array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} @@ -12648,11 +12495,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true - /array.prototype.flat@1.3.0: resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} engines: {node: '>= 0.4'} @@ -12727,11 +12569,6 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true - /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true @@ -12771,30 +12608,9 @@ packages: engines: {node: '>=8'} dev: true - /async-done@1.3.1: - resolution: {integrity: sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==} - engines: {node: '>= 0.10'} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - process-nextick-args: 1.0.7 - stream-exhaust: 1.0.2 - dev: true - - /async-each@1.0.3: - resolution: {integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==} - dev: true - /async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - /async-settle@1.0.0: - resolution: {integrity: sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==} - engines: {node: '>= 0.10'} - dependencies: - async-done: 1.3.1 - dev: true - /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} @@ -12810,12 +12626,6 @@ packages: resolution: {integrity: sha512-LEeSAWeh2Gfa2FtlQE1shxQ8zi5F9GHarrGKz08TMdODD5T4eH6BMsvtnhbWZ+XQn+Gb6om/917ucvRu7l7ukw==} dev: true - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true - /auto-bind@4.0.0: resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} engines: {node: '>=8'} @@ -13102,21 +12912,6 @@ packages: babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.0) dev: true - /bach@1.2.0: - resolution: {integrity: sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==} - engines: {node: '>= 0.10'} - dependencies: - arr-filter: 1.1.2 - arr-flatten: 1.1.0 - arr-map: 2.0.2 - array-each: 1.0.1 - array-initial: 1.1.0 - array-last: 1.3.0 - async-done: 1.3.1 - async-settle: 1.0.0 - now-and-later: 2.0.0 - dev: true - /backbone@1.1.2: resolution: {integrity: sha512-bdiYFVF+mXQ3712Urje2uvYClLPXOd2jsvp8AHlPyMKqpHRPCmCxZf099kCRadhA2sMxp761XB2aZ0/HYF4fDg==} dependencies: @@ -13137,19 +12932,6 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.0 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: true - /basic-auth@2.0.1: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} @@ -13189,22 +12971,10 @@ packages: resolution: {integrity: sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==} dev: true - /binary-extensions@1.13.1: - resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} - engines: {node: '>=0.10.0'} - dev: true - /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} requiresBuild: true - dependencies: - file-uri-to-path: 1.0.0 - dev: true - optional: true /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -13272,24 +13042,6 @@ packages: balanced-match: 1.0.0 dev: true - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -13340,11 +13092,6 @@ packages: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: true - /buffer-equal@1.0.0: - resolution: {integrity: sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==} - engines: {node: '>=0.4.0'} - dev: true - /buffer-from@1.1.1: resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} @@ -13440,21 +13187,6 @@ packages: engines: {node: '>=8'} dev: true - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.0 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: true - /cacheable-lookup@5.0.3: resolution: {integrity: sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==} engines: {node: '>=10'} @@ -13546,11 +13278,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /camelcase@3.0.0: - resolution: {integrity: sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==} - engines: {node: '>=0.10.0'} - dev: true - /camelcase@4.1.0: resolution: {integrity: sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==} engines: {node: '>=4'} @@ -13744,27 +13471,6 @@ packages: yargs: 13.3.2 dev: true - /chokidar@2.1.8: - resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies - dependencies: - anymatch: 2.0.0 - async-each: 1.0.3 - braces: 2.3.2 - glob-parent: 3.1.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 4.0.3 - normalize-path: 3.0.0 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - upath: 1.2.0 - optionalDependencies: - fsevents: 1.2.13 - transitivePeerDependencies: - - supports-color - dev: true - /chokidar@3.5.1: resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==} engines: {node: '>= 8.10.0'} @@ -13850,16 +13556,6 @@ packages: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: true - /classnames@2.3.2: resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} dev: false @@ -13936,14 +13632,6 @@ packages: deprecated: Please migrate to https://github.com/lgarron/clipboard-polyfill dev: true - /cliui@3.2.0: - resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==} - dependencies: - string-width: 1.0.2 - strip-ansi: 3.0.1 - wrap-ansi: 2.1.0 - dev: true - /cliui@4.1.0: resolution: {integrity: sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==} dependencies: @@ -13983,11 +13671,6 @@ packages: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /clone-buffer@1.0.0: - resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} - engines: {node: '>= 0.10'} - dev: true - /clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} @@ -14008,27 +13691,10 @@ packages: dependencies: mimic-response: 1.0.1 - /clone-stats@1.0.0: - resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} - dev: true - /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - /clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} - dev: true - - /cloneable-readable@1.1.2: - resolution: {integrity: sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==} - dependencies: - inherits: 2.0.4 - process-nextick-args: 2.0.1 - readable-stream: 2.3.8 - dev: true - /clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} @@ -14074,23 +13740,6 @@ packages: resolution: {integrity: sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==} dev: true - /collection-map@1.0.0: - resolution: {integrity: sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-map: 2.0.2 - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true - - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: true - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -14108,11 +13757,6 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - dev: true - /colord@2.9.2: resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==} dev: true @@ -14325,18 +13969,6 @@ packages: resolution: {integrity: sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==} dev: true - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true - - /copy-props@2.0.5: - resolution: {integrity: sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==} - dependencies: - each-props: 1.3.2 - is-plain-object: 5.0.0 - dev: true - /copy-to-clipboard@3.3.1: resolution: {integrity: sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==} dependencies: @@ -14834,11 +14466,6 @@ packages: /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - /decode-uri-component@0.2.0: - resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} - engines: {node: '>=0.10'} - dev: true - /decompress-response@3.3.0: resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} @@ -14898,6 +14525,7 @@ packages: /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} + requiresBuild: true dev: true /deep-is@0.1.4: @@ -14925,18 +14553,6 @@ packages: titleize: 3.0.0 dev: true - /default-compare@1.0.0: - resolution: {integrity: sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 5.1.0 - dev: true - - /default-resolution@2.0.0: - resolution: {integrity: sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==} - engines: {node: '>= 0.10'} - dev: true - /defaults@1.0.3: resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} dependencies: @@ -14977,28 +14593,6 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.6 - dev: true - - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - dev: true - - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.2 - isobject: 3.0.1 - dev: true - /defu@6.1.2: resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true @@ -15077,11 +14671,6 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - /detect-file@1.0.0: - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} - engines: {node: '>=0.10.0'} - dev: true - /detect-indent@5.0.0: resolution: {integrity: sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g==} engines: {node: '>=4'} @@ -15094,6 +14683,7 @@ packages: /detect-libc@2.0.1: resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} engines: {node: '>=8'} + requiresBuild: true dev: true /detect-newline@3.1.0: @@ -15315,13 +14905,6 @@ packages: stream-shift: 1.0.0 dev: true - /each-props@1.3.2: - resolution: {integrity: sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==} - dependencies: - is-plain-object: 2.0.4 - object.defaults: 1.1.0 - dev: true - /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true @@ -16347,31 +15930,10 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} - dev: true - - /expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - dependencies: - homedir-polyfill: 1.0.1 + requiresBuild: true dev: true /expect@27.5.1: @@ -16448,21 +16010,6 @@ packages: type: 2.0.0 dev: true - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: true - - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: true - /extend@2.0.2: resolution: {integrity: sha512-AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ==} dev: true @@ -16480,22 +16027,6 @@ packages: tmp: 0.0.33 dev: true - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /extract-files@11.0.0: resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} engines: {node: ^12.20 || >= 14.13} @@ -16541,16 +16072,6 @@ packages: jquery: 2.2.4 dev: true - /fancy-log@1.3.3: - resolution: {integrity: sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==} - engines: {node: '>= 0.10'} - dependencies: - ansi-gray: 0.1.1 - color-support: 1.1.3 - parse-node-version: 1.0.0 - time-stamp: 1.1.0 - dev: true - /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -16662,12 +16183,6 @@ packages: ramda: 0.29.0 dev: true - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - requiresBuild: true - dev: true - optional: true - /file-uri-to-path@2.0.0: resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} engines: {node: '>= 6'} @@ -16679,19 +16194,10 @@ packages: minimatch: 5.1.6 dev: true - /fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: true - /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + requiresBuild: true dependencies: to-regex-range: 5.0.1 @@ -16780,46 +16286,6 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /findup-sync@2.0.0: - resolution: {integrity: sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==} - engines: {node: '>= 0.10'} - dependencies: - detect-file: 1.0.0 - is-glob: 3.1.0 - micromatch: 3.1.10 - resolve-dir: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /findup-sync@3.0.0: - resolution: {integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==} - engines: {node: '>= 0.10'} - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 3.1.10 - resolve-dir: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /fined@1.1.0: - resolution: {integrity: sha512-pnR5WcmrjQUN+4X4haS0bDGa4n0bJ8xzIbPlEwX6vunmB2nG6p3yUt3y/1QRWkk06d7Ml1ApbeRDSFVsMr10QA==} - engines: {node: '>= 0.10'} - dependencies: - expand-tilde: 2.0.2 - is-plain-object: 2.0.4 - object.defaults: 1.1.0 - object.pick: 1.3.0 - parse-filepath: 1.0.2 - dev: true - - /flagged-respawn@1.0.0: - resolution: {integrity: sha512-uEIeQj2Z4a7Jzpb682FYsKc4YWHKaykTndikWrRtoWhOc1w3/97An5RcLhwBSq7phxokzK5kFHEKRKT0raGgTg==} - engines: {node: '>= 0.8.0'} - dev: true - /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -16843,13 +16309,6 @@ packages: resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==} engines: {node: '>=0.4.0'} - /flush-write-stream@1.1.1: - resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 - dev: true - /focus-lock@0.10.1: resolution: {integrity: sha512-b9yUklCi4fTu2GXn7dnaVf4hiLVVBp7xTiZarAHMODV2To6Bitf6F/UI67RmKbdgJQeVwI1UO0d9HYNbXt3GkA==} engines: {node: '>=10'} @@ -16882,18 +16341,6 @@ packages: dependencies: is-callable: 1.2.7 - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true - - /for-own@1.0.0: - resolution: {integrity: sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - dev: true - /foreground-child@2.0.0: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} @@ -16971,13 +16418,6 @@ packages: resolution: {integrity: sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==} dev: true - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: true - /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -17013,14 +16453,6 @@ packages: minipass: 3.3.5 dev: true - /fs-mkdirp-stream@1.0.0: - resolution: {integrity: sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==} - engines: {node: '>= 0.10'} - dependencies: - graceful-fs: 4.2.11 - through2: 2.0.5 - dev: true - /fs-readdir-recursive@1.1.0: resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} dev: true @@ -17028,18 +16460,6 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents@1.2.13: - resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} - engines: {node: '>= 4.0'} - os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 - requiresBuild: true - dependencies: - bindings: 1.5.0 - nan: 2.18.0 - dev: true - optional: true - /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -17230,11 +16650,6 @@ packages: lodash.memoize: 4.1.2 dev: false - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true - /giget@1.1.2: resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} hasBin: true @@ -17252,19 +16667,13 @@ packages: /github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + requiresBuild: true dev: true /github-slugger@1.4.0: resolution: {integrity: sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==} dev: true - /glob-parent@3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - dev: true - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -17297,39 +16706,9 @@ packages: glob: 7.2.3 dev: true - /glob-stream@6.1.0: - resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==} - engines: {node: '>= 0.10'} - dependencies: - extend: 3.0.2 - glob: 7.2.3 - glob-parent: 3.1.0 - is-negated-glob: 1.0.0 - ordered-read-streams: 1.0.1 - pumpify: 1.5.1 - readable-stream: 2.3.8 - remove-trailing-separator: 1.1.0 - to-absolute-glob: 2.0.2 - unique-stream: 2.2.1 - dev: true - /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - /glob-watcher@5.0.3: - resolution: {integrity: sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==} - engines: {node: '>= 0.10'} - dependencies: - anymatch: 2.0.0 - async-done: 1.3.1 - chokidar: 2.1.8 - is-negated-glob: 1.0.0 - just-debounce: 1.0.0 - object.defaults: 1.1.0 - transitivePeerDependencies: - - supports-color - dev: true - /glob@10.3.3: resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} engines: {node: '>=16 || 14 >=14.17'} @@ -17373,15 +16752,6 @@ packages: path-scurry: 1.10.1 dev: true - /global-modules@1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} - dependencies: - global-prefix: 1.0.2 - is-windows: 1.0.2 - resolve-dir: 1.0.1 - dev: true - /global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} engines: {node: '>=6'} @@ -17389,17 +16759,6 @@ packages: global-prefix: 3.0.0 dev: true - /global-prefix@1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} - dependencies: - expand-tilde: 2.0.2 - homedir-polyfill: 1.0.1 - ini: 1.3.8 - is-windows: 1.0.2 - which: 1.3.1 - dev: true - /global-prefix@3.0.0: resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} engines: {node: '>=6'} @@ -17463,13 +16822,6 @@ packages: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} dev: true - /glogg@1.0.1: - resolution: {integrity: sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==} - engines: {node: '>= 0.10'} - dependencies: - sparkles: 1.0.1 - dev: true - /google-auth-library@5.7.0: resolution: {integrity: sha512-uclMldsQNf64Qr67O8TINdnqbU/Ixv81WryX+sF9g7uP0igJ98aCR/uU399u1ABLa53LNsyji+bo+bP8/iL9dA==} engines: {node: '>=8.10.0'} @@ -17742,53 +17094,6 @@ packages: - supports-color dev: true - /gulp-cli@2.2.0: - resolution: {integrity: sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==} - engines: {node: '>= 0.10'} - hasBin: true - dependencies: - ansi-colors: 1.1.0 - archy: 1.0.0 - array-sort: 1.0.0 - color-support: 1.1.3 - concat-stream: 1.6.2 - copy-props: 2.0.5 - fancy-log: 1.3.3 - gulplog: 1.0.0 - interpret: 1.2.0 - isobject: 3.0.1 - liftoff: 3.1.0 - matchdep: 2.0.0 - mute-stdout: 1.0.1 - pretty-hrtime: 1.0.3 - replace-homedir: 1.0.0 - semver-greatest-satisfied-range: 1.1.0 - v8flags: 3.1.1 - yargs: 7.1.0 - transitivePeerDependencies: - - supports-color - dev: true - - /gulp@4.0.2: - resolution: {integrity: sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==} - engines: {node: '>= 0.10'} - hasBin: true - dependencies: - glob-watcher: 5.0.3 - gulp-cli: 2.2.0 - undertaker: 1.2.1 - vinyl-fs: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /gulplog@1.0.0: - resolution: {integrity: sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==} - engines: {node: '>= 0.10'} - dependencies: - glogg: 1.0.1 - dev: true - /gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true @@ -17874,37 +17179,6 @@ packages: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: true - - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: true - - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true - - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: true - /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -17991,13 +17265,6 @@ packages: dependencies: react-is: 16.13.1 - /homedir-polyfill@1.0.1: - resolution: {integrity: sha512-vyB97wSHuFP0FIQmu1H5RZCEUS0D11Dk9OFpXYo4D6HLFmIa5rbXh28ZGBWBe8LQjrw5fz8aoVRW09vP50XqCg==} - engines: {node: '>=0.10.0'} - dependencies: - parse-passwd: 1.0.0 - dev: true - /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -18369,11 +17636,6 @@ packages: dependencies: loose-envify: 1.4.0 - /invert-kv@1.0.0: - resolution: {integrity: sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==} - engines: {node: '>=0.10.0'} - dev: true - /invert-kv@2.0.0: resolution: {integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==} engines: {node: '>=4'} @@ -18408,20 +17670,6 @@ packages: is-windows: 1.0.2 dev: true - /is-accessor-descriptor@0.1.6: - resolution: {integrity: sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-accessor-descriptor@1.0.0: - resolution: {integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /is-alphabetical@1.0.4: resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} dev: true @@ -18459,13 +17707,6 @@ packages: /is-bigint@1.0.1: resolution: {integrity: sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==} - /is-binary-path@1.0.1: - resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} - engines: {node: '>=0.10.0'} - dependencies: - binary-extensions: 1.13.1 - dev: true - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -18478,10 +17719,6 @@ packages: dependencies: call-bind: 1.0.5 - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: true - /is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} @@ -18498,20 +17735,6 @@ packages: dependencies: has: 1.0.3 - /is-data-descriptor@0.1.4: - resolution: {integrity: sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-data-descriptor@1.0.0: - resolution: {integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -18526,24 +17749,6 @@ packages: resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} dev: true - /is-descriptor@0.1.6: - resolution: {integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 0.1.6 - is-data-descriptor: 0.1.4 - kind-of: 5.1.0 - dev: true - - /is-descriptor@1.0.2: - resolution: {integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==} - engines: {node: '>=0.10.0'} - dependencies: - is-accessor-descriptor: 1.0.0 - is-data-descriptor: 1.0.0 - kind-of: 6.0.3 - dev: true - /is-directory@0.3.1: resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} engines: {node: '>=0.10.0'} @@ -18560,18 +17765,6 @@ packages: hasBin: true dev: true - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: true - - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -18614,13 +17807,6 @@ packages: dependencies: has-tostringtag: 1.0.0 - /is-glob@3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -18665,11 +17851,6 @@ packages: define-properties: 1.2.1 dev: true - /is-negated-glob@1.0.0: - resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==} - engines: {node: '>=0.10.0'} - dev: true - /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -18682,21 +17863,10 @@ packages: resolution: {integrity: sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==} engines: {node: '>= 0.4'} - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /is-number@4.0.0: - resolution: {integrity: sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==} - engines: {node: '>=0.10.0'} - dev: true - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + requiresBuild: true /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} @@ -18840,11 +18010,6 @@ packages: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} dev: true - /is-valid-glob@1.0.0: - resolution: {integrity: sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==} - engines: {node: '>=0.10.0'} - dev: true - /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -18889,13 +18054,6 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: true - /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} @@ -19946,10 +19104,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /just-debounce@1.0.0: - resolution: {integrity: sha512-/QLqfspz7WJ+TPmzDp5WJOlm2r3j+/12rGo7dG5uwD9vGM5sWg8p251b7Us0p19JqjddJzcYOK2v6FN92nREmg==} - dev: true - /just-extend@4.0.2: resolution: {integrity: sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==} dev: true @@ -19989,25 +19143,6 @@ packages: json-buffer: 3.0.1 dev: false - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: true - - /kind-of@5.1.0: - resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} - engines: {node: '>=0.10.0'} - dev: true - /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -20039,14 +19174,6 @@ packages: language-subtag-registry: 0.3.21 dev: true - /last-run@1.1.1: - resolution: {integrity: sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==} - engines: {node: '>= 0.10'} - dependencies: - default-resolution: 2.0.0 - es6-weak-map: 2.0.2 - dev: true - /latest-version@5.1.0: resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} engines: {node: '>=8'} @@ -20063,20 +19190,6 @@ packages: dotenv-expand: 10.0.0 dev: true - /lazystream@1.0.0: - resolution: {integrity: sha512-/330KFbmC/zKdtZoVDRwvkJ8snrJyBPfoZ39zsJl2O24HOE1CTNiEbeZmHXmjBVxTSSv7JlJEXPYhU83DhA2yg==} - engines: {node: '>= 0.6.3'} - dependencies: - readable-stream: 2.3.8 - dev: true - - /lcid@1.0.0: - resolution: {integrity: sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==} - engines: {node: '>=0.10.0'} - dependencies: - invert-kv: 1.0.0 - dev: true - /lcid@2.0.0: resolution: {integrity: sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==} engines: {node: '>=6'} @@ -20084,13 +19197,6 @@ packages: invert-kv: 2.0.0 dev: true - /lead@1.0.0: - resolution: {integrity: sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==} - engines: {node: '>= 0.10'} - dependencies: - flush-write-stream: 1.1.1 - dev: true - /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -20145,22 +19251,6 @@ packages: immediate: 3.0.6 dev: true - /liftoff@3.1.0: - resolution: {integrity: sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==} - engines: {node: '>= 0.8'} - dependencies: - extend: 3.0.2 - findup-sync: 3.0.0 - fined: 1.1.0 - flagged-respawn: 1.0.0 - is-plain-object: 2.0.4 - object.map: 1.0.1 - rechoir: 0.6.2 - resolve: 1.22.1 - transitivePeerDependencies: - - supports-color - dev: true - /lilconfig@2.0.6: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} @@ -20566,13 +19656,6 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - /make-iterator@1.0.1: - resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 6.0.3 - dev: true - /makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: @@ -20604,13 +19687,6 @@ packages: resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==} dev: true - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: true - /markdown-it@12.3.2: resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} hasBin: true @@ -20651,18 +19727,6 @@ packages: hasBin: true dev: false - /matchdep@2.0.0: - resolution: {integrity: sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==} - engines: {node: '>= 0.10.0'} - dependencies: - findup-sync: 2.0.0 - micromatch: 3.1.10 - resolve: 1.22.1 - stack-trace: 0.0.10 - transitivePeerDependencies: - - supports-color - dev: true - /math-expression-evaluator@1.2.17: resolution: {integrity: sha512-NE0er6hC8jGXQ8ANbZvtovNS4jQDaZlJZkajBYbCsk+nktzTUfS67dTzrxY92iJ3LCGks4IQeNVdUbjCa8vhHg==} dev: false @@ -21112,27 +20176,6 @@ packages: - utf-8-validate dev: false - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -21264,14 +20307,6 @@ packages: yallist: 4.0.0 dev: true - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: true - /mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true @@ -21456,11 +20491,6 @@ packages: - supports-color dev: true - /mute-stdout@1.0.1: - resolution: {integrity: sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==} - engines: {node: '>= 0.10'} - dev: true - /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -21473,12 +20503,6 @@ packages: thenify-all: 1.6.0 dev: true - /nan@2.18.0: - resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} - requiresBuild: true - dev: true - optional: true - /nanoid@3.1.20: resolution: {integrity: sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -21496,27 +20520,9 @@ packages: hasBin: true dev: false - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: true - /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + requiresBuild: true dev: true /natural-compare@1.4.0: @@ -21575,6 +20581,7 @@ packages: /node-abi@3.40.0: resolution: {integrity: sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA==} engines: {node: '>=10'} + requiresBuild: true dependencies: semver: 7.5.4 dev: true @@ -21585,6 +20592,7 @@ packages: /node-addon-api@4.3.0: resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} + requiresBuild: true dev: true /node-dir@0.1.17: @@ -21722,13 +20730,6 @@ packages: engines: {node: '>=10'} dev: false - /now-and-later@2.0.0: - resolution: {integrity: sha512-DeDCmYbPevdAjlDMGNF7/mRY3R+cItCVtXJB0/BkrUPb8rrolWgGYvwKvt2upUYajR9qhwLYjDq99+YSkeyraQ==} - engines: {node: '>= 0.10'} - dependencies: - once: 1.4.0 - dev: true - /npm-normalize-package-bin@1.0.1: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} dev: true @@ -21793,15 +20794,6 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: true - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -21817,13 +20809,6 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} @@ -21833,16 +20818,6 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 - /object.defaults@1.1.0: - resolution: {integrity: sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==} - engines: {node: '>=0.10.0'} - dependencies: - array-each: 1.0.1 - array-slice: 1.1.0 - for-own: 1.0.0 - isobject: 3.0.1 - dev: true - /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} @@ -21865,29 +20840,6 @@ packages: define-properties: 1.2.1 es-abstract: 1.22.3 - /object.map@1.0.1: - resolution: {integrity: sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true - - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: true - - /object.reduce@1.0.1: - resolution: {integrity: sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==} - engines: {node: '>=0.10.0'} - dependencies: - for-own: 1.0.0 - make-iterator: 1.0.1 - dev: true - /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} @@ -22046,12 +20998,6 @@ packages: strip-ansi: 6.0.1 wcwidth: 1.0.1 - /ordered-read-streams@1.0.1: - resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==} - dependencies: - readable-stream: 2.3.8 - dev: true - /ordinal@1.0.3: resolution: {integrity: sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==} dev: false @@ -22067,13 +21013,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /os-locale@1.4.0: - resolution: {integrity: sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==} - engines: {node: '>=0.10.0'} - dependencies: - lcid: 1.0.0 - dev: true - /os-locale@3.1.0: resolution: {integrity: sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==} engines: {node: '>=6'} @@ -22320,21 +21259,11 @@ packages: lines-and-columns: 1.1.6 dev: true - /parse-node-version@1.0.0: - resolution: {integrity: sha512-02GTVHD1u0nWc20n2G7WX/PgdhNFG04j5fi1OkaJzPWLTcf6vh6229Lta1wTmXG/7Dg42tCssgkccVt7qvd8Kg==} - engines: {node: '>= 0.10'} - dev: true - /parse-package-name@0.1.0: resolution: {integrity: sha512-OT2+32knn014ggXMpGjZeHHsTYwOvHmRAMFtVBZstWAnR4UVIOw+JOhWZUCv5JwZQAMiisfdF2K5SyGI5OXXIg==} engines: {node: '>=4'} dev: true - /parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - dev: true - /parse-semver@1.1.1: resolution: {integrity: sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==} dependencies: @@ -22372,11 +21301,6 @@ packages: tslib: 2.1.0 dev: true - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true - /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: false @@ -22388,10 +21312,6 @@ packages: tslib: 2.1.0 dev: true - /path-dirname@1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - dev: true - /path-exists@2.1.0: resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} engines: {node: '>=0.10.0'} @@ -22622,11 +21542,6 @@ packages: '@babel/runtime': 7.23.1 dev: true - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: true - /postcss-cli@10.1.0(postcss@8.4.31)(ts-node@10.9.1): resolution: {integrity: sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==} engines: {node: '>=14'} @@ -22844,6 +21759,7 @@ packages: resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} engines: {node: '>=10'} hasBin: true + requiresBuild: true dependencies: detect-libc: 2.0.1 expand-template: 2.0.3 @@ -22970,10 +21886,6 @@ packages: resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} engines: {node: '>=6'} - /process-nextick-args@1.0.7: - resolution: {integrity: sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==} - dev: true - /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -23932,17 +22844,6 @@ packages: once: 1.4.0 dev: true - /readdirp@2.2.1: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} - dependencies: - graceful-fs: 4.2.11 - micromatch: 3.1.10 - readable-stream: 2.3.8 - transitivePeerDependencies: - - supports-color - dev: true - /readdirp@3.5.0: resolution: {integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==} engines: {node: '>=8.10.0'} @@ -23953,6 +22854,7 @@ packages: /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + requiresBuild: true dependencies: picomatch: 2.3.1 @@ -24090,14 +22992,6 @@ packages: dependencies: '@babel/runtime': 7.23.1 - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: true - /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -24186,23 +23080,6 @@ packages: resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} dev: true - /remove-bom-buffer@3.0.0: - resolution: {integrity: sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - is-utf8: 0.2.1 - dev: true - - /remove-bom-stream@1.2.0: - resolution: {integrity: sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==} - engines: {node: '>= 0.10'} - dependencies: - remove-bom-buffer: 3.0.0 - safe-buffer: 5.2.1 - through2: 2.0.5 - dev: true - /remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true @@ -24211,16 +23088,6 @@ packages: resolution: {integrity: sha512-wjM17CJ2kk0SgoGyJ7ZMzRRCuTq+V8YhMwpZ5XEWX0uaked2OUq6utvHXGNBQrfkUzUUABFMyxlKn+85hMv4dg==} dev: true - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true - - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true - /repeating@2.0.1: resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} engines: {node: '>=0.10.0'} @@ -24228,20 +23095,6 @@ packages: is-finite: 1.0.2 dev: true - /replace-ext@1.0.0: - resolution: {integrity: sha512-vuNYXC7gG7IeVNBC1xUllqCcZKRbJoSPOBhnTEcAIiKCsbuef6zO3F0Rve3isPMMoNoQRWjQwbAgAjHUHniyEA==} - engines: {node: '>= 0.10'} - dev: true - - /replace-homedir@1.0.0: - resolution: {integrity: sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==} - engines: {node: '>= 0.10'} - dependencies: - homedir-polyfill: 1.0.1 - is-absolute: 1.0.0 - remove-trailing-separator: 1.1.0 - dev: true - /require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -24299,14 +23152,6 @@ packages: resolve-from: 5.0.0 dev: true - /resolve-dir@1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} - engines: {node: '>=0.10.0'} - dependencies: - expand-tilde: 2.0.2 - global-modules: 1.0.0 - dev: true - /resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -24320,22 +23165,10 @@ packages: engines: {node: '>=8'} dev: true - /resolve-options@1.1.0: - resolution: {integrity: sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==} - engines: {node: '>= 0.10'} - dependencies: - value-or-function: 3.0.0 - dev: true - /resolve-pathname@2.2.0: resolution: {integrity: sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==} dev: false - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true - /resolve.exports@2.0.2: resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} engines: {node: '>=10'} @@ -24388,11 +23221,6 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true - /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} @@ -24517,12 +23345,6 @@ packages: get-intrinsic: 1.2.2 is-regex: 1.1.4 - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: true - /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -24594,13 +23416,6 @@ packages: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} dev: true - /semver-greatest-satisfied-range@1.1.0: - resolution: {integrity: sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==} - engines: {node: '>= 0.10'} - dependencies: - sver-compat: 1.5.0 - dev: true - /semver@5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -24712,16 +23527,6 @@ packages: functions-have-names: 1.2.3 has-property-descriptors: 1.0.0 - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: true - /set-value@4.1.0: resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} engines: {node: '>=11.0'} @@ -24825,10 +23630,12 @@ packages: /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + requiresBuild: true dev: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + requiresBuild: true dependencies: decompress-response: 6.0.0 once: 1.4.0 @@ -24965,38 +23772,6 @@ packages: tslib: 2.1.0 dev: true - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: true - - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} @@ -25037,17 +23812,6 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.0 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: true - /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -25061,11 +23825,6 @@ packages: buffer-from: 1.1.1 source-map: 0.6.1 - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true - /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} @@ -25092,11 +23851,6 @@ packages: trim: 0.0.1 dev: true - /sparkles@1.0.1: - resolution: {integrity: sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==} - engines: {node: '>= 0.10'} - dev: true - /spawn-command@0.0.2-1: resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} dev: true @@ -25148,13 +23902,6 @@ packages: hasBin: true dev: true - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: true - /sponge-case@1.0.1: resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} dependencies: @@ -25169,10 +23916,6 @@ packages: deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: true - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: true - /stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -25194,14 +23937,6 @@ packages: type-fest: 0.7.1 dev: false - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: true - /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -25305,10 +24040,6 @@ packages: resolution: {integrity: sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==} dev: false - /stream-exhaust@1.0.2: - resolution: {integrity: sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==} - dev: true - /stream-http@3.2.0: resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} dependencies: @@ -25530,6 +24261,7 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + requiresBuild: true dev: true /strip-json-comments@3.1.1: @@ -25873,13 +24605,6 @@ packages: - supports-color dev: true - /sver-compat@1.5.0: - resolution: {integrity: sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==} - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - dev: true - /svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} dev: true @@ -26085,13 +24810,6 @@ packages: resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} dev: false - /through2-filter@2.0.0: - resolution: {integrity: sha512-miwWajb1B80NvIVKXFPN/o7+vJc4jYUvnZCwvhicRAoTxdD9wbcjri70j+BenCrN/JXEPKDjhpw4iY7yiNsCGg==} - dependencies: - through2: 2.0.5 - xtend: 4.0.2 - dev: true - /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: @@ -26102,11 +24820,6 @@ packages: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true - /time-stamp@1.1.0: - resolution: {integrity: sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==} - engines: {node: '>=0.10.0'} - dev: true - /timed-out@4.0.1: resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} engines: {node: '>=0.10.0'} @@ -26169,61 +24882,22 @@ packages: /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - /to-absolute-glob@2.0.2: - resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==} - engines: {node: '>=0.10.0'} - dependencies: - is-absolute: 1.0.0 - is-negated-glob: 1.0.0 - dev: true - /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: true - /to-readable-stream@1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} dev: true - /to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: true - /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + requiresBuild: true dependencies: is-number: 7.0.0 - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: true - - /to-through@2.0.0: - resolution: {integrity: sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==} - engines: {node: '>= 0.10'} - dependencies: - through2: 2.0.5 - dev: true - /tocbot@4.21.0: resolution: {integrity: sha512-vXk8htr8mIl3hc2s2mDkaPTBfqmqZA2o0x7eXbxUibdrpEIPdpM0L9hH/RvEvlgSM+ZTgS34sGipk5+VrLJCLA==} dev: true @@ -26398,6 +25072,7 @@ packages: /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + requiresBuild: true dependencies: safe-buffer: 5.2.1 dev: true @@ -26646,26 +25321,6 @@ packages: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true - /undertaker-registry@1.0.1: - resolution: {integrity: sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==} - engines: {node: '>= 0.10'} - dev: true - - /undertaker@1.2.1: - resolution: {integrity: sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==} - engines: {node: '>= 0.10'} - dependencies: - arr-flatten: 1.1.0 - arr-map: 2.0.2 - bach: 1.2.0 - collection-map: 1.0.0 - es6-weak-map: 2.0.2 - last-run: 1.1.1 - object.defaults: 1.1.0 - object.reduce: 1.0.1 - undertaker-registry: 1.0.1 - dev: true - /undici@5.22.1: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} @@ -26692,23 +25347,6 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: true - - /unique-stream@2.2.1: - resolution: {integrity: sha512-/GNX/RGgMszHjKb8lBKSbTzgKgLfpnyJ4ZgRf73oZxhsrZB5rMkhdgnUleOwTyoBFsAni1iAAUaWuCIPnXDwWA==} - dependencies: - json-stable-stringify: 1.0.1 - through2-filter: 2.0.0 - dev: true - /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -26797,14 +25435,6 @@ packages: webpack-virtual-modules: 0.5.0 dev: true - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: true - /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -26815,11 +25445,6 @@ packages: engines: {node: '>=4'} dev: true - /upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -26847,11 +25472,6 @@ packages: dependencies: punycode: 2.1.1 - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true - /url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} dev: true @@ -27003,11 +25623,6 @@ packages: react: 18.1.0 dev: false - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true - /utc-version@2.0.2: resolution: {integrity: sha512-DblGt/1KFe3Jl1BbTZN7P8SFNw6L0zU/zahdgCJ+a/LPW6SE7VPY3RfpEg0W0ksyx6NewZYu7WD/7NzV7xljlA==} engines: {node: '>=6'} @@ -27079,13 +25694,6 @@ packages: convert-source-map: 1.7.0 dev: true - /v8flags@3.1.1: - resolution: {integrity: sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==} - engines: {node: '>= 0.10.0'} - dependencies: - homedir-polyfill: 1.0.1 - dev: true - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -27097,11 +25705,6 @@ packages: resolution: {integrity: sha512-yRL36Xb2K/HmFT5Fe3M86S7mu4+a12/3l7uytUh6eNPPjP77ldPBvsAvmnWff39sXn55naRMZN8LZWRO8PWaeQ==} dev: false - /value-or-function@3.0.0: - resolution: {integrity: sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==} - engines: {node: '>= 0.10'} - dev: true - /value-or-promise@1.0.11: resolution: {integrity: sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==} engines: {node: '>=12'} @@ -27111,54 +25714,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vinyl-fs@3.0.3: - resolution: {integrity: sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==} - engines: {node: '>= 0.10'} - dependencies: - fs-mkdirp-stream: 1.0.0 - glob-stream: 6.1.0 - graceful-fs: 4.2.11 - is-valid-glob: 1.0.0 - lazystream: 1.0.0 - lead: 1.0.0 - object.assign: 4.1.4 - pumpify: 1.5.1 - readable-stream: 2.3.8 - remove-bom-buffer: 3.0.0 - remove-bom-stream: 1.2.0 - resolve-options: 1.1.0 - through2: 2.0.5 - to-through: 2.0.0 - value-or-function: 3.0.0 - vinyl: 2.2.0 - vinyl-sourcemap: 1.1.0 - dev: true - - /vinyl-sourcemap@1.1.0: - resolution: {integrity: sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==} - engines: {node: '>= 0.10'} - dependencies: - append-buffer: 1.0.2 - convert-source-map: 1.7.0 - graceful-fs: 4.2.11 - normalize-path: 2.1.1 - now-and-later: 2.0.0 - remove-bom-buffer: 3.0.0 - vinyl: 2.2.0 - dev: true - - /vinyl@2.2.0: - resolution: {integrity: sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==} - engines: {node: '>= 0.10'} - dependencies: - clone: 2.1.2 - clone-buffer: 1.0.0 - clone-stats: 1.0.0 - cloneable-readable: 1.1.2 - remove-trailing-separator: 1.1.0 - replace-ext: 1.0.0 - dev: true - /vite-node@0.33.0(@types/node@20.8.0)(sass@1.32.4): resolution: {integrity: sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==} engines: {node: '>=v14.18.0'} @@ -27638,10 +26193,6 @@ packages: is-weakmap: 2.0.1 is-weakset: 2.0.2 - /which-module@1.0.0: - resolution: {integrity: sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==} - dev: true - /which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} @@ -27955,12 +26506,6 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - /yargs-parser@5.0.0: - resolution: {integrity: sha512-YQY9oiTXNdi9y+RJMjqIwQklfEc4flSuVCuXZS6bRTEAY76eL3bKsZbs6KTsWxHsGXJdSgp1Jj/8AmLpGStEnQ==} - dependencies: - camelcase: 3.0.0 - dev: true - /yargs-parser@9.0.2: resolution: {integrity: sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw==} dependencies: @@ -28050,24 +26595,6 @@ packages: y18n: 5.0.8 yargs-parser: 21.1.1 - /yargs@7.1.0: - resolution: {integrity: sha512-JHLTJJ5uqdt0peYp5mHzmSNV4uHXWphgSlKk5jg3sY5XYPTBw0hzw0SDNnYISn7pAXeAv5pKT4CNY+EcCTptBg==} - dependencies: - camelcase: 3.0.0 - cliui: 3.2.0 - decamelize: 1.2.0 - get-caller-file: 1.0.3 - os-locale: 1.4.0 - read-pkg-up: 1.0.1 - require-directory: 2.1.1 - require-main-filename: 1.0.1 - set-blocking: 2.0.0 - string-width: 1.0.2 - which-module: 1.0.0 - y18n: 3.2.2 - yargs-parser: 5.0.0 - dev: true - /yarn-version-bump@0.0.4(yarn@1.22.19): resolution: {integrity: sha512-kAayP9BYbYMk5CE6gdV5gzKAfVEvdutbS0hlDF8OuLnETC9k3AULdbBmbrP3V5xeSYCRtGAaINFH+HDTECZfMQ==} engines: {node: '>= 4'} diff --git a/sg.config.yaml b/sg.config.yaml index 6fca76132e6..cdb45010494 100644 --- a/sg.config.yaml +++ b/sg.config.yaml @@ -385,8 +385,10 @@ commands: web: description: Enterprise version of the web app - cmd: ./node_modules/.bin/gulp --color dev - install: pnpm install + cmd: pnpm --filter @sourcegraph/web dev + install: | + pnpm install + pnpm run generate env: ENABLE_OPEN_TELEMETRY: true @@ -395,7 +397,7 @@ commands: cmd: pnpm --filter @sourcegraph/web serve:dev --color install: | pnpm install - pnpm generate + pnpm run generate env: WEB_BUILDER_SERVE_INDEX: true SOURCEGRAPH_API_URL: https://k8s.sgdev.org