From e74eaa421a6ed6faa2788d5f452091e1826ca5a6 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Wed, 30 Aug 2023 14:35:10 +0800 Subject: [PATCH 1/7] feat: adjust ts template dependencies handle method --- .changeset/dirty-suns-sit.md | 7 +++++++ .../generators/base-generator/src/index.ts | 8 ++++---- .../.gitignore.handlebars | 0 .../.husky/pre-commit | 0 .../{base-templates => base-template}/.nvmrc | 0 .../.prettierrc | 0 .../.vscode/extensions.json | 0 .../.vscode/settings.json | 0 .../npmrc.handlebars | 0 .../generators/module-generator/package.json | 1 - .../generators/module-generator/src/index.ts | 18 ----------------- .../base-template/package.json.handlebars | 6 ++++++ .../generators/mwa-generator/package.json | 1 - .../generators/mwa-generator/src/index.ts | 20 +------------------ .../base-template/package.json.handlebars | 7 +++++++ 15 files changed, 25 insertions(+), 43 deletions(-) create mode 100644 .changeset/dirty-suns-sit.md rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.gitignore.handlebars (100%) rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.husky/pre-commit (100%) rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.nvmrc (100%) rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.prettierrc (100%) rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.vscode/extensions.json (100%) rename packages/generator/generators/base-generator/templates/{base-templates => base-template}/.vscode/settings.json (100%) rename packages/generator/generators/base-generator/templates/{pnpm-templates => pnpm-template}/npmrc.handlebars (100%) diff --git a/.changeset/dirty-suns-sit.md b/.changeset/dirty-suns-sit.md new file mode 100644 index 000000000000..6bc356e1a533 --- /dev/null +++ b/.changeset/dirty-suns-sit.md @@ -0,0 +1,7 @@ +--- +'@modern-js/module-generator': minor +'@modern-js/base-generator': minor +'@modern-js/mwa-generator': minor +--- + +feat: adjust ts template dependencies handle method diff --git a/packages/generator/generators/base-generator/src/index.ts b/packages/generator/generators/base-generator/src/index.ts index 703f5e47d596..4a6956d69102 100644 --- a/packages/generator/generators/base-generator/src/index.ts +++ b/packages/generator/generators/base-generator/src/index.ts @@ -34,11 +34,11 @@ const handleTemplateFile = async ( const { packageManager } = ans; await appApi.forgeTemplate( - 'templates/base-templates/**/*', + 'templates/base-template/**/*', undefined, resourceKey => resourceKey - .replace('templates/base-templates/', '') + .replace('templates/base-template/', '') .replace('.handlebars', ''), ); await appApi.forgeTemplate('templates/idea/**/*', undefined, resourceKey => @@ -47,11 +47,11 @@ const handleTemplateFile = async ( if (packageManager === PackageManager.Pnpm) { await appApi.forgeTemplate( - 'templates/pnpm-templates/**/*', + 'templates/pnpm-template/**/*', undefined, resourceKey => resourceKey - .replace('templates/pnpm-templates/npmrc', '.npmrc') + .replace('templates/pnpm-template/npmrc', '.npmrc') .replace('.handlebars', ''), ); } diff --git a/packages/generator/generators/base-generator/templates/base-templates/.gitignore.handlebars b/packages/generator/generators/base-generator/templates/base-template/.gitignore.handlebars similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.gitignore.handlebars rename to packages/generator/generators/base-generator/templates/base-template/.gitignore.handlebars diff --git a/packages/generator/generators/base-generator/templates/base-templates/.husky/pre-commit b/packages/generator/generators/base-generator/templates/base-template/.husky/pre-commit similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.husky/pre-commit rename to packages/generator/generators/base-generator/templates/base-template/.husky/pre-commit diff --git a/packages/generator/generators/base-generator/templates/base-templates/.nvmrc b/packages/generator/generators/base-generator/templates/base-template/.nvmrc similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.nvmrc rename to packages/generator/generators/base-generator/templates/base-template/.nvmrc diff --git a/packages/generator/generators/base-generator/templates/base-templates/.prettierrc b/packages/generator/generators/base-generator/templates/base-template/.prettierrc similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.prettierrc rename to packages/generator/generators/base-generator/templates/base-template/.prettierrc diff --git a/packages/generator/generators/base-generator/templates/base-templates/.vscode/extensions.json b/packages/generator/generators/base-generator/templates/base-template/.vscode/extensions.json similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.vscode/extensions.json rename to packages/generator/generators/base-generator/templates/base-template/.vscode/extensions.json diff --git a/packages/generator/generators/base-generator/templates/base-templates/.vscode/settings.json b/packages/generator/generators/base-generator/templates/base-template/.vscode/settings.json similarity index 100% rename from packages/generator/generators/base-generator/templates/base-templates/.vscode/settings.json rename to packages/generator/generators/base-generator/templates/base-template/.vscode/settings.json diff --git a/packages/generator/generators/base-generator/templates/pnpm-templates/npmrc.handlebars b/packages/generator/generators/base-generator/templates/pnpm-template/npmrc.handlebars similarity index 100% rename from packages/generator/generators/base-generator/templates/pnpm-templates/npmrc.handlebars rename to packages/generator/generators/base-generator/templates/pnpm-template/npmrc.handlebars diff --git a/packages/generator/generators/module-generator/package.json b/packages/generator/generators/module-generator/package.json index 065746765161..0f66876b9d2a 100644 --- a/packages/generator/generators/module-generator/package.json +++ b/packages/generator/generators/module-generator/package.json @@ -33,7 +33,6 @@ "@modern-js/changeset-generator": "workspace:*", "@modern-js/codesmith": "2.2.5", "@modern-js/codesmith-api-app": "2.2.5", - "@modern-js/codesmith-api-json": "2.2.5", "@modern-js/dependence-generator": "workspace:*", "@modern-js/generator-common": "workspace:*", "@modern-js/generator-utils": "workspace:*", diff --git a/packages/generator/generators/module-generator/src/index.ts b/packages/generator/generators/module-generator/src/index.ts index 0e30b8582723..05dec9c398d8 100644 --- a/packages/generator/generators/module-generator/src/index.ts +++ b/packages/generator/generators/module-generator/src/index.ts @@ -1,7 +1,6 @@ import path from 'path'; import { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; -import { JsonAPI } from '@modern-js/codesmith-api-json'; import { i18n as commonI18n, BaseGenerator, @@ -37,8 +36,6 @@ export const handleTemplateFile = async ( generator: GeneratorCore, appApi: AppAPI, ) => { - const jsonAPI = new JsonAPI(generator); - const { isMonorepoSubProject, isPublic = true, @@ -164,21 +161,6 @@ export const handleTemplateFile = async ( ); if (language === Language.TS) { - const updateInfo: Record = { - 'devDependencies.typescript': '~5.0.4', - 'devDependencies.@types/jest': '~29.2.4', - 'devDependencies.@types/node': '~16.11.7', - 'devDependencies.@types/react': '~18.0.26', - }; - - await jsonAPI.update( - context.materials.default.get(path.join(projectPath, 'package.json')), - { - query: {}, - update: { $set: updateInfo }, - }, - ); - await appApi.forgeTemplate( 'templates/ts-template/**/*', undefined, diff --git a/packages/generator/generators/module-generator/templates/base-template/package.json.handlebars b/packages/generator/generators/module-generator/templates/base-template/package.json.handlebars index 3e1886c026a7..a10701d24d39 100644 --- a/packages/generator/generators/module-generator/templates/base-template/package.json.handlebars +++ b/packages/generator/generators/module-generator/templates/base-template/package.json.handlebars @@ -58,6 +58,12 @@ "@modern-js/eslint-config": "{{modernVersion}}", "@modern-js/tsconfig":"{{modernVersion}}", "@modern-js-app/eslint-config": "{{modernVersion}}", + {{#if isTs}} + "typescript": "~5.0.4", + "@types/jest": "~29.2.4", + "@types/node": "~16.11.7", + "@types/react": "~18.0.26", + {{/if}} "rimraf": "~3.0.2", "lint-staged": "~13.1.0", "prettier": "~2.8.1", diff --git a/packages/generator/generators/mwa-generator/package.json b/packages/generator/generators/mwa-generator/package.json index 5403bf233f26..34f36cf9bcee 100644 --- a/packages/generator/generators/mwa-generator/package.json +++ b/packages/generator/generators/mwa-generator/package.json @@ -32,7 +32,6 @@ "@modern-js/base-generator": "workspace:*", "@modern-js/codesmith": "2.2.5", "@modern-js/codesmith-api-app": "2.2.5", - "@modern-js/codesmith-api-json": "2.2.5", "@modern-js/dependence-generator": "workspace:*", "@modern-js/entry-generator": "workspace:*", "@modern-js/generator-common": "workspace:*", diff --git a/packages/generator/generators/mwa-generator/src/index.ts b/packages/generator/generators/mwa-generator/src/index.ts index 09040d904a9c..86d1e6629638 100644 --- a/packages/generator/generators/mwa-generator/src/index.ts +++ b/packages/generator/generators/mwa-generator/src/index.ts @@ -1,7 +1,6 @@ import path from 'path'; import { GeneratorContext, GeneratorCore } from '@modern-js/codesmith'; import { AppAPI } from '@modern-js/codesmith-api-app'; -import { JsonAPI } from '@modern-js/codesmith-api-json'; import { i18n as commonI18n, BaseGenerator, @@ -38,8 +37,6 @@ export const handleTemplateFile = async ( generator: GeneratorCore, appApi: AppAPI, ) => { - const jsonAPI = new JsonAPI(generator); - const { isMonorepoSubProject, isTest, projectDir = '' } = context.config; const { outputPath } = generator; @@ -148,26 +145,11 @@ export const handleTemplateFile = async ( isMonorepoSubProject, modernVersion, packageManager, + isTsProject: language === Language.TS, }, ); if (language === Language.TS) { - await jsonAPI.update( - context.materials.default.get(path.join(projectPath, 'package.json')), - { - query: {}, - update: { - $set: { - 'devDependencies.typescript': '~5.0.4', - 'devDependencies.@types/jest': '~29.2.4', - 'devDependencies.@types/node': '~16.11.7', - 'devDependencies.@types/react': '~18.0.26', - 'devDependencies.@types/react-dom': '~18.0.10', - }, - }, - }, - ); - await appApi.forgeTemplate( 'templates/ts-template/**/*', undefined, diff --git a/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars b/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars index 971c2befec90..818769afd632 100644 --- a/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars +++ b/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars @@ -41,6 +41,13 @@ "@modern-js/eslint-config": "{{modernVersion}}", "@modern-js/tsconfig":"{{modernVersion}}", "@modern-js-app/eslint-config": "{{modernVersion}}", + {{#if isTsProject}} + "typescript": "~5.0.4", + "@types/jest": "~29.2.4", + "@types/node": "~16.11.7", + "@types/react": "~18.0.26", + "@types/react-dom": "~18.0.10", + {{/if}} "lint-staged": "~13.1.0", "prettier": "~2.8.1", "husky": "~8.0.1", From ffbd862a5f2a2248260eb92cc67b72d08a8631d9 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Wed, 30 Aug 2023 14:35:30 +0800 Subject: [PATCH 2/7] feat: add @modern-js/sandpack-react package --- .changeset/chilled-ligers-brake.md | 5 + .../generator/sandpack-react/.eslintrc.js | 13 ++ packages/generator/sandpack-react/.gitignore | 3 + packages/generator/sandpack-react/.npmignore | 31 ++++ packages/generator/sandpack-react/LICENSE | 21 +++ packages/generator/sandpack-react/README.md | 26 +++ .../generator/sandpack-react/jest.config.js | 7 + .../generator/sandpack-react/modern.config.js | 5 + .../generator/sandpack-react/package.json | 73 +++++++++ .../codesandbox/.codesandbox/environment.json | 3 + .../codesandbox/.codesandbox/tasks.json | 19 +++ .../sandpack-react/scripts/template.ts | 154 ++++++++++++++++++ .../generator/sandpack-react/src/index.tsx | 78 +++++++++ .../sandpack-react/src/templates/index.ts | 7 + .../generator/sandpack-react/tsconfig.json | 10 ++ 15 files changed, 455 insertions(+) create mode 100644 .changeset/chilled-ligers-brake.md create mode 100644 packages/generator/sandpack-react/.eslintrc.js create mode 100644 packages/generator/sandpack-react/.gitignore create mode 100644 packages/generator/sandpack-react/.npmignore create mode 100644 packages/generator/sandpack-react/LICENSE create mode 100644 packages/generator/sandpack-react/README.md create mode 100644 packages/generator/sandpack-react/jest.config.js create mode 100644 packages/generator/sandpack-react/modern.config.js create mode 100644 packages/generator/sandpack-react/package.json create mode 100644 packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/environment.json create mode 100644 packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/tasks.json create mode 100644 packages/generator/sandpack-react/scripts/template.ts create mode 100644 packages/generator/sandpack-react/src/index.tsx create mode 100644 packages/generator/sandpack-react/src/templates/index.ts create mode 100644 packages/generator/sandpack-react/tsconfig.json diff --git a/.changeset/chilled-ligers-brake.md b/.changeset/chilled-ligers-brake.md new file mode 100644 index 000000000000..a06180e74cd8 --- /dev/null +++ b/.changeset/chilled-ligers-brake.md @@ -0,0 +1,5 @@ +--- +'@modern-js/sandpack-react': patch +--- + +feat: add @modern-js/sandpack-react package diff --git a/packages/generator/sandpack-react/.eslintrc.js b/packages/generator/sandpack-react/.eslintrc.js new file mode 100644 index 000000000000..b80c8ed1f3d8 --- /dev/null +++ b/packages/generator/sandpack-react/.eslintrc.js @@ -0,0 +1,13 @@ +module.exports = { + root: true, + extends: ['@modern-js'], + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + ignorePatterns: [ + 'src/templates/common.ts', + 'src/templates/mwa.ts', + 'src/templates/module.ts', + ], +}; diff --git a/packages/generator/sandpack-react/.gitignore b/packages/generator/sandpack-react/.gitignore new file mode 100644 index 000000000000..c6dff0913fa1 --- /dev/null +++ b/packages/generator/sandpack-react/.gitignore @@ -0,0 +1,3 @@ +src/templates/common.ts +src/templates/mwa.ts +src/templates/module.ts diff --git a/packages/generator/sandpack-react/.npmignore b/packages/generator/sandpack-react/.npmignore new file mode 100644 index 000000000000..9a6314fdd092 --- /dev/null +++ b/packages/generator/sandpack-react/.npmignore @@ -0,0 +1,31 @@ +.DS_Store + +.pnp +.pnp.js +.env.local +.env.*.local +*.log* + +node_modules/ +*.tsbuildinfo +.eslintcache + +coverage/ +output/ +output_resource/ +tests/ + +.vscode/**/* +!.vscode/settings.json +!.vscode/extensions.json +.idea/ + +src/ + +modern.config.js +modern.config.ts +jest.config.js +.eslintrc.js +.eslintrc +tsconfig.json + diff --git a/packages/generator/sandpack-react/LICENSE b/packages/generator/sandpack-react/LICENSE new file mode 100644 index 000000000000..39e3c5971226 --- /dev/null +++ b/packages/generator/sandpack-react/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Modern.js + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/generator/sandpack-react/README.md b/packages/generator/sandpack-react/README.md new file mode 100644 index 000000000000..f3d407c43230 --- /dev/null +++ b/packages/generator/sandpack-react/README.md @@ -0,0 +1,26 @@ +

+ Modern.js Logo +

+ +

Modern.js

+ +

+ A Progressive React Framework for modern web development. +

+ +## Getting Started + +Please follow [Quick Start](https://modernjs.dev/en/guides/get-started/quick-start) to get started with Modern.js. + +## Documentation + +- [English Documentation](https://modernjs.dev/en/) +- [中文文档](https://modernjs.dev) + +## Contributing + +Please read the [Contributing Guide](https://github.com/web-infra-dev/modern.js/blob/main/CONTRIBUTING.md). + +## License + +Modern.js is [MIT licensed](https://github.com/web-infra-dev/modern.js/blob/main/LICENSE). diff --git a/packages/generator/sandpack-react/jest.config.js b/packages/generator/sandpack-react/jest.config.js new file mode 100644 index 000000000000..5fcd3e5b28bd --- /dev/null +++ b/packages/generator/sandpack-react/jest.config.js @@ -0,0 +1,7 @@ +const sharedConfig = require('@scripts/jest-config'); + +/** @type {import('@jest/types').Config.InitialOptions} */ +module.exports = { + ...sharedConfig, + rootDir: __dirname, +}; diff --git a/packages/generator/sandpack-react/modern.config.js b/packages/generator/sandpack-react/modern.config.js new file mode 100644 index 000000000000..5c0331ad0c29 --- /dev/null +++ b/packages/generator/sandpack-react/modern.config.js @@ -0,0 +1,5 @@ +const { universalBuildConfig } = require('@scripts/build'); + +module.exports = { + buildConfig: universalBuildConfig, +}; diff --git a/packages/generator/sandpack-react/package.json b/packages/generator/sandpack-react/package.json new file mode 100644 index 000000000000..805b6dc64128 --- /dev/null +++ b/packages/generator/sandpack-react/package.json @@ -0,0 +1,73 @@ +{ + "name": "@modern-js/sandpack-react", + "description": "A Progressive React Framework for modern web development.", + "homepage": "https://modernjs.dev", + "bugs": "https://github.com/web-infra-dev/modern.js/issues", + "repository": { + "type": "git", + "url": "https://github.com/web-infra-dev/modern.js", + "directory": "packages/generator/sandpack-template" + }, + "license": "MIT", + "keywords": [ + "react", + "framework", + "modern", + "modern.js" + ], + "version": "2.32.1", + "jsnext:source": "./src/index.ts", + "types": "./src/index.ts", + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "exports": { + ".": { + "node": { + "jsnext:source": "./src/index.ts", + "import": "./dist/esm-node/index.js", + "require": "./dist/cjs/index.js" + }, + "default": "./dist/esm/index.js" + } + }, + "scripts": { + "prepublishOnly": "only-allow-pnpm", + "new": "modern-lib new", + "build": "ts-node scripts/template.ts && modern-lib build", + "test": "jest --passWithNoTests" + }, + "dependencies": { + "react": "^18", + "react-dom": "^18", + "@swc/helpers": "0.5.1", + "@codesandbox/sandpack-react": "^2.6.9" + }, + "devDependencies": { + "@modern-js/base-generator": "workspace:*", + "@modern-js/mwa-generator": "workspace:*", + "@modern-js/module-generator": "workspace:*", + "@modern-js/entry-generator": "workspace:*", + "@modern-js/generator-utils": "workspace:*", + "@modern-js/generator-common": "workspace:*", + "@modern-js/codesmith-api-handlebars": "2.2.5", + "@modern-js/utils": "workspace:*", + "@scripts/build": "workspace:*", + "@scripts/jest-config": "workspace:*", + "@types/jest": "^29", + "@types/node": "^14", + "jest": "^29", + "typescript": "^5", + "ts-node": "^10.9.1", + "recursive-readdir": "^2.2.3", + "@types/recursive-readdir": "^2.2.1", + "@types/react": "^18", + "@types/react-dom": "^18" + }, + "sideEffects": false, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public", + "provenance": true, + "types": "./dist/types/index.d.ts" + } +} diff --git a/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/environment.json b/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/environment.json new file mode 100644 index 000000000000..28c241e5ad45 --- /dev/null +++ b/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/environment.json @@ -0,0 +1,3 @@ +{ + "nodeVersion": 18 +} diff --git a/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/tasks.json b/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/tasks.json new file mode 100644 index 000000000000..9d07531e3d0c --- /dev/null +++ b/packages/generator/sandpack-react/scripts/codesandbox/.codesandbox/tasks.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://codesandbox.io/schemas/tasks.json", + "setupTasks": [ + { + "name": "Installing Dependencies", + "command": "pnpm install" + } + ], + "tasks": { + "start": { + "name": "Application", + "command": "pnpm run start", + "runAtStart": true, + "restartOn": { + "files": ["pnpm-lock.yaml"] + } + } + } +} diff --git a/packages/generator/sandpack-react/scripts/template.ts b/packages/generator/sandpack-react/scripts/template.ts new file mode 100644 index 000000000000..4fcc20c01153 --- /dev/null +++ b/packages/generator/sandpack-react/scripts/template.ts @@ -0,0 +1,154 @@ +import path from 'path'; +import recursive from 'recursive-readdir'; +import fs from '@modern-js/utils/fs-extra'; +import { renderString } from '@modern-js/codesmith-api-handlebars'; +import { getModernVersion } from '@modern-js/generator-utils'; +import { Solution } from '@modern-js/generator-common'; + +async function handleTemplate( + templatePath: string, + data: Record = {}, + { fileExtra, routerPrefix }: { fileExtra: string; routerPrefix: string } = { + fileExtra: '', + routerPrefix: '', + }, +) { + const files: Record = {}; + const templateFiles = await recursive(templatePath); + templateFiles.forEach(filePath => { + const file = filePath.replace(`${templatePath}/`, ''); + if (fs.statSync(filePath).isFile()) { + if (file.endsWith('.handlebars')) { + files[ + `${routerPrefix}${file + .replace('.handlebars', fileExtra) + .replace('npmrc', '.npmrc')}`.replace('language', 'ts') + ] = `${renderString(fs.readFileSync(filePath, 'utf-8'), data)}`; + } else { + files[`${routerPrefix}${file}`] = `${fs.readFileSync( + filePath, + 'utf-8', + )}`; + } + } + }); + return files; +} + +async function handleCodesandboxTemplate() { + const templateDir = path.join(__dirname, 'codesandbox'); + const files: Record = { + ...(await handleTemplate(templateDir)), + }; + + return files; +} +async function handleBaseTemplate() { + const templateDir = path.join( + require.resolve('@modern-js/base-generator'), + '../../', + 'templates', + ); + const baseTemplate = path.join(templateDir, 'base-template'); + const pnpmTemplate = path.join(templateDir, 'pnpm-template'); + const files: Record = { + ...(await handleTemplate(baseTemplate)), + ...(await handleTemplate(pnpmTemplate)), + }; + + return files; +} + +async function handleMWATemplate() { + const templateDir = path.join( + require.resolve('@modern-js/mwa-generator'), + '../../', + 'templates', + ); + const entryTemplateDir = path.join( + require.resolve('@modern-js/entry-generator'), + '../../', + 'templates', + ); + const baseTemplate = path.join(templateDir, 'base-template'); + const tsTemplate = path.join(templateDir, 'ts-template'); + const modernVersion = await getModernVersion(Solution.MWA); + const files = { + ...(await handleTemplate(baseTemplate, { + name: 'modern-app', + isMonorepoSubProject: false, + modernVersion, + isTsProject: true, + })), + ...(await handleTemplate(tsTemplate)), + ...(await handleTemplate( + entryTemplateDir, + {}, + { fileExtra: '.tsx', routerPrefix: 'src/' }, + )), + }; + return files; +} + +async function handleModuleTemplate() { + const templateDir = path.join( + require.resolve('@modern-js/module-generator'), + '../../', + 'templates', + ); + const baseTemplate = path.join(templateDir, 'base-template'); + const tsTemplate = path.join(templateDir, 'ts-template'); + const modernVersion = await getModernVersion(Solution.Module); + const files = { + ...(await handleTemplate(baseTemplate, { + name: 'modern-npm-module', + isMonorepoSubProject: false, + modernVersion, + isTs: true, + isPublic: true, + language: 'ts', + })), + ...(await handleTemplate(tsTemplate)), + }; + return files; +} +async function main() { + const codesandboxFiles = await handleCodesandboxTemplate(); + const baseFiles = await handleBaseTemplate(); + const srcTemplatesDir = path.join(__dirname, '..', 'src/templates'); + const commonFiles = { ...codesandboxFiles, ...baseFiles }; + fs.writeFileSync( + path.join(srcTemplatesDir, 'common.ts'), + `export const commonFiles = ${JSON.stringify(commonFiles, null, 2)};`, + 'utf-8', + ); + const mwaFiles = await handleMWATemplate(); + fs.writeFileSync( + path.join(srcTemplatesDir, 'mwa.ts'), + `import { commonFiles } from './common'; + +export const MWAFiles = { + ...commonFiles, + ...${JSON.stringify(mwaFiles, null, 2)} +};`, + 'utf-8', + ); + + const moduleFiles = await handleModuleTemplate(); + fs.writeFileSync( + path.join(srcTemplatesDir, 'module.ts'), + `import { commonFiles } from './common'; + +export const ModuleFiles = { + ...commonFiles, + ...${JSON.stringify(moduleFiles, null, 2)} +};`, + 'utf-8', + ); +} + +main().catch(e => { + console.error(e); + // eslint-disable-next-line no-process-exit + process.exit(1); +}); diff --git a/packages/generator/sandpack-react/src/index.tsx b/packages/generator/sandpack-react/src/index.tsx new file mode 100644 index 000000000000..cd17b418315a --- /dev/null +++ b/packages/generator/sandpack-react/src/index.tsx @@ -0,0 +1,78 @@ +import { + SandpackProvider, + SandpackLayout, + SandpackFileExplorer, + SandpackCodeEditor, + OpenInCodeSandboxButton, + SandpackSetup, + SandpackFiles, +} from '@codesandbox/sandpack-react'; +import { ModernTemplates } from './templates'; + +export type ModernSandpackProps = { + template: 'web-app' | 'npm-module'; + customSetup?: SandpackSetup; + files?: SandpackFiles; + removeFiles: string[]; + options?: Record; + initialCollapsedFolder?: string[]; +}; + +function fileterFiles(files: SandpackFiles, removeFiles: string[]) { + if (removeFiles.length === 0) { + return files; + } + const result: SandpackFiles = {}; + Object.keys(files).forEach(filename => { + if (!removeFiles.includes(filename)) { + result[filename] = files[filename]; + } + }); + return result; +} + +export default function ModernSandpack(props: ModernSandpackProps) { + const { + template, + customSetup = {}, + files: customFiles = {}, + removeFiles = [], + options = {}, + initialCollapsedFolder = [], + } = props; + const initFiles = ModernTemplates[template]; + const files = { + ...fileterFiles(initFiles, removeFiles), + ...fileterFiles(customFiles, removeFiles), + }; + return ( + + + + +
+ +
+
+
+ ); +} diff --git a/packages/generator/sandpack-react/src/templates/index.ts b/packages/generator/sandpack-react/src/templates/index.ts new file mode 100644 index 000000000000..9ec5919a8e37 --- /dev/null +++ b/packages/generator/sandpack-react/src/templates/index.ts @@ -0,0 +1,7 @@ +const { ModuleFiles } = require('./module'); +const { MWAFiles } = require('./mwa'); + +export const ModernTemplates = { + 'web-app': MWAFiles, + 'npm-module': ModuleFiles, +}; diff --git a/packages/generator/sandpack-react/tsconfig.json b/packages/generator/sandpack-react/tsconfig.json new file mode 100644 index 000000000000..479f3dadf9de --- /dev/null +++ b/packages/generator/sandpack-react/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "paths": {} + }, + "include": ["src", "scripts"] +} From f0ef4e7557dcdaf8e2c4ad85500740362f6de828 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Wed, 30 Aug 2023 16:17:19 +0800 Subject: [PATCH 3/7] feat: doc support Sandpack component --- packages/document/main-doc/package.json | 3 ++ .../src/components/Sandpack/index.css | 7 +++++ .../src/components/Sandpack/index.tsx | 28 +++++++++++++++++++ .../generators/mwa-generator/src/index.ts | 2 +- .../base-template/package.json.handlebars | 2 +- .../sandpack-react/scripts/template.ts | 15 ++++++++++ .../generator/sandpack-react/src/index.tsx | 13 ++++----- 7 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 packages/document/main-doc/src/components/Sandpack/index.css create mode 100644 packages/document/main-doc/src/components/Sandpack/index.tsx diff --git a/packages/document/main-doc/package.json b/packages/document/main-doc/package.json index 7166a0e3157f..2e6fd2fb68e0 100644 --- a/packages/document/main-doc/package.json +++ b/packages/document/main-doc/package.json @@ -27,6 +27,9 @@ "access": "public", "provenance": true }, + "dependencies": { + "@modern-js/sandpack-react": "workspace:*" + }, "peerDependencies": { "@modern-js/builder-doc": "workspace:^2.33.1" }, diff --git a/packages/document/main-doc/src/components/Sandpack/index.css b/packages/document/main-doc/src/components/Sandpack/index.css new file mode 100644 index 000000000000..e92db2526957 --- /dev/null +++ b/packages/document/main-doc/src/components/Sandpack/index.css @@ -0,0 +1,7 @@ +.light { + --sp-layout-height: 500px !important; +} + +.dark { + --sp-layout-height: 500px !important; +} diff --git a/packages/document/main-doc/src/components/Sandpack/index.tsx b/packages/document/main-doc/src/components/Sandpack/index.tsx new file mode 100644 index 000000000000..dfd89f0d41bd --- /dev/null +++ b/packages/document/main-doc/src/components/Sandpack/index.tsx @@ -0,0 +1,28 @@ +import ModernSandpack, { ModernSandpackProps } from '@modern-js/sandpack-react'; +import React, { PropsWithChildren } from 'react'; +import { useDark } from 'rspress/runtime'; + +import './index.css'; + +const Sandpack = (props: PropsWithChildren) => { + const dark = useDark(); + const { children, ...otherProps } = props; + const files: Record = {}; + React.Children.forEach(children, (child: any) => { + if (child) { + const { meta, children } = child.props.children.props; + const matches = meta.match(/title="(.*)"/); + if (matches.length > 1) { + files[matches[1]] = children; + } + } + }); + return ( + + ); +}; +export default Sandpack; diff --git a/packages/generator/generators/mwa-generator/src/index.ts b/packages/generator/generators/mwa-generator/src/index.ts index 86d1e6629638..30dbcb4de88c 100644 --- a/packages/generator/generators/mwa-generator/src/index.ts +++ b/packages/generator/generators/mwa-generator/src/index.ts @@ -145,7 +145,7 @@ export const handleTemplateFile = async ( isMonorepoSubProject, modernVersion, packageManager, - isTsProject: language === Language.TS, + isTs: language === Language.TS, }, ); diff --git a/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars b/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars index 818769afd632..9ddb1cc82026 100644 --- a/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars +++ b/packages/generator/generators/mwa-generator/templates/base-template/package.json.handlebars @@ -41,7 +41,7 @@ "@modern-js/eslint-config": "{{modernVersion}}", "@modern-js/tsconfig":"{{modernVersion}}", "@modern-js-app/eslint-config": "{{modernVersion}}", - {{#if isTsProject}} + {{#if isTs}} "typescript": "~5.0.4", "@types/jest": "~29.2.4", "@types/node": "~16.11.7", diff --git a/packages/generator/sandpack-react/scripts/template.ts b/packages/generator/sandpack-react/scripts/template.ts index 4fcc20c01153..db8ed9ee9527 100644 --- a/packages/generator/sandpack-react/scripts/template.ts +++ b/packages/generator/sandpack-react/scripts/template.ts @@ -5,6 +5,18 @@ import { renderString } from '@modern-js/codesmith-api-handlebars'; import { getModernVersion } from '@modern-js/generator-utils'; import { Solution } from '@modern-js/generator-common'; +const IgnoreFiles = [ + '.nvmrc', + '.eslintrc.js.handlebars', + 'src/.eslintrc.js.handlebars', + '.prettierrc', + '.vscode/extensions.json', + '.vscode/settings.json', + '.husky/pre-commit', + 'README.md', + '.gitignore.handlebars', +]; + async function handleTemplate( templatePath: string, data: Record = {}, @@ -17,6 +29,9 @@ async function handleTemplate( const templateFiles = await recursive(templatePath); templateFiles.forEach(filePath => { const file = filePath.replace(`${templatePath}/`, ''); + if (IgnoreFiles.includes(file)) { + return; + } if (fs.statSync(filePath).isFile()) { if (file.endsWith('.handlebars')) { files[ diff --git a/packages/generator/sandpack-react/src/index.tsx b/packages/generator/sandpack-react/src/index.tsx index cd17b418315a..a1a74fa369b5 100644 --- a/packages/generator/sandpack-react/src/index.tsx +++ b/packages/generator/sandpack-react/src/index.tsx @@ -6,6 +6,7 @@ import { OpenInCodeSandboxButton, SandpackSetup, SandpackFiles, + SandpackThemeProp, } from '@codesandbox/sandpack-react'; import { ModernTemplates } from './templates'; @@ -13,9 +14,10 @@ export type ModernSandpackProps = { template: 'web-app' | 'npm-module'; customSetup?: SandpackSetup; files?: SandpackFiles; - removeFiles: string[]; + removeFiles?: string[]; options?: Record; initialCollapsedFolder?: string[]; + theme?: SandpackThemeProp; }; function fileterFiles(files: SandpackFiles, removeFiles: string[]) { @@ -39,6 +41,7 @@ export default function ModernSandpack(props: ModernSandpackProps) { removeFiles = [], options = {}, initialCollapsedFolder = [], + theme = 'light', } = props; const initFiles = ModernTemplates[template]; const files = { @@ -47,15 +50,11 @@ export default function ModernSandpack(props: ModernSandpackProps) { }; return ( @@ -69,7 +68,7 @@ export default function ModernSandpack(props: ModernSandpackProps) { ]} /> -
+
From 077c6848f0f19e215598c95273c97e03f1941f72 Mon Sep 17 00:00:00 2001 From: caohuilin Date: Mon, 4 Sep 2023 16:27:14 +0800 Subject: [PATCH 4/7] fix: isTs name --- packages/generator/sandpack-react/scripts/template.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/generator/sandpack-react/scripts/template.ts b/packages/generator/sandpack-react/scripts/template.ts index db8ed9ee9527..50124b2e7261 100644 --- a/packages/generator/sandpack-react/scripts/template.ts +++ b/packages/generator/sandpack-react/scripts/template.ts @@ -17,7 +17,7 @@ const IgnoreFiles = [ '.gitignore.handlebars', ]; -async function handleTemplate( +export async function handleTemplate( templatePath: string, data: Record = {}, { fileExtra, routerPrefix }: { fileExtra: string; routerPrefix: string } = { @@ -93,7 +93,7 @@ async function handleMWATemplate() { name: 'modern-app', isMonorepoSubProject: false, modernVersion, - isTsProject: true, + isTs: true, })), ...(await handleTemplate(tsTemplate)), ...(await handleTemplate( From d5578b6394e423ff136954ca8f77f6471b861c6d Mon Sep 17 00:00:00 2001 From: caohuilin Date: Tue, 5 Sep 2023 10:32:01 +0800 Subject: [PATCH 5/7] docs: changeset --- .changeset/chilled-ligers-brake.md | 2 + .changeset/dirty-suns-sit.md | 4 +- pnpm-lock.yaml | 562 ++++++++++++++++++++++++----- 3 files changed, 484 insertions(+), 84 deletions(-) diff --git a/.changeset/chilled-ligers-brake.md b/.changeset/chilled-ligers-brake.md index a06180e74cd8..54f5b9f15dce 100644 --- a/.changeset/chilled-ligers-brake.md +++ b/.changeset/chilled-ligers-brake.md @@ -3,3 +3,5 @@ --- feat: add @modern-js/sandpack-react package + +feat: 增加 @modern-js/sandpack-react 包 diff --git a/.changeset/dirty-suns-sit.md b/.changeset/dirty-suns-sit.md index 6bc356e1a533..4ae859e6a352 100644 --- a/.changeset/dirty-suns-sit.md +++ b/.changeset/dirty-suns-sit.md @@ -4,4 +4,6 @@ '@modern-js/mwa-generator': minor --- -feat: adjust ts template dependencies handle method +feat: adjust ts template, handle dependencies through handlebars + +feat: 调整生成器 ts 模板,使用 handlebars 处理依赖 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 747127fd0c67..83332b957bde 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -199,7 +199,7 @@ importers: version: 3.3.3(webpack@5.88.1) webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) devDependencies: '@arco-design/web-react': specifier: ^2.46.0 @@ -278,7 +278,7 @@ importers: version: 0.7.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) webpack-sources: specifier: ^3.2.3 version: 3.2.3 @@ -384,7 +384,7 @@ importers: version: 9.4.4(typescript@5.0.4)(webpack@5.88.1) webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) webpack-subresource-integrity: specifier: 5.1.0 version: 5.1.0(html-webpack-plugin@5.5.3)(webpack@5.88.1) @@ -523,7 +523,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/builder/plugin-node-polyfill: dependencies: @@ -597,7 +597,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/builder/plugin-swc: dependencies: @@ -710,7 +710,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/builder/plugin-vue2: dependencies: @@ -753,7 +753,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/cli/babel-preset-app: dependencies: @@ -1031,7 +1031,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/cli/plugin-changeset: dependencies: @@ -1153,7 +1153,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/cli/plugin-i18n: dependencies: @@ -1437,7 +1437,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/cli/plugin-swc: dependencies: @@ -1648,7 +1648,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/devtools/plugin: dependencies: @@ -1715,6 +1715,10 @@ importers: version: 0.0.6(react@18.2.0)(ts-node@10.9.1)(webpack@5.88.1) packages/document/main-doc: + dependencies: + '@modern-js/sandpack-react': + specifier: workspace:* + version: link:../../generator/sandpack-react devDependencies: '@modern-js/builder-doc': specifier: workspace:* @@ -2188,9 +2192,6 @@ importers: '@modern-js/codesmith-api-app': specifier: 2.2.5 version: 2.2.5(@modern-js/codesmith@2.2.5)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) - '@modern-js/codesmith-api-json': - specifier: 2.2.5 - version: 2.2.5(react-dom@18.2.0)(react@18.2.0) '@modern-js/dependence-generator': specifier: workspace:* version: link:../dependence-generator @@ -2326,9 +2327,6 @@ importers: '@modern-js/codesmith-api-app': specifier: 2.2.5 version: 2.2.5(@modern-js/codesmith@2.2.5)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) - '@modern-js/codesmith-api-json': - specifier: 2.2.5 - version: 2.2.5(react-dom@18.2.0)(react@18.2.0) '@modern-js/dependence-generator': specifier: workspace:* version: link:../dependence-generator @@ -2841,6 +2839,79 @@ importers: specifier: ^5 version: 5.0.4 + packages/generator/sandpack-react: + dependencies: + '@codesandbox/sandpack-react': + specifier: ^2.6.9 + version: 2.6.9(@lezer/common@1.0.4)(react-dom@18.2.0)(react@18.2.0) + '@swc/helpers': + specifier: 0.5.1 + version: 0.5.1 + react: + specifier: ^18 + version: 18.2.0 + react-dom: + specifier: ^18 + version: 18.2.0(react@18.2.0) + devDependencies: + '@modern-js/base-generator': + specifier: workspace:* + version: link:../generators/base-generator + '@modern-js/codesmith-api-handlebars': + specifier: 2.2.5 + version: 2.2.5(@modern-js/codesmith@2.2.5) + '@modern-js/entry-generator': + specifier: workspace:* + version: link:../generators/entry-generator + '@modern-js/generator-common': + specifier: workspace:* + version: link:../generator-common + '@modern-js/generator-utils': + specifier: workspace:* + version: link:../generator-utils + '@modern-js/module-generator': + specifier: workspace:* + version: link:../generators/module-generator + '@modern-js/mwa-generator': + specifier: workspace:* + version: link:../generators/mwa-generator + '@modern-js/utils': + specifier: workspace:* + version: link:../../toolkit/utils + '@scripts/build': + specifier: workspace:* + version: link:../../../scripts/build + '@scripts/jest-config': + specifier: workspace:* + version: link:../../../scripts/jest-config + '@types/jest': + specifier: ^29 + version: 29.2.6 + '@types/node': + specifier: ^14 + version: 14.18.35 + '@types/react': + specifier: ^18 + version: 18.0.21 + '@types/react-dom': + specifier: ^18 + version: 18.0.6 + '@types/recursive-readdir': + specifier: ^2.2.1 + version: 2.2.1 + jest: + specifier: ^29 + version: 29.5.0(@types/node@14.18.35)(ts-node@10.9.1) + recursive-readdir: + specifier: ^2.2.3 + version: 2.2.3 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@swc/core@1.3.42)(@types/node@14.18.35)(typescript@5.0.4) + typescript: + specifier: ^5 + version: 5.0.4 + packages/libuild/libuild-core: dependencies: '@ast-grep/napi': @@ -3877,7 +3948,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/runtime/plugin-testing: dependencies: @@ -4715,7 +4786,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) websocket: specifier: ^1 version: 1.0.34 @@ -4891,7 +4962,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) packages/solutions/module-tools: dependencies: @@ -5401,7 +5472,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) scripts/build: devDependencies: @@ -5514,7 +5585,7 @@ importers: version: 5.0.4 webpack: specifier: ^5.88.1 - version: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + version: 5.88.1(esbuild@0.17.19) devDependencies: '@babel/helper-annotate-as-pure': specifier: 7.18.6 @@ -10581,6 +10652,147 @@ packages: exec-sh: 0.3.6 minimist: 1.2.6 + /@codemirror/autocomplete@6.9.0(@codemirror/language@6.9.0)(@codemirror/state@6.2.1)(@codemirror/view@6.17.1)(@lezer/common@1.0.4): + resolution: {integrity: sha512-Fbwm0V/Wn3BkEJZRhr0hi5BhCo5a7eBL6LYaliPjOSwCyfOpnjXY59HruSxOUNV+1OYer0Tgx1zRNQttjXyDog==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.9.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@lezer/common': 1.0.4 + dev: false + + /@codemirror/commands@6.2.5: + resolution: {integrity: sha512-dSi7ow2P2YgPBZflR9AJoaTHvqmeGIgkhignYMd5zK5y6DANTvxKxp6eMEpIDUJkRAaOY/TFZ4jP1ADIO/GLVA==} + dependencies: + '@codemirror/language': 6.9.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@lezer/common': 1.0.4 + dev: false + + /@codemirror/lang-css@6.2.1(@codemirror/view@6.17.1): + resolution: {integrity: sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==} + dependencies: + '@codemirror/autocomplete': 6.9.0(@codemirror/language@6.9.0)(@codemirror/state@6.2.1)(@codemirror/view@6.17.1)(@lezer/common@1.0.4) + '@codemirror/language': 6.9.0 + '@codemirror/state': 6.2.1 + '@lezer/common': 1.0.4 + '@lezer/css': 1.1.3 + transitivePeerDependencies: + - '@codemirror/view' + dev: false + + /@codemirror/lang-html@6.4.6: + resolution: {integrity: sha512-E4C8CVupBksXvgLSme/zv31x91g06eZHSph7NczVxZW+/K+3XgJGWNT//2WLzaKSBoxpAjaOi5ZnPU1SHhjh3A==} + dependencies: + '@codemirror/autocomplete': 6.9.0(@codemirror/language@6.9.0)(@codemirror/state@6.2.1)(@codemirror/view@6.17.1)(@lezer/common@1.0.4) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.17.1) + '@codemirror/lang-javascript': 6.2.1 + '@codemirror/language': 6.9.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@lezer/common': 1.0.4 + '@lezer/css': 1.1.3 + '@lezer/html': 1.3.6 + dev: false + + /@codemirror/lang-javascript@6.2.1: + resolution: {integrity: sha512-jlFOXTejVyiQCW3EQwvKH0m99bUYIw40oPmFjSX2VS78yzfe0HELZ+NEo9Yfo1MkGRpGlj3Gnu4rdxV1EnAs5A==} + dependencies: + '@codemirror/autocomplete': 6.9.0(@codemirror/language@6.9.0)(@codemirror/state@6.2.1)(@codemirror/view@6.17.1)(@lezer/common@1.0.4) + '@codemirror/language': 6.9.0 + '@codemirror/lint': 6.4.1 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@lezer/common': 1.0.4 + '@lezer/javascript': 1.4.7 + dev: false + + /@codemirror/language@6.9.0: + resolution: {integrity: sha512-nFu311/0ne/qGuGCL3oKuktBgzVOaxCHZPZv1tLSZkNjPYxxvkjSbzno3MlErG2tgw1Yw1yF8BxMCegeMXqpiw==} + dependencies: + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@lezer/common': 1.0.4 + '@lezer/highlight': 1.1.6 + '@lezer/lr': 1.3.10 + style-mod: 4.1.0 + dev: false + + /@codemirror/lint@6.4.1: + resolution: {integrity: sha512-2Hx945qKX7FBan5/gUdTM8fsMYrNG9clIgEcPXestbLVFAUyQYFAuju/5BMNf/PwgpVaX5pvRm4+ovjbp9D9gQ==} + dependencies: + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + crelt: 1.0.6 + dev: false + + /@codemirror/state@6.2.1: + resolution: {integrity: sha512-RupHSZ8+OjNT38zU9fKH2sv+Dnlr8Eb8sl4NOnnqz95mCFTZUaiRP8Xv5MeeaG0px2b8Bnfe7YGwCV3nsBhbuw==} + dev: false + + /@codemirror/view@6.17.1: + resolution: {integrity: sha512-I5KVxsLbm1f56n9SUajLW0/AzMXYEZVvkiYahMw/yGl5gUjT2WquuKO39xUtiT4z/hNhGD7YuAEVPI8u0mncaQ==} + dependencies: + '@codemirror/state': 6.2.1 + style-mod: 4.1.0 + w3c-keyname: 2.2.8 + dev: false + + /@codesandbox/nodebox@0.1.8: + resolution: {integrity: sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg==} + dependencies: + outvariant: 1.4.0 + strict-event-emitter: 0.4.6 + dev: false + + /@codesandbox/sandpack-client@2.6.9: + resolution: {integrity: sha512-koDZF/x8Gn7EhnxuyMRxbWrEW/e0/QnPkTtO8PNf4FyPDUITHvBzdjkzefvMLX6wn4aA4knpkLnKfPHMl4BhWA==} + dependencies: + '@codesandbox/nodebox': 0.1.8 + buffer: 6.0.3 + dequal: 2.0.3 + outvariant: 1.4.0 + static-browser-server: 1.0.3 + dev: false + + /@codesandbox/sandpack-react@2.6.9(@lezer/common@1.0.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JAbpc1emb9lGdZ0zfnfQnJmU91IcH1AUOmoVevB2qwdrxeaQWy5DyKyqRaQDcMyPicXSXMUF6nvDhb0HY34ofw==} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 + react-dom: ^16.8.0 || ^17 || ^18 + dependencies: + '@codemirror/autocomplete': 6.9.0(@codemirror/language@6.9.0)(@codemirror/state@6.2.1)(@codemirror/view@6.17.1)(@lezer/common@1.0.4) + '@codemirror/commands': 6.2.5 + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.17.1) + '@codemirror/lang-html': 6.4.6 + '@codemirror/lang-javascript': 6.2.1 + '@codemirror/language': 6.9.0 + '@codemirror/state': 6.2.1 + '@codemirror/view': 6.17.1 + '@codesandbox/sandpack-client': 2.6.9 + '@lezer/highlight': 1.1.6 + '@react-hook/intersection-observer': 3.1.1(react@18.2.0) + '@stitches/core': 1.2.8 + anser: 2.1.1 + clean-set: 1.1.2 + codesandbox-import-util-types: 2.2.3 + dequal: 2.0.3 + escape-carriage: 1.3.1 + lz-string: 1.4.4 + react: 18.2.0 + react-devtools-inline: 4.4.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 17.0.2 + transitivePeerDependencies: + - '@lezer/common' + dev: false + /@colors/colors@1.5.0: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -11825,6 +12037,44 @@ packages: resolution: {integrity: sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==} dev: false + /@lezer/common@1.0.4: + resolution: {integrity: sha512-lZHlk8p67x4aIDtJl6UQrXSOP6oi7dQR3W/geFVrENdA1JDaAJWldnVqVjPMJupbTKbzDfFcePfKttqVidS/dg==} + dev: false + + /@lezer/css@1.1.3: + resolution: {integrity: sha512-SjSM4pkQnQdJDVc80LYzEaMiNy9txsFbI7HsMgeVF28NdLaAdHNtQ+kB/QqDUzRBV/75NTXjJ/R5IdC8QQGxMg==} + dependencies: + '@lezer/highlight': 1.1.6 + '@lezer/lr': 1.3.10 + dev: false + + /@lezer/highlight@1.1.6: + resolution: {integrity: sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==} + dependencies: + '@lezer/common': 1.0.4 + dev: false + + /@lezer/html@1.3.6: + resolution: {integrity: sha512-Kk9HJARZTc0bAnMQUqbtuhFVsB4AnteR2BFUWfZV7L/x1H0aAKz6YabrfJ2gk/BEgjh9L3hg5O4y2IDZRBdzuQ==} + dependencies: + '@lezer/common': 1.0.4 + '@lezer/highlight': 1.1.6 + '@lezer/lr': 1.3.10 + dev: false + + /@lezer/javascript@1.4.7: + resolution: {integrity: sha512-OVWlK0YEi7HM+9JRWtRkir8qvcg0/kVYg2TAMHlVtl6DU1C9yK1waEOLBMztZsV/axRJxsqfJKhzYz+bxZme5g==} + dependencies: + '@lezer/highlight': 1.1.6 + '@lezer/lr': 1.3.10 + dev: false + + /@lezer/lr@1.3.10: + resolution: {integrity: sha512-BZfVvf7Re5BIwJHlZXbJn9L8lus5EonxQghyn+ih8Wl36XMFBPTXC0KM0IdUtj9w/diPHsKlXVgL+AlX2jYJ0Q==} + dependencies: + '@lezer/common': 1.0.4 + dev: false + /@loadable/babel-plugin@5.15.3(@babel/core@7.21.8): resolution: {integrity: sha512-kwEsPxCk8vnwbTfbA4lHqT5t0u0czCQTnCcmOaTjxT5lCn7yZCBTBa9D7lHs+MLM2WyPsZlee3Qh0TTkMMi5jg==} engines: {node: '>=8'} @@ -11877,7 +12127,7 @@ packages: webpack: '>=4.6.0' dependencies: make-dir: 3.1.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /@manypkg/find-root@1.1.0: @@ -11907,7 +12157,7 @@ packages: dependencies: '@mdx-js/mdx': 2.2.1 source-map: 0.7.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - supports-color @@ -12211,7 +12461,7 @@ packages: rspack-manifest-plugin: 5.0.0-alpha0(webpack@5.88.1) rspack-plugin-virtual-module: 0.1.7 style-loader: 3.3.3(webpack@5.88.1) - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@babel/traverse' - '@swc/core' @@ -12257,7 +12507,7 @@ packages: rspack-manifest-plugin: 5.0.0-alpha0(webpack@5.88.1) rspack-plugin-virtual-module: 0.1.7 style-loader: 3.3.3(webpack@5.88.1) - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@babel/traverse' - '@swc/core' @@ -12303,7 +12553,7 @@ packages: line-diff: 2.1.1 postcss: 8.4.27 source-map: 0.7.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-sources: 3.2.3 zod: 3.21.4 zod-validation-error: 1.2.0(zod@3.21.4) @@ -12346,7 +12596,7 @@ packages: line-diff: 2.1.1 postcss: 8.4.27 source-map: 0.7.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-sources: 3.2.3 zod: 3.21.4 zod-validation-error: 1.2.0(zod@3.21.4) @@ -13733,6 +13983,10 @@ packages: rimraf: 3.0.2 dev: false + /@open-draft/deferred-promise@2.1.0: + resolution: {integrity: sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA==} + dev: false + /@playwright/test@1.33.0: resolution: {integrity: sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==} engines: {node: '>=14'} @@ -13779,7 +14033,7 @@ packages: react-refresh: 0.11.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.14.0)(webpack@5.88.1): @@ -13818,7 +14072,7 @@ packages: react-refresh: 0.14.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /@polka/url@0.5.0: @@ -13925,6 +14179,24 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + /@react-hook/intersection-observer@3.1.1(react@18.2.0): + resolution: {integrity: sha512-OTDx8/wFaRvzFtKl1dEUEXSOqK2zVJHporiTTdC2xO++0e9FEx9wIrPis5q3lqtXeZH9zYGLbk+aB75qNFbbuw==} + peerDependencies: + react: '>=16.8' + dependencies: + '@react-hook/passive-layout-effect': 1.2.1(react@18.2.0) + intersection-observer: 0.10.0 + react: 18.2.0 + dev: false + + /@react-hook/passive-layout-effect@1.2.1(react@18.2.0): + resolution: {integrity: sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==} + peerDependencies: + react: '>=16.8' + dependencies: + react: 18.2.0 + dev: false + /@redux-devtools/extension@3.2.2(redux@4.2.0): resolution: {integrity: sha512-fKA2TWNzJF7wXSDwBemwcagBFudaejXCzH5hRszN3Z6B7XEJtEmGD77AjV0wliZpIZjA/fs3U7CejFMQ+ipS7A==} peerDependencies: @@ -14560,6 +14832,10 @@ packages: dependencies: '@sinonjs/commons': 2.0.0 + /@stitches/core@1.2.8: + resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==} + dev: false + /@storybook/addon-actions@6.5.12(react-dom@17.0.2)(react@17.0.2): resolution: {integrity: sha512-yEbyKjBsSRUr61SlS+SOTqQwdumO8Wa3GoHO3AfmvoKfzdGrM7w8G5Zs9Iev16khWg/7bQvoH3KZsg/hQuKnNg==} peerDependencies: @@ -14787,7 +15063,7 @@ packages: react-dom: 17.0.2(react@17.0.2) regenerator-runtime: 0.13.11 ts-dedent: 2.2.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@storybook/mdx2-csf' - eslint @@ -15111,7 +15387,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.0.4 util-deprecate: 1.0.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-dev-middleware: 4.3.0(webpack@5.88.1) webpack-hot-middleware: 2.25.2 webpack-virtual-modules: 0.4.6 @@ -15280,7 +15556,7 @@ packages: typescript: 5.0.4 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /@storybook/core-common@6.5.12(eslint@8.28.0)(react-dom@17.0.2)(react@17.0.2)(typescript@5.0.4): @@ -15462,7 +15738,7 @@ packages: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@storybook/mdx2-csf' - bluebird @@ -15623,7 +15899,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.0.4 util-deprecate: 1.0.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-dev-middleware: 4.3.0(webpack@5.88.1) webpack-virtual-modules: 0.4.6 transitivePeerDependencies: @@ -15713,7 +15989,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.0.4) tslib: 2.3.1 typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - supports-color dev: false @@ -15787,7 +16063,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.0.4 util-deprecate: 1.0.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@storybook/mdx2-csf' - '@swc/core' @@ -16927,6 +17203,12 @@ packages: '@types/scheduler': 0.16.2 csstype: 3.1.2 + /@types/recursive-readdir@2.2.1: + resolution: {integrity: sha512-Xd+Ptc4/F2ueInqy5yK2FI5FxtwwbX2+VZpcg+9oYsFJVen8qQKGapCr+Bi5wQtHU1cTXT8s+07lo/nKPgu8Gg==} + dependencies: + '@types/node': 18.11.17 + dev: true + /@types/redux-logger@3.0.9: resolution: {integrity: sha512-cwYhVbYNgH01aepeMwhd0ABX6fhVB2rcQ9m80u8Fl50ZODhsZ8RhQArnLTkE7/Zrfq4Sz/taNoF7DQy9pCZSKg==} dependencies: @@ -17092,7 +17374,7 @@ packages: dependencies: '@types/node': 18.11.17 tapable: 2.2.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - '@swc/core' - esbuild @@ -17890,6 +18172,7 @@ packages: dependencies: webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.88.1) + dev: true /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.88.1): resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} @@ -17900,6 +18183,7 @@ packages: dependencies: webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.88.1) + dev: true /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.88.1): resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} @@ -17914,6 +18198,7 @@ packages: dependencies: webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.88.1) + dev: true /@xobotyi/scrollbar-width@1.9.5: resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} @@ -17966,6 +18251,14 @@ packages: acorn: 8.10.0 acorn-walk: 8.2.0 + /acorn-import-assertions@1.9.0(acorn@8.10.0): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.10.0 + dev: true + /acorn-import-assertions@1.9.0(acorn@8.8.1): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -18136,6 +18429,10 @@ packages: repeat-string: 1.6.1 dev: false + /anser@2.1.1: + resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==} + dev: false + /ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: @@ -18788,7 +19085,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /babel-loader@9.1.0(@babel/core@7.21.8)(webpack@5.88.1): @@ -18801,7 +19098,7 @@ packages: '@babel/core': 7.21.8 find-cache-dir: 3.3.2 schema-utils: 4.0.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /babel-plugin-add-react-displayname@0.0.5: @@ -19994,6 +20291,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /codesandbox-import-util-types@2.2.3: + resolution: {integrity: sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ==} + dev: false + /collapse-white-space@1.0.6: resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} dev: false @@ -20060,6 +20361,7 @@ packages: /colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true /colors@1.1.2: resolution: {integrity: sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==} @@ -20094,6 +20396,7 @@ packages: /commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} + dev: true /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -20568,7 +20871,7 @@ packages: normalize-path: 3.0.0 schema-utils: 3.1.2 serialize-javascript: 6.0.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /core-js-compat@3.26.1: @@ -20708,6 +21011,10 @@ packages: /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + /crelt@1.0.6: + resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + dev: false + /cross-fetch@3.1.5: resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} dependencies: @@ -20828,7 +21135,7 @@ packages: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.3.7 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /css-loader@6.7.1(webpack@5.88.1): @@ -20845,7 +21152,7 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.27) postcss-value-parser: 4.2.0 semver: 7.3.7 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) /css-minimizer-webpack-plugin@5.0.1(esbuild@0.17.19)(webpack@5.88.1): resolution: {integrity: sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==} @@ -20879,7 +21186,7 @@ packages: postcss: 8.4.27 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /css-select@4.3.0: @@ -21087,7 +21394,6 @@ packages: dependencies: es5-ext: 0.10.61 type: 1.2.0 - dev: true /dargs@7.0.0: resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} @@ -21684,6 +21990,11 @@ packages: engines: {node: '>=10'} dev: true + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: false + /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} engines: {node: '>=10'} @@ -21828,6 +22139,7 @@ packages: resolution: {integrity: sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==} engines: {node: '>=4'} hasBin: true + dev: true /eol@0.9.1: resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} @@ -21959,7 +22271,6 @@ packages: es6-iterator: 2.0.3 es6-symbol: 3.1.3 next-tick: 1.1.0 - dev: true /es5-shim@4.6.7: resolution: {integrity: sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==} @@ -21972,7 +22283,6 @@ packages: d: 1.0.1 es5-ext: 0.10.61 es6-symbol: 3.1.3 - dev: true /es6-object-assign@1.1.0: resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} @@ -21987,7 +22297,6 @@ packages: dependencies: d: 1.0.1 ext: 1.6.0 - dev: true /esbuild-android-64@0.15.18: resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} @@ -22202,7 +22511,7 @@ packages: json5: 2.2.3 loader-utils: 2.0.4 tapable: 2.2.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-sources: 1.4.3 dev: true @@ -22418,6 +22727,10 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + /escape-carriage@1.3.1: + resolution: {integrity: sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw==} + dev: false + /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -23046,7 +23359,6 @@ packages: resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==} dependencies: type: 2.6.0 - dev: true /extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -23207,6 +23519,7 @@ packages: /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} + dev: true /fastest-stable-stringify@2.0.2: resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} @@ -23294,7 +23607,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.1.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /file-system-cache@1.1.0: @@ -23647,7 +23960,7 @@ packages: semver: 7.3.7 tapable: 1.1.3 typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.0.4)(webpack@5.88.1): @@ -23670,7 +23983,7 @@ packages: semver: 7.3.7 tapable: 2.2.1 typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /form-data@3.0.1: @@ -24732,7 +25045,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) /html5shiv@3.7.3: resolution: {integrity: sha512-SZwGvLGNtgp8GbgFX7oXEp8OR1aBt5LliX6dG0kdD1kl3KhMonN0QcSa/A3TsTgFewaGCbIryQunjayWDXzxmw==} @@ -25107,6 +25420,11 @@ packages: /interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} + dev: true + + /intersection-observer@0.10.0: + resolution: {integrity: sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ==} + dev: false /intl@1.2.5: resolution: {integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==} @@ -26834,7 +27152,7 @@ packages: dependencies: klona: 2.0.5 less: 4.1.3 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /less@4.1.3: @@ -28095,7 +28413,7 @@ packages: webpack: ^5.0.0 dependencies: schema-utils: 4.0.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /minimalistic-assert@1.0.1: @@ -28469,7 +28787,6 @@ packages: /next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: true /nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -28587,7 +28904,7 @@ packages: webpack: ^5.0.0 dependencies: loader-utils: 2.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /node-mocks-http@1.11.0: @@ -28936,6 +29253,10 @@ packages: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} dev: false + /outvariant@1.4.0: + resolution: {integrity: sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==} + dev: false + /p-all@2.1.0: resolution: {integrity: sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==} engines: {node: '>=6'} @@ -29713,7 +30034,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.21 - ts-node: 10.9.1(@types/node@18.11.17)(typescript@5.0.4) + ts-node: 10.9.1(@types/node@16.11.68)(typescript@5.0.4) yaml: 1.10.2 /postcss-load-config@3.1.4(postcss@8.4.27)(ts-node@10.9.1): @@ -29777,7 +30098,7 @@ packages: klona: 2.0.5 postcss: 8.4.27 semver: 7.5.3 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /postcss-media-minmax@5.0.0(postcss@8.4.27): @@ -32093,6 +32414,12 @@ packages: '@babel/runtime': 7.21.5 react: 18.2.0 + /react-devtools-inline@4.4.0: + resolution: {integrity: sha512-ES0GolSrKO8wsKbsEkVeiR/ZAaHQTY4zDh1UW8DImVmm8oaGLl3ijJDvSGe+qDRKPZdPRnDtWWnSvvrgxXdThQ==} + dependencies: + es6-symbol: 3.1.3 + dev: false + /react-docgen-typescript-plugin@1.0.5(typescript@5.0.4)(webpack@5.88.1): resolution: {integrity: sha512-Ds6s2ioyIlH45XSfEVMNwRcDkzuff3xQCPxDFOzTc8GEshy+hksas8RYlmV4JEQREI+OGEGybhMCJk3vFbQZNQ==} peerDependencies: @@ -32107,7 +32434,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.0.4) tslib: 2.4.0 typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - supports-color dev: false @@ -32599,6 +32926,14 @@ packages: engines: {node: '>= 10.13.0'} dependencies: resolve: 1.22.4 + dev: true + + /recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + dependencies: + minimatch: 3.1.2 + dev: true /redent@1.0.0: resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==} @@ -33161,7 +33496,7 @@ packages: webpack: ^5.75.0 dependencies: tapable: 2.2.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-sources: 2.3.1 dev: false @@ -33296,7 +33631,7 @@ packages: klona: 2.0.5 neo-async: 2.6.2 sass: 1.54.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /sass@1.54.4: @@ -33969,6 +34304,15 @@ packages: resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} dev: false + /static-browser-server@1.0.3: + resolution: {integrity: sha512-ZUyfgGDdFRbZGGJQ1YhiM930Yczz5VlbJObrQLlk24+qNHVQx4OlLcYswEUo3bIyNAbQUIUR9Yr5/Hqjzqb4zA==} + dependencies: + '@open-draft/deferred-promise': 2.1.0 + dotenv: 16.3.1 + mime-db: 1.52.0 + outvariant: 1.4.0 + dev: false + /static-extend@0.1.2: resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} engines: {node: '>=0.10.0'} @@ -34065,6 +34409,10 @@ packages: engines: {node: '>=0.8.0'} dev: false + /strict-event-emitter@0.4.6: + resolution: {integrity: sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==} + dev: false + /strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -34096,7 +34444,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) /string-similarity@4.0.4: resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} @@ -34305,7 +34653,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /style-loader@3.3.3(webpack@5.88.1): @@ -34314,7 +34662,11 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) + dev: false + + /style-mod@4.1.0: + resolution: {integrity: sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==} dev: false /style-to-object@0.3.0: @@ -34376,7 +34728,7 @@ packages: klona: 2.0.5 normalize-path: 3.0.0 stylus: 0.59.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /stylus-type-utils@0.0.3(stylus@0.32.1): @@ -34826,7 +35178,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.19.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) /terser-webpack-plugin@5.3.9(esbuild@0.17.19)(webpack@5.88.1): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} @@ -34850,7 +35202,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.19.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) /terser@4.8.0: resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==} @@ -35173,7 +35525,7 @@ packages: micromatch: 4.0.5 semver: 7.3.7 typescript: 5.0.4 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /ts-node@10.9.1(@swc/core@1.3.42)(@types/node@14.18.35)(typescript@5.0.4): @@ -35236,7 +35588,6 @@ packages: typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true /ts-node@10.9.1(@types/node@18.11.17)(typescript@5.0.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} @@ -35555,11 +35906,9 @@ packages: /type@1.2.0: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} - dev: true /type@2.6.0: resolution: {integrity: sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==} - dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} @@ -35929,7 +36278,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.1.2 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /url-parse@1.5.10: @@ -36315,7 +36664,7 @@ packages: loader-utils: 1.4.0 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) transitivePeerDependencies: - arc-templates - atpl @@ -36387,7 +36736,7 @@ packages: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /vue-style-loader@4.1.3: @@ -36426,6 +36775,10 @@ packages: '@vue/server-renderer': 3.3.4(vue@3.3.4) '@vue/shared': 3.3.4 + /w3c-keyname@2.2.8: + resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + dev: false + /w3c-xmlserializer@4.0.0: resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} engines: {node: '>=14'} @@ -36578,6 +36931,7 @@ packages: rechoir: 0.8.0 webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) webpack-merge: 5.8.0 + dev: true /webpack-dev-middleware@3.7.3(webpack@4.46.0): resolution: {integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==} @@ -36605,7 +36959,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /webpack-dev-middleware@6.0.1(webpack@5.88.1): @@ -36619,7 +36973,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: true /webpack-filter-warnings-plugin@1.2.1(webpack@4.46.0): @@ -36654,7 +37008,7 @@ packages: webpack: ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) webpack-sources: 2.3.1 dev: true @@ -36664,6 +37018,7 @@ packages: dependencies: clone-deep: 4.0.1 wildcard: 2.0.0 + dev: true /webpack-sources@1.4.3: resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} @@ -36694,7 +37049,7 @@ packages: dependencies: html-webpack-plugin: 5.5.3(webpack@5.88.1) typed-assert: 1.0.9 - webpack: 5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4) + webpack: 5.88.1(esbuild@0.17.19) dev: false /webpack-virtual-modules@0.2.2: @@ -36764,8 +37119,8 @@ packages: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.8.1 - acorn-import-assertions: 1.9.0(acorn@8.8.1) + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) browserslist: 4.20.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 @@ -36789,7 +37144,7 @@ packages: - uglify-js dev: true - /webpack@5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4): + /webpack@5.88.1(esbuild@0.17.19): resolution: {integrity: sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==} engines: {node: '>=10.13.0'} hasBin: true @@ -36822,12 +37177,52 @@ packages: tapable: 2.2.1 terser-webpack-plugin: 5.3.8(esbuild@0.17.19)(webpack@5.88.1) watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + /webpack@5.88.1(esbuild@0.17.19)(webpack-cli@5.1.4): + resolution: {integrity: sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.3 + '@types/estree': 1.0.0 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.20.2 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.2.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.8(esbuild@0.17.19)(webpack@5.88.1) + watchpack: 2.4.0 webpack-cli: 5.1.4(webpack@5.88.1) webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js + dev: true /websocket@1.0.34: resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} @@ -36993,6 +37388,7 @@ packages: /wildcard@2.0.0: resolution: {integrity: sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==} + dev: true /window-size@0.1.0: resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} From 902c415d05bf197dea6f954b1bb672114e5dce3c Mon Sep 17 00:00:00 2001 From: caohuilin Date: Tue, 5 Sep 2023 11:09:56 +0800 Subject: [PATCH 6/7] fix: tsconfig config --- .../generator/sandpack-react/scripts/tsconfig.json | 11 +++++++++++ packages/generator/sandpack-react/tsconfig.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 packages/generator/sandpack-react/scripts/tsconfig.json diff --git a/packages/generator/sandpack-react/scripts/tsconfig.json b/packages/generator/sandpack-react/scripts/tsconfig.json new file mode 100644 index 000000000000..2c5805305d86 --- /dev/null +++ b/packages/generator/sandpack-react/scripts/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "@modern-js/tsconfig/base", + "compilerOptions": { + "declaration": false, + "jsx": "preserve", + "baseUrl": "./", + "isolatedModules": true, + "esModuleInterop": true, + "paths": {} + } +} diff --git a/packages/generator/sandpack-react/tsconfig.json b/packages/generator/sandpack-react/tsconfig.json index 479f3dadf9de..32a7aee84b06 100644 --- a/packages/generator/sandpack-react/tsconfig.json +++ b/packages/generator/sandpack-react/tsconfig.json @@ -6,5 +6,5 @@ "baseUrl": "./", "paths": {} }, - "include": ["src", "scripts"] + "include": ["src"] } From 6a652be2a92a6d84611282a71d3be2b30abaab4b Mon Sep 17 00:00:00 2001 From: caohuilin Date: Tue, 5 Sep 2023 12:24:53 +0800 Subject: [PATCH 7/7] fix: comments --- packages/generator/sandpack-react/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/generator/sandpack-react/package.json b/packages/generator/sandpack-react/package.json index 805b6dc64128..c80ec86ebe48 100644 --- a/packages/generator/sandpack-react/package.json +++ b/packages/generator/sandpack-react/package.json @@ -6,7 +6,7 @@ "repository": { "type": "git", "url": "https://github.com/web-infra-dev/modern.js", - "directory": "packages/generator/sandpack-template" + "directory": "packages/generator/sandpack-react" }, "license": "MIT", "keywords": [